// Generated by RebrewU -- do not edit #include #include #include #include "Gambit.h" // fn_0288CC30 @ 0x288cc30 void Gambit_fn_0288CC30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288CC30: ; // 0x288cc30 /* 0288CC30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0288CC30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288CC30 */ cpu->r[1] = _t0; /* 0288CC34 */ _t1 = cpu->r[1] + 0x00000008u; /* 0288CC34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0288CC38 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0288CC38 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0288CC3C */ cpu->r[30] = cpu->r[3]; /* 0288CC40 */ _t3 = cpu->r[1] + 0x00000014u; /* 0288CC40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0288CC44 */ _t4 = cpu->r[30] + 0x0000005Cu; /* 0288CC44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0288CC48 */ _t5 = cpu->r[11] + 0x00000008u; /* 0288CC48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0288CC4C */ cpu->r[31] = cpu->r[4]; /* 0288CC50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]); /* 0288CC54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CC54 */ _t7 = _t6 & 0x00000001u; /* 0288CC54 */ if (_t7) goto L_0288CC58; else goto L_0288CC94; L_0288CC58: ; // 0x288cc58 /* 0288CC58 */ _t8 = cpu->r[31] + 0x00000034u; /* 0288CC58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 0288CC5C */ cpu->r[3] = cpu->r[30]; /* 0288CC60 */ cpu->r[4] = cpu->r[31]; /* 0288CC64 */ _t9 = cpu->r[11] + 0x00000008u; /* 0288CC64 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 0288CC68 */ Gambit_fn_0288544C(cpu); /* 0288CC6C */ cpu->r[4] = cpu->r[31]; /* 0288CC70 */ cpu->r[3] = cpu->r[30]; /* 0288CC74 */ Gambit_fn_028745B4(cpu); /* 0288CC78 */ _t10 = cpu->r[31] + 0x00000000u; /* 0288CC78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0288CC7C */ cpu->r[3] = cpu->r[30]; /* 0288CC80 */ Gambit_fn_0288CA30(cpu); /* 0288CC84 */ _t11 = cpu->r[31] + 0x00000004u; /* 0288CC84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 0288CC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288CC8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CC8C */ _t13 = _t12 & 0x00000001u; /* 0288CC8C */ if (_t13) goto L_0288CCF0; else goto L_0288CC90; L_0288CC90: ; // 0x288cc90 /* 0288CC90 */ goto L_0288CCE8; L_0288CC94: ; // 0x288cc94 /* 0288CC94 */ _t14 = cpu->r[12] + 0x00000034u; /* 0288CC94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0288CC98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0288CC9C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CC9C */ _t16 = _t15 & 0x00000001u; /* 0288CC9C */ if (_t16) goto L_0288CCB0; else goto L_0288CCA0; L_0288CCA0: ; // 0x288cca0 /* 0288CCA0 */ cpu->r[12] = cpu->r[0]; /* 0288CCA4 */ _t17 = cpu->r[12] + 0x00000034u; /* 0288CCA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0288CCA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0288CCAC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CCAC */ _t19 = _t18 & 0x00000001u; /* 0288CCAC */ if (_t19) goto L_0288CCB0; else goto L_0288CCA0; L_0288CCB0: ; // 0x288ccb0 /* 0288CCB0 */ _t20 = cpu->r[31] + 0x00000034u; /* 0288CCB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0288CCB4 */ cpu->r[3] = cpu->r[30]; /* 0288CCB8 */ cpu->r[4] = cpu->r[31]; /* 0288CCBC */ _t21 = cpu->r[12] + 0x00000034u; /* 0288CCBC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 0288CCC0 */ Gambit_fn_0288544C(cpu); /* 0288CCC4 */ cpu->r[4] = cpu->r[31]; /* 0288CCC8 */ cpu->r[3] = cpu->r[30]; /* 0288CCCC */ Gambit_fn_028745B4(cpu); /* 0288CCD0 */ _t22 = cpu->r[31] + 0x00000000u; /* 0288CCD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22); /* 0288CCD4 */ cpu->r[3] = cpu->r[30]; /* 0288CCD8 */ Gambit_fn_0288CA30(cpu); /* 0288CCDC */ _t23 = cpu->r[31] + 0x00000004u; /* 0288CCDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 0288CCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288CCE4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CCE4 */ _t25 = _t24 & 0x00000001u; /* 0288CCE4 */ if (_t25) goto L_0288CCF0; else goto L_0288CCE8; L_0288CCE8: ; // 0x288cce8 /* 0288CCE8 */ cpu->r[3] = cpu->r[30]; /* 0288CCEC */ Gambit_fn_0288CA30(cpu); L_0288CCF0: ; // 0x288ccf0 /* 0288CCF0 */ _t26 = cpu->r[30] + 0x0000005Cu; /* 0288CCF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 0288CCF4 */ _t27 = cpu->r[12] + 0x00000004u; /* 0288CCF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0288CCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288CCFC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CCFC */ _t29 = _t28 & 0x00000001u; /* 0288CCFC */ if (_t29) goto L_0288CD20; else goto L_0288CD00; L_0288CD00: ; // 0x288cd00 /* 0288CD00 */ cpu->r[9] = 0x00000000u; L_0288CD04: ; // 0x288cd04 /* 0288CD04 */ _t30 = cpu->r[12] + 0x00000000u; /* 0288CD04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30); /* 0288CD08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]); /* 0288CD0C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CD0C */ _t32 = _t31 & 0x00000001u; /* 0288CD0C */ if (_t32) goto L_0288CD10; else goto L_0288CD14; L_0288CD10: ; // 0x288cd10 /* 0288CD10 */ _t33 = cpu->r[12] + 0x00000000u; /* 0288CD10 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]); L_0288CD14: ; // 0x288cd14 /* 0288CD14 */ _t34 = cpu->r[12] + 0x00000114u; /* 0288CD14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 0288CD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288CD1C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CD1C */ _t36 = _t35 & 0x00000001u; /* 0288CD1C */ if (_t36) goto L_0288CD20; else goto L_0288CD04; L_0288CD20: ; // 0x288cd20 /* 0288CD20 */ _t37 = cpu->r[31] + 0x0000001Cu; /* 0288CD20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37); /* 0288CD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288CD28 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CD28 */ _t39 = _t38 & 0x00000001u; /* 0288CD28 */ if (_t39) goto L_0288CD34; else goto L_0288CD2C; L_0288CD2C: ; // 0x288cd2c /* 0288CD2C */ cpu->r[3] = cpu->r[30]; /* 0288CD30 */ Gambit_fn_0288CA30(cpu); L_0288CD34: ; // 0x288cd34 /* 0288CD34 */ cpu->r[3] = cpu->r[30]; /* 0288CD38 */ cpu->r[4] = cpu->r[31]; /* 0288CD3C */ Gambit_fn_0288CA30(cpu); /* 0288CD40 */ _t40 = cpu->r[1] + 0x00000014u; /* 0288CD40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0288CD44 */ _t41 = cpu->r[1] + 0x00000008u; /* 0288CD44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41); /* 0288CD48 */ cpu->lr = cpu->r[0]; /* 0288CD4C */ _t42 = cpu->r[1] + 0x0000000Cu; /* 0288CD4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42); /* 0288CD50 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0288CD54 */ return; } // fn_0288CD58 @ 0x288cd58 void Gambit_fn_0288CD58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288CD58: ; // 0x288cd58 /* 0288CD58 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0288CD58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288CD58 */ cpu->r[1] = _t0; /* 0288CD5C */ /* nop */ /* 0288CD60 */ cpu->r[0] = cpu->lr; /* 0288CD64 */ _t1 = cpu->r[1] + 0x00000034u; /* 0288CD64 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288CD68 */ cpu->r[29] = cpu->r[4]; /* 0288CD6C */ cpu->r[25] = 0x00000000u; /* 0288CD70 */ _t2 = cpu->r[29] + 0x00000014u; /* 0288CD70 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2); /* 0288CD74 */ cpu->r[28] = cpu->r[3]; /* 0288CD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]); /* 0288CD7C */ _t3 = cpu->r[29] + 0x00000018u; /* 0288CD7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t3); /* 0288CD80 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288CD80 */ _t5 = _t4 & 0x00000001u; /* 0288CD80 */ if (_t5) goto L_0288CD84; else goto L_0288CEB0; L_0288CD84: ; // 0x288cd84 /* 0288CD84 */ cpu->r[24] = 0x00000000u; L_0288CD88: ; // 0x288cd88 /* 0288CD88 */ _t6 = cpu->r[31] + 0x00000030u; /* 0288CD88 */ cpu->r[23] = rbrew_read32(cpu->mem, _t6); /* 0288CD8C */ _t7 = cpu->r[23] + 0x00000024u; /* 0288CD8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0288CD90 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; /* 0288CD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0288CD94 */ _t8 = cpu->r[23] + 0x00000024u; /* 0288CD94 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0288CD98 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CD98 */ _t10 = _t9 & 0x00000001u; /* 0288CD98 */ if (_t10) goto L_0288CD9C; else goto L_0288CE90; L_0288CD9C: ; // 0x288cd9c /* 0288CD9C */ _t11 = cpu->r[28] + 0x0000005Cu; /* 0288CD9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0288CDA0 */ _t12 = cpu->r[7] + 0x00000004u; /* 0288CDA0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t12); /* 0288CDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0288CDA8 */ cpu->r[26] = 0x00000000u; /* 0288CDAC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CDAC */ _t14 = _t13 & 0x00000001u; /* 0288CDAC */ if (_t14) goto L_0288CE84; else goto L_0288CDB0; L_0288CDB0: ; // 0x288cdb0 /* 0288CDB0 */ _t15 = cpu->r[27] + 0x00000000u; /* 0288CDB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 0288CDB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[23]); /* 0288CDB8 */ _t16 = cpu->r[27] + 0x00000114u; /* 0288CDB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0288CDBC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CDBC */ _t18 = _t17 & 0x00000001u; /* 0288CDBC */ if (_t18) goto L_0288CDC0; else goto L_0288CE78; L_0288CDC0: ; // 0x288cdc0 /* 0288CDC0 */ _t19 = cpu->r[28] + 0x0000005Cu; /* 0288CDC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19); /* 0288CDC4 */ _t20 = cpu->r[4] + 0x00000004u; /* 0288CDC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 0288CDC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[27]); /* 0288CDCC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CDCC */ _t22 = _t21 & 0x00000001u; /* 0288CDCC */ if (_t22) goto L_0288CDD0; else goto L_0288CDF0; L_0288CDD0: ; // 0x288cdd0 /* 0288CDD0 */ _t23 = cpu->r[4] + 0x00000004u; /* 0288CDD0 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]); /* 0288CDD4 */ cpu->r[3] = cpu->r[28]; /* 0288CDD8 */ cpu->r[4] = cpu->r[27]; /* 0288CDDC */ Gambit_fn_02878BCC(cpu); /* 0288CDE0 */ _t24 = cpu->r[27] + 0x00000020u; /* 0288CDE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24); /* 0288CDE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0288CDE8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CDE8 */ _t26 = _t25 & 0x00000001u; /* 0288CDE8 */ if (_t26) goto L_0288CE68; else goto L_0288CDEC; L_0288CDEC: ; // 0x288cdec /* 0288CDEC */ goto L_0288CE14; L_0288CDF0: ; // 0x288cdf0 /* 0288CDF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0288CDF4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CDF4 */ _t28 = _t27 & 0x00000001u; /* 0288CDF4 */ if (_t28) goto L_0288CDFC; else goto L_0288CDF8; L_0288CDF8: ; // 0x288cdf8 /* 0288CDF8 */ _t29 = cpu->r[26] + 0x00000114u; /* 0288CDF8 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); L_0288CDFC: ; // 0x288cdfc /* 0288CDFC */ cpu->r[3] = cpu->r[28]; /* 0288CE00 */ cpu->r[4] = cpu->r[27]; /* 0288CE04 */ Gambit_fn_02878BCC(cpu); /* 0288CE08 */ _t30 = cpu->r[27] + 0x00000020u; /* 0288CE08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30); /* 0288CE0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0288CE10 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CE10 */ _t32 = _t31 & 0x00000001u; /* 0288CE10 */ if (_t32) goto L_0288CE68; else goto L_0288CE14; L_0288CE14: ; // 0x288ce14 /* 0288CE14 */ _t33 = cpu->r[27] + 0x00000000u; /* 0288CE14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33); /* 0288CE18 */ _t34 = cpu->r[10] + 0x0000002Du; /* 0288CE18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34); /* 0288CE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288CE20 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CE20 */ _t36 = _t35 & 0x00000001u; /* 0288CE20 */ if (_t36) goto L_0288CE34; else goto L_0288CE24; L_0288CE24: ; // 0x288ce24 /* 0288CE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 0288CE28 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CE28 */ _t38 = _t37 & 0x00000001u; /* 0288CE28 */ if (_t38) goto L_0288CE34; else goto L_0288CE2C; L_0288CE2C: ; // 0x288ce2c /* 0288CE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000007u); /* 0288CE30 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CE30 */ _t40 = _t39 & 0x00000001u; /* 0288CE30 */ if (_t40) goto L_0288CE34; else goto L_0288CE50; L_0288CE34: ; // 0x288ce34 /* 0288CE34 */ _t41 = cpu->r[6] + 0x00000010u; /* 0288CE34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41); /* 0288CE38 */ cpu->r[3] = cpu->r[28]; /* 0288CE3C */ Gambit_fn_028804D4(cpu); /* 0288CE40 */ _t42 = cpu->r[27] + 0x00000020u; /* 0288CE40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42); /* 0288CE44 */ cpu->r[3] = cpu->r[28]; /* 0288CE48 */ Gambit_fn_0288CA30(cpu); /* 0288CE4C */ goto L_0288CE68; L_0288CE50: ; // 0x288ce50 /* 0288CE50 */ _t43 = cpu->r[6] + 0x00000010u; /* 0288CE50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43); /* 0288CE54 */ cpu->r[3] = cpu->r[28]; /* 0288CE58 */ Gambit_fn_0288CA30(cpu); /* 0288CE5C */ _t44 = cpu->r[27] + 0x00000020u; /* 0288CE5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t44); /* 0288CE60 */ cpu->r[3] = cpu->r[28]; /* 0288CE64 */ Gambit_fn_0288CA30(cpu); L_0288CE68: ; // 0x288ce68 /* 0288CE68 */ cpu->r[3] = cpu->r[28]; /* 0288CE6C */ cpu->r[4] = cpu->r[27]; /* 0288CE70 */ Gambit_fn_0288CA30(cpu); /* 0288CE74 */ cpu->r[27] = cpu->r[26]; L_0288CE78: ; // 0x288ce78 /* 0288CE78 */ cpu->r[26] = cpu->r[27]; /* 0288CE7C */ cpu->r[27] = cpu->r[30]; /* 0288CE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0288CE80 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CE80 */ _t46 = _t45 & 0x00000001u; /* 0288CE80 */ if (_t46) goto L_0288CE84; else goto L_0288CDB0; L_0288CE84: ; // 0x288ce84 /* 0288CE84 */ cpu->r[3] = cpu->r[28]; /* 0288CE88 */ cpu->r[4] = cpu->r[23]; /* 0288CE8C */ Gambit_fn_0288CC2C(cpu); L_0288CE90: ; // 0x288ce90 /* 0288CE90 */ _t47 = cpu->r[31] + 0x00000000u; /* 0288CE90 */ rbrew_write32(cpu->mem, _t47, cpu->r[24]); /* 0288CE94 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0288CE98 */ _t48 = cpu->r[29] + 0x00000014u; /* 0288CE98 */ cpu->r[0] = rbrew_read16(cpu->mem, _t48); /* 0288CE9C */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0288CEA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]); /* 0288CEA4 */ cpu->r[31] = cpu->r[31] + 0x0000003Cu; /* 0288CEA8 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288CEA8 */ _t50 = _t49 & 0x00000001u; /* 0288CEA8 */ if (_t50) goto L_0288CD88; else goto L_0288CEAC; L_0288CEAC: ; // 0x288ceac /* 0288CEAC */ _t51 = cpu->r[29] + 0x00000018u; /* 0288CEAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t51); L_0288CEB0: ; // 0x288ceb0 /* 0288CEB0 */ cpu->r[4] = cpu->r[31]; /* 0288CEB4 */ cpu->r[3] = cpu->r[28]; /* 0288CEB8 */ Gambit_fn_0288CA30(cpu); /* 0288CEBC */ _t52 = cpu->r[29] + 0x00000000u; /* 0288CEBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t52); /* 0288CEC0 */ cpu->r[3] = cpu->r[28]; /* 0288CEC4 */ Gambit_fn_0288CA30(cpu); /* 0288CEC8 */ _t53 = cpu->r[29] + 0x00000004u; /* 0288CEC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53); /* 0288CECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288CED0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CED0 */ _t55 = _t54 & 0x00000001u; /* 0288CED0 */ if (_t55) goto L_0288CEDC; else goto L_0288CED4; L_0288CED4: ; // 0x288ced4 /* 0288CED4 */ cpu->r[3] = cpu->r[28]; /* 0288CED8 */ Gambit_fn_0288CA30(cpu); L_0288CEDC: ; // 0x288cedc /* 0288CEDC */ _t56 = cpu->r[29] + 0x00000040u; /* 0288CEDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t56); /* 0288CEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288CEE4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CEE4 */ _t58 = _t57 & 0x00000001u; /* 0288CEE4 */ if (_t58) goto L_0288CEF0; else goto L_0288CEE8; L_0288CEE8: ; // 0x288cee8 /* 0288CEE8 */ cpu->r[3] = cpu->r[28]; /* 0288CEEC */ Gambit_fn_0288CA30(cpu); L_0288CEF0: ; // 0x288cef0 /* 0288CEF0 */ _t59 = cpu->r[29] + 0x00000044u; /* 0288CEF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t59); /* 0288CEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288CEF8 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CEF8 */ _t61 = _t60 & 0x00000001u; /* 0288CEF8 */ if (_t61) goto L_0288CF04; else goto L_0288CEFC; L_0288CEFC: ; // 0x288cefc /* 0288CEFC */ cpu->r[3] = cpu->r[28]; /* 0288CF00 */ Gambit_fn_0288CA30(cpu); L_0288CF04: ; // 0x288cf04 /* 0288CF04 */ _t62 = cpu->r[29] + 0x00000048u; /* 0288CF04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62); /* 0288CF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288CF0C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CF0C */ _t64 = _t63 & 0x00000001u; /* 0288CF0C */ if (_t64) goto L_0288CF18; else goto L_0288CF10; L_0288CF10: ; // 0x288cf10 /* 0288CF10 */ cpu->r[3] = cpu->r[28]; /* 0288CF14 */ Gambit_fn_0288CA30(cpu); L_0288CF18: ; // 0x288cf18 /* 0288CF18 */ _t65 = cpu->r[29] + 0x0000004Cu; /* 0288CF18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65); /* 0288CF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288CF20 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CF20 */ _t67 = _t66 & 0x00000001u; /* 0288CF20 */ if (_t67) goto L_0288CF2C; else goto L_0288CF24; L_0288CF24: ; // 0x288cf24 /* 0288CF24 */ cpu->r[3] = cpu->r[28]; /* 0288CF28 */ Gambit_fn_0288CA30(cpu); L_0288CF2C: ; // 0x288cf2c /* 0288CF2C */ _t68 = cpu->r[28] + 0x0000005Cu; /* 0288CF2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t68); /* 0288CF30 */ _t69 = cpu->r[4] + 0x00000000u; /* 0288CF30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t69); /* 0288CF34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[29]); /* 0288CF38 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CF38 */ _t71 = _t70 & 0x00000001u; /* 0288CF38 */ if (_t71) goto L_0288CF3C; else goto L_0288CF54; L_0288CF3C: ; // 0x288cf3c /* 0288CF3C */ _t72 = cpu->r[29] + 0x0000005Cu; /* 0288CF3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t72); /* 0288CF40 */ cpu->r[3] = cpu->r[28]; /* 0288CF44 */ _t73 = cpu->r[4] + 0x00000000u; /* 0288CF44 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]); /* 0288CF48 */ cpu->r[4] = cpu->r[29]; /* 0288CF4C */ Gambit_fn_0288CA30(cpu); /* 0288CF50 */ goto L_0288CF84; L_0288CF54: ; // 0x288cf54 /* 0288CF54 */ _t74 = cpu->r[12] + 0x0000005Cu; /* 0288CF54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74); /* 0288CF58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]); /* 0288CF5C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CF5C */ _t76 = _t75 & 0x00000001u; /* 0288CF5C */ if (_t76) goto L_0288CF70; else goto L_0288CF60; L_0288CF60: ; // 0x288cf60 /* 0288CF60 */ cpu->r[12] = cpu->r[9]; /* 0288CF64 */ _t77 = cpu->r[12] + 0x0000005Cu; /* 0288CF64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77); /* 0288CF68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]); /* 0288CF6C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CF6C */ _t79 = _t78 & 0x00000001u; /* 0288CF6C */ if (_t79) goto L_0288CF70; else goto L_0288CF60; L_0288CF70: ; // 0x288cf70 /* 0288CF70 */ _t80 = cpu->r[29] + 0x0000005Cu; /* 0288CF70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t80); /* 0288CF74 */ cpu->r[4] = cpu->r[29]; /* 0288CF78 */ cpu->r[3] = cpu->r[28]; /* 0288CF7C */ _t81 = cpu->r[12] + 0x0000005Cu; /* 0288CF7C */ rbrew_write32(cpu->mem, _t81, cpu->r[11]); /* 0288CF80 */ Gambit_fn_0288CA30(cpu); L_0288CF84: ; // 0x288cf84 /* 0288CF84 */ /* nop */ /* 0288CF88 */ _t82 = cpu->r[1] + 0x00000034u; /* 0288CF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82); /* 0288CF8C */ cpu->lr = cpu->r[0]; /* 0288CF90 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0288CF94 */ return; } // fn_0288CF98 @ 0x288cf98 void Gambit_fn_0288CF98(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288CF98: ; // 0x288cf98 /* 0288CF98 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0288CF98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288CF98 */ cpu->r[1] = _t0; /* 0288CF9C */ /* nop */ /* 0288CFA0 */ cpu->r[0] = cpu->lr; /* 0288CFA4 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0288CFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288CFA8 */ cpu->r[29] = cpu->r[3]; /* 0288CFAC */ _t2 = cpu->r[29] + 0x0000005Cu; /* 0288CFAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0288CFB0 */ _t3 = cpu->r[12] + 0x00000000u; /* 0288CFB0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t3); /* 0288CFB4 */ cpu->r[30] = cpu->r[4]; /* 0288CFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0288CFBC */ cpu->r[31] = 0x00000000u; /* 0288CFC0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CFC0 */ _t5 = _t4 & 0x00000001u; /* 0288CFC0 */ if (_t5) goto L_0288D138; else goto L_0288CFC4; L_0288CFC4: ; // 0x288cfc4 /* 0288CFC4 */ cpu->r[3] = cpu->r[29]; /* 0288CFC8 */ cpu->r[4] = cpu->r[25]; /* 0288CFCC */ Gambit_fn_0288A308(cpu); /* 0288CFD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0288CFD4 */ cpu->r[31] = cpu->r[31] + cpu->r[3]; /* 0288CFD8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CFD8 */ _t7 = _t6 & 0x00000001u; /* 0288CFD8 */ if (_t7) goto L_0288CFE8; else goto L_0288CFDC; L_0288CFDC: ; // 0x288cfdc /* 0288CFDC */ _t8 = cpu->r[25] + 0x00000050u; /* 0288CFDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0288CFE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288CFE4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288CFE4 */ _t10 = _t9 & 0x00000001u; /* 0288CFE4 */ if (_t10) goto L_0288CFE8; else goto L_0288D12C; L_0288CFE8: ; // 0x288cfe8 /* 0288CFE8 */ _t11 = cpu->r[25] + 0x00000014u; /* 0288CFE8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11); /* 0288CFEC */ cpu->r[27] = 0x00000000u; /* 0288CFF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]); /* 0288CFF4 */ _t12 = cpu->r[25] + 0x00000018u; /* 0288CFF4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t12); /* 0288CFF8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288CFF8 */ _t14 = _t13 & 0x00000001u; /* 0288CFF8 */ if (_t14) goto L_0288CFFC; else goto L_0288D12C; L_0288CFFC: ; // 0x288cffc /* 0288CFFC */ _t15 = cpu->r[26] + 0x00000030u; /* 0288CFFC */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 0288D000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0288D004 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D004 */ _t17 = _t16 & 0x00000001u; /* 0288D004 */ if (_t17) goto L_0288D118; else goto L_0288D008; L_0288D008: ; // 0x288d008 /* 0288D008 */ cpu->r[5] = cpu->r[28]; /* 0288D00C */ cpu->r[4] = cpu->r[25]; /* 0288D010 */ cpu->r[3] = cpu->r[29]; /* 0288D014 */ Gambit_fn_0288A490(cpu); /* 0288D018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D01C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D01C */ _t19 = _t18 & 0x00000001u; /* 0288D01C */ if (_t19) goto L_0288D020; else goto L_0288D114; L_0288D020: ; // 0x288d020 /* 0288D020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0288D024 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D024 */ _t21 = _t20 & 0x00000001u; /* 0288D024 */ if (_t21) goto L_0288D078; else goto L_0288D028; L_0288D028: ; // 0x288d028 /* 0288D028 */ _t22 = cpu->r[29] + 0x0000005Cu; /* 0288D028 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22); /* 0288D02C */ _t23 = cpu->r[6] + 0x00000000u; /* 0288D02C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0288D030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288D034 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D034 */ _t25 = _t24 & 0x00000001u; /* 0288D034 */ if (_t25) goto L_0288D078; else goto L_0288D038; L_0288D038: ; // 0x288d038 /* 0288D038 */ _t26 = cpu->r[12] + 0x00000050u; /* 0288D038 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 0288D03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288D040 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D040 */ _t28 = _t27 & 0x00000001u; /* 0288D040 */ if (_t28) goto L_0288D06C; else goto L_0288D044; L_0288D044: ; // 0x288d044 /* 0288D044 */ _t29 = cpu->r[12] + 0x00000014u; /* 0288D044 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29); /* 0288D048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D04C */ _t30 = cpu->r[12] + 0x00000018u; /* 0288D04C */ cpu->r[4] = rbrew_read32(cpu->mem, _t30); /* 0288D050 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D050 */ _t32 = _t31 & 0x00000001u; /* 0288D050 */ if (_t32) goto L_0288D06C; else goto L_0288D054; L_0288D054: ; // 0x288d054 /* 0288D054 */ cpu->ctr = cpu->r[0]; L_0288D058: ; // 0x288d058 /* 0288D058 */ _t33 = cpu->r[4] + 0x00000030u; /* 0288D058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33); /* 0288D05C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]); /* 0288D060 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D060 */ _t35 = _t34 & 0x00000001u; /* 0288D060 */ if (_t35) goto L_0288D114; else goto L_0288D064; L_0288D064: ; // 0x288d064 /* 0288D064 */ cpu->r[4] = cpu->r[4] + 0x0000003Cu; /* 0288D068 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0288D068 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0288D068 */ _t37 = _t36 >> (0x00000002u & 31u); /* 0288D068 */ _t38 = _t37 & 0x00000001u; /* 0288D068 */ if (_t38) goto L_0288D058; else goto L_0288D06C; L_0288D06C: ; // 0x288d06c /* 0288D06C */ _t39 = cpu->r[12] + 0x0000005Cu; /* 0288D06C */ cpu->r[12] = rbrew_read32(cpu->mem, _t39); /* 0288D070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288D074 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D074 */ _t41 = _t40 & 0x00000001u; /* 0288D074 */ if (_t41) goto L_0288D078; else goto L_0288D038; L_0288D078: ; // 0x288d078 /* 0288D078 */ _t42 = cpu->r[28] + 0x00000024u; /* 0288D078 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42); /* 0288D07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D080 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D080 */ _t44 = _t43 & 0x00000001u; /* 0288D080 */ if (_t44) goto L_0288D104; else goto L_0288D084; L_0288D084: ; // 0x288d084 /* 0288D084 */ _t45 = cpu->r[28] + 0x0000002Cu; /* 0288D084 */ cpu->r[0] = rbrew_read8(cpu->mem, _t45); /* 0288D088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D08C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D08C */ _t47 = _t46 & 0x00000001u; /* 0288D08C */ if (_t47) goto L_0288D090; else goto L_0288D114; L_0288D090: ; // 0x288d090 /* 0288D090 */ _t48 = cpu->r[29] + 0x00000018u; /* 0288D090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0288D094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 0288D098 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D098 */ _t50 = _t49 & 0x00000001u; /* 0288D098 */ if (_t50) goto L_0288D114; else goto L_0288D09C; L_0288D09C: ; // 0x288d09c /* 0288D09C */ _t51 = cpu->r[28] + 0x00000028u; /* 0288D09C */ cpu->r[4] = rbrew_read32(cpu->mem, _t51); /* 0288D0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288D0A4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D0A4 */ _t53 = _t52 & 0x00000001u; /* 0288D0A4 */ if (_t53) goto L_0288D114; else goto L_0288D0A8; L_0288D0A8: ; // 0x288d0a8 /* 0288D0A8 */ cpu->r[3] = cpu->r[29]; /* 0288D0AC */ cpu->r[4] = cpu->r[28]; /* 0288D0B0 */ Gambit_fn_028745B4(cpu); /* 0288D0B4 */ _t54 = cpu->r[29] + 0x0000005Cu; /* 0288D0B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54); /* 0288D0B8 */ _t55 = cpu->r[5] + 0x00000004u; /* 0288D0B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55); /* 0288D0BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288D0C0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D0C0 */ _t57 = _t56 & 0x00000001u; /* 0288D0C0 */ if (_t57) goto L_0288D110; else goto L_0288D0C4; L_0288D0C4: ; // 0x288d0c4 /* 0288D0C4 */ cpu->r[8] = 0x00000000u; L_0288D0C8: ; // 0x288d0c8 /* 0288D0C8 */ _t58 = cpu->r[7] + 0x00000000u; /* 0288D0C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58); /* 0288D0CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]); /* 0288D0D0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D0D0 */ _t60 = _t59 & 0x00000001u; /* 0288D0D0 */ if (_t60) goto L_0288D0D4; else goto L_0288D0F0; L_0288D0D4: ; // 0x288d0d4 /* 0288D0D4 */ _t61 = cpu->r[7] + 0x00000020u; /* 0288D0D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61); /* 0288D0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288D0DC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D0DC */ _t63 = _t62 & 0x00000001u; /* 0288D0DC */ if (_t63) goto L_0288D0F0; else goto L_0288D0E0; L_0288D0E0: ; // 0x288d0e0 /* 0288D0E0 */ _t64 = cpu->r[10] + 0x00000010u; /* 0288D0E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64); /* 0288D0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288D0E8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D0E8 */ _t66 = _t65 & 0x00000001u; /* 0288D0E8 */ if (_t66) goto L_0288D0F0; else goto L_0288D0EC; L_0288D0EC: ; // 0x288d0ec /* 0288D0EC */ _t67 = cpu->r[9] + 0x00000004u; /* 0288D0EC */ rbrew_write32(cpu->mem, _t67, cpu->r[8]); L_0288D0F0: ; // 0x288d0f0 /* 0288D0F0 */ _t68 = cpu->r[7] + 0x00000114u; /* 0288D0F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t68); /* 0288D0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288D0F8 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D0F8 */ _t70 = _t69 & 0x00000001u; /* 0288D0F8 */ if (_t70) goto L_0288D0FC; else goto L_0288D0C8; L_0288D0FC: ; // 0x288d0fc /* 0288D0FC */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0288D100 */ goto L_0288D114; L_0288D104: ; // 0x288d104 /* 0288D104 */ cpu->r[3] = cpu->r[29]; /* 0288D108 */ cpu->r[4] = cpu->r[28]; /* 0288D10C */ Gambit_fn_0288CC2C(cpu); L_0288D110: ; // 0x288d110 /* 0288D110 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_0288D114: ; // 0x288d114 /* 0288D114 */ _t71 = cpu->r[25] + 0x00000014u; /* 0288D114 */ cpu->r[0] = rbrew_read16(cpu->mem, _t71); L_0288D118: ; // 0x288d118 /* 0288D118 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 0288D11C */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0288D120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]); /* 0288D124 */ cpu->r[26] = cpu->r[26] + 0x0000003Cu; /* 0288D128 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D128 */ _t73 = _t72 & 0x00000001u; /* 0288D128 */ if (_t73) goto L_0288CFFC; else goto L_0288D12C; L_0288D12C: ; // 0x288d12c /* 0288D12C */ _t74 = cpu->r[25] + 0x0000005Cu; /* 0288D12C */ cpu->r[25] = rbrew_read32(cpu->mem, _t74); /* 0288D130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0288D134 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D134 */ _t76 = _t75 & 0x00000001u; /* 0288D134 */ if (_t76) goto L_0288D138; else goto L_0288CFC4; L_0288D138: ; // 0x288d138 /* 0288D138 */ cpu->r[3] = cpu->r[31]; /* 0288D13C */ /* nop */ /* 0288D140 */ _t77 = cpu->r[1] + 0x0000002Cu; /* 0288D140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 0288D144 */ cpu->lr = cpu->r[0]; /* 0288D148 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0288D14C */ return; } // fn_0288D150 @ 0x288d150 void Gambit_fn_0288D150(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147; L_0288D150: ; // 0x288d150 /* 0288D150 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0288D150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288D150 */ cpu->r[1] = _t0; /* 0288D154 */ /* nop */ /* 0288D158 */ cpu->r[0] = cpu->lr; /* 0288D15C */ _t1 = cpu->r[1] + 0x00000024u; /* 0288D15C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288D160 */ cpu->r[30] = cpu->r[3]; /* 0288D164 */ _t2 = cpu->r[30] + 0x0000005Cu; /* 0288D164 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0288D168 */ _t3 = cpu->r[6] + 0x00000000u; /* 0288D168 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 0288D16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288D170 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D170 */ _t5 = _t4 & 0x00000001u; /* 0288D170 */ if (_t5) goto L_0288D1A8; else goto L_0288D174; L_0288D174: ; // 0x288d174 /* 0288D174 */ _t6 = cpu->r[4] + 0x00000050u; /* 0288D174 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0288D178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288D17C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D17C */ _t8 = _t7 & 0x00000001u; /* 0288D17C */ if (_t8) goto L_0288D180; else goto L_0288D19C; L_0288D180: ; // 0x288d180 /* 0288D180 */ _t9 = cpu->r[4] + 0x00000054u; /* 0288D180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0288D184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D188 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D188 */ _t11 = _t10 & 0x00000001u; /* 0288D188 */ if (_t11) goto L_0288D18C; else goto L_0288D19C; L_0288D18C: ; // 0x288d18c /* 0288D18C */ cpu->r[3] = cpu->r[30]; /* 0288D190 */ Gambit_fn_0288CD58(cpu); /* 0288D194 */ cpu->r[3] = 0x00000001u; /* 0288D198 */ goto L_0288D4B0; L_0288D19C: ; // 0x288d19c /* 0288D19C */ _t12 = cpu->r[4] + 0x0000005Cu; /* 0288D19C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12); /* 0288D1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288D1A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D1A4 */ _t14 = _t13 & 0x00000001u; /* 0288D1A4 */ if (_t14) goto L_0288D1A8; else goto L_0288D174; L_0288D1A8: ; // 0x288d1a8 /* 0288D1A8 */ cpu->r[31] = 0x00000000u; /* 0288D1AC */ cpu->r[28] = cpu->r[6] + 0x00000014u; /* 0288D1B0 */ cpu->r[27] = 0x000003FDu; /* 0288D1B4 */ cpu->r[29] = cpu->r[31]; L_0288D1B8: ; // 0x288d1b8 /* 0288D1B8 */ _t15 = cpu->r[28] + 0x00000004u; /* 0288D1B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 0288D1B8 */ cpu->r[28] = _t15; /* 0288D1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288D1C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D1C0 */ _t17 = _t16 & 0x00000001u; /* 0288D1C0 */ if (_t17) goto L_0288D2BC; else goto L_0288D1C4; L_0288D1C4: ; // 0x288d1c4 /* 0288D1C4 */ _t18 = cpu->r[8] + 0x0000001Cu; /* 0288D1C4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t18); /* 0288D1C8 */ _t19 = cpu->r[26] + 0x00000024u; /* 0288D1C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19); /* 0288D1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288D1D0 */ cpu->r[10] = cpu->r[26]; /* 0288D1D4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D1D4 */ _t21 = _t20 & 0x00000001u; /* 0288D1D4 */ if (_t21) goto L_0288D1FC; else goto L_0288D1D8; L_0288D1D8: ; // 0x288d1d8 /* 0288D1D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[8]); /* 0288D1DC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D1DC */ _t23 = _t22 & 0x00000001u; /* 0288D1DC */ if (_t23) goto L_0288D2BC; else goto L_0288D1E0; L_0288D1E0: ; // 0x288d1e0 /* 0288D1E0 */ _t24 = cpu->r[26] + 0x0000001Cu; /* 0288D1E0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t24); /* 0288D1E4 */ _t25 = cpu->r[26] + 0x00000024u; /* 0288D1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0288D1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D1EC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D1EC */ _t27 = _t26 & 0x00000001u; /* 0288D1EC */ if (_t27) goto L_0288D1FC; else goto L_0288D1F0; L_0288D1F0: ; // 0x288d1f0 /* 0288D1F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[8]); /* 0288D1F4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D1F4 */ _t29 = _t28 & 0x00000001u; /* 0288D1F4 */ if (_t29) goto L_0288D1F8; else goto L_0288D1E0; L_0288D1F8: ; // 0x288d1f8 /* 0288D1F8 */ goto L_0288D2BC; L_0288D1FC: ; // 0x288d1fc /* 0288D1FC */ _t30 = cpu->r[26] + 0x0000001Cu; /* 0288D1FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 0288D200 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]); /* 0288D204 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D204 */ _t32 = _t31 & 0x00000001u; /* 0288D204 */ if (_t32) goto L_0288D208; else goto L_0288D220; L_0288D208: ; // 0x288d208 /* 0288D208 */ _t33 = cpu->r[28] + 0x00000000u; /* 0288D208 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]); /* 0288D20C */ _t34 = cpu->r[26] + 0x00000010u; /* 0288D20C */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 0288D210 */ _t35 = cpu->r[10] + 0x0000010Cu; /* 0288D210 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35); /* 0288D214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288D218 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D218 */ _t37 = _t36 & 0x00000001u; /* 0288D218 */ if (_t37) goto L_0288D21C; else goto L_0288D298; L_0288D21C: ; // 0x288d21c /* 0288D21C */ goto L_0288D2A0; L_0288D220: ; // 0x288d220 /* 0288D220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[8]); /* 0288D224 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D224 */ _t39 = _t38 & 0x00000001u; /* 0288D224 */ if (_t39) goto L_0288D228; else goto L_0288D24C; L_0288D228: ; // 0x288d228 /* 0288D228 */ _t40 = cpu->r[26] + 0x00000020u; /* 0288D228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 0288D22C */ _t41 = cpu->r[28] + 0x00000000u; /* 0288D22C */ rbrew_write32(cpu->mem, _t41, cpu->r[9]); /* 0288D230 */ _t42 = cpu->r[26] + 0x0000001Cu; /* 0288D230 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42); /* 0288D234 */ _t43 = cpu->r[9] + 0x0000001Cu; /* 0288D234 */ rbrew_write32(cpu->mem, _t43, cpu->r[6]); /* 0288D238 */ _t44 = cpu->r[26] + 0x00000010u; /* 0288D238 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44); /* 0288D23C */ _t45 = cpu->r[10] + 0x0000010Cu; /* 0288D23C */ cpu->r[7] = rbrew_read32(cpu->mem, _t45); /* 0288D240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288D244 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D244 */ _t47 = _t46 & 0x00000001u; /* 0288D244 */ if (_t47) goto L_0288D248; else goto L_0288D298; L_0288D248: ; // 0x288d248 /* 0288D248 */ goto L_0288D2A0; L_0288D24C: ; // 0x288d24c /* 0288D24C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[10]); /* 0288D250 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D250 */ _t49 = _t48 & 0x00000001u; /* 0288D250 */ if (_t49) goto L_0288D254; else goto L_0288D274; L_0288D254: ; // 0x288d254 /* 0288D254 */ _t50 = cpu->r[8] + 0x0000001Cu; /* 0288D254 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]); /* 0288D258 */ _t51 = cpu->r[26] + 0x0000001Cu; /* 0288D258 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51); /* 0288D25C */ _t52 = cpu->r[7] + 0x00000020u; /* 0288D25C */ rbrew_write32(cpu->mem, _t52, cpu->r[29]); /* 0288D260 */ _t53 = cpu->r[26] + 0x00000010u; /* 0288D260 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53); /* 0288D264 */ _t54 = cpu->r[10] + 0x0000010Cu; /* 0288D264 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54); /* 0288D268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288D26C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D26C */ _t56 = _t55 & 0x00000001u; /* 0288D26C */ if (_t56) goto L_0288D270; else goto L_0288D298; L_0288D270: ; // 0x288d270 /* 0288D270 */ goto L_0288D2A0; L_0288D274: ; // 0x288d274 /* 0288D274 */ _t57 = cpu->r[26] + 0x00000020u; /* 0288D274 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57); /* 0288D278 */ _t58 = cpu->r[8] + 0x0000001Cu; /* 0288D278 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); /* 0288D27C */ _t59 = cpu->r[26] + 0x0000001Cu; /* 0288D27C */ cpu->r[9] = rbrew_read32(cpu->mem, _t59); /* 0288D280 */ _t60 = cpu->r[26] + 0x00000020u; /* 0288D280 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60); /* 0288D284 */ _t61 = cpu->r[9] + 0x00000020u; /* 0288D284 */ rbrew_write32(cpu->mem, _t61, cpu->r[10]); /* 0288D288 */ _t62 = cpu->r[26] + 0x00000010u; /* 0288D288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62); /* 0288D28C */ _t63 = cpu->r[10] + 0x0000010Cu; /* 0288D28C */ cpu->r[7] = rbrew_read32(cpu->mem, _t63); /* 0288D290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288D294 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D294 */ _t65 = _t64 & 0x00000001u; /* 0288D294 */ if (_t65) goto L_0288D2A0; else goto L_0288D298; L_0288D298: ; // 0x288d298 /* 0288D298 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFFu; /* 0288D29C */ _t66 = cpu->r[10] + 0x0000010Cu; /* 0288D29C */ rbrew_write32(cpu->mem, _t66, cpu->r[11]); L_0288D2A0: ; // 0x288d2a0 /* 0288D2A0 */ _t67 = cpu->r[26] + 0x0000000Cu; /* 0288D2A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67); /* 0288D2A4 */ cpu->r[3] = cpu->r[30]; /* 0288D2A8 */ Gambit_fn_0288CA30(cpu); /* 0288D2AC */ cpu->r[4] = cpu->r[26]; /* 0288D2B0 */ cpu->r[3] = cpu->r[30]; /* 0288D2B4 */ Gambit_fn_0288CA48(cpu); /* 0288D2B8 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_0288D2BC: ; // 0x288d2bc /* 0288D2BC */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 0288D2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0288D2C0 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D2C0 */ _t69 = _t68 & 0x00000001u; /* 0288D2C0 */ if (_t69) goto L_0288D2C4; else goto L_0288D1B8; L_0288D2C4: ; // 0x288d2c4 /* 0288D2C4 */ cpu->r[3] = cpu->r[31]; /* 0288D2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D2C8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D2C8 */ _t71 = _t70 & 0x00000001u; /* 0288D2C8 */ if (_t71) goto L_0288D2CC; else goto L_0288D4B0; L_0288D2CC: ; // 0x288d2cc /* 0288D2CC */ _t72 = cpu->r[30] + 0x0000005Cu; /* 0288D2CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t72); /* 0288D2D0 */ _t73 = cpu->r[12] + 0x00000004u; /* 0288D2D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t73); /* 0288D2D4 */ cpu->r[31] = 0x00000000u; /* 0288D2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0288D2DC */ cpu->r[27] = cpu->r[31]; /* 0288D2E0 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D2E0 */ _t75 = _t74 & 0x00000001u; /* 0288D2E0 */ if (_t75) goto L_0288D3CC; else goto L_0288D2E4; L_0288D2E4: ; // 0x288d2e4 /* 0288D2E4 */ _t76 = cpu->r[28] + 0x00000108u; /* 0288D2E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t76); /* 0288D2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D2EC */ _t77 = cpu->r[28] + 0x00000114u; /* 0288D2EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t77); /* 0288D2F0 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D2F0 */ _t79 = _t78 & 0x00000001u; /* 0288D2F0 */ if (_t79) goto L_0288D2F4; else goto L_0288D3C0; L_0288D2F4: ; // 0x288d2f4 /* 0288D2F4 */ _t80 = cpu->r[28] + 0x00000110u; /* 0288D2F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80); /* 0288D2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288D2FC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D2FC */ _t82 = _t81 & 0x00000001u; /* 0288D2FC */ if (_t82) goto L_0288D300; else goto L_0288D3C0; L_0288D300: ; // 0x288d300 /* 0288D300 */ _t83 = cpu->r[28] + 0x0000010Cu; /* 0288D300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83); /* 0288D304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D308 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D308 */ _t85 = _t84 & 0x00000001u; /* 0288D308 */ if (_t85) goto L_0288D30C; else goto L_0288D3C0; L_0288D30C: ; // 0x288d30c /* 0288D30C */ cpu->r[3] = cpu->r[30]; /* 0288D310 */ cpu->r[4] = cpu->r[28]; /* 0288D314 */ Gambit_fn_02878BCC(cpu); /* 0288D318 */ _t86 = cpu->r[30] + 0x0000005Cu; /* 0288D318 */ cpu->r[6] = rbrew_read32(cpu->mem, _t86); /* 0288D31C */ _t87 = cpu->r[6] + 0x00000004u; /* 0288D31C */ cpu->r[4] = rbrew_read32(cpu->mem, _t87); /* 0288D320 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[28]); /* 0288D324 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D324 */ _t89 = _t88 & 0x00000001u; /* 0288D324 */ if (_t89) goto L_0288D328; else goto L_0288D340; L_0288D328: ; // 0x288d328 /* 0288D328 */ _t90 = cpu->r[28] + 0x00000114u; /* 0288D328 */ cpu->r[5] = rbrew_read32(cpu->mem, _t90); /* 0288D32C */ _t91 = cpu->r[6] + 0x00000004u; /* 0288D32C */ rbrew_write32(cpu->mem, _t91, cpu->r[5]); /* 0288D330 */ _t92 = cpu->r[28] + 0x00000020u; /* 0288D330 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92); /* 0288D334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288D338 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D338 */ _t94 = _t93 & 0x00000001u; /* 0288D338 */ if (_t94) goto L_0288D33C; else goto L_0288D358; L_0288D33C: ; // 0x288d33c /* 0288D33C */ goto L_0288D3AC; L_0288D340: ; // 0x288d340 /* 0288D340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0288D344 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D344 */ _t96 = _t95 & 0x00000001u; /* 0288D344 */ if (_t96) goto L_0288D34C; else goto L_0288D348; L_0288D348: ; // 0x288d348 /* 0288D348 */ _t97 = cpu->r[27] + 0x00000114u; /* 0288D348 */ rbrew_write32(cpu->mem, _t97, cpu->r[29]); L_0288D34C: ; // 0x288d34c /* 0288D34C */ _t98 = cpu->r[28] + 0x00000020u; /* 0288D34C */ cpu->r[8] = rbrew_read32(cpu->mem, _t98); /* 0288D350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288D354 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D354 */ _t100 = _t99 & 0x00000001u; /* 0288D354 */ if (_t100) goto L_0288D3AC; else goto L_0288D358; L_0288D358: ; // 0x288d358 /* 0288D358 */ _t101 = cpu->r[28] + 0x00000000u; /* 0288D358 */ cpu->r[6] = rbrew_read32(cpu->mem, _t101); /* 0288D35C */ _t102 = cpu->r[6] + 0x0000002Du; /* 0288D35C */ cpu->r[0] = rbrew_read8(cpu->mem, _t102); /* 0288D360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D364 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D364 */ _t104 = _t103 & 0x00000001u; /* 0288D364 */ if (_t104) goto L_0288D378; else goto L_0288D368; L_0288D368: ; // 0x288d368 /* 0288D368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 0288D36C */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D36C */ _t106 = _t105 & 0x00000001u; /* 0288D36C */ if (_t106) goto L_0288D378; else goto L_0288D370; L_0288D370: ; // 0x288d370 /* 0288D370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000007u); /* 0288D374 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D374 */ _t108 = _t107 & 0x00000001u; /* 0288D374 */ if (_t108) goto L_0288D378; else goto L_0288D394; L_0288D378: ; // 0x288d378 /* 0288D378 */ _t109 = cpu->r[8] + 0x00000010u; /* 0288D378 */ cpu->r[4] = rbrew_read32(cpu->mem, _t109); /* 0288D37C */ cpu->r[3] = cpu->r[30]; /* 0288D380 */ Gambit_fn_028804D4(cpu); /* 0288D384 */ _t110 = cpu->r[28] + 0x00000020u; /* 0288D384 */ cpu->r[4] = rbrew_read32(cpu->mem, _t110); /* 0288D388 */ cpu->r[3] = cpu->r[30]; /* 0288D38C */ Gambit_fn_0288CA30(cpu); /* 0288D390 */ goto L_0288D3AC; L_0288D394: ; // 0x288d394 /* 0288D394 */ _t111 = cpu->r[8] + 0x00000010u; /* 0288D394 */ cpu->r[4] = rbrew_read32(cpu->mem, _t111); /* 0288D398 */ cpu->r[3] = cpu->r[30]; /* 0288D39C */ Gambit_fn_0288CA30(cpu); /* 0288D3A0 */ _t112 = cpu->r[28] + 0x00000020u; /* 0288D3A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112); /* 0288D3A4 */ cpu->r[3] = cpu->r[30]; /* 0288D3A8 */ Gambit_fn_0288CA30(cpu); L_0288D3AC: ; // 0x288d3ac /* 0288D3AC */ cpu->r[3] = cpu->r[30]; /* 0288D3B0 */ cpu->r[4] = cpu->r[28]; /* 0288D3B4 */ Gambit_fn_0288CA30(cpu); /* 0288D3B8 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0288D3BC */ cpu->r[28] = cpu->r[27]; L_0288D3C0: ; // 0x288d3c0 /* 0288D3C0 */ cpu->r[27] = cpu->r[28]; /* 0288D3C4 */ cpu->r[28] = cpu->r[29]; /* 0288D3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0288D3C8 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D3C8 */ _t114 = _t113 & 0x00000001u; /* 0288D3C8 */ if (_t114) goto L_0288D3CC; else goto L_0288D2E4; L_0288D3CC: ; // 0x288d3cc /* 0288D3CC */ cpu->r[3] = cpu->r[31]; /* 0288D3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D3D0 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D3D0 */ _t116 = _t115 & 0x00000001u; /* 0288D3D0 */ if (_t116) goto L_0288D3D4; else goto L_0288D4B0; L_0288D3D4: ; // 0x288d3d4 /* 0288D3D4 */ cpu->r[3] = cpu->r[30]; /* 0288D3D8 */ cpu->r[4] = 0x00000001u; /* 0288D3DC */ Gambit_fn_0288CF98(cpu); /* 0288D3E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D3E4 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D3E4 */ _t118 = _t117 & 0x00000001u; /* 0288D3E4 */ if (_t118) goto L_0288D3E8; else goto L_0288D4B0; L_0288D3E8: ; // 0x288d3e8 /* 0288D3E8 */ _t119 = cpu->r[30] + 0x0000005Cu; /* 0288D3E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t119); /* 0288D3EC */ _t120 = cpu->r[6] + 0x00002130u; /* 0288D3EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t120); /* 0288D3F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D3F4 */ cpu->r[3] = 0x00000000u; /* 0288D3F8 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D3F8 */ _t122 = _t121 & 0x00000001u; /* 0288D3F8 */ if (_t122) goto L_0288D430; else goto L_0288D3FC; L_0288D3FC: ; // 0x288d3fc /* 0288D3FC */ _t123 = cpu->r[31] + 0x00002424u; /* 0288D3FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t123); /* 0288D400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288D404 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D404 */ _t125 = _t124 & 0x00000001u; /* 0288D404 */ if (_t125) goto L_0288D408; else goto L_0288D430; L_0288D408: ; // 0x288d408 /* 0288D408 */ _t126 = cpu->r[31] + 0x00002404u; /* 0288D408 */ cpu->r[4] = rbrew_read32(cpu->mem, _t126); /* 0288D40C */ cpu->r[3] = cpu->r[30]; /* 0288D410 */ Gambit_fn_0288CA30(cpu); /* 0288D414 */ cpu->r[4] = cpu->r[31]; /* 0288D418 */ cpu->r[3] = cpu->r[30]; /* 0288D41C */ Gambit_fn_0288CA30(cpu); /* 0288D420 */ _t127 = cpu->r[30] + 0x0000005Cu; /* 0288D420 */ cpu->r[9] = rbrew_read32(cpu->mem, _t127); /* 0288D424 */ cpu->r[0] = 0x00000000u; /* 0288D428 */ cpu->r[3] = 0x00000001u; /* 0288D42C */ _t128 = cpu->r[9] + 0x00002130u; /* 0288D42C */ rbrew_write32(cpu->mem, _t128, cpu->r[0]); L_0288D430: ; // 0x288d430 /* 0288D430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D434 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D434 */ _t130 = _t129 & 0x00000001u; /* 0288D434 */ if (_t130) goto L_0288D438; else goto L_0288D4B0; L_0288D438: ; // 0x288d438 /* 0288D438 */ _t131 = cpu->r[30] + 0x0000005Cu; /* 0288D438 */ cpu->r[12] = rbrew_read32(cpu->mem, _t131); /* 0288D43C */ _t132 = cpu->r[12] + 0x00000008u; /* 0288D43C */ cpu->r[29] = rbrew_read32(cpu->mem, _t132); /* 0288D440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0288D444 */ cpu->r[31] = 0x00000000u; /* 0288D448 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D448 */ _t134 = _t133 & 0x00000001u; /* 0288D448 */ if (_t134) goto L_0288D474; else goto L_0288D44C; L_0288D44C: ; // 0x288d44c /* 0288D44C */ _t135 = cpu->r[29] + 0x0000001Cu; /* 0288D44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t135); /* 0288D450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D454 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D454 */ _t137 = _t136 & 0x00000001u; /* 0288D454 */ if (_t137) goto L_0288D468; else goto L_0288D458; L_0288D458: ; // 0x288d458 /* 0288D458 */ cpu->r[3] = cpu->r[30]; /* 0288D45C */ cpu->r[4] = cpu->r[29]; /* 0288D460 */ Gambit_fn_02874574(cpu); /* 0288D464 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_0288D468: ; // 0x288d468 /* 0288D468 */ _t138 = cpu->r[29] + 0x00000034u; /* 0288D468 */ cpu->r[29] = rbrew_read32(cpu->mem, _t138); /* 0288D46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0288D470 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D470 */ _t140 = _t139 & 0x00000001u; /* 0288D470 */ if (_t140) goto L_0288D474; else goto L_0288D44C; L_0288D474: ; // 0x288d474 /* 0288D474 */ cpu->r[3] = cpu->r[31]; /* 0288D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D478 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D478 */ _t142 = _t141 & 0x00000001u; /* 0288D478 */ if (_t142) goto L_0288D47C; else goto L_0288D4B0; L_0288D47C: ; // 0x288d47c /* 0288D47C */ cpu->r[3] = cpu->r[30]; /* 0288D480 */ cpu->r[4] = 0x00000000u; /* 0288D484 */ Gambit_fn_0288CF98(cpu); /* 0288D488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D48C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D48C */ _t144 = _t143 & 0x00000001u; /* 0288D48C */ if (_t144) goto L_0288D490; else goto L_0288D4B0; L_0288D490: ; // 0x288d490 /* 0288D490 */ cpu->r[3] = cpu->r[30]; /* 0288D494 */ cpu->r[4] = 0x00000001u; /* 0288D498 */ Gambit_fn_0288CB48(cpu); /* 0288D49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D4A0 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D4A0 */ _t146 = _t145 & 0x00000001u; /* 0288D4A0 */ if (_t146) goto L_0288D4A4; else goto L_0288D4B0; L_0288D4A4: ; // 0x288d4a4 /* 0288D4A4 */ cpu->r[3] = cpu->r[30]; /* 0288D4A8 */ cpu->r[4] = 0x00000000u; /* 0288D4AC */ Gambit_fn_0288CB48(cpu); L_0288D4B0: ; // 0x288d4b0 /* 0288D4B0 */ /* nop */ /* 0288D4B4 */ _t147 = cpu->r[1] + 0x00000024u; /* 0288D4B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t147); /* 0288D4B8 */ cpu->lr = cpu->r[0]; /* 0288D4BC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0288D4C0 */ return; } // fn_0288D4C4 @ 0x288d4c4 void Gambit_fn_0288D4C4(CPUState* cpu) { uint32_t _t0, _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_0288D4C4: ; // 0x288d4c4 /* 0288D4C4 */ cpu->r[0] = cpu->lr; /* 0288D4C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0288D4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288D4C8 */ cpu->r[1] = _t0; /* 0288D4CC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288D4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0288D4D0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0288D4D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0288D4D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0288D4D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0288D4D8 */ cpu->r[30] = cpu->r[3]; /* 0288D4DC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0288D4DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0288D4E0 */ _t5 = cpu->r[30] + 0x0000005Cu; /* 0288D4E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0288D4E4 */ _t6 = cpu->r[11] + 0x0000100Cu; /* 0288D4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0288D4E8 */ cpu->r[31] = cpu->r[4]; /* 0288D4EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 0288D4F0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D4F0 */ _t8 = _t7 & 0x00000001u; /* 0288D4F0 */ if (_t8) goto L_0288D4F4; else goto L_0288D548; L_0288D4F4: ; // 0x288d4f4 /* 0288D4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D4F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D4F8 */ _t10 = _t9 & 0x00000001u; /* 0288D4F8 */ if (_t10) goto L_0288D4FC; else goto L_0288D51C; L_0288D4FC: ; // 0x288d4fc /* 0288D4FC */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0288D4FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0288D500 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0288D500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0288D504 */ _t13 = cpu->r[1] + 0x00000010u; /* 0288D504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0288D508 */ cpu->lr = cpu->r[0]; /* 0288D50C */ _t14 = cpu->r[1] + 0x00000014u; /* 0288D50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0288D510 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0288D514 */ cpu->r[3] = 0x00000000u; /* 0288D518 */ return; L_0288D51C: ; // 0x288d51c /* 0288D51C */ cpu->r[29] = 0x00000000u; L_0288D520: ; // 0x288d520 /* 0288D520 */ cpu->r[4] = cpu->r[31]; /* 0288D524 */ cpu->r[3] = cpu->r[30]; /* 0288D528 */ _t15 = cpu->r[30] + 0x00000028u; /* 0288D528 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); /* 0288D52C */ Gambit_fn_0288DE0C(cpu); /* 0288D530 */ cpu->r[0] = cpu->r[3]; /* 0288D530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D534 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D534 */ _t17 = _t16 & 0x00000001u; /* 0288D534 */ if (_t17) goto L_0288D538; else goto L_0288D554; L_0288D538: ; // 0x288d538 /* 0288D538 */ cpu->r[3] = cpu->r[30]; /* 0288D53C */ Gambit_fn_0288D150(cpu); /* 0288D540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D544 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D544 */ _t19 = _t18 & 0x00000001u; /* 0288D544 */ if (_t19) goto L_0288D548; else goto L_0288D520; L_0288D548: ; // 0x288d548 /* 0288D548 */ cpu->r[10] = 0x000000C9u; /* 0288D54C */ cpu->r[0] = 0x00000000u; /* 0288D550 */ _t20 = cpu->r[30] + 0x00000028u; /* 0288D550 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]); L_0288D554: ; // 0x288d554 /* 0288D554 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0288D554 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0288D558 */ cpu->r[3] = cpu->r[0]; /* 0288D55C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0288D55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0288D560 */ _t23 = cpu->r[1] + 0x00000010u; /* 0288D560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 0288D564 */ cpu->lr = cpu->r[0]; /* 0288D568 */ _t24 = cpu->r[1] + 0x00000014u; /* 0288D568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0288D56C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0288D570 */ return; } // fn_0288D4C8 @ 0x288d4c8 void Gambit_fn_0288D4C8(CPUState* cpu) { uint32_t _t0, _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_0288D4C8: ; // 0x288d4c8 /* 0288D4C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0288D4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288D4C8 */ cpu->r[1] = _t0; /* 0288D4CC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288D4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0288D4D0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0288D4D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0288D4D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0288D4D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0288D4D8 */ cpu->r[30] = cpu->r[3]; /* 0288D4DC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0288D4DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0288D4E0 */ _t5 = cpu->r[30] + 0x0000005Cu; /* 0288D4E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0288D4E4 */ _t6 = cpu->r[11] + 0x0000100Cu; /* 0288D4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0288D4E8 */ cpu->r[31] = cpu->r[4]; /* 0288D4EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 0288D4F0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D4F0 */ _t8 = _t7 & 0x00000001u; /* 0288D4F0 */ if (_t8) goto L_0288D4F4; else goto L_0288D548; L_0288D4F4: ; // 0x288d4f4 /* 0288D4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D4F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D4F8 */ _t10 = _t9 & 0x00000001u; /* 0288D4F8 */ if (_t10) goto L_0288D4FC; else goto L_0288D51C; L_0288D4FC: ; // 0x288d4fc /* 0288D4FC */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0288D4FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0288D500 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0288D500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0288D504 */ _t13 = cpu->r[1] + 0x00000010u; /* 0288D504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0288D508 */ cpu->lr = cpu->r[0]; /* 0288D50C */ _t14 = cpu->r[1] + 0x00000014u; /* 0288D50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0288D510 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0288D514 */ cpu->r[3] = 0x00000000u; /* 0288D518 */ return; L_0288D51C: ; // 0x288d51c /* 0288D51C */ cpu->r[29] = 0x00000000u; L_0288D520: ; // 0x288d520 /* 0288D520 */ cpu->r[4] = cpu->r[31]; /* 0288D524 */ cpu->r[3] = cpu->r[30]; /* 0288D528 */ _t15 = cpu->r[30] + 0x00000028u; /* 0288D528 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); /* 0288D52C */ Gambit_fn_0288DE0C(cpu); /* 0288D530 */ cpu->r[0] = cpu->r[3]; /* 0288D530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288D534 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D534 */ _t17 = _t16 & 0x00000001u; /* 0288D534 */ if (_t17) goto L_0288D538; else goto L_0288D554; L_0288D538: ; // 0x288d538 /* 0288D538 */ cpu->r[3] = cpu->r[30]; /* 0288D53C */ Gambit_fn_0288D150(cpu); /* 0288D540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D544 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D544 */ _t19 = _t18 & 0x00000001u; /* 0288D544 */ if (_t19) goto L_0288D548; else goto L_0288D520; L_0288D548: ; // 0x288d548 /* 0288D548 */ cpu->r[10] = 0x000000C9u; /* 0288D54C */ cpu->r[0] = 0x00000000u; /* 0288D550 */ _t20 = cpu->r[30] + 0x00000028u; /* 0288D550 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]); L_0288D554: ; // 0x288d554 /* 0288D554 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0288D554 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0288D558 */ cpu->r[3] = cpu->r[0]; /* 0288D55C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0288D55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0288D560 */ _t23 = cpu->r[1] + 0x00000010u; /* 0288D560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 0288D564 */ cpu->lr = cpu->r[0]; /* 0288D568 */ _t24 = cpu->r[1] + 0x00000014u; /* 0288D568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0288D56C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0288D570 */ return; } // fn_0288D574 @ 0x288d574 void Gambit_fn_0288D574(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0288D574: ; // 0x288d574 /* 0288D574 */ cpu->r[0] = cpu->lr; /* 0288D578 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0288D578 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288D578 */ cpu->r[1] = _t0; /* 0288D57C */ _t1 = cpu->r[1] + 0x00000008u; /* 0288D57C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0288D580 */ cpu->r[30] = cpu->r[4]; /* 0288D584 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0288D584 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0288D588 */ _t3 = cpu->r[1] + 0x00000014u; /* 0288D588 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0288D58C */ Gambit_fn_0288D4C4(cpu); /* 0288D590 */ cpu->r[31] = cpu->r[3]; /* 0288D590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D594 */ _t5 = _t4 & 0x00000001u; /* 0288D594 */ if (_t5) goto L_0288D5A8; else goto L_0288D598; L_0288D598: ; // 0x288d598 /* 0288D598 */ cpu->r[4] = 0x00000000u; /* 0288D59C */ cpu->r[5] = cpu->r[30]; /* 0288D5A0 */ cpu->r[3] = cpu->r[31]; /* 0288D5A4 */ rbrew_dispatch(cpu, 0x02d0a6f0u); L_0288D5A8: ; // 0x288d5a8 /* 0288D5A8 */ _t6 = cpu->r[1] + 0x00000014u; /* 0288D5A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0288D5AC */ cpu->r[3] = cpu->r[31]; /* 0288D5B0 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0288D5B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0288D5B4 */ cpu->lr = cpu->r[0]; /* 0288D5B8 */ _t8 = cpu->r[1] + 0x00000008u; /* 0288D5B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0288D5BC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0288D5C0 */ return; } // fn_0288D578 @ 0x288d578 void Gambit_fn_0288D578(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0288D578: ; // 0x288d578 /* 0288D578 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0288D578 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288D578 */ cpu->r[1] = _t0; /* 0288D57C */ _t1 = cpu->r[1] + 0x00000008u; /* 0288D57C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0288D580 */ cpu->r[30] = cpu->r[4]; /* 0288D584 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0288D584 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0288D588 */ _t3 = cpu->r[1] + 0x00000014u; /* 0288D588 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0288D58C */ Gambit_fn_0288D4C4(cpu); /* 0288D590 */ cpu->r[31] = cpu->r[3]; /* 0288D590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D594 */ _t5 = _t4 & 0x00000001u; /* 0288D594 */ if (_t5) goto L_0288D5A8; else goto L_0288D598; L_0288D598: ; // 0x288d598 /* 0288D598 */ cpu->r[4] = 0x00000000u; /* 0288D59C */ cpu->r[5] = cpu->r[30]; /* 0288D5A0 */ cpu->r[3] = cpu->r[31]; /* 0288D5A4 */ rbrew_dispatch(cpu, 0x02d0a6f0u); L_0288D5A8: ; // 0x288d5a8 /* 0288D5A8 */ _t6 = cpu->r[1] + 0x00000014u; /* 0288D5A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0288D5AC */ cpu->r[3] = cpu->r[31]; /* 0288D5B0 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0288D5B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0288D5B4 */ cpu->lr = cpu->r[0]; /* 0288D5B8 */ _t8 = cpu->r[1] + 0x00000008u; /* 0288D5B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0288D5BC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0288D5C0 */ return; } // fn_0288D5C4 @ 0x288d5c4 void Gambit_fn_0288D5C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0288D5C4: ; // 0x288d5c4 /* 0288D5C4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0288D5C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288D5C4 */ cpu->r[1] = _t0; /* 0288D5C8 */ /* nop */ /* 0288D5CC */ cpu->r[0] = cpu->lr; /* 0288D5D0 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0288D5D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288D5D4 */ cpu->r[30] = cpu->r[3]; /* 0288D5D8 */ _t2 = cpu->r[30] + 0x0000005Cu; /* 0288D5D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0288D5DC */ _t3 = cpu->r[12] + 0x00002110u; /* 0288D5DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t3); /* 0288D5E0 */ cpu->r[25] = 0x0000007Fu; /* 0288D5E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D5E8 */ cpu->r[27] = cpu->r[12] + 0x00002110u; /* 0288D5EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D5EC */ _t5 = _t4 & 0x00000001u; /* 0288D5EC */ if (_t5) goto L_0288D5F0; else goto L_0288D6E8; L_0288D5F0: ; // 0x288d5f0 /* 0288D5F0 */ _t6 = cpu->r[12] + 0x0000100Cu; /* 0288D5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0288D5F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000038u); /* 0288D5F8 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288D5F8 */ _t8 = _t7 & 0x00000001u; /* 0288D5F8 */ if (_t8) goto L_0288D5FC; else goto L_0288D6D8; L_0288D5FC: ; // 0x288d5fc /* 0288D5FC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x0000002Cu); /* 0288D600 */ cpu->r[29] = cpu->r[25] + 0xFFFFFFFFu; /* 0288D604 */ cpu->r[28] = 0x00000000u; /* 0288D608 */ cpu->r[26] = cpu->r[9] + 0x0000000Cu; L_0288D60C: ; // 0x288d60c /* 0288D60C */ cpu->r[4] = cpu->r[26]; /* 0288D610 */ cpu->r[3] = cpu->r[30]; /* 0288D614 */ _t9 = cpu->r[30] + 0x00000028u; /* 0288D614 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]); /* 0288D618 */ Gambit_fn_0288DE0C(cpu); /* 0288D61C */ cpu->r[4] = cpu->r[3]; /* 0288D61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288D620 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D620 */ _t11 = _t10 & 0x00000001u; /* 0288D620 */ if (_t11) goto L_0288D690; else goto L_0288D624; L_0288D624: ; // 0x288d624 /* 0288D624 */ _t12 = cpu->r[4] + 0x00000000u; /* 0288D624 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]); /* 0288D628 */ _t13 = cpu->r[4] + 0x00000004u; /* 0288D628 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]); /* 0288D62C */ _t14 = cpu->r[30] + 0x0000005Cu; /* 0288D62C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0288D630 */ _t15 = cpu->r[10] + 0x0000210Cu; /* 0288D630 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 0288D634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D638 */ _t16 = cpu->r[4] + 0x00000008u; /* 0288D638 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]); /* 0288D63C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D63C */ _t18 = _t17 & 0x00000001u; /* 0288D63C */ if (_t18) goto L_0288D644; else goto L_0288D640; L_0288D640: ; // 0x288d640 /* 0288D640 */ _t19 = cpu->r[11] + 0x00000004u; /* 0288D640 */ rbrew_write32(cpu->mem, _t19, cpu->r[4]); L_0288D644: ; // 0x288d644 /* 0288D644 */ cpu->r[5] = cpu->r[4] + 0x0000000Cu; /* 0288D648 */ _t20 = cpu->r[30] + 0x0000005Cu; /* 0288D648 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0288D64C */ cpu->r[31] = cpu->r[5]; /* 0288D650 */ cpu->r[0] = cpu->r[25] + 0xFFFFFFFFu; /* 0288D654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0288D658 */ _t21 = cpu->r[12] + 0x0000210Cu; /* 0288D658 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]); /* 0288D65C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D65C */ _t23 = _t22 & 0x00000001u; /* 0288D65C */ if (_t23) goto L_0288D678; else goto L_0288D660; L_0288D660: ; // 0x288d660 /* 0288D660 */ cpu->ctr = cpu->r[0]; L_0288D664: ; // 0x288d664 /* 0288D664 */ _t24 = cpu->r[5] + 0x00000000u; /* 0288D664 */ rbrew_write32(cpu->mem, _t24, cpu->r[4]); /* 0288D668 */ cpu->r[0] = cpu->r[5] + 0x0000002Cu; /* 0288D66C */ _t25 = cpu->r[5] + 0x00000004u; /* 0288D66C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 0288D670 */ cpu->r[5] = cpu->r[0]; /* 0288D674 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0288D674 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0288D674 */ _t27 = _t26 >> (0x00000002u & 31u); /* 0288D674 */ _t28 = _t27 & 0x00000001u; /* 0288D674 */ if (_t28) goto L_0288D664; else goto L_0288D678; L_0288D678: ; // 0x288d678 /* 0288D678 */ _t29 = cpu->r[5] + 0x00000004u; /* 0288D678 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]); /* 0288D67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D680 */ _t30 = cpu->r[5] + 0x00000000u; /* 0288D680 */ rbrew_write32(cpu->mem, _t30, cpu->r[4]); /* 0288D684 */ _t31 = cpu->r[27] + 0x00000000u; /* 0288D684 */ rbrew_write32(cpu->mem, _t31, cpu->r[31]); /* 0288D688 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D688 */ _t33 = _t32 & 0x00000001u; /* 0288D688 */ if (_t33) goto L_0288D60C; else goto L_0288D68C; L_0288D68C: ; // 0x288d68c /* 0288D68C */ goto L_0288D6BC; L_0288D690: ; // 0x288d690 /* 0288D690 */ cpu->r[3] = cpu->r[30]; /* 0288D694 */ Gambit_fn_0288D150(cpu); /* 0288D698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288D69C */ _t34 = cpu->r[27] + 0x00000000u; /* 0288D69C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 0288D6A0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D6A0 */ _t36 = _t35 & 0x00000001u; /* 0288D6A0 */ if (_t36) goto L_0288D6C8; else goto L_0288D6A4; L_0288D6A4: ; // 0x288d6a4 /* 0288D6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D6A8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D6A8 */ _t38 = _t37 & 0x00000001u; /* 0288D6A8 */ if (_t38) goto L_0288D60C; else goto L_0288D6AC; L_0288D6AC: ; // 0x288d6ac /* 0288D6AC */ _t39 = cpu->r[30] + 0x00000028u; /* 0288D6AC */ rbrew_write32(cpu->mem, _t39, cpu->r[28]); /* 0288D6B0 */ _t40 = cpu->r[27] + 0x00000000u; /* 0288D6B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40); /* 0288D6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D6B8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D6B8 */ _t42 = _t41 & 0x00000001u; /* 0288D6B8 */ if (_t42) goto L_0288D60C; else goto L_0288D6BC; L_0288D6BC: ; // 0x288d6bc /* 0288D6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D6C0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D6C0 */ _t44 = _t43 & 0x00000001u; /* 0288D6C0 */ if (_t44) goto L_0288D6C4; else goto L_0288D6F0; L_0288D6C4: ; // 0x288d6c4 /* 0288D6C4 */ goto L_0288D71C; L_0288D6C8: ; // 0x288d6c8 /* 0288D6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D6CC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D6CC */ _t46 = _t45 & 0x00000001u; /* 0288D6CC */ if (_t46) goto L_0288D6D0; else goto L_0288D6E8; L_0288D6D0: ; // 0x288d6d0 /* 0288D6D0 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 0288D6D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0288D6D4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D6D4 */ _t48 = _t47 & 0x00000001u; /* 0288D6D4 */ if (_t48) goto L_0288D6D8; else goto L_0288D5FC; L_0288D6D8: ; // 0x288d6d8 /* 0288D6D8 */ cpu->r[6] = 0x000000C9u; /* 0288D6DC */ cpu->r[31] = 0x00000000u; /* 0288D6E0 */ _t49 = cpu->r[30] + 0x00000028u; /* 0288D6E0 */ rbrew_write32(cpu->mem, _t49, cpu->r[6]); /* 0288D6E4 */ goto L_0288D71C; L_0288D6E8: ; // 0x288d6e8 /* 0288D6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D6EC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D6EC */ _t51 = _t50 & 0x00000001u; /* 0288D6EC */ if (_t51) goto L_0288D71C; else goto L_0288D6F0; L_0288D6F0: ; // 0x288d6f0 /* 0288D6F0 */ _t52 = cpu->r[31] + 0x00000000u; /* 0288D6F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52); /* 0288D6F4 */ _t53 = cpu->r[30] + 0x00000000u; /* 0288D6F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53); /* 0288D6F8 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0288D6FC */ _t54 = cpu->r[30] + 0x00000000u; /* 0288D6FC */ rbrew_write32(cpu->mem, _t54, cpu->r[8]); /* 0288D700 */ _t55 = cpu->r[31] + 0x00000004u; /* 0288D700 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55); /* 0288D704 */ cpu->r[5] = 0x0000002Cu; /* 0288D708 */ cpu->r[4] = 0x00000000u; /* 0288D70C */ cpu->r[3] = cpu->r[31]; /* 0288D710 */ _t56 = cpu->r[27] + 0x00000000u; /* 0288D710 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]); /* 0288D714 */ rbrew_dispatch(cpu, 0x02d0a6f0u); /* 0288D718 */ _t57 = cpu->r[31] + 0x00000000u; /* 0288D718 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]); L_0288D71C: ; // 0x288d71c /* 0288D71C */ cpu->r[3] = cpu->r[31]; /* 0288D720 */ /* nop */ /* 0288D724 */ _t58 = cpu->r[1] + 0x0000002Cu; /* 0288D724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58); /* 0288D728 */ cpu->lr = cpu->r[0]; /* 0288D72C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0288D730 */ return; } // fn_0288D734 @ 0x288d734 void Gambit_fn_0288D734(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288D734: ; // 0x288d734 /* 0288D734 */ _t0 = cpu->r[3] + 0x0000005Cu; /* 0288D734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0288D738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288D73C */ cpu->r[8] = cpu->r[12] + 0x00001014u; /* 0288D740 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D740 */ _t2 = _t1 & 0x00000001u; /* 0288D740 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0288D740 */ goto L_0288D744; L_0288D744: ; // 0x288d744 /* 0288D744 */ _t3 = cpu->r[4] + 0x00000000u; /* 0288D744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 0288D748 */ cpu->r[10] = 0x10130000u; /* 0288D74C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Cu); /* 0288D750 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0288D754 */ cpu->r[9] = cpu->r[4] + cpu->r[12]; /* 0288D758 */ _t4 = cpu->r[4] + 0x00000000u; /* 0288D758 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]); /* 0288D75C */ _t5 = cpu->r[9] + 0xFFFFFFFCu; /* 0288D75C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0288D760 */ cpu->r[7] = cpu->r[6] + 0xFFFFFFFCu; /* 0288D764 */ cpu->r[10] = cpu->r[10] + 0x000071F4u; /* 0288D768 */ cpu->r[12] = 0x00000000u; /* 0288D76C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0288D770 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 0288D774 */ _t6 = cpu->r[9] + 0xFFFFFFFCu; /* 0288D774 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 0288D778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000400u); /* 0288D77C */ _t7 = cpu->r[4] + 0x00000008u; /* 0288D77C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 0288D780 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D780 */ _t9 = _t8 & 0x00000001u; /* 0288D780 */ if (_t9) goto L_0288D784; else goto L_0288D7E8; L_0288D784: ; // 0x288d784 /* 0288D784 */ cpu->r[3] = cpu->r[8] + 0x00000090u; /* 0288D788 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288D78C */ _t10 = cpu->r[3] + cpu->r[11]; /* 0288D78C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0288D790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288D794 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D794 */ _t12 = _t11 & 0x00000001u; /* 0288D794 */ if (_t12) goto L_0288D798; else goto L_0288D7D0; L_0288D798: ; // 0x288d798 /* 0288D798 */ _t13 = cpu->r[3] + cpu->r[11]; /* 0288D798 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]); /* 0288D79C */ cpu->r[9] = cpu->r[8] + 0x00000008u; /* 0288D7A0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x00000003u, 0x0000001Du); /* 0288D7A4 */ _t14 = cpu->r[4] + 0x00000004u; /* 0288D7A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]); /* 0288D7A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000019u, 0x0000001Du); /* 0288D7AC */ _t15 = cpu->r[9] + cpu->r[7]; /* 0288D7AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 0288D7B0 */ _t16 = cpu->r[12] + cpu->r[10]; /* 0288D7B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0288D7B4 */ cpu->r[11] = cpu->r[11] | cpu->r[12]; /* 0288D7B8 */ _t17 = cpu->r[9] + cpu->r[7]; /* 0288D7B8 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]); /* 0288D7BC */ _t18 = cpu->r[8] + 0x00000088u; /* 0288D7BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 0288D7C0 */ _t19 = cpu->r[10] + cpu->r[7]; /* 0288D7C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 0288D7C4 */ cpu->r[11] = cpu->r[11] | cpu->r[12]; /* 0288D7C8 */ _t20 = cpu->r[8] + 0x00000088u; /* 0288D7C8 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); /* 0288D7CC */ return; L_0288D7D0: ; // 0x288d7d0 /* 0288D7D0 */ _t21 = cpu->r[12] + 0x00000004u; /* 0288D7D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 0288D7D4 */ _t22 = cpu->r[12] + 0x00000008u; /* 0288D7D4 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]); /* 0288D7D8 */ _t23 = cpu->r[4] + 0x00000004u; /* 0288D7D8 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]); /* 0288D7DC */ _t24 = cpu->r[3] + cpu->r[11]; /* 0288D7DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 0288D7E0 */ _t25 = cpu->r[12] + 0x00000004u; /* 0288D7E0 */ rbrew_write32(cpu->mem, _t25, cpu->r[4]); /* 0288D7E4 */ return; L_0288D7E8: ; // 0x288d7e8 /* 0288D7E8 */ cpu->r[12] = 0x10130000u; /* 0288D7EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288D7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288D7F0 */ cpu->r[3] = cpu->r[8] + 0x00001090u; /* 0288D7F4 */ cpu->r[12] = cpu->r[12] + 0x00007070u; /* 0288D7F8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D7F8 */ _t27 = _t26 & 0x00000001u; /* 0288D7F8 */ if (_t27) goto L_0288D830; else goto L_0288D7FC; L_0288D7FC: ; // 0x288d7fc /* 0288D7FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288D7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D800 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D800 */ _t29 = _t28 & 0x00000001u; /* 0288D800 */ if (_t29) goto L_0288D818; else goto L_0288D804; L_0288D804: ; // 0x288d804 /* 0288D804 */ _t30 = cpu->r[12] + cpu->r[11]; /* 0288D804 */ cpu->r[11] = rbrew_read8(cpu->mem, _t30); /* 0288D808 */ cpu->r[11] = 0x00000014u - cpu->r[11]; /* 0288D80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D810 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D810 */ _t32 = _t31 & 0x00000001u; /* 0288D810 */ if (_t32) goto L_0288D814; else goto L_0288D880; L_0288D814: ; // 0x288d814 /* 0288D814 */ goto L_0288D868; L_0288D818: ; // 0x288d818 /* 0288D818 */ _t33 = cpu->r[12] + cpu->r[9]; /* 0288D818 */ cpu->r[11] = rbrew_read8(cpu->mem, _t33); /* 0288D81C */ cpu->r[11] = cpu->r[11] + 0x00000008u; /* 0288D820 */ cpu->r[11] = 0x00000014u - cpu->r[11]; /* 0288D824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D828 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D828 */ _t35 = _t34 & 0x00000001u; /* 0288D828 */ if (_t35) goto L_0288D82C; else goto L_0288D880; L_0288D82C: ; // 0x288d82c /* 0288D82C */ goto L_0288D868; L_0288D830: ; // 0x288d830 /* 0288D830 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288D830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D834 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D834 */ _t37 = _t36 & 0x00000001u; /* 0288D834 */ if (_t37) goto L_0288D850; else goto L_0288D838; L_0288D838: ; // 0x288d838 /* 0288D838 */ _t38 = cpu->r[12] + cpu->r[11]; /* 0288D838 */ cpu->r[11] = rbrew_read8(cpu->mem, _t38); /* 0288D83C */ cpu->r[11] = cpu->r[11] + 0x00000010u; /* 0288D840 */ cpu->r[11] = 0x00000014u - cpu->r[11]; /* 0288D844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D848 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D848 */ _t40 = _t39 & 0x00000001u; /* 0288D848 */ if (_t40) goto L_0288D84C; else goto L_0288D880; L_0288D84C: ; // 0x288d84c /* 0288D84C */ goto L_0288D868; L_0288D850: ; // 0x288d850 /* 0288D850 */ cpu->r[11] = cpu->r[12] + cpu->r[6]; /* 0288D854 */ _t41 = cpu->r[11] + 0xFFFFFFFCu; /* 0288D854 */ cpu->r[11] = rbrew_read8(cpu->mem, _t41); /* 0288D858 */ cpu->r[11] = cpu->r[11] + 0x00000018u; /* 0288D85C */ cpu->r[11] = 0x00000014u - cpu->r[11]; /* 0288D860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D864 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D864 */ _t43 = _t42 & 0x00000001u; /* 0288D864 */ if (_t43) goto L_0288D868; else goto L_0288D880; L_0288D868: ; // 0x288d868 /* 0288D868 */ _t44 = cpu->r[3] + 0x00000000u; /* 0288D868 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44); /* 0288D86C */ cpu->r[5] = 0x00000000u; /* 0288D870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288D874 */ cpu->r[11] = cpu->r[5]; /* 0288D878 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D878 */ _t46 = _t45 & 0x00000001u; /* 0288D878 */ if (_t46) goto L_0288D87C; else goto L_0288D904; L_0288D87C: ; // 0x288d87c /* 0288D87C */ goto L_0288D8E4; L_0288D880: ; // 0x288d880 /* 0288D880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288D884 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D884 */ _t48 = _t47 & 0x00000001u; /* 0288D884 */ if (_t48) goto L_0288D8AC; else goto L_0288D888; L_0288D888: ; // 0x288d888 /* 0288D888 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288D888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D88C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D88C */ _t50 = _t49 & 0x00000001u; /* 0288D88C */ if (_t50) goto L_0288D89C; else goto L_0288D890; L_0288D890: ; // 0x288d890 /* 0288D890 */ _t51 = cpu->r[12] + cpu->r[11]; /* 0288D890 */ cpu->r[12] = rbrew_read8(cpu->mem, _t51); /* 0288D894 */ cpu->r[5] = 0x00000014u - cpu->r[12]; /* 0288D898 */ goto L_0288D8D4; L_0288D89C: ; // 0x288d89c /* 0288D89C */ _t52 = cpu->r[12] + cpu->r[9]; /* 0288D89C */ cpu->r[12] = rbrew_read8(cpu->mem, _t52); /* 0288D8A0 */ cpu->r[12] = cpu->r[12] + 0x00000008u; /* 0288D8A4 */ cpu->r[5] = 0x00000014u - cpu->r[12]; /* 0288D8A8 */ goto L_0288D8D4; L_0288D8AC: ; // 0x288d8ac /* 0288D8AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288D8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288D8B0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D8B0 */ _t54 = _t53 & 0x00000001u; /* 0288D8B0 */ if (_t54) goto L_0288D8C4; else goto L_0288D8B4; L_0288D8B4: ; // 0x288d8b4 /* 0288D8B4 */ _t55 = cpu->r[12] + cpu->r[11]; /* 0288D8B4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t55); /* 0288D8B8 */ cpu->r[12] = cpu->r[12] + 0x00000010u; /* 0288D8BC */ cpu->r[5] = 0x00000014u - cpu->r[12]; /* 0288D8C0 */ goto L_0288D8D4; L_0288D8C4: ; // 0x288d8c4 /* 0288D8C4 */ cpu->r[12] = cpu->r[12] + cpu->r[6]; /* 0288D8C8 */ _t56 = cpu->r[12] + 0xFFFFFFFCu; /* 0288D8C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t56); /* 0288D8CC */ cpu->r[12] = cpu->r[12] + 0x00000018u; /* 0288D8D0 */ cpu->r[5] = 0x00000014u - cpu->r[12]; L_0288D8D4: ; // 0x288d8d4 /* 0288D8D4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288D8D8 */ _t57 = cpu->r[3] + cpu->r[11]; /* 0288D8D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57); /* 0288D8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288D8E0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D8E0 */ _t59 = _t58 & 0x00000001u; /* 0288D8E0 */ if (_t59) goto L_0288D8E4; else goto L_0288D904; L_0288D8E4: ; // 0x288d8e4 /* 0288D8E4 */ _t60 = cpu->r[3] + cpu->r[11]; /* 0288D8E4 */ rbrew_write32(cpu->mem, _t60, cpu->r[4]); /* 0288D8E8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288D8EC */ _t61 = cpu->r[4] + 0x00000004u; /* 0288D8EC */ rbrew_write32(cpu->mem, _t61, cpu->r[4]); /* 0288D8F0 */ _t62 = cpu->r[8] + 0x0000008Cu; /* 0288D8F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); /* 0288D8F4 */ _t63 = cpu->r[11] + cpu->r[10]; /* 0288D8F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t63); /* 0288D8F8 */ cpu->r[12] = cpu->r[12] | cpu->r[11]; /* 0288D8FC */ _t64 = cpu->r[8] + 0x0000008Cu; /* 0288D8FC */ rbrew_write32(cpu->mem, _t64, cpu->r[12]); /* 0288D900 */ return; L_0288D904: ; // 0x288d904 /* 0288D904 */ _t65 = cpu->r[12] + 0x00000004u; /* 0288D904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65); /* 0288D908 */ _t66 = cpu->r[12] + 0x00000008u; /* 0288D908 */ rbrew_write32(cpu->mem, _t66, cpu->r[4]); /* 0288D90C */ _t67 = cpu->r[4] + 0x00000004u; /* 0288D90C */ rbrew_write32(cpu->mem, _t67, cpu->r[12]); /* 0288D910 */ _t68 = cpu->r[3] + cpu->r[11]; /* 0288D910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68); /* 0288D914 */ _t69 = cpu->r[12] + 0x00000004u; /* 0288D914 */ rbrew_write32(cpu->mem, _t69, cpu->r[4]); /* 0288D918 */ return; } // fn_0288D91C @ 0x288d91c void Gambit_fn_0288D91C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288D91C: ; // 0x288d91c /* 0288D91C */ cpu->r[0] = cpu->lr; /* 0288D920 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0288D920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288D920 */ cpu->r[1] = _t0; /* 0288D924 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288D924 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0288D928 */ _t2 = cpu->r[1] + 0x00000008u; /* 0288D928 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0288D92C */ _t3 = cpu->r[1] + 0x00000010u; /* 0288D92C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0288D930 */ _t4 = cpu->r[1] + 0x00000014u; /* 0288D930 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0288D934 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0288D934 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0288D938 */ cpu->r[29] = cpu->r[3]; /* 0288D93C */ cpu->r[30] = cpu->r[4]; /* 0288D940 */ _t6 = cpu->r[29] + 0x0000005Cu; /* 0288D940 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0288D944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000018u); /* 0288D948 */ cpu->r[31] = cpu->r[5]; /* 0288D94C */ cpu->r[28] = cpu->r[8] + 0x00001014u; /* 0288D950 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D950 */ _t8 = _t7 & 0x00000001u; /* 0288D950 */ if (_t8) goto L_0288DA38; else goto L_0288D954; L_0288D954: ; // 0x288d954 /* 0288D954 */ cpu->r[5] = 0x000010F0u; /* 0288D958 */ cpu->r[4] = 0x00000000u; /* 0288D95C */ cpu->r[3] = cpu->r[28]; /* 0288D960 */ rbrew_dispatch(cpu, 0x02d0a6f0u); /* 0288D964 */ cpu->r[9] = cpu->r[30] + 0x00000007u; /* 0288D968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D96C */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0288D970 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D970 */ _t10 = _t9 & 0x00000001u; /* 0288D970 */ if (_t10) goto L_0288D974; else goto L_0288DA10; L_0288D974: ; // 0x288d974 /* 0288D974 */ cpu->r[30] = cpu->r[5]; /* 0288D978 */ cpu->r[3] = cpu->r[30]; /* 0288D97C */ Gambit_fn_02878E8C(cpu); /* 0288D980 */ _t11 = cpu->r[29] + 0x0000005Cu; /* 0288D980 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0288D984 */ cpu->r[0] = 0x00000001u; /* 0288D988 */ cpu->r[31] = cpu->r[3]; /* 0288D988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D98C */ _t12 = cpu->r[10] + 0x00002104u; /* 0288D98C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]); /* 0288D990 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D990 */ _t14 = _t13 & 0x00000001u; /* 0288D990 */ if (_t14) goto L_0288DA38; else goto L_0288D994; L_0288D994: ; // 0x288d994 /* 0288D994 */ _t15 = cpu->r[28] + 0x00000000u; /* 0288D994 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); /* 0288D998 */ cpu->r[11] = 0x00000003u; /* 0288D99C */ _t16 = cpu->r[28] + 0x00000004u; /* 0288D99C */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); /* 0288D9A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000001Du); /* 0288D9A4 */ _t17 = cpu->r[31] + 0x00000004u; /* 0288D9A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]); /* 0288D9A8 */ cpu->r[7] = cpu->r[31] + cpu->r[0]; /* 0288D9AC */ _t18 = cpu->r[31] + 0x00000000u; /* 0288D9AC */ rbrew_write32(cpu->mem, _t18, cpu->r[11]); /* 0288D9B0 */ _t19 = cpu->r[28] + 0x000010E8u; /* 0288D9B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]); /* 0288D9B4 */ _t20 = cpu->r[7] + 0xFFFFFFF8u; /* 0288D9B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); /* 0288D9B8 */ cpu->r[0] = cpu->r[7] + 0xFFFFFFF8u; /* 0288D9BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 0288D9C0 */ _t21 = cpu->r[7] + 0xFFFFFFFCu; /* 0288D9C0 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]); /* 0288D9C4 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFCu; /* 0288D9C8 */ _t22 = cpu->r[28] + 0x000010ECu; /* 0288D9C8 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 0288D9CC */ cpu->r[0] = 0x00000000u; /* 0288D9D0 */ _t23 = cpu->r[7] + 0xFFFFFFF4u; /* 0288D9D0 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]); /* 0288D9D4 */ _t24 = cpu->r[31] + 0x00000010u; /* 0288D9D4 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 0288D9D8 */ cpu->r[4] = cpu->r[31] + 0x00000008u; /* 0288D9DC */ _t25 = cpu->r[31] + 0x0000000Cu; /* 0288D9DC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 0288D9E0 */ cpu->r[3] = cpu->r[29]; /* 0288D9E4 */ _t26 = cpu->r[31] + 0x00000008u; /* 0288D9E4 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 0288D9E8 */ Gambit_fn_0288D734(cpu); /* 0288D9EC */ _t27 = cpu->r[1] + 0x00000008u; /* 0288D9EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t27); /* 0288D9F0 */ _t28 = cpu->r[1] + 0x0000000Cu; /* 0288D9F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28); /* 0288D9F4 */ cpu->r[3] = cpu->r[0]; /* 0288D9F8 */ _t29 = cpu->r[1] + 0x0000001Cu; /* 0288D9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 0288D9FC */ _t30 = cpu->r[1] + 0x00000014u; /* 0288D9FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 0288DA00 */ cpu->lr = cpu->r[0]; /* 0288DA04 */ _t31 = cpu->r[1] + 0x00000010u; /* 0288DA04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31); /* 0288DA08 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0288DA0C */ return; L_0288DA10: ; // 0x288da10 /* 0288DA10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]); /* 0288DA14 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288DA14 */ _t33 = _t32 & 0x00000001u; /* 0288DA14 */ if (_t33) goto L_0288DA18; else goto L_0288DA20; L_0288DA18: ; // 0x288da18 /* 0288DA18 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; /* 0288DA1C */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000000u, 0x0000001Cu); L_0288DA20: ; // 0x288da20 /* 0288DA20 */ _t34 = cpu->r[29] + 0x0000005Cu; /* 0288DA20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 0288DA24 */ cpu->r[0] = 0x00000000u; /* 0288DA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288DA2C */ cpu->r[30] = cpu->r[5]; /* 0288DA30 */ _t35 = cpu->r[10] + 0x00002104u; /* 0288DA30 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]); /* 0288DA34 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DA34 */ _t37 = _t36 & 0x00000001u; /* 0288DA34 */ if (_t37) goto L_0288DA38; else goto L_0288D994; L_0288DA38: ; // 0x288da38 /* 0288DA38 */ _t38 = cpu->r[1] + 0x00000008u; /* 0288DA38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38); /* 0288DA3C */ _t39 = cpu->r[1] + 0x0000000Cu; /* 0288DA3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t39); /* 0288DA40 */ _t40 = cpu->r[1] + 0x0000001Cu; /* 0288DA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0288DA44 */ _t41 = cpu->r[1] + 0x00000010u; /* 0288DA44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41); /* 0288DA48 */ cpu->lr = cpu->r[0]; /* 0288DA4C */ _t42 = cpu->r[1] + 0x00000014u; /* 0288DA4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42); /* 0288DA50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0288DA54 */ cpu->r[3] = 0x000000C9u; /* 0288DA58 */ return; } // fn_0288D920 @ 0x288d920 void Gambit_fn_0288D920(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288D920: ; // 0x288d920 /* 0288D920 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0288D920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288D920 */ cpu->r[1] = _t0; /* 0288D924 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288D924 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0288D928 */ _t2 = cpu->r[1] + 0x00000008u; /* 0288D928 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0288D92C */ _t3 = cpu->r[1] + 0x00000010u; /* 0288D92C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0288D930 */ _t4 = cpu->r[1] + 0x00000014u; /* 0288D930 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0288D934 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0288D934 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0288D938 */ cpu->r[29] = cpu->r[3]; /* 0288D93C */ cpu->r[30] = cpu->r[4]; /* 0288D940 */ _t6 = cpu->r[29] + 0x0000005Cu; /* 0288D940 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0288D944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000018u); /* 0288D948 */ cpu->r[31] = cpu->r[5]; /* 0288D94C */ cpu->r[28] = cpu->r[8] + 0x00001014u; /* 0288D950 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288D950 */ _t8 = _t7 & 0x00000001u; /* 0288D950 */ if (_t8) goto L_0288DA38; else goto L_0288D954; L_0288D954: ; // 0x288d954 /* 0288D954 */ cpu->r[5] = 0x000010F0u; /* 0288D958 */ cpu->r[4] = 0x00000000u; /* 0288D95C */ cpu->r[3] = cpu->r[28]; /* 0288D960 */ rbrew_dispatch(cpu, 0x02d0a6f0u); /* 0288D964 */ cpu->r[9] = cpu->r[30] + 0x00000007u; /* 0288D968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D96C */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0288D970 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D970 */ _t10 = _t9 & 0x00000001u; /* 0288D970 */ if (_t10) goto L_0288D974; else goto L_0288DA10; L_0288D974: ; // 0x288d974 /* 0288D974 */ cpu->r[30] = cpu->r[5]; /* 0288D978 */ cpu->r[3] = cpu->r[30]; /* 0288D97C */ Gambit_fn_02878E8C(cpu); /* 0288D980 */ _t11 = cpu->r[29] + 0x0000005Cu; /* 0288D980 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0288D984 */ cpu->r[0] = 0x00000001u; /* 0288D988 */ cpu->r[31] = cpu->r[3]; /* 0288D988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288D98C */ _t12 = cpu->r[10] + 0x00002104u; /* 0288D98C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]); /* 0288D990 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288D990 */ _t14 = _t13 & 0x00000001u; /* 0288D990 */ if (_t14) goto L_0288DA38; else goto L_0288D994; L_0288D994: ; // 0x288d994 /* 0288D994 */ _t15 = cpu->r[28] + 0x00000000u; /* 0288D994 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); /* 0288D998 */ cpu->r[11] = 0x00000003u; /* 0288D99C */ _t16 = cpu->r[28] + 0x00000004u; /* 0288D99C */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); /* 0288D9A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000001Du); /* 0288D9A4 */ _t17 = cpu->r[31] + 0x00000004u; /* 0288D9A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]); /* 0288D9A8 */ cpu->r[7] = cpu->r[31] + cpu->r[0]; /* 0288D9AC */ _t18 = cpu->r[31] + 0x00000000u; /* 0288D9AC */ rbrew_write32(cpu->mem, _t18, cpu->r[11]); /* 0288D9B0 */ _t19 = cpu->r[28] + 0x000010E8u; /* 0288D9B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]); /* 0288D9B4 */ _t20 = cpu->r[7] + 0xFFFFFFF8u; /* 0288D9B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); /* 0288D9B8 */ cpu->r[0] = cpu->r[7] + 0xFFFFFFF8u; /* 0288D9BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 0288D9C0 */ _t21 = cpu->r[7] + 0xFFFFFFFCu; /* 0288D9C0 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]); /* 0288D9C4 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFCu; /* 0288D9C8 */ _t22 = cpu->r[28] + 0x000010ECu; /* 0288D9C8 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 0288D9CC */ cpu->r[0] = 0x00000000u; /* 0288D9D0 */ _t23 = cpu->r[7] + 0xFFFFFFF4u; /* 0288D9D0 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]); /* 0288D9D4 */ _t24 = cpu->r[31] + 0x00000010u; /* 0288D9D4 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 0288D9D8 */ cpu->r[4] = cpu->r[31] + 0x00000008u; /* 0288D9DC */ _t25 = cpu->r[31] + 0x0000000Cu; /* 0288D9DC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 0288D9E0 */ cpu->r[3] = cpu->r[29]; /* 0288D9E4 */ _t26 = cpu->r[31] + 0x00000008u; /* 0288D9E4 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 0288D9E8 */ Gambit_fn_0288D734(cpu); /* 0288D9EC */ _t27 = cpu->r[1] + 0x00000008u; /* 0288D9EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t27); /* 0288D9F0 */ _t28 = cpu->r[1] + 0x0000000Cu; /* 0288D9F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28); /* 0288D9F4 */ cpu->r[3] = cpu->r[0]; /* 0288D9F8 */ _t29 = cpu->r[1] + 0x0000001Cu; /* 0288D9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 0288D9FC */ _t30 = cpu->r[1] + 0x00000014u; /* 0288D9FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 0288DA00 */ cpu->lr = cpu->r[0]; /* 0288DA04 */ _t31 = cpu->r[1] + 0x00000010u; /* 0288DA04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31); /* 0288DA08 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0288DA0C */ return; L_0288DA10: ; // 0x288da10 /* 0288DA10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]); /* 0288DA14 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288DA14 */ _t33 = _t32 & 0x00000001u; /* 0288DA14 */ if (_t33) goto L_0288DA18; else goto L_0288DA20; L_0288DA18: ; // 0x288da18 /* 0288DA18 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; /* 0288DA1C */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000000u, 0x0000001Cu); L_0288DA20: ; // 0x288da20 /* 0288DA20 */ _t34 = cpu->r[29] + 0x0000005Cu; /* 0288DA20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 0288DA24 */ cpu->r[0] = 0x00000000u; /* 0288DA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288DA2C */ cpu->r[30] = cpu->r[5]; /* 0288DA30 */ _t35 = cpu->r[10] + 0x00002104u; /* 0288DA30 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]); /* 0288DA34 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DA34 */ _t37 = _t36 & 0x00000001u; /* 0288DA34 */ if (_t37) goto L_0288DA38; else goto L_0288D994; L_0288DA38: ; // 0x288da38 /* 0288DA38 */ _t38 = cpu->r[1] + 0x00000008u; /* 0288DA38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38); /* 0288DA3C */ _t39 = cpu->r[1] + 0x0000000Cu; /* 0288DA3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t39); /* 0288DA40 */ _t40 = cpu->r[1] + 0x0000001Cu; /* 0288DA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0288DA44 */ _t41 = cpu->r[1] + 0x00000010u; /* 0288DA44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41); /* 0288DA48 */ cpu->lr = cpu->r[0]; /* 0288DA4C */ _t42 = cpu->r[1] + 0x00000014u; /* 0288DA4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42); /* 0288DA50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0288DA54 */ cpu->r[3] = 0x000000C9u; /* 0288DA58 */ return; } // fn_0288DA5C @ 0x288da5c void Gambit_fn_0288DA5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0288DA5C: ; // 0x288da5c /* 0288DA5C */ cpu->r[0] = cpu->lr; /* 0288DA60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0288DA60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288DA60 */ cpu->r[1] = _t0; /* 0288DA64 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288DA64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0288DA68 */ _t2 = cpu->r[1] + 0x00000014u; /* 0288DA68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0288DA6C */ _t3 = cpu->r[3] + 0x0000005Cu; /* 0288DA6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0288DA70 */ _t4 = cpu->r[12] + 0x00002104u; /* 0288DA70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 0288DA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 0288DA78 */ cpu->r[31] = cpu->r[12] + 0x00001014u; /* 0288DA7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DA7C */ _t6 = _t5 & 0x00000001u; /* 0288DA7C */ if (_t6) goto L_0288DA80; else goto L_0288DA88; L_0288DA80: ; // 0x288da80 /* 0288DA80 */ _t7 = cpu->r[31] + 0x00000000u; /* 0288DA80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0288DA84 */ Gambit_fn_02878E9C(cpu); L_0288DA88: ; // 0x288da88 /* 0288DA88 */ cpu->r[5] = 0x000010F0u; /* 0288DA8C */ cpu->r[4] = 0x00000000u; /* 0288DA90 */ cpu->r[3] = cpu->r[31]; /* 0288DA94 */ rbrew_dispatch(cpu, 0x02d0a6f0u); /* 0288DA98 */ _t8 = cpu->r[1] + 0x00000014u; /* 0288DA98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0288DA9C */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0288DA9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 0288DAA0 */ cpu->lr = cpu->r[0]; /* 0288DAA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0288DAA8 */ return; } // fn_0288DA60 @ 0x288da60 void Gambit_fn_0288DA60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0288DA60: ; // 0x288da60 /* 0288DA60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0288DA60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288DA60 */ cpu->r[1] = _t0; /* 0288DA64 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288DA64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0288DA68 */ _t2 = cpu->r[1] + 0x00000014u; /* 0288DA68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0288DA6C */ _t3 = cpu->r[3] + 0x0000005Cu; /* 0288DA6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0288DA70 */ _t4 = cpu->r[12] + 0x00002104u; /* 0288DA70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 0288DA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 0288DA78 */ cpu->r[31] = cpu->r[12] + 0x00001014u; /* 0288DA7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DA7C */ _t6 = _t5 & 0x00000001u; /* 0288DA7C */ if (_t6) goto L_0288DA80; else goto L_0288DA88; L_0288DA80: ; // 0x288da80 /* 0288DA80 */ _t7 = cpu->r[31] + 0x00000000u; /* 0288DA80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0288DA84 */ Gambit_fn_02878E9C(cpu); L_0288DA88: ; // 0x288da88 /* 0288DA88 */ cpu->r[5] = 0x000010F0u; /* 0288DA8C */ cpu->r[4] = 0x00000000u; /* 0288DA90 */ cpu->r[3] = cpu->r[31]; /* 0288DA94 */ rbrew_dispatch(cpu, 0x02d0a6f0u); /* 0288DA98 */ _t8 = cpu->r[1] + 0x00000014u; /* 0288DA98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0288DA9C */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0288DA9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 0288DAA0 */ cpu->lr = cpu->r[0]; /* 0288DAA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0288DAA8 */ return; } // fn_0288DAAC @ 0x288daac void Gambit_fn_0288DAAC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288DAAC: ; // 0x288daac /* 0288DAAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0288DAAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288DAAC */ cpu->r[1] = _t0; /* 0288DAB0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288DAB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0288DAB4 */ _t2 = cpu->r[4] + 0x00000000u; /* 0288DAB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0288DAB8 */ cpu->r[11] = cpu->r[3]; /* 0288DABC */ cpu->r[8] = cpu->r[6] + 0xFFFFFFFCu; /* 0288DAC0 */ _t3 = cpu->r[11] + 0x0000005Cu; /* 0288DAC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0288DAC4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 0288DAC8 */ cpu->r[9] = 0x00000000u; /* 0288DACC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000400u); /* 0288DAD0 */ cpu->r[5] = cpu->r[12] + 0x00001014u; /* 0288DAD4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DAD4 */ _t5 = _t4 & 0x00000001u; /* 0288DAD4 */ if (_t5) goto L_0288DAD8; else goto L_0288DAF4; L_0288DAD8: ; // 0x288dad8 /* 0288DAD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DADC */ cpu->r[31] = cpu->r[5] + 0x00000090u; /* 0288DAE0 */ _t6 = cpu->r[31] + cpu->r[10]; /* 0288DAE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0288DAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288DAE8 */ cpu->r[8] = 0x00000001u; /* 0288DAEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DAEC */ _t8 = _t7 & 0x00000001u; /* 0288DAEC */ if (_t8) goto L_0288DAF0; else goto L_0288DC00; L_0288DAF0: ; // 0x288daf0 /* 0288DAF0 */ goto L_0288DBEC; L_0288DAF4: ; // 0x288daf4 /* 0288DAF4 */ cpu->r[12] = 0x10130000u; /* 0288DAF8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288DAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288DAFC */ cpu->r[12] = cpu->r[12] + 0x00007070u; /* 0288DB00 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DB00 */ _t10 = _t9 & 0x00000001u; /* 0288DB00 */ if (_t10) goto L_0288DB38; else goto L_0288DB04; L_0288DB04: ; // 0x288db04 /* 0288DB04 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288DB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288DB08 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DB08 */ _t12 = _t11 & 0x00000001u; /* 0288DB08 */ if (_t12) goto L_0288DB20; else goto L_0288DB0C; L_0288DB0C: ; // 0x288db0c /* 0288DB0C */ _t13 = cpu->r[12] + cpu->r[10]; /* 0288DB0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t13); /* 0288DB10 */ cpu->r[10] = 0x00000014u - cpu->r[10]; /* 0288DB14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288DB18 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DB18 */ _t15 = _t14 & 0x00000001u; /* 0288DB18 */ if (_t15) goto L_0288DB1C; else goto L_0288DB80; L_0288DB1C: ; // 0x288db1c /* 0288DB1C */ goto L_0288DB70; L_0288DB20: ; // 0x288db20 /* 0288DB20 */ _t16 = cpu->r[12] + cpu->r[7]; /* 0288DB20 */ cpu->r[10] = rbrew_read8(cpu->mem, _t16); /* 0288DB24 */ cpu->r[10] = cpu->r[10] + 0x00000008u; /* 0288DB28 */ cpu->r[10] = 0x00000014u - cpu->r[10]; /* 0288DB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288DB30 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DB30 */ _t18 = _t17 & 0x00000001u; /* 0288DB30 */ if (_t18) goto L_0288DB34; else goto L_0288DB80; L_0288DB34: ; // 0x288db34 /* 0288DB34 */ goto L_0288DB70; L_0288DB38: ; // 0x288db38 /* 0288DB38 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288DB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288DB3C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DB3C */ _t20 = _t19 & 0x00000001u; /* 0288DB3C */ if (_t20) goto L_0288DB58; else goto L_0288DB40; L_0288DB40: ; // 0x288db40 /* 0288DB40 */ _t21 = cpu->r[12] + cpu->r[10]; /* 0288DB40 */ cpu->r[10] = rbrew_read8(cpu->mem, _t21); /* 0288DB44 */ cpu->r[10] = cpu->r[10] + 0x00000010u; /* 0288DB48 */ cpu->r[10] = 0x00000014u - cpu->r[10]; /* 0288DB4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288DB50 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DB50 */ _t23 = _t22 & 0x00000001u; /* 0288DB50 */ if (_t23) goto L_0288DB54; else goto L_0288DB80; L_0288DB54: ; // 0x288db54 /* 0288DB54 */ goto L_0288DB70; L_0288DB58: ; // 0x288db58 /* 0288DB58 */ cpu->r[10] = cpu->r[12] + cpu->r[6]; /* 0288DB5C */ _t24 = cpu->r[10] + 0xFFFFFFFCu; /* 0288DB5C */ cpu->r[10] = rbrew_read8(cpu->mem, _t24); /* 0288DB60 */ cpu->r[10] = cpu->r[10] + 0x00000018u; /* 0288DB64 */ cpu->r[10] = 0x00000014u - cpu->r[10]; /* 0288DB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288DB6C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DB6C */ _t26 = _t25 & 0x00000001u; /* 0288DB6C */ if (_t26) goto L_0288DB70; else goto L_0288DB80; L_0288DB70: ; // 0x288db70 /* 0288DB70 */ cpu->r[7] = 0x00000000u; /* 0288DB74 */ cpu->r[31] = cpu->r[5] + 0x00001090u; /* 0288DB78 */ cpu->r[8] = cpu->r[7]; /* 0288DB7C */ goto L_0288DBDC; L_0288DB80: ; // 0x288db80 /* 0288DB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288DB84 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DB84 */ _t28 = _t27 & 0x00000001u; /* 0288DB84 */ if (_t28) goto L_0288DBAC; else goto L_0288DB88; L_0288DB88: ; // 0x288db88 /* 0288DB88 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288DB88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288DB8C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DB8C */ _t30 = _t29 & 0x00000001u; /* 0288DB8C */ if (_t30) goto L_0288DB9C; else goto L_0288DB90; L_0288DB90: ; // 0x288db90 /* 0288DB90 */ _t31 = cpu->r[12] + cpu->r[10]; /* 0288DB90 */ cpu->r[12] = rbrew_read8(cpu->mem, _t31); /* 0288DB94 */ cpu->r[7] = 0x00000014u - cpu->r[12]; /* 0288DB98 */ goto L_0288DBD4; L_0288DB9C: ; // 0x288db9c /* 0288DB9C */ _t32 = cpu->r[12] + cpu->r[7]; /* 0288DB9C */ cpu->r[12] = rbrew_read8(cpu->mem, _t32); /* 0288DBA0 */ cpu->r[12] = cpu->r[12] + 0x00000008u; /* 0288DBA4 */ cpu->r[7] = 0x00000014u - cpu->r[12]; /* 0288DBA8 */ goto L_0288DBD4; L_0288DBAC: ; // 0x288dbac /* 0288DBAC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288DBAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288DBB0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DBB0 */ _t34 = _t33 & 0x00000001u; /* 0288DBB0 */ if (_t34) goto L_0288DBC4; else goto L_0288DBB4; L_0288DBB4: ; // 0x288dbb4 /* 0288DBB4 */ _t35 = cpu->r[12] + cpu->r[10]; /* 0288DBB4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t35); /* 0288DBB8 */ cpu->r[12] = cpu->r[12] + 0x00000010u; /* 0288DBBC */ cpu->r[7] = 0x00000014u - cpu->r[12]; /* 0288DBC0 */ goto L_0288DBD4; L_0288DBC4: ; // 0x288dbc4 /* 0288DBC4 */ cpu->r[12] = cpu->r[12] + cpu->r[6]; /* 0288DBC8 */ _t36 = cpu->r[12] + 0xFFFFFFFCu; /* 0288DBC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t36); /* 0288DBCC */ cpu->r[12] = cpu->r[12] + 0x00000018u; /* 0288DBD0 */ cpu->r[7] = 0x00000014u - cpu->r[12]; L_0288DBD4: ; // 0x288dbd4 /* 0288DBD4 */ cpu->r[8] = 0x00000000u; /* 0288DBD8 */ cpu->r[31] = cpu->r[5] + 0x00001090u; L_0288DBDC: ; // 0x288dbdc /* 0288DBDC */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DBE0 */ _t37 = cpu->r[31] + cpu->r[10]; /* 0288DBE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37); /* 0288DBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288DBE8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DBE8 */ _t39 = _t38 & 0x00000001u; /* 0288DBE8 */ if (_t39) goto L_0288DBEC; else goto L_0288DC00; L_0288DBEC: ; // 0x288dbec /* 0288DBEC */ cpu->r[3] = 0x000000D6u; /* 0288DBF0 */ _t40 = cpu->r[11] + 0x00000028u; /* 0288DBF0 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]); /* 0288DBF4 */ _t41 = cpu->r[1] + 0x0000000Cu; /* 0288DBF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41); /* 0288DBF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0288DBFC */ return; L_0288DC00: ; // 0x288dc00 /* 0288DC00 */ _t42 = cpu->r[3] + 0x00000008u; /* 0288DC00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42); /* 0288DC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288DC08 */ _t43 = cpu->r[3] + 0x00000004u; /* 0288DC08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43); /* 0288DC0C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DC0C */ _t45 = _t44 & 0x00000001u; /* 0288DC0C */ if (_t45) goto L_0288DC10; else goto L_0288DC80; L_0288DC10: ; // 0x288dc10 /* 0288DC10 */ cpu->r[12] = 0x10130000u; /* 0288DC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288DC18 */ _t46 = cpu->r[31] + cpu->r[10]; /* 0288DC18 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]); /* 0288DC1C */ cpu->r[12] = cpu->r[12] + 0x000071F4u; /* 0288DC20 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DC20 */ _t48 = _t47 & 0x00000001u; /* 0288DC20 */ if (_t48) goto L_0288DC60; else goto L_0288DC24; L_0288DC24: ; // 0x288dc24 /* 0288DC24 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000019u, 0x0000001Du); /* 0288DC28 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x0000001Du, 0x00000003u, 0x0000001Du); /* 0288DC2C */ cpu->r[8] = cpu->r[5] + 0x00000008u; /* 0288DC30 */ _t49 = cpu->r[10] + cpu->r[12]; /* 0288DC30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49); /* 0288DC34 */ _t50 = cpu->r[8] + cpu->r[6]; /* 0288DC34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50); /* 0288DC38 */ _t51 = ~cpu->r[10]; /* 0288DC38 */ cpu->r[7] = cpu->r[7] & _t51; /* 0288DC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288DC3C */ _t52 = cpu->r[8] + cpu->r[6]; /* 0288DC3C */ rbrew_write32(cpu->mem, _t52, cpu->r[7]); /* 0288DC40 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DC40 */ _t54 = _t53 & 0x00000001u; /* 0288DC40 */ if (_t54) goto L_0288DC44; else goto L_0288DCD8; L_0288DC44: ; // 0x288dc44 /* 0288DC44 */ _t55 = cpu->r[5] + 0x00000088u; /* 0288DC44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55); /* 0288DC48 */ _t56 = cpu->r[12] + cpu->r[6]; /* 0288DC48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56); /* 0288DC4C */ _t57 = ~cpu->r[12]; /* 0288DC4C */ cpu->r[10] = cpu->r[10] & _t57; /* 0288DC50 */ _t58 = cpu->r[5] + 0x00000088u; /* 0288DC50 */ rbrew_write32(cpu->mem, _t58, cpu->r[10]); /* 0288DC54 */ cpu->r[3] = 0x00000000u; /* 0288DC58 */ _t59 = cpu->r[11] + 0x00000028u; /* 0288DC58 */ rbrew_write32(cpu->mem, _t59, cpu->r[9]); /* 0288DC5C */ goto L_0288DCE0; L_0288DC60: ; // 0x288dc60 /* 0288DC60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DC64 */ _t60 = cpu->r[5] + 0x0000008Cu; /* 0288DC64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60); /* 0288DC68 */ _t61 = cpu->r[10] + cpu->r[12]; /* 0288DC68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t61); /* 0288DC6C */ _t62 = ~cpu->r[12]; /* 0288DC6C */ cpu->r[8] = cpu->r[8] & _t62; /* 0288DC70 */ _t63 = cpu->r[5] + 0x0000008Cu; /* 0288DC70 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]); /* 0288DC74 */ cpu->r[3] = 0x00000000u; /* 0288DC78 */ _t64 = cpu->r[11] + 0x00000028u; /* 0288DC78 */ rbrew_write32(cpu->mem, _t64, cpu->r[9]); /* 0288DC7C */ goto L_0288DCE0; L_0288DC80: ; // 0x288dc80 /* 0288DC80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[3]); /* 0288DC84 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DC84 */ _t66 = _t65 & 0x00000001u; /* 0288DC84 */ if (_t66) goto L_0288DC88; else goto L_0288DC9C; L_0288DC88: ; // 0x288dc88 /* 0288DC88 */ _t67 = cpu->r[31] + cpu->r[10]; /* 0288DC88 */ rbrew_write32(cpu->mem, _t67, cpu->r[12]); /* 0288DC8C */ _t68 = cpu->r[12] + 0x00000004u; /* 0288DC8C */ rbrew_write32(cpu->mem, _t68, cpu->r[6]); /* 0288DC90 */ cpu->r[3] = 0x00000000u; /* 0288DC94 */ _t69 = cpu->r[11] + 0x00000028u; /* 0288DC94 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]); /* 0288DC98 */ goto L_0288DCE0; L_0288DC9C: ; // 0x288dc9c /* 0288DC9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]); /* 0288DCA0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DCA0 */ _t71 = _t70 & 0x00000001u; /* 0288DCA0 */ if (_t71) goto L_0288DCA4; else goto L_0288DCC0; L_0288DCA4: ; // 0x288dca4 /* 0288DCA4 */ _t72 = cpu->r[6] + 0x00000004u; /* 0288DCA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72); /* 0288DCA8 */ _t73 = cpu->r[3] + 0x00000004u; /* 0288DCA8 */ rbrew_write32(cpu->mem, _t73, cpu->r[12]); /* 0288DCAC */ _t74 = cpu->r[6] + 0x00000004u; /* 0288DCAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t74); /* 0288DCB0 */ _t75 = cpu->r[12] + 0x00000008u; /* 0288DCB0 */ rbrew_write32(cpu->mem, _t75, cpu->r[9]); /* 0288DCB4 */ cpu->r[3] = 0x00000000u; /* 0288DCB8 */ _t76 = cpu->r[11] + 0x00000028u; /* 0288DCB8 */ rbrew_write32(cpu->mem, _t76, cpu->r[9]); /* 0288DCBC */ goto L_0288DCE0; L_0288DCC0: ; // 0x288dcc0 /* 0288DCC0 */ _t77 = cpu->r[4] + 0x00000004u; /* 0288DCC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t77); /* 0288DCC4 */ _t78 = cpu->r[4] + 0x00000008u; /* 0288DCC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78); /* 0288DCC8 */ _t79 = cpu->r[10] + 0x00000008u; /* 0288DCC8 */ rbrew_write32(cpu->mem, _t79, cpu->r[12]); /* 0288DCCC */ _t80 = cpu->r[4] + 0x00000008u; /* 0288DCCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t80); /* 0288DCD0 */ _t81 = cpu->r[4] + 0x00000004u; /* 0288DCD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81); /* 0288DCD4 */ _t82 = cpu->r[10] + 0x00000004u; /* 0288DCD4 */ rbrew_write32(cpu->mem, _t82, cpu->r[12]); L_0288DCD8: ; // 0x288dcd8 /* 0288DCD8 */ cpu->r[3] = 0x00000000u; /* 0288DCDC */ _t83 = cpu->r[11] + 0x00000028u; /* 0288DCDC */ rbrew_write32(cpu->mem, _t83, cpu->r[9]); L_0288DCE0: ; // 0x288dce0 /* 0288DCE0 */ _t84 = cpu->r[1] + 0x0000000Cu; /* 0288DCE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84); /* 0288DCE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0288DCE8 */ return; } // fn_0288DCEC @ 0x288dcec void Gambit_fn_0288DCEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288DCEC: ; // 0x288dcec /* 0288DCEC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0288DCEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288DCEC */ cpu->r[1] = _t0; /* 0288DCF0 */ /* nop */ /* 0288DCF4 */ cpu->r[0] = cpu->lr; /* 0288DCF8 */ _t1 = cpu->r[1] + 0x00000024u; /* 0288DCF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288DCFC */ cpu->r[30] = cpu->r[3]; /* 0288DD00 */ cpu->r[31] = cpu->r[4]; /* 0288DD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288DD04 */ _t2 = cpu->r[30] + 0x00000028u; /* 0288DD04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2); /* 0288DD08 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DD08 */ _t4 = _t3 & 0x00000001u; /* 0288DD08 */ if (_t4) goto L_0288DD10; else goto L_0288DD0C; L_0288DD0C: ; // 0x288dd0c /* 0288DD0C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFCu; L_0288DD10: ; // 0x288dd10 /* 0288DD10 */ _t5 = cpu->r[31] + 0x00000000u; /* 0288DD10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0288DD14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0288DD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288DD18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DD18 */ _t7 = _t6 & 0x00000001u; /* 0288DD18 */ if (_t7) goto L_0288DD1C; else goto L_0288DD34; L_0288DD1C: ; // 0x288dd1c /* 0288DD1C */ /* nop */ /* 0288DD20 */ _t8 = cpu->r[1] + 0x00000024u; /* 0288DD20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0288DD24 */ cpu->lr = cpu->r[0]; /* 0288DD28 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0288DD2C */ cpu->r[3] = 0x00000000u; /* 0288DD30 */ return; L_0288DD34: ; // 0x288dd34 /* 0288DD34 */ _t9 = cpu->r[31] + 0xFFFFFFFCu; /* 0288DD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0288DD38 */ cpu->r[28] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0288DD3C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0288DD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288DD40 */ cpu->r[27] = cpu->r[28]; /* 0288DD44 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DD44 */ _t11 = _t10 & 0x00000001u; /* 0288DD44 */ if (_t11) goto L_0288DD5C; else goto L_0288DD48; L_0288DD48: ; // 0x288dd48 /* 0288DD48 */ cpu->r[11] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DD4C */ _t12 = cpu->r[31] + cpu->r[11]; /* 0288DD4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0288DD50 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0288DD50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288DD54 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DD54 */ _t14 = _t13 & 0x00000001u; /* 0288DD54 */ if (_t14) goto L_0288DD58; else goto L_0288DDD0; L_0288DD58: ; // 0x288dd58 /* 0288DD58 */ goto L_0288DDA0; L_0288DD5C: ; // 0x288dd5c /* 0288DD5C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DD60 */ cpu->r[31] = cpu->r[31] - cpu->r[9]; /* 0288DD64 */ cpu->r[3] = cpu->r[30]; /* 0288DD68 */ cpu->r[4] = cpu->r[31]; /* 0288DD6C */ Gambit_fn_0288DAAC(cpu); /* 0288DD70 */ _t15 = cpu->r[30] + 0x00000028u; /* 0288DD70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 0288DD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288DD78 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DD78 */ _t17 = _t16 & 0x00000001u; /* 0288DD78 */ if (_t17) goto L_0288DD7C; else goto L_0288DDF8; L_0288DD7C: ; // 0x288dd7c /* 0288DD7C */ cpu->r[27] = cpu->r[27] + cpu->r[0]; /* 0288DD80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DD84 */ cpu->r[6] = cpu->r[31] + cpu->r[11]; /* 0288DD88 */ cpu->r[0] = cpu->r[27] | 0x00000001u; /* 0288DD8C */ _t18 = cpu->r[6] + 0xFFFFFFFCu; /* 0288DD8C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]); /* 0288DD90 */ _t19 = cpu->r[31] + 0x00000000u; /* 0288DD90 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 0288DD94 */ _t20 = cpu->r[31] + cpu->r[11]; /* 0288DD94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0288DD98 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0288DD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288DD9C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DD9C */ _t22 = _t21 & 0x00000001u; /* 0288DD9C */ if (_t22) goto L_0288DDA0; else goto L_0288DDD0; L_0288DDA0: ; // 0x288dda0 /* 0288DDA0 */ cpu->r[3] = cpu->r[30]; /* 0288DDA4 */ cpu->r[4] = cpu->r[31] + cpu->r[11]; /* 0288DDA8 */ Gambit_fn_0288DAAC(cpu); /* 0288DDAC */ _t23 = cpu->r[30] + 0x00000028u; /* 0288DDAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23); /* 0288DDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288DDB4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DDB4 */ _t25 = _t24 & 0x00000001u; /* 0288DDB4 */ if (_t25) goto L_0288DDB8; else goto L_0288DDF8; L_0288DDB8: ; // 0x288ddb8 /* 0288DDB8 */ cpu->r[27] = cpu->r[27] + cpu->r[0]; /* 0288DDBC */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DDC0 */ cpu->r[11] = cpu->r[31] + cpu->r[9]; /* 0288DDC4 */ cpu->r[12] = cpu->r[27] | 0x00000001u; /* 0288DDC8 */ _t26 = cpu->r[11] + 0xFFFFFFFCu; /* 0288DDC8 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]); /* 0288DDCC */ _t27 = cpu->r[31] + 0x00000000u; /* 0288DDCC */ rbrew_write32(cpu->mem, _t27, cpu->r[12]); L_0288DDD0: ; // 0x288ddd0 /* 0288DDD0 */ cpu->r[4] = cpu->r[31]; /* 0288DDD4 */ cpu->r[3] = cpu->r[30]; /* 0288DDD8 */ Gambit_fn_0288D734(cpu); /* 0288DDDC */ _t28 = cpu->r[30] + 0x0000005Cu; /* 0288DDDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t28); /* 0288DDE0 */ _t29 = cpu->r[7] + 0x00001010u; /* 0288DDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 0288DDE4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DDE8 */ cpu->r[0] = cpu->r[0] - cpu->r[6]; /* 0288DDEC */ _t30 = cpu->r[7] + 0x00001010u; /* 0288DDEC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 0288DDF0 */ cpu->r[3] = 0x00000000u; /* 0288DDF4 */ _t31 = cpu->r[30] + 0x00000028u; /* 0288DDF4 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]); L_0288DDF8: ; // 0x288ddf8 /* 0288DDF8 */ /* nop */ /* 0288DDFC */ _t32 = cpu->r[1] + 0x00000024u; /* 0288DDFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0288DE00 */ cpu->lr = cpu->r[0]; /* 0288DE04 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0288DE08 */ return; } // fn_0288DE0C @ 0x288de0c void Gambit_fn_0288DE0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0288DE0C: ; // 0x288de0c /* 0288DE0C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0288DE0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288DE0C */ cpu->r[1] = _t0; /* 0288DE10 */ /* nop */ /* 0288DE14 */ cpu->r[0] = cpu->lr; /* 0288DE18 */ cpu->r[4] = cpu->r[4] + 0x0000000Fu; /* 0288DE1C */ _t1 = cpu->r[1] + 0x00000034u; /* 0288DE1C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288DE20 */ cpu->r[30] = cpu->r[3]; /* 0288DE24 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0288DE28 */ _t2 = cpu->r[30] + 0x0000005Cu; /* 0288DE28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0288DE2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000010u); /* 0288DE30 */ cpu->r[23] = 0x00000000u; /* 0288DE34 */ _t3 = cpu->r[12] + 0x000020F8u; /* 0288DE34 */ cpu->r[25] = rbrew_read32(cpu->mem, _t3); /* 0288DE38 */ cpu->r[28] = cpu->r[12] + 0x00001014u; /* 0288DE3C */ cpu->r[26] = cpu->r[12] + 0x000010A4u; /* 0288DE40 */ _t4 = cpu->r[30] + 0x00000028u; /* 0288DE40 */ rbrew_write32(cpu->mem, _t4, cpu->r[23]); /* 0288DE44 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DE44 */ _t6 = _t5 & 0x00000001u; /* 0288DE44 */ if (_t6) goto L_0288DE48; else goto L_0288DE4C; L_0288DE48: ; // 0x288de48 /* 0288DE48 */ cpu->r[4] = 0x00000010u; L_0288DE4C: ; // 0x288de4c /* 0288DE4C */ cpu->r[27] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 0288DE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0288DE54 */ cpu->r[5] = cpu->r[27] + 0xFFFFFFFCu; /* 0288DE58 */ cpu->r[24] = 0x00000000u; /* 0288DE5C */ cpu->r[22] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 0288DE60 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DE60 */ _t8 = _t7 & 0x00000001u; /* 0288DE60 */ if (_t8) goto L_0288DE6C; else goto L_0288DE64; L_0288DE64: ; // 0x288de64 /* 0288DE64 */ _t9 = cpu->r[25] + 0x00000000u; /* 0288DE64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9); /* 0288DE68 */ cpu->r[24] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000001Eu); L_0288DE6C: ; // 0x288de6c /* 0288DE6C */ cpu->r[29] = 0x10130000u; /* 0288DE70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000400u); /* 0288DE74 */ cpu->r[31] = 0x10130000u; /* 0288DE78 */ cpu->r[29] = cpu->r[29] + 0x00007170u; /* 0288DE7C */ cpu->r[31] = cpu->r[31] + 0x00007070u; /* 0288DE80 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DE80 */ _t11 = _t10 & 0x00000001u; /* 0288DE80 */ if (_t11) goto L_0288DEAC; else goto L_0288DE84; L_0288DE84: ; // 0x288de84 /* 0288DE84 */ _t12 = cpu->r[30] + 0x0000005Cu; /* 0288DE84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 0288DE88 */ cpu->r[23] = cpu->r[27]; /* 0288DE8C */ _t13 = cpu->r[10] + 0x000020F8u; /* 0288DE8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 0288DE90 */ cpu->r[8] = cpu->r[10] + 0x00001014u; /* 0288DE94 */ cpu->r[26] = 0x00000000u; /* 0288DE98 */ cpu->r[22] = 0xFFFFFFFFu; /* 0288DE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288DEA0 */ cpu->r[3] = cpu->r[10] + 0x000020A4u; /* 0288DEA4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DEA4 */ _t15 = _t14 & 0x00000001u; /* 0288DEA4 */ if (_t15) goto L_0288DEA8; else goto L_0288E270; L_0288DEA8: ; // 0x288dea8 /* 0288DEA8 */ goto L_0288E284; L_0288DEAC: ; // 0x288deac /* 0288DEAC */ cpu->r[8] = 0x00000000u; /* 0288DEB0 */ cpu->r[4] = cpu->r[22]; /* 0288DEB4 */ cpu->r[6] = cpu->r[8]; L_0288DEB8: ; // 0x288deb8 /* 0288DEB8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DEBC */ _t16 = cpu->r[7] + cpu->r[26]; /* 0288DEBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0288DEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288DEC4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DEC4 */ _t18 = _t17 & 0x00000001u; /* 0288DEC4 */ if (_t18) goto L_0288DF0C; else goto L_0288DEC8; L_0288DEC8: ; // 0x288dec8 /* 0288DEC8 */ cpu->r[22] = cpu->r[4]; /* 0288DECC */ cpu->r[9] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DED0 */ cpu->r[3] = cpu->r[30]; /* 0288DED4 */ _t19 = cpu->r[9] + cpu->r[26]; /* 0288DED4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19); /* 0288DED8 */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 0288DEDC */ Gambit_fn_0288DAAC(cpu); /* 0288DEE0 */ _t20 = cpu->r[30] + 0x00000028u; /* 0288DEE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0288DEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0288DEE8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DEE8 */ _t22 = _t21 & 0x00000001u; /* 0288DEE8 */ if (_t22) goto L_0288DEEC; else goto L_0288E1A8; L_0288DEEC: ; // 0x288deec /* 0288DEEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DEF0 */ cpu->r[6] = cpu->r[27] | 0x00000001u; /* 0288DEF4 */ cpu->r[5] = cpu->r[4] + cpu->r[0]; /* 0288DEF8 */ _t23 = cpu->r[5] + 0xFFFFFFFCu; /* 0288DEF8 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]); /* 0288DEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288DF00 */ _t24 = cpu->r[4] + 0x00000000u; /* 0288DF00 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]); /* 0288DF04 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DF04 */ _t26 = _t25 & 0x00000001u; /* 0288DF04 */ if (_t26) goto L_0288DF3C; else goto L_0288DF08; L_0288DF08: ; // 0x288df08 /* 0288DF08 */ goto L_0288DF34; L_0288DF0C: ; // 0x288df0c /* 0288DF0C */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0288DF10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u); /* 0288DF14 */ cpu->r[6] = cpu->r[6] + 0x00000002u; /* 0288DF18 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DF18 */ _t28 = _t27 & 0x00000001u; /* 0288DF18 */ if (_t28) goto L_0288DF1C; else goto L_0288DF3C; L_0288DF1C: ; // 0x288df1c /* 0288DF1C */ cpu->r[4] = cpu->r[22] + cpu->r[8]; /* 0288DF20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000400u); /* 0288DF24 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DF24 */ _t30 = _t29 & 0x00000001u; /* 0288DF24 */ if (_t30) goto L_0288DEB8; else goto L_0288DF28; L_0288DF28: ; // 0x288df28 /* 0288DF28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[24]); /* 0288DF2C */ _t31 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288DF2C */ _t32 = _t31 & 0x00000001u; /* 0288DF2C */ if (_t32) goto L_0288DF94; else goto L_0288DF30; L_0288DF30: ; // 0x288df30 /* 0288DF30 */ goto L_0288DF44; L_0288DF34: ; // 0x288df34 /* 0288DF34 */ cpu->r[4] = cpu->r[4] + 0x00000004u; /* 0288DF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288DF38 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DF38 */ _t34 = _t33 & 0x00000001u; /* 0288DF38 */ if (_t34) goto L_0288DF3C; else goto L_0288E558; L_0288DF3C: ; // 0x288df3c /* 0288DF3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[24]); /* 0288DF40 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288DF40 */ _t36 = _t35 & 0x00000001u; /* 0288DF40 */ if (_t36) goto L_0288DF94; else goto L_0288DF44; L_0288DF44: ; // 0x288df44 /* 0288DF44 */ cpu->r[7] = cpu->r[24] - cpu->r[27]; /* 0288DF48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000004u); /* 0288DF4C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288DF4C */ _t38 = _t37 & 0x00000001u; /* 0288DF4C */ if (_t38) goto L_0288DF50; else goto L_0288DF58; L_0288DF50: ; // 0x288df50 /* 0288DF50 */ cpu->r[7] = 0x00000000u; /* 0288DF54 */ cpu->r[27] = cpu->r[24]; L_0288DF58: ; // 0x288df58 /* 0288DF58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DF5C */ cpu->r[4] = cpu->r[25]; /* 0288DF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288DF60 */ cpu->r[8] = cpu->r[27] | 0x00000001u; /* 0288DF64 */ cpu->r[11] = cpu->r[4] + cpu->r[12]; /* 0288DF68 */ _t39 = cpu->r[11] + 0xFFFFFFFCu; /* 0288DF68 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]); /* 0288DF6C */ _t40 = cpu->r[4] + 0x00000000u; /* 0288DF6C */ rbrew_write32(cpu->mem, _t40, cpu->r[8]); /* 0288DF70 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DF70 */ _t42 = _t41 & 0x00000001u; /* 0288DF70 */ if (_t42) goto L_0288DF78; else goto L_0288DF74; L_0288DF74: ; // 0x288df74 /* 0288DF74 */ cpu->r[4] = cpu->r[4] + 0x00000004u; L_0288DF78: ; // 0x288df78 /* 0288DF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288DF7C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DF7C */ _t44 = _t43 & 0x00000001u; /* 0288DF7C */ if (_t44) goto L_0288DF80; else goto L_0288E228; L_0288DF80: ; // 0x288df80 /* 0288DF80 */ cpu->r[11] = 0x00000000u; /* 0288DF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288DF88 */ _t45 = cpu->r[28] + 0x000010E4u; /* 0288DF88 */ rbrew_write32(cpu->mem, _t45, cpu->r[11]); /* 0288DF8C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DF8C */ _t47 = _t46 & 0x00000001u; /* 0288DF8C */ if (_t47) goto L_0288DF90; else goto L_0288E558; L_0288DF90: ; // 0x288df90 /* 0288DF90 */ goto L_0288E540; L_0288DF94: ; // 0x288df94 /* 0288DF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0288DF98 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DF98 */ _t49 = _t48 & 0x00000001u; /* 0288DF98 */ if (_t49) goto L_0288DFC0; else goto L_0288DF9C; L_0288DF9C: ; // 0x288df9c /* 0288DF9C */ _t50 = cpu->r[30] + 0x0000005Cu; /* 0288DF9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t50); /* 0288DFA0 */ _t51 = cpu->r[6] + 0x00001010u; /* 0288DFA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51); /* 0288DFA4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288DFA8 */ cpu->r[5] = cpu->r[5] + cpu->r[4]; /* 0288DFAC */ cpu->r[3] = cpu->r[30]; /* 0288DFB0 */ _t52 = cpu->r[6] + 0x00001010u; /* 0288DFB0 */ rbrew_write32(cpu->mem, _t52, cpu->r[5]); /* 0288DFB4 */ cpu->r[4] = cpu->r[25] + 0x00000004u; /* 0288DFB8 */ _t53 = cpu->r[28] + 0x000010E4u; /* 0288DFB8 */ rbrew_write32(cpu->mem, _t53, cpu->r[23]); /* 0288DFBC */ Gambit_fn_0288DCEC(cpu); L_0288DFC0: ; // 0x288dfc0 /* 0288DFC0 */ cpu->r[10] = cpu->r[28] + 0x00000008u; /* 0288DFC4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[22], 0x0000001Du, 0x00000003u, 0x0000001Du); /* 0288DFC8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000019u, 0x0000001Du); /* 0288DFCC */ _t54 = cpu->r[6] + cpu->r[10]; /* 0288DFCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 0288DFD0 */ _t55 = cpu->r[7] + cpu->r[29]; /* 0288DFD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55); /* 0288DFD4 */ _t56 = cpu->r[28] + 0x00000088u; /* 0288DFD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56); /* 0288DFD8 */ cpu->r[0] = cpu->r[0] & cpu->r[7]; /* 0288DFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288DFDC */ cpu->r[12] = rbrew_rlwinm(cpu->r[22], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0288DFE0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DFE0 */ _t58 = _t57 & 0x00000001u; /* 0288DFE0 */ if (_t58) goto L_0288E0B8; else goto L_0288DFE4; L_0288DFE4: ; // 0x288dfe4 /* 0288DFE4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288DFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288DFE8 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DFE8 */ _t60 = _t59 & 0x00000001u; /* 0288DFE8 */ if (_t60) goto L_0288E050; else goto L_0288DFEC; L_0288DFEC: ; // 0x288dfec /* 0288DFEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288DFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288DFF0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288DFF0 */ _t62 = _t61 & 0x00000001u; /* 0288DFF0 */ if (_t62) goto L_0288E020; else goto L_0288DFF4; L_0288DFF4: ; // 0x288dff4 /* 0288DFF4 */ _t63 = cpu->r[31] + cpu->r[0]; /* 0288DFF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t63); /* 0288DFF8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au); /* 0288DFFC */ cpu->r[22] = cpu->r[6] | cpu->r[0]; /* 0288E000 */ cpu->r[7] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E004 */ _t64 = cpu->r[7] + cpu->r[26]; /* 0288E004 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64); /* 0288E008 */ cpu->r[3] = cpu->r[30]; /* 0288E00C */ Gambit_fn_0288DAAC(cpu); /* 0288E010 */ _t65 = cpu->r[30] + 0x00000028u; /* 0288E010 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65); /* 0288E014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288E018 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E018 */ _t67 = _t66 & 0x00000001u; /* 0288E018 */ if (_t67) goto L_0288E1C0; else goto L_0288E01C; L_0288E01C: ; // 0x288e01c /* 0288E01C */ goto L_0288E1A8; L_0288E020: ; // 0x288e020 /* 0288E020 */ _t68 = cpu->r[31] + cpu->r[11]; /* 0288E020 */ cpu->r[9] = rbrew_read8(cpu->mem, _t68); /* 0288E024 */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au); /* 0288E028 */ cpu->r[0] = cpu->r[9] + 0x00000008u; /* 0288E02C */ cpu->r[22] = cpu->r[6] | cpu->r[0]; /* 0288E030 */ cpu->r[7] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E034 */ _t69 = cpu->r[7] + cpu->r[26]; /* 0288E034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69); /* 0288E038 */ cpu->r[3] = cpu->r[30]; /* 0288E03C */ Gambit_fn_0288DAAC(cpu); /* 0288E040 */ _t70 = cpu->r[30] + 0x00000028u; /* 0288E040 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70); /* 0288E044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288E048 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E048 */ _t72 = _t71 & 0x00000001u; /* 0288E048 */ if (_t72) goto L_0288E1C0; else goto L_0288E04C; L_0288E04C: ; // 0x288e04c /* 0288E04C */ goto L_0288E1A8; L_0288E050: ; // 0x288e050 /* 0288E050 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288E050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E054 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E054 */ _t74 = _t73 & 0x00000001u; /* 0288E054 */ if (_t74) goto L_0288E088; else goto L_0288E058; L_0288E058: ; // 0x288e058 /* 0288E058 */ _t75 = cpu->r[31] + cpu->r[9]; /* 0288E058 */ cpu->r[10] = rbrew_read8(cpu->mem, _t75); /* 0288E05C */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au); /* 0288E060 */ cpu->r[0] = cpu->r[10] + 0x00000010u; /* 0288E064 */ cpu->r[22] = cpu->r[6] | cpu->r[0]; /* 0288E068 */ cpu->r[7] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E06C */ _t76 = cpu->r[7] + cpu->r[26]; /* 0288E06C */ cpu->r[4] = rbrew_read32(cpu->mem, _t76); /* 0288E070 */ cpu->r[3] = cpu->r[30]; /* 0288E074 */ Gambit_fn_0288DAAC(cpu); /* 0288E078 */ _t77 = cpu->r[30] + 0x00000028u; /* 0288E078 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77); /* 0288E07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288E080 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E080 */ _t79 = _t78 & 0x00000001u; /* 0288E080 */ if (_t79) goto L_0288E1C0; else goto L_0288E084; L_0288E084: ; // 0x288e084 /* 0288E084 */ goto L_0288E1A8; L_0288E088: ; // 0x288e088 /* 0288E088 */ _t80 = cpu->r[31] + cpu->r[0]; /* 0288E088 */ cpu->r[11] = rbrew_read8(cpu->mem, _t80); /* 0288E08C */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au); /* 0288E090 */ cpu->r[0] = cpu->r[11] + 0x00000018u; /* 0288E094 */ cpu->r[22] = cpu->r[6] | cpu->r[0]; /* 0288E098 */ cpu->r[7] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E09C */ _t81 = cpu->r[7] + cpu->r[26]; /* 0288E09C */ cpu->r[4] = rbrew_read32(cpu->mem, _t81); /* 0288E0A0 */ cpu->r[3] = cpu->r[30]; /* 0288E0A4 */ Gambit_fn_0288DAAC(cpu); /* 0288E0A8 */ _t82 = cpu->r[30] + 0x00000028u; /* 0288E0A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82); /* 0288E0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288E0B0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E0B0 */ _t84 = _t83 & 0x00000001u; /* 0288E0B0 */ if (_t84) goto L_0288E1C0; else goto L_0288E0B4; L_0288E0B4: ; // 0x288e0b4 /* 0288E0B4 */ goto L_0288E1A8; L_0288E0B8: ; // 0x288e0b8 /* 0288E0B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E0BC */ cpu->r[4] = cpu->r[29] + cpu->r[0]; /* 0288E0C0 */ _t85 = cpu->r[4] + 0x00000004u; /* 0288E0C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85); /* 0288E0C4 */ cpu->r[0] = cpu->r[8] & cpu->r[0]; /* 0288E0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E0C8 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E0C8 */ _t87 = _t86 & 0x00000001u; /* 0288E0C8 */ if (_t87) goto L_0288E24C; else goto L_0288E0CC; L_0288E0CC: ; // 0x288e0cc /* 0288E0CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288E0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288E0D0 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E0D0 */ _t89 = _t88 & 0x00000001u; /* 0288E0D0 */ if (_t89) goto L_0288E110; else goto L_0288E0D4; L_0288E0D4: ; // 0x288e0d4 /* 0288E0D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288E0D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E0D8 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E0D8 */ _t91 = _t90 & 0x00000001u; /* 0288E0D8 */ if (_t91) goto L_0288E0F4; else goto L_0288E0DC; L_0288E0DC: ; // 0x288e0dc /* 0288E0DC */ _t92 = cpu->r[31] + cpu->r[0]; /* 0288E0DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t92); /* 0288E0E0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E0E4 */ _t93 = cpu->r[5] + cpu->r[10]; /* 0288E0E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93); /* 0288E0E8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288E0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288E0EC */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E0EC */ _t95 = _t94 & 0x00000001u; /* 0288E0EC */ if (_t95) goto L_0288E168; else goto L_0288E0F0; L_0288E0F0: ; // 0x288e0f0 /* 0288E0F0 */ goto L_0288E14C; L_0288E0F4: ; // 0x288e0f4 /* 0288E0F4 */ _t96 = cpu->r[31] + cpu->r[11]; /* 0288E0F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t96); /* 0288E0F8 */ cpu->r[12] = cpu->r[6] + 0x00000008u; /* 0288E0FC */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E100 */ _t97 = cpu->r[5] + cpu->r[10]; /* 0288E100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 0288E104 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288E104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288E108 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E108 */ _t99 = _t98 & 0x00000001u; /* 0288E108 */ if (_t99) goto L_0288E168; else goto L_0288E10C; L_0288E10C: ; // 0x288e10c /* 0288E10C */ goto L_0288E14C; L_0288E110: ; // 0x288e110 /* 0288E110 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288E110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E114 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E114 */ _t101 = _t100 & 0x00000001u; /* 0288E114 */ if (_t101) goto L_0288E134; else goto L_0288E118; L_0288E118: ; // 0x288e118 /* 0288E118 */ _t102 = cpu->r[31] + cpu->r[9]; /* 0288E118 */ cpu->r[7] = rbrew_read8(cpu->mem, _t102); /* 0288E11C */ cpu->r[12] = cpu->r[7] + 0x00000010u; /* 0288E120 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E124 */ _t103 = cpu->r[5] + cpu->r[10]; /* 0288E124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103); /* 0288E128 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288E128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288E12C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E12C */ _t105 = _t104 & 0x00000001u; /* 0288E12C */ if (_t105) goto L_0288E168; else goto L_0288E130; L_0288E130: ; // 0x288e130 /* 0288E130 */ goto L_0288E14C; L_0288E134: ; // 0x288e134 /* 0288E134 */ _t106 = cpu->r[31] + cpu->r[0]; /* 0288E134 */ cpu->r[12] = rbrew_read8(cpu->mem, _t106); /* 0288E138 */ cpu->r[12] = cpu->r[12] + 0x00000018u; /* 0288E13C */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E140 */ _t107 = cpu->r[5] + cpu->r[10]; /* 0288E140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107); /* 0288E144 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288E144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288E148 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E148 */ _t109 = _t108 & 0x00000001u; /* 0288E148 */ if (_t109) goto L_0288E168; else goto L_0288E14C; L_0288E14C: ; // 0x288e14c /* 0288E14C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288E14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E150 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E150 */ _t111 = _t110 & 0x00000001u; /* 0288E150 */ if (_t111) goto L_0288E15C; else goto L_0288E154; L_0288E154: ; // 0x288e154 /* 0288E154 */ _t112 = cpu->r[31] + cpu->r[0]; /* 0288E154 */ cpu->r[0] = rbrew_read8(cpu->mem, _t112); /* 0288E158 */ goto L_0288E184; L_0288E15C: ; // 0x288e15c /* 0288E15C */ _t113 = cpu->r[31] + cpu->r[11]; /* 0288E15C */ cpu->r[6] = rbrew_read8(cpu->mem, _t113); /* 0288E160 */ cpu->r[0] = cpu->r[6] + 0x00000008u; /* 0288E164 */ goto L_0288E184; L_0288E168: ; // 0x288e168 /* 0288E168 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288E168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E16C */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E16C */ _t115 = _t114 & 0x00000001u; /* 0288E16C */ if (_t115) goto L_0288E17C; else goto L_0288E170; L_0288E170: ; // 0x288e170 /* 0288E170 */ _t116 = cpu->r[31] + cpu->r[9]; /* 0288E170 */ cpu->r[7] = rbrew_read8(cpu->mem, _t116); /* 0288E174 */ cpu->r[0] = cpu->r[7] + 0x00000010u; /* 0288E178 */ goto L_0288E184; L_0288E17C: ; // 0x288e17c /* 0288E17C */ _t117 = cpu->r[31] + cpu->r[0]; /* 0288E17C */ cpu->r[8] = rbrew_read8(cpu->mem, _t117); /* 0288E180 */ cpu->r[0] = cpu->r[8] + 0x00000018u; L_0288E184: ; // 0x288e184 /* 0288E184 */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au); /* 0288E188 */ cpu->r[22] = cpu->r[6] | cpu->r[0]; /* 0288E18C */ cpu->r[7] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E190 */ _t118 = cpu->r[7] + cpu->r[26]; /* 0288E190 */ cpu->r[4] = rbrew_read32(cpu->mem, _t118); /* 0288E194 */ cpu->r[3] = cpu->r[30]; /* 0288E198 */ Gambit_fn_0288DAAC(cpu); /* 0288E19C */ _t119 = cpu->r[30] + 0x00000028u; /* 0288E19C */ cpu->r[8] = rbrew_read32(cpu->mem, _t119); /* 0288E1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288E1A4 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E1A4 */ _t121 = _t120 & 0x00000001u; /* 0288E1A4 */ if (_t121) goto L_0288E1C0; else goto L_0288E1A8; L_0288E1A8: ; // 0x288e1a8 /* 0288E1A8 */ /* nop */ /* 0288E1AC */ _t122 = cpu->r[1] + 0x00000034u; /* 0288E1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t122); /* 0288E1B0 */ cpu->lr = cpu->r[0]; /* 0288E1B4 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0288E1B8 */ cpu->r[3] = 0x00000000u; /* 0288E1BC */ return; L_0288E1C0: ; // 0x288e1c0 /* 0288E1C0 */ _t123 = cpu->r[4] + 0x00000000u; /* 0288E1C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t123); /* 0288E1C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[27]); /* 0288E1C8 */ _t124 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E1C8 */ _t125 = _t124 & 0x00000001u; /* 0288E1C8 */ if (_t125) goto L_0288E1CC; else goto L_0288E1EC; L_0288E1CC: ; // 0x288e1cc /* 0288E1CC */ cpu->r[10] = 0x000000D6u; /* 0288E1D0 */ _t126 = cpu->r[30] + 0x00000028u; /* 0288E1D0 */ rbrew_write32(cpu->mem, _t126, cpu->r[10]); /* 0288E1D4 */ /* nop */ /* 0288E1D8 */ _t127 = cpu->r[1] + 0x00000034u; /* 0288E1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127); /* 0288E1DC */ cpu->lr = cpu->r[0]; /* 0288E1E0 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0288E1E4 */ cpu->r[3] = 0x00000000u; /* 0288E1E8 */ return; L_0288E1EC: ; // 0x288e1ec /* 0288E1EC */ cpu->r[7] = cpu->r[5] - cpu->r[27]; /* 0288E1F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000004u); /* 0288E1F4 */ _t128 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E1F4 */ _t129 = _t128 & 0x00000001u; /* 0288E1F4 */ if (_t129) goto L_0288E1F8; else goto L_0288E200; L_0288E1F8: ; // 0x288e1f8 /* 0288E1F8 */ cpu->r[7] = 0x00000000u; /* 0288E1FC */ cpu->r[27] = cpu->r[5]; L_0288E200: ; // 0x288e200 /* 0288E200 */ cpu->r[12] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E204 */ cpu->r[9] = cpu->r[27] | 0x00000001u; /* 0288E208 */ cpu->r[11] = cpu->r[4] + cpu->r[12]; /* 0288E20C */ _t130 = cpu->r[11] + 0xFFFFFFFCu; /* 0288E20C */ rbrew_write32(cpu->mem, _t130, cpu->r[9]); /* 0288E210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E214 */ _t131 = cpu->r[4] + 0x00000000u; /* 0288E214 */ rbrew_write32(cpu->mem, _t131, cpu->r[9]); /* 0288E218 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E218 */ _t133 = _t132 & 0x00000001u; /* 0288E218 */ if (_t133) goto L_0288E220; else goto L_0288E21C; L_0288E21C: ; // 0x288e21c /* 0288E21C */ cpu->r[4] = cpu->r[4] + 0x00000004u; L_0288E220: ; // 0x288e220 /* 0288E220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288E224 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E224 */ _t135 = _t134 & 0x00000001u; /* 0288E224 */ if (_t135) goto L_0288E538; else goto L_0288E228; L_0288E228: ; // 0x288e228 /* 0288E228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E22C */ cpu->r[9] = cpu->r[7] | 0x00000001u; /* 0288E230 */ cpu->r[7] = cpu->r[11] + cpu->r[0]; /* 0288E234 */ _t136 = cpu->r[7] + 0xFFFFFFFCu; /* 0288E234 */ rbrew_write32(cpu->mem, _t136, cpu->r[9]); /* 0288E238 */ _t137 = cpu->r[11] + 0x00000000u; /* 0288E238 */ rbrew_write32(cpu->mem, _t137, cpu->r[9]); /* 0288E23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E240 */ _t138 = cpu->r[28] + 0x000010E4u; /* 0288E240 */ rbrew_write32(cpu->mem, _t138, cpu->r[11]); /* 0288E244 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E244 */ _t140 = _t139 & 0x00000001u; /* 0288E244 */ if (_t140) goto L_0288E248; else goto L_0288E558; L_0288E248: ; // 0x288e248 /* 0288E248 */ goto L_0288E540; L_0288E24C: ; // 0x288e24c /* 0288E24C */ _t141 = cpu->r[30] + 0x0000005Cu; /* 0288E24C */ cpu->r[10] = rbrew_read32(cpu->mem, _t141); /* 0288E250 */ cpu->r[23] = cpu->r[27]; /* 0288E254 */ _t142 = cpu->r[10] + 0x000020F8u; /* 0288E254 */ cpu->r[4] = rbrew_read32(cpu->mem, _t142); /* 0288E258 */ cpu->r[8] = cpu->r[10] + 0x00001014u; /* 0288E25C */ cpu->r[26] = 0x00000000u; /* 0288E260 */ cpu->r[22] = 0xFFFFFFFFu; /* 0288E264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E268 */ cpu->r[3] = cpu->r[10] + 0x000020A4u; /* 0288E26C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E26C */ _t144 = _t143 & 0x00000001u; /* 0288E26C */ if (_t144) goto L_0288E284; else goto L_0288E270; L_0288E270: ; // 0x288e270 /* 0288E270 */ _t145 = cpu->r[4] + 0x00000000u; /* 0288E270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145); /* 0288E274 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0288E278 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[9]); /* 0288E27C */ _t146 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288E27C */ _t147 = _t146 & 0x00000001u; /* 0288E27C */ if (_t147) goto L_0288E284; else goto L_0288E280; L_0288E280: ; // 0x288e280 /* 0288E280 */ cpu->r[22] = cpu->r[9] - cpu->r[23]; L_0288E284: ; // 0x288e284 /* 0288E284 */ cpu->r[4] = cpu->r[23] + 0xFFFFFFFCu; /* 0288E288 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288E288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E28C */ _t148 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E28C */ _t149 = _t148 & 0x00000001u; /* 0288E28C */ if (_t149) goto L_0288E2F4; else goto L_0288E290; L_0288E290: ; // 0x288e290 /* 0288E290 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288E290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288E294 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E294 */ _t151 = _t150 & 0x00000001u; /* 0288E294 */ if (_t151) goto L_0288E2C4; else goto L_0288E298; L_0288E298: ; // 0x288e298 /* 0288E298 */ _t152 = cpu->r[31] + cpu->r[7]; /* 0288E298 */ cpu->r[11] = rbrew_read8(cpu->mem, _t152); /* 0288E29C */ cpu->r[0] = 0x00000014u - cpu->r[11]; /* 0288E2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E2A4 */ _t153 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E2A4 */ _t154 = _t153 & 0x00000001u; /* 0288E2A4 */ if (_t154) goto L_0288E2A8; else goto L_0288E2AC; L_0288E2A8: ; // 0x288e2a8 /* 0288E2A8 */ cpu->r[0] = 0x00000000u; L_0288E2AC: ; // 0x288e2ac /* 0288E2AC */ _t155 = cpu->r[8] + 0x0000008Cu; /* 0288E2AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t155); /* 0288E2B0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E2B4 */ _t156 = cpu->r[7] + cpu->r[29]; /* 0288E2B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156); /* 0288E2B8 */ cpu->r[9] = cpu->r[0] & cpu->r[9]; /* 0288E2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E2BC */ _t157 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E2BC */ _t158 = _t157 & 0x00000001u; /* 0288E2BC */ if (_t158) goto L_0288E2C0; else goto L_0288E35C; L_0288E2C0: ; // 0x288e2c0 /* 0288E2C0 */ goto L_0288E4A4; L_0288E2C4: ; // 0x288e2c4 /* 0288E2C4 */ _t159 = cpu->r[31] + cpu->r[9]; /* 0288E2C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t159); /* 0288E2C8 */ cpu->r[11] = cpu->r[12] + 0x00000008u; /* 0288E2CC */ cpu->r[0] = 0x00000014u - cpu->r[11]; /* 0288E2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E2D4 */ _t160 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E2D4 */ _t161 = _t160 & 0x00000001u; /* 0288E2D4 */ if (_t161) goto L_0288E2D8; else goto L_0288E2DC; L_0288E2D8: ; // 0x288e2d8 /* 0288E2D8 */ cpu->r[0] = 0x00000000u; L_0288E2DC: ; // 0x288e2dc /* 0288E2DC */ _t162 = cpu->r[8] + 0x0000008Cu; /* 0288E2DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t162); /* 0288E2E0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E2E4 */ _t163 = cpu->r[7] + cpu->r[29]; /* 0288E2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t163); /* 0288E2E8 */ cpu->r[9] = cpu->r[0] & cpu->r[9]; /* 0288E2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E2EC */ _t164 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E2EC */ _t165 = _t164 & 0x00000001u; /* 0288E2EC */ if (_t165) goto L_0288E2F0; else goto L_0288E35C; L_0288E2F0: ; // 0x288e2f0 /* 0288E2F0 */ goto L_0288E4A4; L_0288E2F4: ; // 0x288e2f4 /* 0288E2F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288E2F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E2F8 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E2F8 */ _t167 = _t166 & 0x00000001u; /* 0288E2F8 */ if (_t167) goto L_0288E32C; else goto L_0288E2FC; L_0288E2FC: ; // 0x288e2fc /* 0288E2FC */ _t168 = cpu->r[31] + cpu->r[0]; /* 0288E2FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t168); /* 0288E300 */ cpu->r[11] = cpu->r[4] + 0x00000010u; /* 0288E304 */ cpu->r[0] = 0x00000014u - cpu->r[11]; /* 0288E308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E30C */ _t169 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E30C */ _t170 = _t169 & 0x00000001u; /* 0288E30C */ if (_t170) goto L_0288E310; else goto L_0288E314; L_0288E310: ; // 0x288e310 /* 0288E310 */ cpu->r[0] = 0x00000000u; L_0288E314: ; // 0x288e314 /* 0288E314 */ _t171 = cpu->r[8] + 0x0000008Cu; /* 0288E314 */ cpu->r[9] = rbrew_read32(cpu->mem, _t171); /* 0288E318 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E31C */ _t172 = cpu->r[7] + cpu->r[29]; /* 0288E31C */ cpu->r[0] = rbrew_read32(cpu->mem, _t172); /* 0288E320 */ cpu->r[9] = cpu->r[0] & cpu->r[9]; /* 0288E320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E324 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E324 */ _t174 = _t173 & 0x00000001u; /* 0288E324 */ if (_t174) goto L_0288E328; else goto L_0288E35C; L_0288E328: ; // 0x288e328 /* 0288E328 */ goto L_0288E4A4; L_0288E32C: ; // 0x288e32c /* 0288E32C */ cpu->r[5] = cpu->r[31] + cpu->r[23]; /* 0288E330 */ _t175 = cpu->r[5] + 0xFFFFFFFCu; /* 0288E330 */ cpu->r[6] = rbrew_read8(cpu->mem, _t175); /* 0288E334 */ cpu->r[11] = cpu->r[6] + 0x00000018u; /* 0288E338 */ cpu->r[0] = 0x00000014u - cpu->r[11]; /* 0288E33C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E340 */ _t176 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E340 */ _t177 = _t176 & 0x00000001u; /* 0288E340 */ if (_t177) goto L_0288E344; else goto L_0288E348; L_0288E344: ; // 0x288e344 /* 0288E344 */ cpu->r[0] = 0x00000000u; L_0288E348: ; // 0x288e348 /* 0288E348 */ _t178 = cpu->r[8] + 0x0000008Cu; /* 0288E348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t178); /* 0288E34C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E350 */ _t179 = cpu->r[7] + cpu->r[29]; /* 0288E350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t179); /* 0288E354 */ cpu->r[9] = cpu->r[0] & cpu->r[9]; /* 0288E354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E358 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E358 */ _t181 = _t180 & 0x00000001u; /* 0288E358 */ if (_t181) goto L_0288E4A4; else goto L_0288E35C; L_0288E35C: ; // 0x288e35c /* 0288E35C */ cpu->r[4] = 0x10130000u; /* 0288E360 */ cpu->r[4] = cpu->r[4] + 0x000071F4u; L_0288E364: ; // 0x288e364 /* 0288E364 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 0288E364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0288E368 */ cpu->r[5] = 0x00000000u; /* 0288E36C */ cpu->r[29] = 0xFFFFFFFFu; /* 0288E370 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E370 */ _t183 = _t182 & 0x00000001u; /* 0288E370 */ if (_t183) goto L_0288E3B0; else goto L_0288E374; L_0288E374: ; // 0x288e374 /* 0288E374 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0288E374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288E378 */ _t184 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E378 */ _t185 = _t184 & 0x00000001u; /* 0288E378 */ if (_t185) goto L_0288E394; else goto L_0288E37C; L_0288E37C: ; // 0x288e37c /* 0288E37C */ _t186 = cpu->r[31] + cpu->r[8]; /* 0288E37C */ cpu->r[0] = rbrew_read8(cpu->mem, _t186); /* 0288E380 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E384 */ _t187 = cpu->r[3] + cpu->r[7]; /* 0288E384 */ cpu->r[26] = rbrew_read32(cpu->mem, _t187); /* 0288E388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0288E38C */ _t188 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E38C */ _t189 = _t188 & 0x00000001u; /* 0288E38C */ if (_t189) goto L_0288E390; else goto L_0288E3EC; L_0288E390: ; // 0x288e390 /* 0288E390 */ goto L_0288E498; L_0288E394: ; // 0x288e394 /* 0288E394 */ _t190 = cpu->r[31] + cpu->r[10]; /* 0288E394 */ cpu->r[10] = rbrew_read8(cpu->mem, _t190); /* 0288E398 */ cpu->r[0] = cpu->r[10] + 0x00000008u; /* 0288E39C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E3A0 */ _t191 = cpu->r[3] + cpu->r[7]; /* 0288E3A0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t191); /* 0288E3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0288E3A8 */ _t192 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E3A8 */ _t193 = _t192 & 0x00000001u; /* 0288E3A8 */ if (_t193) goto L_0288E3AC; else goto L_0288E3EC; L_0288E3AC: ; // 0x288e3ac /* 0288E3AC */ goto L_0288E498; L_0288E3B0: ; // 0x288e3b0 /* 0288E3B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000008u, 0x0000001Fu); /* 0288E3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288E3B4 */ _t194 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E3B4 */ _t195 = _t194 & 0x00000001u; /* 0288E3B4 */ if (_t195) goto L_0288E3D4; else goto L_0288E3B8; L_0288E3B8: ; // 0x288e3b8 /* 0288E3B8 */ _t196 = cpu->r[31] + cpu->r[11]; /* 0288E3B8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t196); /* 0288E3BC */ cpu->r[0] = cpu->r[11] + 0x00000010u; /* 0288E3C0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E3C4 */ _t197 = cpu->r[3] + cpu->r[7]; /* 0288E3C4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t197); /* 0288E3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0288E3CC */ _t198 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E3CC */ _t199 = _t198 & 0x00000001u; /* 0288E3CC */ if (_t199) goto L_0288E3D0; else goto L_0288E3EC; L_0288E3D0: ; // 0x288e3d0 /* 0288E3D0 */ goto L_0288E498; L_0288E3D4: ; // 0x288e3d4 /* 0288E3D4 */ _t200 = cpu->r[31] + cpu->r[9]; /* 0288E3D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t200); /* 0288E3D8 */ cpu->r[0] = cpu->r[12] + 0x00000018u; /* 0288E3DC */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E3E0 */ _t201 = cpu->r[3] + cpu->r[7]; /* 0288E3E0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t201); /* 0288E3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0288E3E8 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E3E8 */ _t203 = _t202 & 0x00000001u; /* 0288E3E8 */ if (_t203) goto L_0288E498; else goto L_0288E3EC; L_0288E3EC: ; // 0x288e3ec /* 0288E3EC */ _t204 = cpu->r[26] + 0x00000000u; /* 0288E3EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t204); /* 0288E3F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[23]); /* 0288E3F4 */ _t205 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E3F4 */ _t206 = _t205 & 0x00000001u; /* 0288E3F4 */ if (_t206) goto L_0288E40C; else goto L_0288E3F8; L_0288E3F8: ; // 0x288e3f8 /* 0288E3F8 */ cpu->r[8] = cpu->r[6] - cpu->r[23]; /* 0288E3FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]); /* 0288E400 */ _t207 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E400 */ _t208 = _t207 & 0x00000001u; /* 0288E400 */ if (_t208) goto L_0288E404; else goto L_0288E40C; L_0288E404: ; // 0x288e404 /* 0288E404 */ cpu->r[5] = cpu->r[26]; /* 0288E408 */ cpu->r[29] = cpu->r[8]; L_0288E40C: ; // 0x288e40c /* 0288E40C */ _t209 = cpu->r[26] + 0x00000008u; /* 0288E40C */ cpu->r[26] = rbrew_read32(cpu->mem, _t209); /* 0288E410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0288E414 */ _t210 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E414 */ _t211 = _t210 & 0x00000001u; /* 0288E414 */ if (_t211) goto L_0288E418; else goto L_0288E3EC; L_0288E418: ; // 0x288e418 /* 0288E418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0288E41C */ _t212 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E41C */ _t213 = _t212 & 0x00000001u; /* 0288E41C */ if (_t213) goto L_0288E498; else goto L_0288E420; L_0288E420: ; // 0x288e420 /* 0288E420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[22]); /* 0288E424 */ _t214 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E424 */ _t215 = _t214 & 0x00000001u; /* 0288E424 */ if (_t215) goto L_0288E428; else goto L_0288E4A4; L_0288E428: ; // 0x288e428 /* 0288E428 */ cpu->r[26] = cpu->r[5]; /* 0288E42C */ cpu->r[3] = cpu->r[30]; /* 0288E430 */ cpu->r[4] = cpu->r[26]; /* 0288E434 */ Gambit_fn_0288DAAC(cpu); /* 0288E438 */ _t216 = cpu->r[30] + 0x00000028u; /* 0288E438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t216); /* 0288E43C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E440 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E440 */ _t218 = _t217 & 0x00000001u; /* 0288E440 */ if (_t218) goto L_0288E444; else goto L_0288E4AC; L_0288E444: ; // 0x288e444 /* 0288E444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000004u); /* 0288E448 */ _t219 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E448 */ _t220 = _t219 & 0x00000001u; /* 0288E448 */ if (_t220) goto L_0288E44C; else goto L_0288E454; L_0288E44C: ; // 0x288e44c /* 0288E44C */ _t221 = cpu->r[26] + 0x00000000u; /* 0288E44C */ cpu->r[23] = rbrew_read32(cpu->mem, _t221); /* 0288E450 */ cpu->r[29] = 0x00000000u; L_0288E454: ; // 0x288e454 /* 0288E454 */ cpu->r[5] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E458 */ cpu->r[0] = cpu->r[23] | 0x00000001u; /* 0288E45C */ cpu->r[4] = cpu->r[26] + cpu->r[5]; /* 0288E460 */ _t222 = cpu->r[4] + 0xFFFFFFFCu; /* 0288E460 */ rbrew_write32(cpu->mem, _t222, cpu->r[0]); /* 0288E464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0288E468 */ _t223 = cpu->r[26] + 0x00000000u; /* 0288E468 */ rbrew_write32(cpu->mem, _t223, cpu->r[0]); /* 0288E46C */ _t224 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E46C */ _t225 = _t224 & 0x00000001u; /* 0288E46C */ if (_t225) goto L_0288E4A4; else goto L_0288E470; L_0288E470: ; // 0x288e470 /* 0288E470 */ cpu->r[8] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E474 */ cpu->r[12] = cpu->r[29] | 0x00000001u; /* 0288E478 */ cpu->r[10] = cpu->r[4] + cpu->r[8]; /* 0288E47C */ _t226 = cpu->r[10] + 0xFFFFFFFCu; /* 0288E47C */ rbrew_write32(cpu->mem, _t226, cpu->r[12]); /* 0288E480 */ cpu->r[3] = cpu->r[30]; /* 0288E484 */ _t227 = cpu->r[4] + 0x00000000u; /* 0288E484 */ rbrew_write32(cpu->mem, _t227, cpu->r[12]); /* 0288E488 */ Gambit_fn_0288D734(cpu); /* 0288E48C */ cpu->r[4] = cpu->r[26]; /* 0288E48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E490 */ _t228 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E490 */ _t229 = _t228 & 0x00000001u; /* 0288E490 */ if (_t229) goto L_0288E4AC; else goto L_0288E494; L_0288E494: ; // 0x288e494 /* 0288E494 */ goto L_0288E52C; L_0288E498: ; // 0x288e498 /* 0288E498 */ _t230 = cpu->r[4] + cpu->r[7]; /* 0288E498 */ cpu->r[5] = rbrew_read32(cpu->mem, _t230); /* 0288E49C */ _t231 = ~cpu->r[5]; /* 0288E49C */ cpu->r[9] = cpu->r[9] & _t231; /* 0288E49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288E4A0 */ _t232 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E4A0 */ _t233 = _t232 & 0x00000001u; /* 0288E4A0 */ if (_t233) goto L_0288E4A4; else goto L_0288E364; L_0288E4A4: ; // 0x288e4a4 /* 0288E4A4 */ cpu->r[4] = cpu->r[26]; /* 0288E4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E4A8 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E4A8 */ _t235 = _t234 & 0x00000001u; /* 0288E4A8 */ if (_t235) goto L_0288E4AC; else goto L_0288E52C; L_0288E4AC: ; // 0x288e4ac /* 0288E4AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[24]); /* 0288E4B0 */ _t236 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288E4B0 */ _t237 = _t236 & 0x00000001u; /* 0288E4B0 */ if (_t237) goto L_0288E508; else goto L_0288E4B4; L_0288E4B4: ; // 0x288e4b4 /* 0288E4B4 */ cpu->r[7] = cpu->r[24] - cpu->r[27]; /* 0288E4B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000004u); /* 0288E4BC */ _t238 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E4BC */ _t239 = _t238 & 0x00000001u; /* 0288E4BC */ if (_t239) goto L_0288E4C0; else goto L_0288E4C8; L_0288E4C0: ; // 0x288e4c0 /* 0288E4C0 */ cpu->r[7] = 0x00000000u; /* 0288E4C4 */ cpu->r[27] = cpu->r[24]; L_0288E4C8: ; // 0x288e4c8 /* 0288E4C8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E4CC */ cpu->r[10] = cpu->r[27] | 0x00000001u; /* 0288E4D0 */ cpu->r[11] = cpu->r[25] + cpu->r[6]; /* 0288E4D4 */ cpu->r[4] = cpu->r[25]; /* 0288E4D8 */ _t240 = cpu->r[11] + 0xFFFFFFFCu; /* 0288E4D8 */ rbrew_write32(cpu->mem, _t240, cpu->r[10]); /* 0288E4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288E4E0 */ _t241 = cpu->r[25] + 0x00000000u; /* 0288E4E0 */ rbrew_write32(cpu->mem, _t241, cpu->r[10]); /* 0288E4E4 */ _t242 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E4E4 */ _t243 = _t242 & 0x00000001u; /* 0288E4E4 */ if (_t243) goto L_0288E51C; else goto L_0288E4E8; L_0288E4E8: ; // 0x288e4e8 /* 0288E4E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E4EC */ cpu->r[0] = cpu->r[7] | 0x00000001u; /* 0288E4F0 */ cpu->r[10] = cpu->r[11] + cpu->r[8]; /* 0288E4F4 */ _t244 = cpu->r[10] + 0xFFFFFFFCu; /* 0288E4F4 */ rbrew_write32(cpu->mem, _t244, cpu->r[0]); /* 0288E4F8 */ _t245 = cpu->r[11] + 0x00000000u; /* 0288E4F8 */ rbrew_write32(cpu->mem, _t245, cpu->r[0]); /* 0288E4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E500 */ _t246 = cpu->r[28] + 0x000010E4u; /* 0288E500 */ rbrew_write32(cpu->mem, _t246, cpu->r[11]); /* 0288E504 */ _t247 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E504 */ _t248 = _t247 & 0x00000001u; /* 0288E504 */ if (_t248) goto L_0288E508; else goto L_0288E52C; L_0288E508: ; // 0x288e508 /* 0288E508 */ _t249 = cpu->r[30] + 0x00000028u; /* 0288E508 */ cpu->r[7] = rbrew_read32(cpu->mem, _t249); /* 0288E50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288E510 */ cpu->r[4] = 0x00000000u; /* 0288E514 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E514 */ _t251 = _t250 & 0x00000001u; /* 0288E514 */ if (_t251) goto L_0288E518; else goto L_0288E570; L_0288E518: ; // 0x288e518 /* 0288E518 */ goto L_0288E54C; L_0288E51C: ; // 0x288e51c /* 0288E51C */ cpu->r[11] = 0x00000000u; /* 0288E520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E524 */ _t252 = cpu->r[28] + 0x000010E4u; /* 0288E524 */ rbrew_write32(cpu->mem, _t252, cpu->r[11]); /* 0288E528 */ _t253 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E528 */ _t254 = _t253 & 0x00000001u; /* 0288E528 */ if (_t254) goto L_0288E508; else goto L_0288E52C; L_0288E52C: ; // 0x288e52c /* 0288E52C */ cpu->r[4] = cpu->r[4] + 0x00000004u; /* 0288E52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E530 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E530 */ _t256 = _t255 & 0x00000001u; /* 0288E530 */ if (_t256) goto L_0288E534; else goto L_0288E558; L_0288E534: ; // 0x288e534 /* 0288E534 */ goto L_0288E540; L_0288E538: ; // 0x288e538 /* 0288E538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0288E53C */ _t257 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E53C */ _t258 = _t257 & 0x00000001u; /* 0288E53C */ if (_t258) goto L_0288E540; else goto L_0288E558; L_0288E540: ; // 0x288e540 /* 0288E540 */ _t259 = cpu->r[30] + 0x00000028u; /* 0288E540 */ cpu->r[7] = rbrew_read32(cpu->mem, _t259); /* 0288E544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288E548 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E548 */ _t261 = _t260 & 0x00000001u; /* 0288E548 */ if (_t261) goto L_0288E54C; else goto L_0288E570; L_0288E54C: ; // 0x288e54c /* 0288E54C */ cpu->r[9] = 0x000000C9u; /* 0288E550 */ _t262 = cpu->r[30] + 0x00000028u; /* 0288E550 */ rbrew_write32(cpu->mem, _t262, cpu->r[9]); /* 0288E554 */ goto L_0288E570; L_0288E558: ; // 0x288e558 /* 0288E558 */ _t263 = cpu->r[4] + 0xFFFFFFFCu; /* 0288E558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t263); /* 0288E55C */ _t264 = cpu->r[30] + 0x0000005Cu; /* 0288E55C */ cpu->r[6] = rbrew_read32(cpu->mem, _t264); /* 0288E560 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Cu); /* 0288E564 */ _t265 = cpu->r[6] + 0x00001010u; /* 0288E564 */ cpu->r[5] = rbrew_read32(cpu->mem, _t265); /* 0288E568 */ cpu->r[5] = cpu->r[5] + cpu->r[0]; /* 0288E56C */ _t266 = cpu->r[6] + 0x00001010u; /* 0288E56C */ rbrew_write32(cpu->mem, _t266, cpu->r[5]); L_0288E570: ; // 0x288e570 /* 0288E570 */ /* nop */ /* 0288E574 */ _t267 = cpu->r[1] + 0x00000034u; /* 0288E574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t267); /* 0288E578 */ cpu->lr = cpu->r[0]; /* 0288E57C */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0288E580 */ cpu->r[3] = cpu->r[4]; /* 0288E584 */ return; } // fn_0288E588 @ 0x288e588 void Gambit_fn_0288E588(CPUState* 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_0288E588: ; // 0x288e588 /* 0288E588 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 0288E588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288E588 */ cpu->r[1] = _t0; /* 0288E58C */ cpu->r[0] = cpu->lr; /* 0288E590 */ /* nop */ /* 0288E594 */ cpu->r[31] = cpu->r[6]; /* 0288E598 */ cpu->r[27] = cpu->r[3]; /* 0288E59C */ cpu->r[30] = cpu->r[7]; /* 0288E5A0 */ cpu->r[28] = cpu->r[4]; /* 0288E5A4 */ cpu->r[26] = cpu->r[1] + 0x00000008u; /* 0288E5A8 */ cpu->r[6] = 0x00000003u; /* 0288E5AC */ _t1 = cpu->r[1] + 0x0000003Cu; /* 0288E5AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288E5B0 */ cpu->r[0] = 0x00000000u; /* 0288E5B4 */ cpu->r[7] = cpu->r[26]; /* 0288E5B8 */ _t2 = cpu->r[30] + 0x00000000u; /* 0288E5B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0288E5BC */ cpu->r[29] = cpu->r[5]; /* 0288E5C0 */ Gambit_fn_0288A5D0(cpu); /* 0288E5C4 */ _t3 = cpu->r[1] + 0x0000000Au; /* 0288E5C4 */ cpu->r[24] = rbrew_read8(cpu->mem, _t3); /* 0288E5C8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[24]); /* 0288E5CC */ cpu->r[3] = cpu->r[27]; /* 0288E5D0 */ cpu->r[7] = cpu->r[26]; /* 0288E5D4 */ cpu->r[6] = 0x00000008u; /* 0288E5D8 */ cpu->r[9] = cpu->r[29] + cpu->r[0]; /* 0288E5DC */ _t4 = cpu->r[1] + 0x00000008u; /* 0288E5DC */ cpu->r[23] = rbrew_read16(cpu->mem, _t4); /* 0288E5E0 */ cpu->r[4] = cpu->r[28]; /* 0288E5E4 */ cpu->r[5] = cpu->r[9] + 0x00000003u; /* 0288E5E8 */ Gambit_fn_0288A5D0(cpu); /* 0288E5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[31]); /* 0288E5F0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E5F0 */ _t6 = _t5 & 0x00000001u; /* 0288E5F0 */ if (_t6) goto L_0288E5F4; else goto L_0288E60C; L_0288E5F4: ; // 0x288e5f4 /* 0288E5F4 */ /* nop */ /* 0288E5F8 */ _t7 = cpu->r[1] + 0x0000003Cu; /* 0288E5F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0288E5FC */ cpu->lr = cpu->r[0]; /* 0288E600 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 0288E604 */ cpu->r[3] = 0x00000000u; /* 0288E608 */ return; L_0288E60C: ; // 0x288e60c /* 0288E60C */ cpu->r[25] = 0x00000000u; /* 0288E610 */ cpu->r[5] = cpu->r[24]; /* 0288E610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0288E614 */ cpu->r[6] = cpu->r[25]; /* 0288E618 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288E618 */ _t9 = _t8 & 0x00000001u; /* 0288E618 */ if (_t9) goto L_0288E61C; else goto L_0288E648; L_0288E61C: ; // 0x288e61c /* 0288E61C */ cpu->r[7] = cpu->r[26] + cpu->r[24]; /* 0288E620 */ cpu->ctr = cpu->r[5]; /* 0288E624 */ cpu->r[8] = cpu->r[26] + 0xFFFFFFFFu; /* 0288E628 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; L_0288E62C: ; // 0x288e62c /* 0288E62C */ _t10 = cpu->r[8] + 0x00000001u; /* 0288E62C */ cpu->r[11] = rbrew_read8(cpu->mem, _t10); /* 0288E62C */ cpu->r[8] = _t10; /* 0288E630 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x00000008u, 0x00000000u, 0x00000017u); /* 0288E634 */ _t11 = cpu->r[7] + 0x00000001u; /* 0288E634 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11); /* 0288E634 */ cpu->r[7] = _t11; /* 0288E638 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000000u, 0x00000017u); /* 0288E63C */ cpu->r[25] = cpu->r[10] + cpu->r[11]; /* 0288E640 */ cpu->r[6] = cpu->r[12] + cpu->r[0]; /* 0288E644 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0288E644 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0288E644 */ _t13 = _t12 >> (0x00000002u & 31u); /* 0288E644 */ _t14 = _t13 & 0x00000001u; /* 0288E644 */ if (_t14) goto L_0288E62C; else goto L_0288E648; L_0288E648: ; // 0x288e648 /* 0288E648 */ cpu->r[5] = cpu->r[6] - cpu->r[25]; /* 0288E64C */ _t15 = cpu->r[30] + 0x00000000u; /* 0288E64C */ rbrew_write32(cpu->mem, _t15, cpu->r[5]); /* 0288E650 */ _t16 = cpu->r[27] + 0x0000005Cu; /* 0288E650 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16); /* 0288E654 */ cpu->r[4] = cpu->r[27]; /* 0288E658 */ cpu->r[3] = cpu->r[6] + 0x00002114u; /* 0288E65C */ Gambit_fn_028897A0(cpu); /* 0288E660 */ cpu->r[31] = cpu->r[3]; /* 0288E660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0288E664 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E664 */ _t18 = _t17 & 0x00000001u; /* 0288E664 */ if (_t18) goto L_0288E690; else goto L_0288E668; L_0288E668: ; // 0x288e668 /* 0288E668 */ cpu->r[9] = cpu->r[23] + 0x00000001u; /* 0288E66C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[24]); /* 0288E670 */ _t19 = cpu->r[30] + 0x00000000u; /* 0288E670 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19); /* 0288E674 */ cpu->r[11] = cpu->r[29] + cpu->r[0]; /* 0288E678 */ cpu->r[4] = cpu->r[28]; /* 0288E67C */ cpu->r[12] = cpu->r[11] + cpu->r[25]; /* 0288E680 */ cpu->r[7] = cpu->r[31]; /* 0288E684 */ cpu->r[3] = cpu->r[27]; /* 0288E688 */ cpu->r[5] = cpu->r[12] + 0x00000002u; /* 0288E68C */ Gambit_fn_0288A5D0(cpu); L_0288E690: ; // 0x288e690 /* 0288E690 */ cpu->r[3] = cpu->r[31]; /* 0288E694 */ /* nop */ /* 0288E698 */ _t20 = cpu->r[1] + 0x0000003Cu; /* 0288E698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0288E69C */ cpu->lr = cpu->r[0]; /* 0288E6A0 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 0288E6A4 */ return; } // fn_0288E6A8 @ 0x288e6a8 void Gambit_fn_0288E6A8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288E6A8: ; // 0x288e6a8 /* 0288E6A8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0288E6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288E6A8 */ cpu->r[1] = _t0; /* 0288E6AC */ /* nop */ /* 0288E6B0 */ cpu->r[0] = cpu->lr; /* 0288E6B4 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0288E6B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288E6B8 */ cpu->r[29] = cpu->r[4]; /* 0288E6BC */ cpu->r[30] = cpu->r[5]; /* 0288E6C0 */ _t2 = cpu->r[30] + 0x00000028u; /* 0288E6C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 0288E6C4 */ cpu->r[31] = cpu->r[6]; /* 0288E6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]); /* 0288E6CC */ cpu->r[27] = cpu->r[3]; /* 0288E6D0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E6D0 */ _t4 = _t3 & 0x00000001u; /* 0288E6D0 */ if (_t4) goto L_0288E6D4; else goto L_0288E7E4; L_0288E6D4: ; // 0x288e6d4 /* 0288E6D4 */ _t5 = cpu->r[30] + 0x00000030u; /* 0288E6D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5); /* 0288E6D8 */ cpu->r[7] = cpu->r[1] + 0x00000009u; /* 0288E6DC */ cpu->r[6] = 0x00000001u; /* 0288E6E0 */ cpu->r[4] = cpu->r[29]; /* 0288E6E4 */ cpu->r[3] = cpu->r[27]; /* 0288E6E8 */ Gambit_fn_0288A5D0(cpu); /* 0288E6EC */ _t6 = cpu->r[1] + 0x00000009u; /* 0288E6EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0288E6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288E6F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E6F4 */ _t8 = _t7 & 0x00000001u; /* 0288E6F4 */ if (_t8) goto L_0288E6F8; else goto L_0288E730; L_0288E6F8: ; // 0x288e6f8 /* 0288E6F8 */ _t9 = cpu->r[30] + 0x00000030u; /* 0288E6F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0288E6FC */ cpu->r[3] = cpu->r[27]; /* 0288E700 */ cpu->r[4] = cpu->r[29]; /* 0288E704 */ cpu->r[6] = 0x00000001u; /* 0288E708 */ cpu->r[12] = cpu->r[5] + cpu->r[31]; /* 0288E70C */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 0288E710 */ cpu->r[5] = cpu->r[12] + 0x00000001u; /* 0288E714 */ Gambit_fn_0288A5D0(cpu); /* 0288E718 */ _t10 = cpu->r[1] + 0x00000008u; /* 0288E718 */ cpu->r[3] = rbrew_read8(cpu->mem, _t10); /* 0288E71C */ /* nop */ /* 0288E720 */ _t11 = cpu->r[1] + 0x0000002Cu; /* 0288E720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0288E724 */ cpu->lr = cpu->r[0]; /* 0288E728 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0288E72C */ return; L_0288E730: ; // 0x288e730 /* 0288E730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u); /* 0288E734 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E734 */ _t13 = _t12 & 0x00000001u; /* 0288E734 */ if (_t13) goto L_0288E738; else goto L_0288E7E4; L_0288E738: ; // 0x288e738 /* 0288E738 */ _t14 = cpu->r[30] + 0x00000030u; /* 0288E738 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14); /* 0288E73C */ cpu->r[3] = cpu->r[27]; /* 0288E740 */ cpu->r[4] = cpu->r[29]; /* 0288E744 */ cpu->r[7] = cpu->r[1] + 0x0000000Au; /* 0288E748 */ cpu->r[28] = cpu->r[6] + 0x00000001u; /* 0288E74C */ cpu->r[6] = 0x00000002u; /* 0288E750 */ cpu->r[5] = cpu->r[28]; /* 0288E754 */ Gambit_fn_0288A5D0(cpu); /* 0288E758 */ cpu->r[3] = 0x00000000u; /* 0288E75C */ _t15 = cpu->r[1] + 0x0000000Au; /* 0288E75C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 0288E760 */ cpu->r[30] = cpu->r[3]; /* 0288E764 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0288E768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 0288E76C */ _t16 = cpu->r[1] + 0x00000008u; /* 0288E76C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[3]); /* 0288E770 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E770 */ _t18 = _t17 & 0x00000001u; /* 0288E770 */ if (_t18) goto L_0288E774; else goto L_0288E7D0; L_0288E774: ; // 0x288e774 /* 0288E774 */ cpu->r[26] = cpu->r[1] + 0x0000000Cu; L_0288E778: ; // 0x288e778 /* 0288E778 */ cpu->r[6] = 0x00000002u; /* 0288E77C */ cpu->r[7] = cpu->r[26]; /* 0288E780 */ cpu->r[5] = cpu->r[28]; /* 0288E784 */ cpu->r[4] = cpu->r[29]; /* 0288E788 */ cpu->r[3] = cpu->r[27]; /* 0288E78C */ Gambit_fn_0288A5D0(cpu); /* 0288E790 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0288E790 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19); /* 0288E794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]); /* 0288E798 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E798 */ _t21 = _t20 & 0x00000001u; /* 0288E798 */ if (_t21) goto L_0288E7CC; else goto L_0288E79C; L_0288E79C: ; // 0x288e79c /* 0288E79C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0288E7A0 */ cpu->r[3] = cpu->r[27]; /* 0288E7A4 */ cpu->r[4] = cpu->r[29]; /* 0288E7A8 */ cpu->r[5] = cpu->r[28]; /* 0288E7AC */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 0288E7B0 */ cpu->r[6] = 0x00000001u; /* 0288E7B4 */ Gambit_fn_0288A5D0(cpu); /* 0288E7B8 */ _t22 = cpu->r[1] + 0x0000000Au; /* 0288E7B8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t22); /* 0288E7BC */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0288E7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]); /* 0288E7C4 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0288E7C8 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E7C8 */ _t24 = _t23 & 0x00000001u; /* 0288E7C8 */ if (_t24) goto L_0288E778; else goto L_0288E7CC; L_0288E7CC: ; // 0x288e7cc /* 0288E7CC */ _t25 = cpu->r[1] + 0x00000008u; /* 0288E7CC */ cpu->r[3] = rbrew_read8(cpu->mem, _t25); L_0288E7D0: ; // 0x288e7d0 /* 0288E7D0 */ /* nop */ /* 0288E7D4 */ _t26 = cpu->r[1] + 0x0000002Cu; /* 0288E7D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0288E7D8 */ cpu->lr = cpu->r[0]; /* 0288E7DC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0288E7E0 */ return; L_0288E7E4: ; // 0x288e7e4 /* 0288E7E4 */ /* nop */ /* 0288E7E8 */ _t27 = cpu->r[1] + 0x0000002Cu; /* 0288E7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0288E7EC */ cpu->lr = cpu->r[0]; /* 0288E7F0 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0288E7F4 */ cpu->r[3] = 0x00000000u; /* 0288E7F8 */ return; } // fn_0288E7FC @ 0x288e7fc void Gambit_fn_0288E7FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147; L_0288E7FC: ; // 0x288e7fc /* 0288E7FC */ _t0 = cpu->r[1] + 0xFFFFFF30u; /* 0288E7FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288E7FC */ cpu->r[1] = _t0; /* 0288E800 */ /* nop */ /* 0288E804 */ cpu->r[0] = cpu->lr; /* 0288E808 */ _t1 = cpu->r[1] + 0x000000D4u; /* 0288E808 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288E80C */ cpu->r[29] = cpu->r[6]; /* 0288E810 */ cpu->r[25] = cpu->r[3]; /* 0288E814 */ cpu->r[27] = cpu->r[4]; /* 0288E818 */ _t2 = cpu->r[27] + 0x00000000u; /* 0288E818 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2); /* 0288E81C */ _t3 = cpu->r[25] + 0x00000000u; /* 0288E81C */ cpu->r[30] = rbrew_read32(cpu->mem, _t3); /* 0288E820 */ cpu->r[28] = cpu->r[5]; L_0288E824: ; // 0x288e824 /* 0288E824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288E828 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288E828 */ _t5 = _t4 & 0x00000001u; /* 0288E828 */ if (_t5) goto L_0288E82C; else goto L_0288E844; L_0288E82C: ; // 0x288e82c /* 0288E82C */ /* nop */ /* 0288E830 */ _t6 = cpu->r[1] + 0x000000D4u; /* 0288E830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0288E834 */ cpu->lr = cpu->r[0]; /* 0288E838 */ cpu->r[1] = cpu->r[1] + 0x000000D0u; /* 0288E83C */ cpu->r[3] = 0xFFFFFFFFu; /* 0288E840 */ return; L_0288E844: ; // 0x288e844 /* 0288E844 */ _t7 = cpu->r[30] + 0x00000000u; /* 0288E844 */ cpu->r[3] = rbrew_read8(cpu->mem, _t7); /* 0288E848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000001Cu); /* 0288E84C */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0288E850 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288E850 */ _t9 = _t8 & 0x00000001u; /* 0288E850 */ if (_t9) goto L_0288E8B0; else goto L_0288E854; L_0288E854: ; // 0x288e854 /* 0288E854 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E854 */ _t11 = _t10 & 0x00000001u; /* 0288E854 */ if (_t11) goto L_0288E858; else goto L_0288E874; L_0288E858: ; // 0x288e858 /* 0288E858 */ _t12 = cpu->r[25] + 0x00000000u; /* 0288E858 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]); /* 0288E85C */ _t13 = cpu->r[27] + 0x00000000u; /* 0288E85C */ rbrew_write32(cpu->mem, _t13, cpu->r[26]); /* 0288E860 */ /* nop */ /* 0288E864 */ _t14 = cpu->r[1] + 0x000000D4u; /* 0288E864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0288E868 */ cpu->lr = cpu->r[0]; /* 0288E86C */ cpu->r[1] = cpu->r[1] + 0x000000D0u; /* 0288E870 */ return; L_0288E874: ; // 0x288e874 /* 0288E874 */ _t15 = cpu->r[30] + 0x00000000u; /* 0288E874 */ cpu->r[11] = rbrew_read8(cpu->mem, _t15); /* 0288E878 */ cpu->r[12] = cpu->r[28] + cpu->r[26]; /* 0288E87C */ _t16 = cpu->r[30] + 0x00000001u; /* 0288E87C */ cpu->r[0] = rbrew_read8(cpu->mem, _t16); /* 0288E87C */ cpu->r[30] = _t16; /* 0288E880 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x00000017u); /* 0288E884 */ cpu->r[8] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E888 */ cpu->r[0] = cpu->r[10] | cpu->r[0]; /* 0288E88C */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0288E890 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0288E894 */ /* nop */ /* 0288E898 */ cpu->r[4] = 0x00000001u; /* 0288E89C */ _t17 = cpu->r[8] + cpu->r[28]; /* 0288E89C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0288E8A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288E8A4 */ _t18 = cpu->r[12] + 0x000000C0u; /* 0288E8A4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[4]); /* 0288E8A8 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288E8A8 */ _t20 = _t19 & 0x00000001u; /* 0288E8A8 */ if (_t20) goto L_0288E8AC; else goto L_0288E844; L_0288E8AC: ; // 0x288e8ac /* 0288E8AC */ goto L_0288E82C; L_0288E8B0: ; // 0x288e8b0 /* 0288E8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000001Du); /* 0288E8B4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E8B4 */ _t22 = _t21 & 0x00000001u; /* 0288E8B4 */ if (_t22) goto L_0288E8B8; else goto L_0288E900; L_0288E8B8: ; // 0x288e8b8 /* 0288E8B8 */ _t23 = cpu->r[30] + 0x00000000u; /* 0288E8B8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t23); /* 0288E8BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288E8C0 */ _t24 = cpu->r[30] + 0x00000001u; /* 0288E8C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24); /* 0288E8C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u); /* 0288E8C8 */ _t25 = cpu->r[30] + 0x00000002u; /* 0288E8C8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t25); /* 0288E8CC */ _t26 = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000008u, 0x0000000Fu); /* 0288E8CC */ _t27 = cpu->r[12] & 0xFF00FFFFu; /* 0288E8CC */ cpu->r[12] = _t27 | _t26; /* 0288E8D0 */ _t28 = cpu->r[30] + 0x00000003u; /* 0288E8D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28); /* 0288E8D0 */ cpu->r[30] = _t28; /* 0288E8D4 */ _t29 = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000010u, 0x00000017u); /* 0288E8D4 */ _t30 = cpu->r[12] & 0xFFFF00FFu; /* 0288E8D4 */ cpu->r[12] = _t30 | _t29; /* 0288E8D8 */ cpu->r[5] = cpu->r[28] + cpu->r[26]; /* 0288E8DC */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0288E8E0 */ cpu->r[8] = cpu->r[12] | cpu->r[0]; /* 0288E8E4 */ cpu->r[7] = 0x00000001u; /* 0288E8E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288E8EC */ _t31 = cpu->r[4] + cpu->r[28]; /* 0288E8EC */ rbrew_write32(cpu->mem, _t31, cpu->r[8]); /* 0288E8F0 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0288E8F4 */ _t32 = cpu->r[5] + 0x000000C0u; /* 0288E8F4 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[7]); /* 0288E8F8 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288E8F8 */ _t34 = _t33 & 0x00000001u; /* 0288E8F8 */ if (_t34) goto L_0288E8FC; else goto L_0288E844; L_0288E8FC: ; // 0x288e8fc /* 0288E8FC */ goto L_0288E82C; L_0288E900: ; // 0x288e900 /* 0288E900 */ cpu->r[4] = 0x00010000u; /* 0288E904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000001Eu); /* 0288E908 */ cpu->r[4] = cpu->r[4] + 0xFFFF8000u; /* 0288E90C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E90C */ _t36 = _t35 & 0x00000001u; /* 0288E90C */ if (_t36) goto L_0288E910; else goto L_0288EBD4; L_0288E910: ; // 0x288e910 /* 0288E910 */ cpu->r[8] = 0x10130000u; /* 0288E914 */ cpu->r[9] = 0x00000000u; /* 0288E918 */ cpu->r[23] = cpu->r[26]; /* 0288E91C */ cpu->r[8] = cpu->r[8] + 0x0000727Cu; /* 0288E920 */ cpu->r[24] = cpu->r[9]; /* 0288E924 */ cpu->r[6] = cpu->r[1] + 0x00000028u; /* 0288E928 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0288E92C */ cpu->r[5] = cpu->r[24]; L_0288E930: ; // 0x288e930 /* 0288E930 */ _t37 = cpu->r[30] + 0x00000000u; /* 0288E930 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37); /* 0288E934 */ cpu->r[7] = 0x00000000u; /* 0288E938 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0288E93C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0288E940 */ /* nop */ L_0288E944: ; // 0x288e944 /* 0288E944 */ cpu->r[10] = 0x0000002Du; /* 0288E948 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu); L_0288E94C: ; // 0x288e94c /* 0288E94C */ _t38 = cpu->r[8] + cpu->r[3]; /* 0288E94C */ cpu->r[11] = rbrew_read8(cpu->mem, _t38); /* 0288E950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000000Cu); /* 0288E954 */ _t39 = cpu->r[6] + cpu->r[5]; /* 0288E954 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[11]); /* 0288E958 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 0288E95C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E95C */ _t41 = _t40 & 0x00000001u; /* 0288E95C */ if (_t41) goto L_0288E960; else goto L_0288E984; L_0288E960: ; // 0x288e960 /* 0288E960 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0288E964 */ _t42 = cpu->r[6] + cpu->r[5]; /* 0288E964 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[10]); /* 0288E968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 0288E96C */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 0288E970 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E970 */ _t44 = _t43 & 0x00000001u; /* 0288E970 */ if (_t44) goto L_0288E974; else goto L_0288E930; L_0288E974: ; // 0x288e974 /* 0288E974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0288E978 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E978 */ _t46 = _t45 & 0x00000001u; /* 0288E978 */ if (_t46) goto L_0288E944; else goto L_0288E97C; L_0288E97C: ; // 0x288e97c /* 0288E97C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0288E980 */ goto L_0288E94C; L_0288E984: ; // 0x288e984 /* 0288E984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000000Fu); /* 0288E988 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E988 */ _t48 = _t47 & 0x00000001u; /* 0288E988 */ if (_t48) goto L_0288E99C; else goto L_0288E98C; L_0288E98C: ; // 0x288e98c /* 0288E98C */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0288E990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 0288E994 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E994 */ _t50 = _t49 & 0x00000001u; /* 0288E994 */ if (_t50) goto L_0288E974; else goto L_0288E998; L_0288E998: ; // 0x288e998 /* 0288E998 */ goto L_0288E930; L_0288E99C: ; // 0x288e99c /* 0288E99C */ _t51 = cpu->r[6] + 0x00000000u; /* 0288E99C */ cpu->r[5] = rbrew_read8(cpu->mem, _t51); /* 0288E9A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000002Du); /* 0288E9A4 */ cpu->r[5] = 0x00000000u; /* 0288E9A8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288E9A8 */ _t53 = _t52 & 0x00000001u; /* 0288E9A8 */ if (_t53) goto L_0288E9AC; else goto L_0288E9B4; L_0288E9AC: ; // 0x288e9ac /* 0288E9AC */ cpu->r[24] = 0x00000001u; /* 0288E9B0 */ cpu->r[5] = cpu->r[24]; L_0288E9B4: ; // 0x288e9b4 /* 0288E9B4 */ _t54 = cpu->r[6] + cpu->r[5]; /* 0288E9B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t54); /* 0288E9B8 */ cpu->r[10] = cpu->r[1] + 0x00000008u; /* 0288E9BC */ cpu->r[11] = cpu->r[6] + cpu->r[5]; /* 0288E9C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000030u); /* 0288E9C4 */ cpu->r[12] = cpu->r[10] + cpu->r[7]; /* 0288E9C8 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E9C8 */ _t56 = _t55 & 0x00000001u; /* 0288E9C8 */ if (_t56) goto L_0288EA1C; else goto L_0288E9CC; L_0288E9CC: ; // 0x288e9cc /* 0288E9CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000039u); /* 0288E9D0 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288E9D0 */ _t58 = _t57 & 0x00000001u; /* 0288E9D0 */ if (_t58) goto L_0288EA10; else goto L_0288E9D4; L_0288E9D4: ; // 0x288e9d4 /* 0288E9D4 */ _t59 = cpu->r[12] + 0x00000000u; /* 0288E9D4 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[0]); /* 0288E9D8 */ _t60 = cpu->r[11] + 0x00000001u; /* 0288E9D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t60); /* 0288E9D8 */ cpu->r[11] = _t60; /* 0288E9DC */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0288E9E0 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0288E9E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000030u); /* 0288E9E8 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 0288E9EC */ _t61 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288E9EC */ _t62 = _t61 & 0x00000001u; /* 0288E9EC */ if (_t62) goto L_0288E9F0; else goto L_0288EA08; L_0288E9F0: ; // 0x288e9f0 /* 0288E9F0 */ _t63 = cpu->r[6] + cpu->r[5]; /* 0288E9F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t63); /* 0288E9F4 */ cpu->r[12] = cpu->r[10] + cpu->r[7]; /* 0288E9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000002Eu); /* 0288E9FC */ cpu->r[11] = cpu->r[6] + cpu->r[5]; /* 0288EA00 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EA00 */ _t65 = _t64 & 0x00000001u; /* 0288EA00 */ if (_t65) goto L_0288EA28; else goto L_0288EA04; L_0288EA04: ; // 0x288ea04 /* 0288EA04 */ goto L_0288EA4C; L_0288EA08: ; // 0x288ea08 /* 0288EA08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000039u); /* 0288EA0C */ _t66 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EA0C */ _t67 = _t66 & 0x00000001u; /* 0288EA0C */ if (_t67) goto L_0288EA10; else goto L_0288E9D4; L_0288EA10: ; // 0x288ea10 /* 0288EA10 */ cpu->r[12] = cpu->r[10] + cpu->r[7]; /* 0288EA14 */ cpu->r[11] = cpu->r[6] + cpu->r[5]; /* 0288EA18 */ goto L_0288EA4C; L_0288EA1C: ; // 0x288ea1c /* 0288EA1C */ _t68 = cpu->r[11] + 0x00000000u; /* 0288EA1C */ cpu->r[8] = rbrew_read8(cpu->mem, _t68); /* 0288EA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000002Eu); /* 0288EA24 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EA24 */ _t70 = _t69 & 0x00000001u; /* 0288EA24 */ if (_t70) goto L_0288EA28; else goto L_0288EA34; L_0288EA28: ; // 0x288ea28 /* 0288EA28 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 0288EA2C */ cpu->r[9] = cpu->r[7]; /* 0288EA30 */ cpu->r[11] = cpu->r[6] + cpu->r[5]; L_0288EA34: ; // 0x288ea34 /* 0288EA34 */ goto L_0288EA4C; L_0288EA38: ; // 0x288ea38 /* 0288EA38 */ _t71 = cpu->r[12] + 0x00000000u; /* 0288EA38 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[8]); /* 0288EA3C */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 0288EA40 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0288EA44 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0288EA48 */ cpu->r[12] = cpu->r[12] + 0x00000001u; L_0288EA4C: ; // 0x288ea4c /* 0288EA4C */ _t72 = cpu->r[11] + 0x00000000u; /* 0288EA4C */ cpu->r[8] = rbrew_read8(cpu->mem, _t72); /* 0288EA50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000030u); /* 0288EA54 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EA54 */ _t74 = _t73 & 0x00000001u; /* 0288EA54 */ if (_t74) goto L_0288EAA0; else goto L_0288EA58; L_0288EA58: ; // 0x288ea58 /* 0288EA58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000039u); /* 0288EA5C */ _t75 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EA5C */ _t76 = _t75 & 0x00000001u; /* 0288EA5C */ if (_t76) goto L_0288EA60; else goto L_0288EA38; L_0288EA60: ; // 0x288ea60 /* 0288EA60 */ _t77 = cpu->r[6] + cpu->r[5]; /* 0288EA60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t77); /* 0288EA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000045u); /* 0288EA68 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EA68 */ _t79 = _t78 & 0x00000001u; /* 0288EA68 */ if (_t79) goto L_0288EA6C; else goto L_0288EAA0; L_0288EA6C: ; // 0x288ea6c /* 0288EA6C */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 0288EA70 */ _t80 = cpu->r[6] + cpu->r[5]; /* 0288EA70 */ cpu->r[11] = rbrew_read8(cpu->mem, _t80); /* 0288EA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Du); /* 0288EA78 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EA78 */ _t82 = _t81 & 0x00000001u; /* 0288EA78 */ if (_t82) goto L_0288EA7C; else goto L_0288EA94; L_0288EA7C: ; // 0x288ea7c /* 0288EA7C */ cpu->r[11] = cpu->r[6] + cpu->r[5]; /* 0288EA80 */ _t83 = cpu->r[11] + 0x00000001u; /* 0288EA80 */ cpu->r[11] = rbrew_read8(cpu->mem, _t83); /* 0288EA84 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFD0u; /* 0288EA88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000000Au); /* 0288EA8C */ _t84 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EA8C */ _t85 = _t84 & 0x00000001u; /* 0288EA8C */ if (_t85) goto L_0288EA90; else goto L_0288EAA0; L_0288EA90: ; // 0x288ea90 /* 0288EA90 */ goto L_0288EA90; L_0288EA94: ; // 0x288ea94 /* 0288EA94 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFD0u; /* 0288EA98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000000Au); /* 0288EA9C */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EA9C */ _t87 = _t86 & 0x00000001u; /* 0288EA9C */ if (_t87) goto L_0288EA90; else goto L_0288EAA0; L_0288EAA0: ; // 0x288eaa0 /* 0288EAA0 */ cpu->r[31] = 0x00000000u; /* 0288EAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288EAA8 */ _t88 = cpu->r[10] + cpu->r[7]; /* 0288EAA8 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[31]); /* 0288EAAC */ _t89 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EAAC */ _t90 = _t89 & 0x00000001u; /* 0288EAAC */ if (_t90) goto L_0288EAB0; else goto L_0288EACC; L_0288EAB0: ; // 0x288eab0 /* 0288EAB0 */ cpu->ctr = cpu->r[9]; /* 0288EAB4 */ cpu->r[6] = cpu->r[10] + 0xFFFFFFFFu; L_0288EAB8: ; // 0x288eab8 /* 0288EAB8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Au); /* 0288EABC */ _t91 = cpu->r[6] + 0x00000001u; /* 0288EABC */ cpu->r[8] = rbrew_read8(cpu->mem, _t91); /* 0288EABC */ cpu->r[6] = _t91; /* 0288EAC0 */ cpu->r[5] = cpu->r[11] + cpu->r[8]; /* 0288EAC4 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFD0u; /* 0288EAC8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0288EAC8 */ _t92 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0288EAC8 */ _t93 = _t92 >> (0x00000002u & 31u); /* 0288EAC8 */ _t94 = _t93 & 0x00000001u; /* 0288EAC8 */ if (_t94) goto L_0288EAB8; else goto L_0288EACC; L_0288EACC: ; // 0x288eacc /* 0288EACC */ cpu->r[0] = 0x00000000u - cpu->r[9]; /* 0288EAD0 */ cpu->r[3] = 0x00000000u; /* 0288EAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288EAD8 */ cpu->r[5] = 0x00000001u; /* 0288EADC */ _t95 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EADC */ _t96 = _t95 & 0x00000001u; /* 0288EADC */ if (_t96) goto L_0288EAE0; else goto L_0288EAF0; L_0288EAE0: ; // 0x288eae0 /* 0288EAE0 */ cpu->ctr = cpu->r[0]; /* 0288EAE4 */ cpu->r[9] = cpu->r[9] + cpu->r[0]; L_0288EAE8: ; // 0x288eae8 /* 0288EAE8 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000000Au); /* 0288EAEC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0288EAEC */ _t97 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0288EAEC */ _t98 = _t97 >> (0x00000002u & 31u); /* 0288EAEC */ _t99 = _t98 & 0x00000001u; /* 0288EAEC */ if (_t99) goto L_0288EAE8; else goto L_0288EAF0; L_0288EAF0: ; // 0x288eaf0 /* 0288EAF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[7]); /* 0288EAF4 */ cpu->r[8] = cpu->r[7] - cpu->r[9]; /* 0288EAF8 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EAF8 */ _t101 = _t100 & 0x00000001u; /* 0288EAF8 */ if (_t101) goto L_0288EAFC; else goto L_0288EB20; L_0288EAFC: ; // 0x288eafc /* 0288EAFC */ cpu->r[12] = cpu->r[10] + cpu->r[9]; /* 0288EB00 */ cpu->ctr = cpu->r[8]; /* 0288EB04 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; L_0288EB08: ; // 0x288eb08 /* 0288EB08 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000000Au); /* 0288EB0C */ _t102 = cpu->r[12] + 0x00000001u; /* 0288EB0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t102); /* 0288EB0C */ cpu->r[12] = _t102; /* 0288EB10 */ cpu->r[11] = cpu->r[10] + cpu->r[0]; /* 0288EB14 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000000Au); /* 0288EB18 */ cpu->r[3] = cpu->r[11] + 0xFFFFFFD0u; /* 0288EB1C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0288EB1C */ _t103 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0288EB1C */ _t104 = _t103 >> (0x00000002u & 31u); /* 0288EB1C */ _t105 = _t104 & 0x00000001u; /* 0288EB1C */ if (_t105) goto L_0288EB08; else goto L_0288EB20; L_0288EB20: ; // 0x288eb20 /* 0288EB20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]); /* 0288EB24 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EB24 */ _t107 = _t106 & 0x00000001u; /* 0288EB24 */ if (_t107) goto L_0288EB54; else goto L_0288EB28; L_0288EB28: ; // 0x288eb28 /* 0288EB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0288EB2C */ _t108 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EB2C */ _t109 = _t108 & 0x00000001u; /* 0288EB2C */ if (_t109) goto L_0288EB34; else goto L_0288EB30; L_0288EB30: ; // 0x288eb30 /* 0288EB30 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]); L_0288EB34: ; // 0x288eb34 /* 0288EB34 */ cpu->r[5] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288EB38 */ cpu->r[6] = 0x00000001u; /* 0288EB3C */ cpu->r[8] = cpu->r[28] + cpu->r[23]; /* 0288EB40 */ _t110 = cpu->r[5] + cpu->r[28]; /* 0288EB40 */ rbrew_write32(cpu->mem, _t110, cpu->r[31]); /* 0288EB44 */ _t111 = cpu->r[8] + 0x000000C0u; /* 0288EB44 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[6]); /* 0288EB48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288EB4C */ _t112 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EB4C */ _t113 = _t112 & 0x00000001u; /* 0288EB4C */ if (_t113) goto L_0288EB50; else goto L_0288E844; L_0288EB50: ; // 0x288eb50 /* 0288EB50 */ goto L_0288E82C; L_0288EB54: ; // 0x288eb54 /* 0288EB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 0288EB58 */ _t114 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EB58 */ _t115 = _t114 & 0x00000001u; /* 0288EB58 */ if (_t115) goto L_0288EB98; else goto L_0288EB5C; L_0288EB5C: ; // 0x288eb5c /* 0288EB5C */ cpu->r[4] = 0x00010000u; /* 0288EB60 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0288EB64 */ Gambit_fn_0287B768(cpu); /* 0288EB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0288EB6C */ cpu->r[31] = cpu->r[31] + cpu->r[3]; /* 0288EB70 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EB70 */ _t117 = _t116 & 0x00000001u; /* 0288EB70 */ if (_t117) goto L_0288EB78; else goto L_0288EB74; L_0288EB74: ; // 0x288eb74 /* 0288EB74 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]); L_0288EB78: ; // 0x288eb78 /* 0288EB78 */ cpu->r[5] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288EB7C */ cpu->r[6] = 0x00000002u; /* 0288EB80 */ cpu->r[8] = cpu->r[28] + cpu->r[23]; /* 0288EB84 */ _t118 = cpu->r[5] + cpu->r[28]; /* 0288EB84 */ rbrew_write32(cpu->mem, _t118, cpu->r[31]); /* 0288EB88 */ _t119 = cpu->r[8] + 0x000000C0u; /* 0288EB88 */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[6]); /* 0288EB8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288EB90 */ _t120 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EB90 */ _t121 = _t120 & 0x00000001u; /* 0288EB90 */ if (_t121) goto L_0288EB94; else goto L_0288E844; L_0288EB94: ; // 0x288eb94 /* 0288EB94 */ goto L_0288E82C; L_0288EB98: ; // 0x288eb98 /* 0288EB98 */ cpu->r[4] = 0x40000000u; /* 0288EB9C */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x0000001Eu, 0x00000000u, 0x00000001u); /* 0288EBA0 */ Gambit_fn_0287B768(cpu); /* 0288EBA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0288EBA8 */ cpu->r[31] = cpu->r[31] + cpu->r[3]; /* 0288EBAC */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EBAC */ _t123 = _t122 & 0x00000001u; /* 0288EBAC */ if (_t123) goto L_0288EBB4; else goto L_0288EBB0; L_0288EBB0: ; // 0x288ebb0 /* 0288EBB0 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]); L_0288EBB4: ; // 0x288ebb4 /* 0288EBB4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288EBB8 */ cpu->r[6] = 0x00000003u; /* 0288EBBC */ cpu->r[8] = cpu->r[28] + cpu->r[23]; /* 0288EBC0 */ _t124 = cpu->r[5] + cpu->r[28]; /* 0288EBC0 */ rbrew_write32(cpu->mem, _t124, cpu->r[31]); /* 0288EBC4 */ _t125 = cpu->r[8] + 0x000000C0u; /* 0288EBC4 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[6]); /* 0288EBC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288EBCC */ _t126 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EBCC */ _t127 = _t126 & 0x00000001u; /* 0288EBCC */ if (_t127) goto L_0288EBD0; else goto L_0288E844; L_0288EBD0: ; // 0x288ebd0 /* 0288EBD0 */ goto L_0288E82C; L_0288EBD4: ; // 0x288ebd4 /* 0288EBD4 */ cpu->r[9] = cpu->r[3] + 0xFFFFFFE0u; /* 0288EBD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x000000D7u); /* 0288EBDC */ _t128 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EBDC */ _t129 = _t128 & 0x00000001u; /* 0288EBDC */ if (_t129) goto L_0288EBE0; else goto L_0288EC08; L_0288EBE0: ; // 0x288ebe0 /* 0288EBE0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288EBE4 */ cpu->r[8] = cpu->r[3] + 0xFFFFFF75u; /* 0288EBE8 */ cpu->r[12] = 0x00000001u; /* 0288EBEC */ cpu->r[11] = cpu->r[28] + cpu->r[26]; /* 0288EBF0 */ _t130 = cpu->r[10] + cpu->r[28]; /* 0288EBF0 */ rbrew_write32(cpu->mem, _t130, cpu->r[8]); /* 0288EBF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288EBF8 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0288EBFC */ _t131 = cpu->r[11] + 0x000000C0u; /* 0288EBFC */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[12]); /* 0288EC00 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EC00 */ _t133 = _t132 & 0x00000001u; /* 0288EC00 */ if (_t133) goto L_0288EC04; else goto L_0288E844; L_0288EC04: ; // 0x288ec04 /* 0288EC04 */ goto L_0288E82C; L_0288EC08: ; // 0x288ec08 /* 0288EC08 */ cpu->r[0] = cpu->r[3] + 0xFFFFFF09u; /* 0288EC0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u); /* 0288EC10 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EC10 */ _t135 = _t134 & 0x00000001u; /* 0288EC10 */ if (_t135) goto L_0288EC14; else goto L_0288EC54; L_0288EC14: ; // 0x288ec14 /* 0288EC14 */ cpu->r[6] = cpu->r[28] + cpu->r[26]; /* 0288EC18 */ cpu->r[7] = cpu->r[4] + 0x00007700u; /* 0288EC1C */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000008u, 0x00000000u, 0x00000017u); /* 0288EC20 */ cpu->r[4] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288EC24 */ _t136 = cpu->r[30] + 0x00000000u; /* 0288EC24 */ cpu->r[11] = rbrew_read8(cpu->mem, _t136); /* 0288EC28 */ cpu->r[10] = cpu->r[12] - cpu->r[7]; /* 0288EC2C */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0288EC30 */ cpu->r[12] = cpu->r[10] + cpu->r[11]; /* 0288EC34 */ cpu->r[7] = 0x00000001u; /* 0288EC38 */ cpu->r[8] = cpu->r[12] + 0x0000006Cu; /* 0288EC3C */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0288EC40 */ _t137 = cpu->r[4] + cpu->r[28]; /* 0288EC40 */ rbrew_write32(cpu->mem, _t137, cpu->r[8]); /* 0288EC44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288EC48 */ _t138 = cpu->r[6] + 0x000000C0u; /* 0288EC48 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[7]); /* 0288EC4C */ _t139 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EC4C */ _t140 = _t139 & 0x00000001u; /* 0288EC4C */ if (_t140) goto L_0288EC50; else goto L_0288E844; L_0288EC50: ; // 0x288ec50 /* 0288EC50 */ goto L_0288E82C; L_0288EC54: ; // 0x288ec54 /* 0288EC54 */ cpu->r[10] = cpu->r[3] + 0xFFFFFF05u; /* 0288EC58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000004u); /* 0288EC5C */ _t141 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EC5C */ _t142 = _t141 & 0x00000001u; /* 0288EC5C */ if (_t142) goto L_0288EC60; else goto L_0288E824; L_0288EC60: ; // 0x288ec60 /* 0288EC60 */ cpu->r[0] = cpu->r[3] + 0xFFFFFF05u; /* 0288EC64 */ _t143 = cpu->r[30] + 0x00000000u; /* 0288EC64 */ cpu->r[11] = rbrew_read8(cpu->mem, _t143); /* 0288EC68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x00000017u); /* 0288EC6C */ cpu->r[9] = cpu->r[28] + cpu->r[26]; /* 0288EC70 */ cpu->r[4] = cpu->r[12] + cpu->r[11]; /* 0288EC74 */ cpu->r[11] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288EC78 */ cpu->r[0] = cpu->r[4] + 0x0000006Cu; /* 0288EC7C */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0288EC80 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0288EC84 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[0]); /* 0288EC88 */ cpu->r[0] = 0x00000001u; /* 0288EC8C */ _t144 = cpu->r[11] + cpu->r[28]; /* 0288EC8C */ rbrew_write32(cpu->mem, _t144, cpu->r[8]); /* 0288EC90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0288EC94 */ _t145 = cpu->r[9] + 0x000000C0u; /* 0288EC94 */ rbrew_write8(cpu->mem, _t145, (uint8_t)cpu->r[0]); /* 0288EC98 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EC98 */ _t147 = _t146 & 0x00000001u; /* 0288EC98 */ if (_t147) goto L_0288EC9C; else goto L_0288E844; L_0288EC9C: ; // 0x288ec9c /* 0288EC9C */ goto L_0288E82C; } // fn_0288ECA0 @ 0x288eca0 void Gambit_fn_0288ECA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0288ECA0: ; // 0x288eca0 /* 0288ECA0 */ cpu->r[10] = cpu->r[3] + cpu->r[4]; /* 0288ECA4 */ _t0 = cpu->r[10] + 0x000000C0u; /* 0288ECA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0288ECA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288ECAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u); /* 0288ECB0 */ _t1 = cpu->r[12] + cpu->r[3]; /* 0288ECB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 0288ECB4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ECB4 */ _t3 = _t2 & 0x00000001u; /* 0288ECB4 */ if (_t3) goto L_0288ECB8; else goto L_0288ECC0; L_0288ECB8: ; // 0x288ecb8 /* 0288ECB8 */ /* nop */ /* 0288ECBC */ return; L_0288ECC0: ; // 0x288ecc0 /* 0288ECC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u); /* 0288ECC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ECC4 */ _t5 = _t4 & 0x00000001u; /* 0288ECC4 */ _t6 = _t5 ^ 0x00000001u; /* 0288ECC4 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0288ECC4 */ goto L_0288ECC8; L_0288ECC8: ; // 0x288ecc8 /* 0288ECC8 */ /* nop */ /* 0288ECCC */ return; } // fn_0288ECD0 @ 0x288ecd0 void Gambit_fn_0288ECD0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0288ECD0: ; // 0x288ecd0 /* 0288ECD0 */ cpu->r[10] = cpu->r[3] + cpu->r[4]; /* 0288ECD4 */ _t0 = cpu->r[10] + 0x000000C0u; /* 0288ECD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0288ECD8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288ECDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 0288ECE0 */ _t1 = cpu->r[12] + cpu->r[3]; /* 0288ECE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 0288ECE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ECE4 */ _t3 = _t2 & 0x00000001u; /* 0288ECE4 */ if (_t3) goto L_0288ECE8; else goto L_0288ECF0; L_0288ECE8: ; // 0x288ece8 /* 0288ECE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x0000001Eu, 0x00000000u, 0x00000001u); /* 0288ECEC */ return; L_0288ECF0: ; // 0x288ecf0 /* 0288ECF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u); /* 0288ECF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ECF4 */ _t5 = _t4 & 0x00000001u; /* 0288ECF4 */ _t6 = _t5 ^ 0x00000001u; /* 0288ECF4 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0288ECF4 */ goto L_0288ECF8; L_0288ECF8: ; // 0x288ecf8 /* 0288ECF8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x0000000Eu, 0x00000000u, 0x00000011u); /* 0288ECFC */ return; } // fn_0288ED00 @ 0x288ed00 void Gambit_fn_0288ED00(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0288ED00: ; // 0x288ed00 /* 0288ED00 */ _t0 = cpu->r[1] + 0xFFFFFEE8u; /* 0288ED00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288ED00 */ cpu->r[1] = _t0; /* 0288ED04 */ cpu->r[0] = cpu->lr; /* 0288ED08 */ /* nop */ /* 0288ED0C */ cpu->r[11] = 0x00000000u; /* 0288ED10 */ cpu->r[30] = cpu->r[4]; /* 0288ED14 */ cpu->r[31] = cpu->r[7]; /* 0288ED18 */ _t1 = cpu->r[1] + 0x0000011Cu; /* 0288ED18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288ED1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0288ED20 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0288ED20 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]); /* 0288ED24 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ED24 */ _t4 = _t3 & 0x00000001u; /* 0288ED24 */ if (_t4) goto L_0288F0B4; else goto L_0288ED28; L_0288ED28: ; // 0x288ed28 /* 0288ED28 */ cpu->r[29] = cpu->r[6] + cpu->r[5]; /* 0288ED2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]); /* 0288ED30 */ _t5 = cpu->r[1] + 0x00000008u; /* 0288ED30 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]); /* 0288ED34 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288ED34 */ _t7 = _t6 & 0x00000001u; /* 0288ED34 */ if (_t7) goto L_0288ED38; else goto L_0288F048; L_0288ED38: ; // 0x288ed38 /* 0288ED38 */ cpu->r[28] = 0x00000000u; /* 0288ED3C */ cpu->r[27] = 0xFFFFFFFFu; L_0288ED40: ; // 0x288ed40 /* 0288ED40 */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 0288ED44 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 0288ED48 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0288ED4C */ cpu->r[6] = cpu->r[29]; /* 0288ED50 */ Gambit_fn_0288E7FC(cpu); /* 0288ED54 */ cpu->r[0] = cpu->r[3]; /* 0288ED58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u); /* 0288ED5C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288ED5C */ _t9 = _t8 & 0x00000001u; /* 0288ED5C */ if (_t9) goto L_0288ED60; else goto L_0288ED8C; L_0288ED60: ; // 0x288ed60 /* 0288ED60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u); /* 0288ED64 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ED64 */ _t11 = _t10 & 0x00000001u; /* 0288ED64 */ if (_t11) goto L_0288EDC4; else goto L_0288ED68; L_0288ED68: ; // 0x288ed68 /* 0288ED68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Cu); /* 0288ED6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ED6C */ _t13 = _t12 & 0x00000001u; /* 0288ED6C */ if (_t13) goto L_0288EE18; else goto L_0288ED70; L_0288ED70: ; // 0x288ed70 /* 0288ED70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Fu); /* 0288ED74 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ED74 */ _t15 = _t14 & 0x00000001u; /* 0288ED74 */ if (_t15) goto L_0288EFAC; else goto L_0288ED78; L_0288ED78: ; // 0x288ed78 /* 0288ED78 */ _t16 = cpu->r[1] + 0x00000008u; /* 0288ED78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 0288ED7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288ED80 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0288ED80 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]); /* 0288ED84 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288ED84 */ _t19 = _t18 & 0x00000001u; /* 0288ED84 */ if (_t19) goto L_0288ED40; else goto L_0288ED88; L_0288ED88: ; // 0x288ed88 /* 0288ED88 */ goto L_0288F048; L_0288ED8C: ; // 0x288ed8c /* 0288ED8C */ cpu->r[7] = 0xFFFFFFFFu; /* 0288ED90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 0288ED94 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288ED94 */ _t21 = _t20 & 0x00000001u; /* 0288ED94 */ if (_t21) goto L_0288F0B4; else goto L_0288ED98; L_0288ED98: ; // 0x288ed98 /* 0288ED98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000012u); /* 0288ED9C */ _t22 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288ED9C */ _t23 = _t22 & 0x00000001u; /* 0288ED9C */ if (_t23) goto L_0288EDB0; else goto L_0288EDA0; L_0288EDA0: ; // 0x288eda0 /* 0288EDA0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EDA0 */ _t25 = _t24 & 0x00000001u; /* 0288EDA0 */ if (_t25) goto L_0288F018; else goto L_0288EDA4; L_0288EDA4: ; // 0x288eda4 /* 0288EDA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u); /* 0288EDA8 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288EDA8 */ _t27 = _t26 & 0x00000001u; /* 0288EDA8 */ if (_t27) goto L_0288EFF4; else goto L_0288EDAC; L_0288EDAC: ; // 0x288edac /* 0288EDAC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EDAC */ _t29 = _t28 & 0x00000001u; /* 0288EDAC */ if (_t29) goto L_0288EFD0; else goto L_0288EDB0; L_0288EDB0: ; // 0x288edb0 /* 0288EDB0 */ _t30 = cpu->r[1] + 0x00000008u; /* 0288EDB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 0288EDB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EDB8 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 0288EDB8 */ rbrew_write32(cpu->mem, _t31, cpu->r[28]); /* 0288EDBC */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EDBC */ _t33 = _t32 & 0x00000001u; /* 0288EDBC */ if (_t33) goto L_0288ED40; else goto L_0288EDC0; L_0288EDC0: ; // 0x288edc0 /* 0288EDC0 */ goto L_0288F048; L_0288EDC4: ; // 0x288edc4 /* 0288EDC4 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EDC8 */ cpu->r[4] = 0x00000000u; /* 0288EDCC */ Gambit_fn_0288ECA0(cpu); /* 0288EDD0 */ _t34 = cpu->r[31] + 0x00000038u; /* 0288EDD0 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]); /* 0288EDD4 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EDD8 */ cpu->r[4] = 0x00000001u; /* 0288EDDC */ Gambit_fn_0288ECA0(cpu); /* 0288EDE0 */ _t35 = cpu->r[31] + 0x0000003Cu; /* 0288EDE0 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]); /* 0288EDE4 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EDE8 */ cpu->r[4] = 0x00000002u; /* 0288EDEC */ Gambit_fn_0288ECA0(cpu); /* 0288EDF0 */ _t36 = cpu->r[31] + 0x00000040u; /* 0288EDF0 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]); /* 0288EDF4 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EDF8 */ cpu->r[4] = 0x00000003u; /* 0288EDFC */ Gambit_fn_0288ECA0(cpu); /* 0288EE00 */ _t37 = cpu->r[1] + 0x00000008u; /* 0288EE00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37); /* 0288EE04 */ _t38 = cpu->r[31] + 0x00000044u; /* 0288EE04 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]); /* 0288EE08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EE0C */ _t39 = cpu->r[1] + 0x0000000Cu; /* 0288EE0C */ rbrew_write32(cpu->mem, _t39, cpu->r[28]); /* 0288EE10 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EE10 */ _t41 = _t40 & 0x00000001u; /* 0288EE10 */ if (_t41) goto L_0288ED40; else goto L_0288EE14; L_0288EE14: ; // 0x288ee14 /* 0288EE14 */ goto L_0288F048; L_0288EE18: ; // 0x288ee18 /* 0288EE18 */ _t42 = cpu->r[1] + 0x00000008u; /* 0288EE18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42); /* 0288EE1C */ _t43 = cpu->r[11] + 0x00000000u; /* 0288EE1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 0288EE20 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0288EE24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000022u); /* 0288EE28 */ _t44 = cpu->r[1] + 0x00000008u; /* 0288EE28 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]); /* 0288EE2C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EE2C */ _t46 = _t45 & 0x00000001u; /* 0288EE2C */ if (_t46) goto L_0288EE30; else goto L_0288EE58; L_0288EE30: ; // 0x288ee30 /* 0288EE30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u); /* 0288EE34 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EE34 */ _t48 = _t47 & 0x00000001u; /* 0288EE34 */ if (_t48) goto L_0288EE80; else goto L_0288EE38; L_0288EE38: ; // 0x288ee38 /* 0288EE38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000007u); /* 0288EE3C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EE3C */ _t50 = _t49 & 0x00000001u; /* 0288EE3C */ if (_t50) goto L_0288EEA0; else goto L_0288EE40; L_0288EE40: ; // 0x288ee40 /* 0288EE40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Eu); /* 0288EE44 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EE44 */ _t52 = _t51 & 0x00000001u; /* 0288EE44 */ if (_t52) goto L_0288EF10; else goto L_0288EE48; L_0288EE48: ; // 0x288ee48 /* 0288EE48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EE4C */ _t53 = cpu->r[1] + 0x0000000Cu; /* 0288EE4C */ rbrew_write32(cpu->mem, _t53, cpu->r[28]); /* 0288EE50 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EE50 */ _t55 = _t54 & 0x00000001u; /* 0288EE50 */ if (_t55) goto L_0288ED40; else goto L_0288EE54; L_0288EE54: ; // 0x288ee54 /* 0288EE54 */ goto L_0288F048; L_0288EE58: ; // 0x288ee58 /* 0288EE58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000022u); /* 0288EE5C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EE5C */ _t57 = _t56 & 0x00000001u; /* 0288EE5C */ if (_t57) goto L_0288EF34; else goto L_0288EE60; L_0288EE60: ; // 0x288ee60 /* 0288EE60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000024u); /* 0288EE64 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EE64 */ _t59 = _t58 & 0x00000001u; /* 0288EE64 */ if (_t59) goto L_0288EF54; else goto L_0288EE68; L_0288EE68: ; // 0x288ee68 /* 0288EE68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000025u); /* 0288EE6C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288EE6C */ _t61 = _t60 & 0x00000001u; /* 0288EE6C */ if (_t61) goto L_0288EF80; else goto L_0288EE70; L_0288EE70: ; // 0x288ee70 /* 0288EE70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EE74 */ _t62 = cpu->r[1] + 0x0000000Cu; /* 0288EE74 */ rbrew_write32(cpu->mem, _t62, cpu->r[28]); /* 0288EE78 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EE78 */ _t64 = _t63 & 0x00000001u; /* 0288EE78 */ if (_t64) goto L_0288ED40; else goto L_0288EE7C; L_0288EE7C: ; // 0x288ee7c /* 0288EE7C */ goto L_0288F048; L_0288EE80: ; // 0x288ee80 /* 0288EE80 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EE84 */ cpu->r[4] = 0x00000000u; /* 0288EE88 */ Gambit_fn_0288ECA0(cpu); /* 0288EE8C */ _t65 = cpu->r[31] + 0x0000001Cu; /* 0288EE8C */ rbrew_write32(cpu->mem, _t65, cpu->r[3]); /* 0288EE90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EE94 */ _t66 = cpu->r[1] + 0x0000000Cu; /* 0288EE94 */ rbrew_write32(cpu->mem, _t66, cpu->r[28]); /* 0288EE98 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EE98 */ _t68 = _t67 & 0x00000001u; /* 0288EE98 */ if (_t68) goto L_0288ED40; else goto L_0288EE9C; L_0288EE9C: ; // 0x288ee9c /* 0288EE9C */ goto L_0288F048; L_0288EEA0: ; // 0x288eea0 /* 0288EEA0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EEA4 */ cpu->r[4] = 0x00000000u; /* 0288EEA8 */ Gambit_fn_0288ECD0(cpu); /* 0288EEAC */ _t69 = cpu->r[31] + 0x00000020u; /* 0288EEAC */ rbrew_write32(cpu->mem, _t69, cpu->r[3]); /* 0288EEB0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EEB4 */ cpu->r[4] = 0x00000001u; /* 0288EEB8 */ Gambit_fn_0288ECD0(cpu); /* 0288EEBC */ _t70 = cpu->r[31] + 0x00000024u; /* 0288EEBC */ rbrew_write32(cpu->mem, _t70, cpu->r[3]); /* 0288EEC0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EEC4 */ cpu->r[4] = 0x00000002u; /* 0288EEC8 */ Gambit_fn_0288ECD0(cpu); /* 0288EECC */ _t71 = cpu->r[31] + 0x00000028u; /* 0288EECC */ rbrew_write32(cpu->mem, _t71, cpu->r[3]); /* 0288EED0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EED4 */ cpu->r[4] = 0x00000003u; /* 0288EED8 */ Gambit_fn_0288ECD0(cpu); /* 0288EEDC */ _t72 = cpu->r[31] + 0x0000002Cu; /* 0288EEDC */ rbrew_write32(cpu->mem, _t72, cpu->r[3]); /* 0288EEE0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EEE4 */ cpu->r[4] = 0x00000004u; /* 0288EEE8 */ Gambit_fn_0288ECD0(cpu); /* 0288EEEC */ _t73 = cpu->r[31] + 0x00000030u; /* 0288EEEC */ rbrew_write32(cpu->mem, _t73, cpu->r[3]); /* 0288EEF0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EEF4 */ cpu->r[4] = 0x00000005u; /* 0288EEF8 */ Gambit_fn_0288ECD0(cpu); /* 0288EEFC */ _t74 = cpu->r[31] + 0x00000034u; /* 0288EEFC */ rbrew_write32(cpu->mem, _t74, cpu->r[3]); /* 0288EF00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EF04 */ _t75 = cpu->r[1] + 0x0000000Cu; /* 0288EF04 */ rbrew_write32(cpu->mem, _t75, cpu->r[28]); /* 0288EF08 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EF08 */ _t77 = _t76 & 0x00000001u; /* 0288EF08 */ if (_t77) goto L_0288ED40; else goto L_0288EF0C; L_0288EF0C: ; // 0x288ef0c /* 0288EF0C */ goto L_0288F048; L_0288EF10: ; // 0x288ef10 /* 0288EF10 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EF14 */ cpu->r[4] = 0x00000000u; /* 0288EF18 */ Gambit_fn_0288ECA0(cpu); /* 0288EF1C */ _t78 = cpu->r[1] + 0x0000000Cu; /* 0288EF1C */ rbrew_write32(cpu->mem, _t78, cpu->r[28]); /* 0288EF20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EF24 */ _t79 = cpu->r[31] + 0x00000000u; /* 0288EF24 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[3]); /* 0288EF28 */ _t80 = cpu->r[31] + 0x00000010u; /* 0288EF28 */ rbrew_write32(cpu->mem, _t80, cpu->r[27]); /* 0288EF2C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EF2C */ _t82 = _t81 & 0x00000001u; /* 0288EF2C */ if (_t82) goto L_0288ED40; else goto L_0288EF30; L_0288EF30: ; // 0x288ef30 /* 0288EF30 */ goto L_0288F048; L_0288EF34: ; // 0x288ef34 /* 0288EF34 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EF38 */ cpu->r[4] = 0x00000000u; /* 0288EF3C */ Gambit_fn_0288ECA0(cpu); /* 0288EF40 */ _t83 = cpu->r[31] + 0x00000004u; /* 0288EF40 */ rbrew_write32(cpu->mem, _t83, cpu->r[3]); /* 0288EF44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EF48 */ _t84 = cpu->r[1] + 0x0000000Cu; /* 0288EF48 */ rbrew_write32(cpu->mem, _t84, cpu->r[28]); /* 0288EF4C */ _t85 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EF4C */ _t86 = _t85 & 0x00000001u; /* 0288EF4C */ if (_t86) goto L_0288ED40; else goto L_0288EF50; L_0288EF50: ; // 0x288ef50 /* 0288EF50 */ goto L_0288F048; L_0288EF54: ; // 0x288ef54 /* 0288EF54 */ cpu->r[4] = 0x00000000u; /* 0288EF58 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EF5C */ Gambit_fn_0288ECA0(cpu); /* 0288EF60 */ _t87 = cpu->r[31] + 0x00000008u; /* 0288EF60 */ rbrew_write32(cpu->mem, _t87, cpu->r[3]); /* 0288EF64 */ _t88 = cpu->r[30] + 0x000000A0u; /* 0288EF64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 0288EF68 */ _t89 = cpu->r[1] + 0x0000000Cu; /* 0288EF68 */ rbrew_write32(cpu->mem, _t89, cpu->r[28]); /* 0288EF6C */ cpu->r[8] = cpu->r[3] + cpu->r[0]; /* 0288EF70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EF74 */ _t90 = cpu->r[31] + 0x00000008u; /* 0288EF74 */ rbrew_write32(cpu->mem, _t90, cpu->r[8]); /* 0288EF78 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EF78 */ _t92 = _t91 & 0x00000001u; /* 0288EF78 */ if (_t92) goto L_0288ED40; else goto L_0288EF7C; L_0288EF7C: ; // 0x288ef7c /* 0288EF7C */ goto L_0288F048; L_0288EF80: ; // 0x288ef80 /* 0288EF80 */ cpu->r[4] = 0x00000000u; /* 0288EF84 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EF88 */ Gambit_fn_0288ECA0(cpu); /* 0288EF8C */ _t93 = cpu->r[31] + 0x0000000Cu; /* 0288EF8C */ rbrew_write32(cpu->mem, _t93, cpu->r[3]); /* 0288EF90 */ _t94 = cpu->r[30] + 0x000000A0u; /* 0288EF90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t94); /* 0288EF94 */ _t95 = cpu->r[1] + 0x0000000Cu; /* 0288EF94 */ rbrew_write32(cpu->mem, _t95, cpu->r[28]); /* 0288EF98 */ cpu->r[10] = cpu->r[3] + cpu->r[12]; /* 0288EF9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EFA0 */ _t96 = cpu->r[31] + 0x0000000Cu; /* 0288EFA0 */ rbrew_write32(cpu->mem, _t96, cpu->r[10]); /* 0288EFA4 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EFA4 */ _t98 = _t97 & 0x00000001u; /* 0288EFA4 */ if (_t98) goto L_0288ED40; else goto L_0288EFA8; L_0288EFA8: ; // 0x288efa8 /* 0288EFA8 */ goto L_0288F048; L_0288EFAC: ; // 0x288efac /* 0288EFAC */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EFB0 */ cpu->r[4] = 0x00000000u; /* 0288EFB4 */ Gambit_fn_0288ECA0(cpu); /* 0288EFB8 */ _t99 = cpu->r[1] + 0x00000008u; /* 0288EFB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t99); /* 0288EFBC */ _t100 = cpu->r[31] + 0x00000048u; /* 0288EFBC */ rbrew_write32(cpu->mem, _t100, cpu->r[3]); /* 0288EFC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EFC4 */ _t101 = cpu->r[1] + 0x0000000Cu; /* 0288EFC4 */ rbrew_write32(cpu->mem, _t101, cpu->r[28]); /* 0288EFC8 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EFC8 */ _t103 = _t102 & 0x00000001u; /* 0288EFC8 */ if (_t103) goto L_0288ED40; else goto L_0288EFCC; L_0288EFCC: ; // 0x288efcc /* 0288EFCC */ goto L_0288F048; L_0288EFD0: ; // 0x288efd0 /* 0288EFD0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EFD4 */ cpu->r[4] = 0x00000000u; /* 0288EFD8 */ Gambit_fn_0288ECA0(cpu); /* 0288EFDC */ _t104 = cpu->r[1] + 0x00000008u; /* 0288EFDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t104); /* 0288EFE0 */ _t105 = cpu->r[31] + 0x0000004Cu; /* 0288EFE0 */ rbrew_write32(cpu->mem, _t105, cpu->r[3]); /* 0288EFE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288EFE8 */ _t106 = cpu->r[1] + 0x0000000Cu; /* 0288EFE8 */ rbrew_write32(cpu->mem, _t106, cpu->r[28]); /* 0288EFEC */ _t107 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288EFEC */ _t108 = _t107 & 0x00000001u; /* 0288EFEC */ if (_t108) goto L_0288ED40; else goto L_0288EFF0; L_0288EFF0: ; // 0x288eff0 /* 0288EFF0 */ goto L_0288F048; L_0288EFF4: ; // 0x288eff4 /* 0288EFF4 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288EFF8 */ cpu->r[4] = 0x00000000u; /* 0288EFFC */ Gambit_fn_0288ECA0(cpu); /* 0288F000 */ _t109 = cpu->r[1] + 0x00000008u; /* 0288F000 */ cpu->r[11] = rbrew_read32(cpu->mem, _t109); /* 0288F004 */ _t110 = cpu->r[31] + 0x00000050u; /* 0288F004 */ rbrew_write32(cpu->mem, _t110, cpu->r[3]); /* 0288F008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288F00C */ _t111 = cpu->r[1] + 0x0000000Cu; /* 0288F00C */ rbrew_write32(cpu->mem, _t111, cpu->r[28]); /* 0288F010 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F010 */ _t113 = _t112 & 0x00000001u; /* 0288F010 */ if (_t113) goto L_0288ED40; else goto L_0288F014; L_0288F014: ; // 0x288f014 /* 0288F014 */ goto L_0288F048; L_0288F018: ; // 0x288f018 /* 0288F018 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288F01C */ cpu->r[4] = 0x00000000u; /* 0288F020 */ Gambit_fn_0288ECA0(cpu); /* 0288F024 */ _t114 = cpu->r[31] + 0x0000005Cu; /* 0288F024 */ rbrew_write32(cpu->mem, _t114, cpu->r[3]); /* 0288F028 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288F02C */ cpu->r[4] = 0x00000001u; /* 0288F030 */ Gambit_fn_0288ECA0(cpu); /* 0288F034 */ _t115 = cpu->r[1] + 0x00000008u; /* 0288F034 */ cpu->r[11] = rbrew_read32(cpu->mem, _t115); /* 0288F038 */ _t116 = cpu->r[31] + 0x00000058u; /* 0288F038 */ rbrew_write32(cpu->mem, _t116, cpu->r[3]); /* 0288F03C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 0288F040 */ _t117 = cpu->r[1] + 0x0000000Cu; /* 0288F040 */ rbrew_write32(cpu->mem, _t117, cpu->r[28]); /* 0288F044 */ _t118 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F044 */ _t119 = _t118 & 0x00000001u; /* 0288F044 */ if (_t119) goto L_0288ED40; else goto L_0288F048; L_0288F048: ; // 0x288f048 /* 0288F048 */ _t120 = cpu->r[31] + 0x00000020u; /* 0288F048 */ cpu->r[4] = rbrew_read32(cpu->mem, _t120); /* 0288F04C */ cpu->r[5] = 0x0000001Eu; /* 0288F050 */ _t121 = cpu->r[31] + 0x00000024u; /* 0288F050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t121); /* 0288F054 */ Gambit_fn_0287B61C(cpu); /* 0288F058 */ _t122 = cpu->r[31] + 0x00000024u; /* 0288F058 */ rbrew_write32(cpu->mem, _t122, cpu->r[3]); /* 0288F05C */ cpu->r[5] = 0x0000001Eu; /* 0288F060 */ _t123 = cpu->r[31] + 0x00000028u; /* 0288F060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t123); /* 0288F064 */ _t124 = cpu->r[31] + 0x00000020u; /* 0288F064 */ cpu->r[4] = rbrew_read32(cpu->mem, _t124); /* 0288F068 */ Gambit_fn_0287B61C(cpu); /* 0288F06C */ _t125 = cpu->r[31] + 0x00000028u; /* 0288F06C */ rbrew_write32(cpu->mem, _t125, cpu->r[3]); /* 0288F070 */ cpu->r[5] = 0x0000001Eu; /* 0288F074 */ _t126 = cpu->r[31] + 0x0000002Cu; /* 0288F074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126); /* 0288F078 */ _t127 = cpu->r[31] + 0x00000020u; /* 0288F078 */ cpu->r[4] = rbrew_read32(cpu->mem, _t127); /* 0288F07C */ Gambit_fn_0287B61C(cpu); /* 0288F080 */ _t128 = cpu->r[31] + 0x0000002Cu; /* 0288F080 */ rbrew_write32(cpu->mem, _t128, cpu->r[3]); /* 0288F084 */ cpu->r[5] = 0x0000001Eu; /* 0288F088 */ _t129 = cpu->r[31] + 0x00000030u; /* 0288F088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t129); /* 0288F08C */ _t130 = cpu->r[31] + 0x00000020u; /* 0288F08C */ cpu->r[4] = rbrew_read32(cpu->mem, _t130); /* 0288F090 */ Gambit_fn_0287B61C(cpu); /* 0288F094 */ _t131 = cpu->r[31] + 0x00000030u; /* 0288F094 */ rbrew_write32(cpu->mem, _t131, cpu->r[3]); /* 0288F098 */ cpu->r[5] = 0x0000001Eu; /* 0288F09C */ _t132 = cpu->r[31] + 0x00000034u; /* 0288F09C */ cpu->r[3] = rbrew_read32(cpu->mem, _t132); /* 0288F0A0 */ _t133 = cpu->r[31] + 0x00000020u; /* 0288F0A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t133); /* 0288F0A4 */ Gambit_fn_0287B61C(cpu); /* 0288F0A8 */ _t134 = cpu->r[31] + 0x00000034u; /* 0288F0A8 */ rbrew_write32(cpu->mem, _t134, cpu->r[3]); /* 0288F0AC */ cpu->r[6] = 0x40000000u; /* 0288F0B0 */ _t135 = cpu->r[31] + 0x00000020u; /* 0288F0B0 */ rbrew_write32(cpu->mem, _t135, cpu->r[6]); L_0288F0B4: ; // 0x288f0b4 /* 0288F0B4 */ /* nop */ /* 0288F0B8 */ _t136 = cpu->r[1] + 0x0000011Cu; /* 0288F0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136); /* 0288F0BC */ cpu->lr = cpu->r[0]; /* 0288F0C0 */ cpu->r[1] = cpu->r[1] + 0x00000118u; /* 0288F0C4 */ return; } // fn_0288F0C8 @ 0x288f0c8 void Gambit_fn_0288F0C8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288F0C8: ; // 0x288f0c8 /* 0288F0C8 */ cpu->r[0] = cpu->lr; /* 0288F0CC */ _t0 = cpu->r[1] + 0xFFFFFEF0u; /* 0288F0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288F0CC */ cpu->r[1] = _t0; /* 0288F0D0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288F0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]); /* 0288F0D4 */ cpu->r[9] = 0x00000000u; /* 0288F0D8 */ _t2 = cpu->r[1] + 0x0000010Cu; /* 0288F0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0288F0DC */ _t3 = cpu->r[1] + 0x00000104u; /* 0288F0DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0288F0E0 */ _t4 = cpu->r[1] + 0x00000108u; /* 0288F0E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0288F0E4 */ _t5 = cpu->r[1] + 0x00000008u; /* 0288F0E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 0288F0E8 */ cpu->r[30] = cpu->r[5]; /* 0288F0EC */ _t6 = cpu->r[1] + 0x00000114u; /* 0288F0EC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0288F0F0 */ _t7 = cpu->r[30] + 0x00000000u; /* 0288F0F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0288F0F4 */ cpu->r[31] = cpu->r[3] + cpu->r[4]; /* 0288F0F8 */ _t8 = cpu->r[30] + 0x00000008u; /* 0288F0F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]); /* 0288F0FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]); /* 0288F100 */ _t9 = cpu->r[30] + 0x00000004u; /* 0288F100 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 0288F104 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F104 */ _t11 = _t10 & 0x00000001u; /* 0288F104 */ if (_t11) goto L_0288F108; else goto L_0288F1A4; L_0288F108: ; // 0x288f108 /* 0288F108 */ cpu->r[29] = 0x00000000u; L_0288F10C: ; // 0x288f10c /* 0288F10C */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 0288F110 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0288F114 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 0288F118 */ cpu->r[6] = cpu->r[31]; /* 0288F11C */ Gambit_fn_0288E7FC(cpu); /* 0288F120 */ cpu->r[0] = cpu->r[3]; /* 0288F124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000013u); /* 0288F128 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F128 */ _t13 = _t12 & 0x00000001u; /* 0288F128 */ if (_t13) goto L_0288F12C; else goto L_0288F150; L_0288F12C: ; // 0x288f12c /* 0288F12C */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288F130 */ cpu->r[4] = 0x00000000u; /* 0288F134 */ Gambit_fn_0288ECA0(cpu); /* 0288F138 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0288F138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0288F13C */ _t15 = cpu->r[30] + 0x00000000u; /* 0288F13C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]); /* 0288F140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0288F144 */ _t16 = cpu->r[1] + 0x00000008u; /* 0288F144 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); /* 0288F148 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F148 */ _t18 = _t17 & 0x00000001u; /* 0288F148 */ if (_t18) goto L_0288F10C; else goto L_0288F14C; L_0288F14C: ; // 0x288f14c /* 0288F14C */ goto L_0288F1A4; L_0288F150: ; // 0x288f150 /* 0288F150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u); /* 0288F154 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F154 */ _t20 = _t19 & 0x00000001u; /* 0288F154 */ if (_t20) goto L_0288F158; else goto L_0288F17C; L_0288F158: ; // 0x288f158 /* 0288F158 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288F15C */ cpu->r[4] = 0x00000000u; /* 0288F160 */ Gambit_fn_0288ECA0(cpu); /* 0288F164 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0288F164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0288F168 */ _t22 = cpu->r[30] + 0x00000004u; /* 0288F168 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); /* 0288F16C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0288F170 */ _t23 = cpu->r[1] + 0x00000008u; /* 0288F170 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]); /* 0288F174 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F174 */ _t25 = _t24 & 0x00000001u; /* 0288F174 */ if (_t25) goto L_0288F10C; else goto L_0288F178; L_0288F178: ; // 0x288f178 /* 0288F178 */ goto L_0288F1A4; L_0288F17C: ; // 0x288f17c /* 0288F17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000015u); /* 0288F180 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F180 */ _t27 = _t26 & 0x00000001u; /* 0288F180 */ if (_t27) goto L_0288F184; else goto L_0288F194; L_0288F184: ; // 0x288f184 /* 0288F184 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288F188 */ cpu->r[4] = 0x00000000u; /* 0288F18C */ Gambit_fn_0288ECA0(cpu); /* 0288F190 */ _t28 = cpu->r[30] + 0x00000008u; /* 0288F190 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]); L_0288F194: ; // 0x288f194 /* 0288F194 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0288F194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 0288F198 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0288F19C */ _t30 = cpu->r[1] + 0x00000008u; /* 0288F19C */ rbrew_write32(cpu->mem, _t30, cpu->r[29]); /* 0288F1A0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F1A0 */ _t32 = _t31 & 0x00000001u; /* 0288F1A0 */ if (_t32) goto L_0288F10C; else goto L_0288F1A4; L_0288F1A4: ; // 0x288f1a4 /* 0288F1A4 */ _t33 = cpu->r[1] + 0x00000104u; /* 0288F1A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33); /* 0288F1A8 */ _t34 = cpu->r[1] + 0x00000114u; /* 0288F1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 0288F1AC */ _t35 = cpu->r[1] + 0x00000108u; /* 0288F1AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35); /* 0288F1B0 */ cpu->lr = cpu->r[0]; /* 0288F1B4 */ _t36 = cpu->r[1] + 0x0000010Cu; /* 0288F1B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36); /* 0288F1B8 */ cpu->r[1] = cpu->r[1] + 0x00000110u; /* 0288F1BC */ return; } // fn_0288F0CC @ 0x288f0cc void Gambit_fn_0288F0CC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288F0CC: ; // 0x288f0cc /* 0288F0CC */ _t0 = cpu->r[1] + 0xFFFFFEF0u; /* 0288F0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288F0CC */ cpu->r[1] = _t0; /* 0288F0D0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0288F0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]); /* 0288F0D4 */ cpu->r[9] = 0x00000000u; /* 0288F0D8 */ _t2 = cpu->r[1] + 0x0000010Cu; /* 0288F0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0288F0DC */ _t3 = cpu->r[1] + 0x00000104u; /* 0288F0DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0288F0E0 */ _t4 = cpu->r[1] + 0x00000108u; /* 0288F0E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0288F0E4 */ _t5 = cpu->r[1] + 0x00000008u; /* 0288F0E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 0288F0E8 */ cpu->r[30] = cpu->r[5]; /* 0288F0EC */ _t6 = cpu->r[1] + 0x00000114u; /* 0288F0EC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0288F0F0 */ _t7 = cpu->r[30] + 0x00000000u; /* 0288F0F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0288F0F4 */ cpu->r[31] = cpu->r[3] + cpu->r[4]; /* 0288F0F8 */ _t8 = cpu->r[30] + 0x00000008u; /* 0288F0F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]); /* 0288F0FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]); /* 0288F100 */ _t9 = cpu->r[30] + 0x00000004u; /* 0288F100 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 0288F104 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F104 */ _t11 = _t10 & 0x00000001u; /* 0288F104 */ if (_t11) goto L_0288F108; else goto L_0288F1A4; L_0288F108: ; // 0x288f108 /* 0288F108 */ cpu->r[29] = 0x00000000u; L_0288F10C: ; // 0x288f10c /* 0288F10C */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 0288F110 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0288F114 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 0288F118 */ cpu->r[6] = cpu->r[31]; /* 0288F11C */ Gambit_fn_0288E7FC(cpu); /* 0288F120 */ cpu->r[0] = cpu->r[3]; /* 0288F124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000013u); /* 0288F128 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F128 */ _t13 = _t12 & 0x00000001u; /* 0288F128 */ if (_t13) goto L_0288F12C; else goto L_0288F150; L_0288F12C: ; // 0x288f12c /* 0288F12C */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288F130 */ cpu->r[4] = 0x00000000u; /* 0288F134 */ Gambit_fn_0288ECA0(cpu); /* 0288F138 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0288F138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0288F13C */ _t15 = cpu->r[30] + 0x00000000u; /* 0288F13C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]); /* 0288F140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0288F144 */ _t16 = cpu->r[1] + 0x00000008u; /* 0288F144 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); /* 0288F148 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F148 */ _t18 = _t17 & 0x00000001u; /* 0288F148 */ if (_t18) goto L_0288F10C; else goto L_0288F14C; L_0288F14C: ; // 0x288f14c /* 0288F14C */ goto L_0288F1A4; L_0288F150: ; // 0x288f150 /* 0288F150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u); /* 0288F154 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F154 */ _t20 = _t19 & 0x00000001u; /* 0288F154 */ if (_t20) goto L_0288F158; else goto L_0288F17C; L_0288F158: ; // 0x288f158 /* 0288F158 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288F15C */ cpu->r[4] = 0x00000000u; /* 0288F160 */ Gambit_fn_0288ECA0(cpu); /* 0288F164 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0288F164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0288F168 */ _t22 = cpu->r[30] + 0x00000004u; /* 0288F168 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); /* 0288F16C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0288F170 */ _t23 = cpu->r[1] + 0x00000008u; /* 0288F170 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]); /* 0288F174 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F174 */ _t25 = _t24 & 0x00000001u; /* 0288F174 */ if (_t25) goto L_0288F10C; else goto L_0288F178; L_0288F178: ; // 0x288f178 /* 0288F178 */ goto L_0288F1A4; L_0288F17C: ; // 0x288f17c /* 0288F17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000015u); /* 0288F180 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F180 */ _t27 = _t26 & 0x00000001u; /* 0288F180 */ if (_t27) goto L_0288F184; else goto L_0288F194; L_0288F184: ; // 0x288f184 /* 0288F184 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288F188 */ cpu->r[4] = 0x00000000u; /* 0288F18C */ Gambit_fn_0288ECA0(cpu); /* 0288F190 */ _t28 = cpu->r[30] + 0x00000008u; /* 0288F190 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]); L_0288F194: ; // 0x288f194 /* 0288F194 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0288F194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 0288F198 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0288F19C */ _t30 = cpu->r[1] + 0x00000008u; /* 0288F19C */ rbrew_write32(cpu->mem, _t30, cpu->r[29]); /* 0288F1A0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F1A0 */ _t32 = _t31 & 0x00000001u; /* 0288F1A0 */ if (_t32) goto L_0288F10C; else goto L_0288F1A4; L_0288F1A4: ; // 0x288f1a4 /* 0288F1A4 */ _t33 = cpu->r[1] + 0x00000104u; /* 0288F1A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33); /* 0288F1A8 */ _t34 = cpu->r[1] + 0x00000114u; /* 0288F1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 0288F1AC */ _t35 = cpu->r[1] + 0x00000108u; /* 0288F1AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35); /* 0288F1B0 */ cpu->lr = cpu->r[0]; /* 0288F1B4 */ _t36 = cpu->r[1] + 0x0000010Cu; /* 0288F1B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36); /* 0288F1B8 */ cpu->r[1] = cpu->r[1] + 0x00000110u; /* 0288F1BC */ return; } // fn_0288F1C0 @ 0x288f1c0 void Gambit_fn_0288F1C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0288F1C0: ; // 0x288f1c0 /* 0288F1C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0288F1C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288F1C0 */ cpu->r[1] = _t0; /* 0288F1C4 */ /* nop */ /* 0288F1C8 */ cpu->r[0] = cpu->lr; /* 0288F1CC */ cpu->r[28] = cpu->r[3]; /* 0288F1D0 */ cpu->r[31] = cpu->r[4]; /* 0288F1D4 */ cpu->r[30] = cpu->r[5]; /* 0288F1D8 */ _t1 = cpu->r[1] + 0x00000024u; /* 0288F1D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288F1DC */ Gambit_fn_0288E6A8(cpu); /* 0288F1E0 */ _t2 = cpu->r[30] + 0x00000034u; /* 0288F1E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0288F1E4 */ cpu->r[27] = cpu->r[3]; /* 0288F1E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]); /* 0288F1EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F1EC */ _t4 = _t3 & 0x00000001u; /* 0288F1EC */ if (_t4) goto L_0288F284; else goto L_0288F1F0; L_0288F1F0: ; // 0x288f1f0 /* 0288F1F0 */ _t5 = cpu->r[30] + 0x0000002Cu; /* 0288F1F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5); /* 0288F1F4 */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 0288F1F8 */ cpu->r[6] = cpu->r[27]; /* 0288F1FC */ cpu->r[4] = cpu->r[31]; /* 0288F200 */ cpu->r[3] = cpu->r[28]; /* 0288F204 */ Gambit_fn_0288E588(cpu); /* 0288F208 */ cpu->r[29] = cpu->r[3]; /* 0288F208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0288F20C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F20C */ _t7 = _t6 & 0x00000001u; /* 0288F20C */ if (_t7) goto L_0288F284; else goto L_0288F210; L_0288F210: ; // 0x288f210 /* 0288F210 */ _t8 = cpu->r[1] + 0x00000008u; /* 0288F210 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8); /* 0288F214 */ cpu->r[7] = cpu->r[30] + 0x00000024u; /* 0288F218 */ cpu->r[6] = cpu->r[29]; /* 0288F21C */ cpu->r[4] = cpu->r[31]; /* 0288F220 */ cpu->r[3] = cpu->r[28]; /* 0288F224 */ Gambit_fn_0288ED00(cpu); /* 0288F228 */ _t9 = cpu->r[30] + 0x00000034u; /* 0288F228 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]); /* 0288F22C */ _t10 = cpu->r[28] + 0x0000005Cu; /* 0288F22C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0288F230 */ cpu->r[5] = cpu->r[29]; /* 0288F234 */ cpu->r[4] = cpu->r[28]; /* 0288F238 */ cpu->r[3] = cpu->r[10] + 0x00002114u; /* 0288F23C */ Gambit_fn_02889858(cpu); /* 0288F240 */ _t11 = cpu->r[30] + 0x00000080u; /* 0288F240 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 0288F244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0288F248 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F248 */ _t13 = _t12 & 0x00000001u; /* 0288F248 */ if (_t13) goto L_0288F284; else goto L_0288F24C; L_0288F24C: ; // 0x288f24c /* 0288F24C */ _t14 = cpu->r[30] + 0x0000007Cu; /* 0288F24C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0288F250 */ _t15 = cpu->r[31] + 0x000000A0u; /* 0288F250 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 0288F254 */ cpu->r[3] = cpu->r[28]; /* 0288F258 */ cpu->r[4] = cpu->r[31]; /* 0288F25C */ cpu->r[5] = cpu->r[11] + cpu->r[12]; /* 0288F260 */ _t16 = cpu->r[1] + 0x00000008u; /* 0288F260 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]); /* 0288F264 */ Gambit_fn_0288A6B8(cpu); /* 0288F268 */ _t17 = cpu->r[1] + 0x00000008u; /* 0288F268 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 0288F26C */ cpu->r[5] = cpu->r[30] + 0x0000008Cu; /* 0288F270 */ cpu->r[31] = cpu->r[3]; /* 0288F274 */ Gambit_fn_0288F0C8(cpu); /* 0288F278 */ cpu->r[3] = cpu->r[28]; /* 0288F27C */ cpu->r[4] = cpu->r[31]; /* 0288F280 */ Gambit_fn_0288CA30(cpu); L_0288F284: ; // 0x288f284 /* 0288F284 */ /* nop */ /* 0288F288 */ _t18 = cpu->r[1] + 0x00000024u; /* 0288F288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0288F28C */ cpu->lr = cpu->r[0]; /* 0288F290 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0288F294 */ cpu->r[3] = 0x00000000u; /* 0288F298 */ return; } // fn_0288F29C @ 0x288f29c void Gambit_fn_0288F29C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288F29C: ; // 0x288f29c /* 0288F29C */ _t0 = cpu->r[1] + 0xFFFFFFA8u; /* 0288F29C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288F29C */ cpu->r[1] = _t0; /* 0288F2A0 */ /* nop */ /* 0288F2A4 */ cpu->r[0] = cpu->lr; /* 0288F2A8 */ _t1 = cpu->r[1] + 0x0000005Cu; /* 0288F2A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288F2AC */ cpu->r[21] = cpu->r[3]; /* 0288F2B0 */ _t2 = cpu->r[21] + 0x0000001Cu; /* 0288F2B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 0288F2B4 */ _t3 = cpu->r[21] + 0x0000005Cu; /* 0288F2B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 0288F2B8 */ _t4 = cpu->r[9] + 0x00000020u; /* 0288F2B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0288F2BC */ _t5 = cpu->r[7] + 0x0000211Cu; /* 0288F2BC */ cpu->r[16] = rbrew_read32(cpu->mem, _t5); /* 0288F2C0 */ _t6 = cpu->r[11] + 0x00000010u; /* 0288F2C0 */ cpu->r[17] = rbrew_read32(cpu->mem, _t6); /* 0288F2C4 */ _t7 = cpu->r[7] + 0x00002120u; /* 0288F2C4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t7); /* 0288F2C8 */ _t8 = cpu->r[17] + 0x00000004u; /* 0288F2C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 0288F2CC */ _t9 = cpu->r[17] + 0x00000114u; /* 0288F2CC */ cpu->r[26] = rbrew_read32(cpu->mem, _t9); /* 0288F2D0 */ _t10 = cpu->r[12] + 0x00000006u; /* 0288F2D0 */ cpu->r[18] = rbrew_read16(cpu->mem, _t10); /* 0288F2D4 */ _t11 = cpu->r[12] + 0x00000008u; /* 0288F2D4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11); /* 0288F2D8 */ _t12 = cpu->r[17] + 0x0000011Cu; /* 0288F2D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12); /* 0288F2DC */ _t13 = cpu->r[17] + 0x00000130u; /* 0288F2DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0288F2E0 */ _t14 = cpu->r[17] + 0x00000128u; /* 0288F2E0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t14); /* 0288F2E4 */ _t15 = cpu->r[17] + 0x00000134u; /* 0288F2E4 */ cpu->r[14] = rbrew_read16(cpu->mem, _t15); /* 0288F2E8 */ _t16 = cpu->r[17] + 0x0000010Cu; /* 0288F2E8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t16); /* 0288F2EC */ _t17 = cpu->r[17] + 0x0000012Cu; /* 0288F2EC */ cpu->r[15] = rbrew_read32(cpu->mem, _t17); /* 0288F2F0 */ _t18 = cpu->r[17] + 0x00000118u; /* 0288F2F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t18); /* 0288F2F4 */ _t19 = cpu->r[17] + 0x00000120u; /* 0288F2F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0288F2F8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0288F2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0288F2FC */ cpu->r[20] = cpu->r[9]; /* 0288F300 */ cpu->r[19] = cpu->r[17] + 0x0000010Cu; /* 0288F304 */ _t20 = cpu->r[17] + 0x00000110u; /* 0288F304 */ cpu->r[25] = rbrew_read32(cpu->mem, _t20); /* 0288F308 */ cpu->r[8] = cpu->r[18]; /* 0288F30C */ _t21 = cpu->r[17] + 0x00000124u; /* 0288F30C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 0288F310 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F310 */ _t23 = _t22 & 0x00000001u; /* 0288F310 */ if (_t23) goto L_0288F318; else goto L_0288F314; L_0288F314: ; // 0x288f314 /* 0288F314 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu); L_0288F318: ; // 0x288f318 /* 0288F318 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0288F318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288F31C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F31C */ _t25 = _t24 & 0x00000001u; /* 0288F31C */ if (_t25) goto L_0288F324; else goto L_0288F320; L_0288F320: ; // 0x288f320 /* 0288F320 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); L_0288F324: ; // 0x288f324 /* 0288F324 */ _t26 = cpu->r[12] + 0x00000008u; /* 0288F324 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[9]); /* 0288F328 */ _t27 = cpu->r[17] + 0x00000004u; /* 0288F328 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27); /* 0288F32C */ _t28 = cpu->r[17] + 0x0000018Au; /* 0288F32C */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[9]); /* 0288F330 */ cpu->r[3] = cpu->r[21]; /* 0288F334 */ _t29 = cpu->r[6] + 0x00000006u; /* 0288F334 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[8]); /* 0288F338 */ cpu->r[4] = cpu->r[17]; /* 0288F33C */ _t30 = cpu->r[17] + 0x0000018Cu; /* 0288F33C */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[8]); /* 0288F340 */ Gambit_fn_0287C1E8(cpu); /* 0288F344 */ _t31 = cpu->r[1] + 0x00000008u; /* 0288F344 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]); /* 0288F348 */ _t32 = cpu->r[1] + 0x00000008u; /* 0288F348 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32); /* 0288F34C */ cpu->r[3] = cpu->r[21]; /* 0288F350 */ Gambit_fn_0288D574(cpu); /* 0288F354 */ _t33 = cpu->r[21] + 0x00000028u; /* 0288F354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0288F358 */ cpu->r[10] = cpu->r[3]; /* 0288F35C */ cpu->r[3] = cpu->r[21]; /* 0288F360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288F364 */ cpu->r[4] = cpu->r[17]; /* 0288F368 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F368 */ _t35 = _t34 & 0x00000001u; /* 0288F368 */ if (_t35) goto L_0288F3C0; else goto L_0288F36C; L_0288F36C: ; // 0x288f36c /* 0288F36C */ _t36 = cpu->r[17] + 0x00000004u; /* 0288F36C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36); /* 0288F370 */ _t37 = cpu->r[7] + 0x00000008u; /* 0288F370 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[20]); /* 0288F374 */ _t38 = cpu->r[17] + 0x00000004u; /* 0288F374 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38); /* 0288F378 */ _t39 = cpu->r[8] + 0x00000006u; /* 0288F378 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[18]); /* 0288F37C */ _t40 = cpu->r[17] + 0x0000018Au; /* 0288F37C */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[20]); /* 0288F380 */ _t41 = cpu->r[17] + 0x0000018Cu; /* 0288F380 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[18]); /* 0288F384 */ _t42 = cpu->r[21] + 0x0000005Cu; /* 0288F384 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42); /* 0288F388 */ _t43 = cpu->r[9] + 0x00002120u; /* 0288F388 */ rbrew_write32(cpu->mem, _t43, cpu->r[22]); /* 0288F38C */ _t44 = cpu->r[21] + 0x0000005Cu; /* 0288F38C */ cpu->r[10] = rbrew_read32(cpu->mem, _t44); /* 0288F390 */ _t45 = cpu->r[10] + 0x0000211Cu; /* 0288F390 */ rbrew_write32(cpu->mem, _t45, cpu->r[16]); /* 0288F394 */ Gambit_fn_0287C1E8(cpu); /* 0288F398 */ cpu->r[5] = 0x00000001u; /* 0288F39C */ cpu->r[4] = cpu->r[17]; /* 0288F3A0 */ cpu->r[3] = cpu->r[21]; /* 0288F3A4 */ Gambit_fn_0287F598(cpu); /* 0288F3A8 */ _t46 = cpu->r[21] + 0x00000028u; /* 0288F3A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46); /* 0288F3AC */ /* nop */ /* 0288F3B0 */ _t47 = cpu->r[1] + 0x0000005Cu; /* 0288F3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 0288F3B4 */ cpu->lr = cpu->r[0]; /* 0288F3B8 */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 0288F3BC */ return; L_0288F3C0: ; // 0x288f3c0 /* 0288F3C0 */ _t48 = cpu->r[21] + 0x0000005Cu; /* 0288F3C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48); /* 0288F3C4 */ _t49 = cpu->r[1] + 0x00000008u; /* 0288F3C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 0288F3C8 */ _t50 = cpu->r[11] + 0x0000211Cu; /* 0288F3C8 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]); /* 0288F3CC */ _t51 = cpu->r[21] + 0x0000005Cu; /* 0288F3CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t51); /* 0288F3D0 */ cpu->r[5] = 0x00000001u; /* 0288F3D4 */ _t52 = cpu->r[12] + 0x00002120u; /* 0288F3D4 */ rbrew_write32(cpu->mem, _t52, cpu->r[10]); /* 0288F3D8 */ Gambit_fn_0287F598(cpu); /* 0288F3DC */ _t53 = cpu->r[21] + 0x0000005Cu; /* 0288F3DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t53); /* 0288F3E0 */ _t54 = cpu->r[17] + 0x0000001Cu; /* 0288F3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 0288F3E4 */ cpu->r[4] = cpu->r[23]; /* 0288F3E8 */ _t55 = cpu->r[6] + 0x00002120u; /* 0288F3E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55); /* 0288F3EC */ cpu->r[23] = rbrew_rlwinm(cpu->r[20], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0288F3F0 */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 0288F3F4 */ cpu->r[5] = cpu->r[23]; /* 0288F3F8 */ _t56 = cpu->r[17] + 0x000001ACu; /* 0288F3F8 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]); /* 0288F3FC */ _t57 = cpu->r[19] + 0x0000001Cu; /* 0288F3FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t57); /* 0288F400 */ cpu->r[6] = 0x00000000u; /* 0288F404 */ _t58 = cpu->r[19] + 0x00000028u; /* 0288F404 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[14]); /* 0288F408 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F40C */ cpu->r[4] = cpu->r[15]; /* 0288F410 */ _t59 = cpu->r[19] + 0x00000020u; /* 0288F410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59); /* 0288F414 */ cpu->r[6] = 0x00000000u; /* 0288F418 */ cpu->r[5] = cpu->r[23]; /* 0288F41C */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F420 */ _t60 = cpu->r[19] + 0x00000010u; /* 0288F420 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60); /* 0288F424 */ cpu->r[23] = rbrew_rlwinm(cpu->r[18], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288F428 */ cpu->r[6] = 0x00000000u; /* 0288F42C */ cpu->r[4] = cpu->r[28]; /* 0288F430 */ cpu->r[5] = cpu->r[23]; /* 0288F434 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F438 */ _t61 = cpu->r[19] + 0x00000014u; /* 0288F438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61); /* 0288F43C */ cpu->r[4] = cpu->r[29]; /* 0288F440 */ cpu->r[5] = cpu->r[23]; /* 0288F444 */ cpu->r[6] = 0x00000000u; /* 0288F448 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F44C */ _t62 = cpu->r[19] + 0x00000008u; /* 0288F44C */ cpu->r[3] = rbrew_read32(cpu->mem, _t62); /* 0288F450 */ cpu->r[6] = 0x00000000u; /* 0288F454 */ cpu->r[5] = cpu->r[23]; /* 0288F458 */ cpu->r[4] = cpu->r[26]; /* 0288F45C */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F460 */ _t63 = cpu->r[19] + 0x0000000Cu; /* 0288F460 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63); /* 0288F464 */ cpu->r[6] = 0x00000000u; /* 0288F468 */ cpu->r[5] = cpu->r[23]; /* 0288F46C */ cpu->r[4] = cpu->r[27]; /* 0288F470 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F474 */ _t64 = cpu->r[19] + 0x00000000u; /* 0288F474 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64); /* 0288F478 */ cpu->r[6] = 0x00000000u; /* 0288F47C */ cpu->r[5] = cpu->r[23]; /* 0288F480 */ cpu->r[4] = cpu->r[24]; /* 0288F484 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F488 */ _t65 = cpu->r[19] + 0x00000004u; /* 0288F488 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65); /* 0288F48C */ cpu->r[4] = cpu->r[25]; /* 0288F490 */ cpu->r[5] = cpu->r[23]; /* 0288F494 */ cpu->r[6] = 0x00000000u; /* 0288F498 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F49C */ _t66 = cpu->r[19] + 0x00000024u; /* 0288F49C */ cpu->r[3] = rbrew_read32(cpu->mem, _t66); /* 0288F4A0 */ cpu->r[4] = cpu->r[30]; /* 0288F4A4 */ cpu->r[5] = cpu->r[18]; /* 0288F4A8 */ cpu->r[6] = 0x00000000u; /* 0288F4AC */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F4B0 */ _t67 = cpu->r[19] + 0x00000018u; /* 0288F4B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67); /* 0288F4B4 */ cpu->r[4] = cpu->r[31]; /* 0288F4B8 */ cpu->r[5] = cpu->r[18]; /* 0288F4BC */ cpu->r[6] = 0x00000000u; /* 0288F4C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288F4C4 */ cpu->r[3] = cpu->r[21]; /* 0288F4C8 */ cpu->r[4] = cpu->r[22]; /* 0288F4CC */ Gambit_fn_0288CA30(cpu); /* 0288F4D0 */ cpu->r[3] = 0x00000000u; /* 0288F4D4 */ _t68 = cpu->r[21] + 0x00000028u; /* 0288F4D4 */ rbrew_write32(cpu->mem, _t68, cpu->r[3]); /* 0288F4D8 */ /* nop */ /* 0288F4DC */ _t69 = cpu->r[1] + 0x0000005Cu; /* 0288F4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 0288F4E0 */ cpu->lr = cpu->r[0]; /* 0288F4E4 */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 0288F4E8 */ return; } // fn_0288F4EC @ 0x288f4ec void Gambit_fn_0288F4EC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288F4EC: ; // 0x288f4ec /* 0288F4EC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0288F4EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288F4EC */ cpu->r[1] = _t0; /* 0288F4F0 */ /* nop */ /* 0288F4F4 */ cpu->r[0] = cpu->lr; /* 0288F4F8 */ _t1 = cpu->r[1] + 0x00000024u; /* 0288F4F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288F4FC */ cpu->r[29] = cpu->r[3]; /* 0288F500 */ _t2 = cpu->r[29] + 0x0000001Cu; /* 0288F500 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2); /* 0288F504 */ _t3 = cpu->r[5] + 0x00000020u; /* 0288F504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0288F508 */ _t4 = cpu->r[10] + 0x00000010u; /* 0288F508 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0288F50C */ cpu->r[30] = cpu->r[4]; /* 0288F510 */ _t5 = cpu->r[12] + 0x00000134u; /* 0288F510 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 0288F514 */ cpu->r[31] = cpu->r[12] + 0x0000010Cu; /* 0288F518 */ _t6 = cpu->r[30] + 0x00000008u; /* 0288F518 */ cpu->r[27] = rbrew_read32(cpu->mem, _t6); /* 0288F51C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0288F520 */ _t7 = cpu->r[12] + 0x0000018Cu; /* 0288F520 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 0288F524 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F524 */ _t9 = _t8 & 0x00000001u; /* 0288F524 */ if (_t9) goto L_0288F5C8; else goto L_0288F528; L_0288F528: ; // 0x288f528 /* 0288F528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0288F52C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F52C */ _t11 = _t10 & 0x00000001u; /* 0288F52C */ if (_t11) goto L_0288F5C8; else goto L_0288F530; L_0288F530: ; // 0x288f530 /* 0288F530 */ _t12 = cpu->r[31] + 0x00000010u; /* 0288F530 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 0288F534 */ cpu->r[28] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288F538 */ _t13 = cpu->r[30] + 0x000000DCu; /* 0288F538 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 0288F53C */ cpu->r[10] = cpu->r[8] + cpu->r[28]; /* 0288F540 */ _t14 = cpu->r[10] + 0xFFFFFFFCu; /* 0288F540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0288F544 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]); /* 0288F548 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F548 */ _t16 = _t15 & 0x00000001u; /* 0288F548 */ if (_t16) goto L_0288F54C; else goto L_0288F564; L_0288F54C: ; // 0x288f54c /* 0288F54C */ _t17 = cpu->r[31] + 0x00000014u; /* 0288F54C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 0288F550 */ _t18 = cpu->r[30] + 0x000000E0u; /* 0288F550 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 0288F554 */ cpu->r[12] = cpu->r[12] + cpu->r[28]; /* 0288F558 */ _t19 = cpu->r[12] + 0xFFFFFFFCu; /* 0288F558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0288F55C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]); /* 0288F560 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F560 */ _t21 = _t20 & 0x00000001u; /* 0288F560 */ if (_t21) goto L_0288F5C8; else goto L_0288F564; L_0288F564: ; // 0x288f564 /* 0288F564 */ cpu->r[0] = cpu->r[27] + 0x00000001u; /* 0288F568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 0288F56C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F56C */ _t23 = _t22 & 0x00000001u; /* 0288F56C */ if (_t23) goto L_0288F590; else goto L_0288F570; L_0288F570: ; // 0x288f570 /* 0288F570 */ cpu->r[3] = cpu->r[29]; /* 0288F574 */ cpu->r[4] = 0x00000001u; /* 0288F578 */ Gambit_fn_0288F29C(cpu); /* 0288F57C */ _t24 = cpu->r[29] + 0x00000028u; /* 0288F57C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24); /* 0288F580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288F584 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F584 */ _t26 = _t25 & 0x00000001u; /* 0288F584 */ if (_t26) goto L_0288F588; else goto L_0288F5D0; L_0288F588: ; // 0x288f588 /* 0288F588 */ _t27 = cpu->r[31] + 0x00000010u; /* 0288F588 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27); /* 0288F58C */ _t28 = cpu->r[30] + 0x000000DCu; /* 0288F58C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); L_0288F590: ; // 0x288f590 /* 0288F590 */ _t29 = cpu->r[8] + cpu->r[28]; /* 0288F590 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]); /* 0288F594 */ _t30 = cpu->r[31] + 0x00000014u; /* 0288F594 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0288F598 */ _t31 = cpu->r[30] + 0x000000E0u; /* 0288F598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0288F59C */ _t32 = cpu->r[5] + cpu->r[28]; /* 0288F59C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 0288F5A0 */ _t33 = cpu->r[31] + 0x00000018u; /* 0288F5A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 0288F5A4 */ cpu->r[0] = 0x00000001u; /* 0288F5A8 */ _t34 = cpu->r[9] + cpu->r[27]; /* 0288F5A8 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[0]); /* 0288F5AC */ _t35 = cpu->r[31] + 0x00000020u; /* 0288F5AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t35); /* 0288F5B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0288F5B4 */ cpu->r[12] = cpu->r[5] + cpu->r[0]; /* 0288F5B8 */ _t36 = cpu->r[12] + 0xFFFFFFFEu; /* 0288F5B8 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[27]); /* 0288F5BC */ _t37 = cpu->r[30] + 0x00000008u; /* 0288F5BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t37); /* 0288F5C0 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0288F5C4 */ _t38 = cpu->r[30] + 0x00000008u; /* 0288F5C4 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]); L_0288F5C8: ; // 0x288f5c8 /* 0288F5C8 */ cpu->r[3] = 0x00000000u; /* 0288F5CC */ _t39 = cpu->r[29] + 0x00000028u; /* 0288F5CC */ rbrew_write32(cpu->mem, _t39, cpu->r[3]); L_0288F5D0: ; // 0x288f5d0 /* 0288F5D0 */ /* nop */ /* 0288F5D4 */ _t40 = cpu->r[1] + 0x00000024u; /* 0288F5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0288F5D8 */ cpu->lr = cpu->r[0]; /* 0288F5DC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0288F5E0 */ return; } // fn_0288F5E4 @ 0x288f5e4 void Gambit_fn_0288F5E4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46; L_0288F5E4: ; // 0x288f5e4 /* 0288F5E4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0288F5E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288F5E4 */ cpu->r[1] = _t0; /* 0288F5E8 */ /* nop */ /* 0288F5EC */ cpu->r[0] = cpu->lr; /* 0288F5F0 */ _t1 = cpu->r[1] + 0x00000034u; /* 0288F5F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288F5F4 */ cpu->r[29] = cpu->r[5]; /* 0288F5F8 */ _t2 = cpu->r[3] + 0x0000001Cu; /* 0288F5F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0288F5FC */ _t3 = cpu->r[10] + 0x00000020u; /* 0288F5FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 0288F600 */ cpu->r[30] = cpu->r[6]; /* 0288F604 */ cpu->r[28] = cpu->r[4]; /* 0288F608 */ _t4 = cpu->r[11] + 0x00000010u; /* 0288F608 */ cpu->r[25] = rbrew_read32(cpu->mem, _t4); /* 0288F60C */ cpu->r[4] = cpu->r[30]; /* 0288F610 */ cpu->r[27] = cpu->r[3]; /* 0288F614 */ _t5 = cpu->r[25] + 0x00000134u; /* 0288F614 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 0288F618 */ cpu->r[31] = cpu->r[25] + 0x0000010Cu; /* 0288F61C */ Gambit_fn_0288F4EC(cpu); /* 0288F620 */ _t6 = cpu->r[27] + 0x00000028u; /* 0288F620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0288F624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288F628 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F628 */ _t8 = _t7 & 0x00000001u; /* 0288F628 */ if (_t8) goto L_0288F62C; else goto L_0288F738; L_0288F62C: ; // 0x288f62c /* 0288F62C */ _t9 = cpu->r[30] + 0x00000008u; /* 0288F62C */ cpu->r[24] = rbrew_read32(cpu->mem, _t9); /* 0288F630 */ _t10 = cpu->r[25] + 0x0000018Cu; /* 0288F630 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 0288F634 */ cpu->r[12] = cpu->r[24] + 0x00000001u; /* 0288F638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 0288F63C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F63C */ _t12 = _t11 & 0x00000001u; /* 0288F63C */ if (_t12) goto L_0288F658; else goto L_0288F640; L_0288F640: ; // 0x288f640 /* 0288F640 */ cpu->r[3] = cpu->r[27]; /* 0288F644 */ cpu->r[4] = 0x00000001u; /* 0288F648 */ Gambit_fn_0288F29C(cpu); /* 0288F64C */ _t13 = cpu->r[27] + 0x00000028u; /* 0288F64C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 0288F650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288F654 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F654 */ _t15 = _t14 & 0x00000001u; /* 0288F654 */ if (_t15) goto L_0288F658; else goto L_0288F738; L_0288F658: ; // 0x288f658 /* 0288F658 */ _t16 = cpu->r[25] + 0x0000018Au; /* 0288F658 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 0288F65C */ cpu->r[0] = cpu->r[26] + 0x00000001u; /* 0288F660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 0288F664 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F664 */ _t18 = _t17 & 0x00000001u; /* 0288F664 */ if (_t18) goto L_0288F680; else goto L_0288F668; L_0288F668: ; // 0x288f668 /* 0288F668 */ cpu->r[3] = cpu->r[27]; /* 0288F66C */ cpu->r[4] = 0x00000002u; /* 0288F670 */ Gambit_fn_0288F29C(cpu); /* 0288F674 */ _t19 = cpu->r[27] + 0x00000028u; /* 0288F674 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19); /* 0288F678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288F67C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F67C */ _t21 = _t20 & 0x00000001u; /* 0288F67C */ if (_t21) goto L_0288F680; else goto L_0288F738; L_0288F680: ; // 0x288f680 /* 0288F680 */ _t22 = cpu->r[31] + 0x0000001Cu; /* 0288F680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 0288F684 */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0288F688 */ _t23 = cpu->r[9] + cpu->r[26]; /* 0288F688 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[24]); /* 0288F68C */ _t24 = cpu->r[31] + 0x00000028u; /* 0288F68C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24); /* 0288F690 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0288F694 */ _t25 = cpu->r[31] + 0x00000028u; /* 0288F694 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[11]); /* 0288F698 */ _t26 = cpu->r[27] + 0x00000018u; /* 0288F698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 0288F69C */ _t27 = cpu->r[12] + 0x00000028u; /* 0288F69C */ cpu->r[10] = rbrew_read32(cpu->mem, _t27); /* 0288F6A0 */ _t28 = cpu->r[10] + 0x0000009Cu; /* 0288F6A0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t28); /* 0288F6A4 */ cpu->r[3] = cpu->r[28]; /* 0288F6A8 */ _t29 = cpu->r[23] + 0x00000044u; /* 0288F6A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0288F6AC */ cpu->r[5] = 0x0000001Eu; /* 0288F6B0 */ Gambit_fn_0287B904(cpu); /* 0288F6B4 */ _t30 = cpu->r[23] + 0x0000004Cu; /* 0288F6B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30); /* 0288F6B8 */ cpu->r[25] = cpu->r[3]; /* 0288F6BC */ cpu->r[5] = 0x0000001Eu; /* 0288F6C0 */ cpu->r[3] = cpu->r[29]; /* 0288F6C4 */ Gambit_fn_0287B904(cpu); /* 0288F6C8 */ _t31 = cpu->r[23] + 0x00000048u; /* 0288F6C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31); /* 0288F6CC */ cpu->r[25] = cpu->r[25] + cpu->r[3]; /* 0288F6D0 */ cpu->r[3] = cpu->r[28]; /* 0288F6D4 */ cpu->r[5] = 0x0000001Eu; /* 0288F6D8 */ Gambit_fn_0287B904(cpu); /* 0288F6DC */ _t32 = cpu->r[23] + 0x00000050u; /* 0288F6DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t32); /* 0288F6E0 */ cpu->r[28] = cpu->r[3]; /* 0288F6E4 */ cpu->r[3] = cpu->r[29]; /* 0288F6E8 */ cpu->r[5] = 0x0000001Eu; /* 0288F6EC */ Gambit_fn_0287B904(cpu); /* 0288F6F0 */ _t33 = cpu->r[31] + 0x00000010u; /* 0288F6F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33); /* 0288F6F4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288F6F8 */ _t34 = cpu->r[5] + cpu->r[9]; /* 0288F6F8 */ rbrew_write32(cpu->mem, _t34, cpu->r[25]); /* 0288F6FC */ _t35 = cpu->r[30] + 0x000000DCu; /* 0288F6FC */ rbrew_write32(cpu->mem, _t35, cpu->r[25]); /* 0288F700 */ _t36 = cpu->r[31] + 0x00000014u; /* 0288F700 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36); /* 0288F704 */ cpu->r[0] = cpu->r[28] + cpu->r[3]; /* 0288F708 */ _t37 = cpu->r[6] + cpu->r[9]; /* 0288F708 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 0288F70C */ _t38 = cpu->r[30] + 0x000000E0u; /* 0288F70C */ rbrew_write32(cpu->mem, _t38, cpu->r[0]); /* 0288F710 */ _t39 = cpu->r[31] + 0x00000018u; /* 0288F710 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39); /* 0288F714 */ cpu->r[0] = 0x00000001u; /* 0288F718 */ _t40 = cpu->r[8] + cpu->r[24]; /* 0288F718 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]); /* 0288F71C */ _t41 = cpu->r[31] + 0x00000020u; /* 0288F71C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 0288F720 */ _t42 = cpu->r[11] + cpu->r[26]; /* 0288F720 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[24]); /* 0288F724 */ _t43 = cpu->r[30] + 0x00000008u; /* 0288F724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43); /* 0288F728 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0288F72C */ cpu->r[3] = 0x00000000u; /* 0288F730 */ _t44 = cpu->r[30] + 0x00000008u; /* 0288F730 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]); /* 0288F734 */ _t45 = cpu->r[27] + 0x00000028u; /* 0288F734 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]); L_0288F738: ; // 0x288f738 /* 0288F738 */ /* nop */ /* 0288F73C */ _t46 = cpu->r[1] + 0x00000034u; /* 0288F73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 0288F740 */ cpu->lr = cpu->r[0]; /* 0288F744 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0288F748 */ return; } // fn_0288F74C @ 0x288f74c void Gambit_fn_0288F74C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288F74C: ; // 0x288f74c /* 0288F74C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0288F74C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288F74C */ cpu->r[1] = _t0; /* 0288F750 */ /* nop */ /* 0288F754 */ cpu->r[0] = cpu->lr; /* 0288F758 */ _t1 = cpu->r[1] + 0x00000034u; /* 0288F758 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288F75C */ cpu->r[29] = cpu->r[5]; /* 0288F760 */ cpu->r[27] = cpu->r[3]; /* 0288F764 */ cpu->r[30] = cpu->r[6]; /* 0288F768 */ _t2 = cpu->r[27] + 0x0000001Cu; /* 0288F768 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0288F76C */ _t3 = cpu->r[6] + 0x00000020u; /* 0288F76C */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 0288F770 */ _t4 = cpu->r[30] + 0x00000008u; /* 0288F770 */ cpu->r[25] = rbrew_read32(cpu->mem, _t4); /* 0288F774 */ _t5 = cpu->r[7] + 0x00000010u; /* 0288F774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 0288F778 */ cpu->r[12] = cpu->r[25] + 0x00000001u; /* 0288F77C */ _t6 = cpu->r[8] + 0x0000018Cu; /* 0288F77C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 0288F780 */ cpu->r[31] = cpu->r[8] + 0x0000010Cu; /* 0288F784 */ cpu->r[28] = cpu->r[4]; /* 0288F788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 0288F78C */ _t7 = cpu->r[8] + 0x00000134u; /* 0288F78C */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 0288F790 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F790 */ _t9 = _t8 & 0x00000001u; /* 0288F790 */ if (_t9) goto L_0288F7AC; else goto L_0288F794; L_0288F794: ; // 0x288f794 /* 0288F794 */ cpu->r[3] = cpu->r[27]; /* 0288F798 */ cpu->r[4] = 0x00000001u; /* 0288F79C */ Gambit_fn_0288F29C(cpu); /* 0288F7A0 */ _t10 = cpu->r[27] + 0x00000028u; /* 0288F7A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0288F7A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288F7A8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F7A8 */ _t12 = _t11 & 0x00000001u; /* 0288F7A8 */ if (_t12) goto L_0288F7AC; else goto L_0288F84C; L_0288F7AC: ; // 0x288f7ac /* 0288F7AC */ _t13 = cpu->r[27] + 0x00000018u; /* 0288F7AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 0288F7B0 */ _t14 = cpu->r[9] + 0x00000028u; /* 0288F7B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0288F7B4 */ _t15 = cpu->r[11] + 0x0000009Cu; /* 0288F7B4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t15); /* 0288F7B8 */ cpu->r[5] = 0x0000001Eu; /* 0288F7BC */ _t16 = cpu->r[26] + 0x00000044u; /* 0288F7BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0288F7C0 */ cpu->r[3] = cpu->r[28]; /* 0288F7C4 */ Gambit_fn_0287B904(cpu); /* 0288F7C8 */ _t17 = cpu->r[26] + 0x0000004Cu; /* 0288F7C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 0288F7CC */ cpu->r[23] = cpu->r[3]; /* 0288F7D0 */ cpu->r[5] = 0x0000001Eu; /* 0288F7D4 */ cpu->r[3] = cpu->r[29]; /* 0288F7D8 */ Gambit_fn_0287B904(cpu); /* 0288F7DC */ _t18 = cpu->r[26] + 0x00000048u; /* 0288F7DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); /* 0288F7E0 */ cpu->r[23] = cpu->r[23] + cpu->r[3]; /* 0288F7E4 */ cpu->r[5] = 0x0000001Eu; /* 0288F7E8 */ cpu->r[3] = cpu->r[28]; /* 0288F7EC */ Gambit_fn_0287B904(cpu); /* 0288F7F0 */ _t19 = cpu->r[26] + 0x00000050u; /* 0288F7F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19); /* 0288F7F4 */ cpu->r[28] = cpu->r[3]; /* 0288F7F8 */ cpu->r[3] = cpu->r[29]; /* 0288F7FC */ cpu->r[5] = 0x0000001Eu; /* 0288F800 */ Gambit_fn_0287B904(cpu); /* 0288F804 */ _t20 = cpu->r[31] + 0x00000010u; /* 0288F804 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0288F808 */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288F80C */ _t21 = cpu->r[12] + cpu->r[0]; /* 0288F80C */ rbrew_write32(cpu->mem, _t21, cpu->r[23]); /* 0288F810 */ _t22 = cpu->r[31] + 0x00000014u; /* 0288F810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0288F814 */ cpu->r[10] = cpu->r[28] + cpu->r[3]; /* 0288F818 */ _t23 = cpu->r[5] + cpu->r[0]; /* 0288F818 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]); /* 0288F81C */ _t24 = cpu->r[31] + 0x00000018u; /* 0288F81C */ cpu->r[6] = rbrew_read32(cpu->mem, _t24); /* 0288F820 */ cpu->r[7] = 0x00000001u; /* 0288F824 */ _t25 = cpu->r[6] + cpu->r[25]; /* 0288F824 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[7]); /* 0288F828 */ _t26 = cpu->r[31] + 0x00000020u; /* 0288F828 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26); /* 0288F82C */ cpu->r[8] = rbrew_rlwinm(cpu->r[24], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0288F830 */ cpu->r[9] = cpu->r[10] + cpu->r[8]; /* 0288F834 */ _t27 = cpu->r[9] + 0xFFFFFFFEu; /* 0288F834 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[25]); /* 0288F838 */ _t28 = cpu->r[30] + 0x00000008u; /* 0288F838 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 0288F83C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0288F840 */ cpu->r[3] = 0x00000000u; /* 0288F844 */ _t29 = cpu->r[30] + 0x00000008u; /* 0288F844 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]); /* 0288F848 */ _t30 = cpu->r[27] + 0x00000028u; /* 0288F848 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]); L_0288F84C: ; // 0x288f84c /* 0288F84C */ /* nop */ /* 0288F850 */ _t31 = cpu->r[1] + 0x00000034u; /* 0288F850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0288F854 */ cpu->lr = cpu->r[0]; /* 0288F858 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0288F85C */ return; } // fn_0288F860 @ 0x288f860 void Gambit_fn_0288F860(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0288F860: ; // 0x288f860 /* 0288F860 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 0288F860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288F860 */ cpu->r[1] = _t0; /* 0288F864 */ /* nop */ /* 0288F868 */ cpu->r[0] = cpu->lr; /* 0288F86C */ _t1 = cpu->r[1] + 0x00000044u; /* 0288F86C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288F870 */ cpu->r[29] = cpu->r[3]; /* 0288F874 */ cpu->r[22] = cpu->r[5]; /* 0288F878 */ _t2 = cpu->r[29] + 0x0000001Cu; /* 0288F878 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2); /* 0288F87C */ cpu->r[28] = cpu->r[7]; /* 0288F880 */ cpu->r[25] = cpu->r[10]; /* 0288F884 */ _t3 = cpu->r[5] + 0x00000020u; /* 0288F884 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 0288F888 */ _t4 = cpu->r[25] + 0x00000008u; /* 0288F888 */ cpu->r[26] = rbrew_read32(cpu->mem, _t4); /* 0288F88C */ cpu->r[20] = cpu->r[9]; /* 0288F890 */ _t5 = cpu->r[7] + 0x00000010u; /* 0288F890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0288F894 */ cpu->r[5] = cpu->r[26] + 0x00000003u; /* 0288F898 */ cpu->r[30] = cpu->r[4]; /* 0288F89C */ _t6 = cpu->r[9] + 0x0000018Cu; /* 0288F89C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 0288F8A0 */ cpu->r[31] = cpu->r[9] + 0x0000010Cu; /* 0288F8A4 */ cpu->r[24] = cpu->r[6]; /* 0288F8A8 */ cpu->r[19] = cpu->r[8]; /* 0288F8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 0288F8B0 */ _t7 = cpu->r[9] + 0x00000134u; /* 0288F8B0 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 0288F8B4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288F8B4 */ _t9 = _t8 & 0x00000001u; /* 0288F8B4 */ if (_t9) goto L_0288F8D0; else goto L_0288F8B8; L_0288F8B8: ; // 0x288f8b8 /* 0288F8B8 */ cpu->r[3] = cpu->r[29]; /* 0288F8BC */ cpu->r[4] = 0x00000001u; /* 0288F8C0 */ Gambit_fn_0288F29C(cpu); /* 0288F8C4 */ _t10 = cpu->r[29] + 0x00000028u; /* 0288F8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0288F8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0288F8CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288F8CC */ _t12 = _t11 & 0x00000001u; /* 0288F8CC */ if (_t12) goto L_0288F8D0; else goto L_0288FA50; L_0288F8D0: ; // 0x288f8d0 /* 0288F8D0 */ _t13 = cpu->r[29] + 0x00000018u; /* 0288F8D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13); /* 0288F8D4 */ _t14 = cpu->r[11] + 0x00000028u; /* 0288F8D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14); /* 0288F8D8 */ _t15 = cpu->r[8] + 0x0000009Cu; /* 0288F8D8 */ cpu->r[18] = rbrew_read32(cpu->mem, _t15); /* 0288F8DC */ cpu->r[5] = 0x0000001Eu; /* 0288F8E0 */ _t16 = cpu->r[18] + 0x00000044u; /* 0288F8E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0288F8E4 */ cpu->r[3] = cpu->r[30]; /* 0288F8E8 */ Gambit_fn_0287B904(cpu); /* 0288F8EC */ _t17 = cpu->r[18] + 0x0000004Cu; /* 0288F8EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 0288F8F0 */ cpu->r[23] = cpu->r[3]; /* 0288F8F4 */ cpu->r[5] = 0x0000001Eu; /* 0288F8F8 */ cpu->r[3] = cpu->r[22]; /* 0288F8FC */ Gambit_fn_0287B904(cpu); /* 0288F900 */ _t18 = cpu->r[18] + 0x00000048u; /* 0288F900 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); /* 0288F904 */ cpu->r[21] = cpu->r[23] + cpu->r[3]; /* 0288F908 */ cpu->r[5] = 0x0000001Eu; /* 0288F90C */ cpu->r[3] = cpu->r[30]; /* 0288F910 */ Gambit_fn_0287B904(cpu); /* 0288F914 */ _t19 = cpu->r[18] + 0x00000050u; /* 0288F914 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19); /* 0288F918 */ cpu->r[30] = cpu->r[3]; /* 0288F91C */ cpu->r[3] = cpu->r[22]; /* 0288F920 */ cpu->r[5] = 0x0000001Eu; /* 0288F924 */ Gambit_fn_0287B904(cpu); /* 0288F928 */ _t20 = cpu->r[18] + 0x00000044u; /* 0288F928 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20); /* 0288F92C */ cpu->r[22] = cpu->r[30] + cpu->r[3]; /* 0288F930 */ cpu->r[3] = cpu->r[24]; /* 0288F934 */ cpu->r[5] = 0x0000001Eu; /* 0288F938 */ Gambit_fn_0287B904(cpu); /* 0288F93C */ _t21 = cpu->r[18] + 0x0000004Cu; /* 0288F93C */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 0288F940 */ cpu->r[30] = cpu->r[3]; /* 0288F944 */ cpu->r[3] = cpu->r[28]; /* 0288F948 */ cpu->r[5] = 0x0000001Eu; /* 0288F94C */ Gambit_fn_0287B904(cpu); /* 0288F950 */ _t22 = cpu->r[18] + 0x00000048u; /* 0288F950 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22); /* 0288F954 */ cpu->r[23] = cpu->r[30] + cpu->r[3]; /* 0288F958 */ cpu->r[3] = cpu->r[24]; /* 0288F95C */ cpu->r[5] = 0x0000001Eu; /* 0288F960 */ Gambit_fn_0287B904(cpu); /* 0288F964 */ _t23 = cpu->r[18] + 0x00000050u; /* 0288F964 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 0288F968 */ cpu->r[30] = cpu->r[3]; /* 0288F96C */ cpu->r[3] = cpu->r[28]; /* 0288F970 */ cpu->r[5] = 0x0000001Eu; /* 0288F974 */ Gambit_fn_0287B904(cpu); /* 0288F978 */ _t24 = cpu->r[18] + 0x00000044u; /* 0288F978 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24); /* 0288F97C */ cpu->r[24] = cpu->r[30] + cpu->r[3]; /* 0288F980 */ cpu->r[3] = cpu->r[19]; /* 0288F984 */ cpu->r[5] = 0x0000001Eu; /* 0288F988 */ Gambit_fn_0287B904(cpu); /* 0288F98C */ _t25 = cpu->r[18] + 0x0000004Cu; /* 0288F98C */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 0288F990 */ cpu->r[30] = cpu->r[3]; /* 0288F994 */ cpu->r[5] = 0x0000001Eu; /* 0288F998 */ cpu->r[3] = cpu->r[20]; /* 0288F99C */ Gambit_fn_0287B904(cpu); /* 0288F9A0 */ _t26 = cpu->r[18] + 0x00000048u; /* 0288F9A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26); /* 0288F9A4 */ cpu->r[28] = cpu->r[30] + cpu->r[3]; /* 0288F9A8 */ cpu->r[5] = 0x0000001Eu; /* 0288F9AC */ cpu->r[3] = cpu->r[19]; /* 0288F9B0 */ Gambit_fn_0287B904(cpu); /* 0288F9B4 */ _t27 = cpu->r[18] + 0x00000050u; /* 0288F9B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27); /* 0288F9B8 */ cpu->r[30] = cpu->r[3]; /* 0288F9BC */ cpu->r[5] = 0x0000001Eu; /* 0288F9C0 */ cpu->r[3] = cpu->r[20]; /* 0288F9C4 */ Gambit_fn_0287B904(cpu); /* 0288F9C8 */ _t28 = cpu->r[31] + 0x00000010u; /* 0288F9C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 0288F9CC */ cpu->r[9] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288F9D0 */ _t29 = cpu->r[10] + cpu->r[9]; /* 0288F9D0 */ rbrew_write32(cpu->mem, _t29, cpu->r[21]); /* 0288F9D4 */ _t30 = cpu->r[31] + 0x00000014u; /* 0288F9D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 0288F9D8 */ _t31 = cpu->r[11] + cpu->r[9]; /* 0288F9D8 */ rbrew_write32(cpu->mem, _t31, cpu->r[22]); /* 0288F9DC */ _t32 = cpu->r[31] + 0x00000018u; /* 0288F9DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 0288F9E0 */ cpu->r[0] = 0x00000000u; /* 0288F9E4 */ _t33 = cpu->r[12] + cpu->r[26]; /* 0288F9E4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]); /* 0288F9E8 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0288F9EC */ _t34 = cpu->r[31] + 0x00000010u; /* 0288F9EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 0288F9F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288F9F4 */ _t35 = cpu->r[12] + cpu->r[9]; /* 0288F9F4 */ rbrew_write32(cpu->mem, _t35, cpu->r[23]); /* 0288F9F8 */ _t36 = cpu->r[31] + 0x00000014u; /* 0288F9F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36); /* 0288F9FC */ _t37 = cpu->r[6] + cpu->r[9]; /* 0288F9FC */ rbrew_write32(cpu->mem, _t37, cpu->r[24]); /* 0288FA00 */ _t38 = cpu->r[31] + 0x00000018u; /* 0288FA00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38); /* 0288FA04 */ _t39 = cpu->r[8] + cpu->r[26]; /* 0288FA04 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]); /* 0288FA08 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0288FA0C */ _t40 = cpu->r[31] + 0x00000010u; /* 0288FA0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t40); /* 0288FA10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288FA14 */ _t41 = cpu->r[11] + cpu->r[9]; /* 0288FA14 */ rbrew_write32(cpu->mem, _t41, cpu->r[28]); /* 0288FA18 */ _t42 = cpu->r[31] + 0x00000014u; /* 0288FA18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42); /* 0288FA1C */ cpu->r[6] = cpu->r[30] + cpu->r[3]; /* 0288FA20 */ _t43 = cpu->r[12] + cpu->r[9]; /* 0288FA20 */ rbrew_write32(cpu->mem, _t43, cpu->r[6]); /* 0288FA24 */ _t44 = cpu->r[31] + 0x00000018u; /* 0288FA24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44); /* 0288FA28 */ cpu->r[8] = 0x00000001u; /* 0288FA2C */ _t45 = cpu->r[6] + cpu->r[26]; /* 0288FA2C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[8]); /* 0288FA30 */ _t46 = cpu->r[31] + 0x00000020u; /* 0288FA30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46); /* 0288FA34 */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0288FA38 */ cpu->r[10] = cpu->r[12] + cpu->r[9]; /* 0288FA3C */ _t47 = cpu->r[10] + 0xFFFFFFFEu; /* 0288FA3C */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[26]); /* 0288FA40 */ _t48 = cpu->r[25] + 0x00000008u; /* 0288FA40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48); /* 0288FA44 */ cpu->r[5] = cpu->r[5] + 0x00000003u; /* 0288FA48 */ _t49 = cpu->r[25] + 0x00000008u; /* 0288FA48 */ rbrew_write32(cpu->mem, _t49, cpu->r[5]); /* 0288FA4C */ _t50 = cpu->r[29] + 0x00000028u; /* 0288FA4C */ rbrew_write32(cpu->mem, _t50, cpu->r[0]); L_0288FA50: ; // 0x288fa50 /* 0288FA50 */ /* nop */ /* 0288FA54 */ cpu->r[3] = cpu->r[0]; /* 0288FA58 */ _t51 = cpu->r[1] + 0x00000044u; /* 0288FA58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 0288FA5C */ cpu->lr = cpu->r[0]; /* 0288FA60 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 0288FA64 */ return; } // fn_0288FA68 @ 0x288fa68 void Gambit_fn_0288FA68(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0288FA68: ; // 0x288fa68 /* 0288FA68 */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 0288FA68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288FA68 */ cpu->r[1] = _t0; /* 0288FA6C */ /* nop */ /* 0288FA70 */ cpu->r[0] = cpu->lr; /* 0288FA74 */ _t1 = cpu->r[1] + 0x00000054u; /* 0288FA74 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288FA78 */ cpu->r[29] = cpu->r[3]; /* 0288FA7C */ cpu->r[30] = cpu->r[4]; /* 0288FA80 */ _t2 = cpu->r[29] + 0x00000018u; /* 0288FA80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 0288FA84 */ cpu->r[0] = 0x51EB0000u; /* 0288FA88 */ _t3 = cpu->r[30] + 0x00000038u; /* 0288FA88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0288FA8C */ cpu->r[0] = cpu->r[0] | 0x0000851Fu; /* 0288FA90 */ cpu->r[31] = cpu->r[5]; /* 0288FA94 */ _t4 = cpu->r[9] + 0x00000028u; /* 0288FA94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0288FA98 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0288FA9C */ _t5 = cpu->r[29] + 0x0000001Cu; /* 0288FA9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 0288FAA0 */ cpu->r[28] = (uint32_t)(((int64_t)(int32_t)cpu->r[0] * (int64_t)(int32_t)cpu->r[11]) >> 32); /* 0288FAA4 */ cpu->r[4] = cpu->r[8] + 0x00000004u; /* 0288FAA8 */ _t6 = cpu->r[7] + 0x00000018u; /* 0288FAA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 0288FAAC */ /* nop */ /* 0288FAB0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0288FAB4 */ cpu->r[5] = 0x00000010u; /* 0288FAB8 */ /* nop */ /* 0288FABC */ _t7 = cpu->r[10] + 0x00000012u; /* 0288FABC */ cpu->r[23] = rbrew_read16(cpu->mem, _t7); /* 0288FAC0 */ cpu->r[6] = 0x00000000u; /* 0288FAC4 */ cpu->r[28] = cpu->r[28] - cpu->r[0]; /* 0288FAC8 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0288FACC */ _t8 = cpu->r[1] + 0x00000010u; /* 0288FACC */ cpu->r[27] = rbrew_read32(cpu->mem, _t8); /* 0288FAD0 */ _t9 = cpu->r[30] + 0x00000034u; /* 0288FAD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0288FAD4 */ cpu->r[27] = (uint32_t)((int32_t)cpu->r[27] / (int32_t)cpu->r[23]); /* 0288FAD8 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 0288FAD8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t10); /* 0288FADC */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[24] / (int32_t)cpu->r[23]); /* 0288FAE0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[5]); /* 0288FAE4 */ _t11 = cpu->r[1] + 0x00000014u; /* 0288FAE4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t11); /* 0288FAE8 */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[26] / (int32_t)cpu->r[23]); /* 0288FAEC */ _t12 = cpu->r[30] + 0x00000004u; /* 0288FAEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0288FAF0 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[0]); /* 0288FAF4 */ _t13 = cpu->r[1] + 0x00000018u; /* 0288FAF4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t13); /* 0288FAF8 */ _t14 = cpu->r[30] + 0x00000008u; /* 0288FAF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14); /* 0288FAFC */ cpu->r[25] = (uint32_t)((int32_t)cpu->r[25] / (int32_t)cpu->r[23]); /* 0288FB00 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[7]); /* 0288FB04 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)cpu->r[0]); /* 0288FB08 */ _t15 = cpu->r[30] + 0x00000000u; /* 0288FB08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 0288FB0C */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[7]); /* 0288FB10 */ _t16 = cpu->r[30] + 0x0000001Cu; /* 0288FB10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0288FB14 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[3]); /* 0288FB18 */ cpu->r[0] = cpu->r[11] + cpu->r[12]; /* 0288FB1C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)cpu->r[4]); /* 0288FB20 */ _t17 = cpu->r[30] + 0x00000018u; /* 0288FB20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 0288FB24 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[3]); /* 0288FB28 */ _t18 = cpu->r[1] + 0x00000014u; /* 0288FB28 */ rbrew_write32(cpu->mem, _t18, cpu->r[26]); /* 0288FB2C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)cpu->r[5]); /* 0288FB30 */ cpu->r[26] = cpu->r[10] + cpu->r[6]; /* 0288FB34 */ cpu->r[22] = cpu->r[7] + cpu->r[9]; /* 0288FB38 */ cpu->r[6] = cpu->r[0] - cpu->r[26]; /* 0288FB3C */ _t19 = cpu->r[1] + 0x0000001Cu; /* 0288FB3C */ rbrew_write32(cpu->mem, _t19, cpu->r[24]); /* 0288FB40 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[12]); /* 0288FB44 */ _t20 = cpu->r[1] + 0x00000010u; /* 0288FB44 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]); /* 0288FB48 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[4]); /* 0288FB4C */ _t21 = cpu->r[1] + 0x00000018u; /* 0288FB4C */ rbrew_write32(cpu->mem, _t21, cpu->r[25]); /* 0288FB50 */ _t22 = cpu->r[1] + 0x00000008u; /* 0288FB50 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]); /* 0288FB54 */ cpu->r[0] = cpu->r[23] + cpu->r[11]; /* 0288FB58 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[12]); /* 0288FB5C */ cpu->r[0] = cpu->r[22] - cpu->r[0]; /* 0288FB60 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0288FB64 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0288FB64 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); /* 0288FB68 */ cpu->r[21] = cpu->r[7] + cpu->r[8]; /* 0288FB6C */ cpu->r[23] = cpu->r[9] + cpu->r[10]; /* 0288FB70 */ Gambit_fn_0287BA40(cpu); /* 0288FB74 */ _t24 = cpu->r[1] + 0x0000000Cu; /* 0288FB74 */ cpu->r[25] = rbrew_read32(cpu->mem, _t24); /* 0288FB78 */ cpu->r[5] = 0x00000010u; /* 0288FB7C */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[26]); /* 0288FB80 */ _t25 = cpu->r[1] + 0x00000008u; /* 0288FB80 */ cpu->r[24] = rbrew_read32(cpu->mem, _t25); /* 0288FB84 */ cpu->r[4] = cpu->r[25]; /* 0288FB88 */ Gambit_fn_0287B904(cpu); /* 0288FB8C */ cpu->r[27] = cpu->r[3]; /* 0288FB90 */ cpu->r[5] = 0x00000010u; /* 0288FB94 */ cpu->r[4] = cpu->r[24]; /* 0288FB98 */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[22]); /* 0288FB9C */ Gambit_fn_0287B904(cpu); /* 0288FBA0 */ cpu->r[26] = cpu->r[27] + cpu->r[3]; /* 0288FBA4 */ cpu->r[5] = 0x00000010u; /* 0288FBA8 */ cpu->r[4] = cpu->r[21]; /* 0288FBAC */ cpu->r[3] = cpu->r[24]; /* 0288FBB0 */ Gambit_fn_0287B904(cpu); /* 0288FBB4 */ cpu->r[27] = cpu->r[3]; /* 0288FBB8 */ cpu->r[4] = cpu->r[23]; /* 0288FBBC */ cpu->r[3] = cpu->r[25]; /* 0288FBC0 */ cpu->r[5] = 0x00000010u; /* 0288FBC4 */ Gambit_fn_0287B904(cpu); /* 0288FBC8 */ cpu->r[6] = cpu->r[27] + cpu->r[3]; /* 0288FBCC */ cpu->r[12] = cpu->r[6] + cpu->r[26]; /* 0288FBD0 */ /* nop */ /* 0288FBD4 */ cpu->r[9] = cpu->r[12] ^ cpu->r[0]; /* 0288FBD8 */ cpu->r[9] = cpu->r[9] - cpu->r[0]; /* 0288FBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[28]); /* 0288FBE0 */ cpu->r[3] = cpu->r[29]; /* 0288FBE4 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FBE4 */ _t27 = _t26 & 0x00000001u; /* 0288FBE4 */ if (_t27) goto L_0288FBE8; else goto L_0288FBFC; L_0288FBE8: ; // 0x288fbe8 /* 0288FBE8 */ _t28 = cpu->r[30] + 0x00000034u; /* 0288FBE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28); /* 0288FBEC */ cpu->r[6] = cpu->r[31]; /* 0288FBF0 */ _t29 = cpu->r[30] + 0x00000030u; /* 0288FBF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0288FBF4 */ Gambit_fn_0288F74C(cpu); /* 0288FBF8 */ goto L_0288FC48; L_0288FBFC: ; // 0x288fbfc /* 0288FBFC */ _t30 = cpu->r[30] + 0x00000014u; /* 0288FBFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t30); /* 0288FC00 */ cpu->r[10] = cpu->r[31]; /* 0288FC04 */ _t31 = cpu->r[30] + 0x00000008u; /* 0288FC04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31); /* 0288FC08 */ _t32 = cpu->r[30] + 0x0000000Cu; /* 0288FC08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32); /* 0288FC0C */ _t33 = cpu->r[30] + 0x00000010u; /* 0288FC0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t33); /* 0288FC10 */ _t34 = cpu->r[30] + 0x00000018u; /* 0288FC10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34); /* 0288FC14 */ _t35 = cpu->r[30] + 0x0000001Cu; /* 0288FC14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35); /* 0288FC18 */ Gambit_fn_0288F860(cpu); /* 0288FC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0288FC20 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288FC20 */ _t37 = _t36 & 0x00000001u; /* 0288FC20 */ if (_t37) goto L_0288FC24; else goto L_0288FC48; L_0288FC24: ; // 0x288fc24 /* 0288FC24 */ _t38 = cpu->r[30] + 0x0000002Cu; /* 0288FC24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38); /* 0288FC28 */ cpu->r[10] = cpu->r[31]; /* 0288FC2C */ _t39 = cpu->r[30] + 0x00000030u; /* 0288FC2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t39); /* 0288FC30 */ cpu->r[3] = cpu->r[29]; /* 0288FC34 */ _t40 = cpu->r[30] + 0x00000034u; /* 0288FC34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 0288FC38 */ _t41 = cpu->r[30] + 0x00000028u; /* 0288FC38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41); /* 0288FC3C */ _t42 = cpu->r[30] + 0x00000024u; /* 0288FC3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 0288FC40 */ _t43 = cpu->r[30] + 0x00000020u; /* 0288FC40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43); /* 0288FC44 */ Gambit_fn_0288F860(cpu); L_0288FC48: ; // 0x288fc48 /* 0288FC48 */ /* nop */ /* 0288FC4C */ _t44 = cpu->r[1] + 0x00000054u; /* 0288FC4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 0288FC50 */ cpu->lr = cpu->r[0]; /* 0288FC54 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 0288FC58 */ return; } // fn_0288FC5C @ 0x288fc5c void Gambit_fn_0288FC5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0288FC5C: ; // 0x288fc5c /* 0288FC5C */ _t0 = cpu->r[3] + 0x00000088u; /* 0288FC5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t0); /* 0288FC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0288FC64 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288FC64 */ _t2 = _t1 & 0x00000001u; /* 0288FC64 */ if (_t2) goto L_0288FCC8; else goto L_0288FC68; L_0288FC68: ; // 0x288fc68 /* 0288FC68 */ cpu->r[9] = cpu->r[4] + 0xFFFFFFE0u; /* 0288FC6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x000000E0u); /* 0288FC70 */ cpu->r[0] = 0x00000000u; /* 0288FC74 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FC74 */ _t4 = _t3 & 0x00000001u; /* 0288FC74 */ if (_t4) goto L_0288FC78; else goto L_0288FC80; L_0288FC78: ; // 0x288fc78 /* 0288FC78 */ cpu->r[10] = cpu->r[4] + 0x10130000u; /* 0288FC7C */ _t5 = cpu->r[10] + 0x00007314u; /* 0288FC7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); L_0288FC80: ; // 0x288fc80 /* 0288FC80 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0288FC84 */ _t6 = cpu->r[12] + cpu->r[8]; /* 0288FC84 */ cpu->r[6] = rbrew_read16(cpu->mem, _t6); /* 0288FC88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 0288FC8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288FC8C */ _t8 = _t7 & 0x00000001u; /* 0288FC8C */ if (_t8) goto L_0288FC90; else goto L_0288FC98; L_0288FC90: ; // 0x288fc90 /* 0288FC90 */ cpu->r[3] = cpu->r[0]; /* 0288FC94 */ return; L_0288FC98: ; // 0x288fc98 /* 0288FC98 */ _t9 = cpu->r[3] + 0x00000084u; /* 0288FC98 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 0288FC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0288FCA0 */ cpu->r[4] = 0x00000000u; /* 0288FCA4 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FCA4 */ _t11 = _t10 & 0x00000001u; /* 0288FCA4 */ if (_t11) goto L_0288FCA8; else goto L_0288FCC4; L_0288FCA8: ; // 0x288fca8 /* 0288FCA8 */ cpu->ctr = cpu->r[11]; /* 0288FCAC */ cpu->r[12] = cpu->r[8] + 0xFFFFFFFEu; L_0288FCB0: ; // 0x288fcb0 /* 0288FCB0 */ _t12 = cpu->r[12] + 0x00000002u; /* 0288FCB0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t12); /* 0288FCB0 */ cpu->r[12] = _t12; /* 0288FCB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 0288FCB8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288FCB8 */ _t14 = _t13 & 0x00000001u; /* 0288FCB8 */ if (_t14) goto L_0288FCC8; else goto L_0288FCBC; L_0288FCBC: ; // 0x288fcbc /* 0288FCBC */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0288FCC0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0288FCC0 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0288FCC0 */ _t16 = _t15 >> (0x00000002u & 31u); /* 0288FCC0 */ _t17 = _t16 & 0x00000001u; /* 0288FCC0 */ if (_t17) goto L_0288FCB0; else goto L_0288FCC4; L_0288FCC4: ; // 0x288fcc4 /* 0288FCC4 */ cpu->r[4] = 0x00000000u; L_0288FCC8: ; // 0x288fcc8 /* 0288FCC8 */ cpu->r[3] = cpu->r[4]; /* 0288FCCC */ return; } // fn_0288FCD0 @ 0x288fcd0 void Gambit_fn_0288FCD0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0288FCD0: ; // 0x288fcd0 /* 0288FCD0 */ _t0 = cpu->r[4] + 0x000000CCu; /* 0288FCD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0288FCD4 */ cpu->r[0] = cpu->r[11] - cpu->r[3]; /* 0288FCD8 */ /* nop */ /* 0288FCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u); /* 0288FCE0 */ cpu->r[0] = cpu->r[12]; /* 0288FCE4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288FCE4 */ _t2 = _t1 & 0x00000001u; /* 0288FCE4 */ if (_t2) goto L_0288FCE8; else goto L_0288FCF8; L_0288FCE8: ; // 0x288fce8 /* 0288FCE8 */ _t3 = cpu->r[4] + 0x000000E4u; /* 0288FCE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0288FCEC */ cpu->r[10] = cpu->r[10] + cpu->r[0]; /* 0288FCF0 */ _t4 = cpu->r[4] + 0x000000E4u; /* 0288FCF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 0288FCF4 */ return; L_0288FCF8: ; // 0x288fcf8 /* 0288FCF8 */ _t5 = cpu->r[4] + 0x000000E8u; /* 0288FCF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0288FCFC */ cpu->r[12] = cpu->r[12] + cpu->r[0]; /* 0288FD00 */ _t6 = cpu->r[4] + 0x000000E8u; /* 0288FD00 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0288FD04 */ return; } // fn_0288FD08 @ 0x288fd08 void Gambit_fn_0288FD08(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0288FD08: ; // 0x288fd08 /* 0288FD08 */ _t0 = cpu->r[1] + 0xFFFFFE90u; /* 0288FD08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0288FD08 */ cpu->r[1] = _t0; /* 0288FD0C */ /* nop */ /* 0288FD10 */ cpu->r[0] = cpu->lr; /* 0288FD14 */ _t1 = cpu->r[1] + 0x00000174u; /* 0288FD14 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0288FD18 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0288FD18 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]); /* 0288FD1C */ cpu->r[14] = cpu->r[4]; /* 0288FD20 */ cpu->r[24] = cpu->r[3]; /* 0288FD24 */ _t3 = cpu->r[24] + 0x0000001Cu; /* 0288FD24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 0288FD28 */ cpu->r[26] = cpu->r[7]; /* 0288FD2C */ _t4 = cpu->r[14] + 0x0000009Cu; /* 0288FD2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0288FD30 */ _t5 = cpu->r[8] + 0x00000020u; /* 0288FD30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0288FD34 */ cpu->r[25] = 0x00000000u; /* 0288FD38 */ _t6 = cpu->r[1] + 0x00000008u; /* 0288FD38 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]); /* 0288FD3C */ cpu->r[31] = cpu->r[6]; /* 0288FD40 */ _t7 = cpu->r[9] + 0x00000010u; /* 0288FD40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0288FD44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0288FD48 */ _t8 = cpu->r[26] + 0x000000D0u; /* 0288FD48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8); /* 0288FD4C */ cpu->r[20] = cpu->r[25]; /* 0288FD50 */ _t9 = cpu->r[10] + 0x0000018Cu; /* 0288FD50 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 0288FD54 */ cpu->r[15] = cpu->r[25]; /* 0288FD58 */ _t10 = cpu->r[26] + 0x000000D4u; /* 0288FD58 */ cpu->r[27] = rbrew_read32(cpu->mem, _t10); /* 0288FD5C */ cpu->r[29] = cpu->r[26] + 0x0000000Cu; /* 0288FD60 */ cpu->r[16] = cpu->r[20]; /* 0288FD64 */ _t11 = cpu->r[7] + 0x00000000u; /* 0288FD64 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[11]); /* 0288FD68 */ _t12 = cpu->r[10] + 0x0000018Au; /* 0288FD68 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 0288FD6C */ cpu->r[21] = cpu->r[16]; /* 0288FD70 */ cpu->r[22] = cpu->r[16]; /* 0288FD74 */ cpu->r[23] = cpu->r[20]; /* 0288FD78 */ _t13 = cpu->r[7] + 0x00000002u; /* 0288FD78 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[12]); /* 0288FD7C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288FD7C */ _t15 = _t14 & 0x00000001u; /* 0288FD7C */ if (_t15) goto L_02891C88; else goto L_0288FD80; L_0288FD80: ; // 0x288fd80 /* 0288FD80 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0288FD80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0288FD84 */ cpu->r[12] = cpu->r[4] + cpu->r[31]; /* 0288FD88 */ _t17 = cpu->r[1] + 0x00000014u; /* 0288FD88 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]); /* 0288FD8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]); /* 0288FD90 */ _t18 = cpu->r[1] + 0x00000010u; /* 0288FD90 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]); /* 0288FD94 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FD94 */ _t20 = _t19 & 0x00000001u; /* 0288FD94 */ if (_t20) goto L_0288FD98; else goto L_02891C88; L_0288FD98: ; // 0x288fd98 /* 0288FD98 */ _t21 = cpu->r[1] + 0x00000014u; /* 0288FD98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 0288FD9C */ cpu->r[7] = 0x00010000u; /* 0288FDA0 */ cpu->r[12] = 0x00010000u; /* 0288FDA4 */ _t22 = cpu->r[26] + 0x000000CCu; /* 0288FDA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22); /* 0288FDA8 */ cpu->r[7] = cpu->r[7] + 0xFFFFF700u; /* 0288FDAC */ cpu->r[12] = cpu->r[12] + 0xFFFFFB00u; L_0288FDB0: ; // 0x288fdb0 /* 0288FDB0 */ _t23 = cpu->r[1] + 0x00000010u; /* 0288FDB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0288FDB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 0288FDB8 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FDB8 */ _t25 = _t24 & 0x00000001u; /* 0288FDB8 */ if (_t25) goto L_0288FDBC; else goto L_0288FDE0; L_0288FDBC: ; // 0x288fdbc /* 0288FDBC */ _t26 = cpu->r[26] + 0x000000CCu; /* 0288FDBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t26); /* 0288FDC0 */ cpu->r[30] = cpu->r[10]; /* 0288FDC4 */ /* nop */ /* 0288FDC8 */ _t27 = cpu->r[1] + 0x00000174u; /* 0288FDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0288FDCC */ cpu->lr = cpu->r[0]; /* 0288FDD0 */ cpu->r[1] = cpu->r[1] + 0x00000170u; /* 0288FDD4 */ cpu->r[3] = 0x000001C8u; /* 0288FDD8 */ cpu->r[9] = 0xFFFFFFFFu; /* 0288FDDC */ return; L_0288FDE0: ; // 0x288fde0 /* 0288FDE0 */ _t28 = cpu->r[8] + 0x00000000u; /* 0288FDE0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t28); /* 0288FDE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000001Cu); /* 0288FDE8 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0288FDEC */ _t29 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FDEC */ _t30 = _t29 & 0x00000001u; /* 0288FDEC */ if (_t30) goto L_0288FE34; else goto L_0288FDF0; L_0288FDF0: ; // 0x288fdf0 /* 0288FDF0 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FDF0 */ _t32 = _t31 & 0x00000001u; /* 0288FDF0 */ if (_t32) goto L_0288FE28; else goto L_0288FDF4; L_0288FDF4: ; // 0x288fdf4 /* 0288FDF4 */ _t33 = cpu->r[8] + 0x00000000u; /* 0288FDF4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t33); /* 0288FDF8 */ _t34 = cpu->r[8] + 0x00000001u; /* 0288FDF8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t34); /* 0288FDF8 */ cpu->r[8] = _t34; /* 0288FDFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x00000017u); /* 0288FE00 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0288FE04 */ cpu->r[11] = cpu->r[0] | cpu->r[4]; /* 0288FE08 */ _t35 = cpu->r[1] + 0x00000010u; /* 0288FE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 0288FE0C */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288FE10 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0288FE14 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0288FE18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 0288FE1C */ _t36 = cpu->r[4] + cpu->r[29]; /* 0288FE1C */ rbrew_write32(cpu->mem, _t36, cpu->r[5]); /* 0288FE20 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FE20 */ _t38 = _t37 & 0x00000001u; /* 0288FE20 */ if (_t38) goto L_0288FDBC; else goto L_0288FE24; L_0288FE24: ; // 0x288fe24 /* 0288FE24 */ goto L_0288FDE0; L_0288FE28: ; // 0x288fe28 /* 0288FE28 */ cpu->r[6] = cpu->r[9] + 0xFFFFFFE3u; /* 0288FE2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u); /* 0288FE30 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FE30 */ _t40 = _t39 & 0x00000001u; /* 0288FE30 */ if (_t40) goto L_0288FE34; else goto L_0288FE60; L_0288FE34: ; // 0x288fe34 /* 0288FE34 */ _t41 = cpu->r[1] + 0x00000014u; /* 0288FE34 */ rbrew_write32(cpu->mem, _t41, cpu->r[8]); /* 0288FE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0288FE3C */ cpu->r[30] = cpu->r[10]; /* 0288FE40 */ _t42 = cpu->r[26] + 0x000000CCu; /* 0288FE40 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]); /* 0288FE44 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FE44 */ _t44 = _t43 & 0x00000001u; /* 0288FE44 */ if (_t44) goto L_0288FE48; else goto L_0288FF64; L_0288FE48: ; // 0x288fe48 /* 0288FE48 */ /* nop */ /* 0288FE4C */ _t45 = cpu->r[1] + 0x00000174u; /* 0288FE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 0288FE50 */ cpu->lr = cpu->r[0]; /* 0288FE54 */ cpu->r[1] = cpu->r[1] + 0x00000170u; /* 0288FE58 */ cpu->r[3] = 0x000001C8u; /* 0288FE5C */ return; L_0288FE60: ; // 0x288fe60 /* 0288FE60 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFE0u; /* 0288FE64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000D7u); /* 0288FE68 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FE68 */ _t47 = _t46 & 0x00000001u; /* 0288FE68 */ if (_t47) goto L_0288FE6C; else goto L_0288FE90; L_0288FE6C: ; // 0x288fe6c /* 0288FE6C */ _t48 = cpu->r[1] + 0x00000010u; /* 0288FE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0288FE70 */ cpu->r[11] = cpu->r[9] + 0xFFFFFF75u; /* 0288FE74 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288FE78 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0288FE7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 0288FE80 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0288FE84 */ _t49 = cpu->r[9] + cpu->r[29]; /* 0288FE84 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]); /* 0288FE88 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FE88 */ _t51 = _t50 & 0x00000001u; /* 0288FE88 */ if (_t51) goto L_0288FDBC; else goto L_0288FE8C; L_0288FE8C: ; // 0x288fe8c /* 0288FE8C */ goto L_0288FDE0; L_0288FE90: ; // 0x288fe90 /* 0288FE90 */ cpu->r[4] = cpu->r[9] + 0xFFFFFF09u; /* 0288FE94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u); /* 0288FE98 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FE98 */ _t53 = _t52 & 0x00000001u; /* 0288FE98 */ if (_t53) goto L_0288FE9C; else goto L_0288FED4; L_0288FE9C: ; // 0x288fe9c /* 0288FE9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000000u, 0x00000017u); /* 0288FEA0 */ _t54 = cpu->r[8] + 0x00000000u; /* 0288FEA0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t54); /* 0288FEA4 */ cpu->r[5] = cpu->r[0] - cpu->r[7]; /* 0288FEA8 */ _t55 = cpu->r[1] + 0x00000010u; /* 0288FEA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55); /* 0288FEAC */ cpu->r[6] = cpu->r[5] + cpu->r[11]; /* 0288FEB0 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0288FEB4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288FEB8 */ cpu->r[11] = cpu->r[6] + 0x0000006Cu; /* 0288FEBC */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0288FEC0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0288FEC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 0288FEC8 */ _t56 = cpu->r[9] + cpu->r[29]; /* 0288FEC8 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]); /* 0288FECC */ _t57 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FECC */ _t58 = _t57 & 0x00000001u; /* 0288FECC */ if (_t58) goto L_0288FDBC; else goto L_0288FED0; L_0288FED0: ; // 0x288fed0 /* 0288FED0 */ goto L_0288FDE0; L_0288FED4: ; // 0x288fed4 /* 0288FED4 */ cpu->r[5] = cpu->r[9] + 0xFFFFFF05u; /* 0288FED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u); /* 0288FEDC */ _t59 = cpu->cr[0] >> (0x00000003u & 31u); /* 0288FEDC */ _t60 = _t59 & 0x00000001u; /* 0288FEDC */ if (_t60) goto L_0288FEE0; else goto L_0288FF1C; L_0288FEE0: ; // 0x288fee0 /* 0288FEE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000000u, 0x00000017u); /* 0288FEE4 */ _t61 = cpu->r[8] + 0x00000000u; /* 0288FEE4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t61); /* 0288FEE8 */ cpu->r[6] = cpu->r[0] - cpu->r[12]; /* 0288FEEC */ cpu->r[9] = cpu->r[6] + cpu->r[11]; /* 0288FEF0 */ _t62 = cpu->r[1] + 0x00000010u; /* 0288FEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 0288FEF4 */ cpu->r[11] = cpu->r[9] + 0x0000006Cu; /* 0288FEF8 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0288FEFC */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288FF00 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[11]); /* 0288FF04 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0288FF08 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0288FF0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 0288FF10 */ _t63 = cpu->r[4] + cpu->r[29]; /* 0288FF10 */ rbrew_write32(cpu->mem, _t63, cpu->r[5]); /* 0288FF14 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FF14 */ _t65 = _t64 & 0x00000001u; /* 0288FF14 */ if (_t65) goto L_0288FDBC; else goto L_0288FF18; L_0288FF18: ; // 0x288ff18 /* 0288FF18 */ goto L_0288FDE0; L_0288FF1C: ; // 0x288ff1c /* 0288FF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x000000FFu); /* 0288FF20 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0288FF20 */ _t67 = _t66 & 0x00000001u; /* 0288FF20 */ if (_t67) goto L_0288FF24; else goto L_0288FDB0; L_0288FF24: ; // 0x288ff24 /* 0288FF24 */ _t68 = cpu->r[8] + 0x00000000u; /* 0288FF24 */ cpu->r[11] = rbrew_read8(cpu->mem, _t68); /* 0288FF28 */ _t69 = cpu->r[8] + 0x00000001u; /* 0288FF28 */ cpu->r[4] = rbrew_read8(cpu->mem, _t69); /* 0288FF2C */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u); /* 0288FF30 */ _t70 = cpu->r[8] + 0x00000002u; /* 0288FF30 */ cpu->r[5] = rbrew_read8(cpu->mem, _t70); /* 0288FF34 */ _t71 = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x00000008u, 0x0000000Fu); /* 0288FF34 */ _t72 = cpu->r[6] & 0xFF00FFFFu; /* 0288FF34 */ cpu->r[6] = _t72 | _t71; /* 0288FF38 */ _t73 = cpu->r[8] + 0x00000003u; /* 0288FF38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t73); /* 0288FF38 */ cpu->r[8] = _t73; /* 0288FF3C */ _t74 = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000010u, 0x00000017u); /* 0288FF3C */ _t75 = cpu->r[6] & 0xFFFF00FFu; /* 0288FF3C */ cpu->r[6] = _t75 | _t74; /* 0288FF40 */ cpu->r[11] = cpu->r[6] | cpu->r[0]; /* 0288FF44 */ _t76 = cpu->r[1] + 0x00000010u; /* 0288FF44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76); /* 0288FF48 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0288FF4C */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288FF50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 0288FF54 */ _t77 = cpu->r[9] + cpu->r[29]; /* 0288FF54 */ rbrew_write32(cpu->mem, _t77, cpu->r[11]); /* 0288FF58 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0288FF5C */ _t78 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FF5C */ _t79 = _t78 & 0x00000001u; /* 0288FF5C */ if (_t79) goto L_0288FDBC; else goto L_0288FF60; L_0288FF60: ; // 0x288ff60 /* 0288FF60 */ goto L_0288FDE0; L_0288FF64: ; // 0x288ff64 /* 0288FF64 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0288FF68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000001Fu); /* 0288FF6C */ cpu->r[31] = 0x00000000u; /* 0288FF70 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u); /* 0288FF70 */ _t81 = _t80 & 0x00000001u; /* 0288FF70 */ if (_t81) goto L_02891C78; else goto L_0288FF74; L_0288FF74: ; // 0x288ff74 /* 0288FF74 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0288FF78 */ cpu->r[12] = cpu->r[9] + 0x02890000u; /* 0288FF7C */ cpu->r[12] = cpu->r[12] + 0xFFFFFF88u; /* 0288FF80 */ cpu->ctr = cpu->r[12]; /* 0288FF84 */ rbrew_dispatch(cpu, cpu->ctr); return; L_02891C78: ; // 0x2891c78 /* 02891C78 */ _t82 = cpu->r[1] + 0x00000014u; /* 02891C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82); /* 02891C7C */ _t83 = cpu->r[1] + 0x00000010u; /* 02891C7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t83); /* 02891C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02891C84 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u); /* 02891C84 */ _t85 = _t84 & 0x00000001u; /* 02891C84 */ if (_t85) goto L_0288FD98; else goto L_02891C88; L_02891C88: ; // 0x2891c88 /* 02891C88 */ /* nop */ /* 02891C8C */ _t86 = cpu->r[1] + 0x00000174u; /* 02891C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 02891C90 */ cpu->lr = cpu->r[0]; /* 02891C94 */ cpu->r[1] = cpu->r[1] + 0x00000170u; /* 02891C98 */ cpu->r[3] = 0x00000000u; /* 02891C9C */ return; } // fn_02891CA0 @ 0x2891ca0 void Gambit_fn_02891CA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142; L_02891CA0: ; // 0x2891ca0 /* 02891CA0 */ _t0 = cpu->r[1] + 0xFFFFFFA0u; /* 02891CA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02891CA0 */ cpu->r[1] = _t0; /* 02891CA4 */ /* nop */ /* 02891CA8 */ cpu->r[0] = cpu->lr; /* 02891CAC */ _t1 = cpu->r[1] + 0x00000064u; /* 02891CAC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02891CB0 */ cpu->r[27] = cpu->r[5]; /* 02891CB4 */ _t2 = cpu->r[27] + 0x00000004u; /* 02891CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02891CB8 */ cpu->r[24] = cpu->r[4]; /* 02891CBC */ _t3 = cpu->r[12] + 0x00000006u; /* 02891CBC */ cpu->r[9] = rbrew_read16(cpu->mem, _t3); /* 02891CC0 */ cpu->r[31] = cpu->r[6]; /* 02891CC4 */ _t4 = cpu->r[27] + 0x0000018Cu; /* 02891CC4 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 02891CC8 */ cpu->r[30] = cpu->r[27] + 0x0000010Cu; /* 02891CCC */ cpu->r[26] = cpu->r[3]; /* 02891CD0 */ _t5 = cpu->r[24] + 0x0000009Cu; /* 02891CD0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t5); /* 02891CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[9]); /* 02891CD8 */ cpu->r[28] = cpu->r[27] + 0x000002FCu; /* 02891CDC */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 02891CDC */ _t7 = _t6 & 0x00000001u; /* 02891CDC */ if (_t7) goto L_02891CF0; else goto L_02891CE0; L_02891CE0: ; // 0x2891ce0 /* 02891CE0 */ _t8 = cpu->r[27] + 0x0000018Au; /* 02891CE0 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8); /* 02891CE4 */ _t9 = cpu->r[12] + 0x00000008u; /* 02891CE4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t9); /* 02891CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[8]); /* 02891CEC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02891CEC */ _t11 = _t10 & 0x00000001u; /* 02891CEC */ if (_t11) goto L_02891CF0; else goto L_02891D20; L_02891CF0: ; // 0x2891cf0 /* 02891CF0 */ cpu->r[3] = cpu->r[26]; /* 02891CF4 */ cpu->r[4] = cpu->r[27]; /* 02891CF8 */ Gambit_fn_0287C1E8(cpu); /* 02891CFC */ cpu->r[5] = 0x00000001u; /* 02891D00 */ cpu->r[4] = cpu->r[27]; /* 02891D04 */ cpu->r[3] = cpu->r[26]; /* 02891D08 */ Gambit_fn_0287F598(cpu); /* 02891D0C */ _t12 = cpu->r[27] + 0x00000004u; /* 02891D0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 02891D10 */ _t13 = cpu->r[6] + 0x00000008u; /* 02891D10 */ cpu->r[7] = rbrew_read16(cpu->mem, _t13); /* 02891D14 */ _t14 = cpu->r[27] + 0x0000018Au; /* 02891D14 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[7]); /* 02891D18 */ _t15 = cpu->r[6] + 0x00000006u; /* 02891D18 */ cpu->r[8] = rbrew_read16(cpu->mem, _t15); /* 02891D1C */ _t16 = cpu->r[27] + 0x0000018Cu; /* 02891D1C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[8]); L_02891D20: ; // 0x2891d20 /* 02891D20 */ cpu->r[29] = 0x00000000u; /* 02891D24 */ _t17 = cpu->r[28] + 0x000000DCu; /* 02891D24 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 02891D28 */ _t18 = cpu->r[28] + 0x000000E4u; /* 02891D28 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]); /* 02891D2C */ _t19 = cpu->r[28] + 0x000000D8u; /* 02891D2C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]); /* 02891D30 */ _t20 = cpu->r[28] + 0x00000000u; /* 02891D30 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]); /* 02891D34 */ _t21 = cpu->r[28] + 0x000000D4u; /* 02891D34 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]); /* 02891D38 */ _t22 = cpu->r[28] + 0x000000E0u; /* 02891D38 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]); /* 02891D3C */ _t23 = cpu->r[28] + 0x000000E8u; /* 02891D3C */ rbrew_write32(cpu->mem, _t23, cpu->r[29]); /* 02891D40 */ _t24 = cpu->r[28] + 0x000000CCu; /* 02891D40 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]); /* 02891D44 */ _t25 = cpu->r[28] + 0x00000008u; /* 02891D44 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]); /* 02891D48 */ _t26 = cpu->r[28] + 0x000000D0u; /* 02891D48 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]); /* 02891D4C */ _t27 = cpu->r[28] + 0x000000ECu; /* 02891D4C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]); /* 02891D50 */ _t28 = cpu->r[30] + 0x0000001Cu; /* 02891D50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); /* 02891D54 */ _t29 = cpu->r[30] + 0x00000028u; /* 02891D54 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[29]); /* 02891D58 */ _t30 = cpu->r[9] + 0x00000000u; /* 02891D58 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[29]); /* 02891D5C */ _t31 = cpu->r[30] + 0x00000020u; /* 02891D5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t31); /* 02891D60 */ _t32 = cpu->r[8] + 0x00000000u; /* 02891D60 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[29]); /* 02891D64 */ _t33 = cpu->r[25] + 0x00000024u; /* 02891D64 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t33); /* 02891D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02891D6C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02891D6C */ _t35 = _t34 & 0x00000001u; /* 02891D6C */ if (_t35) goto L_02891D90; else goto L_02891D70; L_02891D70: ; // 0x2891d70 /* 02891D70 */ cpu->r[6] = cpu->r[31]; /* 02891D74 */ cpu->r[5] = cpu->r[25]; /* 02891D78 */ cpu->r[4] = cpu->r[24]; /* 02891D7C */ cpu->r[3] = cpu->r[26]; /* 02891D80 */ Gambit_fn_0288F1C0(cpu); /* 02891D84 */ _t36 = cpu->r[26] + 0x00000028u; /* 02891D84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36); /* 02891D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02891D8C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02891D8C */ _t38 = _t37 & 0x00000001u; /* 02891D8C */ if (_t38) goto L_02891D90; else goto L_0289204C; L_02891D90: ; // 0x2891d90 /* 02891D90 */ _t39 = cpu->r[24] + 0x000000A0u; /* 02891D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39); /* 02891D94 */ cpu->r[3] = cpu->r[26]; /* 02891D98 */ _t40 = cpu->r[25] + 0x00000074u; /* 02891D98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40); /* 02891D9C */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 02891DA0 */ cpu->r[4] = cpu->r[24]; /* 02891DA4 */ cpu->r[6] = cpu->r[31]; /* 02891DA8 */ cpu->r[5] = cpu->r[12] + cpu->r[5]; /* 02891DAC */ Gambit_fn_0288E588(cpu); /* 02891DB0 */ cpu->r[23] = cpu->r[3]; /* 02891DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02891DB4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02891DB4 */ _t42 = _t41 & 0x00000001u; /* 02891DB4 */ if (_t42) goto L_0289204C; else goto L_02891DB8; L_02891DB8: ; // 0x2891db8 /* 02891DB8 */ _t43 = cpu->r[1] + 0x00000008u; /* 02891DB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43); /* 02891DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02891DC0 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u); /* 02891DC0 */ _t45 = _t44 & 0x00000001u; /* 02891DC0 */ if (_t45) goto L_02891DC4; else goto L_0289204C; L_02891DC4: ; // 0x2891dc4 /* 02891DC4 */ cpu->r[7] = cpu->r[28]; /* 02891DC8 */ cpu->r[5] = cpu->r[23]; /* 02891DCC */ cpu->r[4] = cpu->r[24]; /* 02891DD0 */ cpu->r[3] = cpu->r[26]; /* 02891DD4 */ Gambit_fn_0288FD08(cpu); /* 02891DD8 */ cpu->r[0] = cpu->r[3]; /* 02891DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02891DDC */ cpu->r[3] = cpu->r[26]; /* 02891DE0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02891DE0 */ _t47 = _t46 & 0x00000001u; /* 02891DE0 */ if (_t47) goto L_02891DF8; else goto L_02891DE4; L_02891DE4: ; // 0x2891de4 /* 02891DE4 */ cpu->r[4] = cpu->r[23]; /* 02891DE8 */ _t48 = cpu->r[26] + 0x00000028u; /* 02891DE8 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]); /* 02891DEC */ Gambit_fn_0288CA30(cpu); /* 02891DF0 */ cpu->r[3] = 0x00000000u; /* 02891DF4 */ goto L_02892050; L_02891DF8: ; // 0x2891df8 /* 02891DF8 */ cpu->r[4] = cpu->r[28]; /* 02891DFC */ Gambit_fn_0288F4EC(cpu); /* 02891E00 */ _t49 = cpu->r[26] + 0x0000005Cu; /* 02891E00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49); /* 02891E04 */ cpu->r[5] = cpu->r[23]; /* 02891E08 */ cpu->r[4] = cpu->r[26]; /* 02891E0C */ cpu->r[3] = cpu->r[9] + 0x00002114u; /* 02891E10 */ Gambit_fn_02889858(cpu); /* 02891E14 */ _t50 = cpu->r[30] + 0x00000028u; /* 02891E14 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50); /* 02891E18 */ cpu->r[3] = 0x00000000u; /* 02891E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[6]); /* 02891E20 */ _t51 = cpu->r[30] + 0x00000010u; /* 02891E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51); /* 02891E24 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 02891E24 */ _t53 = _t52 & 0x00000001u; /* 02891E24 */ if (_t53) goto L_02891E58; else goto L_02891E28; L_02891E28: ; // 0x2891e28 /* 02891E28 */ _t54 = cpu->r[28] + 0x00000008u; /* 02891E28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54); /* 02891E2C */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891E30 */ _t55 = cpu->r[10] + cpu->r[8]; /* 02891E30 */ rbrew_write32(cpu->mem, _t55, cpu->r[29]); /* 02891E34 */ _t56 = cpu->r[30] + 0x00000014u; /* 02891E34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56); /* 02891E38 */ _t57 = cpu->r[11] + cpu->r[8]; /* 02891E38 */ rbrew_write32(cpu->mem, _t57, cpu->r[29]); /* 02891E3C */ _t58 = cpu->r[28] + 0x000000D8u; /* 02891E3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t58); /* 02891E40 */ _t59 = cpu->r[28] + 0x00000008u; /* 02891E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59); /* 02891E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02891E48 */ cpu->r[3] = cpu->r[12] + 0x00000001u; /* 02891E4C */ _t60 = cpu->r[30] + 0x00000010u; /* 02891E4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t60); /* 02891E50 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 02891E50 */ _t62 = _t61 & 0x00000001u; /* 02891E50 */ if (_t62) goto L_02891F54; else goto L_02891E54; L_02891E54: ; // 0x2891e54 /* 02891E54 */ goto L_02891F28; L_02891E58: ; // 0x2891e58 /* 02891E58 */ cpu->r[4] = 0x00000000u; L_02891E5C: ; // 0x2891e5c /* 02891E5C */ _t63 = cpu->r[30] + 0x0000001Cu; /* 02891E5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t63); /* 02891E60 */ _t64 = cpu->r[30] + 0x00000020u; /* 02891E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64); /* 02891E64 */ _t65 = cpu->r[11] + cpu->r[4]; /* 02891E64 */ cpu->r[24] = rbrew_read16(cpu->mem, _t65); /* 02891E68 */ _t66 = cpu->r[12] + cpu->r[4]; /* 02891E68 */ cpu->r[7] = rbrew_read16(cpu->mem, _t66); /* 02891E6C */ _t67 = cpu->r[30] + 0x00000014u; /* 02891E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t67); /* 02891E70 */ cpu->r[0] = cpu->r[7] - cpu->r[24]; /* 02891E74 */ /* nop */ /* 02891E78 */ cpu->r[23] = cpu->r[5]; /* 02891E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02891E7C */ _t68 = cpu->r[30] + 0x00000018u; /* 02891E7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t68); /* 02891E80 */ cpu->r[22] = 0x00000000u; /* 02891E84 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u); /* 02891E84 */ _t70 = _t69 & 0x00000001u; /* 02891E84 */ if (_t70) goto L_02891EEC; else goto L_02891E88; L_02891E88: ; // 0x2891e88 /* 02891E88 */ cpu->r[11] = cpu->r[8] + cpu->r[24]; /* 02891E8C */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891E90 */ cpu->r[9] = cpu->r[8] + cpu->r[7]; /* 02891E94 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 02891E98 */ cpu->r[7] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891E9C */ cpu->r[9] = cpu->r[9] + 0x00000001u; L_02891EA0: ; // 0x2891ea0 /* 02891EA0 */ _t71 = cpu->r[10] + cpu->r[5]; /* 02891EA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t71); /* 02891EA4 */ _t72 = cpu->r[10] + cpu->r[7]; /* 02891EA4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t72); /* 02891EA8 */ _t73 = cpu->r[10] + cpu->r[7]; /* 02891EA8 */ rbrew_write32(cpu->mem, _t73, cpu->r[6]); /* 02891EAC */ _t74 = cpu->r[10] + cpu->r[5]; /* 02891EAC */ rbrew_write32(cpu->mem, _t74, cpu->r[24]); /* 02891EB0 */ _t75 = cpu->r[12] + cpu->r[5]; /* 02891EB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75); /* 02891EB4 */ _t76 = cpu->r[12] + cpu->r[7]; /* 02891EB4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t76); /* 02891EB8 */ _t77 = cpu->r[12] + cpu->r[7]; /* 02891EB8 */ rbrew_write32(cpu->mem, _t77, cpu->r[8]); /* 02891EBC */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 02891EC0 */ _t78 = cpu->r[12] + cpu->r[5]; /* 02891EC0 */ rbrew_write32(cpu->mem, _t78, cpu->r[24]); /* 02891EC4 */ _t79 = cpu->r[9] + 0xFFFFFFFFu; /* 02891EC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t79); /* 02891EC4 */ cpu->r[9] = _t79; /* 02891EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[23]); /* 02891ECC */ _t80 = cpu->r[11] + 0x00000001u; /* 02891ECC */ cpu->r[24] = rbrew_read8(cpu->mem, _t80); /* 02891ECC */ cpu->r[11] = _t80; /* 02891ED0 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 02891ED4 */ _t81 = cpu->r[11] + 0x00000000u; /* 02891ED4 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[0]); /* 02891ED8 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFCu; /* 02891EDC */ _t82 = cpu->r[9] + 0x00000000u; /* 02891EDC */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[24]); /* 02891EE0 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u); /* 02891EE0 */ _t84 = _t83 & 0x00000001u; /* 02891EE0 */ if (_t84) goto L_02891EE4; else goto L_02891EA0; L_02891EE4: ; // 0x2891ee4 /* 02891EE4 */ _t85 = cpu->r[30] + 0x00000028u; /* 02891EE4 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t85); /* 02891EE8 */ _t86 = cpu->r[30] + 0x00000010u; /* 02891EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t86); L_02891EEC: ; // 0x2891eec /* 02891EEC */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 02891EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[6]); /* 02891EF4 */ cpu->r[4] = cpu->r[4] + 0x00000002u; /* 02891EF8 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u); /* 02891EF8 */ _t88 = _t87 & 0x00000001u; /* 02891EF8 */ if (_t88) goto L_02891E5C; else goto L_02891EFC; L_02891EFC: ; // 0x2891efc /* 02891EFC */ _t89 = cpu->r[28] + 0x00000008u; /* 02891EFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t89); /* 02891F00 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891F04 */ _t90 = cpu->r[10] + cpu->r[8]; /* 02891F04 */ rbrew_write32(cpu->mem, _t90, cpu->r[29]); /* 02891F08 */ _t91 = cpu->r[30] + 0x00000014u; /* 02891F08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t91); /* 02891F0C */ _t92 = cpu->r[11] + cpu->r[8]; /* 02891F0C */ rbrew_write32(cpu->mem, _t92, cpu->r[29]); /* 02891F10 */ _t93 = cpu->r[28] + 0x000000D8u; /* 02891F10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t93); /* 02891F14 */ _t94 = cpu->r[28] + 0x00000008u; /* 02891F14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t94); /* 02891F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02891F1C */ cpu->r[3] = cpu->r[12] + 0x00000001u; /* 02891F20 */ _t95 = cpu->r[30] + 0x00000010u; /* 02891F20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95); /* 02891F24 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u); /* 02891F24 */ _t97 = _t96 & 0x00000001u; /* 02891F24 */ if (_t97) goto L_02891F54; else goto L_02891F28; L_02891F28: ; // 0x2891f28 /* 02891F28 */ _t98 = cpu->r[28] + 0x000000ECu; /* 02891F28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98); /* 02891F2C */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891F30 */ _t99 = cpu->r[25] + 0x00000094u; /* 02891F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99); /* 02891F34 */ cpu->r[0] = cpu->r[6] + cpu->r[0]; /* 02891F38 */ _t100 = cpu->r[10] + cpu->r[8]; /* 02891F38 */ rbrew_write32(cpu->mem, _t100, cpu->r[0]); /* 02891F3C */ _t101 = cpu->r[30] + 0x00000014u; /* 02891F3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t101); /* 02891F40 */ _t102 = cpu->r[12] + cpu->r[8]; /* 02891F40 */ rbrew_write32(cpu->mem, _t102, cpu->r[29]); /* 02891F44 */ _t103 = cpu->r[26] + 0x0000002Cu; /* 02891F44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103); /* 02891F48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000000Fu, 0x0000000Fu); /* 02891F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02891F4C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 02891F4C */ _t105 = _t104 & 0x00000001u; /* 02891F4C */ if (_t105) goto L_0289204C; else goto L_02891F50; L_02891F50: ; // 0x2891f50 /* 02891F50 */ goto L_02891F74; L_02891F54: ; // 0x2891f54 /* 02891F54 */ _t106 = cpu->r[25] + 0x00000090u; /* 02891F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106); /* 02891F58 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891F5C */ _t107 = cpu->r[10] + cpu->r[8]; /* 02891F5C */ rbrew_write32(cpu->mem, _t107, cpu->r[0]); /* 02891F60 */ _t108 = cpu->r[30] + 0x00000014u; /* 02891F60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t108); /* 02891F64 */ _t109 = cpu->r[12] + cpu->r[8]; /* 02891F64 */ rbrew_write32(cpu->mem, _t109, cpu->r[29]); /* 02891F68 */ _t110 = cpu->r[26] + 0x0000002Cu; /* 02891F68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t110); /* 02891F6C */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000000Fu, 0x0000000Fu); /* 02891F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02891F70 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 02891F70 */ _t112 = _t111 & 0x00000001u; /* 02891F70 */ if (_t112) goto L_0289204C; else goto L_02891F74; L_02891F74: ; // 0x2891f74 /* 02891F74 */ _t113 = cpu->r[28] + 0x00000008u; /* 02891F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113); /* 02891F78 */ _t114 = cpu->r[30] + 0x00000010u; /* 02891F78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t114); /* 02891F7C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891F80 */ cpu->r[6] = cpu->r[10] + cpu->r[9]; /* 02891F84 */ _t115 = cpu->r[10] + cpu->r[9]; /* 02891F84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t115); /* 02891F88 */ _t116 = cpu->r[6] + 0x00000004u; /* 02891F88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t116); /* 02891F8C */ cpu->r[4] = cpu->r[5] + cpu->r[7]; /* 02891F90 */ /* nop */ /* 02891F94 */ cpu->r[10] = cpu->r[8]; /* 02891F98 */ _t117 = cpu->r[6] + 0x00000008u; /* 02891F98 */ rbrew_write32(cpu->mem, _t117, cpu->r[10]); /* 02891F9C */ _t118 = cpu->r[28] + 0x00000008u; /* 02891F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t118); /* 02891FA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891FA4 */ _t119 = cpu->r[30] + 0x00000010u; /* 02891FA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119); /* 02891FA8 */ cpu->r[11] = cpu->r[12] + cpu->r[0]; /* 02891FAC */ _t120 = cpu->r[11] + 0x0000000Cu; /* 02891FAC */ rbrew_write32(cpu->mem, _t120, cpu->r[10]); /* 02891FB0 */ _t121 = cpu->r[28] + 0x00000008u; /* 02891FB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t121); /* 02891FB4 */ _t122 = cpu->r[30] + 0x00000010u; /* 02891FB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t122); /* 02891FB8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891FBC */ cpu->r[7] = cpu->r[8] + cpu->r[4]; /* 02891FC0 */ cpu->r[3] = cpu->r[26]; /* 02891FC4 */ _t123 = cpu->r[7] + 0x00000018u; /* 02891FC4 */ rbrew_write32(cpu->mem, _t123, cpu->r[10]); /* 02891FC8 */ _t124 = cpu->r[28] + 0x00000008u; /* 02891FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 02891FCC */ cpu->r[6] = cpu->r[1] + 0x0000000Cu; /* 02891FD0 */ _t125 = cpu->r[30] + 0x00000010u; /* 02891FD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t125); /* 02891FD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891FD8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02891FDC */ cpu->r[12] = cpu->r[7] + cpu->r[0]; /* 02891FE0 */ cpu->r[4] = cpu->r[27]; /* 02891FE4 */ _t126 = cpu->r[12] + 0x0000001Cu; /* 02891FE4 */ rbrew_write32(cpu->mem, _t126, cpu->r[10]); /* 02891FE8 */ Gambit_fn_0287E4E8(cpu); /* 02891FEC */ _t127 = cpu->r[28] + 0x00000008u; /* 02891FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t127); /* 02891FF0 */ _t128 = cpu->r[30] + 0x00000014u; /* 02891FF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128); /* 02891FF4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02891FF8 */ _t129 = cpu->r[1] + 0x00000032u; /* 02891FF8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t129); /* 02891FFC */ cpu->r[11] = cpu->r[12] + cpu->r[9]; /* 02892000 */ _t130 = cpu->r[11] + 0x00000008u; /* 02892000 */ rbrew_write32(cpu->mem, _t130, cpu->r[0]); /* 02892004 */ _t131 = cpu->r[1] + 0x00000032u; /* 02892004 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t131); /* 02892008 */ _t132 = cpu->r[28] + 0x00000008u; /* 02892008 */ cpu->r[4] = rbrew_read32(cpu->mem, _t132); /* 0289200C */ _t133 = cpu->r[30] + 0x00000014u; /* 0289200C */ cpu->r[6] = rbrew_read32(cpu->mem, _t133); /* 02892010 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02892014 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02892018 */ cpu->r[5] = cpu->r[6] + cpu->r[0]; /* 0289201C */ _t134 = cpu->r[5] + 0x0000000Cu; /* 0289201C */ rbrew_write32(cpu->mem, _t134, cpu->r[7]); /* 02892020 */ _t135 = cpu->r[28] + 0x00000008u; /* 02892020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t135); /* 02892024 */ _t136 = cpu->r[30] + 0x00000014u; /* 02892024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t136); /* 02892028 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289202C */ cpu->r[10] = cpu->r[11] + cpu->r[8]; /* 02892030 */ _t137 = cpu->r[1] + 0x00000032u; /* 02892030 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t137); /* 02892034 */ _t138 = cpu->r[10] + 0x00000018u; /* 02892034 */ rbrew_write32(cpu->mem, _t138, cpu->r[11]); /* 02892038 */ _t139 = cpu->r[28] + 0x00000008u; /* 02892038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139); /* 0289203C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02892040 */ _t140 = cpu->r[30] + 0x00000014u; /* 02892040 */ cpu->r[5] = rbrew_read32(cpu->mem, _t140); /* 02892044 */ cpu->r[4] = cpu->r[5] + cpu->r[12]; /* 02892048 */ _t141 = cpu->r[4] + 0x0000001Cu; /* 02892048 */ rbrew_write32(cpu->mem, _t141, cpu->r[29]); L_0289204C: ; // 0x289204c /* 0289204C */ cpu->r[3] = 0x00000000u; L_02892050: ; // 0x2892050 /* 02892050 */ /* nop */ /* 02892054 */ _t142 = cpu->r[1] + 0x00000064u; /* 02892054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142); /* 02892058 */ cpu->lr = cpu->r[0]; /* 0289205C */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02892060 */ return; } // fn_02892064 @ 0x2892064 void Gambit_fn_02892064(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87; L_02892064: ; // 0x2892064 /* 02892064 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02892064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02892064 */ cpu->r[1] = _t0; /* 02892068 */ /* nop */ /* 0289206C */ cpu->r[0] = cpu->lr; /* 02892070 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02892070 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02892074 */ cpu->r[0] = 0x0000007Fu; /* 02892078 */ _t2 = cpu->r[1] + 0x0000000Au; /* 02892078 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]); /* 0289207C */ cpu->r[11] = 0x000000B0u; /* 02892080 */ _t3 = cpu->r[1] + 0x00000008u; /* 02892080 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]); /* 02892084 */ cpu->r[12] = 0x0000000Bu; /* 02892088 */ _t4 = cpu->r[1] + 0x00000009u; /* 02892088 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]); /* 0289208C */ _t5 = cpu->r[3] + 0x00000018u; /* 0289208C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 02892090 */ cpu->r[27] = cpu->r[4] + 0x0000010Cu; /* 02892094 */ _t6 = cpu->r[4] + 0x00000008u; /* 02892094 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6); /* 02892098 */ cpu->r[12] = 0x00000000u; /* 0289209C */ _t7 = cpu->r[10] + 0x00000028u; /* 0289209C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028920A0 */ cpu->r[26] = cpu->r[4] + 0x000001A8u; /* 028920A4 */ _t8 = cpu->r[3] + 0x0000004Du; /* 028920A4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]); /* 028920A8 */ cpu->r[30] = cpu->r[4]; /* 028920AC */ _t9 = cpu->r[3] + 0x0000004Eu; /* 028920AC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]); /* 028920B0 */ cpu->r[5] = 0x00000001u; /* 028920B4 */ _t10 = cpu->r[3] + 0x0000004Cu; /* 028920B4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]); /* 028920B8 */ cpu->r[29] = cpu->r[3]; /* 028920BC */ Gambit_fn_0287F598(cpu); /* 028920C0 */ _t11 = cpu->r[29] + 0x0000005Cu; /* 028920C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028920C4 */ _t12 = cpu->r[30] + 0x00000000u; /* 028920C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028920C8 */ _t13 = cpu->r[9] + 0x00002124u; /* 028920C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 028920CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 028920D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028920D0 */ _t15 = _t14 & 0x00000001u; /* 028920D0 */ if (_t15) goto L_028920F0; else goto L_028920D4; L_028920D4: ; // 0x28920d4 /* 028920D4 */ cpu->r[4] = cpu->r[30]; /* 028920D8 */ cpu->r[3] = cpu->r[29]; /* 028920DC */ _t16 = cpu->r[9] + 0x00002124u; /* 028920DC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 028920E0 */ Gambit_fn_0287FF50(cpu); /* 028920E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028920E8 */ _t17 = cpu->r[29] + 0x00000028u; /* 028920E8 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 028920EC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028920EC */ _t19 = _t18 & 0x00000001u; /* 028920EC */ if (_t19) goto L_028920F0; else goto L_028922B0; L_028920F0: ; // 0x28920f0 /* 028920F0 */ cpu->r[3] = cpu->r[29]; /* 028920F4 */ cpu->r[4] = cpu->r[31]; /* 028920F8 */ cpu->r[5] = cpu->r[30]; /* 028920FC */ cpu->r[6] = cpu->r[28]; /* 02892100 */ Gambit_fn_02891CA0(cpu); /* 02892104 */ cpu->r[3] = cpu->r[30]; /* 02892108 */ cpu->r[4] = cpu->r[27]; /* 0289210C */ Gambit_fn_0287D290(cpu); /* 02892110 */ _t20 = cpu->r[29] + 0x0000002Cu; /* 02892110 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20); /* 02892114 */ _t21 = cpu->r[27] + 0x00000028u; /* 02892114 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t21); /* 02892118 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0289211C */ cpu->r[10] = cpu->r[0] ^ 0x00000001u; /* 02892120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02892124 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02892128 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892128 */ _t23 = _t22 & 0x00000001u; /* 02892128 */ if (_t23) goto L_02892140; else goto L_0289212C; L_0289212C: ; // 0x289212c /* 0289212C */ _t24 = cpu->r[27] + 0x00000020u; /* 0289212C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 02892130 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02892134 */ cpu->r[11] = cpu->r[12] + cpu->r[0]; /* 02892138 */ _t25 = cpu->r[11] + 0xFFFFFFFEu; /* 02892138 */ cpu->r[5] = rbrew_read16(cpu->mem, _t25); /* 0289213C */ cpu->r[31] = cpu->r[5] + 0x00000001u; L_02892140: ; // 0x2892140 /* 02892140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02892144 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892144 */ _t27 = _t26 & 0x00000001u; /* 02892144 */ if (_t27) goto L_02892294; else goto L_02892148; L_02892148: ; // 0x2892148 /* 02892148 */ _t28 = cpu->r[27] + 0x00000000u; /* 02892148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 0289214C */ cpu->r[25] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02892150 */ _t29 = cpu->r[12] + cpu->r[25]; /* 02892150 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29); /* 02892154 */ cpu->r[6] = cpu->r[6] + 0x00000020u; /* 02892158 */ _t30 = cpu->r[12] + cpu->r[25]; /* 02892158 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]); /* 0289215C */ _t31 = cpu->r[27] + 0x00000000u; /* 0289215C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 02892160 */ _t32 = cpu->r[12] + cpu->r[25]; /* 02892160 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32); /* 02892164 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x00000019u); /* 02892168 */ _t33 = cpu->r[12] + cpu->r[25]; /* 02892168 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]); /* 0289216C */ _t34 = cpu->r[29] + 0x0000002Cu; /* 0289216C */ cpu->r[8] = rbrew_read32(cpu->mem, _t34); /* 02892170 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000009u, 0x00000009u); /* 02892170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02892174 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892174 */ _t36 = _t35 & 0x00000001u; /* 02892174 */ if (_t36) goto L_02892250; else goto L_02892178; L_02892178: ; // 0x2892178 /* 02892178 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000007u, 0x00000007u); /* 02892178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289217C */ cpu->r[12] = 0x00000001u; /* 02892180 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892180 */ _t38 = _t37 & 0x00000001u; /* 02892180 */ if (_t38) goto L_02892184; else goto L_02892190; L_02892184: ; // 0x2892184 /* 02892184 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000002u, 0x00000002u); /* 02892184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02892188 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892188 */ _t40 = _t39 & 0x00000001u; /* 02892188 */ if (_t40) goto L_0289218C; else goto L_02892190; L_0289218C: ; // 0x289218c /* 0289218C */ cpu->r[12] = 0x00000000u; L_02892190: ; // 0x2892190 /* 02892190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892194 */ cpu->r[6] = 0x00000001u; /* 02892198 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892198 */ _t42 = _t41 & 0x00000001u; /* 02892198 */ if (_t42) goto L_0289219C; else goto L_028921A8; L_0289219C: ; // 0x289219c /* 0289219C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x00000008u); /* 0289219C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028921A0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 028921A0 */ _t44 = _t43 & 0x00000001u; /* 028921A0 */ if (_t44) goto L_028921A8; else goto L_028921A4; L_028921A4: ; // 0x28921a4 /* 028921A4 */ cpu->r[6] = 0x00000000u; L_028921A8: ; // 0x28921a8 /* 028921A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028921AC */ cpu->r[8] = 0x00000000u; /* 028921B0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 028921B0 */ _t46 = _t45 & 0x00000001u; /* 028921B0 */ if (_t46) goto L_028921C8; else goto L_028921B4; L_028921B4: ; // 0x28921b4 /* 028921B4 */ _t47 = cpu->r[29] + 0x0000001Cu; /* 028921B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47); /* 028921B8 */ _t48 = cpu->r[9] + 0x00000024u; /* 028921B8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t48); /* 028921BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028921C0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 028921C0 */ _t50 = _t49 & 0x00000001u; /* 028921C0 */ if (_t50) goto L_028921C8; else goto L_028921C4; L_028921C4: ; // 0x28921c4 /* 028921C4 */ cpu->r[8] = 0x00000001u; L_028921C8: ; // 0x28921c8 /* 028921C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028921CC */ cpu->r[10] = 0x00000000u; /* 028921D0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 028921D0 */ _t52 = _t51 & 0x00000001u; /* 028921D0 */ if (_t52) goto L_028921E0; else goto L_028921D4; L_028921D4: ; // 0x28921d4 /* 028921D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028921D8 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u); /* 028921D8 */ _t54 = _t53 & 0x00000001u; /* 028921D8 */ if (_t54) goto L_028921DC; else goto L_028921E0; L_028921DC: ; // 0x28921dc /* 028921DC */ cpu->r[10] = 0x00000001u; L_028921E0: ; // 0x28921e0 /* 028921E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028921E4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 028921E4 */ _t56 = _t55 & 0x00000001u; /* 028921E4 */ if (_t56) goto L_02892250; else goto L_028921E8; L_028921E8: ; // 0x28921e8 /* 028921E8 */ cpu->r[3] = cpu->r[27]; /* 028921EC */ Gambit_fn_0287F4F8(cpu); /* 028921F0 */ _t57 = cpu->r[29] + 0x0000002Cu; /* 028921F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57); /* 028921F4 */ _t58 = cpu->r[26] + 0x00000124u; /* 028921F4 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]); /* 028921F8 */ _t59 = cpu->r[29] + 0x0000001Cu; /* 028921F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t59); /* 028921FC */ _t60 = cpu->r[26] + 0x00000114u; /* 028921FC */ rbrew_write32(cpu->mem, _t60, cpu->r[7]); /* 02892200 */ _t61 = cpu->r[29] + 0x0000001Cu; /* 02892200 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61); /* 02892204 */ _t62 = cpu->r[9] + 0x00000024u; /* 02892204 */ cpu->r[11] = rbrew_read16(cpu->mem, _t62); /* 02892208 */ _t63 = cpu->r[26] + 0x00000150u; /* 02892208 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[11]); /* 0289220C */ _t64 = cpu->r[29] + 0x00000018u; /* 0289220C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64); /* 02892210 */ cpu->r[3] = cpu->r[29]; /* 02892214 */ _t65 = cpu->r[12] + 0x0000002Du; /* 02892214 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65); /* 02892218 */ cpu->r[5] = cpu->r[30] + 0x000002ECu; /* 0289221C */ cpu->r[4] = cpu->r[28]; /* 02892220 */ _t66 = cpu->r[26] + 0x00000152u; /* 02892220 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]); /* 02892224 */ Gambit_fn_0287ED30(cpu); /* 02892228 */ cpu->r[5] = cpu->r[1] + 0x0000000Bu; /* 0289222C */ cpu->r[6] = cpu->r[26]; /* 02892230 */ _t67 = cpu->r[30] + 0x000002E8u; /* 02892230 */ rbrew_write32(cpu->mem, _t67, cpu->r[3]); /* 02892234 */ _t68 = cpu->r[29] + 0x0000005Cu; /* 02892234 */ cpu->r[7] = rbrew_read32(cpu->mem, _t68); /* 02892238 */ cpu->r[3] = cpu->r[30] + 0x000000E0u; /* 0289223C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02892240 */ Gambit_fn_02897780(cpu); /* 02892244 */ _t69 = cpu->r[29] + 0x0000004Du; /* 02892244 */ cpu->r[0] = rbrew_read8(cpu->mem, _t69); /* 02892248 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 0289224C */ _t70 = cpu->r[29] + 0x0000004Du; /* 0289224C */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[0]); L_02892250: ; // 0x2892250 /* 02892250 */ _t71 = cpu->r[29] + 0x0000001Cu; /* 02892250 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71); /* 02892254 */ _t72 = cpu->r[11] + 0x00000020u; /* 02892254 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72); /* 02892258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289225C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289225C */ _t74 = _t73 & 0x00000001u; /* 0289225C */ if (_t74) goto L_02892294; else goto L_02892260; L_02892260: ; // 0x2892260 /* 02892260 */ _t75 = cpu->r[10] + 0x00000004u; /* 02892260 */ cpu->r[5] = rbrew_read8(cpu->mem, _t75); /* 02892264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02892268 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892268 */ _t77 = _t76 & 0x00000001u; /* 02892268 */ if (_t77) goto L_02892294; else goto L_0289226C; L_0289226C: ; // 0x289226c /* 0289226C */ _t78 = cpu->r[27] + 0x00000000u; /* 0289226C */ cpu->r[12] = rbrew_read32(cpu->mem, _t78); /* 02892270 */ cpu->r[7] = cpu->r[12] + cpu->r[25]; /* 02892274 */ _t79 = cpu->r[7] + 0x00000004u; /* 02892274 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79); /* 02892278 */ cpu->r[6] = cpu->r[6] + 0x00000020u; /* 0289227C */ _t80 = cpu->r[7] + 0x00000004u; /* 0289227C */ rbrew_write32(cpu->mem, _t80, cpu->r[6]); /* 02892280 */ _t81 = cpu->r[27] + 0x00000000u; /* 02892280 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81); /* 02892284 */ cpu->r[7] = cpu->r[12] + cpu->r[25]; /* 02892288 */ _t82 = cpu->r[7] + 0x00000004u; /* 02892288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82); /* 0289228C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u); /* 02892290 */ _t83 = cpu->r[7] + 0x00000004u; /* 02892290 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]); L_02892294: ; // 0x2892294 /* 02892294 */ _t84 = cpu->r[27] + 0x00000000u; /* 02892294 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84); /* 02892298 */ cpu->r[6] = cpu->r[31] + 0x00000008u; /* 0289229C */ _t85 = cpu->r[27] + 0x00000004u; /* 0289229C */ cpu->r[5] = rbrew_read32(cpu->mem, _t85); /* 028922A0 */ cpu->r[3] = cpu->r[30]; /* 028922A4 */ cpu->r[7] = cpu->r[30] + 0x00000148u; /* 028922A8 */ Gambit_fn_0287E8A0(cpu); /* 028922AC */ _t86 = cpu->r[29] + 0x00000028u; /* 028922AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t86); L_028922B0: ; // 0x28922b0 /* 028922B0 */ /* nop */ /* 028922B4 */ _t87 = cpu->r[1] + 0x0000002Cu; /* 028922B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87); /* 028922B8 */ cpu->lr = cpu->r[0]; /* 028922BC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 028922C0 */ return; } // fn_028922C4 @ 0x28922c4 void Gambit_fn_028922C4(CPUState* 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_028922C4: ; // 0x28922c4 /* 028922C4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028922C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028922C4 */ cpu->r[1] = _t0; /* 028922C8 */ cpu->r[0] = cpu->lr; /* 028922CC */ /* nop */ /* 028922D0 */ cpu->r[31] = cpu->r[6]; /* 028922D4 */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 028922D8 */ cpu->r[28] = cpu->r[3]; /* 028922DC */ cpu->r[6] = 0x00000003u; /* 028922E0 */ cpu->r[30] = cpu->r[5]; /* 028922E4 */ _t1 = cpu->r[1] + 0x00000024u; /* 028922E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028922E8 */ cpu->r[29] = cpu->r[4]; /* 028922EC */ Gambit_fn_0288A5D0(cpu); /* 028922F0 */ _t2 = cpu->r[1] + 0x00000008u; /* 028922F0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2); /* 028922F4 */ _t3 = cpu->r[1] + 0x00000009u; /* 028922F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 028922F8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000000u, 0x00000017u); /* 028922FC */ cpu->r[0] = cpu->r[7] | cpu->r[0]; /* 02892300 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02892300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02892304 */ _t4 = cpu->r[31] + 0x00000000u; /* 02892304 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]); /* 02892308 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892308 */ _t6 = _t5 & 0x00000001u; /* 02892308 */ if (_t6) goto L_0289230C; else goto L_02892324; L_0289230C: ; // 0x289230c /* 0289230C */ /* nop */ /* 02892310 */ _t7 = cpu->r[1] + 0x00000024u; /* 02892310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02892314 */ cpu->lr = cpu->r[0]; /* 02892318 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0289231C */ cpu->r[3] = 0x00000000u; /* 02892320 */ return; L_02892324: ; // 0x2892324 /* 02892324 */ _t8 = cpu->r[1] + 0x0000000Au; /* 02892324 */ cpu->r[27] = rbrew_read8(cpu->mem, _t8); /* 02892328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000004u); /* 0289232C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289232C */ _t10 = _t9 & 0x00000001u; /* 0289232C */ if (_t10) goto L_02892330; else goto L_02892350; L_02892330: ; // 0x2892330 /* 02892330 */ cpu->r[9] = 0x000001CDu; /* 02892334 */ _t11 = cpu->r[28] + 0x00000028u; /* 02892334 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 02892338 */ /* nop */ /* 0289233C */ _t12 = cpu->r[1] + 0x00000024u; /* 0289233C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02892340 */ cpu->lr = cpu->r[0]; /* 02892344 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02892348 */ cpu->r[3] = 0x00000000u; /* 0289234C */ return; L_02892350: ; // 0x2892350 /* 02892350 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[27]); /* 02892354 */ cpu->r[6] = 0x00000004u; /* 02892358 */ cpu->r[4] = cpu->r[29]; /* 0289235C */ cpu->r[3] = cpu->r[28]; /* 02892360 */ cpu->r[11] = cpu->r[30] + cpu->r[10]; /* 02892364 */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 02892368 */ cpu->r[5] = cpu->r[11] + 0x00000003u; /* 0289236C */ Gambit_fn_0288A5D0(cpu); /* 02892370 */ cpu->r[9] = cpu->r[27]; /* 02892370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02892374 */ cpu->r[8] = 0x00000000u; /* 02892378 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892378 */ _t14 = _t13 & 0x00000001u; /* 02892378 */ if (_t14) goto L_0289237C; else goto L_02892394; L_0289237C: ; // 0x289237c /* 0289237C */ cpu->ctr = cpu->r[9]; /* 02892380 */ cpu->r[10] = cpu->r[1] + 0x00000007u; L_02892384: ; // 0x2892384 /* 02892384 */ _t15 = cpu->r[10] + 0x00000001u; /* 02892384 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15); /* 02892384 */ cpu->r[10] = _t15; /* 02892388 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000008u, 0x00000000u, 0x00000017u); /* 0289238C */ cpu->r[8] = cpu->r[12] + cpu->r[0]; /* 02892390 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892390 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892390 */ _t17 = _t16 >> (0x00000002u & 31u); /* 02892390 */ _t18 = _t17 & 0x00000001u; /* 02892390 */ if (_t18) goto L_02892384; else goto L_02892394; L_02892394: ; // 0x2892394 /* 02892394 */ _t19 = cpu->r[31] + 0x00000000u; /* 02892394 */ cpu->r[6] = rbrew_read16(cpu->mem, _t19); /* 02892398 */ cpu->r[5] = cpu->r[6] + 0x00000001u; /* 0289239C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[27]); /* 028923A0 */ /* nop */ /* 028923A4 */ _t20 = cpu->r[1] + 0x00000024u; /* 028923A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028923A8 */ cpu->r[8] = cpu->r[7] + cpu->r[8]; /* 028923AC */ cpu->lr = cpu->r[0]; /* 028923B0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028923B4 */ cpu->r[3] = cpu->r[8] + 0x00000002u; /* 028923B8 */ return; } // fn_028923BC @ 0x28923bc void Gambit_fn_028923BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028923BC: ; // 0x28923bc /* 028923BC */ cpu->r[0] = cpu->lr; /* 028923C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028923C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028923C0 */ cpu->r[1] = _t0; /* 028923C4 */ _t1 = cpu->r[1] + 0x00000008u; /* 028923C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028923C8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028923C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028923CC */ cpu->r[31] = cpu->r[4]; /* 028923CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028923D0 */ cpu->r[30] = cpu->r[3]; /* 028923D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028923D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028923D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028923D8 */ _t5 = _t4 & 0x00000001u; /* 028923D8 */ if (_t5) goto L_02892424; else goto L_028923DC; L_028923DC: ; // 0x28923dc /* 028923DC */ _t6 = cpu->r[31] + 0x00000008u; /* 028923DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 028923E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028923E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028923E4 */ _t8 = _t7 & 0x00000001u; /* 028923E4 */ if (_t8) goto L_028923F0; else goto L_028923E8; L_028923E8: ; // 0x28923e8 /* 028923E8 */ cpu->r[3] = cpu->r[30]; /* 028923EC */ Gambit_fn_0288CA30(cpu); L_028923F0: ; // 0x28923f0 /* 028923F0 */ _t9 = cpu->r[31] + 0x00000014u; /* 028923F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 028923F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028923F8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028923F8 */ _t11 = _t10 & 0x00000001u; /* 028923F8 */ if (_t11) goto L_02892404; else goto L_028923FC; L_028923FC: ; // 0x28923fc /* 028923FC */ cpu->r[3] = cpu->r[30]; /* 02892400 */ Gambit_fn_0288CA30(cpu); L_02892404: ; // 0x2892404 /* 02892404 */ _t12 = cpu->r[31] + 0x00000088u; /* 02892404 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12); /* 02892408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289240C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289240C */ _t14 = _t13 & 0x00000001u; /* 0289240C */ if (_t14) goto L_02892418; else goto L_02892410; L_02892410: ; // 0x2892410 /* 02892410 */ cpu->r[3] = cpu->r[30]; /* 02892414 */ Gambit_fn_0288CA30(cpu); L_02892418: ; // 0x2892418 /* 02892418 */ cpu->r[3] = cpu->r[30]; /* 0289241C */ cpu->r[4] = cpu->r[31]; /* 02892420 */ Gambit_fn_0288CA30(cpu); L_02892424: ; // 0x2892424 /* 02892424 */ _t15 = cpu->r[1] + 0x00000014u; /* 02892424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02892428 */ _t16 = cpu->r[1] + 0x00000008u; /* 02892428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0289242C */ cpu->lr = cpu->r[0]; /* 02892430 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 02892430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 02892434 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02892438 */ return; } // fn_028923C0 @ 0x28923c0 void Gambit_fn_028923C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028923C0: ; // 0x28923c0 /* 028923C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028923C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028923C0 */ cpu->r[1] = _t0; /* 028923C4 */ _t1 = cpu->r[1] + 0x00000008u; /* 028923C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028923C8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028923C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028923CC */ cpu->r[31] = cpu->r[4]; /* 028923CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028923D0 */ cpu->r[30] = cpu->r[3]; /* 028923D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028923D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028923D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028923D8 */ _t5 = _t4 & 0x00000001u; /* 028923D8 */ if (_t5) goto L_02892424; else goto L_028923DC; L_028923DC: ; // 0x28923dc /* 028923DC */ _t6 = cpu->r[31] + 0x00000008u; /* 028923DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 028923E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028923E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028923E4 */ _t8 = _t7 & 0x00000001u; /* 028923E4 */ if (_t8) goto L_028923F0; else goto L_028923E8; L_028923E8: ; // 0x28923e8 /* 028923E8 */ cpu->r[3] = cpu->r[30]; /* 028923EC */ Gambit_fn_0288CA30(cpu); L_028923F0: ; // 0x28923f0 /* 028923F0 */ _t9 = cpu->r[31] + 0x00000014u; /* 028923F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 028923F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028923F8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028923F8 */ _t11 = _t10 & 0x00000001u; /* 028923F8 */ if (_t11) goto L_02892404; else goto L_028923FC; L_028923FC: ; // 0x28923fc /* 028923FC */ cpu->r[3] = cpu->r[30]; /* 02892400 */ Gambit_fn_0288CA30(cpu); L_02892404: ; // 0x2892404 /* 02892404 */ _t12 = cpu->r[31] + 0x00000088u; /* 02892404 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12); /* 02892408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289240C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289240C */ _t14 = _t13 & 0x00000001u; /* 0289240C */ if (_t14) goto L_02892418; else goto L_02892410; L_02892410: ; // 0x2892410 /* 02892410 */ cpu->r[3] = cpu->r[30]; /* 02892414 */ Gambit_fn_0288CA30(cpu); L_02892418: ; // 0x2892418 /* 02892418 */ cpu->r[3] = cpu->r[30]; /* 0289241C */ cpu->r[4] = cpu->r[31]; /* 02892420 */ Gambit_fn_0288CA30(cpu); L_02892424: ; // 0x2892424 /* 02892424 */ _t15 = cpu->r[1] + 0x00000014u; /* 02892424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02892428 */ _t16 = cpu->r[1] + 0x00000008u; /* 02892428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0289242C */ cpu->lr = cpu->r[0]; /* 02892430 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 02892430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 02892434 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02892438 */ return; } // fn_0289243C @ 0x289243c void Gambit_fn_0289243C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289243C: ; // 0x289243c /* 0289243C */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 0289243C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289243C */ cpu->r[1] = _t0; /* 02892440 */ /* nop */ /* 02892444 */ cpu->r[5] = 0x43460000u; /* 02892448 */ cpu->r[0] = cpu->lr; /* 0289244C */ cpu->r[28] = cpu->r[3]; /* 02892450 */ cpu->r[7] = cpu->r[1] + 0x00000010u; /* 02892454 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 02892458 */ cpu->r[5] = cpu->r[5] + 0x00004620u; /* 0289245C */ _t1 = cpu->r[1] + 0x0000004Cu; /* 0289245C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02892460 */ cpu->r[29] = cpu->r[4]; /* 02892464 */ Gambit_fn_0288A9A8(cpu); /* 02892468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289246C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289246C */ _t3 = _t2 & 0x00000001u; /* 0289246C */ if (_t3) goto L_02892498; else goto L_02892470; L_02892470: ; // 0x2892470 /* 02892470 */ _t4 = cpu->r[1] + 0x00000018u; /* 02892470 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4); /* 02892474 */ cpu->r[4] = 0x00000098u; /* 02892478 */ cpu->r[3] = cpu->r[28]; /* 0289247C */ _t5 = cpu->r[29] + 0x000000A0u; /* 0289247C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 02892480 */ Gambit_fn_0288D4C4(cpu); /* 02892484 */ cpu->r[30] = cpu->r[3]; /* 02892484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02892488 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892488 */ _t7 = _t6 & 0x00000001u; /* 02892488 */ if (_t7) goto L_02892498; else goto L_0289248C; L_0289248C: ; // 0x289248c /* 0289248C */ _t8 = cpu->r[28] + 0x00000028u; /* 0289248C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8); /* 02892490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02892494 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892494 */ _t10 = _t9 & 0x00000001u; /* 02892494 */ if (_t10) goto L_028924B0; else goto L_02892498; L_02892498: ; // 0x2892498 /* 02892498 */ /* nop */ /* 0289249C */ _t11 = cpu->r[1] + 0x0000004Cu; /* 0289249C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028924A0 */ cpu->lr = cpu->r[0]; /* 028924A4 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 028924A8 */ cpu->r[3] = 0x00000000u; /* 028924AC */ return; L_028924B0: ; // 0x28924b0 /* 028924B0 */ _t12 = cpu->r[1] + 0x00000018u; /* 028924B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12); /* 028924B4 */ cpu->r[7] = cpu->r[1] + 0x00000014u; /* 028924B8 */ cpu->r[6] = 0x00000004u; /* 028924BC */ cpu->r[4] = cpu->r[29]; /* 028924C0 */ cpu->r[3] = cpu->r[28]; /* 028924C4 */ Gambit_fn_0288A5D0(cpu); /* 028924C8 */ _t13 = cpu->r[1] + 0x00000016u; /* 028924C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 028924CC */ _t14 = cpu->r[1] + 0x00000018u; /* 028924CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14); /* 028924D0 */ cpu->r[4] = cpu->r[29]; /* 028924D4 */ cpu->r[3] = cpu->r[28]; /* 028924D8 */ cpu->r[5] = cpu->r[7] + cpu->r[0]; /* 028924DC */ cpu->r[6] = cpu->r[1] + 0x0000000Eu; /* 028924E0 */ _t15 = cpu->r[30] + 0x00000004u; /* 028924E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]); /* 028924E4 */ Gambit_fn_028922C4(cpu); /* 028924E8 */ _t16 = cpu->r[28] + 0x00000028u; /* 028924E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 028924EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028924F0 */ _t17 = cpu->r[1] + 0x00000010u; /* 028924F0 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 028924F4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028924F4 */ _t19 = _t18 & 0x00000001u; /* 028924F4 */ if (_t19) goto L_028924F8; else goto L_028925FC; L_028924F8: ; // 0x28924f8 /* 028924F8 */ _t20 = cpu->r[30] + 0x00000004u; /* 028924F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 028924FC */ cpu->r[7] = cpu->r[1] + 0x00000014u; /* 02892500 */ cpu->r[6] = 0x00000002u; /* 02892504 */ cpu->r[4] = cpu->r[29]; /* 02892508 */ cpu->r[3] = cpu->r[28]; /* 0289250C */ Gambit_fn_0288A5D0(cpu); /* 02892510 */ _t21 = cpu->r[1] + 0x00000014u; /* 02892510 */ cpu->r[8] = rbrew_read8(cpu->mem, _t21); /* 02892514 */ _t22 = cpu->r[1] + 0x00000015u; /* 02892514 */ cpu->r[7] = rbrew_read8(cpu->mem, _t22); /* 02892518 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000008u, 0x00000000u, 0x00000017u); /* 0289251C */ cpu->r[10] = cpu->r[0] | cpu->r[7]; /* 02892520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u); /* 02892524 */ cpu->r[3] = cpu->r[28]; /* 02892528 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892528 */ _t24 = _t23 & 0x00000001u; /* 02892528 */ if (_t24) goto L_02892554; else goto L_0289252C; L_0289252C: ; // 0x289252c /* 0289252C */ cpu->r[11] = 0x000001CAu; /* 02892530 */ cpu->r[4] = cpu->r[30]; /* 02892534 */ _t25 = cpu->r[28] + 0x00000028u; /* 02892534 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]); /* 02892538 */ Gambit_fn_0288CA30(cpu); /* 0289253C */ /* nop */ /* 02892540 */ _t26 = cpu->r[1] + 0x0000004Cu; /* 02892540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02892544 */ cpu->lr = cpu->r[0]; /* 02892548 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 0289254C */ cpu->r[3] = 0x00000000u; /* 02892550 */ return; L_02892554: ; // 0x2892554 /* 02892554 */ _t27 = cpu->r[1] + 0x00000010u; /* 02892554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02892558 */ cpu->r[4] = cpu->r[29]; /* 0289255C */ _t28 = cpu->r[30] + 0x00000004u; /* 0289255C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 02892560 */ cpu->r[5] = cpu->r[12] + cpu->r[0]; /* 02892564 */ cpu->r[6] = cpu->r[1] + 0x0000000Eu; /* 02892568 */ _t29 = cpu->r[30] + 0x0000000Cu; /* 02892568 */ rbrew_write32(cpu->mem, _t29, cpu->r[5]); /* 0289256C */ Gambit_fn_028922C4(cpu); /* 02892570 */ _t30 = cpu->r[28] + 0x00000028u; /* 02892570 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 02892574 */ cpu->r[6] = cpu->r[3]; /* 02892578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289257C */ _t31 = cpu->r[1] + 0x00000010u; /* 0289257C */ rbrew_write32(cpu->mem, _t31, cpu->r[6]); /* 02892580 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892580 */ _t33 = _t32 & 0x00000001u; /* 02892580 */ if (_t33) goto L_02892584; else goto L_028925FC; L_02892584: ; // 0x2892584 /* 02892584 */ _t34 = cpu->r[30] + 0x0000000Cu; /* 02892584 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 02892588 */ cpu->r[3] = cpu->r[28]; /* 0289258C */ cpu->r[4] = cpu->r[29]; /* 02892590 */ Gambit_fn_0288A6B8(cpu); /* 02892594 */ _t35 = cpu->r[30] + 0x00000008u; /* 02892594 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]); /* 02892598 */ _t36 = cpu->r[1] + 0x00000010u; /* 02892598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36); /* 0289259C */ _t37 = cpu->r[30] + 0x0000000Cu; /* 0289259C */ cpu->r[7] = rbrew_read32(cpu->mem, _t37); /* 028925A0 */ cpu->r[4] = cpu->r[29]; /* 028925A4 */ cpu->r[5] = cpu->r[7] + cpu->r[8]; /* 028925A8 */ cpu->r[3] = cpu->r[28]; /* 028925AC */ cpu->r[6] = cpu->r[1] + 0x0000000Eu; /* 028925B0 */ _t38 = cpu->r[30] + 0x00000010u; /* 028925B0 */ rbrew_write32(cpu->mem, _t38, cpu->r[5]); /* 028925B4 */ Gambit_fn_028922C4(cpu); /* 028925B8 */ _t39 = cpu->r[28] + 0x00000028u; /* 028925B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); /* 028925BC */ cpu->r[6] = cpu->r[3]; /* 028925C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028925C4 */ _t40 = cpu->r[1] + 0x00000010u; /* 028925C4 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]); /* 028925C8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 028925C8 */ _t42 = _t41 & 0x00000001u; /* 028925C8 */ if (_t42) goto L_028925CC; else goto L_028925FC; L_028925CC: ; // 0x28925cc /* 028925CC */ _t43 = cpu->r[30] + 0x00000010u; /* 028925CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t43); /* 028925D0 */ cpu->r[4] = cpu->r[29]; /* 028925D4 */ cpu->r[3] = cpu->r[28]; /* 028925D8 */ cpu->r[5] = cpu->r[12] + cpu->r[6]; /* 028925DC */ cpu->r[6] = cpu->r[1] + 0x0000000Eu; /* 028925E0 */ _t44 = cpu->r[30] + 0x00000018u; /* 028925E0 */ rbrew_write32(cpu->mem, _t44, cpu->r[5]); /* 028925E4 */ Gambit_fn_028922C4(cpu); /* 028925E8 */ _t45 = cpu->r[28] + 0x00000028u; /* 028925E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45); /* 028925EC */ cpu->r[6] = cpu->r[3]; /* 028925F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028925F4 */ _t46 = cpu->r[1] + 0x00000010u; /* 028925F4 */ rbrew_write32(cpu->mem, _t46, cpu->r[6]); /* 028925F8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 028925F8 */ _t48 = _t47 & 0x00000001u; /* 028925F8 */ if (_t48) goto L_02892620; else goto L_028925FC; L_028925FC: ; // 0x28925fc /* 028925FC */ cpu->r[3] = cpu->r[28]; /* 02892600 */ cpu->r[4] = cpu->r[30]; /* 02892604 */ Gambit_fn_0288CA30(cpu); /* 02892608 */ /* nop */ /* 0289260C */ _t49 = cpu->r[1] + 0x0000004Cu; /* 0289260C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 02892610 */ cpu->lr = cpu->r[0]; /* 02892614 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 02892618 */ cpu->r[3] = 0x00000000u; /* 0289261C */ return; L_02892620: ; // 0x2892620 /* 02892620 */ _t50 = cpu->r[30] + 0x00000018u; /* 02892620 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50); /* 02892624 */ cpu->r[4] = cpu->r[29]; /* 02892628 */ cpu->r[3] = cpu->r[28]; /* 0289262C */ Gambit_fn_0288A6B8(cpu); /* 02892630 */ _t51 = cpu->r[30] + 0x00000008u; /* 02892630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51); /* 02892634 */ cpu->r[27] = 0x00000000u; /* 02892638 */ _t52 = cpu->r[30] + 0x00000014u; /* 02892638 */ rbrew_write32(cpu->mem, _t52, cpu->r[3]); /* 0289263C */ _t53 = cpu->r[12] + 0x00000002u; /* 0289263C */ cpu->r[10] = rbrew_read8(cpu->mem, _t53); /* 02892640 */ cpu->r[11] = cpu->r[27]; /* 02892644 */ _t54 = cpu->r[12] + 0x00000000u; /* 02892644 */ cpu->r[7] = rbrew_read16(cpu->mem, _t54); /* 02892648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289264C */ cpu->r[12] = cpu->r[12] + 0x00000003u; /* 02892650 */ cpu->r[8] = cpu->r[27]; /* 02892654 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892654 */ _t56 = _t55 & 0x00000001u; /* 02892654 */ if (_t56) goto L_02892684; else goto L_02892658; L_02892658: ; // 0x2892658 /* 02892658 */ cpu->r[5] = cpu->r[12] + cpu->r[10]; /* 0289265C */ cpu->ctr = cpu->r[10]; /* 02892660 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; L_02892664: ; // 0x2892664 /* 02892664 */ _t57 = cpu->r[12] + cpu->r[8]; /* 02892664 */ cpu->r[0] = rbrew_read8(cpu->mem, _t57); /* 02892668 */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000008u, 0x00000000u, 0x00000017u); /* 0289266C */ _t58 = cpu->r[5] + 0x00000001u; /* 0289266C */ cpu->r[4] = rbrew_read8(cpu->mem, _t58); /* 0289266C */ cpu->r[5] = _t58; /* 02892670 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x00000017u); /* 02892674 */ cpu->r[27] = cpu->r[6] + cpu->r[0]; /* 02892678 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289267C */ cpu->r[11] = cpu->r[9] + cpu->r[4]; /* 02892680 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892680 */ _t59 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892680 */ _t60 = _t59 >> (0x00000002u & 31u); /* 02892680 */ _t61 = _t60 & 0x00000001u; /* 02892680 */ if (_t61) goto L_02892664; else goto L_02892684; L_02892684: ; // 0x2892684 /* 02892684 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 02892688 */ cpu->r[31] = cpu->r[30] + 0x00000024u; /* 0289268C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[10]); /* 02892690 */ cpu->r[6] = cpu->r[11] - cpu->r[27]; /* 02892694 */ cpu->r[3] = cpu->r[31]; /* 02892698 */ cpu->r[4] = 0x00000000u; /* 0289269C */ cpu->r[10] = cpu->r[12] + cpu->r[8]; /* 028926A0 */ cpu->r[5] = 0x00000074u; /* 028926A4 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu; /* 028926A8 */ _t62 = cpu->r[1] + 0x00000010u; /* 028926A8 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]); /* 028926AC */ cpu->r[27] = cpu->r[12] + cpu->r[27]; /* 028926B0 */ rbrew_dispatch(cpu, 0x02d0a6f0u); /* 028926B4 */ cpu->r[7] = 0xFFFFFF9Cu; /* 028926B8 */ cpu->r[8] = 0x00000032u; /* 028926BC */ _t63 = cpu->r[30] + 0x0000003Cu; /* 028926BC */ rbrew_write32(cpu->mem, _t63, cpu->r[7]); /* 028926C0 */ cpu->r[6] = 0x00100000u; /* 028926C4 */ _t64 = cpu->r[30] + 0x00000038u; /* 028926C4 */ rbrew_write32(cpu->mem, _t64, cpu->r[8]); /* 028926C8 */ cpu->r[6] = cpu->r[6] + 0x0000624Eu; /* 028926CC */ cpu->r[9] = 0x00000002u; /* 028926D0 */ _t65 = cpu->r[30] + 0x00000044u; /* 028926D0 */ rbrew_write32(cpu->mem, _t65, cpu->r[6]); /* 028926D4 */ _t66 = cpu->r[30] + 0x00000040u; /* 028926D4 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]); /* 028926D8 */ cpu->r[7] = cpu->r[31]; /* 028926DC */ cpu->r[4] = cpu->r[29]; /* 028926E0 */ _t67 = cpu->r[30] + 0x00000050u; /* 028926E0 */ rbrew_write32(cpu->mem, _t67, cpu->r[6]); /* 028926E4 */ _t68 = cpu->r[1] + 0x00000010u; /* 028926E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t68); /* 028926E8 */ cpu->r[6] = cpu->r[27]; /* 028926EC */ cpu->r[3] = cpu->r[28]; /* 028926F0 */ Gambit_fn_0288ED00(cpu); /* 028926F4 */ _t69 = cpu->r[30] + 0x00000040u; /* 028926F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69); /* 028926F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u); /* 028926FC */ cpu->r[3] = cpu->r[28]; /* 02892700 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892700 */ _t71 = _t70 & 0x00000001u; /* 02892700 */ if (_t71) goto L_0289272C; else goto L_02892704; L_02892704: ; // 0x2892704 /* 02892704 */ cpu->r[0] = 0x000001CBu; /* 02892708 */ cpu->r[4] = cpu->r[30]; /* 0289270C */ _t72 = cpu->r[28] + 0x00000028u; /* 0289270C */ rbrew_write32(cpu->mem, _t72, cpu->r[0]); /* 02892710 */ Gambit_fn_028923BC(cpu); /* 02892714 */ /* nop */ /* 02892718 */ _t73 = cpu->r[1] + 0x0000004Cu; /* 02892718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 0289271C */ cpu->lr = cpu->r[0]; /* 02892720 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 02892724 */ cpu->r[3] = 0x00000000u; /* 02892728 */ return; L_0289272C: ; // 0x289272c /* 0289272C */ _t74 = cpu->r[31] + 0x00000050u; /* 0289272C */ cpu->r[5] = rbrew_read32(cpu->mem, _t74); /* 02892730 */ cpu->r[4] = cpu->r[29]; /* 02892734 */ _t75 = cpu->r[29] + 0x000000A0u; /* 02892734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75); /* 02892738 */ cpu->r[5] = cpu->r[12] + cpu->r[5]; /* 0289273C */ cpu->r[6] = cpu->r[1] + 0x0000000Eu; /* 02892740 */ _t76 = cpu->r[30] + 0x00000020u; /* 02892740 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]); /* 02892744 */ Gambit_fn_028922C4(cpu); /* 02892748 */ _t77 = cpu->r[28] + 0x00000028u; /* 02892748 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77); /* 0289274C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02892750 */ _t78 = cpu->r[1] + 0x00000010u; /* 02892750 */ rbrew_write32(cpu->mem, _t78, cpu->r[3]); /* 02892754 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892754 */ _t80 = _t79 & 0x00000001u; /* 02892754 */ if (_t80) goto L_0289277C; else goto L_02892758; L_02892758: ; // 0x2892758 /* 02892758 */ cpu->r[3] = cpu->r[28]; /* 0289275C */ cpu->r[4] = cpu->r[30]; /* 02892760 */ Gambit_fn_028923BC(cpu); /* 02892764 */ /* nop */ /* 02892768 */ _t81 = cpu->r[1] + 0x0000004Cu; /* 02892768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81); /* 0289276C */ cpu->lr = cpu->r[0]; /* 02892770 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 02892774 */ cpu->r[3] = 0x00000000u; /* 02892778 */ return; L_0289277C: ; // 0x289277c /* 0289277C */ _t82 = cpu->r[31] + 0x00000048u; /* 0289277C */ cpu->r[0] = rbrew_read32(cpu->mem, _t82); /* 02892780 */ _t83 = cpu->r[1] + 0x0000000Eu; /* 02892780 */ cpu->r[6] = rbrew_read16(cpu->mem, _t83); /* 02892784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02892788 */ _t84 = cpu->r[31] + 0x00000060u; /* 02892788 */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[6]); /* 0289278C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289278C */ _t86 = _t85 & 0x00000001u; /* 0289278C */ if (_t86) goto L_02892A08; else goto L_02892790; L_02892790: ; // 0x2892790 /* 02892790 */ _t87 = cpu->r[31] + 0x00000060u; /* 02892790 */ cpu->r[27] = rbrew_read16(cpu->mem, _t87); /* 02892794 */ _t88 = cpu->r[29] + 0x000000A0u; /* 02892794 */ cpu->r[7] = rbrew_read32(cpu->mem, _t88); /* 02892798 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289279C */ cpu->r[3] = cpu->r[28]; /* 028927A0 */ cpu->r[22] = cpu->r[7] + cpu->r[0]; /* 028927A4 */ Gambit_fn_0288D574(cpu); /* 028927A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028927AC */ _t89 = cpu->r[31] + 0x00000064u; /* 028927AC */ rbrew_write32(cpu->mem, _t89, cpu->r[3]); /* 028927B0 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 028927B0 */ _t91 = _t90 & 0x00000001u; /* 028927B0 */ if (_t91) goto L_02892A08; else goto L_028927B4; L_028927B4: ; // 0x28927b4 /* 028927B4 */ _t92 = cpu->r[31] + 0x00000048u; /* 028927B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92); /* 028927B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u); /* 028927BC */ _t93 = cpu->cr[0] >> (0x00000003u & 31u); /* 028927BC */ _t94 = _t93 & 0x00000001u; /* 028927BC */ if (_t94) goto L_028927C0; else goto L_02892850; L_028927C0: ; // 0x28927c0 /* 028927C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 028927C4 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 028927C4 */ _t96 = _t95 & 0x00000001u; /* 028927C4 */ if (_t96) goto L_028927DC; else goto L_028927C8; L_028927C8: ; // 0x28927c8 /* 028927C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 028927CC */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 028927CC */ _t98 = _t97 & 0x00000001u; /* 028927CC */ if (_t98) goto L_028927F0; else goto L_028927D0; L_028927D0: ; // 0x28927d0 /* 028927D0 */ cpu->r[12] = 0x10130000u; /* 028927D4 */ cpu->r[12] = cpu->r[12] + 0x00007274u; /* 028927D8 */ goto L_028927F8; L_028927DC: ; // 0x28927dc /* 028927DC */ cpu->r[12] = 0x10130000u; /* 028927E0 */ cpu->r[6] = 0x00000001u; /* 028927E4 */ cpu->r[11] = 0x00000002u; /* 028927E8 */ cpu->r[12] = cpu->r[12] + 0x0000728Cu; /* 028927EC */ goto L_02892830; L_028927F0: ; // 0x28927f0 /* 028927F0 */ cpu->r[12] = 0x10130000u; /* 028927F4 */ cpu->r[12] = cpu->r[12] + 0x000072D4u; L_028927F8: ; // 0x28927f8 /* 028927F8 */ cpu->r[6] = 0x00000001u; /* 028927FC */ cpu->r[11] = 0x00000002u; /* 02892800 */ goto L_02892830; L_02892804: ; // 0x2892804 /* 02892804 */ _t99 = cpu->r[31] + 0x00000064u; /* 02892804 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99); /* 02892808 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0289280C */ cpu->r[11] = cpu->r[11] + 0x00000002u; /* 02892810 */ _t100 = cpu->r[8] + cpu->r[7]; /* 02892810 */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[5]); /* 02892814 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 02892818 */ cpu->r[7] = cpu->r[7] + 0x00000002u; L_0289281C: ; // 0x289281c /* 0289281C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]); /* 02892820 */ _t101 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892820 */ _t102 = _t101 & 0x00000001u; /* 02892820 */ if (_t102) goto L_0289282C; else goto L_02892824; L_02892824: ; // 0x2892824 /* 02892824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 02892828 */ _t103 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892828 */ _t104 = _t103 & 0x00000001u; /* 02892828 */ if (_t104) goto L_02892804; else goto L_0289282C; L_0289282C: ; // 0x289282c /* 0289282C */ cpu->r[12] = cpu->r[12] + 0x00000004u; L_02892830: ; // 0x2892830 /* 02892830 */ _t105 = cpu->r[12] + 0x00000000u; /* 02892830 */ cpu->r[5] = rbrew_read16(cpu->mem, _t105); /* 02892834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02892838 */ _t106 = cpu->r[12] + 0x00000002u; /* 02892838 */ cpu->r[4] = rbrew_read16(cpu->mem, _t106); /* 0289283C */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289283C */ _t108 = _t107 & 0x00000001u; /* 0289283C */ if (_t108) goto L_02892A08; else goto L_02892840; L_02892840: ; // 0x2892840 /* 02892840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02892844 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892844 */ _t110 = _t109 & 0x00000001u; /* 02892844 */ if (_t110) goto L_02892A08; else goto L_02892848; L_02892848: ; // 0x2892848 /* 02892848 */ cpu->r[7] = cpu->r[11]; /* 0289284C */ goto L_0289281C; L_02892850: ; // 0x2892850 /* 02892850 */ cpu->r[7] = cpu->r[1] + 0x0000000Du; /* 02892854 */ cpu->r[6] = 0x00000001u; /* 02892858 */ cpu->r[5] = cpu->r[22]; /* 0289285C */ cpu->r[4] = cpu->r[29]; /* 02892860 */ cpu->r[3] = cpu->r[28]; /* 02892864 */ Gambit_fn_0288A5D0(cpu); /* 02892868 */ _t111 = cpu->r[1] + 0x0000000Du; /* 02892868 */ cpu->r[9] = rbrew_read8(cpu->mem, _t111); /* 0289286C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02892870 */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 02892874 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892874 */ _t113 = _t112 & 0x00000001u; /* 02892874 */ if (_t113) goto L_02892878; else goto L_028928E0; L_02892878: ; // 0x2892878 /* 02892878 */ cpu->r[9] = cpu->r[27] + 0xFFFFFFFFu; /* 0289287C */ cpu->r[5] = cpu->r[22]; /* 02892880 */ cpu->r[4] = cpu->r[29]; /* 02892884 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02892888 */ cpu->r[3] = cpu->r[28]; /* 0289288C */ Gambit_fn_0288A6B8(cpu); /* 02892890 */ cpu->r[4] = cpu->r[3]; /* 02892890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02892894 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892894 */ _t115 = _t114 & 0x00000001u; /* 02892894 */ if (_t115) goto L_02892A08; else goto L_02892898; L_02892898: ; // 0x2892898 /* 02892898 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000001u); /* 0289289C */ cpu->r[0] = cpu->r[27] + 0xFFFFFFFFu; /* 028928A0 */ cpu->r[6] = cpu->r[4]; /* 028928A4 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u); /* 028928A4 */ _t117 = _t116 & 0x00000001u; /* 028928A4 */ if (_t117) goto L_028928A8; else goto L_028928C8; L_028928A8: ; // 0x28928a8 /* 028928A8 */ cpu->ctr = cpu->r[0]; /* 028928AC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFEu; /* 028928B0 */ cpu->r[5] = 0x00000002u; L_028928B4: ; // 0x28928b4 /* 028928B4 */ _t118 = cpu->r[31] + 0x00000064u; /* 028928B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t118); /* 028928B8 */ _t119 = cpu->r[6] + 0x00000002u; /* 028928B8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t119); /* 028928B8 */ cpu->r[6] = _t119; /* 028928BC */ _t120 = cpu->r[10] + cpu->r[5]; /* 028928BC */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[11]); /* 028928C0 */ cpu->r[5] = cpu->r[5] + 0x00000002u; /* 028928C4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028928C4 */ _t121 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028928C4 */ _t122 = _t121 >> (0x00000002u & 31u); /* 028928C4 */ _t123 = _t122 & 0x00000001u; /* 028928C4 */ if (_t123) goto L_028928B4; else goto L_028928C8; L_028928C8: ; // 0x28928c8 /* 028928C8 */ cpu->r[3] = cpu->r[28]; /* 028928CC */ Gambit_fn_0288CA30(cpu); /* 028928D0 */ _t124 = cpu->r[31] + 0x0000005Cu; /* 028928D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t124); /* 028928D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028928D8 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u); /* 028928D8 */ _t126 = _t125 & 0x00000001u; /* 028928D8 */ if (_t126) goto L_02892A54; else goto L_028928DC; L_028928DC: ; // 0x28928dc /* 028928DC */ goto L_02892A14; L_028928E0: ; // 0x28928e0 /* 028928E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u); /* 028928E4 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u); /* 028928E4 */ _t128 = _t127 & 0x00000001u; /* 028928E4 */ if (_t128) goto L_028928F0; else goto L_028928E8; L_028928E8: ; // 0x28928e8 /* 028928E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u); /* 028928EC */ _t129 = cpu->cr[0] >> (0x00000001u & 31u); /* 028928EC */ _t130 = _t129 & 0x00000001u; /* 028928EC */ if (_t130) goto L_028928F0; else goto L_02892A08; L_028928F0: ; // 0x28928f0 /* 028928F0 */ cpu->r[21] = 0x00000001u; /* 028928F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[27]); /* 028928F8 */ _t131 = cpu->cr[0] >> (0x00000003u & 31u); /* 028928F8 */ _t132 = _t131 & 0x00000001u; /* 028928F8 */ if (_t132) goto L_028928FC; else goto L_02892A08; L_028928FC: ; // 0x28928fc /* 028928FC */ cpu->r[26] = 0x00000000u; /* 02892900 */ cpu->r[25] = cpu->r[1] + 0x00000008u; /* 02892904 */ cpu->r[24] = cpu->r[27] + 0xFFFFFFFEu; /* 02892908 */ cpu->r[23] = cpu->r[1] + 0x0000000Au; L_0289290C: ; // 0x289290c /* 0289290C */ cpu->r[6] = 0x00000002u; /* 02892910 */ cpu->r[7] = cpu->r[23]; /* 02892914 */ cpu->r[5] = cpu->r[22]; /* 02892918 */ cpu->r[4] = cpu->r[29]; /* 0289291C */ cpu->r[3] = cpu->r[28]; /* 02892920 */ Gambit_fn_0288A5D0(cpu); /* 02892924 */ _t133 = cpu->r[1] + 0x0000000Du; /* 02892924 */ cpu->r[5] = rbrew_read8(cpu->mem, _t133); /* 02892928 */ cpu->r[3] = cpu->r[28]; /* 0289292C */ cpu->r[4] = cpu->r[29]; /* 02892930 */ cpu->r[22] = cpu->r[22] + 0x00000002u; /* 02892934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u); /* 02892938 */ cpu->r[5] = cpu->r[22]; /* 0289293C */ _t134 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289293C */ _t135 = _t134 & 0x00000001u; /* 0289293C */ if (_t135) goto L_02892940; else goto L_02892968; L_02892940: ; // 0x2892940 /* 02892940 */ cpu->r[6] = 0x00000001u; /* 02892944 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu; /* 02892948 */ Gambit_fn_0288A5D0(cpu); /* 0289294C */ _t136 = cpu->r[1] + 0x0000000Au; /* 0289294C */ cpu->r[4] = rbrew_read16(cpu->mem, _t136); /* 02892950 */ _t137 = cpu->r[1] + 0x0000000Cu; /* 02892950 */ cpu->r[0] = rbrew_read8(cpu->mem, _t137); /* 02892954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u); /* 02892958 */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 0289295C */ _t138 = cpu->r[1] + 0x00000008u; /* 0289295C */ rbrew_write16(cpu->mem, _t138, (uint16_t)cpu->r[0]); /* 02892960 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892960 */ _t140 = _t139 & 0x00000001u; /* 02892960 */ if (_t140) goto L_02892988; else goto L_02892964; L_02892964: ; // 0x2892964 /* 02892964 */ goto L_028929B0; L_02892968: ; // 0x2892968 /* 02892968 */ cpu->r[6] = 0x00000002u; /* 0289296C */ cpu->r[7] = cpu->r[25]; /* 02892970 */ Gambit_fn_0288A5D0(cpu); /* 02892974 */ _t141 = cpu->r[1] + 0x0000000Au; /* 02892974 */ cpu->r[4] = rbrew_read16(cpu->mem, _t141); /* 02892978 */ cpu->r[22] = cpu->r[22] + 0x00000002u; /* 0289297C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u); /* 02892980 */ _t142 = cpu->r[1] + 0x00000008u; /* 02892980 */ cpu->r[0] = rbrew_read16(cpu->mem, _t142); /* 02892984 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892984 */ _t144 = _t143 & 0x00000001u; /* 02892984 */ if (_t144) goto L_02892988; else goto L_028929B0; L_02892988: ; // 0x2892988 /* 02892988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]); /* 0289298C */ _t145 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289298C */ _t146 = _t145 & 0x00000001u; /* 0289298C */ if (_t146) goto L_02892990; else goto L_028929B0; L_02892990: ; // 0x2892990 /* 02892990 */ _t147 = cpu->r[31] + 0x00000064u; /* 02892990 */ cpu->r[4] = rbrew_read32(cpu->mem, _t147); /* 02892994 */ cpu->r[3] = cpu->r[28]; /* 02892998 */ Gambit_fn_0288CA30(cpu); /* 0289299C */ _t148 = cpu->r[31] + 0x0000005Cu; /* 0289299C */ cpu->r[9] = rbrew_read32(cpu->mem, _t148); /* 028929A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028929A4 */ _t149 = cpu->r[31] + 0x00000064u; /* 028929A4 */ rbrew_write32(cpu->mem, _t149, cpu->r[26]); /* 028929A8 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u); /* 028929A8 */ _t151 = _t150 & 0x00000001u; /* 028929A8 */ if (_t151) goto L_02892A54; else goto L_028929AC; L_028929AC: ; // 0x28929ac /* 028929AC */ goto L_02892A14; L_028929B0: ; // 0x28929b0 /* 028929B0 */ cpu->r[0] = cpu->r[4] + cpu->r[0]; /* 028929B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 028929B8 */ _t152 = cpu->cr[0] >> (0x00000002u & 31u); /* 028929B8 */ _t153 = _t152 & 0x00000001u; /* 028929B8 */ if (_t153) goto L_02892A00; else goto L_028929BC; L_028929BC: ; // 0x28929bc /* 028929BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[27]); /* 028929C0 */ _t154 = cpu->cr[0] >> (0x00000003u & 31u); /* 028929C0 */ _t155 = _t154 & 0x00000001u; /* 028929C0 */ if (_t155) goto L_028929C4; else goto L_02892A08; L_028929C4: ; // 0x28929c4 /* 028929C4 */ _t156 = cpu->r[31] + 0x00000064u; /* 028929C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156); /* 028929C8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[21], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028929CC */ _t157 = cpu->r[5] + cpu->r[0]; /* 028929CC */ rbrew_write16(cpu->mem, _t157, (uint16_t)cpu->r[4]); /* 028929D0 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 028929D4 */ _t158 = cpu->r[1] + 0x0000000Au; /* 028929D4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t158); /* 028929D8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028929DC */ _t159 = cpu->r[1] + 0x00000008u; /* 028929DC */ cpu->r[0] = rbrew_read16(cpu->mem, _t159); /* 028929E0 */ cpu->r[0] = cpu->r[12] + cpu->r[0]; /* 028929E4 */ cpu->r[21] = cpu->r[21] + 0x00000001u; /* 028929E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 028929EC */ cpu->r[21] = rbrew_rlwinm(cpu->r[21], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028929F0 */ _t160 = cpu->cr[0] >> (0x00000002u & 31u); /* 028929F0 */ _t161 = _t160 & 0x00000001u; /* 028929F0 */ if (_t161) goto L_02892A00; else goto L_028929F4; L_028929F4: ; // 0x28929f4 /* 028929F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[27]); /* 028929F8 */ _t162 = cpu->cr[0] >> (0x00000003u & 31u); /* 028929F8 */ _t163 = _t162 & 0x00000001u; /* 028929F8 */ if (_t163) goto L_028929C4; else goto L_028929FC; L_028929FC: ; // 0x28929fc /* 028929FC */ goto L_02892A08; L_02892A00: ; // 0x2892a00 /* 02892A00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[27]); /* 02892A04 */ _t164 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892A04 */ _t165 = _t164 & 0x00000001u; /* 02892A04 */ if (_t165) goto L_0289290C; else goto L_02892A08; L_02892A08: ; // 0x2892a08 /* 02892A08 */ _t166 = cpu->r[31] + 0x0000005Cu; /* 02892A08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t166); /* 02892A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02892A10 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892A10 */ _t168 = _t167 & 0x00000001u; /* 02892A10 */ if (_t168) goto L_02892A54; else goto L_02892A14; L_02892A14: ; // 0x2892a14 /* 02892A14 */ _t169 = cpu->r[31] + 0x00000058u; /* 02892A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169); /* 02892A18 */ _t170 = cpu->r[29] + 0x000000A0u; /* 02892A18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t170); /* 02892A1C */ cpu->r[5] = cpu->r[10] + cpu->r[0]; /* 02892A20 */ _t171 = cpu->r[1] + 0x00000018u; /* 02892A20 */ rbrew_write32(cpu->mem, _t171, cpu->r[5]); /* 02892A24 */ _t172 = cpu->r[31] + 0x0000005Cu; /* 02892A24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t172); /* 02892A28 */ cpu->r[4] = cpu->r[29]; /* 02892A2C */ cpu->r[3] = cpu->r[28]; /* 02892A30 */ _t173 = cpu->r[1] + 0x00000010u; /* 02892A30 */ rbrew_write32(cpu->mem, _t173, cpu->r[6]); /* 02892A34 */ Gambit_fn_0288A6B8(cpu); /* 02892A38 */ cpu->r[29] = cpu->r[3]; /* 02892A3C */ _t174 = cpu->r[1] + 0x00000010u; /* 02892A3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t174); /* 02892A40 */ cpu->r[5] = cpu->r[31] + 0x00000068u; /* 02892A44 */ Gambit_fn_0288F0C8(cpu); /* 02892A48 */ cpu->r[4] = cpu->r[29]; /* 02892A4C */ cpu->r[3] = cpu->r[28]; /* 02892A50 */ Gambit_fn_0288CA30(cpu); L_02892A54: ; // 0x2892a54 /* 02892A54 */ cpu->r[3] = cpu->r[30]; /* 02892A58 */ /* nop */ /* 02892A5C */ _t175 = cpu->r[1] + 0x0000004Cu; /* 02892A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t175); /* 02892A60 */ cpu->lr = cpu->r[0]; /* 02892A64 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 02892A68 */ return; } // fn_02892A6C @ 0x2892a6c void Gambit_fn_02892A6C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02892A6C: ; // 0x2892a6c /* 02892A6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02892A6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02892A6C */ cpu->r[1] = _t0; /* 02892A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02892A74 */ /* nop */ /* 02892A78 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892A78 */ _t2 = _t1 & 0x00000001u; /* 02892A78 */ if (_t2) goto L_02892D28; else goto L_02892A7C; L_02892A7C: ; // 0x2892a7c /* 02892A7C */ _t3 = cpu->r[3] + 0x0000001Au; /* 02892A7C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3); /* 02892A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u); /* 02892A84 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892A84 */ _t5 = _t4 & 0x00000001u; /* 02892A84 */ if (_t5) goto L_02892D28; else goto L_02892A88; L_02892A88: ; // 0x2892a88 /* 02892A88 */ _t6 = cpu->r[3] + 0x00000018u; /* 02892A88 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 02892A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u); /* 02892A90 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892A90 */ _t8 = _t7 & 0x00000001u; /* 02892A90 */ if (_t8) goto L_02892D28; else goto L_02892A94; L_02892A94: ; // 0x2892a94 /* 02892A94 */ _t9 = cpu->r[3] + 0x00000020u; /* 02892A94 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 02892A98 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu; /* 02892A9C */ _t10 = cpu->r[3] + 0x0000001Cu; /* 02892A9C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 02892AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000008u); /* 02892AA4 */ /* nop */ /* 02892AA8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892AA8 */ _t12 = _t11 & 0x00000001u; /* 02892AA8 */ if (_t12) goto L_02892AAC; else goto L_02892B30; L_02892AAC: ; // 0x2892aac /* 02892AAC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[7]); /* 02892AB0 */ cpu->r[10] = cpu->r[3] + 0x00000024u; /* 02892AB4 */ cpu->r[11] = cpu->r[10] + cpu->r[11]; /* 02892AB8 */ cpu->r[11] = cpu->r[11] + cpu->r[7]; /* 02892ABC */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu; /* 02892AC0 */ cpu->r[11] = cpu->r[30] - cpu->r[7]; /* 02892AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892AC8 */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu; /* 02892ACC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892ACC */ _t14 = _t13 & 0x00000001u; /* 02892ACC */ if (_t14) goto L_02892AD0; else goto L_02892D28; L_02892AD0: ; // 0x2892ad0 /* 02892AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u); /* 02892AD4 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFFu; /* 02892AD8 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892AD8 */ _t16 = _t15 & 0x00000001u; /* 02892AD8 */ if (_t16) goto L_02892ADC; else goto L_02892B1C; L_02892ADC: ; // 0x2892adc /* 02892ADC */ cpu->ctr = cpu->r[11]; /* 02892AE0 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 02892AE4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 02892AE8 */ cpu->r[9] = 0x00000000u; L_02892AEC: ; // 0x2892aec /* 02892AEC */ _t17 = cpu->r[30] + 0xFFFFFFFFu; /* 02892AEC */ cpu->r[10] = rbrew_read8(cpu->mem, _t17); /* 02892AEC */ cpu->r[30] = _t17; /* 02892AF0 */ _t18 = cpu->r[29] + 0xFFFFFFFFu; /* 02892AF0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t18); /* 02892AF0 */ cpu->r[29] = _t18; /* 02892AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 02892AF8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892AF8 */ _t20 = _t19 & 0x00000001u; /* 02892AF8 */ if (_t20) goto L_02892AFC; else goto L_02892B08; L_02892AFC: ; // 0x2892afc /* 02892AFC */ _t21 = cpu->r[30] + 0x00000000u; /* 02892AFC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[9]); /* 02892B00 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892B00 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892B00 */ _t23 = _t22 >> (0x00000002u & 31u); /* 02892B00 */ _t24 = _t23 & 0x00000001u; /* 02892B00 */ if (_t24) goto L_02892AEC; else goto L_02892B04; L_02892B04: ; // 0x2892b04 /* 02892B04 */ goto L_02892B14; L_02892B08: ; // 0x2892b08 /* 02892B08 */ cpu->r[11] = cpu->r[10] - cpu->r[11]; /* 02892B0C */ _t25 = cpu->r[30] + 0x00000000u; /* 02892B0C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]); /* 02892B10 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892B10 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892B10 */ _t27 = _t26 >> (0x00000002u & 31u); /* 02892B10 */ _t28 = _t27 & 0x00000001u; /* 02892B10 */ if (_t28) goto L_02892AEC; else goto L_02892B14; L_02892B14: ; // 0x2892b14 /* 02892B14 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02892B18 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; L_02892B1C: ; // 0x2892b1c /* 02892B1C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02892B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892B20 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02892B24 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02892B28 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892B28 */ _t30 = _t29 & 0x00000001u; /* 02892B28 */ if (_t30) goto L_02892B2C; else goto L_02892AD0; L_02892B2C: ; // 0x2892b2c /* 02892B2C */ goto L_02892D28; L_02892B30: ; // 0x2892b30 /* 02892B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u); /* 02892B34 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892B34 */ _t32 = _t31 & 0x00000001u; /* 02892B34 */ if (_t32) goto L_02892B38; else goto L_02892BF8; L_02892B38: ; // 0x2892b38 /* 02892B38 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[7]); /* 02892B3C */ cpu->r[10] = cpu->r[3] + 0x00000024u; /* 02892B40 */ cpu->r[11] = cpu->r[10] + cpu->r[11]; /* 02892B44 */ cpu->r[11] = cpu->r[11] + cpu->r[7]; /* 02892B48 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu; /* 02892B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892B50 */ cpu->r[29] = cpu->r[30] - cpu->r[7]; /* 02892B54 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892B54 */ _t34 = _t33 & 0x00000001u; /* 02892B54 */ if (_t34) goto L_02892B58; else goto L_02892D28; L_02892B58: ; // 0x2892b58 /* 02892B58 */ cpu->r[11] = cpu->r[7]; /* 02892B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02892B5C */ cpu->r[5] = cpu->r[7]; /* 02892B60 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892B60 */ _t36 = _t35 & 0x00000001u; /* 02892B60 */ if (_t36) goto L_02892B64; else goto L_02892BEC; L_02892B64: ; // 0x2892b64 /* 02892B64 */ cpu->ctr = cpu->r[11]; /* 02892B68 */ cpu->r[30] = cpu->r[30] + 0x00000001u; L_02892B6C: ; // 0x2892b6c /* 02892B6C */ _t37 = cpu->r[29] + 0x00000000u; /* 02892B6C */ cpu->r[11] = rbrew_read8(cpu->mem, _t37); /* 02892B70 */ _t38 = cpu->r[30] + 0xFFFFFFFFu; /* 02892B70 */ cpu->r[10] = rbrew_read8(cpu->mem, _t38); /* 02892B70 */ cpu->r[30] = _t38; /* 02892B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u); /* 02892B78 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02892B7C */ cpu->r[9] = 0x00000000u; /* 02892B80 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02892B84 */ /* nop */ /* 02892B88 */ /* nop */ /* 02892B8C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892B8C */ _t40 = _t39 & 0x00000001u; /* 02892B8C */ if (_t40) goto L_02892BB0; else goto L_02892B90; L_02892B90: ; // 0x2892b90 /* 02892B90 */ _t41 = cpu->r[29] + 0x00000000u; /* 02892B90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t41); /* 02892B94 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02892B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]); /* 02892B9C */ _t42 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892B9C */ _t43 = _t42 & 0x00000001u; /* 02892B9C */ if (_t43) goto L_02892BA0; else goto L_02892BB0; L_02892BA0: ; // 0x2892ba0 /* 02892BA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]); /* 02892BA4 */ cpu->r[6] = 0x00000000u; /* 02892BA8 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892BA8 */ _t45 = _t44 & 0x00000001u; /* 02892BA8 */ if (_t45) goto L_02892BAC; else goto L_02892BD4; L_02892BAC: ; // 0x2892bac /* 02892BAC */ goto L_02892BBC; L_02892BB0: ; // 0x2892bb0 /* 02892BB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]); /* 02892BB4 */ cpu->r[6] = cpu->r[6] - cpu->r[9]; /* 02892BB8 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892BB8 */ _t47 = _t46 & 0x00000001u; /* 02892BB8 */ if (_t47) goto L_02892BBC; else goto L_02892BD4; L_02892BBC: ; // 0x2892bbc /* 02892BBC */ cpu->r[8] = 0x00000000u; /* 02892BC0 */ _t48 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02892BC0 */ _t49 = cpu->r[8] & 0x0000000Fu; /* 02892BC0 */ cpu->r[8] = _t49 | _t48; /* 02892BC4 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; /* 02892BC8 */ _t50 = cpu->r[30] + 0x00000000u; /* 02892BC8 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[8]); /* 02892BCC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892BCC */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892BCC */ _t52 = _t51 >> (0x00000002u & 31u); /* 02892BCC */ _t53 = _t52 & 0x00000001u; /* 02892BCC */ if (_t53) goto L_02892B6C; else goto L_02892BD0; L_02892BD0: ; // 0x2892bd0 /* 02892BD0 */ goto L_02892BE8; L_02892BD4: ; // 0x2892bd4 /* 02892BD4 */ cpu->r[8] = cpu->r[8] - cpu->r[10]; /* 02892BD8 */ _t54 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02892BD8 */ _t55 = cpu->r[8] & 0x0000000Fu; /* 02892BD8 */ cpu->r[8] = _t55 | _t54; /* 02892BDC */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; /* 02892BE0 */ _t56 = cpu->r[30] + 0x00000000u; /* 02892BE0 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[8]); /* 02892BE4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892BE4 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892BE4 */ _t58 = _t57 >> (0x00000002u & 31u); /* 02892BE4 */ _t59 = _t58 & 0x00000001u; /* 02892BE4 */ if (_t59) goto L_02892B6C; else goto L_02892BE8; L_02892BE8: ; // 0x2892be8 /* 02892BE8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; L_02892BEC: ; // 0x2892bec /* 02892BEC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02892BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892BF0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892BF0 */ _t61 = _t60 & 0x00000001u; /* 02892BF0 */ if (_t61) goto L_02892BF4; else goto L_02892B58; L_02892BF4: ; // 0x2892bf4 /* 02892BF4 */ goto L_02892D28; L_02892BF8: ; // 0x2892bf8 /* 02892BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u); /* 02892BFC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892BFC */ _t63 = _t62 & 0x00000001u; /* 02892BFC */ if (_t63) goto L_02892C00; else goto L_02892D28; L_02892C00: ; // 0x2892c00 /* 02892C00 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[7]); /* 02892C04 */ cpu->r[10] = cpu->r[3] + 0x00000024u; /* 02892C08 */ cpu->r[11] = cpu->r[10] + cpu->r[11]; /* 02892C0C */ cpu->r[11] = cpu->r[11] + cpu->r[7]; /* 02892C10 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu; /* 02892C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892C18 */ cpu->r[29] = cpu->r[30] - cpu->r[7]; /* 02892C1C */ _t64 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892C1C */ _t65 = _t64 & 0x00000001u; /* 02892C1C */ if (_t65) goto L_02892C20; else goto L_02892D28; L_02892C20: ; // 0x2892c20 /* 02892C20 */ cpu->r[11] = cpu->r[7]; /* 02892C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02892C24 */ cpu->r[28] = cpu->r[7]; /* 02892C28 */ _t66 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892C28 */ _t67 = _t66 & 0x00000001u; /* 02892C28 */ if (_t67) goto L_02892C2C; else goto L_02892D20; L_02892C2C: ; // 0x2892c2c /* 02892C2C */ cpu->ctr = cpu->r[11]; /* 02892C30 */ cpu->r[30] = cpu->r[30] + 0x00000001u; L_02892C34: ; // 0x2892c34 /* 02892C34 */ _t68 = cpu->r[29] + 0x00000000u; /* 02892C34 */ cpu->r[11] = rbrew_read8(cpu->mem, _t68); /* 02892C38 */ cpu->r[6] = 0x00000000u; /* 02892C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000001u); /* 02892C40 */ _t69 = cpu->r[30] + 0xFFFFFFFFu; /* 02892C40 */ cpu->r[10] = rbrew_read8(cpu->mem, _t69); /* 02892C40 */ cpu->r[30] = _t69; /* 02892C44 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02892C48 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02892C4C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02892C50 */ cpu->r[31] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02892C54 */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02892C58 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02892C5C */ /* nop */ /* 02892C60 */ /* nop */ /* 02892C64 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892C64 */ _t71 = _t70 & 0x00000001u; /* 02892C64 */ if (_t71) goto L_02892C88; else goto L_02892C68; L_02892C68: ; // 0x2892c68 /* 02892C68 */ _t72 = cpu->r[29] + 0x00000000u; /* 02892C68 */ cpu->r[27] = rbrew_read8(cpu->mem, _t72); /* 02892C6C */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02892C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]); /* 02892C74 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892C74 */ _t74 = _t73 & 0x00000001u; /* 02892C74 */ if (_t74) goto L_02892C78; else goto L_02892C88; L_02892C78: ; // 0x2892c78 /* 02892C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]); /* 02892C7C */ cpu->r[10] = 0x00000000u; /* 02892C80 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892C80 */ _t76 = _t75 & 0x00000001u; /* 02892C80 */ if (_t76) goto L_02892C84; else goto L_02892CA4; L_02892C84: ; // 0x2892c84 /* 02892C84 */ goto L_02892C94; L_02892C88: ; // 0x2892c88 /* 02892C88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]); /* 02892C8C */ cpu->r[10] = cpu->r[10] - cpu->r[6]; /* 02892C90 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892C90 */ _t78 = _t77 & 0x00000001u; /* 02892C90 */ if (_t78) goto L_02892C94; else goto L_02892CA4; L_02892C94: ; // 0x2892c94 /* 02892C94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]); /* 02892C98 */ cpu->r[31] = 0x00000000u; /* 02892C9C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892C9C */ _t80 = _t79 & 0x00000001u; /* 02892C9C */ if (_t80) goto L_02892CA0; else goto L_02892CC0; L_02892CA0: ; // 0x2892ca0 /* 02892CA0 */ goto L_02892CB0; L_02892CA4: ; // 0x2892ca4 /* 02892CA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]); /* 02892CA8 */ cpu->r[31] = cpu->r[31] - cpu->r[11]; /* 02892CAC */ _t81 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892CAC */ _t82 = _t81 & 0x00000001u; /* 02892CAC */ if (_t82) goto L_02892CB0; else goto L_02892CC0; L_02892CB0: ; // 0x2892cb0 /* 02892CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[9]); /* 02892CB4 */ cpu->r[4] = 0x00000000u; /* 02892CB8 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892CB8 */ _t84 = _t83 & 0x00000001u; /* 02892CB8 */ if (_t84) goto L_02892CBC; else goto L_02892CF0; L_02892CBC: ; // 0x2892cbc /* 02892CBC */ goto L_02892CCC; L_02892CC0: ; // 0x2892cc0 /* 02892CC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[9]); /* 02892CC4 */ cpu->r[4] = cpu->r[4] - cpu->r[8]; /* 02892CC8 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892CC8 */ _t86 = _t85 & 0x00000001u; /* 02892CC8 */ if (_t86) goto L_02892CCC; else goto L_02892CF0; L_02892CCC: ; // 0x2892ccc /* 02892CCC */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000006u, 0x00000000u, 0x00000019u); /* 02892CD0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02892CD4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02892CD8 */ cpu->r[9] = cpu->r[9] | cpu->r[11]; /* 02892CDC */ cpu->r[10] = cpu->r[9] | cpu->r[10]; /* 02892CE0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02892CE4 */ _t87 = cpu->r[30] + 0x00000000u; /* 02892CE4 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[10]); /* 02892CE8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892CE8 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892CE8 */ _t89 = _t88 >> (0x00000002u & 31u); /* 02892CE8 */ _t90 = _t89 & 0x00000001u; /* 02892CE8 */ if (_t90) goto L_02892C34; else goto L_02892CEC; L_02892CEC: ; // 0x2892cec /* 02892CEC */ goto L_02892D1C; L_02892CF0: ; // 0x2892cf0 /* 02892CF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02892CF4 */ cpu->r[5] = cpu->r[5] - cpu->r[9]; /* 02892CF8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000006u, 0x00000000u, 0x00000019u); /* 02892CFC */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02892D00 */ cpu->r[9] = cpu->r[9] | cpu->r[11]; /* 02892D04 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02892D08 */ cpu->r[10] = cpu->r[9] | cpu->r[10]; /* 02892D0C */ cpu->r[11] = cpu->r[10] | cpu->r[11]; /* 02892D10 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02892D14 */ _t91 = cpu->r[30] + 0x00000000u; /* 02892D14 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[11]); /* 02892D18 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892D18 */ _t92 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892D18 */ _t93 = _t92 >> (0x00000002u & 31u); /* 02892D18 */ _t94 = _t93 & 0x00000001u; /* 02892D18 */ if (_t94) goto L_02892C34; else goto L_02892D1C; L_02892D1C: ; // 0x2892d1c /* 02892D1C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; L_02892D20: ; // 0x2892d20 /* 02892D20 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02892D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892D24 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892D24 */ _t96 = _t95 & 0x00000001u; /* 02892D24 */ if (_t96) goto L_02892D28; else goto L_02892C20; L_02892D28: ; // 0x2892d28 /* 02892D28 */ /* nop */ /* 02892D2C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02892D30 */ return; } // fn_02892D34 @ 0x2892d34 void Gambit_fn_02892D34(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02892D34: ; // 0x2892d34 /* 02892D34 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02892D34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02892D34 */ cpu->r[1] = _t0; /* 02892D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02892D3C */ /* nop */ /* 02892D40 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892D40 */ _t2 = _t1 & 0x00000001u; /* 02892D40 */ if (_t2) goto L_02892FC8; else goto L_02892D44; L_02892D44: ; // 0x2892d44 /* 02892D44 */ _t3 = cpu->r[3] + 0x0000001Au; /* 02892D44 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3); /* 02892D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u); /* 02892D4C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892D4C */ _t5 = _t4 & 0x00000001u; /* 02892D4C */ if (_t5) goto L_02892FC8; else goto L_02892D50; L_02892D50: ; // 0x2892d50 /* 02892D50 */ _t6 = cpu->r[3] + 0x00000018u; /* 02892D50 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 02892D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u); /* 02892D58 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892D58 */ _t8 = _t7 & 0x00000001u; /* 02892D58 */ if (_t8) goto L_02892FC8; else goto L_02892D5C; L_02892D5C: ; // 0x2892d5c /* 02892D5C */ _t9 = cpu->r[3] + 0x00000020u; /* 02892D5C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 02892D60 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu; /* 02892D64 */ _t10 = cpu->r[3] + 0x0000001Cu; /* 02892D64 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 02892D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000008u); /* 02892D6C */ /* nop */ /* 02892D70 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892D70 */ _t12 = _t11 & 0x00000001u; /* 02892D70 */ if (_t12) goto L_02892D74; else goto L_02892DE8; L_02892D74: ; // 0x2892d74 /* 02892D74 */ cpu->r[31] = cpu->r[3] + 0x00000024u; /* 02892D78 */ cpu->r[11] = cpu->r[31] + cpu->r[4]; /* 02892D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892D80 */ cpu->r[29] = cpu->r[11] + 0x00000001u; /* 02892D84 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892D84 */ _t14 = _t13 & 0x00000001u; /* 02892D84 */ if (_t14) goto L_02892D88; else goto L_02892FC8; L_02892D88: ; // 0x2892d88 /* 02892D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u); /* 02892D8C */ cpu->r[11] = cpu->r[4] + 0xFFFFFFFFu; /* 02892D90 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892D90 */ _t16 = _t15 & 0x00000001u; /* 02892D90 */ if (_t16) goto L_02892D94; else goto L_02892DD4; L_02892D94: ; // 0x2892d94 /* 02892D94 */ cpu->ctr = cpu->r[11]; /* 02892D98 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02892D9C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 02892DA0 */ cpu->r[8] = 0x00000000u; L_02892DA4: ; // 0x2892da4 /* 02892DA4 */ _t17 = cpu->r[31] + 0x00000001u; /* 02892DA4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t17); /* 02892DA4 */ cpu->r[31] = _t17; /* 02892DA8 */ _t18 = cpu->r[29] + 0x00000001u; /* 02892DA8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t18); /* 02892DA8 */ cpu->r[29] = _t18; /* 02892DAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]); /* 02892DB0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892DB0 */ _t20 = _t19 & 0x00000001u; /* 02892DB0 */ if (_t20) goto L_02892DB4; else goto L_02892DC0; L_02892DB4: ; // 0x2892db4 /* 02892DB4 */ _t21 = cpu->r[31] + 0x00000000u; /* 02892DB4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[8]); /* 02892DB8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892DB8 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892DB8 */ _t23 = _t22 >> (0x00000002u & 31u); /* 02892DB8 */ _t24 = _t23 & 0x00000001u; /* 02892DB8 */ if (_t24) goto L_02892DA4; else goto L_02892DBC; L_02892DBC: ; // 0x2892dbc /* 02892DBC */ goto L_02892DCC; L_02892DC0: ; // 0x2892dc0 /* 02892DC0 */ cpu->r[11] = cpu->r[9] - cpu->r[10]; /* 02892DC4 */ _t25 = cpu->r[31] + 0x00000000u; /* 02892DC4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]); /* 02892DC8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892DC8 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892DC8 */ _t27 = _t26 >> (0x00000002u & 31u); /* 02892DC8 */ _t28 = _t27 & 0x00000001u; /* 02892DC8 */ if (_t28) goto L_02892DA4; else goto L_02892DCC; L_02892DCC: ; // 0x2892dcc /* 02892DCC */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02892DD0 */ cpu->r[29] = cpu->r[29] + 0x00000001u; L_02892DD4: ; // 0x2892dd4 /* 02892DD4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02892DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892DD8 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 02892DDC */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02892DE0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892DE0 */ _t30 = _t29 & 0x00000001u; /* 02892DE0 */ if (_t30) goto L_02892DE4; else goto L_02892D88; L_02892DE4: ; // 0x2892de4 /* 02892DE4 */ goto L_02892FC8; L_02892DE8: ; // 0x2892de8 /* 02892DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u); /* 02892DEC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892DEC */ _t32 = _t31 & 0x00000001u; /* 02892DEC */ if (_t32) goto L_02892DF0; else goto L_02892EA4; L_02892DF0: ; // 0x2892df0 /* 02892DF0 */ cpu->r[31] = cpu->r[3] + 0x00000024u; /* 02892DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892DF8 */ cpu->r[29] = cpu->r[31] + cpu->r[4]; /* 02892DFC */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892DFC */ _t34 = _t33 & 0x00000001u; /* 02892DFC */ if (_t34) goto L_02892E00; else goto L_02892FC8; L_02892E00: ; // 0x2892e00 /* 02892E00 */ cpu->r[11] = cpu->r[4] + 0xFFFFFFFFu; L_02892E04: ; // 0x2892e04 /* 02892E04 */ cpu->r[10] = cpu->r[4]; /* 02892E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02892E08 */ cpu->r[5] = 0x00000000u; /* 02892E0C */ _t35 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892E0C */ _t36 = _t35 & 0x00000001u; /* 02892E0C */ if (_t36) goto L_02892E10; else goto L_02892E98; L_02892E10: ; // 0x2892e10 /* 02892E10 */ cpu->ctr = cpu->r[10]; /* 02892E14 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; L_02892E18: ; // 0x2892e18 /* 02892E18 */ _t37 = cpu->r[29] + 0x00000000u; /* 02892E18 */ cpu->r[10] = rbrew_read8(cpu->mem, _t37); /* 02892E1C */ _t38 = cpu->r[31] + 0x00000001u; /* 02892E1C */ cpu->r[9] = rbrew_read8(cpu->mem, _t38); /* 02892E1C */ cpu->r[31] = _t38; /* 02892E20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[11]); /* 02892E24 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 02892E28 */ cpu->r[8] = 0x00000000u; /* 02892E2C */ /* nop */ /* 02892E30 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02892E34 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02892E38 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892E38 */ _t40 = _t39 & 0x00000001u; /* 02892E38 */ if (_t40) goto L_02892E44; else goto L_02892E3C; L_02892E3C: ; // 0x2892e3c /* 02892E3C */ _t41 = cpu->r[29] + 0x00000000u; /* 02892E3C */ cpu->r[10] = rbrew_read8(cpu->mem, _t41); /* 02892E40 */ /* nop */ L_02892E44: ; // 0x2892e44 /* 02892E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]); /* 02892E48 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892E48 */ _t43 = _t42 & 0x00000001u; /* 02892E48 */ if (_t43) goto L_02892E4C; else goto L_02892E5C; L_02892E4C: ; // 0x2892e4c /* 02892E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 02892E50 */ cpu->r[6] = 0x00000000u; /* 02892E54 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892E54 */ _t45 = _t44 & 0x00000001u; /* 02892E54 */ if (_t45) goto L_02892E58; else goto L_02892E80; L_02892E58: ; // 0x2892e58 /* 02892E58 */ goto L_02892E68; L_02892E5C: ; // 0x2892e5c /* 02892E5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 02892E60 */ cpu->r[6] = cpu->r[6] - cpu->r[9]; /* 02892E64 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892E64 */ _t47 = _t46 & 0x00000001u; /* 02892E64 */ if (_t47) goto L_02892E68; else goto L_02892E80; L_02892E68: ; // 0x2892e68 /* 02892E68 */ cpu->r[7] = 0x00000000u; /* 02892E6C */ _t48 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02892E6C */ _t49 = cpu->r[7] & 0x0000000Fu; /* 02892E6C */ cpu->r[7] = _t49 | _t48; /* 02892E70 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 02892E74 */ _t50 = cpu->r[31] + 0x00000000u; /* 02892E74 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[7]); /* 02892E78 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892E78 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892E78 */ _t52 = _t51 >> (0x00000002u & 31u); /* 02892E78 */ _t53 = _t52 & 0x00000001u; /* 02892E78 */ if (_t53) goto L_02892E18; else goto L_02892E7C; L_02892E7C: ; // 0x2892e7c /* 02892E7C */ goto L_02892E94; L_02892E80: ; // 0x2892e80 /* 02892E80 */ cpu->r[7] = cpu->r[7] - cpu->r[8]; /* 02892E84 */ _t54 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02892E84 */ _t55 = cpu->r[7] & 0x0000000Fu; /* 02892E84 */ cpu->r[7] = _t55 | _t54; /* 02892E88 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 02892E8C */ _t56 = cpu->r[31] + 0x00000000u; /* 02892E8C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[7]); /* 02892E90 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892E90 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892E90 */ _t58 = _t57 >> (0x00000002u & 31u); /* 02892E90 */ _t59 = _t58 & 0x00000001u; /* 02892E90 */ if (_t59) goto L_02892E18; else goto L_02892E94; L_02892E94: ; // 0x2892e94 /* 02892E94 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_02892E98: ; // 0x2892e98 /* 02892E98 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02892E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892E9C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892E9C */ _t61 = _t60 & 0x00000001u; /* 02892E9C */ if (_t61) goto L_02892EA0; else goto L_02892E04; L_02892EA0: ; // 0x2892ea0 /* 02892EA0 */ goto L_02892FC8; L_02892EA4: ; // 0x2892ea4 /* 02892EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u); /* 02892EA8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892EA8 */ _t63 = _t62 & 0x00000001u; /* 02892EA8 */ if (_t63) goto L_02892EAC; else goto L_02892FC8; L_02892EAC: ; // 0x2892eac /* 02892EAC */ cpu->r[31] = cpu->r[3] + 0x00000024u; /* 02892EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892EB4 */ cpu->r[29] = cpu->r[31] + cpu->r[4]; /* 02892EB8 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892EB8 */ _t65 = _t64 & 0x00000001u; /* 02892EB8 */ if (_t65) goto L_02892EBC; else goto L_02892FC8; L_02892EBC: ; // 0x2892ebc /* 02892EBC */ cpu->r[11] = cpu->r[4] + 0xFFFFFFFFu; L_02892EC0: ; // 0x2892ec0 /* 02892EC0 */ cpu->r[10] = cpu->r[4]; /* 02892EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02892EC4 */ cpu->r[27] = 0x00000000u; /* 02892EC8 */ _t66 = cpu->cr[0] >> (0x00000002u & 31u); /* 02892EC8 */ _t67 = _t66 & 0x00000001u; /* 02892EC8 */ if (_t67) goto L_02892ECC; else goto L_02892FC0; L_02892ECC: ; // 0x2892ecc /* 02892ECC */ cpu->ctr = cpu->r[10]; /* 02892ED0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; L_02892ED4: ; // 0x2892ed4 /* 02892ED4 */ _t68 = cpu->r[29] + 0x00000000u; /* 02892ED4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t68); /* 02892ED8 */ cpu->r[8] = 0x00000000u; /* 02892EDC */ _t69 = cpu->r[31] + 0x00000001u; /* 02892EDC */ cpu->r[9] = rbrew_read8(cpu->mem, _t69); /* 02892EDC */ cpu->r[31] = _t69; /* 02892EE0 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 02892EE4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02892EE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[11]); /* 02892EEC */ /* nop */ /* 02892EF0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02892EF4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02892EF8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02892EFC */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02892F00 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02892F04 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892F04 */ _t71 = _t70 & 0x00000001u; /* 02892F04 */ if (_t71) goto L_02892F10; else goto L_02892F08; L_02892F08: ; // 0x2892f08 /* 02892F08 */ _t72 = cpu->r[29] + 0x00000000u; /* 02892F08 */ cpu->r[26] = rbrew_read8(cpu->mem, _t72); /* 02892F0C */ /* nop */ L_02892F10: ; // 0x2892f10 /* 02892F10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]); /* 02892F14 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892F14 */ _t74 = _t73 & 0x00000001u; /* 02892F14 */ if (_t74) goto L_02892F18; else goto L_02892F28; L_02892F18: ; // 0x2892f18 /* 02892F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]); /* 02892F1C */ cpu->r[28] = 0x00000000u; /* 02892F20 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892F20 */ _t76 = _t75 & 0x00000001u; /* 02892F20 */ if (_t76) goto L_02892F24; else goto L_02892F44; L_02892F24: ; // 0x2892f24 /* 02892F24 */ goto L_02892F34; L_02892F28: ; // 0x2892f28 /* 02892F28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]); /* 02892F2C */ cpu->r[28] = cpu->r[28] - cpu->r[7]; /* 02892F30 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892F30 */ _t78 = _t77 & 0x00000001u; /* 02892F30 */ if (_t78) goto L_02892F34; else goto L_02892F44; L_02892F34: ; // 0x2892f34 /* 02892F34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[10]); /* 02892F38 */ cpu->r[30] = 0x00000000u; /* 02892F3C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892F3C */ _t80 = _t79 & 0x00000001u; /* 02892F3C */ if (_t80) goto L_02892F40; else goto L_02892F60; L_02892F40: ; // 0x2892f40 /* 02892F40 */ goto L_02892F50; L_02892F44: ; // 0x2892f44 /* 02892F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[10]); /* 02892F48 */ cpu->r[30] = cpu->r[30] - cpu->r[9]; /* 02892F4C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892F4C */ _t82 = _t81 & 0x00000001u; /* 02892F4C */ if (_t82) goto L_02892F50; else goto L_02892F60; L_02892F50: ; // 0x2892f50 /* 02892F50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 02892F54 */ cpu->r[5] = 0x00000000u; /* 02892F58 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892F58 */ _t84 = _t83 & 0x00000001u; /* 02892F58 */ if (_t84) goto L_02892F5C; else goto L_02892F90; L_02892F5C: ; // 0x2892f5c /* 02892F5C */ goto L_02892F6C; L_02892F60: ; // 0x2892f60 /* 02892F60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 02892F64 */ cpu->r[5] = cpu->r[5] - cpu->r[10]; /* 02892F68 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u); /* 02892F68 */ _t86 = _t85 & 0x00000001u; /* 02892F68 */ if (_t86) goto L_02892F6C; else goto L_02892F90; L_02892F6C: ; // 0x2892f6c /* 02892F6C */ cpu->r[8] = rbrew_rlwinm(cpu->r[28], 0x00000006u, 0x00000000u, 0x00000019u); /* 02892F70 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02892F74 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02892F78 */ cpu->r[8] = cpu->r[8] | cpu->r[10]; /* 02892F7C */ cpu->r[9] = cpu->r[8] | cpu->r[9]; /* 02892F80 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02892F84 */ _t87 = cpu->r[31] + 0x00000000u; /* 02892F84 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[9]); /* 02892F88 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892F88 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892F88 */ _t89 = _t88 >> (0x00000002u & 31u); /* 02892F88 */ _t90 = _t89 & 0x00000001u; /* 02892F88 */ if (_t90) goto L_02892ED4; else goto L_02892F8C; L_02892F8C: ; // 0x2892f8c /* 02892F8C */ goto L_02892FBC; L_02892F90: ; // 0x2892f90 /* 02892F90 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02892F94 */ cpu->r[6] = cpu->r[6] - cpu->r[8]; /* 02892F98 */ cpu->r[8] = rbrew_rlwinm(cpu->r[28], 0x00000006u, 0x00000000u, 0x00000019u); /* 02892F9C */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02892FA0 */ cpu->r[8] = cpu->r[8] | cpu->r[10]; /* 02892FA4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02892FA8 */ cpu->r[9] = cpu->r[8] | cpu->r[9]; /* 02892FAC */ cpu->r[10] = cpu->r[9] | cpu->r[10]; /* 02892FB0 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02892FB4 */ _t91 = cpu->r[31] + 0x00000000u; /* 02892FB4 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[10]); /* 02892FB8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02892FB8 */ _t92 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02892FB8 */ _t93 = _t92 >> (0x00000002u & 31u); /* 02892FB8 */ _t94 = _t93 & 0x00000001u; /* 02892FB8 */ if (_t94) goto L_02892ED4; else goto L_02892FBC; L_02892FBC: ; // 0x2892fbc /* 02892FBC */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_02892FC0: ; // 0x2892fc0 /* 02892FC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02892FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02892FC4 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892FC4 */ _t96 = _t95 & 0x00000001u; /* 02892FC4 */ if (_t96) goto L_02892FC8; else goto L_02892EC0; L_02892FC8: ; // 0x2892fc8 /* 02892FC8 */ /* nop */ /* 02892FCC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02892FD0 */ return; } // fn_02892FD4 @ 0x2892fd4 void Gambit_fn_02892FD4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_02892FD4: ; // 0x2892fd4 /* 02892FD4 */ cpu->r[0] = cpu->lr; /* 02892FD8 */ _t0 = cpu->r[1] + 0xFFFFFFA0u; /* 02892FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02892FD8 */ cpu->r[1] = _t0; /* 02892FDC */ _t1 = cpu->r[1] + 0x00000064u; /* 02892FDC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02892FE0 */ /* nop */ /* 02892FE4 */ cpu->r[18] = cpu->r[3]; /* 02892FE8 */ cpu->r[28] = cpu->r[4]; /* 02892FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02892FEC */ cpu->r[15] = cpu->r[5]; /* 02892FF0 */ cpu->r[14] = cpu->r[6]; /* 02892FF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892FF4 */ _t3 = _t2 & 0x00000001u; /* 02892FF4 */ if (_t3) goto L_02893068; else goto L_02892FF8; L_02892FF8: ; // 0x2892ff8 /* 02892FF8 */ _t4 = cpu->r[28] + 0x00000018u; /* 02892FF8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 02892FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02893000 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893000 */ _t6 = _t5 & 0x00000001u; /* 02893000 */ if (_t6) goto L_02893010; else goto L_02893004; L_02893004: ; // 0x2893004 /* 02893004 */ _t7 = cpu->r[28] + 0x0000001Au; /* 02893004 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02893008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0289300C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289300C */ _t9 = _t8 & 0x00000001u; /* 0289300C */ if (_t9) goto L_02893010; else goto L_02893028; L_02893010: ; // 0x2893010 /* 02893010 */ cpu->r[3] = cpu->r[28]; /* 02893014 */ /* nop */ /* 02893018 */ _t10 = cpu->r[1] + 0x00000064u; /* 02893018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289301C */ cpu->lr = cpu->r[0]; /* 02893020 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02893024 */ return; L_02893028: ; // 0x2893028 /* 02893028 */ _t11 = cpu->r[28] + 0x00000020u; /* 02893028 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11); /* 0289302C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 02893030 */ cpu->r[31] = 0x0000000Fu; /* 02893034 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893034 */ _t13 = _t12 & 0x00000001u; /* 02893034 */ if (_t13) goto L_02893038; else goto L_02893080; L_02893038: ; // 0x2893038 /* 02893038 */ cpu->r[19] = rbrew_rlwinm(cpu->r[15], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289303C */ cpu->r[11] = cpu->r[9] + cpu->r[19]; /* 02893040 */ cpu->r[10] = cpu->r[8] + cpu->r[19]; /* 02893044 */ cpu->r[12] = cpu->r[11] + 0x00000002u; /* 02893048 */ cpu->r[24] = cpu->r[10] + 0x00000002u; /* 0289304C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[12]); /* 02893050 */ cpu->r[26] = cpu->r[15]; /* 02893054 */ cpu->r[3] = cpu->r[18]; /* 02893058 */ cpu->r[31] = 0x000000FFu; /* 0289305C */ Gambit_fn_0288D574(cpu); /* 02893060 */ cpu->r[29] = cpu->r[3]; /* 02893060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02893064 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893064 */ _t15 = _t14 & 0x00000001u; /* 02893064 */ if (_t15) goto L_02893068; else goto L_028930B8; L_02893068: ; // 0x2893068 /* 02893068 */ /* nop */ /* 0289306C */ _t16 = cpu->r[1] + 0x00000064u; /* 0289306C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02893070 */ cpu->lr = cpu->r[0]; /* 02893074 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02893078 */ cpu->r[3] = 0x00000000u; /* 0289307C */ return; L_02893080: ; // 0x2893080 /* 02893080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 02893084 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893084 */ _t18 = _t17 & 0x00000001u; /* 02893084 */ if (_t18) goto L_02893088; else goto L_0289308C; L_02893088: ; // 0x2893088 /* 02893088 */ cpu->r[31] = 0x00000003u; L_0289308C: ; // 0x289308c /* 0289308C */ cpu->r[19] = rbrew_rlwinm(cpu->r[15], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02893090 */ cpu->r[11] = cpu->r[9] + cpu->r[19]; /* 02893094 */ cpu->r[10] = cpu->r[8] + cpu->r[19]; /* 02893098 */ cpu->r[12] = cpu->r[11] + 0x00000002u; /* 0289309C */ cpu->r[24] = cpu->r[10] + 0x00000002u; /* 028930A0 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[12]); /* 028930A4 */ cpu->r[26] = cpu->r[15]; /* 028930A8 */ cpu->r[3] = cpu->r[18]; /* 028930AC */ Gambit_fn_0288D574(cpu); /* 028930B0 */ cpu->r[29] = cpu->r[3]; /* 028930B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028930B4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028930B4 */ _t20 = _t19 & 0x00000001u; /* 028930B4 */ if (_t20) goto L_02893068; else goto L_028930B8; L_028930B8: ; // 0x28930b8 /* 028930B8 */ _t21 = cpu->r[28] + 0x0000001Au; /* 028930B8 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t21); /* 028930BC */ cpu->r[0] = cpu->r[28] + 0x00000024u; /* 028930C0 */ cpu->r[8] = cpu->r[15] + 0x00000001u; /* 028930C4 */ _t22 = cpu->r[1] + 0x00000008u; /* 028930C4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028930C8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[24]); /* 028930CC */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028930CC */ rbrew_write32(cpu->mem, _t23, cpu->r[8]); /* 028930D0 */ _t24 = cpu->r[28] + 0x00000020u; /* 028930D0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24); /* 028930D4 */ cpu->r[30] = cpu->r[9]; /* 028930D8 */ cpu->r[10] = cpu->r[29] + cpu->r[0]; /* 028930DC */ _t25 = cpu->r[1] + 0x00000008u; /* 028930DC */ cpu->r[27] = rbrew_read32(cpu->mem, _t25); /* 028930E0 */ cpu->r[11] = cpu->r[10] + cpu->r[15]; /* 028930E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000004u); /* 028930E8 */ cpu->r[25] = cpu->r[11] + 0x00000001u; /* 028930EC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028930EC */ _t27 = _t26 & 0x00000001u; /* 028930EC */ if (_t27) goto L_028930F0; else goto L_028931A0; L_028930F0: ; // 0x28930f0 /* 028930F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028930F4 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u); /* 028930F4 */ _t29 = _t28 & 0x00000001u; /* 028930F4 */ if (_t29) goto L_028930F8; else goto L_02893224; L_028930F8: ; // 0x28930f8 /* 028930F8 */ _t30 = cpu->r[28] + 0x00000018u; /* 028930F8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 028930FC */ cpu->r[11] = cpu->r[19] + 0x00000002u; L_02893100: ; // 0x2893100 /* 02893100 */ /* nop */ /* 02893104 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893104 */ _t32 = _t31 & 0x00000001u; /* 02893104 */ if (_t32) goto L_02893108; else goto L_0289313C; L_02893108: ; // 0x2893108 /* 02893108 */ cpu->ctr = cpu->r[10]; /* 0289310C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02893110 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02893114: ; // 0x2893114 /* 02893114 */ _t33 = cpu->r[27] + 0x00000001u; /* 02893114 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33); /* 02893114 */ cpu->r[27] = _t33; /* 02893118 */ /* nop */ /* 0289311C */ _t34 = cpu->r[25] + 0x00000001u; /* 0289311C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[12]); /* 02893120 */ _t35 = cpu->r[27] + 0x00000000u; /* 02893120 */ cpu->r[5] = rbrew_read8(cpu->mem, _t35); /* 02893124 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02893128 */ _t36 = cpu->r[25] + 0x00000002u; /* 02893128 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[4]); /* 02893128 */ cpu->r[25] = _t36; /* 0289312C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289312C */ _t37 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289312C */ _t38 = _t37 >> (0x00000002u & 31u); /* 0289312C */ _t39 = _t38 & 0x00000001u; /* 0289312C */ if (_t39) goto L_02893114; else goto L_02893130; L_02893130: ; // 0x2893130 /* 02893130 */ _t40 = cpu->r[28] + 0x00000018u; /* 02893130 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 02893134 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02893138 */ cpu->r[27] = cpu->r[27] + 0x00000001u; L_0289313C: ; // 0x289313c /* 0289313C */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289313C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893140 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893140 */ _t42 = _t41 & 0x00000001u; /* 02893140 */ if (_t42) goto L_0289315C; else goto L_02893144; L_02893144: ; // 0x2893144 /* 02893144 */ _t43 = cpu->r[27] + 0x00000000u; /* 02893144 */ cpu->r[8] = rbrew_read8(cpu->mem, _t43); /* 02893148 */ /* nop */ /* 0289314C */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893150 */ _t44 = cpu->r[25] + 0x00000000u; /* 02893150 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[7]); /* 02893154 */ _t45 = cpu->r[28] + 0x00000018u; /* 02893154 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t45); /* 02893158 */ cpu->r[25] = cpu->r[25] + 0x00000001u; L_0289315C: ; // 0x289315c /* 0289315C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289315C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893160 */ cpu->r[25] = cpu->r[25] + cpu->r[11]; /* 02893164 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893164 */ _t47 = _t46 & 0x00000001u; /* 02893164 */ if (_t47) goto L_02893168; else goto L_02893100; L_02893168: ; // 0x2893168 /* 02893168 */ _t48 = cpu->r[28] + 0x0000001Au; /* 02893168 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t48); /* 0289316C */ cpu->r[6] = cpu->r[8] + cpu->r[19]; /* 02893170 */ cpu->r[7] = cpu->r[9] + cpu->r[19]; /* 02893174 */ cpu->r[30] = cpu->r[6] + 0x00000002u; /* 02893178 */ cpu->r[0] = cpu->r[7] + 0x00000002u; /* 0289317C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[0]); /* 02893180 */ cpu->r[24] = cpu->r[29]; /* 02893184 */ cpu->r[3] = cpu->r[18]; /* 02893188 */ cpu->r[4] = cpu->r[22]; /* 0289318C */ _t49 = cpu->r[1] + 0x00000010u; /* 0289318C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 02893190 */ Gambit_fn_0288D4C4(cpu); /* 02893194 */ cpu->r[27] = cpu->r[3]; /* 02893194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02893198 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893198 */ _t51 = _t50 & 0x00000001u; /* 02893198 */ if (_t51) goto L_0289337C; else goto L_0289319C; L_0289319C: ; // 0x289319c /* 0289319C */ goto L_028933A0; L_028931A0: ; // 0x28931a0 /* 028931A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 028931A4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 028931A4 */ _t53 = _t52 & 0x00000001u; /* 028931A4 */ if (_t53) goto L_028931A8; else goto L_02893214; L_028931A8: ; // 0x28931a8 /* 028931A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028931AC */ _t54 = cpu->cr[0] >> (0x00000002u & 31u); /* 028931AC */ _t55 = _t54 & 0x00000001u; /* 028931AC */ if (_t55) goto L_028931B0; else goto L_02893224; L_028931B0: ; // 0x28931b0 /* 028931B0 */ _t56 = cpu->r[28] + 0x00000018u; /* 028931B0 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t56); /* 028931B4 */ cpu->r[6] = 0x00000000u; /* 028931B8 */ cpu->r[4] = cpu->r[27]; /* 028931BC */ cpu->r[3] = cpu->r[25]; /* 028931C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028931C4 */ _t57 = cpu->r[28] + 0x0000001Cu; /* 028931C4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t57); /* 028931C8 */ cpu->r[25] = cpu->r[25] + cpu->r[24]; /* 028931CC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 028931CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028931D0 */ cpu->r[27] = cpu->r[27] + cpu->r[0]; /* 028931D4 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 028931D4 */ _t59 = _t58 & 0x00000001u; /* 028931D4 */ if (_t59) goto L_028931D8; else goto L_028931B0; L_028931D8: ; // 0x28931d8 /* 028931D8 */ _t60 = cpu->r[28] + 0x00000018u; /* 028931D8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t60); /* 028931DC */ _t61 = cpu->r[28] + 0x0000001Au; /* 028931DC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t61); /* 028931E0 */ cpu->r[6] = cpu->r[8] + cpu->r[19]; /* 028931E4 */ cpu->r[7] = cpu->r[9] + cpu->r[19]; /* 028931E8 */ cpu->r[30] = cpu->r[6] + 0x00000002u; /* 028931EC */ cpu->r[0] = cpu->r[7] + 0x00000002u; /* 028931F0 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[0]); /* 028931F4 */ cpu->r[24] = cpu->r[29]; /* 028931F8 */ cpu->r[3] = cpu->r[18]; /* 028931FC */ cpu->r[4] = cpu->r[22]; /* 02893200 */ _t62 = cpu->r[1] + 0x00000010u; /* 02893200 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]); /* 02893204 */ Gambit_fn_0288D4C4(cpu); /* 02893208 */ cpu->r[27] = cpu->r[3]; /* 02893208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0289320C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289320C */ _t64 = _t63 & 0x00000001u; /* 0289320C */ if (_t64) goto L_0289337C; else goto L_02893210; L_02893210: ; // 0x2893210 /* 02893210 */ goto L_028933A0; L_02893214: ; // 0x2893214 /* 02893214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 02893218 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893218 */ _t66 = _t65 & 0x00000001u; /* 02893218 */ if (_t66) goto L_0289321C; else goto L_02893224; L_0289321C: ; // 0x289321c /* 0289321C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893220 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893220 */ _t68 = _t67 & 0x00000001u; /* 02893220 */ if (_t68) goto L_0289325C; else goto L_02893224; L_02893224: ; // 0x2893224 /* 02893224 */ _t69 = cpu->r[28] + 0x00000018u; /* 02893224 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69); /* 02893228 */ cpu->r[7] = cpu->r[9] + cpu->r[19]; /* 0289322C */ cpu->r[6] = cpu->r[8] + cpu->r[19]; /* 02893230 */ cpu->r[0] = cpu->r[7] + 0x00000002u; /* 02893234 */ cpu->r[30] = cpu->r[6] + 0x00000002u; /* 02893238 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[0]); /* 0289323C */ cpu->r[3] = cpu->r[18]; /* 02893240 */ cpu->r[24] = cpu->r[29]; /* 02893244 */ cpu->r[4] = cpu->r[22]; /* 02893248 */ _t70 = cpu->r[1] + 0x00000010u; /* 02893248 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]); /* 0289324C */ Gambit_fn_0288D4C4(cpu); /* 02893250 */ cpu->r[27] = cpu->r[3]; /* 02893250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02893254 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893254 */ _t72 = _t71 & 0x00000001u; /* 02893254 */ if (_t72) goto L_0289337C; else goto L_02893258; L_02893258: ; // 0x2893258 /* 02893258 */ goto L_028933A0; L_0289325C: ; // 0x289325c /* 0289325C */ cpu->r[0] = cpu->r[19] + 0x00000002u; L_02893260: ; // 0x2893260 /* 02893260 */ _t73 = cpu->r[28] + 0x00000018u; /* 02893260 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t73); /* 02893264 */ /* nop */ /* 02893268 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0289326C */ _t74 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289326C */ _t75 = _t74 & 0x00000001u; /* 0289326C */ if (_t75) goto L_02893270; else goto L_028932B8; L_02893270: ; // 0x2893270 /* 02893270 */ cpu->ctr = cpu->r[7]; /* 02893274 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02893278 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_0289327C: ; // 0x289327c /* 0289327C */ _t76 = cpu->r[27] + 0x00000001u; /* 0289327C */ cpu->r[10] = rbrew_read8(cpu->mem, _t76); /* 0289327C */ cpu->r[27] = _t76; /* 02893280 */ /* nop */ /* 02893284 */ _t77 = cpu->r[25] + 0x00000001u; /* 02893284 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[9]); /* 02893288 */ _t78 = cpu->r[27] + 0x00000000u; /* 02893288 */ cpu->r[9] = rbrew_read8(cpu->mem, _t78); /* 0289328C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02893290 */ _t79 = cpu->r[25] + 0x00000002u; /* 02893290 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[10]); /* 02893294 */ _t80 = cpu->r[27] + 0x00000000u; /* 02893294 */ cpu->r[11] = rbrew_read8(cpu->mem, _t80); /* 02893298 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0289329C */ _t81 = cpu->r[25] + 0x00000003u; /* 0289329C */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[12]); /* 028932A0 */ _t82 = cpu->r[27] + 0x00000000u; /* 028932A0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t82); /* 028932A4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028932A8 */ _t83 = cpu->r[25] + 0x00000004u; /* 028932A8 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[4]); /* 028932A8 */ cpu->r[25] = _t83; /* 028932AC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028932AC */ _t84 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028932AC */ _t85 = _t84 >> (0x00000002u & 31u); /* 028932AC */ _t86 = _t85 & 0x00000001u; /* 028932AC */ if (_t86) goto L_0289327C; else goto L_028932B0; L_028932B0: ; // 0x28932b0 /* 028932B0 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 028932B4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; L_028932B8: ; // 0x28932b8 /* 028932B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u); /* 028932BC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u); /* 028932BC */ _t88 = _t87 & 0x00000001u; /* 028932BC */ if (_t88) goto L_028932C0; else goto L_028932D8; L_028932C0: ; // 0x28932c0 /* 028932C0 */ _t89 = cpu->r[27] + 0x00000000u; /* 028932C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t89); /* 028932C4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x0000001Au, 0x00000018u, 0x0000001Fu); /* 028932C8 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 028932CC */ _t90 = cpu->r[25] + 0x00000000u; /* 028932CC */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[7]); /* 028932D0 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 028932D4 */ goto L_02893338; L_028932D8: ; // 0x28932d8 /* 028932D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 028932DC */ _t91 = cpu->cr[0] >> (0x00000001u & 31u); /* 028932DC */ _t92 = _t91 & 0x00000001u; /* 028932DC */ if (_t92) goto L_028932E0; else goto L_02893304; L_028932E0: ; // 0x28932e0 /* 028932E0 */ _t93 = cpu->r[27] + 0x00000000u; /* 028932E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t93); /* 028932E4 */ /* nop */ /* 028932E8 */ _t94 = cpu->r[25] + 0x00000000u; /* 028932E8 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[7]); /* 028932EC */ _t95 = cpu->r[27] + 0x00000000u; /* 028932EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t95); /* 028932F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 028932F4 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 028932F8 */ _t96 = cpu->r[25] + 0x00000001u; /* 028932F8 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[7]); /* 028932F8 */ cpu->r[25] = _t96; /* 028932FC */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02893300 */ goto L_02893338; L_02893304: ; // 0x2893304 /* 02893304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u); /* 02893308 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893308 */ _t98 = _t97 & 0x00000001u; /* 02893308 */ if (_t98) goto L_0289330C; else goto L_02893338; L_0289330C: ; // 0x289330c /* 0289330C */ _t99 = cpu->r[27] + 0x00000000u; /* 0289330C */ cpu->r[11] = rbrew_read8(cpu->mem, _t99); /* 02893310 */ /* nop */ /* 02893314 */ _t100 = cpu->r[25] + 0x00000000u; /* 02893314 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[10]); /* 02893318 */ _t101 = cpu->r[27] + 0x00000000u; /* 02893318 */ cpu->r[12] = rbrew_read8(cpu->mem, _t101); /* 0289331C */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02893320 */ _t102 = cpu->r[25] + 0x00000001u; /* 02893320 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[4]); /* 02893324 */ _t103 = cpu->r[27] + 0x00000000u; /* 02893324 */ cpu->r[5] = rbrew_read8(cpu->mem, _t103); /* 02893328 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0289332C */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893330 */ _t104 = cpu->r[25] + 0x00000002u; /* 02893330 */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[7]); /* 02893330 */ cpu->r[25] = _t104; /* 02893334 */ cpu->r[25] = cpu->r[25] + 0x00000001u; L_02893338: ; // 0x2893338 /* 02893338 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02893338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289333C */ cpu->r[25] = cpu->r[25] + cpu->r[0]; /* 02893340 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893340 */ _t106 = _t105 & 0x00000001u; /* 02893340 */ if (_t106) goto L_02893344; else goto L_02893260; L_02893344: ; // 0x2893344 /* 02893344 */ _t107 = cpu->r[28] + 0x00000018u; /* 02893344 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t107); /* 02893348 */ _t108 = cpu->r[28] + 0x0000001Au; /* 02893348 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t108); /* 0289334C */ cpu->r[6] = cpu->r[8] + cpu->r[19]; /* 02893350 */ cpu->r[7] = cpu->r[9] + cpu->r[19]; /* 02893354 */ cpu->r[30] = cpu->r[6] + 0x00000002u; /* 02893358 */ cpu->r[0] = cpu->r[7] + 0x00000002u; /* 0289335C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[0]); /* 02893360 */ cpu->r[24] = cpu->r[29]; /* 02893364 */ cpu->r[3] = cpu->r[18]; /* 02893368 */ cpu->r[4] = cpu->r[22]; /* 0289336C */ _t109 = cpu->r[1] + 0x00000010u; /* 0289336C */ rbrew_write32(cpu->mem, _t109, cpu->r[0]); /* 02893370 */ Gambit_fn_0288D4C4(cpu); /* 02893374 */ cpu->r[27] = cpu->r[3]; /* 02893374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02893378 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893378 */ _t111 = _t110 & 0x00000001u; /* 02893378 */ if (_t111) goto L_0289337C; else goto L_028933A0; L_0289337C: ; // 0x289337c /* 0289337C */ cpu->r[3] = cpu->r[18]; /* 02893380 */ cpu->r[4] = cpu->r[24]; /* 02893384 */ Gambit_fn_0288CA30(cpu); /* 02893388 */ /* nop */ /* 0289338C */ _t112 = cpu->r[1] + 0x00000064u; /* 0289338C */ cpu->r[0] = rbrew_read32(cpu->mem, _t112); /* 02893390 */ cpu->lr = cpu->r[0]; /* 02893394 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02893398 */ cpu->r[3] = 0x00000000u; /* 0289339C */ return; L_028933A0: ; // 0x28933a0 /* 028933A0 */ cpu->r[25] = cpu->r[26]; /* 028933A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028933A4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 028933A4 */ _t114 = _t113 & 0x00000001u; /* 028933A4 */ if (_t114) goto L_028936DC; else goto L_028933A8; L_028933A8: ; // 0x28933a8 /* 028933A8 */ _t115 = cpu->r[1] + 0x00000010u; /* 028933A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t115); /* 028933AC */ cpu->r[29] = cpu->r[30] + 0xFFFFFFFFu; /* 028933B0 */ cpu->r[23] = cpu->r[6] + 0xFFFFFFFFu; L_028933B4: ; // 0x28933b4 /* 028933B4 */ cpu->r[6] = 0x00000000u; /* 028933B8 */ cpu->r[5] = cpu->r[22]; /* 028933BC */ cpu->r[4] = cpu->r[24]; /* 028933C0 */ cpu->r[3] = cpu->r[27]; /* 028933C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028933C8 */ cpu->r[10] = cpu->r[27]; /* 028933CC */ cpu->r[12] = cpu->r[24] + cpu->r[30]; /* 028933D0 */ cpu->r[9] = cpu->r[10] + cpu->r[30]; /* 028933D4 */ cpu->r[7] = cpu->r[23] + 0xFFFFFFFFu; /* 028933D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028933D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028933DC */ cpu->r[11] = cpu->r[9] + cpu->r[30]; /* 028933E0 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 028933E0 */ _t117 = _t116 & 0x00000001u; /* 028933E0 */ if (_t117) goto L_028933E4; else goto L_02893594; L_028933E4: ; // 0x28933e4 /* 028933E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000001u); /* 028933E8 */ _t118 = cpu->cr[0] >> (0x00000002u & 31u); /* 028933E8 */ _t119 = _t118 & 0x00000001u; /* 028933E8 */ if (_t119) goto L_028933EC; else goto L_028936D0; L_028933EC: ; // 0x28933ec /* 028933EC */ _t120 = cpu->r[9] + 0x00000001u; /* 028933EC */ cpu->r[8] = rbrew_read8(cpu->mem, _t120); /* 028933F0 */ _t121 = cpu->r[10] + 0x00000001u; /* 028933F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t121); /* 028933F4 */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFFu; /* 028933F8 */ cpu->r[4] = cpu->r[8]; /* 028933FC */ cpu->r[5] = 0x00000000u; /* 02893400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]); /* 02893404 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893404 */ _t123 = _t122 & 0x00000001u; /* 02893404 */ if (_t123) goto L_02893408; else goto L_0289340C; L_02893408: ; // 0x2893408 /* 02893408 */ cpu->r[4] = cpu->r[0]; L_0289340C: ; // 0x289340c /* 0289340C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u); /* 02893410 */ cpu->r[8] = 0x00000001u; /* 02893414 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893418 */ _t124 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893418 */ _t125 = _t124 & 0x00000001u; /* 02893418 */ if (_t125) goto L_0289341C; else goto L_0289356C; L_0289341C: ; // 0x289341c /* 0289341C */ cpu->r[3] = cpu->r[9] + cpu->r[8]; /* 02893420 */ _t126 = cpu->r[11] + cpu->r[8]; /* 02893420 */ cpu->r[0] = rbrew_read8(cpu->mem, _t126); /* 02893424 */ cpu->r[21] = cpu->r[10] + cpu->r[8]; /* 02893428 */ _t127 = cpu->r[3] + 0x00000001u; /* 02893428 */ cpu->r[17] = rbrew_read8(cpu->mem, _t127); /* 0289342C */ cpu->r[20] = cpu->r[11] + cpu->r[8]; /* 02893430 */ _t128 = cpu->r[21] + 0x00000001u; /* 02893430 */ cpu->r[16] = rbrew_read8(cpu->mem, _t128); /* 02893434 */ cpu->r[21] = cpu->r[5]; /* 02893438 */ cpu->r[5] = cpu->r[4]; /* 0289343C */ _t129 = cpu->r[20] + 0x00000001u; /* 0289343C */ cpu->r[3] = rbrew_read8(cpu->mem, _t129); /* 02893440 */ cpu->r[4] = cpu->r[17]; /* 02893444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[17]); /* 02893448 */ _t130 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893448 */ _t131 = _t130 & 0x00000001u; /* 02893448 */ if (_t131) goto L_0289344C; else goto L_02893450; L_0289344C: ; // 0x289344c /* 0289344C */ cpu->r[4] = cpu->r[16]; L_02893450: ; // 0x2893450 /* 02893450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]); /* 02893454 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893454 */ _t133 = _t132 & 0x00000001u; /* 02893454 */ if (_t133) goto L_02893458; else goto L_0289345C; L_02893458: ; // 0x2893458 /* 02893458 */ cpu->r[3] = cpu->r[0]; L_0289345C: ; // 0x289345c /* 0289345C */ _t134 = cpu->r[20] + 0xFFFFFFFFu; /* 0289345C */ cpu->r[0] = rbrew_read8(cpu->mem, _t134); /* 02893460 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 02893468 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893468 */ _t136 = _t135 & 0x00000001u; /* 02893468 */ if (_t136) goto L_0289346C; else goto L_02893470; L_0289346C: ; // 0x289346c /* 0289346C */ cpu->r[0] = cpu->r[3]; L_02893470: ; // 0x2893470 /* 02893470 */ _t137 = cpu->r[9] + cpu->r[8]; /* 02893470 */ cpu->r[20] = rbrew_read8(cpu->mem, _t137); /* 02893474 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893478 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0289347C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 02893480 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893480 */ _t139 = _t138 & 0x00000001u; /* 02893480 */ if (_t139) goto L_02893484; else goto L_02893488; L_02893484: ; // 0x2893484 /* 02893484 */ cpu->r[0] = cpu->r[21]; L_02893488: ; // 0x2893488 /* 02893488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]); /* 0289348C */ cpu->r[21] = cpu->r[4]; /* 02893490 */ _t140 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893490 */ _t141 = _t140 & 0x00000001u; /* 02893490 */ if (_t141) goto L_02893494; else goto L_02893498; L_02893494: ; // 0x2893494 /* 02893494 */ cpu->r[21] = cpu->r[5]; L_02893498: ; // 0x2893498 /* 02893498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0289349C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028934A0 */ cpu->r[21] = rbrew_rlwinm(cpu->r[21], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028934A4 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u); /* 028934A4 */ _t143 = _t142 & 0x00000001u; /* 028934A4 */ if (_t143) goto L_028934BC; else goto L_028934A8; L_028934A8: ; // 0x28934a8 /* 028934A8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028934A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028934AC */ _t144 = cpu->r[12] + cpu->r[8]; /* 028934AC */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[31]); /* 028934B0 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028934B4 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u); /* 028934B4 */ _t146 = _t145 & 0x00000001u; /* 028934B4 */ if (_t146) goto L_028934B8; else goto L_028934D8; L_028934B8: ; // 0x28934b8 /* 028934B8 */ goto L_0289356C; L_028934BC: ; // 0x28934bc /* 028934BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 028934C0 */ _t147 = cpu->cr[0] >> (0x00000002u & 31u); /* 028934C0 */ _t148 = _t147 & 0x00000001u; /* 028934C0 */ if (_t148) goto L_028934C4; else goto L_028934C8; L_028934C4: ; // 0x28934c4 /* 028934C4 */ cpu->r[0] = cpu->r[21]; L_028934C8: ; // 0x28934c8 /* 028934C8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028934C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028934CC */ _t149 = cpu->r[12] + cpu->r[8]; /* 028934CC */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[0]); /* 028934D0 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028934D4 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u); /* 028934D4 */ _t151 = _t150 & 0x00000001u; /* 028934D4 */ if (_t151) goto L_0289356C; else goto L_028934D8; L_028934D8: ; // 0x28934d8 /* 028934D8 */ cpu->r[20] = cpu->r[8] + 0x00000001u; L_028934DC: ; // 0x28934dc /* 028934DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028934DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028934E0 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 028934E0 */ _t153 = _t152 & 0x00000001u; /* 028934E0 */ if (_t153) goto L_028934E4; else goto L_0289341C; L_028934E4: ; // 0x28934e4 /* 028934E4 */ _t154 = cpu->r[9] + cpu->r[20]; /* 028934E4 */ cpu->r[17] = rbrew_read8(cpu->mem, _t154); /* 028934E8 */ _t155 = cpu->r[10] + cpu->r[20]; /* 028934E8 */ cpu->r[16] = rbrew_read8(cpu->mem, _t155); /* 028934EC */ cpu->r[5] = cpu->r[4]; /* 028934F0 */ cpu->r[4] = cpu->r[17]; /* 028934F4 */ _t156 = cpu->r[11] + cpu->r[20]; /* 028934F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t156); /* 028934F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[17]); /* 028934FC */ _t157 = cpu->cr[0] >> (0x00000002u & 31u); /* 028934FC */ _t158 = _t157 & 0x00000001u; /* 028934FC */ if (_t158) goto L_02893500; else goto L_02893504; L_02893500: ; // 0x2893500 /* 02893500 */ cpu->r[4] = cpu->r[16]; L_02893504: ; // 0x2893504 /* 02893504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 02893508 */ _t159 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893508 */ _t160 = _t159 & 0x00000001u; /* 02893508 */ if (_t160) goto L_0289350C; else goto L_02893510; L_0289350C: ; // 0x289350c /* 0289350C */ cpu->r[0] = cpu->r[3]; L_02893510: ; // 0x2893510 /* 02893510 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893514 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893518 */ _t161 = cpu->r[9] + cpu->r[8]; /* 02893518 */ cpu->r[17] = rbrew_read8(cpu->mem, _t161); /* 0289351C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 02893520 */ _t162 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893520 */ _t163 = _t162 & 0x00000001u; /* 02893520 */ if (_t163) goto L_02893524; else goto L_02893528; L_02893524: ; // 0x2893524 /* 02893524 */ cpu->r[0] = cpu->r[4]; L_02893528: ; // 0x2893528 /* 02893528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 0289352C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893530 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893530 */ _t165 = _t164 & 0x00000001u; /* 02893530 */ if (_t165) goto L_0289354C; else goto L_02893534; L_02893534: ; // 0x2893534 /* 02893534 */ cpu->r[20] = cpu->r[20] + 0x00000001u; /* 02893538 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02893538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289353C */ _t166 = cpu->r[12] + cpu->r[8]; /* 0289353C */ rbrew_write8(cpu->mem, _t166, (uint8_t)cpu->r[31]); /* 02893540 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02893544 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893544 */ _t168 = _t167 & 0x00000001u; /* 02893544 */ if (_t168) goto L_02893548; else goto L_028934DC; L_02893548: ; // 0x2893548 /* 02893548 */ goto L_0289356C; L_0289354C: ; // 0x289354c /* 0289354C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 02893550 */ _t169 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893550 */ _t170 = _t169 & 0x00000001u; /* 02893550 */ if (_t170) goto L_02893554; else goto L_02893558; L_02893554: ; // 0x2893554 /* 02893554 */ cpu->r[0] = cpu->r[21]; L_02893558: ; // 0x2893558 /* 02893558 */ cpu->r[20] = cpu->r[20] + 0x00000001u; /* 0289355C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0289355C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893560 */ _t171 = cpu->r[12] + cpu->r[8]; /* 02893560 */ rbrew_write8(cpu->mem, _t171, (uint8_t)cpu->r[0]); /* 02893564 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02893568 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893568 */ _t173 = _t172 & 0x00000001u; /* 02893568 */ if (_t173) goto L_0289356C; else goto L_028934DC; L_0289356C: ; // 0x289356c /* 0289356C */ cpu->r[10] = cpu->r[10] + cpu->r[30]; /* 02893570 */ cpu->r[9] = cpu->r[9] + cpu->r[30]; /* 02893574 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 02893574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02893578 */ cpu->r[12] = cpu->r[12] + cpu->r[30]; /* 0289357C */ cpu->r[11] = cpu->r[11] + cpu->r[30]; /* 02893580 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893580 */ _t175 = _t174 & 0x00000001u; /* 02893580 */ if (_t175) goto L_02893584; else goto L_028933EC; L_02893584: ; // 0x2893584 /* 02893584 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02893584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02893588 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 0289358C */ _t176 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289358C */ _t177 = _t176 & 0x00000001u; /* 0289358C */ if (_t177) goto L_02893590; else goto L_028933B4; L_02893590: ; // 0x2893590 /* 02893590 */ goto L_028936DC; L_02893594: ; // 0x2893594 /* 02893594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000001u); /* 02893598 */ _t178 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893598 */ _t179 = _t178 & 0x00000001u; /* 02893598 */ if (_t179) goto L_0289359C; else goto L_028936D0; L_0289359C: ; // 0x289359c /* 0289359C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u); /* 028935A0 */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFFu; /* 028935A4 */ cpu->r[8] = 0x00000001u; /* 028935A8 */ _t180 = cpu->cr[0] >> (0x00000002u & 31u); /* 028935A8 */ _t181 = _t180 & 0x00000001u; /* 028935A8 */ if (_t181) goto L_028935AC; else goto L_028936B8; L_028935AC: ; // 0x28935ac /* 028935AC */ cpu->r[3] = cpu->r[9] + cpu->r[8]; L_028935B0: ; // 0x28935b0 /* 028935B0 */ _t182 = cpu->r[3] + 0x00000001u; /* 028935B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182); /* 028935B4 */ _t183 = cpu->r[3] + 0x00000000u; /* 028935B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t183); /* 028935B8 */ cpu->r[5] = cpu->r[0]; /* 028935BC */ _t184 = cpu->r[3] + 0xFFFFFFFFu; /* 028935BC */ cpu->r[3] = rbrew_read8(cpu->mem, _t184); /* 028935C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 028935C4 */ _t185 = cpu->r[10] + cpu->r[8]; /* 028935C4 */ cpu->r[21] = rbrew_read8(cpu->mem, _t185); /* 028935C8 */ _t186 = cpu->cr[0] >> (0x00000002u & 31u); /* 028935C8 */ _t187 = _t186 & 0x00000001u; /* 028935C8 */ if (_t187) goto L_028935CC; else goto L_028935D0; L_028935CC: ; // 0x28935cc /* 028935CC */ cpu->r[5] = cpu->r[4]; L_028935D0: ; // 0x28935d0 /* 028935D0 */ _t188 = cpu->r[11] + cpu->r[8]; /* 028935D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t188); /* 028935D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[3]); /* 028935D8 */ _t189 = cpu->cr[0] >> (0x00000002u & 31u); /* 028935D8 */ _t190 = _t189 & 0x00000001u; /* 028935D8 */ if (_t190) goto L_028935DC; else goto L_028935E0; L_028935DC: ; // 0x28935dc /* 028935DC */ cpu->r[3] = cpu->r[21]; L_028935E0: ; // 0x28935e0 /* 028935E0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028935E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 028935E8 */ _t191 = cpu->cr[0] >> (0x00000002u & 31u); /* 028935E8 */ _t192 = _t191 & 0x00000001u; /* 028935E8 */ if (_t192) goto L_028935EC; else goto L_028935F0; L_028935EC: ; // 0x28935ec /* 028935EC */ cpu->r[0] = cpu->r[3]; L_028935F0: ; // 0x28935f0 /* 028935F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028935F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028935F8 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u); /* 028935F8 */ _t194 = _t193 & 0x00000001u; /* 028935F8 */ if (_t194) goto L_02893610; else goto L_028935FC; L_028935FC: ; // 0x28935fc /* 028935FC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028935FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893600 */ _t195 = cpu->r[12] + cpu->r[8]; /* 02893600 */ rbrew_write8(cpu->mem, _t195, (uint8_t)cpu->r[31]); /* 02893604 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02893608 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893608 */ _t197 = _t196 & 0x00000001u; /* 02893608 */ if (_t197) goto L_0289360C; else goto L_02893630; L_0289360C: ; // 0x289360c /* 0289360C */ goto L_028936B8; L_02893610: ; // 0x2893610 /* 02893610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02893614 */ cpu->r[3] = cpu->r[0]; /* 02893618 */ _t198 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893618 */ _t199 = _t198 & 0x00000001u; /* 02893618 */ if (_t199) goto L_0289361C; else goto L_02893620; L_0289361C: ; // 0x289361c /* 0289361C */ cpu->r[3] = cpu->r[5]; L_02893620: ; // 0x2893620 /* 02893620 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02893620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893624 */ _t200 = cpu->r[12] + cpu->r[8]; /* 02893624 */ rbrew_write8(cpu->mem, _t200, (uint8_t)cpu->r[3]); /* 02893628 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289362C */ _t201 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289362C */ _t202 = _t201 & 0x00000001u; /* 0289362C */ if (_t202) goto L_028936B8; else goto L_02893630; L_02893630: ; // 0x2893630 /* 02893630 */ cpu->r[3] = cpu->r[9] + cpu->r[8]; /* 02893634 */ cpu->r[4] = cpu->r[3] + 0x00000001u; L_02893638: ; // 0x2893638 /* 02893638 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02893638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289363C */ _t203 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289363C */ _t204 = _t203 & 0x00000001u; /* 0289363C */ if (_t204) goto L_02893640; else goto L_028935B0; L_02893640: ; // 0x2893640 /* 02893640 */ _t205 = cpu->r[4] + 0x00000000u; /* 02893640 */ cpu->r[0] = rbrew_read8(cpu->mem, _t205); /* 02893644 */ _t206 = cpu->r[10] + cpu->r[8]; /* 02893644 */ cpu->r[21] = rbrew_read8(cpu->mem, _t206); /* 02893648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 0289364C */ _t207 = cpu->r[3] + 0x00000000u; /* 0289364C */ cpu->r[3] = rbrew_read8(cpu->mem, _t207); /* 02893650 */ _t208 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893650 */ _t209 = _t208 & 0x00000001u; /* 02893650 */ if (_t209) goto L_02893654; else goto L_02893658; L_02893654: ; // 0x2893654 /* 02893654 */ cpu->r[0] = cpu->r[21]; L_02893658: ; // 0x2893658 /* 02893658 */ _t210 = cpu->r[11] + cpu->r[8]; /* 02893658 */ cpu->r[21] = rbrew_read8(cpu->mem, _t210); /* 0289365C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 02893660 */ _t211 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893660 */ _t212 = _t211 & 0x00000001u; /* 02893660 */ if (_t212) goto L_02893664; else goto L_02893668; L_02893664: ; // 0x2893664 /* 02893664 */ cpu->r[0] = cpu->r[21]; L_02893668: ; // 0x2893668 /* 02893668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289366C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893670 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893670 */ _t214 = _t213 & 0x00000001u; /* 02893670 */ if (_t214) goto L_0289368C; else goto L_02893674; L_02893674: ; // 0x2893674 /* 02893674 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02893678 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02893678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289367C */ _t215 = cpu->r[12] + cpu->r[8]; /* 0289367C */ rbrew_write8(cpu->mem, _t215, (uint8_t)cpu->r[31]); /* 02893680 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02893684 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893684 */ _t217 = _t216 & 0x00000001u; /* 02893684 */ if (_t217) goto L_02893688; else goto L_028936B0; L_02893688: ; // 0x2893688 /* 02893688 */ goto L_028936B8; L_0289368C: ; // 0x289368c /* 0289368C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02893690 */ cpu->r[3] = cpu->r[0]; /* 02893694 */ _t218 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893694 */ _t219 = _t218 & 0x00000001u; /* 02893694 */ if (_t219) goto L_02893698; else goto L_0289369C; L_02893698: ; // 0x2893698 /* 02893698 */ cpu->r[3] = cpu->r[5]; L_0289369C: ; // 0x289369c /* 0289369C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 028936A0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028936A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028936A4 */ _t220 = cpu->r[12] + cpu->r[8]; /* 028936A4 */ rbrew_write8(cpu->mem, _t220, (uint8_t)cpu->r[3]); /* 028936A8 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028936AC */ _t221 = cpu->cr[0] >> (0x00000001u & 31u); /* 028936AC */ _t222 = _t221 & 0x00000001u; /* 028936AC */ if (_t222) goto L_028936B8; else goto L_028936B0; L_028936B0: ; // 0x28936b0 /* 028936B0 */ cpu->r[3] = cpu->r[9] + cpu->r[8]; /* 028936B4 */ goto L_02893638; L_028936B8: ; // 0x28936b8 /* 028936B8 */ cpu->r[10] = cpu->r[10] + cpu->r[30]; /* 028936BC */ cpu->r[9] = cpu->r[9] + cpu->r[30]; /* 028936C0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028936C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028936C4 */ cpu->r[12] = cpu->r[12] + cpu->r[30]; /* 028936C8 */ cpu->r[11] = cpu->r[11] + cpu->r[30]; /* 028936CC */ _t223 = cpu->cr[0] >> (0x00000001u & 31u); /* 028936CC */ _t224 = _t223 & 0x00000001u; /* 028936CC */ if (_t224) goto L_028936D0; else goto L_0289359C; L_028936D0: ; // 0x28936d0 /* 028936D0 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 028936D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028936D4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 028936D8 */ _t225 = cpu->cr[0] >> (0x00000001u & 31u); /* 028936D8 */ _t226 = _t225 & 0x00000001u; /* 028936D8 */ if (_t226) goto L_028936DC; else goto L_028933B4; L_028936DC: ; // 0x28936dc /* 028936DC */ cpu->r[3] = cpu->r[18]; /* 028936E0 */ cpu->r[4] = cpu->r[27]; /* 028936E4 */ Gambit_fn_0288CA30(cpu); /* 028936E8 */ _t227 = cpu->r[18] + 0x0000002Cu; /* 028936E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t227); /* 028936EC */ cpu->r[9] = cpu->r[0] & 0x000000B0u; /* 028936EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028936F0 */ _t228 = cpu->cr[0] >> (0x00000001u & 31u); /* 028936F0 */ _t229 = _t228 & 0x00000001u; /* 028936F0 */ if (_t229) goto L_02893984; else goto L_028936F4; L_028936F4: ; // 0x28936f4 /* 028936F4 */ _t230 = cpu->r[28] + 0x00000018u; /* 028936F4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t230); /* 028936F8 */ _t231 = cpu->r[1] + 0x0000000Cu; /* 028936F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t231); /* 028936FC */ cpu->r[11] = cpu->r[8] + cpu->r[19]; /* 02893700 */ _t232 = cpu->r[1] + 0x00000008u; /* 02893700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t232); /* 02893704 */ cpu->r[12] = cpu->r[11] + 0x00000002u; /* 02893708 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[12]); /* 0289370C */ _t233 = cpu->r[28] + 0x00000020u; /* 0289370C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t233); /* 02893710 */ cpu->r[4] = cpu->r[24] + cpu->r[0]; /* 02893714 */ _t234 = cpu->r[28] + 0x0000001Au; /* 02893714 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t234); /* 02893718 */ cpu->r[5] = cpu->r[4] + cpu->r[15]; /* 0289371C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000004u); /* 02893720 */ cpu->r[31] = cpu->r[5] + 0x00000001u; /* 02893724 */ _t235 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893724 */ _t236 = _t235 & 0x00000001u; /* 02893724 */ if (_t236) goto L_02893728; else goto L_028937C8; L_02893728: ; // 0x2893728 /* 02893728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289372C */ /* nop */ /* 02893730 */ _t237 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893730 */ _t238 = _t237 & 0x00000001u; /* 02893730 */ if (_t238) goto L_02893734; else goto L_02893984; L_02893734: ; // 0x2893734 /* 02893734 */ cpu->r[0] = cpu->r[29]; /* 02893738 */ cpu->r[10] = cpu->r[19] + 0x00000002u; L_0289373C: ; // 0x289373c /* 0289373C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02893740 */ _t239 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893740 */ _t240 = _t239 & 0x00000001u; /* 02893740 */ if (_t240) goto L_02893744; else goto L_02893784; L_02893744: ; // 0x2893744 /* 02893744 */ cpu->ctr = cpu->r[0]; /* 02893748 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0289374C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; L_02893750: ; // 0x2893750 /* 02893750 */ _t241 = cpu->r[3] + 0x00000001u; /* 02893750 */ cpu->r[9] = rbrew_read8(cpu->mem, _t241); /* 02893750 */ cpu->r[3] = _t241; /* 02893754 */ _t242 = cpu->r[31] + 0x00000001u; /* 02893754 */ cpu->r[11] = rbrew_read8(cpu->mem, _t242); /* 02893754 */ cpu->r[31] = _t242; /* 02893758 */ /* nop */ /* 0289375C */ cpu->r[11] = cpu->r[11] - cpu->r[8]; /* 02893760 */ _t243 = cpu->r[31] + 0x00000000u; /* 02893760 */ rbrew_write8(cpu->mem, _t243, (uint8_t)cpu->r[11]); /* 02893764 */ _t244 = cpu->r[3] + 0x00000000u; /* 02893764 */ cpu->r[4] = rbrew_read8(cpu->mem, _t244); /* 02893768 */ _t245 = cpu->r[31] + 0x00000001u; /* 02893768 */ cpu->r[5] = rbrew_read8(cpu->mem, _t245); /* 02893768 */ cpu->r[31] = _t245; /* 0289376C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02893770 */ cpu->r[5] = cpu->r[5] - cpu->r[12]; /* 02893774 */ _t246 = cpu->r[31] + 0x00000000u; /* 02893774 */ rbrew_write8(cpu->mem, _t246, (uint8_t)cpu->r[5]); /* 02893778 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02893778 */ _t247 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02893778 */ _t248 = _t247 >> (0x00000002u & 31u); /* 02893778 */ _t249 = _t248 & 0x00000001u; /* 02893778 */ if (_t249) goto L_02893750; else goto L_0289377C; L_0289377C: ; // 0x289377c /* 0289377C */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 02893780 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_02893784: ; // 0x2893784 /* 02893784 */ _t250 = cpu->r[28] + 0x00000018u; /* 02893784 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t250); /* 02893788 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02893788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289378C */ _t251 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289378C */ _t252 = _t251 & 0x00000001u; /* 0289378C */ if (_t252) goto L_028937AC; else goto L_02893790; L_02893790: ; // 0x2893790 /* 02893790 */ _t253 = cpu->r[3] + 0x00000000u; /* 02893790 */ cpu->r[11] = rbrew_read8(cpu->mem, _t253); /* 02893794 */ _t254 = cpu->r[31] + 0x00000000u; /* 02893794 */ cpu->r[12] = rbrew_read8(cpu->mem, _t254); /* 02893798 */ /* nop */ /* 0289379C */ cpu->r[12] = cpu->r[12] - cpu->r[9]; /* 028937A0 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028937A4 */ _t255 = cpu->r[31] + 0x00000000u; /* 028937A4 */ rbrew_write8(cpu->mem, _t255, (uint8_t)cpu->r[12]); /* 028937A8 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_028937AC: ; // 0x28937ac /* 028937AC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028937AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028937B0 */ cpu->r[31] = cpu->r[31] + cpu->r[10]; /* 028937B4 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u); /* 028937B4 */ _t257 = _t256 & 0x00000001u; /* 028937B4 */ if (_t257) goto L_028937B8; else goto L_0289373C; L_028937B8: ; // 0x28937b8 /* 028937B8 */ cpu->r[7] = 0x00010000u; /* 028937BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[7]); /* 028937C0 */ _t258 = cpu->cr[0] >> (0x00000003u & 31u); /* 028937C0 */ _t259 = _t258 & 0x00000001u; /* 028937C0 */ if (_t259) goto L_028937C4; else goto L_028939FC; L_028937C4: ; // 0x28937c4 /* 028937C4 */ goto L_02893990; L_028937C8: ; // 0x28937c8 /* 028937C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 028937CC */ _t260 = cpu->cr[0] >> (0x00000001u & 31u); /* 028937CC */ _t261 = _t260 & 0x00000001u; /* 028937CC */ if (_t261) goto L_028937D0; else goto L_02893838; L_028937D0: ; // 0x28937d0 /* 028937D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028937D4 */ _t262 = cpu->cr[0] >> (0x00000002u & 31u); /* 028937D4 */ _t263 = _t262 & 0x00000001u; /* 028937D4 */ if (_t263) goto L_028937D8; else goto L_02893984; L_028937D8: ; // 0x28937d8 /* 028937D8 */ cpu->r[9] = cpu->r[19] + 0x00000002u; L_028937DC: ; // 0x28937dc /* 028937DC */ cpu->r[10] = 0x00000000u; /* 028937E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]); /* 028937E4 */ cpu->r[10] = 0x00000001u; /* 028937E8 */ _t264 = cpu->cr[0] >> (0x00000003u & 31u); /* 028937E8 */ _t265 = _t264 & 0x00000001u; /* 028937E8 */ if (_t265) goto L_028937EC; else goto L_0289381C; L_028937EC: ; // 0x28937ec /* 028937EC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 028937F0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; L_028937F4: ; // 0x28937f4 /* 028937F4 */ _t266 = cpu->r[31] + 0x00000001u; /* 028937F4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t266); /* 028937F4 */ cpu->r[31] = _t266; /* 028937F8 */ _t267 = cpu->r[3] + 0x00000001u; /* 028937F8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t267); /* 028937F8 */ cpu->r[3] = _t267; /* 028937FC */ cpu->r[4] = cpu->r[4] - cpu->r[5]; /* 02893800 */ _t268 = cpu->r[31] + 0x00000000u; /* 02893800 */ rbrew_write8(cpu->mem, _t268, (uint8_t)cpu->r[4]); /* 02893804 */ _t269 = cpu->r[28] + 0x00000018u; /* 02893804 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t269); /* 02893808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]); /* 0289380C */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 02893810 */ _t270 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893810 */ _t271 = _t270 & 0x00000001u; /* 02893810 */ if (_t271) goto L_028937F4; else goto L_02893814; L_02893814: ; // 0x2893814 /* 02893814 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02893818 */ cpu->r[3] = cpu->r[3] + 0x00000001u; L_0289381C: ; // 0x289381c /* 0289381C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0289381C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893820 */ cpu->r[31] = cpu->r[31] + cpu->r[9]; /* 02893824 */ _t272 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893824 */ _t273 = _t272 & 0x00000001u; /* 02893824 */ if (_t273) goto L_02893828; else goto L_028937DC; L_02893828: ; // 0x2893828 /* 02893828 */ cpu->r[7] = 0x00010000u; /* 0289382C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[7]); /* 02893830 */ _t274 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893830 */ _t275 = _t274 & 0x00000001u; /* 02893830 */ if (_t275) goto L_02893834; else goto L_028939FC; L_02893834: ; // 0x2893834 /* 02893834 */ goto L_02893990; L_02893838: ; // 0x2893838 /* 02893838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 0289383C */ _t276 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289383C */ _t277 = _t276 & 0x00000001u; /* 0289383C */ if (_t277) goto L_02893840; else goto L_02893984; L_02893840: ; // 0x2893840 /* 02893840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893844 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02893848 */ /* nop */ /* 0289384C */ _t278 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289384C */ _t279 = _t278 & 0x00000001u; /* 0289384C */ if (_t279) goto L_02893850; else goto L_02893984; L_02893850: ; // 0x2893850 /* 02893850 */ cpu->r[5] = cpu->r[4]; /* 02893854 */ cpu->r[0] = cpu->r[19] + 0x00000002u; L_02893858: ; // 0x2893858 /* 02893858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289385C */ _t280 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289385C */ _t281 = _t280 & 0x00000001u; /* 0289385C */ if (_t281) goto L_02893860; else goto L_028938C8; L_02893860: ; // 0x2893860 /* 02893860 */ cpu->ctr = cpu->r[5]; /* 02893864 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 02893868 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; L_0289386C: ; // 0x289386c /* 0289386C */ _t282 = cpu->r[3] + 0x00000001u; /* 0289386C */ cpu->r[9] = rbrew_read8(cpu->mem, _t282); /* 0289386C */ cpu->r[3] = _t282; /* 02893870 */ _t283 = cpu->r[31] + 0x00000001u; /* 02893870 */ cpu->r[10] = rbrew_read8(cpu->mem, _t283); /* 02893870 */ cpu->r[31] = _t283; /* 02893874 */ /* nop */ /* 02893878 */ cpu->r[10] = cpu->r[10] - cpu->r[8]; /* 0289387C */ _t284 = cpu->r[31] + 0x00000000u; /* 0289387C */ rbrew_write8(cpu->mem, _t284, (uint8_t)cpu->r[10]); /* 02893880 */ _t285 = cpu->r[3] + 0x00000000u; /* 02893880 */ cpu->r[11] = rbrew_read8(cpu->mem, _t285); /* 02893884 */ _t286 = cpu->r[31] + 0x00000001u; /* 02893884 */ cpu->r[8] = rbrew_read8(cpu->mem, _t286); /* 02893884 */ cpu->r[31] = _t286; /* 02893888 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 0289388C */ cpu->r[8] = cpu->r[8] - cpu->r[12]; /* 02893890 */ _t287 = cpu->r[31] + 0x00000000u; /* 02893890 */ rbrew_write8(cpu->mem, _t287, (uint8_t)cpu->r[8]); /* 02893894 */ _t288 = cpu->r[3] + 0x00000000u; /* 02893894 */ cpu->r[11] = rbrew_read8(cpu->mem, _t288); /* 02893898 */ _t289 = cpu->r[31] + 0x00000001u; /* 02893898 */ cpu->r[12] = rbrew_read8(cpu->mem, _t289); /* 02893898 */ cpu->r[31] = _t289; /* 0289389C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 028938A0 */ cpu->r[12] = cpu->r[12] - cpu->r[9]; /* 028938A4 */ _t290 = cpu->r[31] + 0x00000000u; /* 028938A4 */ rbrew_write8(cpu->mem, _t290, (uint8_t)cpu->r[12]); /* 028938A8 */ _t291 = cpu->r[3] + 0x00000000u; /* 028938A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t291); /* 028938AC */ _t292 = cpu->r[31] + 0x00000001u; /* 028938AC */ cpu->r[10] = rbrew_read8(cpu->mem, _t292); /* 028938AC */ cpu->r[31] = _t292; /* 028938B0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028938B4 */ cpu->r[10] = cpu->r[10] - cpu->r[8]; /* 028938B8 */ _t293 = cpu->r[31] + 0x00000000u; /* 028938B8 */ rbrew_write8(cpu->mem, _t293, (uint8_t)cpu->r[10]); /* 028938BC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028938BC */ _t294 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028938BC */ _t295 = _t294 >> (0x00000002u & 31u); /* 028938BC */ _t296 = _t295 & 0x00000001u; /* 028938BC */ if (_t296) goto L_0289386C; else goto L_028938C0; L_028938C0: ; // 0x28938c0 /* 028938C0 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028938C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_028938C8: ; // 0x28938c8 /* 028938C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u); /* 028938CC */ _t297 = cpu->cr[0] >> (0x00000001u & 31u); /* 028938CC */ _t298 = _t297 & 0x00000001u; /* 028938CC */ if (_t298) goto L_028938D0; else goto L_028938F0; L_028938D0: ; // 0x28938d0 /* 028938D0 */ _t299 = cpu->r[3] + 0x00000000u; /* 028938D0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t299); /* 028938D4 */ _t300 = cpu->r[31] + 0x00000000u; /* 028938D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t300); /* 028938D8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Au, 0x00000018u, 0x0000001Fu); /* 028938DC */ cpu->r[12] = cpu->r[12] - cpu->r[11]; /* 028938E0 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028938E4 */ _t301 = cpu->r[31] + 0x00000000u; /* 028938E4 */ rbrew_write8(cpu->mem, _t301, (uint8_t)cpu->r[12]); /* 028938E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028938EC */ goto L_02893978; L_028938F0: ; // 0x28938f0 /* 028938F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 028938F4 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u); /* 028938F4 */ _t303 = _t302 & 0x00000001u; /* 028938F4 */ if (_t303) goto L_028938F8; else goto L_0289392C; L_028938F8: ; // 0x28938f8 /* 028938F8 */ _t304 = cpu->r[3] + 0x00000000u; /* 028938F8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t304); /* 028938FC */ _t305 = cpu->r[31] + 0x00000000u; /* 028938FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t305); /* 02893900 */ /* nop */ /* 02893904 */ cpu->r[11] = cpu->r[11] - cpu->r[12]; /* 02893908 */ _t306 = cpu->r[31] + 0x00000000u; /* 02893908 */ rbrew_write8(cpu->mem, _t306, (uint8_t)cpu->r[11]); /* 0289390C */ _t307 = cpu->r[3] + 0x00000000u; /* 0289390C */ cpu->r[12] = rbrew_read8(cpu->mem, _t307); /* 02893910 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02893914 */ _t308 = cpu->r[31] + 0x00000001u; /* 02893914 */ cpu->r[12] = rbrew_read8(cpu->mem, _t308); /* 02893914 */ cpu->r[31] = _t308; /* 02893918 */ cpu->r[12] = cpu->r[12] - cpu->r[11]; /* 0289391C */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 02893920 */ _t309 = cpu->r[31] + 0x00000000u; /* 02893920 */ rbrew_write8(cpu->mem, _t309, (uint8_t)cpu->r[12]); /* 02893924 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02893928 */ goto L_02893978; L_0289392C: ; // 0x289392c /* 0289392C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u); /* 02893930 */ _t310 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893930 */ _t311 = _t310 & 0x00000001u; /* 02893930 */ if (_t311) goto L_02893934; else goto L_02893978; L_02893934: ; // 0x2893934 /* 02893934 */ _t312 = cpu->r[3] + 0x00000000u; /* 02893934 */ cpu->r[9] = rbrew_read8(cpu->mem, _t312); /* 02893938 */ _t313 = cpu->r[31] + 0x00000000u; /* 02893938 */ cpu->r[10] = rbrew_read8(cpu->mem, _t313); /* 0289393C */ /* nop */ /* 02893940 */ cpu->r[10] = cpu->r[10] - cpu->r[8]; /* 02893944 */ _t314 = cpu->r[31] + 0x00000000u; /* 02893944 */ rbrew_write8(cpu->mem, _t314, (uint8_t)cpu->r[10]); /* 02893948 */ _t315 = cpu->r[3] + 0x00000000u; /* 02893948 */ cpu->r[8] = rbrew_read8(cpu->mem, _t315); /* 0289394C */ _t316 = cpu->r[31] + 0x00000001u; /* 0289394C */ cpu->r[10] = rbrew_read8(cpu->mem, _t316); /* 0289394C */ cpu->r[31] = _t316; /* 02893950 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02893954 */ cpu->r[10] = cpu->r[10] - cpu->r[9]; /* 02893958 */ _t317 = cpu->r[31] + 0x00000000u; /* 02893958 */ rbrew_write8(cpu->mem, _t317, (uint8_t)cpu->r[10]); /* 0289395C */ _t318 = cpu->r[3] + 0x00000000u; /* 0289395C */ cpu->r[11] = rbrew_read8(cpu->mem, _t318); /* 02893960 */ _t319 = cpu->r[31] + 0x00000001u; /* 02893960 */ cpu->r[12] = rbrew_read8(cpu->mem, _t319); /* 02893960 */ cpu->r[31] = _t319; /* 02893964 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02893968 */ cpu->r[12] = cpu->r[12] - cpu->r[11]; /* 0289396C */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 02893970 */ _t320 = cpu->r[31] + 0x00000000u; /* 02893970 */ rbrew_write8(cpu->mem, _t320, (uint8_t)cpu->r[12]); /* 02893974 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_02893978: ; // 0x2893978 /* 02893978 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02893978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289397C */ cpu->r[31] = cpu->r[31] + cpu->r[0]; /* 02893980 */ _t321 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893980 */ _t322 = _t321 & 0x00000001u; /* 02893980 */ if (_t322) goto L_02893984; else goto L_02893858; L_02893984: ; // 0x2893984 /* 02893984 */ cpu->r[7] = 0x00010000u; /* 02893988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[7]); /* 0289398C */ _t323 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289398C */ _t324 = _t323 & 0x00000001u; /* 0289398C */ if (_t324) goto L_02893990; else goto L_028939FC; L_02893990: ; // 0x2893990 /* 02893990 */ cpu->r[4] = 0x00000400u; /* 02893994 */ cpu->r[3] = cpu->r[18]; /* 02893998 */ cpu->r[29] = cpu->r[24]; /* 0289399C */ cpu->r[31] = cpu->r[22]; /* 028939A0 */ Gambit_fn_0288D4C4(cpu); /* 028939A4 */ cpu->r[4] = cpu->r[3]; /* 028939A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028939A8 */ _t325 = cpu->cr[0] >> (0x00000001u & 31u); /* 028939A8 */ _t326 = _t325 & 0x00000001u; /* 028939A8 */ if (_t326) goto L_028939FC; else goto L_028939AC; L_028939AC: ; // 0x28939ac /* 028939AC */ cpu->r[10] = 0x00000100u; /* 028939B0 */ cpu->r[0] = cpu->r[14]; /* 028939B4 */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFCu; /* 028939B8 */ cpu->ctr = cpu->r[10]; /* 028939BC */ cpu->r[11] = 0x00000000u; L_028939C0: ; // 0x28939c0 /* 028939C0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 028939C4 */ cpu->r[11] = cpu->r[11] + cpu->r[0]; /* 028939C8 */ _t327 = cpu->r[5] + 0x00000004u; /* 028939C8 */ rbrew_write32(cpu->mem, _t327, cpu->r[8]); /* 028939C8 */ cpu->r[5] = _t327; /* 028939CC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028939CC */ _t328 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028939CC */ _t329 = _t328 >> (0x00000002u & 31u); /* 028939CC */ _t330 = _t329 & 0x00000001u; /* 028939CC */ if (_t330) goto L_028939C0; else goto L_028939D0; L_028939D0: ; // 0x28939d0 /* 028939D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028939D4 */ _t331 = cpu->cr[0] >> (0x00000001u & 31u); /* 028939D4 */ _t332 = _t331 & 0x00000001u; /* 028939D4 */ if (_t332) goto L_028939F4; else goto L_028939D8; L_028939D8: ; // 0x28939d8 /* 028939D8 */ cpu->ctr = cpu->r[31]; /* 028939DC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; L_028939E0: ; // 0x28939e0 /* 028939E0 */ _t333 = cpu->r[29] + 0x00000001u; /* 028939E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t333); /* 028939E0 */ cpu->r[29] = _t333; /* 028939E4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028939E8 */ _t334 = cpu->r[9] + cpu->r[4]; /* 028939E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t334); /* 028939EC */ _t335 = cpu->r[29] + 0x00000000u; /* 028939EC */ rbrew_write8(cpu->mem, _t335, (uint8_t)cpu->r[0]); /* 028939F0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028939F0 */ _t336 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028939F0 */ _t337 = _t336 >> (0x00000002u & 31u); /* 028939F0 */ _t338 = _t337 & 0x00000001u; /* 028939F0 */ if (_t338) goto L_028939E0; else goto L_028939F4; L_028939F4: ; // 0x28939f4 /* 028939F4 */ cpu->r[3] = cpu->r[18]; /* 028939F8 */ Gambit_fn_0288CA30(cpu); L_028939FC: ; // 0x28939fc /* 028939FC */ _t339 = cpu->r[28] + 0x00000020u; /* 028939FC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t339); /* 02893A00 */ cpu->r[31] = cpu->r[30]; /* 02893A04 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[11]); /* 02893A08 */ cpu->r[12] = cpu->r[10] + 0x00000007u; /* 02893A0C */ _t340 = cpu->r[1] + 0x00000010u; /* 02893A0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t340); /* 02893A10 */ cpu->r[27] = rbrew_rlwinm(cpu->r[12], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 02893A14 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[30]); /* 02893A18 */ cpu->r[26] = cpu->r[4] + 0x00000024u; /* 02893A1C */ cpu->r[3] = cpu->r[18]; /* 02893A20 */ cpu->r[4] = cpu->r[26]; /* 02893A24 */ Gambit_fn_0288D574(cpu); /* 02893A28 */ cpu->r[29] = cpu->r[3]; /* 02893A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02893A2C */ _t341 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893A2C */ _t342 = _t341 & 0x00000001u; /* 02893A2C */ if (_t342) goto L_02893C70; else goto L_02893A30; L_02893A30: ; // 0x2893a30 /* 02893A30 */ _t343 = cpu->r[29] + 0x00000004u; /* 02893A30 */ rbrew_write32(cpu->mem, _t343, cpu->r[26]); /* 02893A34 */ _t344 = cpu->r[28] + 0x00000008u; /* 02893A34 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t344); /* 02893A38 */ _t345 = cpu->r[1] + 0x0000000Cu; /* 02893A38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t345); /* 02893A3C */ cpu->r[5] = cpu->r[0] - cpu->r[4]; /* 02893A40 */ _t346 = cpu->r[29] + 0x00000008u; /* 02893A40 */ rbrew_write16(cpu->mem, _t346, (uint16_t)cpu->r[5]); /* 02893A44 */ _t347 = cpu->r[28] + 0x0000000Au; /* 02893A44 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t347); /* 02893A48 */ _t348 = cpu->r[29] + 0x0000001Au; /* 02893A48 */ rbrew_write16(cpu->mem, _t348, (uint16_t)cpu->r[30]); /* 02893A4C */ cpu->r[6] = cpu->r[8] + cpu->r[15]; /* 02893A50 */ _t349 = cpu->r[29] + 0x00000018u; /* 02893A50 */ rbrew_write16(cpu->mem, _t349, (uint16_t)cpu->r[31]); /* 02893A54 */ cpu->r[9] = cpu->r[6] + 0x00000001u; /* 02893A58 */ _t350 = cpu->r[29] + 0x0000001Cu; /* 02893A58 */ rbrew_write16(cpu->mem, _t350, (uint16_t)cpu->r[27]); /* 02893A5C */ _t351 = cpu->r[29] + 0x0000000Au; /* 02893A5C */ rbrew_write16(cpu->mem, _t351, (uint16_t)cpu->r[9]); /* 02893A60 */ _t352 = cpu->r[28] + 0x0000000Cu; /* 02893A60 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t352); /* 02893A64 */ _t353 = cpu->r[29] + 0x0000000Cu; /* 02893A64 */ rbrew_write16(cpu->mem, _t353, (uint16_t)cpu->r[11]); /* 02893A68 */ _t354 = cpu->r[28] + 0x0000000Eu; /* 02893A68 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t354); /* 02893A6C */ _t355 = cpu->r[29] + 0x0000000Eu; /* 02893A6C */ rbrew_write16(cpu->mem, _t355, (uint16_t)cpu->r[12]); /* 02893A70 */ _t356 = cpu->r[28] + 0x00000010u; /* 02893A70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t356); /* 02893A74 */ _t357 = cpu->r[29] + 0x00000010u; /* 02893A74 */ rbrew_write32(cpu->mem, _t357, cpu->r[4]); /* 02893A78 */ _t358 = cpu->r[28] + 0x00000014u; /* 02893A78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t358); /* 02893A7C */ _t359 = cpu->r[29] + 0x00000014u; /* 02893A7C */ rbrew_write32(cpu->mem, _t359, cpu->r[5]); /* 02893A80 */ _t360 = cpu->r[28] + 0x00000020u; /* 02893A80 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t360); /* 02893A84 */ _t361 = cpu->r[29] + 0x00000020u; /* 02893A84 */ rbrew_write16(cpu->mem, _t361, (uint16_t)cpu->r[6]); /* 02893A88 */ _t362 = cpu->r[28] + 0x00000022u; /* 02893A88 */ cpu->r[7] = rbrew_read16(cpu->mem, _t362); /* 02893A8C */ _t363 = cpu->r[29] + 0x00000022u; /* 02893A8C */ rbrew_write16(cpu->mem, _t363, (uint16_t)cpu->r[7]); /* 02893A90 */ _t364 = cpu->r[28] + 0x00000020u; /* 02893A90 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t364); /* 02893A94 */ cpu->r[26] = cpu->r[29] + 0x00000024u; /* 02893A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000004u); /* 02893A9C */ cpu->r[27] = cpu->r[24]; /* 02893AA0 */ _t365 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893AA0 */ _t366 = _t365 & 0x00000001u; /* 02893AA0 */ if (_t366) goto L_02893AA4; else goto L_02893B28; L_02893AA4: ; // 0x2893aa4 /* 02893AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893AA8 */ _t367 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893AA8 */ _t368 = _t367 & 0x00000001u; /* 02893AA8 */ if (_t368) goto L_02893C70; else goto L_02893AAC; L_02893AAC: ; // 0x2893aac /* 02893AAC */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x0000001Fu, 0x00000001u, 0x0000001Fu); L_02893AB0: ; // 0x2893ab0 /* 02893AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02893AB4 */ _t369 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893AB4 */ _t370 = _t369 & 0x00000001u; /* 02893AB4 */ if (_t370) goto L_02893AB8; else goto L_02893AE4; L_02893AB8: ; // 0x2893ab8 /* 02893AB8 */ cpu->ctr = cpu->r[12]; /* 02893ABC */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 02893AC0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02893AC4: ; // 0x2893ac4 /* 02893AC4 */ _t371 = cpu->r[27] + 0x00000001u; /* 02893AC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t371); /* 02893AC8 */ _t372 = cpu->r[27] + 0x00000002u; /* 02893AC8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t372); /* 02893AC8 */ cpu->r[27] = _t372; /* 02893ACC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893AD0 */ cpu->r[8] = cpu->r[0] | cpu->r[7]; /* 02893AD4 */ _t373 = cpu->r[26] + 0x00000001u; /* 02893AD4 */ rbrew_write8(cpu->mem, _t373, (uint8_t)cpu->r[8]); /* 02893AD4 */ cpu->r[26] = _t373; /* 02893AD8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02893AD8 */ _t374 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02893AD8 */ _t375 = _t374 >> (0x00000002u & 31u); /* 02893AD8 */ _t376 = _t375 & 0x00000001u; /* 02893AD8 */ if (_t376) goto L_02893AC4; else goto L_02893ADC; L_02893ADC: ; // 0x2893adc /* 02893ADC */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893AE0 */ cpu->r[26] = cpu->r[26] + 0x00000001u; L_02893AE4: ; // 0x2893ae4 /* 02893AE4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02893AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02893AE8 */ _t377 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893AE8 */ _t378 = _t377 & 0x00000001u; /* 02893AE8 */ if (_t378) goto L_02893B00; else goto L_02893AEC; L_02893AEC: ; // 0x2893aec /* 02893AEC */ _t379 = cpu->r[27] + 0x00000000u; /* 02893AEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t379); /* 02893AF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893AF4 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893AF8 */ _t380 = cpu->r[26] + 0x00000000u; /* 02893AF8 */ rbrew_write8(cpu->mem, _t380, (uint8_t)cpu->r[0]); /* 02893AFC */ cpu->r[26] = cpu->r[26] + 0x00000001u; L_02893B00: ; // 0x2893b00 /* 02893B00 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02893B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893B04 */ _t381 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B04 */ _t382 = _t381 & 0x00000001u; /* 02893B04 */ if (_t382) goto L_02893B08; else goto L_02893AB0; L_02893B08: ; // 0x2893b08 /* 02893B08 */ cpu->r[3] = cpu->r[18]; /* 02893B0C */ cpu->r[4] = cpu->r[24]; /* 02893B10 */ Gambit_fn_0288CA30(cpu); /* 02893B14 */ cpu->r[3] = cpu->r[18]; /* 02893B18 */ cpu->r[4] = cpu->r[28]; /* 02893B1C */ Gambit_fn_02872988(cpu); /* 02893B20 */ cpu->r[3] = cpu->r[29]; /* 02893B24 */ goto L_02893C8C; L_02893B28: ; // 0x2893b28 /* 02893B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 02893B2C */ _t383 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B2C */ _t384 = _t383 & 0x00000001u; /* 02893B2C */ if (_t384) goto L_02893B30; else goto L_02893B7C; L_02893B30: ; // 0x2893b30 /* 02893B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893B34 */ _t385 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B34 */ _t386 = _t385 & 0x00000001u; /* 02893B34 */ if (_t386) goto L_02893C70; else goto L_02893B38; L_02893B38: ; // 0x2893b38 /* 02893B38 */ cpu->r[6] = 0x00000000u; /* 02893B3C */ cpu->r[5] = cpu->r[31]; /* 02893B40 */ cpu->r[4] = cpu->r[27]; /* 02893B44 */ cpu->r[3] = cpu->r[26]; /* 02893B48 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 02893B4C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02893B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893B50 */ cpu->r[27] = cpu->r[27] + cpu->r[31]; /* 02893B54 */ cpu->r[26] = cpu->r[26] + cpu->r[31]; /* 02893B58 */ _t387 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B58 */ _t388 = _t387 & 0x00000001u; /* 02893B58 */ if (_t388) goto L_02893B5C; else goto L_02893B38; L_02893B5C: ; // 0x2893b5c /* 02893B5C */ cpu->r[3] = cpu->r[18]; /* 02893B60 */ cpu->r[4] = cpu->r[24]; /* 02893B64 */ Gambit_fn_0288CA30(cpu); /* 02893B68 */ cpu->r[3] = cpu->r[18]; /* 02893B6C */ cpu->r[4] = cpu->r[28]; /* 02893B70 */ Gambit_fn_02872988(cpu); /* 02893B74 */ cpu->r[3] = cpu->r[29]; /* 02893B78 */ goto L_02893C8C; L_02893B7C: ; // 0x2893b7c /* 02893B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 02893B80 */ _t389 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B80 */ _t390 = _t389 & 0x00000001u; /* 02893B80 */ if (_t390) goto L_02893B84; else goto L_02893C70; L_02893B84: ; // 0x2893b84 /* 02893B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893B88 */ _t391 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B88 */ _t392 = _t391 & 0x00000001u; /* 02893B88 */ if (_t392) goto L_02893C70; else goto L_02893B8C; L_02893B8C: ; // 0x2893b8c /* 02893B8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02893B90 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x0000001Eu, 0x00000002u, 0x0000001Fu); L_02893B94: ; // 0x2893b94 /* 02893B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02893B98 */ _t393 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893B98 */ _t394 = _t393 & 0x00000001u; /* 02893B98 */ if (_t394) goto L_02893B9C; else goto L_02893BE0; L_02893B9C: ; // 0x2893b9c /* 02893B9C */ cpu->ctr = cpu->r[11]; /* 02893BA0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 02893BA4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02893BA8: ; // 0x2893ba8 /* 02893BA8 */ _t395 = cpu->r[27] + 0x00000001u; /* 02893BA8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t395); /* 02893BAC */ _t396 = cpu->r[27] + 0x00000002u; /* 02893BAC */ cpu->r[4] = rbrew_read8(cpu->mem, _t396); /* 02893BB0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000006u, 0x00000000u, 0x00000019u); /* 02893BB4 */ _t397 = cpu->r[27] + 0x00000003u; /* 02893BB4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t397); /* 02893BB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893BBC */ cpu->r[6] = cpu->r[9] | cpu->r[10]; /* 02893BC0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02893BC4 */ _t398 = cpu->r[27] + 0x00000004u; /* 02893BC4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t398); /* 02893BC4 */ cpu->r[27] = _t398; /* 02893BC8 */ cpu->r[7] = cpu->r[6] | cpu->r[7]; /* 02893BCC */ cpu->r[8] = cpu->r[7] | cpu->r[10]; /* 02893BD0 */ _t399 = cpu->r[26] + 0x00000001u; /* 02893BD0 */ rbrew_write8(cpu->mem, _t399, (uint8_t)cpu->r[8]); /* 02893BD0 */ cpu->r[26] = _t399; /* 02893BD4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02893BD4 */ _t400 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02893BD4 */ _t401 = _t400 >> (0x00000002u & 31u); /* 02893BD4 */ _t402 = _t401 & 0x00000001u; /* 02893BD4 */ if (_t402) goto L_02893BA8; else goto L_02893BD8; L_02893BD8: ; // 0x2893bd8 /* 02893BD8 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893BDC */ cpu->r[26] = cpu->r[26] + 0x00000001u; L_02893BE0: ; // 0x2893be0 /* 02893BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02893BE4 */ _t403 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893BE4 */ _t404 = _t403 & 0x00000001u; /* 02893BE4 */ if (_t404) goto L_02893C68; else goto L_02893BE8; L_02893BE8: ; // 0x2893be8 /* 02893BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 02893BEC */ _t405 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893BEC */ _t406 = _t405 & 0x00000001u; /* 02893BEC */ if (_t406) goto L_02893BF0; else goto L_02893C08; L_02893BF0: ; // 0x2893bf0 /* 02893BF0 */ _t407 = cpu->r[27] + 0x00000000u; /* 02893BF0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t407); /* 02893BF4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000006u, 0x00000018u, 0x00000019u); /* 02893BF8 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893BFC */ _t408 = cpu->r[26] + 0x00000000u; /* 02893BFC */ rbrew_write8(cpu->mem, _t408, (uint8_t)cpu->r[7]); /* 02893C00 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02893C04 */ goto L_02893C68; L_02893C08: ; // 0x2893c08 /* 02893C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u); /* 02893C0C */ _t409 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893C0C */ _t410 = _t409 & 0x00000001u; /* 02893C0C */ if (_t410) goto L_02893C10; else goto L_02893C34; L_02893C10: ; // 0x2893c10 /* 02893C10 */ _t411 = cpu->r[27] + 0x00000000u; /* 02893C10 */ cpu->r[10] = rbrew_read8(cpu->mem, _t411); /* 02893C14 */ _t412 = cpu->r[27] + 0x00000001u; /* 02893C14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t412); /* 02893C14 */ cpu->r[27] = _t412; /* 02893C18 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000006u, 0x00000000u, 0x00000019u); /* 02893C1C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893C20 */ cpu->r[7] = cpu->r[9] | cpu->r[10]; /* 02893C24 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893C28 */ _t413 = cpu->r[26] + 0x00000000u; /* 02893C28 */ rbrew_write8(cpu->mem, _t413, (uint8_t)cpu->r[7]); /* 02893C2C */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02893C30 */ goto L_02893C68; L_02893C34: ; // 0x2893c34 /* 02893C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u); /* 02893C38 */ _t414 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893C38 */ _t415 = _t414 & 0x00000001u; /* 02893C38 */ if (_t415) goto L_02893C3C; else goto L_02893C68; L_02893C3C: ; // 0x2893c3c /* 02893C3C */ _t416 = cpu->r[27] + 0x00000001u; /* 02893C3C */ cpu->r[6] = rbrew_read8(cpu->mem, _t416); /* 02893C40 */ _t417 = cpu->r[27] + 0x00000000u; /* 02893C40 */ cpu->r[4] = rbrew_read8(cpu->mem, _t417); /* 02893C44 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893C48 */ _t418 = cpu->r[27] + 0x00000002u; /* 02893C48 */ cpu->r[7] = rbrew_read8(cpu->mem, _t418); /* 02893C48 */ cpu->r[27] = _t418; /* 02893C4C */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000006u, 0x00000000u, 0x00000019u); /* 02893C50 */ cpu->r[8] = cpu->r[9] | cpu->r[10]; /* 02893C54 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02893C58 */ cpu->r[7] = cpu->r[8] | cpu->r[7]; /* 02893C5C */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893C60 */ _t419 = cpu->r[26] + 0x00000000u; /* 02893C60 */ rbrew_write8(cpu->mem, _t419, (uint8_t)cpu->r[7]); /* 02893C64 */ cpu->r[26] = cpu->r[26] + 0x00000001u; L_02893C68: ; // 0x2893c68 /* 02893C68 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02893C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893C6C */ _t420 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893C6C */ _t421 = _t420 & 0x00000001u; /* 02893C6C */ if (_t421) goto L_02893C70; else goto L_02893B94; L_02893C70: ; // 0x2893c70 /* 02893C70 */ cpu->r[3] = cpu->r[18]; /* 02893C74 */ cpu->r[4] = cpu->r[24]; /* 02893C78 */ Gambit_fn_0288CA30(cpu); /* 02893C7C */ cpu->r[3] = cpu->r[18]; /* 02893C80 */ cpu->r[4] = cpu->r[28]; /* 02893C84 */ Gambit_fn_02872988(cpu); /* 02893C88 */ cpu->r[3] = cpu->r[29]; L_02893C8C: ; // 0x2893c8c /* 02893C8C */ /* nop */ /* 02893C90 */ _t422 = cpu->r[1] + 0x00000064u; /* 02893C90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t422); /* 02893C94 */ cpu->lr = cpu->r[0]; /* 02893C98 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02893C9C */ return; } // fn_02892FD8 @ 0x2892fd8 void Gambit_fn_02892FD8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_02892FD8: ; // 0x2892fd8 /* 02892FD8 */ _t0 = cpu->r[1] + 0xFFFFFFA0u; /* 02892FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02892FD8 */ cpu->r[1] = _t0; /* 02892FDC */ _t1 = cpu->r[1] + 0x00000064u; /* 02892FDC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02892FE0 */ /* nop */ /* 02892FE4 */ cpu->r[18] = cpu->r[3]; /* 02892FE8 */ cpu->r[28] = cpu->r[4]; /* 02892FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02892FEC */ cpu->r[15] = cpu->r[5]; /* 02892FF0 */ cpu->r[14] = cpu->r[6]; /* 02892FF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02892FF4 */ _t3 = _t2 & 0x00000001u; /* 02892FF4 */ if (_t3) goto L_02893068; else goto L_02892FF8; L_02892FF8: ; // 0x2892ff8 /* 02892FF8 */ _t4 = cpu->r[28] + 0x00000018u; /* 02892FF8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 02892FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02893000 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893000 */ _t6 = _t5 & 0x00000001u; /* 02893000 */ if (_t6) goto L_02893010; else goto L_02893004; L_02893004: ; // 0x2893004 /* 02893004 */ _t7 = cpu->r[28] + 0x0000001Au; /* 02893004 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02893008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0289300C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289300C */ _t9 = _t8 & 0x00000001u; /* 0289300C */ if (_t9) goto L_02893010; else goto L_02893028; L_02893010: ; // 0x2893010 /* 02893010 */ cpu->r[3] = cpu->r[28]; /* 02893014 */ /* nop */ /* 02893018 */ _t10 = cpu->r[1] + 0x00000064u; /* 02893018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289301C */ cpu->lr = cpu->r[0]; /* 02893020 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02893024 */ return; L_02893028: ; // 0x2893028 /* 02893028 */ _t11 = cpu->r[28] + 0x00000020u; /* 02893028 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11); /* 0289302C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 02893030 */ cpu->r[31] = 0x0000000Fu; /* 02893034 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893034 */ _t13 = _t12 & 0x00000001u; /* 02893034 */ if (_t13) goto L_02893038; else goto L_02893080; L_02893038: ; // 0x2893038 /* 02893038 */ cpu->r[19] = rbrew_rlwinm(cpu->r[15], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289303C */ cpu->r[11] = cpu->r[9] + cpu->r[19]; /* 02893040 */ cpu->r[10] = cpu->r[8] + cpu->r[19]; /* 02893044 */ cpu->r[12] = cpu->r[11] + 0x00000002u; /* 02893048 */ cpu->r[24] = cpu->r[10] + 0x00000002u; /* 0289304C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[12]); /* 02893050 */ cpu->r[26] = cpu->r[15]; /* 02893054 */ cpu->r[3] = cpu->r[18]; /* 02893058 */ cpu->r[31] = 0x000000FFu; /* 0289305C */ Gambit_fn_0288D574(cpu); /* 02893060 */ cpu->r[29] = cpu->r[3]; /* 02893060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02893064 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893064 */ _t15 = _t14 & 0x00000001u; /* 02893064 */ if (_t15) goto L_02893068; else goto L_028930B8; L_02893068: ; // 0x2893068 /* 02893068 */ /* nop */ /* 0289306C */ _t16 = cpu->r[1] + 0x00000064u; /* 0289306C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02893070 */ cpu->lr = cpu->r[0]; /* 02893074 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02893078 */ cpu->r[3] = 0x00000000u; /* 0289307C */ return; L_02893080: ; // 0x2893080 /* 02893080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 02893084 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893084 */ _t18 = _t17 & 0x00000001u; /* 02893084 */ if (_t18) goto L_02893088; else goto L_0289308C; L_02893088: ; // 0x2893088 /* 02893088 */ cpu->r[31] = 0x00000003u; L_0289308C: ; // 0x289308c /* 0289308C */ cpu->r[19] = rbrew_rlwinm(cpu->r[15], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02893090 */ cpu->r[11] = cpu->r[9] + cpu->r[19]; /* 02893094 */ cpu->r[10] = cpu->r[8] + cpu->r[19]; /* 02893098 */ cpu->r[12] = cpu->r[11] + 0x00000002u; /* 0289309C */ cpu->r[24] = cpu->r[10] + 0x00000002u; /* 028930A0 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[12]); /* 028930A4 */ cpu->r[26] = cpu->r[15]; /* 028930A8 */ cpu->r[3] = cpu->r[18]; /* 028930AC */ Gambit_fn_0288D574(cpu); /* 028930B0 */ cpu->r[29] = cpu->r[3]; /* 028930B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028930B4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028930B4 */ _t20 = _t19 & 0x00000001u; /* 028930B4 */ if (_t20) goto L_02893068; else goto L_028930B8; L_028930B8: ; // 0x28930b8 /* 028930B8 */ _t21 = cpu->r[28] + 0x0000001Au; /* 028930B8 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t21); /* 028930BC */ cpu->r[0] = cpu->r[28] + 0x00000024u; /* 028930C0 */ cpu->r[8] = cpu->r[15] + 0x00000001u; /* 028930C4 */ _t22 = cpu->r[1] + 0x00000008u; /* 028930C4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028930C8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[24]); /* 028930CC */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028930CC */ rbrew_write32(cpu->mem, _t23, cpu->r[8]); /* 028930D0 */ _t24 = cpu->r[28] + 0x00000020u; /* 028930D0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24); /* 028930D4 */ cpu->r[30] = cpu->r[9]; /* 028930D8 */ cpu->r[10] = cpu->r[29] + cpu->r[0]; /* 028930DC */ _t25 = cpu->r[1] + 0x00000008u; /* 028930DC */ cpu->r[27] = rbrew_read32(cpu->mem, _t25); /* 028930E0 */ cpu->r[11] = cpu->r[10] + cpu->r[15]; /* 028930E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000004u); /* 028930E8 */ cpu->r[25] = cpu->r[11] + 0x00000001u; /* 028930EC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028930EC */ _t27 = _t26 & 0x00000001u; /* 028930EC */ if (_t27) goto L_028930F0; else goto L_028931A0; L_028930F0: ; // 0x28930f0 /* 028930F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028930F4 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u); /* 028930F4 */ _t29 = _t28 & 0x00000001u; /* 028930F4 */ if (_t29) goto L_028930F8; else goto L_02893224; L_028930F8: ; // 0x28930f8 /* 028930F8 */ _t30 = cpu->r[28] + 0x00000018u; /* 028930F8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 028930FC */ cpu->r[11] = cpu->r[19] + 0x00000002u; L_02893100: ; // 0x2893100 /* 02893100 */ /* nop */ /* 02893104 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893104 */ _t32 = _t31 & 0x00000001u; /* 02893104 */ if (_t32) goto L_02893108; else goto L_0289313C; L_02893108: ; // 0x2893108 /* 02893108 */ cpu->ctr = cpu->r[10]; /* 0289310C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02893110 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02893114: ; // 0x2893114 /* 02893114 */ _t33 = cpu->r[27] + 0x00000001u; /* 02893114 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33); /* 02893114 */ cpu->r[27] = _t33; /* 02893118 */ /* nop */ /* 0289311C */ _t34 = cpu->r[25] + 0x00000001u; /* 0289311C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[12]); /* 02893120 */ _t35 = cpu->r[27] + 0x00000000u; /* 02893120 */ cpu->r[5] = rbrew_read8(cpu->mem, _t35); /* 02893124 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02893128 */ _t36 = cpu->r[25] + 0x00000002u; /* 02893128 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[4]); /* 02893128 */ cpu->r[25] = _t36; /* 0289312C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289312C */ _t37 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289312C */ _t38 = _t37 >> (0x00000002u & 31u); /* 0289312C */ _t39 = _t38 & 0x00000001u; /* 0289312C */ if (_t39) goto L_02893114; else goto L_02893130; L_02893130: ; // 0x2893130 /* 02893130 */ _t40 = cpu->r[28] + 0x00000018u; /* 02893130 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 02893134 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02893138 */ cpu->r[27] = cpu->r[27] + 0x00000001u; L_0289313C: ; // 0x289313c /* 0289313C */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289313C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893140 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893140 */ _t42 = _t41 & 0x00000001u; /* 02893140 */ if (_t42) goto L_0289315C; else goto L_02893144; L_02893144: ; // 0x2893144 /* 02893144 */ _t43 = cpu->r[27] + 0x00000000u; /* 02893144 */ cpu->r[8] = rbrew_read8(cpu->mem, _t43); /* 02893148 */ /* nop */ /* 0289314C */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893150 */ _t44 = cpu->r[25] + 0x00000000u; /* 02893150 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[7]); /* 02893154 */ _t45 = cpu->r[28] + 0x00000018u; /* 02893154 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t45); /* 02893158 */ cpu->r[25] = cpu->r[25] + 0x00000001u; L_0289315C: ; // 0x289315c /* 0289315C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289315C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893160 */ cpu->r[25] = cpu->r[25] + cpu->r[11]; /* 02893164 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893164 */ _t47 = _t46 & 0x00000001u; /* 02893164 */ if (_t47) goto L_02893168; else goto L_02893100; L_02893168: ; // 0x2893168 /* 02893168 */ _t48 = cpu->r[28] + 0x0000001Au; /* 02893168 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t48); /* 0289316C */ cpu->r[6] = cpu->r[8] + cpu->r[19]; /* 02893170 */ cpu->r[7] = cpu->r[9] + cpu->r[19]; /* 02893174 */ cpu->r[30] = cpu->r[6] + 0x00000002u; /* 02893178 */ cpu->r[0] = cpu->r[7] + 0x00000002u; /* 0289317C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[0]); /* 02893180 */ cpu->r[24] = cpu->r[29]; /* 02893184 */ cpu->r[3] = cpu->r[18]; /* 02893188 */ cpu->r[4] = cpu->r[22]; /* 0289318C */ _t49 = cpu->r[1] + 0x00000010u; /* 0289318C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 02893190 */ Gambit_fn_0288D4C4(cpu); /* 02893194 */ cpu->r[27] = cpu->r[3]; /* 02893194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02893198 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893198 */ _t51 = _t50 & 0x00000001u; /* 02893198 */ if (_t51) goto L_0289337C; else goto L_0289319C; L_0289319C: ; // 0x289319c /* 0289319C */ goto L_028933A0; L_028931A0: ; // 0x28931a0 /* 028931A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 028931A4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 028931A4 */ _t53 = _t52 & 0x00000001u; /* 028931A4 */ if (_t53) goto L_028931A8; else goto L_02893214; L_028931A8: ; // 0x28931a8 /* 028931A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028931AC */ _t54 = cpu->cr[0] >> (0x00000002u & 31u); /* 028931AC */ _t55 = _t54 & 0x00000001u; /* 028931AC */ if (_t55) goto L_028931B0; else goto L_02893224; L_028931B0: ; // 0x28931b0 /* 028931B0 */ _t56 = cpu->r[28] + 0x00000018u; /* 028931B0 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t56); /* 028931B4 */ cpu->r[6] = 0x00000000u; /* 028931B8 */ cpu->r[4] = cpu->r[27]; /* 028931BC */ cpu->r[3] = cpu->r[25]; /* 028931C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028931C4 */ _t57 = cpu->r[28] + 0x0000001Cu; /* 028931C4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t57); /* 028931C8 */ cpu->r[25] = cpu->r[25] + cpu->r[24]; /* 028931CC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 028931CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028931D0 */ cpu->r[27] = cpu->r[27] + cpu->r[0]; /* 028931D4 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 028931D4 */ _t59 = _t58 & 0x00000001u; /* 028931D4 */ if (_t59) goto L_028931D8; else goto L_028931B0; L_028931D8: ; // 0x28931d8 /* 028931D8 */ _t60 = cpu->r[28] + 0x00000018u; /* 028931D8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t60); /* 028931DC */ _t61 = cpu->r[28] + 0x0000001Au; /* 028931DC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t61); /* 028931E0 */ cpu->r[6] = cpu->r[8] + cpu->r[19]; /* 028931E4 */ cpu->r[7] = cpu->r[9] + cpu->r[19]; /* 028931E8 */ cpu->r[30] = cpu->r[6] + 0x00000002u; /* 028931EC */ cpu->r[0] = cpu->r[7] + 0x00000002u; /* 028931F0 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[0]); /* 028931F4 */ cpu->r[24] = cpu->r[29]; /* 028931F8 */ cpu->r[3] = cpu->r[18]; /* 028931FC */ cpu->r[4] = cpu->r[22]; /* 02893200 */ _t62 = cpu->r[1] + 0x00000010u; /* 02893200 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]); /* 02893204 */ Gambit_fn_0288D4C4(cpu); /* 02893208 */ cpu->r[27] = cpu->r[3]; /* 02893208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0289320C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289320C */ _t64 = _t63 & 0x00000001u; /* 0289320C */ if (_t64) goto L_0289337C; else goto L_02893210; L_02893210: ; // 0x2893210 /* 02893210 */ goto L_028933A0; L_02893214: ; // 0x2893214 /* 02893214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 02893218 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893218 */ _t66 = _t65 & 0x00000001u; /* 02893218 */ if (_t66) goto L_0289321C; else goto L_02893224; L_0289321C: ; // 0x289321c /* 0289321C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893220 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893220 */ _t68 = _t67 & 0x00000001u; /* 02893220 */ if (_t68) goto L_0289325C; else goto L_02893224; L_02893224: ; // 0x2893224 /* 02893224 */ _t69 = cpu->r[28] + 0x00000018u; /* 02893224 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69); /* 02893228 */ cpu->r[7] = cpu->r[9] + cpu->r[19]; /* 0289322C */ cpu->r[6] = cpu->r[8] + cpu->r[19]; /* 02893230 */ cpu->r[0] = cpu->r[7] + 0x00000002u; /* 02893234 */ cpu->r[30] = cpu->r[6] + 0x00000002u; /* 02893238 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[0]); /* 0289323C */ cpu->r[3] = cpu->r[18]; /* 02893240 */ cpu->r[24] = cpu->r[29]; /* 02893244 */ cpu->r[4] = cpu->r[22]; /* 02893248 */ _t70 = cpu->r[1] + 0x00000010u; /* 02893248 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]); /* 0289324C */ Gambit_fn_0288D4C4(cpu); /* 02893250 */ cpu->r[27] = cpu->r[3]; /* 02893250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02893254 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893254 */ _t72 = _t71 & 0x00000001u; /* 02893254 */ if (_t72) goto L_0289337C; else goto L_02893258; L_02893258: ; // 0x2893258 /* 02893258 */ goto L_028933A0; L_0289325C: ; // 0x289325c /* 0289325C */ cpu->r[0] = cpu->r[19] + 0x00000002u; L_02893260: ; // 0x2893260 /* 02893260 */ _t73 = cpu->r[28] + 0x00000018u; /* 02893260 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t73); /* 02893264 */ /* nop */ /* 02893268 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0289326C */ _t74 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289326C */ _t75 = _t74 & 0x00000001u; /* 0289326C */ if (_t75) goto L_02893270; else goto L_028932B8; L_02893270: ; // 0x2893270 /* 02893270 */ cpu->ctr = cpu->r[7]; /* 02893274 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02893278 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_0289327C: ; // 0x289327c /* 0289327C */ _t76 = cpu->r[27] + 0x00000001u; /* 0289327C */ cpu->r[10] = rbrew_read8(cpu->mem, _t76); /* 0289327C */ cpu->r[27] = _t76; /* 02893280 */ /* nop */ /* 02893284 */ _t77 = cpu->r[25] + 0x00000001u; /* 02893284 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[9]); /* 02893288 */ _t78 = cpu->r[27] + 0x00000000u; /* 02893288 */ cpu->r[9] = rbrew_read8(cpu->mem, _t78); /* 0289328C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02893290 */ _t79 = cpu->r[25] + 0x00000002u; /* 02893290 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[10]); /* 02893294 */ _t80 = cpu->r[27] + 0x00000000u; /* 02893294 */ cpu->r[11] = rbrew_read8(cpu->mem, _t80); /* 02893298 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0289329C */ _t81 = cpu->r[25] + 0x00000003u; /* 0289329C */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[12]); /* 028932A0 */ _t82 = cpu->r[27] + 0x00000000u; /* 028932A0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t82); /* 028932A4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028932A8 */ _t83 = cpu->r[25] + 0x00000004u; /* 028932A8 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[4]); /* 028932A8 */ cpu->r[25] = _t83; /* 028932AC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028932AC */ _t84 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028932AC */ _t85 = _t84 >> (0x00000002u & 31u); /* 028932AC */ _t86 = _t85 & 0x00000001u; /* 028932AC */ if (_t86) goto L_0289327C; else goto L_028932B0; L_028932B0: ; // 0x28932b0 /* 028932B0 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 028932B4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; L_028932B8: ; // 0x28932b8 /* 028932B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u); /* 028932BC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u); /* 028932BC */ _t88 = _t87 & 0x00000001u; /* 028932BC */ if (_t88) goto L_028932C0; else goto L_028932D8; L_028932C0: ; // 0x28932c0 /* 028932C0 */ _t89 = cpu->r[27] + 0x00000000u; /* 028932C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t89); /* 028932C4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x0000001Au, 0x00000018u, 0x0000001Fu); /* 028932C8 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 028932CC */ _t90 = cpu->r[25] + 0x00000000u; /* 028932CC */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[7]); /* 028932D0 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 028932D4 */ goto L_02893338; L_028932D8: ; // 0x28932d8 /* 028932D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 028932DC */ _t91 = cpu->cr[0] >> (0x00000001u & 31u); /* 028932DC */ _t92 = _t91 & 0x00000001u; /* 028932DC */ if (_t92) goto L_028932E0; else goto L_02893304; L_028932E0: ; // 0x28932e0 /* 028932E0 */ _t93 = cpu->r[27] + 0x00000000u; /* 028932E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t93); /* 028932E4 */ /* nop */ /* 028932E8 */ _t94 = cpu->r[25] + 0x00000000u; /* 028932E8 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[7]); /* 028932EC */ _t95 = cpu->r[27] + 0x00000000u; /* 028932EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t95); /* 028932F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 028932F4 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 028932F8 */ _t96 = cpu->r[25] + 0x00000001u; /* 028932F8 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[7]); /* 028932F8 */ cpu->r[25] = _t96; /* 028932FC */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02893300 */ goto L_02893338; L_02893304: ; // 0x2893304 /* 02893304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u); /* 02893308 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893308 */ _t98 = _t97 & 0x00000001u; /* 02893308 */ if (_t98) goto L_0289330C; else goto L_02893338; L_0289330C: ; // 0x289330c /* 0289330C */ _t99 = cpu->r[27] + 0x00000000u; /* 0289330C */ cpu->r[11] = rbrew_read8(cpu->mem, _t99); /* 02893310 */ /* nop */ /* 02893314 */ _t100 = cpu->r[25] + 0x00000000u; /* 02893314 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[10]); /* 02893318 */ _t101 = cpu->r[27] + 0x00000000u; /* 02893318 */ cpu->r[12] = rbrew_read8(cpu->mem, _t101); /* 0289331C */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02893320 */ _t102 = cpu->r[25] + 0x00000001u; /* 02893320 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[4]); /* 02893324 */ _t103 = cpu->r[27] + 0x00000000u; /* 02893324 */ cpu->r[5] = rbrew_read8(cpu->mem, _t103); /* 02893328 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0289332C */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893330 */ _t104 = cpu->r[25] + 0x00000002u; /* 02893330 */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[7]); /* 02893330 */ cpu->r[25] = _t104; /* 02893334 */ cpu->r[25] = cpu->r[25] + 0x00000001u; L_02893338: ; // 0x2893338 /* 02893338 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02893338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289333C */ cpu->r[25] = cpu->r[25] + cpu->r[0]; /* 02893340 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893340 */ _t106 = _t105 & 0x00000001u; /* 02893340 */ if (_t106) goto L_02893344; else goto L_02893260; L_02893344: ; // 0x2893344 /* 02893344 */ _t107 = cpu->r[28] + 0x00000018u; /* 02893344 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t107); /* 02893348 */ _t108 = cpu->r[28] + 0x0000001Au; /* 02893348 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t108); /* 0289334C */ cpu->r[6] = cpu->r[8] + cpu->r[19]; /* 02893350 */ cpu->r[7] = cpu->r[9] + cpu->r[19]; /* 02893354 */ cpu->r[30] = cpu->r[6] + 0x00000002u; /* 02893358 */ cpu->r[0] = cpu->r[7] + 0x00000002u; /* 0289335C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[0]); /* 02893360 */ cpu->r[24] = cpu->r[29]; /* 02893364 */ cpu->r[3] = cpu->r[18]; /* 02893368 */ cpu->r[4] = cpu->r[22]; /* 0289336C */ _t109 = cpu->r[1] + 0x00000010u; /* 0289336C */ rbrew_write32(cpu->mem, _t109, cpu->r[0]); /* 02893370 */ Gambit_fn_0288D4C4(cpu); /* 02893374 */ cpu->r[27] = cpu->r[3]; /* 02893374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02893378 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893378 */ _t111 = _t110 & 0x00000001u; /* 02893378 */ if (_t111) goto L_0289337C; else goto L_028933A0; L_0289337C: ; // 0x289337c /* 0289337C */ cpu->r[3] = cpu->r[18]; /* 02893380 */ cpu->r[4] = cpu->r[24]; /* 02893384 */ Gambit_fn_0288CA30(cpu); /* 02893388 */ /* nop */ /* 0289338C */ _t112 = cpu->r[1] + 0x00000064u; /* 0289338C */ cpu->r[0] = rbrew_read32(cpu->mem, _t112); /* 02893390 */ cpu->lr = cpu->r[0]; /* 02893394 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02893398 */ cpu->r[3] = 0x00000000u; /* 0289339C */ return; L_028933A0: ; // 0x28933a0 /* 028933A0 */ cpu->r[25] = cpu->r[26]; /* 028933A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028933A4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 028933A4 */ _t114 = _t113 & 0x00000001u; /* 028933A4 */ if (_t114) goto L_028936DC; else goto L_028933A8; L_028933A8: ; // 0x28933a8 /* 028933A8 */ _t115 = cpu->r[1] + 0x00000010u; /* 028933A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t115); /* 028933AC */ cpu->r[29] = cpu->r[30] + 0xFFFFFFFFu; /* 028933B0 */ cpu->r[23] = cpu->r[6] + 0xFFFFFFFFu; L_028933B4: ; // 0x28933b4 /* 028933B4 */ cpu->r[6] = 0x00000000u; /* 028933B8 */ cpu->r[5] = cpu->r[22]; /* 028933BC */ cpu->r[4] = cpu->r[24]; /* 028933C0 */ cpu->r[3] = cpu->r[27]; /* 028933C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028933C8 */ cpu->r[10] = cpu->r[27]; /* 028933CC */ cpu->r[12] = cpu->r[24] + cpu->r[30]; /* 028933D0 */ cpu->r[9] = cpu->r[10] + cpu->r[30]; /* 028933D4 */ cpu->r[7] = cpu->r[23] + 0xFFFFFFFFu; /* 028933D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028933D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028933DC */ cpu->r[11] = cpu->r[9] + cpu->r[30]; /* 028933E0 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 028933E0 */ _t117 = _t116 & 0x00000001u; /* 028933E0 */ if (_t117) goto L_028933E4; else goto L_02893594; L_028933E4: ; // 0x28933e4 /* 028933E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000001u); /* 028933E8 */ _t118 = cpu->cr[0] >> (0x00000002u & 31u); /* 028933E8 */ _t119 = _t118 & 0x00000001u; /* 028933E8 */ if (_t119) goto L_028933EC; else goto L_028936D0; L_028933EC: ; // 0x28933ec /* 028933EC */ _t120 = cpu->r[9] + 0x00000001u; /* 028933EC */ cpu->r[8] = rbrew_read8(cpu->mem, _t120); /* 028933F0 */ _t121 = cpu->r[10] + 0x00000001u; /* 028933F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t121); /* 028933F4 */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFFu; /* 028933F8 */ cpu->r[4] = cpu->r[8]; /* 028933FC */ cpu->r[5] = 0x00000000u; /* 02893400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]); /* 02893404 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893404 */ _t123 = _t122 & 0x00000001u; /* 02893404 */ if (_t123) goto L_02893408; else goto L_0289340C; L_02893408: ; // 0x2893408 /* 02893408 */ cpu->r[4] = cpu->r[0]; L_0289340C: ; // 0x289340c /* 0289340C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u); /* 02893410 */ cpu->r[8] = 0x00000001u; /* 02893414 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893418 */ _t124 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893418 */ _t125 = _t124 & 0x00000001u; /* 02893418 */ if (_t125) goto L_0289341C; else goto L_0289356C; L_0289341C: ; // 0x289341c /* 0289341C */ cpu->r[3] = cpu->r[9] + cpu->r[8]; /* 02893420 */ _t126 = cpu->r[11] + cpu->r[8]; /* 02893420 */ cpu->r[0] = rbrew_read8(cpu->mem, _t126); /* 02893424 */ cpu->r[21] = cpu->r[10] + cpu->r[8]; /* 02893428 */ _t127 = cpu->r[3] + 0x00000001u; /* 02893428 */ cpu->r[17] = rbrew_read8(cpu->mem, _t127); /* 0289342C */ cpu->r[20] = cpu->r[11] + cpu->r[8]; /* 02893430 */ _t128 = cpu->r[21] + 0x00000001u; /* 02893430 */ cpu->r[16] = rbrew_read8(cpu->mem, _t128); /* 02893434 */ cpu->r[21] = cpu->r[5]; /* 02893438 */ cpu->r[5] = cpu->r[4]; /* 0289343C */ _t129 = cpu->r[20] + 0x00000001u; /* 0289343C */ cpu->r[3] = rbrew_read8(cpu->mem, _t129); /* 02893440 */ cpu->r[4] = cpu->r[17]; /* 02893444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[17]); /* 02893448 */ _t130 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893448 */ _t131 = _t130 & 0x00000001u; /* 02893448 */ if (_t131) goto L_0289344C; else goto L_02893450; L_0289344C: ; // 0x289344c /* 0289344C */ cpu->r[4] = cpu->r[16]; L_02893450: ; // 0x2893450 /* 02893450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]); /* 02893454 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893454 */ _t133 = _t132 & 0x00000001u; /* 02893454 */ if (_t133) goto L_02893458; else goto L_0289345C; L_02893458: ; // 0x2893458 /* 02893458 */ cpu->r[3] = cpu->r[0]; L_0289345C: ; // 0x289345c /* 0289345C */ _t134 = cpu->r[20] + 0xFFFFFFFFu; /* 0289345C */ cpu->r[0] = rbrew_read8(cpu->mem, _t134); /* 02893460 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 02893468 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893468 */ _t136 = _t135 & 0x00000001u; /* 02893468 */ if (_t136) goto L_0289346C; else goto L_02893470; L_0289346C: ; // 0x289346c /* 0289346C */ cpu->r[0] = cpu->r[3]; L_02893470: ; // 0x2893470 /* 02893470 */ _t137 = cpu->r[9] + cpu->r[8]; /* 02893470 */ cpu->r[20] = rbrew_read8(cpu->mem, _t137); /* 02893474 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893478 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0289347C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 02893480 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893480 */ _t139 = _t138 & 0x00000001u; /* 02893480 */ if (_t139) goto L_02893484; else goto L_02893488; L_02893484: ; // 0x2893484 /* 02893484 */ cpu->r[0] = cpu->r[21]; L_02893488: ; // 0x2893488 /* 02893488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]); /* 0289348C */ cpu->r[21] = cpu->r[4]; /* 02893490 */ _t140 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893490 */ _t141 = _t140 & 0x00000001u; /* 02893490 */ if (_t141) goto L_02893494; else goto L_02893498; L_02893494: ; // 0x2893494 /* 02893494 */ cpu->r[21] = cpu->r[5]; L_02893498: ; // 0x2893498 /* 02893498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0289349C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028934A0 */ cpu->r[21] = rbrew_rlwinm(cpu->r[21], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028934A4 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u); /* 028934A4 */ _t143 = _t142 & 0x00000001u; /* 028934A4 */ if (_t143) goto L_028934BC; else goto L_028934A8; L_028934A8: ; // 0x28934a8 /* 028934A8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028934A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028934AC */ _t144 = cpu->r[12] + cpu->r[8]; /* 028934AC */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[31]); /* 028934B0 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028934B4 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u); /* 028934B4 */ _t146 = _t145 & 0x00000001u; /* 028934B4 */ if (_t146) goto L_028934B8; else goto L_028934D8; L_028934B8: ; // 0x28934b8 /* 028934B8 */ goto L_0289356C; L_028934BC: ; // 0x28934bc /* 028934BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 028934C0 */ _t147 = cpu->cr[0] >> (0x00000002u & 31u); /* 028934C0 */ _t148 = _t147 & 0x00000001u; /* 028934C0 */ if (_t148) goto L_028934C4; else goto L_028934C8; L_028934C4: ; // 0x28934c4 /* 028934C4 */ cpu->r[0] = cpu->r[21]; L_028934C8: ; // 0x28934c8 /* 028934C8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028934C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028934CC */ _t149 = cpu->r[12] + cpu->r[8]; /* 028934CC */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[0]); /* 028934D0 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028934D4 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u); /* 028934D4 */ _t151 = _t150 & 0x00000001u; /* 028934D4 */ if (_t151) goto L_0289356C; else goto L_028934D8; L_028934D8: ; // 0x28934d8 /* 028934D8 */ cpu->r[20] = cpu->r[8] + 0x00000001u; L_028934DC: ; // 0x28934dc /* 028934DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028934DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028934E0 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 028934E0 */ _t153 = _t152 & 0x00000001u; /* 028934E0 */ if (_t153) goto L_028934E4; else goto L_0289341C; L_028934E4: ; // 0x28934e4 /* 028934E4 */ _t154 = cpu->r[9] + cpu->r[20]; /* 028934E4 */ cpu->r[17] = rbrew_read8(cpu->mem, _t154); /* 028934E8 */ _t155 = cpu->r[10] + cpu->r[20]; /* 028934E8 */ cpu->r[16] = rbrew_read8(cpu->mem, _t155); /* 028934EC */ cpu->r[5] = cpu->r[4]; /* 028934F0 */ cpu->r[4] = cpu->r[17]; /* 028934F4 */ _t156 = cpu->r[11] + cpu->r[20]; /* 028934F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t156); /* 028934F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[17]); /* 028934FC */ _t157 = cpu->cr[0] >> (0x00000002u & 31u); /* 028934FC */ _t158 = _t157 & 0x00000001u; /* 028934FC */ if (_t158) goto L_02893500; else goto L_02893504; L_02893500: ; // 0x2893500 /* 02893500 */ cpu->r[4] = cpu->r[16]; L_02893504: ; // 0x2893504 /* 02893504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 02893508 */ _t159 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893508 */ _t160 = _t159 & 0x00000001u; /* 02893508 */ if (_t160) goto L_0289350C; else goto L_02893510; L_0289350C: ; // 0x289350c /* 0289350C */ cpu->r[0] = cpu->r[3]; L_02893510: ; // 0x2893510 /* 02893510 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893514 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893518 */ _t161 = cpu->r[9] + cpu->r[8]; /* 02893518 */ cpu->r[17] = rbrew_read8(cpu->mem, _t161); /* 0289351C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 02893520 */ _t162 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893520 */ _t163 = _t162 & 0x00000001u; /* 02893520 */ if (_t163) goto L_02893524; else goto L_02893528; L_02893524: ; // 0x2893524 /* 02893524 */ cpu->r[0] = cpu->r[4]; L_02893528: ; // 0x2893528 /* 02893528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 0289352C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893530 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893530 */ _t165 = _t164 & 0x00000001u; /* 02893530 */ if (_t165) goto L_0289354C; else goto L_02893534; L_02893534: ; // 0x2893534 /* 02893534 */ cpu->r[20] = cpu->r[20] + 0x00000001u; /* 02893538 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02893538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289353C */ _t166 = cpu->r[12] + cpu->r[8]; /* 0289353C */ rbrew_write8(cpu->mem, _t166, (uint8_t)cpu->r[31]); /* 02893540 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02893544 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893544 */ _t168 = _t167 & 0x00000001u; /* 02893544 */ if (_t168) goto L_02893548; else goto L_028934DC; L_02893548: ; // 0x2893548 /* 02893548 */ goto L_0289356C; L_0289354C: ; // 0x289354c /* 0289354C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 02893550 */ _t169 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893550 */ _t170 = _t169 & 0x00000001u; /* 02893550 */ if (_t170) goto L_02893554; else goto L_02893558; L_02893554: ; // 0x2893554 /* 02893554 */ cpu->r[0] = cpu->r[21]; L_02893558: ; // 0x2893558 /* 02893558 */ cpu->r[20] = cpu->r[20] + 0x00000001u; /* 0289355C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0289355C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893560 */ _t171 = cpu->r[12] + cpu->r[8]; /* 02893560 */ rbrew_write8(cpu->mem, _t171, (uint8_t)cpu->r[0]); /* 02893564 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02893568 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893568 */ _t173 = _t172 & 0x00000001u; /* 02893568 */ if (_t173) goto L_0289356C; else goto L_028934DC; L_0289356C: ; // 0x289356c /* 0289356C */ cpu->r[10] = cpu->r[10] + cpu->r[30]; /* 02893570 */ cpu->r[9] = cpu->r[9] + cpu->r[30]; /* 02893574 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 02893574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02893578 */ cpu->r[12] = cpu->r[12] + cpu->r[30]; /* 0289357C */ cpu->r[11] = cpu->r[11] + cpu->r[30]; /* 02893580 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893580 */ _t175 = _t174 & 0x00000001u; /* 02893580 */ if (_t175) goto L_02893584; else goto L_028933EC; L_02893584: ; // 0x2893584 /* 02893584 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02893584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02893588 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 0289358C */ _t176 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289358C */ _t177 = _t176 & 0x00000001u; /* 0289358C */ if (_t177) goto L_02893590; else goto L_028933B4; L_02893590: ; // 0x2893590 /* 02893590 */ goto L_028936DC; L_02893594: ; // 0x2893594 /* 02893594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000001u); /* 02893598 */ _t178 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893598 */ _t179 = _t178 & 0x00000001u; /* 02893598 */ if (_t179) goto L_0289359C; else goto L_028936D0; L_0289359C: ; // 0x289359c /* 0289359C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u); /* 028935A0 */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFFu; /* 028935A4 */ cpu->r[8] = 0x00000001u; /* 028935A8 */ _t180 = cpu->cr[0] >> (0x00000002u & 31u); /* 028935A8 */ _t181 = _t180 & 0x00000001u; /* 028935A8 */ if (_t181) goto L_028935AC; else goto L_028936B8; L_028935AC: ; // 0x28935ac /* 028935AC */ cpu->r[3] = cpu->r[9] + cpu->r[8]; L_028935B0: ; // 0x28935b0 /* 028935B0 */ _t182 = cpu->r[3] + 0x00000001u; /* 028935B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182); /* 028935B4 */ _t183 = cpu->r[3] + 0x00000000u; /* 028935B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t183); /* 028935B8 */ cpu->r[5] = cpu->r[0]; /* 028935BC */ _t184 = cpu->r[3] + 0xFFFFFFFFu; /* 028935BC */ cpu->r[3] = rbrew_read8(cpu->mem, _t184); /* 028935C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 028935C4 */ _t185 = cpu->r[10] + cpu->r[8]; /* 028935C4 */ cpu->r[21] = rbrew_read8(cpu->mem, _t185); /* 028935C8 */ _t186 = cpu->cr[0] >> (0x00000002u & 31u); /* 028935C8 */ _t187 = _t186 & 0x00000001u; /* 028935C8 */ if (_t187) goto L_028935CC; else goto L_028935D0; L_028935CC: ; // 0x28935cc /* 028935CC */ cpu->r[5] = cpu->r[4]; L_028935D0: ; // 0x28935d0 /* 028935D0 */ _t188 = cpu->r[11] + cpu->r[8]; /* 028935D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t188); /* 028935D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[3]); /* 028935D8 */ _t189 = cpu->cr[0] >> (0x00000002u & 31u); /* 028935D8 */ _t190 = _t189 & 0x00000001u; /* 028935D8 */ if (_t190) goto L_028935DC; else goto L_028935E0; L_028935DC: ; // 0x28935dc /* 028935DC */ cpu->r[3] = cpu->r[21]; L_028935E0: ; // 0x28935e0 /* 028935E0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028935E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 028935E8 */ _t191 = cpu->cr[0] >> (0x00000002u & 31u); /* 028935E8 */ _t192 = _t191 & 0x00000001u; /* 028935E8 */ if (_t192) goto L_028935EC; else goto L_028935F0; L_028935EC: ; // 0x28935ec /* 028935EC */ cpu->r[0] = cpu->r[3]; L_028935F0: ; // 0x28935f0 /* 028935F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028935F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028935F8 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u); /* 028935F8 */ _t194 = _t193 & 0x00000001u; /* 028935F8 */ if (_t194) goto L_02893610; else goto L_028935FC; L_028935FC: ; // 0x28935fc /* 028935FC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028935FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893600 */ _t195 = cpu->r[12] + cpu->r[8]; /* 02893600 */ rbrew_write8(cpu->mem, _t195, (uint8_t)cpu->r[31]); /* 02893604 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02893608 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893608 */ _t197 = _t196 & 0x00000001u; /* 02893608 */ if (_t197) goto L_0289360C; else goto L_02893630; L_0289360C: ; // 0x289360c /* 0289360C */ goto L_028936B8; L_02893610: ; // 0x2893610 /* 02893610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02893614 */ cpu->r[3] = cpu->r[0]; /* 02893618 */ _t198 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893618 */ _t199 = _t198 & 0x00000001u; /* 02893618 */ if (_t199) goto L_0289361C; else goto L_02893620; L_0289361C: ; // 0x289361c /* 0289361C */ cpu->r[3] = cpu->r[5]; L_02893620: ; // 0x2893620 /* 02893620 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02893620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893624 */ _t200 = cpu->r[12] + cpu->r[8]; /* 02893624 */ rbrew_write8(cpu->mem, _t200, (uint8_t)cpu->r[3]); /* 02893628 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289362C */ _t201 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289362C */ _t202 = _t201 & 0x00000001u; /* 0289362C */ if (_t202) goto L_028936B8; else goto L_02893630; L_02893630: ; // 0x2893630 /* 02893630 */ cpu->r[3] = cpu->r[9] + cpu->r[8]; /* 02893634 */ cpu->r[4] = cpu->r[3] + 0x00000001u; L_02893638: ; // 0x2893638 /* 02893638 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02893638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289363C */ _t203 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289363C */ _t204 = _t203 & 0x00000001u; /* 0289363C */ if (_t204) goto L_02893640; else goto L_028935B0; L_02893640: ; // 0x2893640 /* 02893640 */ _t205 = cpu->r[4] + 0x00000000u; /* 02893640 */ cpu->r[0] = rbrew_read8(cpu->mem, _t205); /* 02893644 */ _t206 = cpu->r[10] + cpu->r[8]; /* 02893644 */ cpu->r[21] = rbrew_read8(cpu->mem, _t206); /* 02893648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 0289364C */ _t207 = cpu->r[3] + 0x00000000u; /* 0289364C */ cpu->r[3] = rbrew_read8(cpu->mem, _t207); /* 02893650 */ _t208 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893650 */ _t209 = _t208 & 0x00000001u; /* 02893650 */ if (_t209) goto L_02893654; else goto L_02893658; L_02893654: ; // 0x2893654 /* 02893654 */ cpu->r[0] = cpu->r[21]; L_02893658: ; // 0x2893658 /* 02893658 */ _t210 = cpu->r[11] + cpu->r[8]; /* 02893658 */ cpu->r[21] = rbrew_read8(cpu->mem, _t210); /* 0289365C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 02893660 */ _t211 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893660 */ _t212 = _t211 & 0x00000001u; /* 02893660 */ if (_t212) goto L_02893664; else goto L_02893668; L_02893664: ; // 0x2893664 /* 02893664 */ cpu->r[0] = cpu->r[21]; L_02893668: ; // 0x2893668 /* 02893668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289366C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02893670 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893670 */ _t214 = _t213 & 0x00000001u; /* 02893670 */ if (_t214) goto L_0289368C; else goto L_02893674; L_02893674: ; // 0x2893674 /* 02893674 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02893678 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02893678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289367C */ _t215 = cpu->r[12] + cpu->r[8]; /* 0289367C */ rbrew_write8(cpu->mem, _t215, (uint8_t)cpu->r[31]); /* 02893680 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02893684 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893684 */ _t217 = _t216 & 0x00000001u; /* 02893684 */ if (_t217) goto L_02893688; else goto L_028936B0; L_02893688: ; // 0x2893688 /* 02893688 */ goto L_028936B8; L_0289368C: ; // 0x289368c /* 0289368C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02893690 */ cpu->r[3] = cpu->r[0]; /* 02893694 */ _t218 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893694 */ _t219 = _t218 & 0x00000001u; /* 02893694 */ if (_t219) goto L_02893698; else goto L_0289369C; L_02893698: ; // 0x2893698 /* 02893698 */ cpu->r[3] = cpu->r[5]; L_0289369C: ; // 0x289369c /* 0289369C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 028936A0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028936A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028936A4 */ _t220 = cpu->r[12] + cpu->r[8]; /* 028936A4 */ rbrew_write8(cpu->mem, _t220, (uint8_t)cpu->r[3]); /* 028936A8 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028936AC */ _t221 = cpu->cr[0] >> (0x00000001u & 31u); /* 028936AC */ _t222 = _t221 & 0x00000001u; /* 028936AC */ if (_t222) goto L_028936B8; else goto L_028936B0; L_028936B0: ; // 0x28936b0 /* 028936B0 */ cpu->r[3] = cpu->r[9] + cpu->r[8]; /* 028936B4 */ goto L_02893638; L_028936B8: ; // 0x28936b8 /* 028936B8 */ cpu->r[10] = cpu->r[10] + cpu->r[30]; /* 028936BC */ cpu->r[9] = cpu->r[9] + cpu->r[30]; /* 028936C0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028936C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028936C4 */ cpu->r[12] = cpu->r[12] + cpu->r[30]; /* 028936C8 */ cpu->r[11] = cpu->r[11] + cpu->r[30]; /* 028936CC */ _t223 = cpu->cr[0] >> (0x00000001u & 31u); /* 028936CC */ _t224 = _t223 & 0x00000001u; /* 028936CC */ if (_t224) goto L_028936D0; else goto L_0289359C; L_028936D0: ; // 0x28936d0 /* 028936D0 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 028936D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028936D4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 028936D8 */ _t225 = cpu->cr[0] >> (0x00000001u & 31u); /* 028936D8 */ _t226 = _t225 & 0x00000001u; /* 028936D8 */ if (_t226) goto L_028936DC; else goto L_028933B4; L_028936DC: ; // 0x28936dc /* 028936DC */ cpu->r[3] = cpu->r[18]; /* 028936E0 */ cpu->r[4] = cpu->r[27]; /* 028936E4 */ Gambit_fn_0288CA30(cpu); /* 028936E8 */ _t227 = cpu->r[18] + 0x0000002Cu; /* 028936E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t227); /* 028936EC */ cpu->r[9] = cpu->r[0] & 0x000000B0u; /* 028936EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028936F0 */ _t228 = cpu->cr[0] >> (0x00000001u & 31u); /* 028936F0 */ _t229 = _t228 & 0x00000001u; /* 028936F0 */ if (_t229) goto L_02893984; else goto L_028936F4; L_028936F4: ; // 0x28936f4 /* 028936F4 */ _t230 = cpu->r[28] + 0x00000018u; /* 028936F4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t230); /* 028936F8 */ _t231 = cpu->r[1] + 0x0000000Cu; /* 028936F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t231); /* 028936FC */ cpu->r[11] = cpu->r[8] + cpu->r[19]; /* 02893700 */ _t232 = cpu->r[1] + 0x00000008u; /* 02893700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t232); /* 02893704 */ cpu->r[12] = cpu->r[11] + 0x00000002u; /* 02893708 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[12]); /* 0289370C */ _t233 = cpu->r[28] + 0x00000020u; /* 0289370C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t233); /* 02893710 */ cpu->r[4] = cpu->r[24] + cpu->r[0]; /* 02893714 */ _t234 = cpu->r[28] + 0x0000001Au; /* 02893714 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t234); /* 02893718 */ cpu->r[5] = cpu->r[4] + cpu->r[15]; /* 0289371C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000004u); /* 02893720 */ cpu->r[31] = cpu->r[5] + 0x00000001u; /* 02893724 */ _t235 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893724 */ _t236 = _t235 & 0x00000001u; /* 02893724 */ if (_t236) goto L_02893728; else goto L_028937C8; L_02893728: ; // 0x2893728 /* 02893728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289372C */ /* nop */ /* 02893730 */ _t237 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893730 */ _t238 = _t237 & 0x00000001u; /* 02893730 */ if (_t238) goto L_02893734; else goto L_02893984; L_02893734: ; // 0x2893734 /* 02893734 */ cpu->r[0] = cpu->r[29]; /* 02893738 */ cpu->r[10] = cpu->r[19] + 0x00000002u; L_0289373C: ; // 0x289373c /* 0289373C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02893740 */ _t239 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893740 */ _t240 = _t239 & 0x00000001u; /* 02893740 */ if (_t240) goto L_02893744; else goto L_02893784; L_02893744: ; // 0x2893744 /* 02893744 */ cpu->ctr = cpu->r[0]; /* 02893748 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0289374C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; L_02893750: ; // 0x2893750 /* 02893750 */ _t241 = cpu->r[3] + 0x00000001u; /* 02893750 */ cpu->r[9] = rbrew_read8(cpu->mem, _t241); /* 02893750 */ cpu->r[3] = _t241; /* 02893754 */ _t242 = cpu->r[31] + 0x00000001u; /* 02893754 */ cpu->r[11] = rbrew_read8(cpu->mem, _t242); /* 02893754 */ cpu->r[31] = _t242; /* 02893758 */ /* nop */ /* 0289375C */ cpu->r[11] = cpu->r[11] - cpu->r[8]; /* 02893760 */ _t243 = cpu->r[31] + 0x00000000u; /* 02893760 */ rbrew_write8(cpu->mem, _t243, (uint8_t)cpu->r[11]); /* 02893764 */ _t244 = cpu->r[3] + 0x00000000u; /* 02893764 */ cpu->r[4] = rbrew_read8(cpu->mem, _t244); /* 02893768 */ _t245 = cpu->r[31] + 0x00000001u; /* 02893768 */ cpu->r[5] = rbrew_read8(cpu->mem, _t245); /* 02893768 */ cpu->r[31] = _t245; /* 0289376C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02893770 */ cpu->r[5] = cpu->r[5] - cpu->r[12]; /* 02893774 */ _t246 = cpu->r[31] + 0x00000000u; /* 02893774 */ rbrew_write8(cpu->mem, _t246, (uint8_t)cpu->r[5]); /* 02893778 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02893778 */ _t247 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02893778 */ _t248 = _t247 >> (0x00000002u & 31u); /* 02893778 */ _t249 = _t248 & 0x00000001u; /* 02893778 */ if (_t249) goto L_02893750; else goto L_0289377C; L_0289377C: ; // 0x289377c /* 0289377C */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 02893780 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_02893784: ; // 0x2893784 /* 02893784 */ _t250 = cpu->r[28] + 0x00000018u; /* 02893784 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t250); /* 02893788 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02893788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289378C */ _t251 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289378C */ _t252 = _t251 & 0x00000001u; /* 0289378C */ if (_t252) goto L_028937AC; else goto L_02893790; L_02893790: ; // 0x2893790 /* 02893790 */ _t253 = cpu->r[3] + 0x00000000u; /* 02893790 */ cpu->r[11] = rbrew_read8(cpu->mem, _t253); /* 02893794 */ _t254 = cpu->r[31] + 0x00000000u; /* 02893794 */ cpu->r[12] = rbrew_read8(cpu->mem, _t254); /* 02893798 */ /* nop */ /* 0289379C */ cpu->r[12] = cpu->r[12] - cpu->r[9]; /* 028937A0 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028937A4 */ _t255 = cpu->r[31] + 0x00000000u; /* 028937A4 */ rbrew_write8(cpu->mem, _t255, (uint8_t)cpu->r[12]); /* 028937A8 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_028937AC: ; // 0x28937ac /* 028937AC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028937AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028937B0 */ cpu->r[31] = cpu->r[31] + cpu->r[10]; /* 028937B4 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u); /* 028937B4 */ _t257 = _t256 & 0x00000001u; /* 028937B4 */ if (_t257) goto L_028937B8; else goto L_0289373C; L_028937B8: ; // 0x28937b8 /* 028937B8 */ cpu->r[7] = 0x00010000u; /* 028937BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[7]); /* 028937C0 */ _t258 = cpu->cr[0] >> (0x00000003u & 31u); /* 028937C0 */ _t259 = _t258 & 0x00000001u; /* 028937C0 */ if (_t259) goto L_028937C4; else goto L_028939FC; L_028937C4: ; // 0x28937c4 /* 028937C4 */ goto L_02893990; L_028937C8: ; // 0x28937c8 /* 028937C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 028937CC */ _t260 = cpu->cr[0] >> (0x00000001u & 31u); /* 028937CC */ _t261 = _t260 & 0x00000001u; /* 028937CC */ if (_t261) goto L_028937D0; else goto L_02893838; L_028937D0: ; // 0x28937d0 /* 028937D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028937D4 */ _t262 = cpu->cr[0] >> (0x00000002u & 31u); /* 028937D4 */ _t263 = _t262 & 0x00000001u; /* 028937D4 */ if (_t263) goto L_028937D8; else goto L_02893984; L_028937D8: ; // 0x28937d8 /* 028937D8 */ cpu->r[9] = cpu->r[19] + 0x00000002u; L_028937DC: ; // 0x28937dc /* 028937DC */ cpu->r[10] = 0x00000000u; /* 028937E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]); /* 028937E4 */ cpu->r[10] = 0x00000001u; /* 028937E8 */ _t264 = cpu->cr[0] >> (0x00000003u & 31u); /* 028937E8 */ _t265 = _t264 & 0x00000001u; /* 028937E8 */ if (_t265) goto L_028937EC; else goto L_0289381C; L_028937EC: ; // 0x28937ec /* 028937EC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 028937F0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; L_028937F4: ; // 0x28937f4 /* 028937F4 */ _t266 = cpu->r[31] + 0x00000001u; /* 028937F4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t266); /* 028937F4 */ cpu->r[31] = _t266; /* 028937F8 */ _t267 = cpu->r[3] + 0x00000001u; /* 028937F8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t267); /* 028937F8 */ cpu->r[3] = _t267; /* 028937FC */ cpu->r[4] = cpu->r[4] - cpu->r[5]; /* 02893800 */ _t268 = cpu->r[31] + 0x00000000u; /* 02893800 */ rbrew_write8(cpu->mem, _t268, (uint8_t)cpu->r[4]); /* 02893804 */ _t269 = cpu->r[28] + 0x00000018u; /* 02893804 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t269); /* 02893808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]); /* 0289380C */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 02893810 */ _t270 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893810 */ _t271 = _t270 & 0x00000001u; /* 02893810 */ if (_t271) goto L_028937F4; else goto L_02893814; L_02893814: ; // 0x2893814 /* 02893814 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02893818 */ cpu->r[3] = cpu->r[3] + 0x00000001u; L_0289381C: ; // 0x289381c /* 0289381C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0289381C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893820 */ cpu->r[31] = cpu->r[31] + cpu->r[9]; /* 02893824 */ _t272 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893824 */ _t273 = _t272 & 0x00000001u; /* 02893824 */ if (_t273) goto L_02893828; else goto L_028937DC; L_02893828: ; // 0x2893828 /* 02893828 */ cpu->r[7] = 0x00010000u; /* 0289382C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[7]); /* 02893830 */ _t274 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893830 */ _t275 = _t274 & 0x00000001u; /* 02893830 */ if (_t275) goto L_02893834; else goto L_028939FC; L_02893834: ; // 0x2893834 /* 02893834 */ goto L_02893990; L_02893838: ; // 0x2893838 /* 02893838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 0289383C */ _t276 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289383C */ _t277 = _t276 & 0x00000001u; /* 0289383C */ if (_t277) goto L_02893840; else goto L_02893984; L_02893840: ; // 0x2893840 /* 02893840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02893844 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02893848 */ /* nop */ /* 0289384C */ _t278 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289384C */ _t279 = _t278 & 0x00000001u; /* 0289384C */ if (_t279) goto L_02893850; else goto L_02893984; L_02893850: ; // 0x2893850 /* 02893850 */ cpu->r[5] = cpu->r[4]; /* 02893854 */ cpu->r[0] = cpu->r[19] + 0x00000002u; L_02893858: ; // 0x2893858 /* 02893858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289385C */ _t280 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289385C */ _t281 = _t280 & 0x00000001u; /* 0289385C */ if (_t281) goto L_02893860; else goto L_028938C8; L_02893860: ; // 0x2893860 /* 02893860 */ cpu->ctr = cpu->r[5]; /* 02893864 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 02893868 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; L_0289386C: ; // 0x289386c /* 0289386C */ _t282 = cpu->r[3] + 0x00000001u; /* 0289386C */ cpu->r[9] = rbrew_read8(cpu->mem, _t282); /* 0289386C */ cpu->r[3] = _t282; /* 02893870 */ _t283 = cpu->r[31] + 0x00000001u; /* 02893870 */ cpu->r[10] = rbrew_read8(cpu->mem, _t283); /* 02893870 */ cpu->r[31] = _t283; /* 02893874 */ /* nop */ /* 02893878 */ cpu->r[10] = cpu->r[10] - cpu->r[8]; /* 0289387C */ _t284 = cpu->r[31] + 0x00000000u; /* 0289387C */ rbrew_write8(cpu->mem, _t284, (uint8_t)cpu->r[10]); /* 02893880 */ _t285 = cpu->r[3] + 0x00000000u; /* 02893880 */ cpu->r[11] = rbrew_read8(cpu->mem, _t285); /* 02893884 */ _t286 = cpu->r[31] + 0x00000001u; /* 02893884 */ cpu->r[8] = rbrew_read8(cpu->mem, _t286); /* 02893884 */ cpu->r[31] = _t286; /* 02893888 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 0289388C */ cpu->r[8] = cpu->r[8] - cpu->r[12]; /* 02893890 */ _t287 = cpu->r[31] + 0x00000000u; /* 02893890 */ rbrew_write8(cpu->mem, _t287, (uint8_t)cpu->r[8]); /* 02893894 */ _t288 = cpu->r[3] + 0x00000000u; /* 02893894 */ cpu->r[11] = rbrew_read8(cpu->mem, _t288); /* 02893898 */ _t289 = cpu->r[31] + 0x00000001u; /* 02893898 */ cpu->r[12] = rbrew_read8(cpu->mem, _t289); /* 02893898 */ cpu->r[31] = _t289; /* 0289389C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 028938A0 */ cpu->r[12] = cpu->r[12] - cpu->r[9]; /* 028938A4 */ _t290 = cpu->r[31] + 0x00000000u; /* 028938A4 */ rbrew_write8(cpu->mem, _t290, (uint8_t)cpu->r[12]); /* 028938A8 */ _t291 = cpu->r[3] + 0x00000000u; /* 028938A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t291); /* 028938AC */ _t292 = cpu->r[31] + 0x00000001u; /* 028938AC */ cpu->r[10] = rbrew_read8(cpu->mem, _t292); /* 028938AC */ cpu->r[31] = _t292; /* 028938B0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028938B4 */ cpu->r[10] = cpu->r[10] - cpu->r[8]; /* 028938B8 */ _t293 = cpu->r[31] + 0x00000000u; /* 028938B8 */ rbrew_write8(cpu->mem, _t293, (uint8_t)cpu->r[10]); /* 028938BC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028938BC */ _t294 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028938BC */ _t295 = _t294 >> (0x00000002u & 31u); /* 028938BC */ _t296 = _t295 & 0x00000001u; /* 028938BC */ if (_t296) goto L_0289386C; else goto L_028938C0; L_028938C0: ; // 0x28938c0 /* 028938C0 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028938C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_028938C8: ; // 0x28938c8 /* 028938C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u); /* 028938CC */ _t297 = cpu->cr[0] >> (0x00000001u & 31u); /* 028938CC */ _t298 = _t297 & 0x00000001u; /* 028938CC */ if (_t298) goto L_028938D0; else goto L_028938F0; L_028938D0: ; // 0x28938d0 /* 028938D0 */ _t299 = cpu->r[3] + 0x00000000u; /* 028938D0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t299); /* 028938D4 */ _t300 = cpu->r[31] + 0x00000000u; /* 028938D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t300); /* 028938D8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Au, 0x00000018u, 0x0000001Fu); /* 028938DC */ cpu->r[12] = cpu->r[12] - cpu->r[11]; /* 028938E0 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028938E4 */ _t301 = cpu->r[31] + 0x00000000u; /* 028938E4 */ rbrew_write8(cpu->mem, _t301, (uint8_t)cpu->r[12]); /* 028938E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028938EC */ goto L_02893978; L_028938F0: ; // 0x28938f0 /* 028938F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 028938F4 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u); /* 028938F4 */ _t303 = _t302 & 0x00000001u; /* 028938F4 */ if (_t303) goto L_028938F8; else goto L_0289392C; L_028938F8: ; // 0x28938f8 /* 028938F8 */ _t304 = cpu->r[3] + 0x00000000u; /* 028938F8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t304); /* 028938FC */ _t305 = cpu->r[31] + 0x00000000u; /* 028938FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t305); /* 02893900 */ /* nop */ /* 02893904 */ cpu->r[11] = cpu->r[11] - cpu->r[12]; /* 02893908 */ _t306 = cpu->r[31] + 0x00000000u; /* 02893908 */ rbrew_write8(cpu->mem, _t306, (uint8_t)cpu->r[11]); /* 0289390C */ _t307 = cpu->r[3] + 0x00000000u; /* 0289390C */ cpu->r[12] = rbrew_read8(cpu->mem, _t307); /* 02893910 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02893914 */ _t308 = cpu->r[31] + 0x00000001u; /* 02893914 */ cpu->r[12] = rbrew_read8(cpu->mem, _t308); /* 02893914 */ cpu->r[31] = _t308; /* 02893918 */ cpu->r[12] = cpu->r[12] - cpu->r[11]; /* 0289391C */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 02893920 */ _t309 = cpu->r[31] + 0x00000000u; /* 02893920 */ rbrew_write8(cpu->mem, _t309, (uint8_t)cpu->r[12]); /* 02893924 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02893928 */ goto L_02893978; L_0289392C: ; // 0x289392c /* 0289392C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u); /* 02893930 */ _t310 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893930 */ _t311 = _t310 & 0x00000001u; /* 02893930 */ if (_t311) goto L_02893934; else goto L_02893978; L_02893934: ; // 0x2893934 /* 02893934 */ _t312 = cpu->r[3] + 0x00000000u; /* 02893934 */ cpu->r[9] = rbrew_read8(cpu->mem, _t312); /* 02893938 */ _t313 = cpu->r[31] + 0x00000000u; /* 02893938 */ cpu->r[10] = rbrew_read8(cpu->mem, _t313); /* 0289393C */ /* nop */ /* 02893940 */ cpu->r[10] = cpu->r[10] - cpu->r[8]; /* 02893944 */ _t314 = cpu->r[31] + 0x00000000u; /* 02893944 */ rbrew_write8(cpu->mem, _t314, (uint8_t)cpu->r[10]); /* 02893948 */ _t315 = cpu->r[3] + 0x00000000u; /* 02893948 */ cpu->r[8] = rbrew_read8(cpu->mem, _t315); /* 0289394C */ _t316 = cpu->r[31] + 0x00000001u; /* 0289394C */ cpu->r[10] = rbrew_read8(cpu->mem, _t316); /* 0289394C */ cpu->r[31] = _t316; /* 02893950 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02893954 */ cpu->r[10] = cpu->r[10] - cpu->r[9]; /* 02893958 */ _t317 = cpu->r[31] + 0x00000000u; /* 02893958 */ rbrew_write8(cpu->mem, _t317, (uint8_t)cpu->r[10]); /* 0289395C */ _t318 = cpu->r[3] + 0x00000000u; /* 0289395C */ cpu->r[11] = rbrew_read8(cpu->mem, _t318); /* 02893960 */ _t319 = cpu->r[31] + 0x00000001u; /* 02893960 */ cpu->r[12] = rbrew_read8(cpu->mem, _t319); /* 02893960 */ cpu->r[31] = _t319; /* 02893964 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02893968 */ cpu->r[12] = cpu->r[12] - cpu->r[11]; /* 0289396C */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 02893970 */ _t320 = cpu->r[31] + 0x00000000u; /* 02893970 */ rbrew_write8(cpu->mem, _t320, (uint8_t)cpu->r[12]); /* 02893974 */ cpu->r[31] = cpu->r[31] + 0x00000001u; L_02893978: ; // 0x2893978 /* 02893978 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02893978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289397C */ cpu->r[31] = cpu->r[31] + cpu->r[0]; /* 02893980 */ _t321 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893980 */ _t322 = _t321 & 0x00000001u; /* 02893980 */ if (_t322) goto L_02893984; else goto L_02893858; L_02893984: ; // 0x2893984 /* 02893984 */ cpu->r[7] = 0x00010000u; /* 02893988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[7]); /* 0289398C */ _t323 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289398C */ _t324 = _t323 & 0x00000001u; /* 0289398C */ if (_t324) goto L_02893990; else goto L_028939FC; L_02893990: ; // 0x2893990 /* 02893990 */ cpu->r[4] = 0x00000400u; /* 02893994 */ cpu->r[3] = cpu->r[18]; /* 02893998 */ cpu->r[29] = cpu->r[24]; /* 0289399C */ cpu->r[31] = cpu->r[22]; /* 028939A0 */ Gambit_fn_0288D4C4(cpu); /* 028939A4 */ cpu->r[4] = cpu->r[3]; /* 028939A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028939A8 */ _t325 = cpu->cr[0] >> (0x00000001u & 31u); /* 028939A8 */ _t326 = _t325 & 0x00000001u; /* 028939A8 */ if (_t326) goto L_028939FC; else goto L_028939AC; L_028939AC: ; // 0x28939ac /* 028939AC */ cpu->r[10] = 0x00000100u; /* 028939B0 */ cpu->r[0] = cpu->r[14]; /* 028939B4 */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFCu; /* 028939B8 */ cpu->ctr = cpu->r[10]; /* 028939BC */ cpu->r[11] = 0x00000000u; L_028939C0: ; // 0x28939c0 /* 028939C0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 028939C4 */ cpu->r[11] = cpu->r[11] + cpu->r[0]; /* 028939C8 */ _t327 = cpu->r[5] + 0x00000004u; /* 028939C8 */ rbrew_write32(cpu->mem, _t327, cpu->r[8]); /* 028939C8 */ cpu->r[5] = _t327; /* 028939CC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028939CC */ _t328 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028939CC */ _t329 = _t328 >> (0x00000002u & 31u); /* 028939CC */ _t330 = _t329 & 0x00000001u; /* 028939CC */ if (_t330) goto L_028939C0; else goto L_028939D0; L_028939D0: ; // 0x28939d0 /* 028939D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028939D4 */ _t331 = cpu->cr[0] >> (0x00000001u & 31u); /* 028939D4 */ _t332 = _t331 & 0x00000001u; /* 028939D4 */ if (_t332) goto L_028939F4; else goto L_028939D8; L_028939D8: ; // 0x28939d8 /* 028939D8 */ cpu->ctr = cpu->r[31]; /* 028939DC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; L_028939E0: ; // 0x28939e0 /* 028939E0 */ _t333 = cpu->r[29] + 0x00000001u; /* 028939E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t333); /* 028939E0 */ cpu->r[29] = _t333; /* 028939E4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028939E8 */ _t334 = cpu->r[9] + cpu->r[4]; /* 028939E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t334); /* 028939EC */ _t335 = cpu->r[29] + 0x00000000u; /* 028939EC */ rbrew_write8(cpu->mem, _t335, (uint8_t)cpu->r[0]); /* 028939F0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028939F0 */ _t336 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028939F0 */ _t337 = _t336 >> (0x00000002u & 31u); /* 028939F0 */ _t338 = _t337 & 0x00000001u; /* 028939F0 */ if (_t338) goto L_028939E0; else goto L_028939F4; L_028939F4: ; // 0x28939f4 /* 028939F4 */ cpu->r[3] = cpu->r[18]; /* 028939F8 */ Gambit_fn_0288CA30(cpu); L_028939FC: ; // 0x28939fc /* 028939FC */ _t339 = cpu->r[28] + 0x00000020u; /* 028939FC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t339); /* 02893A00 */ cpu->r[31] = cpu->r[30]; /* 02893A04 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[11]); /* 02893A08 */ cpu->r[12] = cpu->r[10] + 0x00000007u; /* 02893A0C */ _t340 = cpu->r[1] + 0x00000010u; /* 02893A0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t340); /* 02893A10 */ cpu->r[27] = rbrew_rlwinm(cpu->r[12], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 02893A14 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[30]); /* 02893A18 */ cpu->r[26] = cpu->r[4] + 0x00000024u; /* 02893A1C */ cpu->r[3] = cpu->r[18]; /* 02893A20 */ cpu->r[4] = cpu->r[26]; /* 02893A24 */ Gambit_fn_0288D574(cpu); /* 02893A28 */ cpu->r[29] = cpu->r[3]; /* 02893A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02893A2C */ _t341 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893A2C */ _t342 = _t341 & 0x00000001u; /* 02893A2C */ if (_t342) goto L_02893C70; else goto L_02893A30; L_02893A30: ; // 0x2893a30 /* 02893A30 */ _t343 = cpu->r[29] + 0x00000004u; /* 02893A30 */ rbrew_write32(cpu->mem, _t343, cpu->r[26]); /* 02893A34 */ _t344 = cpu->r[28] + 0x00000008u; /* 02893A34 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t344); /* 02893A38 */ _t345 = cpu->r[1] + 0x0000000Cu; /* 02893A38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t345); /* 02893A3C */ cpu->r[5] = cpu->r[0] - cpu->r[4]; /* 02893A40 */ _t346 = cpu->r[29] + 0x00000008u; /* 02893A40 */ rbrew_write16(cpu->mem, _t346, (uint16_t)cpu->r[5]); /* 02893A44 */ _t347 = cpu->r[28] + 0x0000000Au; /* 02893A44 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t347); /* 02893A48 */ _t348 = cpu->r[29] + 0x0000001Au; /* 02893A48 */ rbrew_write16(cpu->mem, _t348, (uint16_t)cpu->r[30]); /* 02893A4C */ cpu->r[6] = cpu->r[8] + cpu->r[15]; /* 02893A50 */ _t349 = cpu->r[29] + 0x00000018u; /* 02893A50 */ rbrew_write16(cpu->mem, _t349, (uint16_t)cpu->r[31]); /* 02893A54 */ cpu->r[9] = cpu->r[6] + 0x00000001u; /* 02893A58 */ _t350 = cpu->r[29] + 0x0000001Cu; /* 02893A58 */ rbrew_write16(cpu->mem, _t350, (uint16_t)cpu->r[27]); /* 02893A5C */ _t351 = cpu->r[29] + 0x0000000Au; /* 02893A5C */ rbrew_write16(cpu->mem, _t351, (uint16_t)cpu->r[9]); /* 02893A60 */ _t352 = cpu->r[28] + 0x0000000Cu; /* 02893A60 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t352); /* 02893A64 */ _t353 = cpu->r[29] + 0x0000000Cu; /* 02893A64 */ rbrew_write16(cpu->mem, _t353, (uint16_t)cpu->r[11]); /* 02893A68 */ _t354 = cpu->r[28] + 0x0000000Eu; /* 02893A68 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t354); /* 02893A6C */ _t355 = cpu->r[29] + 0x0000000Eu; /* 02893A6C */ rbrew_write16(cpu->mem, _t355, (uint16_t)cpu->r[12]); /* 02893A70 */ _t356 = cpu->r[28] + 0x00000010u; /* 02893A70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t356); /* 02893A74 */ _t357 = cpu->r[29] + 0x00000010u; /* 02893A74 */ rbrew_write32(cpu->mem, _t357, cpu->r[4]); /* 02893A78 */ _t358 = cpu->r[28] + 0x00000014u; /* 02893A78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t358); /* 02893A7C */ _t359 = cpu->r[29] + 0x00000014u; /* 02893A7C */ rbrew_write32(cpu->mem, _t359, cpu->r[5]); /* 02893A80 */ _t360 = cpu->r[28] + 0x00000020u; /* 02893A80 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t360); /* 02893A84 */ _t361 = cpu->r[29] + 0x00000020u; /* 02893A84 */ rbrew_write16(cpu->mem, _t361, (uint16_t)cpu->r[6]); /* 02893A88 */ _t362 = cpu->r[28] + 0x00000022u; /* 02893A88 */ cpu->r[7] = rbrew_read16(cpu->mem, _t362); /* 02893A8C */ _t363 = cpu->r[29] + 0x00000022u; /* 02893A8C */ rbrew_write16(cpu->mem, _t363, (uint16_t)cpu->r[7]); /* 02893A90 */ _t364 = cpu->r[28] + 0x00000020u; /* 02893A90 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t364); /* 02893A94 */ cpu->r[26] = cpu->r[29] + 0x00000024u; /* 02893A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000004u); /* 02893A9C */ cpu->r[27] = cpu->r[24]; /* 02893AA0 */ _t365 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893AA0 */ _t366 = _t365 & 0x00000001u; /* 02893AA0 */ if (_t366) goto L_02893AA4; else goto L_02893B28; L_02893AA4: ; // 0x2893aa4 /* 02893AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893AA8 */ _t367 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893AA8 */ _t368 = _t367 & 0x00000001u; /* 02893AA8 */ if (_t368) goto L_02893C70; else goto L_02893AAC; L_02893AAC: ; // 0x2893aac /* 02893AAC */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x0000001Fu, 0x00000001u, 0x0000001Fu); L_02893AB0: ; // 0x2893ab0 /* 02893AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02893AB4 */ _t369 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893AB4 */ _t370 = _t369 & 0x00000001u; /* 02893AB4 */ if (_t370) goto L_02893AB8; else goto L_02893AE4; L_02893AB8: ; // 0x2893ab8 /* 02893AB8 */ cpu->ctr = cpu->r[12]; /* 02893ABC */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 02893AC0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02893AC4: ; // 0x2893ac4 /* 02893AC4 */ _t371 = cpu->r[27] + 0x00000001u; /* 02893AC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t371); /* 02893AC8 */ _t372 = cpu->r[27] + 0x00000002u; /* 02893AC8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t372); /* 02893AC8 */ cpu->r[27] = _t372; /* 02893ACC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893AD0 */ cpu->r[8] = cpu->r[0] | cpu->r[7]; /* 02893AD4 */ _t373 = cpu->r[26] + 0x00000001u; /* 02893AD4 */ rbrew_write8(cpu->mem, _t373, (uint8_t)cpu->r[8]); /* 02893AD4 */ cpu->r[26] = _t373; /* 02893AD8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02893AD8 */ _t374 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02893AD8 */ _t375 = _t374 >> (0x00000002u & 31u); /* 02893AD8 */ _t376 = _t375 & 0x00000001u; /* 02893AD8 */ if (_t376) goto L_02893AC4; else goto L_02893ADC; L_02893ADC: ; // 0x2893adc /* 02893ADC */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893AE0 */ cpu->r[26] = cpu->r[26] + 0x00000001u; L_02893AE4: ; // 0x2893ae4 /* 02893AE4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02893AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02893AE8 */ _t377 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893AE8 */ _t378 = _t377 & 0x00000001u; /* 02893AE8 */ if (_t378) goto L_02893B00; else goto L_02893AEC; L_02893AEC: ; // 0x2893aec /* 02893AEC */ _t379 = cpu->r[27] + 0x00000000u; /* 02893AEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t379); /* 02893AF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893AF4 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893AF8 */ _t380 = cpu->r[26] + 0x00000000u; /* 02893AF8 */ rbrew_write8(cpu->mem, _t380, (uint8_t)cpu->r[0]); /* 02893AFC */ cpu->r[26] = cpu->r[26] + 0x00000001u; L_02893B00: ; // 0x2893b00 /* 02893B00 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02893B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893B04 */ _t381 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B04 */ _t382 = _t381 & 0x00000001u; /* 02893B04 */ if (_t382) goto L_02893B08; else goto L_02893AB0; L_02893B08: ; // 0x2893b08 /* 02893B08 */ cpu->r[3] = cpu->r[18]; /* 02893B0C */ cpu->r[4] = cpu->r[24]; /* 02893B10 */ Gambit_fn_0288CA30(cpu); /* 02893B14 */ cpu->r[3] = cpu->r[18]; /* 02893B18 */ cpu->r[4] = cpu->r[28]; /* 02893B1C */ Gambit_fn_02872988(cpu); /* 02893B20 */ cpu->r[3] = cpu->r[29]; /* 02893B24 */ goto L_02893C8C; L_02893B28: ; // 0x2893b28 /* 02893B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 02893B2C */ _t383 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B2C */ _t384 = _t383 & 0x00000001u; /* 02893B2C */ if (_t384) goto L_02893B30; else goto L_02893B7C; L_02893B30: ; // 0x2893b30 /* 02893B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893B34 */ _t385 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B34 */ _t386 = _t385 & 0x00000001u; /* 02893B34 */ if (_t386) goto L_02893C70; else goto L_02893B38; L_02893B38: ; // 0x2893b38 /* 02893B38 */ cpu->r[6] = 0x00000000u; /* 02893B3C */ cpu->r[5] = cpu->r[31]; /* 02893B40 */ cpu->r[4] = cpu->r[27]; /* 02893B44 */ cpu->r[3] = cpu->r[26]; /* 02893B48 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 02893B4C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02893B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893B50 */ cpu->r[27] = cpu->r[27] + cpu->r[31]; /* 02893B54 */ cpu->r[26] = cpu->r[26] + cpu->r[31]; /* 02893B58 */ _t387 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B58 */ _t388 = _t387 & 0x00000001u; /* 02893B58 */ if (_t388) goto L_02893B5C; else goto L_02893B38; L_02893B5C: ; // 0x2893b5c /* 02893B5C */ cpu->r[3] = cpu->r[18]; /* 02893B60 */ cpu->r[4] = cpu->r[24]; /* 02893B64 */ Gambit_fn_0288CA30(cpu); /* 02893B68 */ cpu->r[3] = cpu->r[18]; /* 02893B6C */ cpu->r[4] = cpu->r[28]; /* 02893B70 */ Gambit_fn_02872988(cpu); /* 02893B74 */ cpu->r[3] = cpu->r[29]; /* 02893B78 */ goto L_02893C8C; L_02893B7C: ; // 0x2893b7c /* 02893B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u); /* 02893B80 */ _t389 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B80 */ _t390 = _t389 & 0x00000001u; /* 02893B80 */ if (_t390) goto L_02893B84; else goto L_02893C70; L_02893B84: ; // 0x2893b84 /* 02893B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893B88 */ _t391 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893B88 */ _t392 = _t391 & 0x00000001u; /* 02893B88 */ if (_t392) goto L_02893C70; else goto L_02893B8C; L_02893B8C: ; // 0x2893b8c /* 02893B8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02893B90 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x0000001Eu, 0x00000002u, 0x0000001Fu); L_02893B94: ; // 0x2893b94 /* 02893B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02893B98 */ _t393 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893B98 */ _t394 = _t393 & 0x00000001u; /* 02893B98 */ if (_t394) goto L_02893B9C; else goto L_02893BE0; L_02893B9C: ; // 0x2893b9c /* 02893B9C */ cpu->ctr = cpu->r[11]; /* 02893BA0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 02893BA4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02893BA8: ; // 0x2893ba8 /* 02893BA8 */ _t395 = cpu->r[27] + 0x00000001u; /* 02893BA8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t395); /* 02893BAC */ _t396 = cpu->r[27] + 0x00000002u; /* 02893BAC */ cpu->r[4] = rbrew_read8(cpu->mem, _t396); /* 02893BB0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000006u, 0x00000000u, 0x00000019u); /* 02893BB4 */ _t397 = cpu->r[27] + 0x00000003u; /* 02893BB4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t397); /* 02893BB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893BBC */ cpu->r[6] = cpu->r[9] | cpu->r[10]; /* 02893BC0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02893BC4 */ _t398 = cpu->r[27] + 0x00000004u; /* 02893BC4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t398); /* 02893BC4 */ cpu->r[27] = _t398; /* 02893BC8 */ cpu->r[7] = cpu->r[6] | cpu->r[7]; /* 02893BCC */ cpu->r[8] = cpu->r[7] | cpu->r[10]; /* 02893BD0 */ _t399 = cpu->r[26] + 0x00000001u; /* 02893BD0 */ rbrew_write8(cpu->mem, _t399, (uint8_t)cpu->r[8]); /* 02893BD0 */ cpu->r[26] = _t399; /* 02893BD4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02893BD4 */ _t400 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02893BD4 */ _t401 = _t400 >> (0x00000002u & 31u); /* 02893BD4 */ _t402 = _t401 & 0x00000001u; /* 02893BD4 */ if (_t402) goto L_02893BA8; else goto L_02893BD8; L_02893BD8: ; // 0x2893bd8 /* 02893BD8 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893BDC */ cpu->r[26] = cpu->r[26] + 0x00000001u; L_02893BE0: ; // 0x2893be0 /* 02893BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02893BE4 */ _t403 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893BE4 */ _t404 = _t403 & 0x00000001u; /* 02893BE4 */ if (_t404) goto L_02893C68; else goto L_02893BE8; L_02893BE8: ; // 0x2893be8 /* 02893BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 02893BEC */ _t405 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893BEC */ _t406 = _t405 & 0x00000001u; /* 02893BEC */ if (_t406) goto L_02893BF0; else goto L_02893C08; L_02893BF0: ; // 0x2893bf0 /* 02893BF0 */ _t407 = cpu->r[27] + 0x00000000u; /* 02893BF0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t407); /* 02893BF4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000006u, 0x00000018u, 0x00000019u); /* 02893BF8 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893BFC */ _t408 = cpu->r[26] + 0x00000000u; /* 02893BFC */ rbrew_write8(cpu->mem, _t408, (uint8_t)cpu->r[7]); /* 02893C00 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02893C04 */ goto L_02893C68; L_02893C08: ; // 0x2893c08 /* 02893C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u); /* 02893C0C */ _t409 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893C0C */ _t410 = _t409 & 0x00000001u; /* 02893C0C */ if (_t410) goto L_02893C10; else goto L_02893C34; L_02893C10: ; // 0x2893c10 /* 02893C10 */ _t411 = cpu->r[27] + 0x00000000u; /* 02893C10 */ cpu->r[10] = rbrew_read8(cpu->mem, _t411); /* 02893C14 */ _t412 = cpu->r[27] + 0x00000001u; /* 02893C14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t412); /* 02893C14 */ cpu->r[27] = _t412; /* 02893C18 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000006u, 0x00000000u, 0x00000019u); /* 02893C1C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893C20 */ cpu->r[7] = cpu->r[9] | cpu->r[10]; /* 02893C24 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893C28 */ _t413 = cpu->r[26] + 0x00000000u; /* 02893C28 */ rbrew_write8(cpu->mem, _t413, (uint8_t)cpu->r[7]); /* 02893C2C */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02893C30 */ goto L_02893C68; L_02893C34: ; // 0x2893c34 /* 02893C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u); /* 02893C38 */ _t414 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893C38 */ _t415 = _t414 & 0x00000001u; /* 02893C38 */ if (_t415) goto L_02893C3C; else goto L_02893C68; L_02893C3C: ; // 0x2893c3c /* 02893C3C */ _t416 = cpu->r[27] + 0x00000001u; /* 02893C3C */ cpu->r[6] = rbrew_read8(cpu->mem, _t416); /* 02893C40 */ _t417 = cpu->r[27] + 0x00000000u; /* 02893C40 */ cpu->r[4] = rbrew_read8(cpu->mem, _t417); /* 02893C44 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02893C48 */ _t418 = cpu->r[27] + 0x00000002u; /* 02893C48 */ cpu->r[7] = rbrew_read8(cpu->mem, _t418); /* 02893C48 */ cpu->r[27] = _t418; /* 02893C4C */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000006u, 0x00000000u, 0x00000019u); /* 02893C50 */ cpu->r[8] = cpu->r[9] | cpu->r[10]; /* 02893C54 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02893C58 */ cpu->r[7] = cpu->r[8] | cpu->r[7]; /* 02893C5C */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02893C60 */ _t419 = cpu->r[26] + 0x00000000u; /* 02893C60 */ rbrew_write8(cpu->mem, _t419, (uint8_t)cpu->r[7]); /* 02893C64 */ cpu->r[26] = cpu->r[26] + 0x00000001u; L_02893C68: ; // 0x2893c68 /* 02893C68 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 02893C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02893C6C */ _t420 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893C6C */ _t421 = _t420 & 0x00000001u; /* 02893C6C */ if (_t421) goto L_02893C70; else goto L_02893B94; L_02893C70: ; // 0x2893c70 /* 02893C70 */ cpu->r[3] = cpu->r[18]; /* 02893C74 */ cpu->r[4] = cpu->r[24]; /* 02893C78 */ Gambit_fn_0288CA30(cpu); /* 02893C7C */ cpu->r[3] = cpu->r[18]; /* 02893C80 */ cpu->r[4] = cpu->r[28]; /* 02893C84 */ Gambit_fn_02872988(cpu); /* 02893C88 */ cpu->r[3] = cpu->r[29]; L_02893C8C: ; // 0x2893c8c /* 02893C8C */ /* nop */ /* 02893C90 */ _t422 = cpu->r[1] + 0x00000064u; /* 02893C90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t422); /* 02893C94 */ cpu->lr = cpu->r[0]; /* 02893C98 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02893C9C */ return; } // fn_02893CA0 @ 0x2893ca0 void Gambit_fn_02893CA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577; L_02893CA0: ; // 0x2893ca0 /* 02893CA0 */ _t0 = cpu->r[1] + 0xFFFFFF68u; /* 02893CA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02893CA0 */ cpu->r[1] = _t0; /* 02893CA4 */ /* nop */ /* 02893CA8 */ cpu->r[8] = 0x000000F0u; /* 02893CAC */ _t1 = cpu->r[1] + 0x00000031u; /* 02893CAC */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[8]); /* 02893CB0 */ cpu->r[7] = 0x0000000Cu; /* 02893CB4 */ _t2 = cpu->r[1] + 0x00000026u; /* 02893CB4 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[8]); /* 02893CB8 */ cpu->r[10] = 0x00000004u; /* 02893CBC */ _t3 = cpu->r[1] + 0x0000002Eu; /* 02893CBC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[7]); /* 02893CC0 */ cpu->r[8] = 0x00000030u; /* 02893CC4 */ _t4 = cpu->r[1] + 0x00000029u; /* 02893CC4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[10]); /* 02893CC8 */ _t5 = cpu->r[1] + 0x0000002Du; /* 02893CC8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[8]); /* 02893CCC */ cpu->r[9] = 0x0000000Fu; /* 02893CD0 */ _t6 = cpu->r[1] + 0x00000027u; /* 02893CD0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[9]); /* 02893CD4 */ cpu->r[8] = 0x000000F3u; /* 02893CD8 */ _t7 = cpu->r[1] + 0x00000024u; /* 02893CD8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[10]); /* 02893CDC */ cpu->r[30] = cpu->r[6]; /* 02893CE0 */ cpu->r[0] = cpu->lr; /* 02893CE4 */ _t8 = cpu->r[1] + 0x0000009Cu; /* 02893CE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02893CE8 */ cpu->r[6] = 0x00000006u; /* 02893CEC */ _t9 = cpu->r[1] + 0x00000028u; /* 02893CEC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[6]); /* 02893CF0 */ cpu->r[0] = 0x000000C0u; /* 02893CF4 */ _t10 = cpu->r[1] + 0x0000002Cu; /* 02893CF4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]); /* 02893CF8 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02893CF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]); /* 02893CFC */ cpu->r[0] = 0x000000FCu; /* 02893D00 */ cpu->r[12] = cpu->r[1] + 0x00000030u; /* 02893D04 */ _t12 = cpu->r[1] + 0x00000014u; /* 02893D04 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); /* 02893D08 */ _t13 = cpu->r[1] + 0x00000036u; /* 02893D08 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]); /* 02893D0C */ cpu->r[12] = 0x00000003u; /* 02893D10 */ _t14 = cpu->r[1] + 0x0000002Fu; /* 02893D10 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]); /* 02893D14 */ cpu->r[15] = cpu->r[1] + 0x00000034u; /* 02893D18 */ _t15 = cpu->r[30] + 0x00000020u; /* 02893D18 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 02893D1C */ cpu->r[7] = 0x000000CFu; /* 02893D20 */ _t16 = cpu->r[1] + 0x00000037u; /* 02893D20 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]); /* 02893D24 */ cpu->r[11] = 0x00000002u; /* 02893D28 */ _t17 = cpu->r[1] + 0x00000014u; /* 02893D28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 02893D2C */ _t18 = cpu->r[1] + 0x0000002Au; /* 02893D2C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[11]); /* 02893D30 */ cpu->r[6] = 0x0000003Fu; /* 02893D34 */ _t19 = cpu->r[10] + 0x00000000u; /* 02893D34 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[9]); /* 02893D38 */ cpu->r[10] = 0x00000000u; /* 02893D3C */ _t20 = cpu->r[1] + 0x00000034u; /* 02893D3C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[6]); /* 02893D40 */ _t21 = cpu->r[1] + 0x00000025u; /* 02893D40 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[10]); /* 02893D44 */ _t22 = cpu->r[1] + 0x00000035u; /* 02893D44 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[7]); /* 02893D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02893D4C */ _t23 = cpu->r[1] + 0x0000002Bu; /* 02893D4C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[10]); /* 02893D50 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893D50 */ _t25 = _t24 & 0x00000001u; /* 02893D50 */ if (_t25) goto L_02893D54; else goto L_02893D60; L_02893D54: ; // 0x2893d54 /* 02893D54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000005u); /* 02893D58 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893D58 */ _t27 = _t26 & 0x00000001u; /* 02893D58 */ if (_t27) goto L_02893D88; else goto L_02893D5C; L_02893D5C: ; // 0x2893d5c /* 02893D5C */ goto L_02893D70; L_02893D60: ; // 0x2893d60 /* 02893D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000004u); /* 02893D64 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893D64 */ _t29 = _t28 & 0x00000001u; /* 02893D64 */ if (_t29) goto L_02893D70; else goto L_02893D68; L_02893D68: ; // 0x2893d68 /* 02893D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000004u); /* 02893D6C */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893D6C */ _t31 = _t30 & 0x00000001u; /* 02893D6C */ if (_t31) goto L_02893D70; else goto L_02893D88; L_02893D70: ; // 0x2893d70 /* 02893D70 */ cpu->r[3] = cpu->r[30]; /* 02893D74 */ /* nop */ /* 02893D78 */ _t32 = cpu->r[1] + 0x0000009Cu; /* 02893D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 02893D7C */ cpu->lr = cpu->r[0]; /* 02893D80 */ cpu->r[1] = cpu->r[1] + 0x00000098u; /* 02893D84 */ return; L_02893D88: ; // 0x2893d88 /* 02893D88 */ cpu->r[9] = 0x10130000u; /* 02893D8C */ cpu->r[10] = 0x10130000u; /* 02893D90 */ cpu->r[11] = 0x10130000u; /* 02893D94 */ cpu->r[9] = cpu->r[9] + 0x00007434u; /* 02893D98 */ cpu->r[10] = cpu->r[10] + 0x00007414u; /* 02893D9C */ _t33 = cpu->r[1] + 0x00000038u; /* 02893D9C */ rbrew_write32(cpu->mem, _t33, cpu->r[9]); /* 02893DA0 */ cpu->r[11] = cpu->r[11] + 0x0000741Cu; /* 02893DA4 */ cpu->r[12] = 0x10130000u; /* 02893DA8 */ _t34 = cpu->r[1] + 0x0000003Cu; /* 02893DA8 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]); /* 02893DAC */ cpu->r[6] = 0x10130000u; /* 02893DB0 */ cpu->r[12] = cpu->r[12] + 0x00007424u; /* 02893DB4 */ _t35 = cpu->r[1] + 0x00000040u; /* 02893DB4 */ rbrew_write32(cpu->mem, _t35, cpu->r[11]); /* 02893DB8 */ cpu->r[6] = cpu->r[6] + 0x0000742Cu; /* 02893DBC */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02893DC0 */ _t36 = cpu->r[1] + 0x00000044u; /* 02893DC0 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]); /* 02893DC4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02893DC8 */ _t37 = cpu->r[1] + 0x00000048u; /* 02893DC8 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]); /* 02893DCC */ _t38 = cpu->r[7] + cpu->r[3]; /* 02893DCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t38); /* 02893DD0 */ _t39 = cpu->r[29] + 0x00000000u; /* 02893DD0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t39); /* 02893DD4 */ /* nop */ /* 02893DD8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02893DDC */ cpu->r[27] = cpu->r[8]; /* 02893DE0 */ _t40 = cpu->r[9] + cpu->r[3]; /* 02893DE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40); /* 02893DE4 */ _t41 = cpu->r[30] + 0x00000018u; /* 02893DE4 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t41); /* 02893DE8 */ /* nop */ /* 02893DEC */ _t42 = cpu->r[8] + 0x00000000u; /* 02893DEC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42); /* 02893DF0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02893DF4 */ _t43 = cpu->r[1] + 0x00000008u; /* 02893DF4 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]); /* 02893DF8 */ cpu->r[0] = cpu->r[6] + cpu->r[5]; /* 02893DFC */ /* nop */ /* 02893E00 */ /* nop */ /* 02893E04 */ cpu->r[16] = cpu->r[11]; /* 02893E08 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]); /* 02893E0C */ _t44 = cpu->r[1] + 0x00000018u; /* 02893E0C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]); /* 02893E10 */ /* nop */ /* 02893E14 */ _t45 = cpu->r[30] + 0x0000001Au; /* 02893E14 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t45); /* 02893E18 */ cpu->r[12] = rbrew_rlwinm(cpu->r[16], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02893E1C */ cpu->r[0] = cpu->r[7] + 0x00000007u; /* 02893E20 */ cpu->r[14] = cpu->r[4] + cpu->r[12]; /* 02893E24 */ /* nop */ /* 02893E28 */ cpu->r[28] = cpu->r[8]; /* 02893E2C */ /* nop */ /* 02893E30 */ /* nop */ /* 02893E34 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[14] * (int32_t)cpu->r[28]); /* 02893E38 */ cpu->r[26] = cpu->r[9] + 0x00000024u; /* 02893E3C */ _t46 = cpu->r[1] + 0x0000000Cu; /* 02893E3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46); /* 02893E40 */ cpu->r[4] = cpu->r[26]; /* 02893E44 */ Gambit_fn_0288D574(cpu); /* 02893E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02893E4C */ _t47 = cpu->r[1] + 0x00000010u; /* 02893E4C */ rbrew_write32(cpu->mem, _t47, cpu->r[3]); /* 02893E50 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893E50 */ _t49 = _t48 & 0x00000001u; /* 02893E50 */ if (_t49) goto L_02893E54; else goto L_02893E6C; L_02893E54: ; // 0x2893e54 /* 02893E54 */ /* nop */ /* 02893E58 */ _t50 = cpu->r[1] + 0x0000009Cu; /* 02893E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 02893E5C */ cpu->lr = cpu->r[0]; /* 02893E60 */ cpu->r[1] = cpu->r[1] + 0x00000098u; /* 02893E64 */ cpu->r[3] = 0x00000000u; /* 02893E68 */ return; L_02893E6C: ; // 0x2893e6c /* 02893E6C */ _t51 = cpu->r[1] + 0x00000010u; /* 02893E6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t51); /* 02893E70 */ _t52 = cpu->r[1] + 0x00000018u; /* 02893E70 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t52); /* 02893E74 */ _t53 = cpu->r[6] + 0x0000001Au; /* 02893E74 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[14]); /* 02893E78 */ _t54 = cpu->r[6] + 0x00000018u; /* 02893E78 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[0]); /* 02893E7C */ _t55 = cpu->r[6] + 0x00000004u; /* 02893E7C */ rbrew_write32(cpu->mem, _t55, cpu->r[26]); /* 02893E80 */ _t56 = cpu->r[6] + 0x0000001Cu; /* 02893E80 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[28]); /* 02893E84 */ _t57 = cpu->r[30] + 0x0000000Cu; /* 02893E84 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t57); /* 02893E88 */ _t58 = cpu->r[6] + 0x0000000Cu; /* 02893E88 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[10]); /* 02893E8C */ _t59 = cpu->r[30] + 0x0000000Eu; /* 02893E8C */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t59); /* 02893E90 */ _t60 = cpu->r[6] + 0x0000000Eu; /* 02893E90 */ rbrew_write16(cpu->mem, _t60, (uint16_t)cpu->r[12]); /* 02893E94 */ _t61 = cpu->r[30] + 0x00000010u; /* 02893E94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61); /* 02893E98 */ _t62 = cpu->r[6] + 0x00000010u; /* 02893E98 */ rbrew_write32(cpu->mem, _t62, cpu->r[5]); /* 02893E9C */ _t63 = cpu->r[30] + 0x00000014u; /* 02893E9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t63); /* 02893EA0 */ _t64 = cpu->r[6] + 0x00000014u; /* 02893EA0 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]); /* 02893EA4 */ _t65 = cpu->r[30] + 0x0000000Au; /* 02893EA4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t65); /* 02893EA8 */ cpu->r[0] = cpu->r[9] + cpu->r[16]; /* 02893EAC */ cpu->r[9] = cpu->r[6]; /* 02893EB0 */ _t66 = cpu->r[9] + 0x0000000Au; /* 02893EB0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]); /* 02893EB4 */ _t67 = cpu->r[30] + 0x00000008u; /* 02893EB4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t67); /* 02893EB8 */ cpu->r[11] = cpu->r[4] - cpu->r[27]; /* 02893EBC */ _t68 = cpu->r[9] + 0x00000008u; /* 02893EBC */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[11]); /* 02893EC0 */ _t69 = cpu->r[30] + 0x00000020u; /* 02893EC0 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69); /* 02893EC4 */ _t70 = cpu->r[9] + 0x00000020u; /* 02893EC4 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[5]); /* 02893EC8 */ _t71 = cpu->r[30] + 0x00000022u; /* 02893EC8 */ cpu->r[6] = rbrew_read16(cpu->mem, _t71); /* 02893ECC */ cpu->r[12] = cpu->r[29]; /* 02893ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02893ED4 */ _t72 = cpu->r[9] + 0x00000022u; /* 02893ED4 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[6]); /* 02893ED8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893ED8 */ _t74 = _t73 & 0x00000001u; /* 02893ED8 */ if (_t74) goto L_02893EDC; else goto L_02893F38; L_02893EDC: ; // 0x2893edc /* 02893EDC */ _t75 = cpu->r[1] + 0x00000010u; /* 02893EDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t75); /* 02893EE0 */ _t76 = cpu->r[4] + 0x0000001Cu; /* 02893EE0 */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t76); /* 02893EE4 */ _t77 = cpu->r[30] + 0x0000001Au; /* 02893EE4 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t77); /* 02893EE8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[16]); /* 02893EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02893EF0 */ _t78 = cpu->r[30] + 0x0000001Cu; /* 02893EF0 */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t78); /* 02893EF4 */ cpu->r[7] = cpu->r[4] + 0x00000024u; /* 02893EF8 */ cpu->r[26] = cpu->r[30] + 0x00000024u; /* 02893EFC */ cpu->r[27] = cpu->r[7] + cpu->r[9]; /* 02893F00 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893F00 */ _t80 = _t79 & 0x00000001u; /* 02893F00 */ if (_t80) goto L_02893F04; else goto L_02894678; L_02893F04: ; // 0x2893f04 /* 02893F04 */ cpu->r[6] = 0x00000000u; /* 02893F08 */ cpu->r[5] = cpu->r[24]; /* 02893F0C */ cpu->r[4] = cpu->r[26]; /* 02893F10 */ cpu->r[3] = cpu->r[27]; /* 02893F14 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 02893F18 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02893F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02893F1C */ cpu->r[27] = cpu->r[27] + cpu->r[25]; /* 02893F20 */ cpu->r[26] = cpu->r[26] + cpu->r[24]; /* 02893F24 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893F24 */ _t82 = _t81 & 0x00000001u; /* 02893F24 */ if (_t82) goto L_02893F28; else goto L_02893F04; L_02893F28: ; // 0x2893f28 /* 02893F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000001u); /* 02893F2C */ _t83 = cpu->r[1] + 0x00000008u; /* 02893F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t83); /* 02893F30 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893F30 */ _t85 = _t84 & 0x00000001u; /* 02893F30 */ if (_t85) goto L_02893F34; else goto L_02894A20; L_02893F34: ; // 0x2893f34 /* 02893F34 */ goto L_02894684; L_02893F38: ; // 0x2893f38 /* 02893F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000001u); /* 02893F3C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893F3C */ _t87 = _t86 & 0x00000001u; /* 02893F3C */ if (_t87) goto L_02893F40; else goto L_02894224; L_02893F40: ; // 0x2893f40 /* 02893F40 */ _t88 = cpu->r[1] + 0x00000010u; /* 02893F40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t88); /* 02893F44 */ _t89 = cpu->r[11] + 0x0000001Cu; /* 02893F44 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t89); /* 02893F48 */ cpu->r[5] = cpu->r[11] + 0x00000024u; /* 02893F4C */ cpu->r[3] = cpu->r[30] + 0x00000024u; /* 02893F50 */ cpu->r[7] = 0x00000000u; /* 02893F54 */ _t90 = cpu->r[30] + 0x0000001Au; /* 02893F54 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t90); /* 02893F58 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[16]); /* 02893F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]); /* 02893F60 */ cpu->r[27] = cpu->r[5] + cpu->r[0]; /* 02893F64 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893F64 */ _t92 = _t91 & 0x00000001u; /* 02893F64 */ if (_t92) goto L_02893F68; else goto L_02894678; L_02893F68: ; // 0x2893f68 /* 02893F68 */ cpu->r[6] = cpu->r[1] + 0x00000024u; /* 02893F6C */ cpu->r[5] = cpu->r[1] + 0x00000028u; L_02893F70: ; // 0x2893f70 /* 02893F70 */ cpu->r[4] = 0x00000000u; /* 02893F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 02893F78 */ cpu->r[23] = cpu->r[4]; /* 02893F7C */ cpu->r[26] = cpu->r[4]; /* 02893F80 */ cpu->r[11] = cpu->r[23]; /* 02893F84 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 02893F84 */ _t94 = _t93 & 0x00000001u; /* 02893F84 */ if (_t94) goto L_02893F88; else goto L_02894014; L_02893F88: ; // 0x2893f88 /* 02893F88 */ _t95 = cpu->r[30] + 0x00000018u; /* 02893F88 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t95); /* 02893F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[8]); /* 02893F90 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893F90 */ _t97 = _t96 & 0x00000001u; /* 02893F90 */ if (_t97) goto L_02893F94; else goto L_02894124; L_02893F94: ; // 0x2893f94 /* 02893F94 */ _t98 = cpu->r[12] + 0x00000002u; /* 02893F94 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t98); /* 02893F98 */ _t99 = cpu->r[12] + 0x00000004u; /* 02893F98 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t99); /* 02893F9C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[4]); /* 02893FA0 */ _t100 = cpu->r[12] + 0x00000006u; /* 02893FA0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t100); /* 02893FA4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[26]); /* 02893FA8 */ _t101 = cpu->r[3] + cpu->r[11]; /* 02893FA8 */ cpu->r[23] = rbrew_read8(cpu->mem, _t101); /* 02893FAC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[23]); /* 02893FB0 */ cpu->r[9] = cpu->r[9] + cpu->r[4]; /* 02893FB4 */ cpu->r[4] = cpu->r[9] + cpu->r[0]; /* 02893FB8 */ cpu->r[8] = cpu->r[4] + 0x00000080u; /* 02893FBC */ /* nop */ /* 02893FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x000000FFu); /* 02893FC4 */ _t102 = cpu->cr[0] >> (0x00000002u & 31u); /* 02893FC4 */ _t103 = _t102 & 0x00000001u; /* 02893FC4 */ if (_t103) goto L_02893FC8; else goto L_02893FCC; L_02893FC8: ; // 0x2893fc8 /* 02893FC8 */ cpu->r[24] = 0x000000FFu; L_02893FCC: ; // 0x2893fcc /* 02893FCC */ _t104 = cpu->r[27] + cpu->r[11]; /* 02893FCC */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[24]); /* 02893FD0 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02893FD4 */ _t105 = cpu->r[30] + 0x00000018u; /* 02893FD4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t105); /* 02893FD8 */ /* nop */ /* 02893FDC */ cpu->r[4] = cpu->r[26]; /* 02893FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 02893FE4 */ cpu->r[26] = cpu->r[23]; /* 02893FE8 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u); /* 02893FE8 */ _t107 = _t106 & 0x00000001u; /* 02893FE8 */ if (_t107) goto L_02893F94; else goto L_02893FEC; L_02893FEC: ; // 0x2893fec /* 02893FEC */ _t108 = cpu->r[12] + 0x00000002u; /* 02893FEC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t108); /* 02893FF0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[4]); /* 02893FF4 */ _t109 = cpu->r[12] + 0x00000004u; /* 02893FF4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t109); /* 02893FF8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[26]); /* 02893FFC */ cpu->r[8] = cpu->r[8] + cpu->r[10]; /* 02894000 */ cpu->r[0] = cpu->r[8] + 0x00000080u; /* 02894004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 02894008 */ /* nop */ /* 0289400C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289400C */ _t111 = _t110 & 0x00000001u; /* 0289400C */ if (_t111) goto L_02894010; else goto L_02894190; L_02894010: ; // 0x2894010 /* 02894010 */ goto L_02894148; L_02894014: ; // 0x2894014 /* 02894014 */ _t112 = cpu->r[30] + 0x00000018u; /* 02894014 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t112); /* 02894018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 0289401C */ _t113 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289401C */ _t114 = _t113 & 0x00000001u; /* 0289401C */ if (_t114) goto L_02894020; else goto L_02894124; L_02894020: ; // 0x2894020 /* 02894020 */ cpu->r[8] = cpu->r[1] + 0x0000002Cu; /* 02894024 */ cpu->r[25] = cpu->r[1] + 0x00000026u; /* 02894028 */ cpu->r[5] = cpu->r[1] + 0x00000028u; /* 0289402C */ cpu->r[6] = cpu->r[1] + 0x00000024u; L_02894030: ; // 0x2894030 /* 02894030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 02894034 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894034 */ _t116 = _t115 & 0x00000001u; /* 02894034 */ if (_t116) goto L_02894038; else goto L_028940A0; L_02894038: ; // 0x2894038 /* 02894038 */ _t117 = cpu->r[12] + 0x00000002u; /* 02894038 */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t117); /* 0289403C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02894040 */ /* nop */ /* 02894044 */ _t118 = cpu->r[12] + 0x00000004u; /* 02894044 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t118); /* 02894048 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[4]); /* 0289404C */ _t119 = cpu->r[6] + cpu->r[9]; /* 0289404C */ cpu->r[22] = rbrew_read8(cpu->mem, _t119); /* 02894050 */ _t120 = cpu->r[3] + cpu->r[0]; /* 02894050 */ cpu->r[23] = rbrew_read8(cpu->mem, _t120); /* 02894054 */ _t121 = cpu->r[25] + cpu->r[9]; /* 02894054 */ cpu->r[9] = rbrew_read8(cpu->mem, _t121); /* 02894058 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[26]); /* 0289405C */ cpu->r[9] = cpu->r[23] & cpu->r[9]; /* 02894060 */ _t122 = cpu->r[12] + 0x00000006u; /* 02894060 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t122); /* 02894064 */ /* nop */ /* 02894068 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[23]); /* 0289406C */ cpu->r[4] = cpu->r[24] + cpu->r[4]; /* 02894070 */ cpu->r[4] = cpu->r[4] + cpu->r[9]; /* 02894074 */ cpu->r[9] = cpu->r[4] + 0x00000080u; /* 02894078 */ /* nop */ /* 0289407C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x0000000Fu); /* 02894080 */ _t123 = cpu->r[27] + cpu->r[0]; /* 02894080 */ cpu->r[4] = rbrew_read8(cpu->mem, _t123); /* 02894084 */ _t124 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894084 */ _t125 = _t124 & 0x00000001u; /* 02894084 */ if (_t125) goto L_02894088; else goto L_0289408C; L_02894088: ; // 0x2894088 /* 02894088 */ cpu->r[24] = 0x0000000Fu; L_0289408C: ; // 0x289408c /* 0289408C */ /* nop */ /* 02894090 */ cpu->r[4] = cpu->r[4] | cpu->r[10]; /* 02894094 */ _t126 = cpu->r[27] + cpu->r[0]; /* 02894094 */ rbrew_write8(cpu->mem, _t126, (uint8_t)cpu->r[4]); /* 02894098 */ _t127 = cpu->r[30] + 0x00000018u; /* 02894098 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t127); /* 0289409C */ goto L_0289410C; L_028940A0: ; // 0x28940a0 /* 028940A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 028940A4 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 028940A4 */ _t129 = _t128 & 0x00000001u; /* 028940A4 */ if (_t129) goto L_028940A8; else goto L_0289410C; L_028940A8: ; // 0x28940a8 /* 028940A8 */ _t130 = cpu->r[12] + 0x00000002u; /* 028940A8 */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t130); /* 028940AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028940B0 */ /* nop */ /* 028940B4 */ _t131 = cpu->r[12] + 0x00000004u; /* 028940B4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t131); /* 028940B8 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[4]); /* 028940BC */ _t132 = cpu->r[3] + cpu->r[0]; /* 028940BC */ cpu->r[23] = rbrew_read8(cpu->mem, _t132); /* 028940C0 */ _t133 = cpu->r[5] + cpu->r[10]; /* 028940C0 */ cpu->r[22] = rbrew_read8(cpu->mem, _t133); /* 028940C4 */ _t134 = cpu->r[8] + cpu->r[10]; /* 028940C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t134); /* 028940C8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[26]); /* 028940CC */ cpu->r[9] = cpu->r[23] & cpu->r[10]; /* 028940D0 */ _t135 = cpu->r[12] + 0x00000006u; /* 028940D0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t135); /* 028940D4 */ /* nop */ /* 028940D8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[23]); /* 028940DC */ cpu->r[4] = cpu->r[24] + cpu->r[4]; /* 028940E0 */ cpu->r[4] = cpu->r[4] + cpu->r[9]; /* 028940E4 */ cpu->r[9] = cpu->r[4] + 0x00000080u; /* 028940E8 */ /* nop */ /* 028940EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000003u); /* 028940F0 */ _t136 = cpu->r[27] + cpu->r[0]; /* 028940F0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t136); /* 028940F4 */ _t137 = cpu->cr[0] >> (0x00000002u & 31u); /* 028940F4 */ _t138 = _t137 & 0x00000001u; /* 028940F4 */ if (_t138) goto L_028940F8; else goto L_028940FC; L_028940F8: ; // 0x28940f8 /* 028940F8 */ cpu->r[24] = 0x00000003u; L_028940FC: ; // 0x28940fc /* 028940FC */ /* nop */ /* 02894100 */ cpu->r[4] = cpu->r[4] | cpu->r[10]; /* 02894104 */ _t139 = cpu->r[27] + cpu->r[0]; /* 02894104 */ rbrew_write8(cpu->mem, _t139, (uint8_t)cpu->r[4]); /* 02894108 */ _t140 = cpu->r[30] + 0x00000018u; /* 02894108 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t140); L_0289410C: ; // 0x289410c /* 0289410C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02894110 */ /* nop */ /* 02894114 */ cpu->r[4] = cpu->r[26]; /* 02894118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 0289411C */ cpu->r[26] = cpu->r[23]; /* 02894120 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u); /* 02894120 */ _t142 = _t141 & 0x00000001u; /* 02894120 */ if (_t142) goto L_02894030; else goto L_02894124; L_02894124: ; // 0x2894124 /* 02894124 */ _t143 = cpu->r[12] + 0x00000002u; /* 02894124 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t143); /* 02894128 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[4]); /* 0289412C */ _t144 = cpu->r[12] + 0x00000004u; /* 0289412C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t144); /* 02894130 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[26]); /* 02894134 */ cpu->r[8] = cpu->r[8] + cpu->r[10]; /* 02894138 */ cpu->r[0] = cpu->r[8] + 0x00000080u; /* 0289413C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 02894140 */ /* nop */ /* 02894144 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894144 */ _t146 = _t145 & 0x00000001u; /* 02894144 */ if (_t146) goto L_02894148; else goto L_02894190; L_02894148: ; // 0x2894148 /* 02894148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x0000000Fu); /* 0289414C */ _t147 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289414C */ _t148 = _t147 & 0x00000001u; /* 0289414C */ if (_t148) goto L_02894150; else goto L_02894154; L_02894150: ; // 0x2894150 /* 02894150 */ cpu->r[24] = 0x0000000Fu; L_02894154: ; // 0x2894154 /* 02894154 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02894158 */ /* nop */ /* 0289415C */ _t149 = cpu->r[6] + cpu->r[9]; /* 0289415C */ cpu->r[11] = rbrew_read8(cpu->mem, _t149); /* 02894160 */ _t150 = cpu->r[27] + cpu->r[0]; /* 02894160 */ cpu->r[4] = rbrew_read8(cpu->mem, _t150); /* 02894164 */ /* nop */ /* 02894168 */ cpu->r[4] = cpu->r[4] | cpu->r[10]; /* 0289416C */ _t151 = cpu->r[27] + cpu->r[0]; /* 0289416C */ rbrew_write8(cpu->mem, _t151, (uint8_t)cpu->r[4]); /* 02894170 */ _t152 = cpu->r[30] + 0x0000001Au; /* 02894170 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t152); /* 02894174 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 02894178 */ _t153 = cpu->r[30] + 0x0000001Cu; /* 02894178 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t153); /* 0289417C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 02894180 */ cpu->r[27] = cpu->r[27] + cpu->r[29]; /* 02894184 */ cpu->r[3] = cpu->r[3] + cpu->r[4]; /* 02894188 */ _t154 = cpu->cr[0] >> (0x00000003u & 31u); /* 02894188 */ _t155 = _t154 & 0x00000001u; /* 02894188 */ if (_t155) goto L_02893F70; else goto L_0289418C; L_0289418C: ; // 0x289418c /* 0289418C */ goto L_02894214; L_02894190: ; // 0x2894190 /* 02894190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 02894194 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894194 */ _t157 = _t156 & 0x00000001u; /* 02894194 */ if (_t157) goto L_02894198; else goto L_028941C8; L_02894198: ; // 0x2894198 /* 02894198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x000000FFu); /* 0289419C */ _t158 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289419C */ _t159 = _t158 & 0x00000001u; /* 0289419C */ if (_t159) goto L_028941A0; else goto L_028941A4; L_028941A0: ; // 0x28941a0 /* 028941A0 */ cpu->r[24] = 0x000000FFu; L_028941A4: ; // 0x28941a4 /* 028941A4 */ _t160 = cpu->r[27] + cpu->r[11]; /* 028941A4 */ rbrew_write8(cpu->mem, _t160, (uint8_t)cpu->r[24]); /* 028941A8 */ _t161 = cpu->r[30] + 0x0000001Au; /* 028941A8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t161); /* 028941AC */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028941B0 */ _t162 = cpu->r[30] + 0x0000001Cu; /* 028941B0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t162); /* 028941B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 028941B8 */ cpu->r[27] = cpu->r[27] + cpu->r[29]; /* 028941BC */ cpu->r[3] = cpu->r[3] + cpu->r[4]; /* 028941C0 */ _t163 = cpu->cr[0] >> (0x00000003u & 31u); /* 028941C0 */ _t164 = _t163 & 0x00000001u; /* 028941C0 */ if (_t164) goto L_02893F70; else goto L_028941C4; L_028941C4: ; // 0x28941c4 /* 028941C4 */ goto L_02894214; L_028941C8: ; // 0x28941c8 /* 028941C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 028941CC */ _t165 = cpu->cr[0] >> (0x00000001u & 31u); /* 028941CC */ _t166 = _t165 & 0x00000001u; /* 028941CC */ if (_t166) goto L_028941D0; else goto L_028941F8; L_028941D0: ; // 0x28941d0 /* 028941D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000003u); /* 028941D4 */ _t167 = cpu->cr[0] >> (0x00000002u & 31u); /* 028941D4 */ _t168 = _t167 & 0x00000001u; /* 028941D4 */ if (_t168) goto L_028941D8; else goto L_028941DC; L_028941D8: ; // 0x28941d8 /* 028941D8 */ cpu->r[24] = 0x00000003u; L_028941DC: ; // 0x28941dc /* 028941DC */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028941E0 */ /* nop */ /* 028941E4 */ _t169 = cpu->r[5] + cpu->r[8]; /* 028941E4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t169); /* 028941E8 */ _t170 = cpu->r[27] + cpu->r[0]; /* 028941E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t170); /* 028941EC */ /* nop */ /* 028941F0 */ cpu->r[11] = cpu->r[11] | cpu->r[9]; /* 028941F4 */ _t171 = cpu->r[27] + cpu->r[0]; /* 028941F4 */ rbrew_write8(cpu->mem, _t171, (uint8_t)cpu->r[11]); L_028941F8: ; // 0x28941f8 /* 028941F8 */ _t172 = cpu->r[30] + 0x0000001Au; /* 028941F8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t172); /* 028941FC */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 02894200 */ _t173 = cpu->r[30] + 0x0000001Cu; /* 02894200 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t173); /* 02894204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 02894208 */ cpu->r[27] = cpu->r[27] + cpu->r[29]; /* 0289420C */ cpu->r[3] = cpu->r[3] + cpu->r[4]; /* 02894210 */ _t174 = cpu->cr[0] >> (0x00000003u & 31u); /* 02894210 */ _t175 = _t174 & 0x00000001u; /* 02894210 */ if (_t175) goto L_02893F70; else goto L_02894214; L_02894214: ; // 0x2894214 /* 02894214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000001u); /* 02894218 */ _t176 = cpu->r[1] + 0x00000008u; /* 02894218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t176); /* 0289421C */ _t177 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289421C */ _t178 = _t177 & 0x00000001u; /* 0289421C */ if (_t178) goto L_02894220; else goto L_02894A20; L_02894220: ; // 0x2894220 /* 02894220 */ goto L_02894684; L_02894224: ; // 0x2894224 /* 02894224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000002u); /* 02894228 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894228 */ _t180 = _t179 & 0x00000001u; /* 02894228 */ if (_t180) goto L_0289422C; else goto L_02894678; L_0289422C: ; // 0x289422c /* 0289422C */ _t181 = cpu->r[1] + 0x00000010u; /* 0289422C */ cpu->r[9] = rbrew_read32(cpu->mem, _t181); /* 02894230 */ _t182 = cpu->r[9] + 0x0000001Cu; /* 02894230 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t182); /* 02894234 */ cpu->r[7] = 0x00000000u; /* 02894238 */ _t183 = cpu->r[30] + 0x0000001Au; /* 02894238 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t183); /* 0289423C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[16]); /* 02894240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]); /* 02894244 */ _t184 = cpu->r[30] + 0x0000001Cu; /* 02894244 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t184); /* 02894248 */ cpu->r[5] = cpu->r[9] + 0x00000024u; /* 0289424C */ cpu->r[4] = cpu->r[30] + 0x00000024u; /* 02894250 */ cpu->r[5] = cpu->r[5] + cpu->r[6]; /* 02894254 */ _t185 = cpu->cr[0] >> (0x00000003u & 31u); /* 02894254 */ _t186 = _t185 & 0x00000001u; /* 02894254 */ if (_t186) goto L_02894258; else goto L_02894678; L_02894258: ; // 0x2894258 /* 02894258 */ cpu->r[8] = cpu->r[1] + 0x00000028u; /* 0289425C */ cpu->r[6] = cpu->r[1] + 0x00000024u; L_02894260: ; // 0x2894260 /* 02894260 */ cpu->r[10] = 0x00000000u; /* 02894264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 02894268 */ cpu->r[26] = cpu->r[10]; /* 0289426C */ cpu->r[25] = cpu->r[10]; /* 02894270 */ cpu->r[9] = cpu->r[26]; /* 02894274 */ cpu->r[27] = cpu->r[26]; /* 02894278 */ cpu->r[11] = cpu->r[9]; /* 0289427C */ _t187 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289427C */ _t188 = _t187 & 0x00000001u; /* 0289427C */ if (_t188) goto L_02894280; else goto L_02894344; L_02894280: ; // 0x2894280 /* 02894280 */ _t189 = cpu->r[30] + 0x00000018u; /* 02894280 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t189); /* 02894284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]); /* 02894288 */ _t190 = cpu->cr[0] >> (0x00000003u & 31u); /* 02894288 */ _t191 = _t190 & 0x00000001u; /* 02894288 */ if (_t191) goto L_0289428C; else goto L_0289448C; L_0289428C: ; // 0x289428c /* 0289428C */ _t192 = cpu->r[12] + 0x00000002u; /* 0289428C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t192); /* 02894290 */ _t193 = cpu->r[12] + 0x00000004u; /* 02894290 */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t193); /* 02894294 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[10]); /* 02894298 */ _t194 = cpu->r[12] + 0x00000006u; /* 02894298 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t194); /* 0289429C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[25]); /* 028942A0 */ _t195 = cpu->r[12] + 0x00000008u; /* 028942A0 */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t195); /* 028942A4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[26]); /* 028942A8 */ cpu->r[23] = cpu->r[23] + cpu->r[10]; /* 028942AC */ _t196 = cpu->r[12] + 0x0000000Au; /* 028942AC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t196); /* 028942B0 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[27]); /* 028942B4 */ _t197 = cpu->r[4] + cpu->r[11]; /* 028942B4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t197); /* 028942B8 */ cpu->r[23] = cpu->r[23] + cpu->r[0]; /* 028942BC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[9]); /* 028942C0 */ cpu->r[10] = cpu->r[23] + cpu->r[24]; /* 028942C4 */ cpu->r[10] = cpu->r[10] + cpu->r[0]; /* 028942C8 */ cpu->r[10] = cpu->r[10] + 0x00000080u; /* 028942CC */ /* nop */ /* 028942D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu); /* 028942D4 */ _t198 = cpu->cr[0] >> (0x00000002u & 31u); /* 028942D4 */ _t199 = _t198 & 0x00000001u; /* 028942D4 */ if (_t199) goto L_028942D8; else goto L_028942DC; L_028942D8: ; // 0x28942d8 /* 028942D8 */ cpu->r[10] = 0x000000FFu; L_028942DC: ; // 0x28942dc /* 028942DC */ _t200 = cpu->r[5] + cpu->r[11]; /* 028942DC */ rbrew_write8(cpu->mem, _t200, (uint8_t)cpu->r[10]); /* 028942E0 */ cpu->r[10] = cpu->r[25]; /* 028942E4 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028942E8 */ cpu->r[25] = cpu->r[26]; /* 028942EC */ _t201 = cpu->r[30] + 0x00000018u; /* 028942EC */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t201); /* 028942F0 */ /* nop */ /* 028942F4 */ cpu->r[26] = cpu->r[27]; /* 028942F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[24]); /* 028942FC */ cpu->r[27] = cpu->r[9]; /* 02894300 */ _t202 = cpu->cr[0] >> (0x00000003u & 31u); /* 02894300 */ _t203 = _t202 & 0x00000001u; /* 02894300 */ if (_t203) goto L_0289428C; else goto L_02894304; L_02894304: ; // 0x2894304 /* 02894304 */ _t204 = cpu->r[12] + 0x00000002u; /* 02894304 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t204); /* 02894308 */ _t205 = cpu->r[12] + 0x00000004u; /* 02894308 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t205); /* 0289430C */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[10]); /* 02894310 */ _t206 = cpu->r[12] + 0x00000006u; /* 02894310 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t206); /* 02894314 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[25]); /* 02894318 */ _t207 = cpu->r[12] + 0x00000008u; /* 02894318 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t207); /* 0289431C */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[26]); /* 02894320 */ cpu->r[23] = cpu->r[23] + cpu->r[10]; /* 02894324 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[27]); /* 02894328 */ cpu->r[9] = cpu->r[23] + cpu->r[24]; /* 0289432C */ cpu->r[10] = cpu->r[9] + cpu->r[10]; /* 02894330 */ cpu->r[0] = cpu->r[10] + 0x00000080u; /* 02894334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 02894338 */ /* nop */ /* 0289433C */ _t208 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289433C */ _t209 = _t208 & 0x00000001u; /* 0289433C */ if (_t209) goto L_02894340; else goto L_02894564; L_02894340: ; // 0x2894340 /* 02894340 */ goto L_028944C8; L_02894344: ; // 0x2894344 /* 02894344 */ _t210 = cpu->r[30] + 0x00000018u; /* 02894344 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t210); /* 02894348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 0289434C */ _t211 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289434C */ _t212 = _t211 & 0x00000001u; /* 0289434C */ if (_t212) goto L_02894350; else goto L_0289448C; L_02894350: ; // 0x2894350 /* 02894350 */ cpu->r[22] = cpu->r[1] + 0x0000002Cu; /* 02894354 */ cpu->r[21] = cpu->r[1] + 0x00000026u; /* 02894358 */ cpu->r[8] = cpu->r[1] + 0x00000028u; /* 0289435C */ cpu->r[6] = cpu->r[1] + 0x00000024u; L_02894360: ; // 0x2894360 /* 02894360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 02894364 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894364 */ _t214 = _t213 & 0x00000001u; /* 02894364 */ if (_t214) goto L_02894368; else goto L_028943E8; L_02894368: ; // 0x2894368 /* 02894368 */ _t215 = cpu->r[12] + 0x00000002u; /* 02894368 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t215); /* 0289436C */ _t216 = cpu->r[12] + 0x00000006u; /* 0289436C */ cpu->r[23] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t216); /* 02894370 */ cpu->r[20] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[10]); /* 02894374 */ _t217 = cpu->r[12] + 0x00000004u; /* 02894374 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t217); /* 02894378 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289437C */ _t218 = cpu->r[12] + 0x00000008u; /* 0289437C */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t218); /* 02894380 */ /* nop */ /* 02894384 */ _t219 = cpu->r[6] + cpu->r[9]; /* 02894384 */ cpu->r[19] = rbrew_read8(cpu->mem, _t219); /* 02894388 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[25]); /* 0289438C */ _t220 = cpu->r[21] + cpu->r[9]; /* 0289438C */ cpu->r[9] = rbrew_read8(cpu->mem, _t220); /* 02894390 */ _t221 = cpu->r[4] + cpu->r[0]; /* 02894390 */ cpu->r[18] = rbrew_read8(cpu->mem, _t221); /* 02894394 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)cpu->r[26]); /* 02894398 */ cpu->r[20] = cpu->r[20] + cpu->r[10]; /* 0289439C */ cpu->r[9] = cpu->r[18] & cpu->r[9]; /* 028943A0 */ _t222 = cpu->r[12] + 0x0000000Au; /* 028943A0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t222); /* 028943A4 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[27]); /* 028943A8 */ /* nop */ /* 028943AC */ cpu->r[23] = cpu->r[20] + cpu->r[23]; /* 028943B0 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[9]); /* 028943B4 */ cpu->r[24] = cpu->r[23] + cpu->r[24]; /* 028943B8 */ cpu->r[10] = cpu->r[24] + cpu->r[10]; /* 028943BC */ cpu->r[10] = cpu->r[10] + 0x00000080u; /* 028943C0 */ /* nop */ /* 028943C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000000Fu); /* 028943C8 */ _t223 = cpu->r[5] + cpu->r[0]; /* 028943C8 */ cpu->r[24] = rbrew_read8(cpu->mem, _t223); /* 028943CC */ _t224 = cpu->cr[0] >> (0x00000002u & 31u); /* 028943CC */ _t225 = _t224 & 0x00000001u; /* 028943CC */ if (_t225) goto L_028943D0; else goto L_028943D4; L_028943D0: ; // 0x28943d0 /* 028943D0 */ cpu->r[10] = 0x0000000Fu; L_028943D4: ; // 0x28943d4 /* 028943D4 */ /* nop */ /* 028943D8 */ cpu->r[24] = cpu->r[24] | cpu->r[10]; /* 028943DC */ _t226 = cpu->r[5] + cpu->r[0]; /* 028943DC */ rbrew_write8(cpu->mem, _t226, (uint8_t)cpu->r[24]); /* 028943E0 */ _t227 = cpu->r[30] + 0x00000018u; /* 028943E0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t227); /* 028943E4 */ goto L_0289446C; L_028943E8: ; // 0x28943e8 /* 028943E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 028943EC */ _t228 = cpu->cr[0] >> (0x00000001u & 31u); /* 028943EC */ _t229 = _t228 & 0x00000001u; /* 028943EC */ if (_t229) goto L_028943F0; else goto L_0289446C; L_028943F0: ; // 0x28943f0 /* 028943F0 */ _t230 = cpu->r[12] + 0x00000002u; /* 028943F0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t230); /* 028943F4 */ /* nop */ /* 028943F8 */ _t231 = cpu->r[12] + 0x00000006u; /* 028943F8 */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t231); /* 028943FC */ cpu->r[17] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[10]); /* 02894400 */ _t232 = cpu->r[12] + 0x00000004u; /* 02894400 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t232); /* 02894404 */ _t233 = cpu->r[4] + cpu->r[0]; /* 02894404 */ cpu->r[19] = rbrew_read8(cpu->mem, _t233); /* 02894408 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0289440C */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[26]); /* 02894410 */ _t234 = cpu->r[22] + cpu->r[10]; /* 02894410 */ cpu->r[18] = rbrew_read8(cpu->mem, _t234); /* 02894414 */ _t235 = cpu->r[8] + cpu->r[10]; /* 02894414 */ cpu->r[20] = rbrew_read8(cpu->mem, _t235); /* 02894418 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[25]); /* 0289441C */ _t236 = cpu->r[12] + 0x00000008u; /* 0289441C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t236); /* 02894420 */ _t237 = cpu->r[12] + 0x0000000Au; /* 02894420 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t237); /* 02894424 */ cpu->r[18] = cpu->r[19] & cpu->r[18]; /* 02894428 */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[27]); /* 0289442C */ cpu->r[23] = cpu->r[17] + cpu->r[23]; /* 02894430 */ /* nop */ /* 02894434 */ cpu->r[24] = cpu->r[23] + cpu->r[24]; /* 02894438 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[9]); /* 0289443C */ cpu->r[24] = cpu->r[24] + cpu->r[19]; /* 02894440 */ cpu->r[10] = cpu->r[24] + cpu->r[10]; /* 02894444 */ cpu->r[10] = cpu->r[10] + 0x00000080u; /* 02894448 */ /* nop */ /* 0289444C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u); /* 02894450 */ _t238 = cpu->r[5] + cpu->r[0]; /* 02894450 */ cpu->r[24] = rbrew_read8(cpu->mem, _t238); /* 02894454 */ _t239 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894454 */ _t240 = _t239 & 0x00000001u; /* 02894454 */ if (_t240) goto L_02894458; else goto L_0289445C; L_02894458: ; // 0x2894458 /* 02894458 */ cpu->r[10] = 0x00000003u; L_0289445C: ; // 0x289445c /* 0289445C */ /* nop */ /* 02894460 */ cpu->r[24] = cpu->r[24] | cpu->r[10]; /* 02894464 */ _t241 = cpu->r[5] + cpu->r[0]; /* 02894464 */ rbrew_write8(cpu->mem, _t241, (uint8_t)cpu->r[24]); /* 02894468 */ _t242 = cpu->r[30] + 0x00000018u; /* 02894468 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t242); L_0289446C: ; // 0x289446c /* 0289446C */ cpu->r[10] = cpu->r[25]; /* 02894470 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02894474 */ cpu->r[25] = cpu->r[26]; /* 02894478 */ /* nop */ /* 0289447C */ cpu->r[26] = cpu->r[27]; /* 02894480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 02894484 */ cpu->r[27] = cpu->r[9]; /* 02894488 */ _t243 = cpu->cr[0] >> (0x00000003u & 31u); /* 02894488 */ _t244 = _t243 & 0x00000001u; /* 02894488 */ if (_t244) goto L_02894360; else goto L_0289448C; L_0289448C: ; // 0x289448c /* 0289448C */ _t245 = cpu->r[12] + 0x00000002u; /* 0289448C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t245); /* 02894490 */ _t246 = cpu->r[12] + 0x00000004u; /* 02894490 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t246); /* 02894494 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[10]); /* 02894498 */ _t247 = cpu->r[12] + 0x00000006u; /* 02894498 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t247); /* 0289449C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[25]); /* 028944A0 */ _t248 = cpu->r[12] + 0x00000008u; /* 028944A0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t248); /* 028944A4 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[26]); /* 028944A8 */ cpu->r[23] = cpu->r[23] + cpu->r[10]; /* 028944AC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[27]); /* 028944B0 */ cpu->r[9] = cpu->r[23] + cpu->r[24]; /* 028944B4 */ cpu->r[10] = cpu->r[9] + cpu->r[10]; /* 028944B8 */ cpu->r[0] = cpu->r[10] + 0x00000080u; /* 028944BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 028944C0 */ /* nop */ /* 028944C4 */ _t249 = cpu->cr[0] >> (0x00000001u & 31u); /* 028944C4 */ _t250 = _t249 & 0x00000001u; /* 028944C4 */ if (_t250) goto L_028944C8; else goto L_02894564; L_028944C8: ; // 0x28944c8 /* 028944C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000000Fu); /* 028944CC */ _t251 = cpu->cr[0] >> (0x00000002u & 31u); /* 028944CC */ _t252 = _t251 & 0x00000001u; /* 028944CC */ if (_t252) goto L_028944D0; else goto L_028944D4; L_028944D0: ; // 0x28944d0 /* 028944D0 */ cpu->r[10] = 0x0000000Fu; L_028944D4: ; // 0x28944d4 /* 028944D4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028944D8 */ /* nop */ /* 028944DC */ _t253 = cpu->r[6] + cpu->r[9]; /* 028944DC */ cpu->r[24] = rbrew_read8(cpu->mem, _t253); /* 028944E0 */ _t254 = cpu->r[5] + cpu->r[0]; /* 028944E0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t254); /* 028944E4 */ /* nop */ /* 028944E8 */ cpu->r[9] = cpu->r[9] | cpu->r[10]; /* 028944EC */ _t255 = cpu->r[5] + cpu->r[0]; /* 028944EC */ rbrew_write8(cpu->mem, _t255, (uint8_t)cpu->r[9]); /* 028944F0 */ _t256 = cpu->r[12] + 0x00000006u; /* 028944F0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t256); /* 028944F4 */ _t257 = cpu->r[12] + 0x00000004u; /* 028944F4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t257); /* 028944F8 */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[26]); /* 028944FC */ cpu->r[25] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[25]); /* 02894500 */ _t258 = cpu->r[12] + 0x00000008u; /* 02894500 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t258); /* 02894504 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[27]); /* 02894508 */ cpu->r[9] = cpu->r[25] + cpu->r[26]; /* 0289450C */ cpu->r[10] = cpu->r[9] + cpu->r[10]; /* 02894510 */ cpu->r[0] = cpu->r[10] + 0x00000080u; /* 02894514 */ /* nop */ /* 02894518 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289451C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000000Fu); /* 02894520 */ /* nop */ /* 02894524 */ _t259 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894524 */ _t260 = _t259 & 0x00000001u; /* 02894524 */ if (_t260) goto L_02894528; else goto L_0289452C; L_02894528: ; // 0x2894528 /* 02894528 */ cpu->r[10] = 0x0000000Fu; L_0289452C: ; // 0x289452c /* 0289452C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02894530 */ /* nop */ /* 02894534 */ _t261 = cpu->r[6] + cpu->r[9]; /* 02894534 */ cpu->r[11] = rbrew_read8(cpu->mem, _t261); /* 02894538 */ _t262 = cpu->r[5] + cpu->r[0]; /* 02894538 */ cpu->r[9] = rbrew_read8(cpu->mem, _t262); /* 0289453C */ /* nop */ /* 02894540 */ cpu->r[9] = cpu->r[9] | cpu->r[10]; /* 02894544 */ _t263 = cpu->r[5] + cpu->r[0]; /* 02894544 */ rbrew_write8(cpu->mem, _t263, (uint8_t)cpu->r[9]); /* 02894548 */ _t264 = cpu->r[30] + 0x0000001Au; /* 02894548 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t264); /* 0289454C */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 02894550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 02894554 */ cpu->r[5] = cpu->r[5] + cpu->r[3]; /* 02894558 */ cpu->r[4] = cpu->r[4] + cpu->r[29]; /* 0289455C */ _t265 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289455C */ _t266 = _t265 & 0x00000001u; /* 0289455C */ if (_t266) goto L_02894260; else goto L_02894560; L_02894560: ; // 0x2894560 /* 02894560 */ goto L_02894678; L_02894564: ; // 0x2894564 /* 02894564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 02894568 */ _t267 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894568 */ _t268 = _t267 & 0x00000001u; /* 02894568 */ if (_t268) goto L_0289456C; else goto L_028945D8; L_0289456C: ; // 0x289456c /* 0289456C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu); /* 02894570 */ _t269 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894570 */ _t270 = _t269 & 0x00000001u; /* 02894570 */ if (_t270) goto L_02894574; else goto L_02894578; L_02894574: ; // 0x2894574 /* 02894574 */ cpu->r[10] = 0x000000FFu; L_02894578: ; // 0x2894578 /* 02894578 */ _t271 = cpu->r[5] + cpu->r[11]; /* 02894578 */ rbrew_write8(cpu->mem, _t271, (uint8_t)cpu->r[10]); /* 0289457C */ _t272 = cpu->r[12] + 0x00000006u; /* 0289457C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t272); /* 02894580 */ _t273 = cpu->r[12] + 0x00000004u; /* 02894580 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t273); /* 02894584 */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[26]); /* 02894588 */ cpu->r[25] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[25]); /* 0289458C */ _t274 = cpu->r[12] + 0x00000008u; /* 0289458C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t274); /* 02894590 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[27]); /* 02894594 */ cpu->r[9] = cpu->r[25] + cpu->r[26]; /* 02894598 */ cpu->r[10] = cpu->r[9] + cpu->r[10]; /* 0289459C */ cpu->r[0] = cpu->r[10] + 0x00000080u; /* 028945A0 */ /* nop */ /* 028945A4 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028945A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu); /* 028945AC */ /* nop */ /* 028945B0 */ _t275 = cpu->cr[0] >> (0x00000002u & 31u); /* 028945B0 */ _t276 = _t275 & 0x00000001u; /* 028945B0 */ if (_t276) goto L_028945B4; else goto L_028945B8; L_028945B4: ; // 0x28945b4 /* 028945B4 */ cpu->r[10] = 0x000000FFu; L_028945B8: ; // 0x28945b8 /* 028945B8 */ _t277 = cpu->r[5] + cpu->r[11]; /* 028945B8 */ rbrew_write8(cpu->mem, _t277, (uint8_t)cpu->r[10]); /* 028945BC */ _t278 = cpu->r[30] + 0x0000001Au; /* 028945BC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t278); /* 028945C0 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028945C4 */ cpu->r[5] = cpu->r[5] + cpu->r[3]; /* 028945C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 028945CC */ cpu->r[4] = cpu->r[4] + cpu->r[29]; /* 028945D0 */ _t279 = cpu->cr[0] >> (0x00000003u & 31u); /* 028945D0 */ _t280 = _t279 & 0x00000001u; /* 028945D0 */ if (_t280) goto L_02894260; else goto L_028945D4; L_028945D4: ; // 0x28945d4 /* 028945D4 */ goto L_02894678; L_028945D8: ; // 0x28945d8 /* 028945D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 028945DC */ _t281 = cpu->cr[0] >> (0x00000001u & 31u); /* 028945DC */ _t282 = _t281 & 0x00000001u; /* 028945DC */ if (_t282) goto L_028945E0; else goto L_02894660; L_028945E0: ; // 0x28945e0 /* 028945E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u); /* 028945E4 */ _t283 = cpu->cr[0] >> (0x00000002u & 31u); /* 028945E4 */ _t284 = _t283 & 0x00000001u; /* 028945E4 */ if (_t284) goto L_028945E8; else goto L_028945EC; L_028945E8: ; // 0x28945e8 /* 028945E8 */ cpu->r[10] = 0x00000003u; L_028945EC: ; // 0x28945ec /* 028945EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028945F0 */ /* nop */ /* 028945F4 */ _t285 = cpu->r[8] + cpu->r[9]; /* 028945F4 */ cpu->r[24] = rbrew_read8(cpu->mem, _t285); /* 028945F8 */ _t286 = cpu->r[5] + cpu->r[0]; /* 028945F8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t286); /* 028945FC */ /* nop */ /* 02894600 */ cpu->r[9] = cpu->r[9] | cpu->r[10]; /* 02894604 */ _t287 = cpu->r[5] + cpu->r[0]; /* 02894604 */ rbrew_write8(cpu->mem, _t287, (uint8_t)cpu->r[9]); /* 02894608 */ _t288 = cpu->r[12] + 0x00000004u; /* 02894608 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t288); /* 0289460C */ _t289 = cpu->r[12] + 0x00000006u; /* 0289460C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t289); /* 02894610 */ cpu->r[25] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[25]); /* 02894614 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[26]); /* 02894618 */ _t290 = cpu->r[12] + 0x00000008u; /* 02894618 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t290); /* 0289461C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[27]); /* 02894620 */ cpu->r[10] = cpu->r[25] + cpu->r[10]; /* 02894624 */ cpu->r[10] = cpu->r[10] + cpu->r[0]; /* 02894628 */ cpu->r[0] = cpu->r[10] + 0x00000080u; /* 0289462C */ /* nop */ /* 02894630 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02894634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u); /* 02894638 */ /* nop */ /* 0289463C */ _t291 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289463C */ _t292 = _t291 & 0x00000001u; /* 0289463C */ if (_t292) goto L_02894640; else goto L_02894644; L_02894640: ; // 0x2894640 /* 02894640 */ cpu->r[10] = 0x00000003u; L_02894644: ; // 0x2894644 /* 02894644 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02894648 */ /* nop */ /* 0289464C */ _t293 = cpu->r[8] + cpu->r[9]; /* 0289464C */ cpu->r[11] = rbrew_read8(cpu->mem, _t293); /* 02894650 */ _t294 = cpu->r[5] + cpu->r[0]; /* 02894650 */ cpu->r[9] = rbrew_read8(cpu->mem, _t294); /* 02894654 */ /* nop */ /* 02894658 */ cpu->r[9] = cpu->r[9] | cpu->r[10]; /* 0289465C */ _t295 = cpu->r[5] + cpu->r[0]; /* 0289465C */ rbrew_write8(cpu->mem, _t295, (uint8_t)cpu->r[9]); L_02894660: ; // 0x2894660 /* 02894660 */ _t296 = cpu->r[30] + 0x0000001Au; /* 02894660 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t296); /* 02894664 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 02894668 */ cpu->r[5] = cpu->r[5] + cpu->r[3]; /* 0289466C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 02894670 */ cpu->r[4] = cpu->r[4] + cpu->r[29]; /* 02894674 */ _t297 = cpu->cr[0] >> (0x00000003u & 31u); /* 02894674 */ _t298 = _t297 & 0x00000001u; /* 02894674 */ if (_t298) goto L_02894260; else goto L_02894678; L_02894678: ; // 0x2894678 /* 02894678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000001u); /* 0289467C */ _t299 = cpu->r[1] + 0x00000008u; /* 0289467C */ cpu->r[12] = rbrew_read32(cpu->mem, _t299); /* 02894680 */ _t300 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894680 */ _t301 = _t300 & 0x00000001u; /* 02894680 */ if (_t301) goto L_02894684; else goto L_02894A20; L_02894684: ; // 0x2894684 /* 02894684 */ _t302 = cpu->r[1] + 0x00000010u; /* 02894684 */ cpu->r[8] = rbrew_read32(cpu->mem, _t302); /* 02894688 */ _t303 = cpu->r[1] + 0x00000018u; /* 02894688 */ cpu->r[18] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t303); /* 0289468C */ _t304 = cpu->r[8] + 0x0000001Cu; /* 0289468C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t304); /* 02894690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 02894694 */ cpu->r[11] = 0x00000000u; /* 02894698 */ _t305 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894698 */ _t306 = _t305 & 0x00000001u; /* 02894698 */ if (_t306) goto L_0289469C; else goto L_02894F68; L_0289469C: ; // 0x289469c /* 0289469C */ _t307 = cpu->r[1] + 0x00000010u; /* 0289469C */ cpu->r[7] = rbrew_read32(cpu->mem, _t307); /* 028946A0 */ cpu->r[24] = cpu->r[1] + 0x00000024u; /* 028946A4 */ cpu->r[20] = cpu->r[1] + 0x0000002Cu; /* 028946A8 */ cpu->r[21] = cpu->r[1] + 0x00000026u; /* 028946AC */ cpu->r[22] = cpu->r[7] + 0x00000024u; /* 028946B0 */ cpu->r[23] = cpu->r[1] + 0x00000028u; L_028946B4: ; // 0x28946b4 /* 028946B4 */ cpu->r[27] = 0x00000000u; /* 028946B8 */ cpu->r[28] = cpu->r[22]; /* 028946BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 028946C0 */ cpu->r[25] = cpu->r[27]; /* 028946C4 */ cpu->r[0] = 0x00000001u; /* 028946C8 */ cpu->r[5] = cpu->r[28]; /* 028946CC */ _t308 = cpu->cr[0] >> (0x00000001u & 31u); /* 028946CC */ _t309 = _t308 & 0x00000001u; /* 028946CC */ if (_t309) goto L_028946D0; else goto L_02894700; L_028946D0: ; // 0x28946d0 /* 028946D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028946D4 */ /* nop */ /* 028946D8 */ _t310 = cpu->r[21] + cpu->r[9]; /* 028946D8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t310); /* 028946DC */ _t311 = cpu->r[28] + cpu->r[7]; /* 028946DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t311); /* 028946E0 */ cpu->r[28] = cpu->r[28] + cpu->r[4]; /* 028946E4 */ _t312 = cpu->r[24] + cpu->r[9]; /* 028946E4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t312); /* 028946E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 028946EC */ cpu->r[8] = cpu->r[10] & cpu->r[6]; /* 028946F0 */ cpu->r[9] = cpu->r[14] + 0xFFFFFFFFu; /* 028946F4 */ /* nop */ /* 028946F8 */ _t313 = cpu->cr[0] >> (0x00000001u & 31u); /* 028946F8 */ _t314 = _t313 & 0x00000001u; /* 028946F8 */ if (_t314) goto L_028946FC; else goto L_028947D8; L_028946FC: ; // 0x28946fc /* 028946FC */ goto L_02894754; L_02894700: ; // 0x2894700 /* 02894700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 02894704 */ _t315 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894704 */ _t316 = _t315 & 0x00000001u; /* 02894704 */ if (_t316) goto L_02894708; else goto L_02894720; L_02894708: ; // 0x2894708 /* 02894708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 0289470C */ cpu->r[9] = cpu->r[14] + 0xFFFFFFFFu; /* 02894710 */ _t317 = cpu->r[28] + cpu->r[11]; /* 02894710 */ cpu->r[27] = rbrew_read8(cpu->mem, _t317); /* 02894714 */ cpu->r[28] = cpu->r[28] + cpu->r[4]; /* 02894718 */ _t318 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894718 */ _t319 = _t318 & 0x00000001u; /* 02894718 */ if (_t319) goto L_0289471C; else goto L_028947D8; L_0289471C: ; // 0x289471c /* 0289471C */ goto L_02894754; L_02894720: ; // 0x2894720 /* 02894720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 02894724 */ _t320 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894724 */ _t321 = _t320 & 0x00000001u; /* 02894724 */ if (_t321) goto L_02894728; else goto L_02894744; L_02894728: ; // 0x2894728 /* 02894728 */ /* nop */ /* 0289472C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02894730 */ _t322 = cpu->r[28] + cpu->r[8]; /* 02894730 */ cpu->r[6] = rbrew_read8(cpu->mem, _t322); /* 02894734 */ _t323 = cpu->r[20] + cpu->r[10]; /* 02894734 */ cpu->r[7] = rbrew_read8(cpu->mem, _t323); /* 02894738 */ cpu->r[9] = cpu->r[6] & cpu->r[7]; /* 0289473C */ _t324 = cpu->r[23] + cpu->r[10]; /* 0289473C */ cpu->r[8] = rbrew_read8(cpu->mem, _t324); /* 02894740 */ /* nop */ L_02894744: ; // 0x2894744 /* 02894744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 02894748 */ cpu->r[9] = cpu->r[14] + 0xFFFFFFFFu; /* 0289474C */ cpu->r[28] = cpu->r[28] + cpu->r[4]; /* 02894750 */ _t325 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894750 */ _t326 = _t325 & 0x00000001u; /* 02894750 */ if (_t326) goto L_02894754; else goto L_028947D8; L_02894754: ; // 0x2894754 /* 02894754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02894758 */ _t327 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894758 */ _t328 = _t327 & 0x00000001u; /* 02894758 */ if (_t328) goto L_0289475C; else goto L_02894924; L_0289475C: ; // 0x289475c /* 0289475C */ cpu->ctr = cpu->r[9]; L_02894760: ; // 0x2894760 /* 02894760 */ _t329 = cpu->r[12] + 0x00000002u; /* 02894760 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t329); /* 02894764 */ _t330 = cpu->r[12] + 0x00000004u; /* 02894764 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t330); /* 02894768 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[0]); /* 0289476C */ _t331 = cpu->r[12] + 0x00000006u; /* 0289476C */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t331); /* 02894770 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[27]); /* 02894774 */ _t332 = cpu->r[28] + cpu->r[11]; /* 02894774 */ cpu->r[25] = rbrew_read8(cpu->mem, _t332); /* 02894778 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[25]); /* 0289477C */ cpu->r[9] = cpu->r[9] + cpu->r[0]; /* 02894780 */ cpu->r[7] = cpu->r[9] + cpu->r[10]; /* 02894784 */ cpu->r[8] = cpu->r[7] + 0x00000080u; /* 02894788 */ /* nop */ /* 0289478C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x000000FFu); /* 02894790 */ _t333 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894790 */ _t334 = _t333 & 0x00000001u; /* 02894790 */ if (_t334) goto L_02894794; else goto L_02894798; L_02894794: ; // 0x2894794 /* 02894794 */ cpu->r[19] = 0x000000FFu; L_02894798: ; // 0x2894798 /* 02894798 */ cpu->r[0] = cpu->r[27]; /* 0289479C */ cpu->r[27] = cpu->r[25]; /* 028947A0 */ cpu->r[28] = cpu->r[28] + cpu->r[4]; /* 028947A4 */ _t335 = cpu->r[5] + cpu->r[11]; /* 028947A4 */ rbrew_write8(cpu->mem, _t335, (uint8_t)cpu->r[19]); /* 028947A8 */ cpu->r[5] = cpu->r[5] + cpu->r[4]; /* 028947AC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028947AC */ _t336 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028947AC */ _t337 = _t336 >> (0x00000002u & 31u); /* 028947AC */ _t338 = _t337 & 0x00000001u; /* 028947AC */ if (_t338) goto L_02894760; else goto L_028947B0; L_028947B0: ; // 0x28947b0 /* 028947B0 */ _t339 = cpu->r[12] + 0x00000002u; /* 028947B0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t339); /* 028947B4 */ _t340 = cpu->r[12] + 0x00000004u; /* 028947B4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t340); /* 028947B8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[0]); /* 028947BC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[27]); /* 028947C0 */ cpu->r[10] = cpu->r[9] + cpu->r[0]; /* 028947C4 */ cpu->r[0] = cpu->r[10] + 0x00000080u; /* 028947C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 028947CC */ /* nop */ /* 028947D0 */ _t341 = cpu->cr[0] >> (0x00000001u & 31u); /* 028947D0 */ _t342 = _t341 & 0x00000001u; /* 028947D0 */ if (_t342) goto L_028947D4; else goto L_02894994; L_028947D4: ; // 0x28947d4 /* 028947D4 */ goto L_02894948; L_028947D8: ; // 0x28947d8 /* 028947D8 */ cpu->r[19] = cpu->r[9]; /* 028947D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 028947DC */ _t343 = cpu->cr[0] >> (0x00000002u & 31u); /* 028947DC */ _t344 = _t343 & 0x00000001u; /* 028947DC */ if (_t344) goto L_028947E0; else goto L_02894924; L_028947E0: ; // 0x28947e0 /* 028947E0 */ /* nop */ /* 028947E4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028947E8 */ _t345 = cpu->r[1] + 0x00000014u; /* 028947E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t345); /* 028947EC */ /* nop */ /* 028947F0 */ cpu->r[3] = cpu->r[24] + cpu->r[9]; /* 028947F4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028947F8 */ cpu->r[8] = cpu->r[6] + cpu->r[9]; /* 028947FC */ cpu->r[9] = cpu->r[21] + cpu->r[9]; /* 02894800 */ cpu->r[7] = cpu->r[15] + cpu->r[10]; /* 02894804 */ cpu->r[6] = cpu->r[23] + cpu->r[10]; /* 02894808 */ cpu->ctr = cpu->r[19]; /* 0289480C */ cpu->r[10] = cpu->r[20] + cpu->r[10]; L_02894810: ; // 0x2894810 /* 02894810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 02894814 */ _t346 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894814 */ _t347 = _t346 & 0x00000001u; /* 02894814 */ if (_t347) goto L_02894818; else goto L_0289489C; L_02894818: ; // 0x2894818 /* 02894818 */ _t348 = cpu->r[12] + 0x00000002u; /* 02894818 */ cpu->r[19] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t348); /* 0289481C */ _t349 = cpu->r[28] + cpu->r[26]; /* 0289481C */ cpu->r[16] = rbrew_read8(cpu->mem, _t349); /* 02894820 */ cpu->r[17] = (uint32_t)((int32_t)cpu->r[19] * (int32_t)cpu->r[0]); /* 02894824 */ _t350 = cpu->r[12] + 0x00000004u; /* 02894824 */ cpu->r[19] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t350); /* 02894828 */ _t351 = cpu->r[9] + 0x00000000u; /* 02894828 */ cpu->r[0] = rbrew_read8(cpu->mem, _t351); /* 0289482C */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[19] * (int32_t)cpu->r[27]); /* 02894830 */ _t352 = cpu->r[3] + 0x00000000u; /* 02894830 */ cpu->r[25] = rbrew_read8(cpu->mem, _t352); /* 02894834 */ cpu->r[16] = cpu->r[16] & cpu->r[0]; /* 02894838 */ _t353 = cpu->r[12] + 0x00000006u; /* 02894838 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t353); /* 0289483C */ /* nop */ /* 02894840 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[25]); /* 02894844 */ cpu->r[19] = cpu->r[17] + cpu->r[19]; /* 02894848 */ cpu->r[19] = cpu->r[19] + cpu->r[0]; /* 0289484C */ cpu->r[0] = cpu->r[19] + 0x00000080u; /* 02894850 */ /* nop */ /* 02894854 */ _t354 = cpu->r[5] + cpu->r[26]; /* 02894854 */ cpu->r[17] = rbrew_read8(cpu->mem, _t354); /* 02894858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x0000000Fu); /* 0289485C */ _t355 = cpu->r[8] + 0x00000000u; /* 0289485C */ cpu->r[0] = rbrew_read8(cpu->mem, _t355); /* 02894860 */ _t356 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894860 */ _t357 = _t356 & 0x00000001u; /* 02894860 */ if (_t357) goto L_02894864; else goto L_02894868; L_02894864: ; // 0x2894864 /* 02894864 */ cpu->r[19] = 0x0000000Fu; L_02894868: ; // 0x2894868 /* 02894868 */ cpu->r[17] = cpu->r[17] & cpu->r[0]; /* 0289486C */ _t358 = cpu->r[5] + cpu->r[26]; /* 0289486C */ rbrew_write8(cpu->mem, _t358, (uint8_t)cpu->r[17]); /* 02894870 */ _t359 = cpu->r[3] + 0x00000000u; /* 02894870 */ cpu->r[17] = rbrew_read8(cpu->mem, _t359); /* 02894874 */ /* nop */ /* 02894878 */ _t360 = cpu->r[5] + cpu->r[26]; /* 02894878 */ cpu->r[0] = rbrew_read8(cpu->mem, _t360); /* 0289487C */ cpu->r[0] = cpu->r[0] | cpu->r[19]; /* 02894880 */ cpu->r[28] = cpu->r[28] + cpu->r[4]; /* 02894884 */ _t361 = cpu->r[5] + cpu->r[26]; /* 02894884 */ rbrew_write8(cpu->mem, _t361, (uint8_t)cpu->r[0]); /* 02894888 */ cpu->r[0] = cpu->r[27]; /* 0289488C */ cpu->r[27] = cpu->r[25]; /* 02894890 */ cpu->r[5] = cpu->r[5] + cpu->r[4]; /* 02894894 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02894894 */ _t362 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02894894 */ _t363 = _t362 >> (0x00000002u & 31u); /* 02894894 */ _t364 = _t363 & 0x00000001u; /* 02894894 */ if (_t364) goto L_02894810; else goto L_02894898; L_02894898: ; // 0x2894898 /* 02894898 */ goto L_02894924; L_0289489C: ; // 0x289489c /* 0289489C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 028948A0 */ _t365 = cpu->cr[0] >> (0x00000001u & 31u); /* 028948A0 */ _t366 = _t365 & 0x00000001u; /* 028948A0 */ if (_t366) goto L_028948A4; else goto L_02894910; L_028948A4: ; // 0x28948a4 /* 028948A4 */ _t367 = cpu->r[12] + 0x00000002u; /* 028948A4 */ cpu->r[19] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t367); /* 028948A8 */ _t368 = cpu->r[28] + cpu->r[29]; /* 028948A8 */ cpu->r[16] = rbrew_read8(cpu->mem, _t368); /* 028948AC */ cpu->r[17] = (uint32_t)((int32_t)cpu->r[19] * (int32_t)cpu->r[0]); /* 028948B0 */ _t369 = cpu->r[12] + 0x00000004u; /* 028948B0 */ cpu->r[19] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t369); /* 028948B4 */ _t370 = cpu->r[10] + 0x00000000u; /* 028948B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t370); /* 028948B8 */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[19] * (int32_t)cpu->r[27]); /* 028948BC */ _t371 = cpu->r[6] + 0x00000000u; /* 028948BC */ cpu->r[25] = rbrew_read8(cpu->mem, _t371); /* 028948C0 */ cpu->r[16] = cpu->r[16] & cpu->r[0]; /* 028948C4 */ _t372 = cpu->r[12] + 0x00000006u; /* 028948C4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t372); /* 028948C8 */ /* nop */ /* 028948CC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[25]); /* 028948D0 */ cpu->r[19] = cpu->r[17] + cpu->r[19]; /* 028948D4 */ cpu->r[19] = cpu->r[19] + cpu->r[0]; /* 028948D8 */ cpu->r[19] = cpu->r[19] + 0x00000080u; /* 028948DC */ /* nop */ /* 028948E0 */ _t373 = cpu->r[5] + cpu->r[29]; /* 028948E0 */ cpu->r[17] = rbrew_read8(cpu->mem, _t373); /* 028948E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000003u); /* 028948E8 */ _t374 = cpu->r[7] + 0x00000000u; /* 028948E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t374); /* 028948EC */ _t375 = cpu->cr[0] >> (0x00000002u & 31u); /* 028948EC */ _t376 = _t375 & 0x00000001u; /* 028948EC */ if (_t376) goto L_028948F0; else goto L_028948F4; L_028948F0: ; // 0x28948f0 /* 028948F0 */ cpu->r[19] = 0x00000003u; L_028948F4: ; // 0x28948f4 /* 028948F4 */ cpu->r[17] = cpu->r[17] & cpu->r[0]; /* 028948F8 */ _t377 = cpu->r[5] + cpu->r[29]; /* 028948F8 */ rbrew_write8(cpu->mem, _t377, (uint8_t)cpu->r[17]); /* 028948FC */ _t378 = cpu->r[6] + 0x00000000u; /* 028948FC */ cpu->r[17] = rbrew_read8(cpu->mem, _t378); /* 02894900 */ /* nop */ /* 02894904 */ _t379 = cpu->r[5] + cpu->r[29]; /* 02894904 */ cpu->r[0] = rbrew_read8(cpu->mem, _t379); /* 02894908 */ cpu->r[0] = cpu->r[0] | cpu->r[19]; /* 0289490C */ _t380 = cpu->r[5] + cpu->r[29]; /* 0289490C */ rbrew_write8(cpu->mem, _t380, (uint8_t)cpu->r[0]); L_02894910: ; // 0x2894910 /* 02894910 */ cpu->r[0] = cpu->r[27]; /* 02894914 */ cpu->r[27] = cpu->r[25]; /* 02894918 */ cpu->r[28] = cpu->r[28] + cpu->r[4]; /* 0289491C */ cpu->r[5] = cpu->r[5] + cpu->r[4]; /* 02894920 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02894920 */ _t381 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02894920 */ _t382 = _t381 >> (0x00000002u & 31u); /* 02894920 */ _t383 = _t382 & 0x00000001u; /* 02894920 */ if (_t383) goto L_02894810; else goto L_02894924; L_02894924: ; // 0x2894924 /* 02894924 */ _t384 = cpu->r[12] + 0x00000002u; /* 02894924 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t384); /* 02894928 */ _t385 = cpu->r[12] + 0x00000004u; /* 02894928 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t385); /* 0289492C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[0]); /* 02894930 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[27]); /* 02894934 */ cpu->r[10] = cpu->r[9] + cpu->r[0]; /* 02894938 */ cpu->r[0] = cpu->r[10] + 0x00000080u; /* 0289493C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 02894940 */ /* nop */ /* 02894944 */ _t386 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894944 */ _t387 = _t386 & 0x00000001u; /* 02894944 */ if (_t387) goto L_02894948; else goto L_02894994; L_02894948: ; // 0x2894948 /* 02894948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x0000000Fu); /* 0289494C */ _t388 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289494C */ _t389 = _t388 & 0x00000001u; /* 0289494C */ if (_t389) goto L_02894950; else goto L_02894954; L_02894950: ; // 0x2894950 /* 02894950 */ cpu->r[19] = 0x0000000Fu; L_02894954: ; // 0x2894954 /* 02894954 */ _t390 = cpu->r[1] + 0x00000014u; /* 02894954 */ cpu->r[10] = rbrew_read32(cpu->mem, _t390); /* 02894958 */ /* nop */ /* 0289495C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02894960 */ _t391 = cpu->r[5] + cpu->r[0]; /* 02894960 */ cpu->r[6] = rbrew_read8(cpu->mem, _t391); /* 02894964 */ _t392 = cpu->r[10] + cpu->r[9]; /* 02894964 */ cpu->r[7] = rbrew_read8(cpu->mem, _t392); /* 02894968 */ cpu->r[6] = cpu->r[6] & cpu->r[7]; /* 0289496C */ _t393 = cpu->r[5] + cpu->r[0]; /* 0289496C */ rbrew_write8(cpu->mem, _t393, (uint8_t)cpu->r[6]); /* 02894970 */ _t394 = cpu->r[24] + cpu->r[9]; /* 02894970 */ cpu->r[10] = rbrew_read8(cpu->mem, _t394); /* 02894974 */ /* nop */ /* 02894978 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289497C */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu; /* 0289497C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 02894980 */ cpu->r[6] = cpu->r[6] | cpu->r[8]; /* 02894984 */ /* nop */ /* 02894988 */ _t395 = cpu->r[5] + cpu->r[0]; /* 02894988 */ rbrew_write8(cpu->mem, _t395, (uint8_t)cpu->r[6]); /* 0289498C */ _t396 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289498C */ _t397 = _t396 & 0x00000001u; /* 0289498C */ if (_t397) goto L_02894990; else goto L_028946B4; L_02894990: ; // 0x2894990 /* 02894990 */ goto L_02894A0C; L_02894994: ; // 0x2894994 /* 02894994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 02894998 */ _t398 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894998 */ _t399 = _t398 & 0x00000001u; /* 02894998 */ if (_t399) goto L_0289499C; else goto L_028949C0; L_0289499C: ; // 0x289499c /* 0289499C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x000000FFu); /* 028949A0 */ _t400 = cpu->cr[0] >> (0x00000002u & 31u); /* 028949A0 */ _t401 = _t400 & 0x00000001u; /* 028949A0 */ if (_t401) goto L_028949A4; else goto L_028949A8; L_028949A4: ; // 0x28949a4 /* 028949A4 */ cpu->r[19] = 0x000000FFu; L_028949A8: ; // 0x28949a8 /* 028949A8 */ _t402 = cpu->r[5] + cpu->r[11]; /* 028949A8 */ rbrew_write8(cpu->mem, _t402, (uint8_t)cpu->r[19]); /* 028949AC */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028949B0 */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu; /* 028949B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 028949B4 */ /* nop */ /* 028949B8 */ _t403 = cpu->cr[0] >> (0x00000001u & 31u); /* 028949B8 */ _t404 = _t403 & 0x00000001u; /* 028949B8 */ if (_t404) goto L_028949BC; else goto L_028946B4; L_028949BC: ; // 0x28949bc /* 028949BC */ goto L_02894A0C; L_028949C0: ; // 0x28949c0 /* 028949C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 028949C4 */ _t405 = cpu->cr[0] >> (0x00000001u & 31u); /* 028949C4 */ _t406 = _t405 & 0x00000001u; /* 028949C4 */ if (_t406) goto L_028949C8; else goto L_028949FC; L_028949C8: ; // 0x28949c8 /* 028949C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000003u); /* 028949CC */ _t407 = cpu->cr[0] >> (0x00000002u & 31u); /* 028949CC */ _t408 = _t407 & 0x00000001u; /* 028949CC */ if (_t408) goto L_028949D0; else goto L_028949D4; L_028949D0: ; // 0x28949d0 /* 028949D0 */ cpu->r[19] = 0x00000003u; L_028949D4: ; // 0x28949d4 /* 028949D4 */ /* nop */ /* 028949D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028949DC */ _t409 = cpu->r[5] + cpu->r[0]; /* 028949DC */ cpu->r[7] = rbrew_read8(cpu->mem, _t409); /* 028949E0 */ _t410 = cpu->r[15] + cpu->r[10]; /* 028949E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t410); /* 028949E4 */ cpu->r[7] = cpu->r[7] & cpu->r[8]; /* 028949E8 */ _t411 = cpu->r[5] + cpu->r[0]; /* 028949E8 */ rbrew_write8(cpu->mem, _t411, (uint8_t)cpu->r[7]); /* 028949EC */ _t412 = cpu->r[23] + cpu->r[10]; /* 028949EC */ cpu->r[6] = rbrew_read8(cpu->mem, _t412); /* 028949F0 */ /* nop */ /* 028949F4 */ cpu->r[7] = cpu->r[7] | cpu->r[9]; /* 028949F8 */ _t413 = cpu->r[5] + cpu->r[0]; /* 028949F8 */ rbrew_write8(cpu->mem, _t413, (uint8_t)cpu->r[7]); L_028949FC: ; // 0x28949fc /* 028949FC */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02894A00 */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu; /* 02894A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 02894A04 */ /* nop */ /* 02894A08 */ _t414 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894A08 */ _t415 = _t414 & 0x00000001u; /* 02894A08 */ if (_t415) goto L_02894A0C; else goto L_028946B4; L_02894A0C: ; // 0x2894a0c /* 02894A0C */ _t416 = cpu->r[1] + 0x0000000Cu; /* 02894A0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t416); /* 02894A10 */ cpu->r[4] = cpu->r[30]; /* 02894A14 */ Gambit_fn_02872988(cpu); /* 02894A18 */ _t417 = cpu->r[1] + 0x00000010u; /* 02894A18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t417); /* 02894A1C */ goto L_02894F78; L_02894A20: ; // 0x2894a20 /* 02894A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000002u); /* 02894A24 */ _t418 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894A24 */ _t419 = _t418 & 0x00000001u; /* 02894A24 */ if (_t419) goto L_02894A28; else goto L_02894F68; L_02894A28: ; // 0x2894a28 /* 02894A28 */ _t420 = cpu->r[1] + 0x00000010u; /* 02894A28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t420); /* 02894A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 02894A30 */ _t421 = cpu->r[1] + 0x00000018u; /* 02894A30 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t421); /* 02894A34 */ cpu->r[11] = 0x00000000u; /* 02894A38 */ _t422 = cpu->r[9] + 0x0000001Cu; /* 02894A38 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t422); /* 02894A3C */ _t423 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894A3C */ _t424 = _t423 & 0x00000001u; /* 02894A3C */ if (_t424) goto L_02894A40; else goto L_02894B8C; L_02894A40: ; // 0x2894a40 /* 02894A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02894A44 */ _t425 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894A44 */ _t426 = _t425 & 0x00000001u; /* 02894A44 */ if (_t426) goto L_02894A48; else goto L_02894F68; L_02894A48: ; // 0x2894a48 /* 02894A48 */ _t427 = cpu->r[1] + 0x00000010u; /* 02894A48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t427); /* 02894A4C */ cpu->r[22] = cpu->r[8] + 0x00000024u; L_02894A50: ; // 0x2894a50 /* 02894A50 */ cpu->r[7] = cpu->r[22]; /* 02894A54 */ cpu->r[8] = 0x00000000u; /* 02894A58 */ cpu->r[27] = cpu->r[22] + cpu->r[6]; /* 02894A5C */ _t428 = cpu->r[22] + cpu->r[11]; /* 02894A5C */ cpu->r[4] = rbrew_read8(cpu->mem, _t428); /* 02894A60 */ cpu->r[3] = cpu->r[8]; /* 02894A64 */ cpu->r[0] = cpu->r[14] + 0xFFFFFFFEu; /* 02894A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02894A68 */ _t429 = cpu->r[27] + cpu->r[11]; /* 02894A68 */ cpu->r[5] = rbrew_read8(cpu->mem, _t429); /* 02894A6C */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 02894A70 */ _t430 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894A70 */ _t431 = _t430 & 0x00000001u; /* 02894A70 */ if (_t431) goto L_02894A74; else goto L_02894AE8; L_02894A74: ; // 0x2894a74 /* 02894A74 */ cpu->ctr = cpu->r[0]; L_02894A78: ; // 0x2894a78 /* 02894A78 */ _t432 = cpu->r[12] + 0x00000002u; /* 02894A78 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t432); /* 02894A7C */ _t433 = cpu->r[12] + 0x00000004u; /* 02894A7C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t433); /* 02894A80 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[8]); /* 02894A84 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[3]); /* 02894A88 */ _t434 = cpu->r[12] + 0x00000006u; /* 02894A88 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t434); /* 02894A8C */ _t435 = cpu->r[27] + cpu->r[11]; /* 02894A8C */ cpu->r[24] = rbrew_read8(cpu->mem, _t435); /* 02894A90 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[4]); /* 02894A94 */ _t436 = cpu->r[12] + 0x00000008u; /* 02894A94 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t436); /* 02894A98 */ cpu->r[29] = cpu->r[29] + cpu->r[8]; /* 02894A9C */ _t437 = cpu->r[12] + 0x0000000Au; /* 02894A9C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t437); /* 02894AA0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[5]); /* 02894AA4 */ cpu->r[9] = cpu->r[29] + cpu->r[31]; /* 02894AA8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[24]); /* 02894AAC */ cpu->r[8] = cpu->r[9] + cpu->r[8]; /* 02894AB0 */ cpu->r[9] = cpu->r[8] + cpu->r[0]; /* 02894AB4 */ cpu->r[8] = cpu->r[9] + 0x00000080u; /* 02894AB8 */ /* nop */ /* 02894ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x000000FFu); /* 02894AC0 */ _t438 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894AC0 */ _t439 = _t438 & 0x00000001u; /* 02894AC0 */ if (_t439) goto L_02894AC4; else goto L_02894AC8; L_02894AC4: ; // 0x2894ac4 /* 02894AC4 */ cpu->r[29] = 0x000000FFu; L_02894AC8: ; // 0x2894ac8 /* 02894AC8 */ cpu->r[8] = cpu->r[3]; /* 02894ACC */ cpu->r[3] = cpu->r[4]; /* 02894AD0 */ cpu->r[4] = cpu->r[5]; /* 02894AD4 */ cpu->r[5] = cpu->r[24]; /* 02894AD8 */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 02894ADC */ _t440 = cpu->r[7] + cpu->r[11]; /* 02894ADC */ rbrew_write8(cpu->mem, _t440, (uint8_t)cpu->r[29]); /* 02894AE0 */ cpu->r[7] = cpu->r[7] + cpu->r[6]; /* 02894AE4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02894AE4 */ _t441 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02894AE4 */ _t442 = _t441 >> (0x00000002u & 31u); /* 02894AE4 */ _t443 = _t442 & 0x00000001u; /* 02894AE4 */ if (_t443) goto L_02894A78; else goto L_02894AE8; L_02894AE8: ; // 0x2894ae8 /* 02894AE8 */ _t444 = cpu->r[12] + 0x00000002u; /* 02894AE8 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t444); /* 02894AEC */ _t445 = cpu->r[12] + 0x00000004u; /* 02894AEC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t445); /* 02894AF0 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[8]); /* 02894AF4 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[3]); /* 02894AF8 */ _t446 = cpu->r[12] + 0x00000006u; /* 02894AF8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t446); /* 02894AFC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[4]); /* 02894B00 */ _t447 = cpu->r[12] + 0x00000008u; /* 02894B00 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t447); /* 02894B04 */ cpu->r[31] = cpu->r[29] + cpu->r[31]; /* 02894B08 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[5]); /* 02894B0C */ cpu->r[9] = cpu->r[31] + cpu->r[9]; /* 02894B10 */ cpu->r[9] = cpu->r[9] + cpu->r[8]; /* 02894B14 */ cpu->r[8] = cpu->r[9] + 0x00000080u; /* 02894B18 */ /* nop */ /* 02894B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x000000FFu); /* 02894B20 */ _t448 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894B20 */ _t449 = _t448 & 0x00000001u; /* 02894B20 */ if (_t449) goto L_02894B24; else goto L_02894B28; L_02894B24: ; // 0x2894b24 /* 02894B24 */ cpu->r[29] = 0x000000FFu; L_02894B28: ; // 0x2894b28 /* 02894B28 */ _t450 = cpu->r[7] + cpu->r[11]; /* 02894B28 */ rbrew_write8(cpu->mem, _t450, (uint8_t)cpu->r[29]); /* 02894B2C */ _t451 = cpu->r[12] + 0x00000004u; /* 02894B2C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t451); /* 02894B30 */ _t452 = cpu->r[12] + 0x00000006u; /* 02894B30 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t452); /* 02894B34 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[3]); /* 02894B38 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[4]); /* 02894B3C */ _t453 = cpu->r[12] + 0x00000008u; /* 02894B3C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t453); /* 02894B40 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[5]); /* 02894B44 */ cpu->r[9] = cpu->r[3] + cpu->r[9]; /* 02894B48 */ cpu->r[5] = cpu->r[9] + cpu->r[4]; /* 02894B4C */ cpu->r[0] = cpu->r[5] + 0x00000080u; /* 02894B50 */ /* nop */ /* 02894B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x000000FFu); /* 02894B58 */ _t454 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894B58 */ _t455 = _t454 & 0x00000001u; /* 02894B58 */ if (_t455) goto L_02894B5C; else goto L_02894B60; L_02894B5C: ; // 0x2894b5c /* 02894B5C */ cpu->r[29] = 0x000000FFu; L_02894B60: ; // 0x2894b60 /* 02894B60 */ cpu->r[7] = cpu->r[7] + cpu->r[28]; /* 02894B64 */ _t456 = cpu->r[7] + cpu->r[11]; /* 02894B64 */ rbrew_write8(cpu->mem, _t456, (uint8_t)cpu->r[29]); /* 02894B68 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02894B6C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 02894B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02894B70 */ /* nop */ /* 02894B74 */ _t457 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894B74 */ _t458 = _t457 & 0x00000001u; /* 02894B74 */ if (_t458) goto L_02894B78; else goto L_02894A50; L_02894B78: ; // 0x2894b78 /* 02894B78 */ _t459 = cpu->r[1] + 0x0000000Cu; /* 02894B78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t459); /* 02894B7C */ cpu->r[4] = cpu->r[30]; /* 02894B80 */ Gambit_fn_02872988(cpu); /* 02894B84 */ _t460 = cpu->r[1] + 0x00000010u; /* 02894B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t460); /* 02894B88 */ goto L_02894F78; L_02894B8C: ; // 0x2894b8c /* 02894B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02894B90 */ _t461 = cpu->r[1] + 0x00000018u; /* 02894B90 */ rbrew_write32(cpu->mem, _t461, cpu->r[10]); /* 02894B94 */ _t462 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894B94 */ _t463 = _t462 & 0x00000001u; /* 02894B94 */ if (_t463) goto L_02894B98; else goto L_02894F68; L_02894B98: ; // 0x2894b98 /* 02894B98 */ _t464 = cpu->r[1] + 0x00000010u; /* 02894B98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t464); /* 02894B9C */ cpu->r[4] = cpu->r[1] + 0x0000002Cu; /* 02894BA0 */ _t465 = cpu->r[1] + 0x00000014u; /* 02894BA0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t465); /* 02894BA4 */ cpu->r[0] = cpu->r[1] + 0x00000028u; /* 02894BA8 */ _t466 = cpu->r[1] + 0x0000001Cu; /* 02894BA8 */ rbrew_write32(cpu->mem, _t466, cpu->r[4]); /* 02894BAC */ cpu->r[5] = cpu->r[1] + 0x00000024u; /* 02894BB0 */ cpu->r[23] = cpu->r[15]; /* 02894BB4 */ _t467 = cpu->r[1] + 0x00000008u; /* 02894BB4 */ rbrew_write32(cpu->mem, _t467, cpu->r[0]); /* 02894BB8 */ cpu->r[22] = cpu->r[10] + 0x00000024u; /* 02894BBC */ cpu->r[15] = cpu->r[1] + 0x00000026u; /* 02894BC0 */ _t468 = cpu->r[1] + 0x00000020u; /* 02894BC0 */ rbrew_write32(cpu->mem, _t468, cpu->r[5]); L_02894BC4: ; // 0x2894bc4 /* 02894BC4 */ cpu->r[27] = cpu->r[22]; /* 02894BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 02894BCC */ cpu->r[8] = 0x00000000u; /* 02894BD0 */ cpu->r[7] = cpu->r[27]; /* 02894BD4 */ cpu->r[3] = cpu->r[8]; /* 02894BD8 */ _t469 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894BD8 */ _t470 = _t469 & 0x00000001u; /* 02894BD8 */ if (_t470) goto L_02894BDC; else goto L_02894DA0; L_02894BDC: ; // 0x2894bdc /* 02894BDC */ /* nop */ /* 02894BE0 */ _t471 = cpu->r[1] + 0x00000020u; /* 02894BE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t471); /* 02894BE4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02894BE8 */ _t472 = cpu->r[27] + cpu->r[0]; /* 02894BE8 */ cpu->r[24] = rbrew_read8(cpu->mem, _t472); /* 02894BEC */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 02894BF0 */ _t473 = cpu->r[15] + cpu->r[9]; /* 02894BF0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t473); /* 02894BF4 */ cpu->r[10] = cpu->r[5] + cpu->r[9]; /* 02894BF8 */ _t474 = cpu->r[27] + cpu->r[0]; /* 02894BF8 */ cpu->r[26] = rbrew_read8(cpu->mem, _t474); /* 02894BFC */ cpu->r[29] = cpu->r[15] + cpu->r[9]; /* 02894C00 */ cpu->r[24] = cpu->r[24] & cpu->r[4]; /* 02894C04 */ _t475 = cpu->r[10] + 0x00000000u; /* 02894C04 */ cpu->r[5] = rbrew_read8(cpu->mem, _t475); /* 02894C08 */ cpu->r[26] = cpu->r[26] & cpu->r[4]; /* 02894C0C */ /* nop */ /* 02894C10 */ /* nop */ /* 02894C14 */ cpu->r[24] = cpu->r[14] + 0xFFFFFFFEu; /* 02894C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02894C18 */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 02894C1C */ _t476 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894C1C */ _t477 = _t476 & 0x00000001u; /* 02894C1C */ if (_t477) goto L_02894C20; else goto L_02894CC8; L_02894C20: ; // 0x2894c20 /* 02894C20 */ cpu->ctr = cpu->r[24]; /* 02894C24 */ cpu->r[21] = cpu->r[29]; /* 02894C28 */ cpu->r[26] = cpu->r[25] + cpu->r[9]; L_02894C2C: ; // 0x2894c2c /* 02894C2C */ _t478 = cpu->r[12] + 0x00000002u; /* 02894C2C */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t478); /* 02894C30 */ cpu->r[17] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[8]); /* 02894C34 */ _t479 = cpu->r[12] + 0x00000006u; /* 02894C34 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t479); /* 02894C38 */ _t480 = cpu->r[12] + 0x00000004u; /* 02894C38 */ cpu->r[24] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t480); /* 02894C3C */ cpu->r[20] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[4]); /* 02894C40 */ _t481 = cpu->r[12] + 0x00000008u; /* 02894C40 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t481); /* 02894C44 */ _t482 = cpu->r[27] + cpu->r[0]; /* 02894C44 */ cpu->r[18] = rbrew_read8(cpu->mem, _t482); /* 02894C48 */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[3]); /* 02894C4C */ _t483 = cpu->r[21] + 0x00000000u; /* 02894C4C */ cpu->r[24] = rbrew_read8(cpu->mem, _t483); /* 02894C50 */ _t484 = cpu->r[12] + 0x0000000Au; /* 02894C50 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t484); /* 02894C54 */ cpu->r[18] = cpu->r[18] & cpu->r[24]; /* 02894C58 */ _t485 = cpu->r[10] + 0x00000000u; /* 02894C58 */ cpu->r[24] = rbrew_read8(cpu->mem, _t485); /* 02894C5C */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[5]); /* 02894C60 */ /* nop */ /* 02894C64 */ cpu->r[19] = cpu->r[17] + cpu->r[19]; /* 02894C68 */ cpu->r[20] = cpu->r[19] + cpu->r[20]; /* 02894C6C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[24]); /* 02894C70 */ cpu->r[29] = cpu->r[20] + cpu->r[29]; /* 02894C74 */ cpu->r[8] = cpu->r[29] + cpu->r[8]; /* 02894C78 */ cpu->r[8] = cpu->r[8] + 0x00000080u; /* 02894C7C */ /* nop */ /* 02894C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Fu); /* 02894C84 */ _t486 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894C84 */ _t487 = _t486 & 0x00000001u; /* 02894C84 */ if (_t487) goto L_02894C88; else goto L_02894C8C; L_02894C88: ; // 0x2894c88 /* 02894C88 */ cpu->r[29] = 0x0000000Fu; L_02894C8C: ; // 0x2894c8c /* 02894C8C */ _t488 = cpu->r[7] + cpu->r[0]; /* 02894C8C */ cpu->r[20] = rbrew_read8(cpu->mem, _t488); /* 02894C90 */ cpu->r[8] = cpu->r[3]; /* 02894C94 */ _t489 = cpu->r[26] + 0x00000000u; /* 02894C94 */ cpu->r[3] = rbrew_read8(cpu->mem, _t489); /* 02894C98 */ cpu->r[20] = cpu->r[20] & cpu->r[3]; /* 02894C9C */ _t490 = cpu->r[7] + cpu->r[0]; /* 02894C9C */ rbrew_write8(cpu->mem, _t490, (uint8_t)cpu->r[20]); /* 02894CA0 */ _t491 = cpu->r[10] + 0x00000000u; /* 02894CA0 */ cpu->r[19] = rbrew_read8(cpu->mem, _t491); /* 02894CA4 */ cpu->r[3] = cpu->r[4]; /* 02894CA8 */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 02894CAC */ /* nop */ /* 02894CB0 */ cpu->r[4] = cpu->r[5]; /* 02894CB4 */ cpu->r[20] = cpu->r[20] | cpu->r[29]; /* 02894CB8 */ cpu->r[5] = cpu->r[24]; /* 02894CBC */ _t492 = cpu->r[7] + cpu->r[0]; /* 02894CBC */ rbrew_write8(cpu->mem, _t492, (uint8_t)cpu->r[20]); /* 02894CC0 */ cpu->r[7] = cpu->r[7] + cpu->r[6]; /* 02894CC4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02894CC4 */ _t493 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02894CC4 */ _t494 = _t493 >> (0x00000002u & 31u); /* 02894CC4 */ _t495 = _t494 & 0x00000001u; /* 02894CC4 */ if (_t495) goto L_02894C2C; else goto L_02894CC8; L_02894CC8: ; // 0x2894cc8 /* 02894CC8 */ _t496 = cpu->r[12] + 0x00000002u; /* 02894CC8 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t496); /* 02894CCC */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[8]); /* 02894CD0 */ _t497 = cpu->r[12] + 0x00000004u; /* 02894CD0 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t497); /* 02894CD4 */ _t498 = cpu->r[12] + 0x00000006u; /* 02894CD4 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t498); /* 02894CD8 */ cpu->r[27] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[3]); /* 02894CDC */ _t499 = cpu->r[12] + 0x00000008u; /* 02894CDC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t499); /* 02894CE0 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[4]); /* 02894CE4 */ cpu->r[27] = cpu->r[26] + cpu->r[27]; /* 02894CE8 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[5]); /* 02894CEC */ cpu->r[29] = cpu->r[27] + cpu->r[29]; /* 02894CF0 */ cpu->r[8] = cpu->r[29] + cpu->r[8]; /* 02894CF4 */ cpu->r[8] = cpu->r[8] + 0x00000080u; /* 02894CF8 */ /* nop */ /* 02894CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Fu); /* 02894D00 */ _t500 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894D00 */ _t501 = _t500 & 0x00000001u; /* 02894D00 */ if (_t501) goto L_02894D04; else goto L_02894D08; L_02894D04: ; // 0x2894d04 /* 02894D04 */ cpu->r[29] = 0x0000000Fu; L_02894D08: ; // 0x2894d08 /* 02894D08 */ _t502 = cpu->r[25] + cpu->r[9]; /* 02894D08 */ cpu->r[8] = rbrew_read8(cpu->mem, _t502); /* 02894D0C */ _t503 = cpu->r[7] + cpu->r[0]; /* 02894D0C */ cpu->r[27] = rbrew_read8(cpu->mem, _t503); /* 02894D10 */ cpu->r[27] = cpu->r[27] & cpu->r[8]; /* 02894D14 */ _t504 = cpu->r[7] + cpu->r[0]; /* 02894D14 */ rbrew_write8(cpu->mem, _t504, (uint8_t)cpu->r[27]); /* 02894D18 */ _t505 = cpu->r[10] + 0x00000000u; /* 02894D18 */ cpu->r[27] = rbrew_read8(cpu->mem, _t505); /* 02894D1C */ _t506 = cpu->r[7] + cpu->r[0]; /* 02894D1C */ cpu->r[8] = rbrew_read8(cpu->mem, _t506); /* 02894D20 */ /* nop */ /* 02894D24 */ cpu->r[8] = cpu->r[8] | cpu->r[29]; /* 02894D28 */ _t507 = cpu->r[7] + cpu->r[0]; /* 02894D28 */ rbrew_write8(cpu->mem, _t507, (uint8_t)cpu->r[8]); /* 02894D2C */ _t508 = cpu->r[12] + 0x00000004u; /* 02894D2C */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t508); /* 02894D30 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[3]); /* 02894D34 */ _t509 = cpu->r[12] + 0x00000006u; /* 02894D34 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t509); /* 02894D38 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[4]); /* 02894D3C */ _t510 = cpu->r[12] + 0x00000008u; /* 02894D3C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t510); /* 02894D40 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[5]); /* 02894D44 */ cpu->r[4] = cpu->r[3] + cpu->r[4]; /* 02894D48 */ cpu->r[4] = cpu->r[4] + cpu->r[5]; /* 02894D4C */ cpu->r[5] = cpu->r[4] + 0x00000080u; /* 02894D50 */ /* nop */ /* 02894D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Fu); /* 02894D58 */ _t511 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894D58 */ _t512 = _t511 & 0x00000001u; /* 02894D58 */ if (_t512) goto L_02894D5C; else goto L_02894D60; L_02894D5C: ; // 0x2894d5c /* 02894D5C */ cpu->r[29] = 0x0000000Fu; L_02894D60: ; // 0x2894d60 /* 02894D60 */ cpu->r[7] = cpu->r[7] + cpu->r[28]; /* 02894D64 */ _t513 = cpu->r[25] + cpu->r[9]; /* 02894D64 */ cpu->r[9] = rbrew_read8(cpu->mem, _t513); /* 02894D68 */ _t514 = cpu->r[7] + cpu->r[0]; /* 02894D68 */ cpu->r[8] = rbrew_read8(cpu->mem, _t514); /* 02894D6C */ cpu->r[8] = cpu->r[8] & cpu->r[9]; /* 02894D70 */ _t515 = cpu->r[7] + cpu->r[0]; /* 02894D70 */ rbrew_write8(cpu->mem, _t515, (uint8_t)cpu->r[8]); /* 02894D74 */ _t516 = cpu->r[10] + 0x00000000u; /* 02894D74 */ cpu->r[4] = rbrew_read8(cpu->mem, _t516); /* 02894D78 */ /* nop */ /* 02894D7C */ cpu->r[5] = cpu->r[8] | cpu->r[10]; /* 02894D80 */ _t517 = cpu->r[1] + 0x00000018u; /* 02894D80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t517); /* 02894D84 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02894D88 */ _t518 = cpu->r[7] + cpu->r[0]; /* 02894D88 */ rbrew_write8(cpu->mem, _t518, (uint8_t)cpu->r[5]); /* 02894D8C */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu; /* 02894D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02894D90 */ /* nop */ /* 02894D94 */ _t519 = cpu->r[1] + 0x00000018u; /* 02894D94 */ rbrew_write32(cpu->mem, _t519, cpu->r[0]); /* 02894D98 */ _t520 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894D98 */ _t521 = _t520 & 0x00000001u; /* 02894D98 */ if (_t521) goto L_02894D9C; else goto L_02894BC4; L_02894D9C: ; // 0x2894d9c /* 02894D9C */ goto L_02894F68; L_02894DA0: ; // 0x2894da0 /* 02894DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 02894DA4 */ _t522 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894DA4 */ _t523 = _t522 & 0x00000001u; /* 02894DA4 */ if (_t523) goto L_02894DA8; else goto L_02894F50; L_02894DA8: ; // 0x2894da8 /* 02894DA8 */ _t524 = cpu->r[1] + 0x0000001Cu; /* 02894DA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t524); /* 02894DAC */ /* nop */ /* 02894DB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02894DB4 */ _t525 = cpu->r[27] + cpu->r[0]; /* 02894DB4 */ cpu->r[24] = rbrew_read8(cpu->mem, _t525); /* 02894DB8 */ cpu->r[29] = cpu->r[4] + cpu->r[10]; /* 02894DBC */ _t526 = cpu->r[29] + 0x00000000u; /* 02894DBC */ cpu->r[4] = rbrew_read8(cpu->mem, _t526); /* 02894DC0 */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 02894DC4 */ _t527 = cpu->r[1] + 0x00000008u; /* 02894DC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t527); /* 02894DC8 */ _t528 = cpu->r[27] + cpu->r[0]; /* 02894DC8 */ cpu->r[26] = rbrew_read8(cpu->mem, _t528); /* 02894DCC */ _t529 = cpu->r[9] + cpu->r[10]; /* 02894DCC */ cpu->r[5] = rbrew_read8(cpu->mem, _t529); /* 02894DCC */ cpu->r[9] = _t529; /* 02894DD0 */ cpu->r[24] = cpu->r[24] & cpu->r[4]; /* 02894DD4 */ cpu->r[26] = cpu->r[26] & cpu->r[4]; /* 02894DD8 */ /* nop */ /* 02894DDC */ /* nop */ /* 02894DE0 */ cpu->r[26] = cpu->r[14] + 0xFFFFFFFEu; /* 02894DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02894DE4 */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 02894DE8 */ _t530 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894DE8 */ _t531 = _t530 & 0x00000001u; /* 02894DE8 */ if (_t531) goto L_02894DEC; else goto L_02894E98; L_02894DEC: ; // 0x2894dec /* 02894DEC */ cpu->ctr = cpu->r[26]; /* 02894DF0 */ cpu->r[18] = cpu->r[0]; /* 02894DF4 */ cpu->r[19] = cpu->r[29]; /* 02894DF8 */ cpu->r[20] = cpu->r[23] + cpu->r[10]; L_02894DFC: ; // 0x2894dfc /* 02894DFC */ _t532 = cpu->r[12] + 0x00000002u; /* 02894DFC */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t532); /* 02894E00 */ cpu->r[16] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[8]); /* 02894E04 */ _t533 = cpu->r[12] + 0x00000004u; /* 02894E04 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t533); /* 02894E08 */ _t534 = cpu->r[12] + 0x00000006u; /* 02894E08 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t534); /* 02894E0C */ cpu->r[21] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)cpu->r[3]); /* 02894E10 */ _t535 = cpu->r[12] + 0x00000008u; /* 02894E10 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t535); /* 02894E14 */ _t536 = cpu->r[19] + 0x00000000u; /* 02894E14 */ cpu->r[24] = rbrew_read8(cpu->mem, _t536); /* 02894E18 */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[4]); /* 02894E1C */ _t537 = cpu->r[27] + cpu->r[18]; /* 02894E1C */ cpu->r[17] = rbrew_read8(cpu->mem, _t537); /* 02894E20 */ cpu->r[21] = cpu->r[16] + cpu->r[21]; /* 02894E24 */ _t538 = cpu->r[12] + 0x0000000Au; /* 02894E24 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t538); /* 02894E28 */ cpu->r[17] = cpu->r[17] & cpu->r[24]; /* 02894E2C */ _t539 = cpu->r[9] + 0x00000000u; /* 02894E2C */ cpu->r[24] = rbrew_read8(cpu->mem, _t539); /* 02894E30 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[5]); /* 02894E34 */ /* nop */ /* 02894E38 */ cpu->r[26] = cpu->r[21] + cpu->r[26]; /* 02894E3C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[24]); /* 02894E40 */ cpu->r[29] = cpu->r[26] + cpu->r[29]; /* 02894E44 */ cpu->r[8] = cpu->r[29] + cpu->r[8]; /* 02894E48 */ cpu->r[8] = cpu->r[8] + 0x00000080u; /* 02894E4C */ /* nop */ /* 02894E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000003u); /* 02894E54 */ _t540 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894E54 */ _t541 = _t540 & 0x00000001u; /* 02894E54 */ if (_t541) goto L_02894E58; else goto L_02894E5C; L_02894E58: ; // 0x2894e58 /* 02894E58 */ cpu->r[29] = 0x00000003u; L_02894E5C: ; // 0x2894e5c /* 02894E5C */ _t542 = cpu->r[7] + cpu->r[18]; /* 02894E5C */ cpu->r[26] = rbrew_read8(cpu->mem, _t542); /* 02894E60 */ cpu->r[8] = cpu->r[3]; /* 02894E64 */ _t543 = cpu->r[20] + 0x00000000u; /* 02894E64 */ cpu->r[3] = rbrew_read8(cpu->mem, _t543); /* 02894E68 */ cpu->r[26] = cpu->r[26] & cpu->r[3]; /* 02894E6C */ _t544 = cpu->r[7] + cpu->r[18]; /* 02894E6C */ rbrew_write8(cpu->mem, _t544, (uint8_t)cpu->r[26]); /* 02894E70 */ _t545 = cpu->r[9] + 0x00000000u; /* 02894E70 */ cpu->r[21] = rbrew_read8(cpu->mem, _t545); /* 02894E74 */ cpu->r[3] = cpu->r[4]; /* 02894E78 */ cpu->r[27] = cpu->r[27] + cpu->r[6]; /* 02894E7C */ /* nop */ /* 02894E80 */ cpu->r[4] = cpu->r[5]; /* 02894E84 */ cpu->r[26] = cpu->r[26] | cpu->r[29]; /* 02894E88 */ cpu->r[5] = cpu->r[24]; /* 02894E8C */ _t546 = cpu->r[7] + cpu->r[18]; /* 02894E8C */ rbrew_write8(cpu->mem, _t546, (uint8_t)cpu->r[26]); /* 02894E90 */ cpu->r[7] = cpu->r[7] + cpu->r[6]; /* 02894E94 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02894E94 */ _t547 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02894E94 */ _t548 = _t547 >> (0x00000002u & 31u); /* 02894E94 */ _t549 = _t548 & 0x00000001u; /* 02894E94 */ if (_t549) goto L_02894DFC; else goto L_02894E98; L_02894E98: ; // 0x2894e98 /* 02894E98 */ _t550 = cpu->r[12] + 0x00000002u; /* 02894E98 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t550); /* 02894E9C */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[8]); /* 02894EA0 */ _t551 = cpu->r[12] + 0x00000004u; /* 02894EA0 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t551); /* 02894EA4 */ _t552 = cpu->r[12] + 0x00000006u; /* 02894EA4 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t552); /* 02894EA8 */ cpu->r[27] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[3]); /* 02894EAC */ _t553 = cpu->r[12] + 0x00000008u; /* 02894EAC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t553); /* 02894EB0 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[4]); /* 02894EB4 */ cpu->r[27] = cpu->r[26] + cpu->r[27]; /* 02894EB8 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[5]); /* 02894EBC */ cpu->r[29] = cpu->r[27] + cpu->r[29]; /* 02894EC0 */ cpu->r[8] = cpu->r[29] + cpu->r[8]; /* 02894EC4 */ cpu->r[8] = cpu->r[8] + 0x00000080u; /* 02894EC8 */ /* nop */ /* 02894ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000003u); /* 02894ED0 */ _t554 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894ED0 */ _t555 = _t554 & 0x00000001u; /* 02894ED0 */ if (_t555) goto L_02894ED4; else goto L_02894ED8; L_02894ED4: ; // 0x2894ed4 /* 02894ED4 */ cpu->r[29] = 0x00000003u; L_02894ED8: ; // 0x2894ed8 /* 02894ED8 */ _t556 = cpu->r[7] + cpu->r[0]; /* 02894ED8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t556); /* 02894EDC */ _t557 = cpu->r[23] + cpu->r[10]; /* 02894EDC */ cpu->r[8] = rbrew_read8(cpu->mem, _t557); /* 02894EE0 */ cpu->r[27] = cpu->r[27] & cpu->r[8]; /* 02894EE4 */ _t558 = cpu->r[7] + cpu->r[0]; /* 02894EE4 */ rbrew_write8(cpu->mem, _t558, (uint8_t)cpu->r[27]); /* 02894EE8 */ _t559 = cpu->r[9] + 0x00000000u; /* 02894EE8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t559); /* 02894EEC */ /* nop */ /* 02894EF0 */ cpu->r[8] = cpu->r[27] | cpu->r[8]; /* 02894EF4 */ _t560 = cpu->r[7] + cpu->r[0]; /* 02894EF4 */ rbrew_write8(cpu->mem, _t560, (uint8_t)cpu->r[8]); /* 02894EF8 */ _t561 = cpu->r[12] + 0x00000004u; /* 02894EF8 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t561); /* 02894EFC */ _t562 = cpu->r[12] + 0x00000006u; /* 02894EFC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t562); /* 02894F00 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[3]); /* 02894F04 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[4]); /* 02894F08 */ _t563 = cpu->r[12] + 0x00000008u; /* 02894F08 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t563); /* 02894F0C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[5]); /* 02894F10 */ cpu->r[5] = cpu->r[29] + cpu->r[3]; /* 02894F14 */ cpu->r[5] = cpu->r[5] + cpu->r[8]; /* 02894F18 */ cpu->r[8] = cpu->r[5] + 0x00000080u; /* 02894F1C */ /* nop */ /* 02894F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000003u); /* 02894F24 */ _t564 = cpu->cr[0] >> (0x00000002u & 31u); /* 02894F24 */ _t565 = _t564 & 0x00000001u; /* 02894F24 */ if (_t565) goto L_02894F28; else goto L_02894F2C; L_02894F28: ; // 0x2894f28 /* 02894F28 */ cpu->r[29] = 0x00000003u; L_02894F2C: ; // 0x2894f2c /* 02894F2C */ _t566 = cpu->r[23] + cpu->r[10]; /* 02894F2C */ cpu->r[5] = rbrew_read8(cpu->mem, _t566); /* 02894F30 */ cpu->r[7] = cpu->r[7] + cpu->r[28]; /* 02894F34 */ _t567 = cpu->r[7] + cpu->r[0]; /* 02894F34 */ cpu->r[4] = rbrew_read8(cpu->mem, _t567); /* 02894F38 */ cpu->r[4] = cpu->r[4] & cpu->r[5]; /* 02894F3C */ _t568 = cpu->r[7] + cpu->r[0]; /* 02894F3C */ rbrew_write8(cpu->mem, _t568, (uint8_t)cpu->r[4]); /* 02894F40 */ _t569 = cpu->r[9] + 0x00000000u; /* 02894F40 */ cpu->r[9] = rbrew_read8(cpu->mem, _t569); /* 02894F44 */ /* nop */ /* 02894F48 */ cpu->r[10] = cpu->r[4] | cpu->r[8]; /* 02894F4C */ _t570 = cpu->r[7] + cpu->r[0]; /* 02894F4C */ rbrew_write8(cpu->mem, _t570, (uint8_t)cpu->r[10]); L_02894F50: ; // 0x2894f50 /* 02894F50 */ _t571 = cpu->r[1] + 0x00000018u; /* 02894F50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t571); /* 02894F54 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02894F58 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu; /* 02894F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02894F5C */ /* nop */ /* 02894F60 */ _t572 = cpu->r[1] + 0x00000018u; /* 02894F60 */ rbrew_write32(cpu->mem, _t572, cpu->r[0]); /* 02894F64 */ _t573 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894F64 */ _t574 = _t573 & 0x00000001u; /* 02894F64 */ if (_t574) goto L_02894F68; else goto L_02894BC4; L_02894F68: ; // 0x2894f68 /* 02894F68 */ _t575 = cpu->r[1] + 0x0000000Cu; /* 02894F68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t575); /* 02894F6C */ cpu->r[4] = cpu->r[30]; /* 02894F70 */ Gambit_fn_02872988(cpu); /* 02894F74 */ _t576 = cpu->r[1] + 0x00000010u; /* 02894F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t576); L_02894F78: ; // 0x2894f78 /* 02894F78 */ /* nop */ /* 02894F7C */ _t577 = cpu->r[1] + 0x0000009Cu; /* 02894F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t577); /* 02894F80 */ cpu->lr = cpu->r[0]; /* 02894F84 */ cpu->r[1] = cpu->r[1] + 0x00000098u; /* 02894F88 */ return; } // fn_02894F8C @ 0x2894f8c void Gambit_fn_02894F8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02894F8C: ; // 0x2894f8c /* 02894F8C */ _t0 = cpu->r[1] + 0xFFFFFFA0u; /* 02894F8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02894F8C */ cpu->r[1] = _t0; /* 02894F90 */ cpu->r[0] = cpu->lr; /* 02894F94 */ /* nop */ /* 02894F98 */ _t1 = cpu->r[1] + 0x00000064u; /* 02894F98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02894F9C */ cpu->r[29] = cpu->r[6]; /* 02894FA0 */ cpu->r[6] = 0x00010000u; /* 02894FA4 */ cpu->r[28] = cpu->r[3]; /* 02894FA8 */ Gambit_fn_02892FD4(cpu); /* 02894FAC */ cpu->r[30] = cpu->r[3]; /* 02894FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02894FB0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894FB0 */ _t3 = _t2 & 0x00000001u; /* 02894FB0 */ if (_t3) goto L_0289515C; else goto L_02894FB4; L_02894FB4: ; // 0x2894fb4 /* 02894FB4 */ _t4 = cpu->r[28] + 0x00000028u; /* 02894FB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02894FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02894FBC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894FBC */ _t6 = _t5 & 0x00000001u; /* 02894FBC */ if (_t6) goto L_02894FC0; else goto L_0289515C; L_02894FC0: ; // 0x2894fc0 /* 02894FC0 */ cpu->r[4] = 0x00000000u; /* 02894FC4 */ cpu->r[6] = cpu->r[30]; /* 02894FC8 */ cpu->r[3] = cpu->r[28]; /* 02894FCC */ cpu->r[5] = cpu->r[4]; /* 02894FD0 */ Gambit_fn_02893CA0(cpu); /* 02894FD4 */ cpu->r[30] = cpu->r[3]; /* 02894FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02894FD8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894FD8 */ _t8 = _t7 & 0x00000001u; /* 02894FD8 */ if (_t8) goto L_0289515C; else goto L_02894FDC; L_02894FDC: ; // 0x2894fdc /* 02894FDC */ _t9 = cpu->r[28] + 0x00000028u; /* 02894FDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02894FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02894FE4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894FE4 */ _t11 = _t10 & 0x00000001u; /* 02894FE4 */ if (_t11) goto L_02894FE8; else goto L_0289515C; L_02894FE8: ; // 0x2894fe8 /* 02894FE8 */ _t12 = cpu->r[28] + 0x00000054u; /* 02894FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02894FEC */ cpu->r[5] = 0x00010000u; /* 02894FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]); /* 02894FF4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02894FF4 */ _t14 = _t13 & 0x00000001u; /* 02894FF4 */ if (_t14) goto L_0289515C; else goto L_02894FF8; L_02894FF8: ; // 0x2894ff8 /* 02894FF8 */ _t15 = cpu->r[30] + 0x0000001Cu; /* 02894FF8 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 02894FFC */ cpu->r[7] = 0x00000001u; /* 02895000 */ _t16 = cpu->r[30] + 0x0000001Au; /* 02895000 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 02895004 */ _t17 = cpu->r[30] + 0x00000020u; /* 02895004 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t17); /* 02895008 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[0]); /* 0289500C */ /* nop */ /* 02895010 */ cpu->r[26] = cpu->r[6] + 0xFFFFFFFFu; /* 02895014 */ cpu->r[27] = cpu->r[30] + 0x00000024u; /* 02895018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x000000FFu); /* 0289501C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02895020 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895020 */ _t19 = _t18 & 0x00000001u; /* 02895020 */ if (_t19) goto L_02895024; else goto L_02895038; L_02895024: ; // 0x2895024 /* 02895024 */ cpu->r[3] = cpu->r[28]; /* 02895028 */ cpu->r[4] = 0x00000400u; /* 0289502C */ Gambit_fn_0288D4C4(cpu); /* 02895030 */ cpu->r[4] = cpu->r[3]; /* 02895030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02895034 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895034 */ _t21 = _t20 & 0x00000001u; /* 02895034 */ if (_t21) goto L_0289515C; else goto L_02895038; L_02895038: ; // 0x2895038 /* 02895038 */ cpu->r[0] = cpu->r[26] + 0x00000001u; /* 02895038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289503C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289503C */ _t23 = _t22 & 0x00000001u; /* 0289503C */ if (_t23) goto L_0289506C; else goto L_02895040; L_02895040: ; // 0x2895040 /* 02895040 */ cpu->ctr = cpu->r[0]; /* 02895044 */ cpu->r[6] = 0x00000000u; /* 02895048 */ cpu->r[7] = cpu->r[4]; L_0289504C: ; // 0x289504c /* 0289504C */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000010u, 0x00000010u, 0x0000001Fu); /* 02895050 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]); /* 02895054 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895054 */ _t25 = _t24 & 0x00000001u; /* 02895054 */ if (_t25) goto L_02895058; else goto L_0289505C; L_02895058: ; // 0x2895058 /* 02895058 */ cpu->r[10] = cpu->r[26]; L_0289505C: ; // 0x289505c /* 0289505C */ cpu->r[6] = cpu->r[6] + cpu->r[29]; /* 02895060 */ _t26 = cpu->r[7] + 0x00000000u; /* 02895060 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 02895064 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 02895068 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895068 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895068 */ _t28 = _t27 >> (0x00000002u & 31u); /* 02895068 */ _t29 = _t28 & 0x00000001u; /* 02895068 */ if (_t29) goto L_0289504C; else goto L_0289506C; L_0289506C: ; // 0x289506c /* 0289506C */ _t30 = cpu->r[30] + 0x00000020u; /* 0289506C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 02895070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000004u); /* 02895074 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895074 */ _t32 = _t31 & 0x00000001u; /* 02895074 */ if (_t32) goto L_02895078; else goto L_028950BC; L_02895078: ; // 0x2895078 /* 02895078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289507C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289507C */ _t34 = _t33 & 0x00000001u; /* 0289507C */ if (_t34) goto L_0289514C; else goto L_02895080; L_02895080: ; // 0x2895080 /* 02895080 */ cpu->ctr = cpu->r[31]; /* 02895084 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02895088: ; // 0x2895088 /* 02895088 */ _t35 = cpu->r[27] + 0x00000001u; /* 02895088 */ cpu->r[8] = rbrew_read8(cpu->mem, _t35); /* 02895088 */ cpu->r[27] = _t35; /* 0289508C */ /* nop */ /* 02895090 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02895094 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Au, 0x0000001Du); /* 02895098 */ _t36 = cpu->r[11] + cpu->r[4]; /* 02895098 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36); /* 0289509C */ _t37 = cpu->r[12] + cpu->r[4]; /* 0289509C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37); /* 028950A0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028950A4 */ cpu->r[8] = cpu->r[7] | cpu->r[9]; /* 028950A8 */ _t38 = cpu->r[27] + 0x00000000u; /* 028950A8 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[8]); /* 028950AC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028950AC */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028950AC */ _t40 = _t39 >> (0x00000002u & 31u); /* 028950AC */ _t41 = _t40 & 0x00000001u; /* 028950AC */ if (_t41) goto L_02895088; else goto L_028950B0; L_028950B0: ; // 0x28950b0 /* 028950B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x000000FFu); /* 028950B4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 028950B4 */ _t43 = _t42 & 0x00000001u; /* 028950B4 */ if (_t43) goto L_028950B8; else goto L_0289515C; L_028950B8: ; // 0x28950b8 /* 028950B8 */ goto L_02895154; L_028950BC: ; // 0x28950bc /* 028950BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000008u); /* 028950C0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028950C0 */ _t45 = _t44 & 0x00000001u; /* 028950C0 */ if (_t45) goto L_028950C4; else goto L_028950F4; L_028950C4: ; // 0x28950c4 /* 028950C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028950C8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 028950C8 */ _t47 = _t46 & 0x00000001u; /* 028950C8 */ if (_t47) goto L_0289514C; else goto L_028950CC; L_028950CC: ; // 0x28950cc /* 028950CC */ cpu->ctr = cpu->r[31]; /* 028950D0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_028950D4: ; // 0x28950d4 /* 028950D4 */ _t48 = cpu->r[27] + 0x00000001u; /* 028950D4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t48); /* 028950D4 */ cpu->r[27] = _t48; /* 028950D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028950DC */ _t49 = cpu->r[9] + cpu->r[4]; /* 028950DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 028950E0 */ _t50 = cpu->r[27] + 0x00000000u; /* 028950E0 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[0]); /* 028950E4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028950E4 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028950E4 */ _t52 = _t51 >> (0x00000002u & 31u); /* 028950E4 */ _t53 = _t52 & 0x00000001u; /* 028950E4 */ if (_t53) goto L_028950D4; else goto L_028950E8; L_028950E8: ; // 0x28950e8 /* 028950E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x000000FFu); /* 028950EC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 028950EC */ _t55 = _t54 & 0x00000001u; /* 028950EC */ if (_t55) goto L_028950F0; else goto L_0289515C; L_028950F0: ; // 0x28950f0 /* 028950F0 */ goto L_02895154; L_028950F4: ; // 0x28950f4 /* 028950F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028950F8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 028950F8 */ _t57 = _t56 & 0x00000001u; /* 028950F8 */ if (_t57) goto L_0289514C; else goto L_028950FC; L_028950FC: ; // 0x28950fc /* 028950FC */ cpu->ctr = cpu->r[31]; /* 02895100 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02895104: ; // 0x2895104 /* 02895104 */ _t58 = cpu->r[27] + 0x00000001u; /* 02895104 */ cpu->r[8] = rbrew_read8(cpu->mem, _t58); /* 02895104 */ cpu->r[27] = _t58; /* 02895108 */ /* nop */ /* 0289510C */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Cu, 0x0000001Du); /* 02895110 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02895114 */ _t59 = cpu->r[7] + cpu->r[4]; /* 02895114 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59); /* 02895118 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Cu, 0x0000001Du); /* 0289511C */ _t60 = cpu->r[12] + cpu->r[4]; /* 0289511C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 02895120 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895124 */ _t61 = cpu->r[10] + cpu->r[4]; /* 02895124 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61); /* 02895128 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289512C */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02895130 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02895134 */ cpu->r[10] = cpu->r[6] | cpu->r[8]; /* 02895138 */ _t62 = cpu->r[12] + cpu->r[4]; /* 02895138 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62); /* 0289513C */ cpu->r[12] = cpu->r[10] | cpu->r[11]; /* 02895140 */ cpu->r[0] = cpu->r[12] | cpu->r[9]; /* 02895144 */ _t63 = cpu->r[27] + 0x00000000u; /* 02895144 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[0]); /* 02895148 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895148 */ _t64 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895148 */ _t65 = _t64 >> (0x00000002u & 31u); /* 02895148 */ _t66 = _t65 & 0x00000001u; /* 02895148 */ if (_t66) goto L_02895104; else goto L_0289514C; L_0289514C: ; // 0x289514c /* 0289514C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x000000FFu); /* 02895150 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895150 */ _t68 = _t67 & 0x00000001u; /* 02895150 */ if (_t68) goto L_02895154; else goto L_0289515C; L_02895154: ; // 0x2895154 /* 02895154 */ cpu->r[3] = cpu->r[28]; /* 02895158 */ Gambit_fn_0288CA30(cpu); L_0289515C: ; // 0x289515c /* 0289515C */ cpu->r[3] = cpu->r[30]; /* 02895160 */ /* nop */ /* 02895164 */ _t69 = cpu->r[1] + 0x00000064u; /* 02895164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 02895168 */ cpu->lr = cpu->r[0]; /* 0289516C */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 02895170 */ return; } // fn_02895174 @ 0x2895174 void Gambit_fn_02895174(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_02895174: ; // 0x2895174 /* 02895174 */ _t0 = cpu->r[1] + 0xFFFFFF70u; /* 02895174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02895174 */ cpu->r[1] = _t0; /* 02895178 */ /* nop */ /* 0289517C */ cpu->r[9] = 0x00000030u; /* 02895180 */ _t1 = cpu->r[1] + 0x00000021u; /* 02895180 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[9]); /* 02895184 */ cpu->r[9] = 0x00000003u; /* 02895188 */ _t2 = cpu->r[1] + 0x00000023u; /* 02895188 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[9]); /* 0289518C */ cpu->r[9] = 0x000000CFu; /* 02895190 */ cpu->r[7] = 0x00000002u; /* 02895194 */ _t3 = cpu->r[1] + 0x00000030u; /* 02895194 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]); /* 02895198 */ cpu->r[8] = 0x0000003Fu; /* 0289519C */ _t4 = cpu->r[1] + 0x00000024u; /* 0289519C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[8]); /* 028951A0 */ cpu->r[6] = 0x00000006u; /* 028951A4 */ _t5 = cpu->r[1] + 0x00000038u; /* 028951A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]); /* 028951A8 */ cpu->r[8] = 0x000000F3u; /* 028951AC */ _t6 = cpu->r[1] + 0x00000026u; /* 028951AC */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[8]); /* 028951B0 */ _t7 = cpu->r[1] + 0x00000028u; /* 028951B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]); /* 028951B4 */ cpu->r[10] = 0x000000C0u; /* 028951B8 */ _t8 = cpu->r[1] + 0x00000025u; /* 028951B8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]); /* 028951BC */ cpu->r[6] = 0x00000004u; /* 028951C0 */ _t9 = cpu->r[1] + 0x00000020u; /* 028951C0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]); /* 028951C4 */ cpu->r[10] = 0x0000000Cu; /* 028951C8 */ _t10 = cpu->r[1] + 0x00000040u; /* 028951C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]); /* 028951CC */ cpu->r[9] = 0x000000FCu; /* 028951D0 */ _t11 = cpu->r[1] + 0x00000022u; /* 028951D0 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[10]); /* 028951D4 */ _t12 = cpu->r[1] + 0x0000002Cu; /* 028951D4 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]); /* 028951D8 */ cpu->r[8] = 0x00000000u; /* 028951DC */ _t13 = cpu->r[1] + 0x00000027u; /* 028951DC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[9]); /* 028951E0 */ _t14 = cpu->r[1] + 0x00000044u; /* 028951E0 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]); /* 028951E4 */ _t15 = cpu->r[3] + 0x0000001Cu; /* 028951E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 028951E8 */ _t16 = cpu->r[1] + 0x00000034u; /* 028951E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]); /* 028951EC */ _t17 = cpu->r[1] + 0x0000003Cu; /* 028951EC */ rbrew_write32(cpu->mem, _t17, cpu->r[6]); /* 028951F0 */ _t18 = cpu->r[9] + 0x00000020u; /* 028951F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 028951F4 */ cpu->r[12] = cpu->r[1] + 0x00000028u; /* 028951F8 */ cpu->r[11] = cpu->r[1] + 0x00000020u; /* 028951FC */ _t19 = cpu->r[9] + 0x0000000Eu; /* 028951FC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19); /* 02895200 */ cpu->r[17] = cpu->r[1] + 0x00000038u; /* 02895204 */ cpu->r[3] = cpu->r[4]; /* 02895208 */ cpu->r[10] = cpu->r[1] + 0x00000024u; /* 0289520C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02895210 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02895210 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); /* 02895214 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895214 */ _t22 = _t21 & 0x00000001u; /* 02895214 */ if (_t22) goto L_02895BF0; else goto L_02895218; L_02895218: ; // 0x2895218 /* 02895218 */ _t23 = cpu->r[3] + 0x0000001Au; /* 02895218 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t23); /* 0289521C */ cpu->r[18] = 0x00000000u; /* 02895220 */ _t24 = cpu->r[3] + 0x0000001Cu; /* 02895220 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24); /* 02895224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]); /* 02895228 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 02895228 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]); /* 0289522C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289522C */ _t27 = _t26 & 0x00000001u; /* 0289522C */ if (_t27) goto L_02895230; else goto L_02895670; L_02895230: ; // 0x2895230 /* 02895230 */ _t28 = cpu->r[11] + 0x00000001u; /* 02895230 */ cpu->r[9] = rbrew_read8(cpu->mem, _t28); /* 02895234 */ _t29 = cpu->r[1] + 0x00000011u; /* 02895234 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[9]); /* 02895238 */ _t30 = cpu->r[11] + 0x00000000u; /* 02895238 */ cpu->r[9] = rbrew_read8(cpu->mem, _t30); /* 0289523C */ _t31 = cpu->r[1] + 0x0000000Cu; /* 0289523C */ cpu->r[8] = rbrew_read32(cpu->mem, _t31); /* 02895240 */ _t32 = cpu->r[1] + 0x00000010u; /* 02895240 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[9]); /* 02895244 */ _t33 = cpu->r[12] + 0x00000004u; /* 02895244 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 02895248 */ _t34 = cpu->r[3] + 0x00000018u; /* 02895248 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34); /* 0289524C */ _t35 = cpu->r[1] + 0x00000008u; /* 0289524C */ rbrew_write32(cpu->mem, _t35, cpu->r[9]); /* 02895250 */ cpu->r[20] = cpu->r[3] + 0x00000024u; /* 02895254 */ _t36 = cpu->r[12] + 0x00000000u; /* 02895254 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36); /* 02895258 */ cpu->r[22] = cpu->r[20] + cpu->r[8]; /* 0289525C */ _t37 = cpu->r[1] + 0x00000018u; /* 0289525C */ rbrew_write32(cpu->mem, _t37, cpu->r[8]); /* 02895260 */ cpu->r[21] = cpu->r[20] - cpu->r[8]; /* 02895264 */ _t38 = cpu->r[1] + 0x00000014u; /* 02895264 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]); L_02895268: ; // 0x2895268 /* 02895268 */ _t39 = cpu->r[20] + 0x00000000u; /* 02895268 */ cpu->r[9] = rbrew_read8(cpu->mem, _t39); /* 0289526C */ _t40 = cpu->r[1] + 0x00000010u; /* 0289526C */ cpu->r[8] = rbrew_read8(cpu->mem, _t40); /* 02895270 */ cpu->r[8] = cpu->r[9] & cpu->r[8]; /* 02895274 */ _t41 = cpu->r[1] + 0x00000014u; /* 02895274 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41); /* 02895278 */ /* nop */ /* 0289527C */ _t42 = cpu->r[1] + 0x00000011u; /* 0289527C */ cpu->r[8] = rbrew_read8(cpu->mem, _t42); /* 02895280 */ cpu->r[9] = cpu->r[9] & cpu->r[8]; /* 02895284 */ _t43 = cpu->r[1] + 0x00000008u; /* 02895284 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 02895288 */ /* nop */ /* 0289528C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289528C */ _t45 = _t44 & 0x00000001u; /* 0289528C */ if (_t45) goto L_02895290; else goto L_028953D0; L_02895290: ; // 0x2895290 /* 02895290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02895294 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895294 */ _t47 = _t46 & 0x00000001u; /* 02895294 */ if (_t47) goto L_028953D0; else goto L_02895298; L_02895298: ; // 0x2895298 /* 02895298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u); /* 0289529C */ cpu->r[9] = cpu->r[5] + 0xFFFFFFFEu; /* 028952A0 */ cpu->r[6] = 0x00000002u; /* 028952A4 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u); /* 028952A4 */ _t49 = _t48 & 0x00000001u; /* 028952A4 */ if (_t49) goto L_028952A8; else goto L_028952D8; L_028952A8: ; // 0x28952a8 /* 028952A8 */ cpu->ctr = cpu->r[9]; L_028952AC: ; // 0x28952ac /* 028952AC */ /* nop */ /* 028952B0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028952B4 */ _t50 = cpu->r[20] + cpu->r[9]; /* 028952B4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t50); /* 028952B8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028952BC */ _t51 = cpu->r[11] + cpu->r[8]; /* 028952BC */ cpu->r[8] = rbrew_read8(cpu->mem, _t51); /* 028952C0 */ _t52 = cpu->r[9] + cpu->r[12]; /* 028952C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52); /* 028952C4 */ cpu->r[8] = cpu->r[7] & cpu->r[8]; /* 028952C8 */ /* nop */ /* 028952CC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 028952CC */ _t54 = _t53 & 0x00000001u; /* 028952CC */ if (_t54) goto L_028952D8; else goto L_028952D0; L_028952D0: ; // 0x28952d0 /* 028952D0 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028952D4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028952D4 */ _t55 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028952D4 */ _t56 = _t55 >> (0x00000002u & 31u); /* 028952D4 */ _t57 = _t56 & 0x00000001u; /* 028952D4 */ if (_t57) goto L_028952AC; else goto L_028952D8; L_028952D8: ; // 0x28952d8 /* 028952D8 */ cpu->r[9] = cpu->r[25]; /* 028952DC */ cpu->r[4] = 0x00000001u; /* 028952E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u); /* 028952E4 */ cpu->r[8] = cpu->r[6] + 0xFFFFFFFFu; /* 028952E8 */ cpu->r[31] = cpu->r[4]; /* 028952EC */ _t58 = cpu->cr[0] >> (0x00000002u & 31u); /* 028952EC */ _t59 = _t58 & 0x00000001u; /* 028952EC */ if (_t59) goto L_028952F0; else goto L_0289532C; L_028952F0: ; // 0x28952f0 /* 028952F0 */ cpu->ctr = cpu->r[8]; L_028952F4: ; // 0x28952f4 /* 028952F4 */ /* nop */ /* 028952F8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028952FC */ _t60 = cpu->r[20] + cpu->r[8]; /* 028952FC */ cpu->r[6] = rbrew_read8(cpu->mem, _t60); /* 02895300 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895304 */ _t61 = cpu->r[11] + cpu->r[7]; /* 02895304 */ cpu->r[7] = rbrew_read8(cpu->mem, _t61); /* 02895308 */ _t62 = cpu->r[8] + cpu->r[12]; /* 02895308 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62); /* 0289530C */ cpu->r[7] = cpu->r[6] & cpu->r[7]; /* 02895310 */ /* nop */ /* 02895314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]); /* 02895318 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895318 */ _t64 = _t63 & 0x00000001u; /* 02895318 */ if (_t64) goto L_0289531C; else goto L_02895324; L_0289531C: ; // 0x289531c /* 0289531C */ cpu->r[4] = cpu->r[31]; /* 02895320 */ cpu->r[9] = cpu->r[8]; L_02895324: ; // 0x2895324 /* 02895324 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02895328 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895328 */ _t65 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895328 */ _t66 = _t65 >> (0x00000002u & 31u); /* 02895328 */ _t67 = _t66 & 0x00000001u; /* 02895328 */ if (_t67) goto L_028952F4; else goto L_0289532C; L_0289532C: ; // 0x289532c /* 0289532C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u); /* 02895330 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895330 */ _t69 = _t68 & 0x00000001u; /* 02895330 */ if (_t69) goto L_02895334; else goto L_028953D0; L_02895334: ; // 0x2895334 /* 02895334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02895338 */ cpu->r[31] = 0x00000001u; /* 0289533C */ _t70 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289533C */ _t71 = _t70 & 0x00000001u; /* 0289533C */ if (_t71) goto L_02895340; else goto L_028953A0; L_02895340: ; // 0x2895340 /* 02895340 */ cpu->r[9] = cpu->r[17]; /* 02895344 */ cpu->r[30] = 0x00000000u; L_02895348: ; // 0x2895348 /* 02895348 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0289534C */ /* nop */ /* 02895350 */ _t72 = cpu->r[11] + cpu->r[7]; /* 02895350 */ cpu->r[5] = rbrew_read8(cpu->mem, _t72); /* 02895354 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895358 */ _t73 = cpu->r[20] + cpu->r[8]; /* 02895358 */ cpu->r[29] = rbrew_read8(cpu->mem, _t73); /* 0289535C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895360 */ _t74 = cpu->r[7] + cpu->r[12]; /* 02895360 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74); /* 02895364 */ cpu->r[5] = cpu->r[29] & cpu->r[5]; /* 02895368 */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0289536C */ _t75 = cpu->r[8] + cpu->r[9]; /* 0289536C */ cpu->r[8] = rbrew_read32(cpu->mem, _t75); /* 02895370 */ /* nop */ /* 02895374 */ /* nop */ /* 02895378 */ _t76 = cpu->r[10] + cpu->r[7]; /* 02895378 */ cpu->r[7] = rbrew_read8(cpu->mem, _t76); /* 0289537C */ _t77 = cpu->r[20] + cpu->r[5]; /* 0289537C */ cpu->r[6] = rbrew_read8(cpu->mem, _t77); /* 02895380 */ /* nop */ /* 02895384 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02895388 */ cpu->r[7] = cpu->r[6] & cpu->r[7]; /* 0289538C */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 02895390 */ cpu->r[8] = cpu->r[7] | cpu->r[8]; /* 02895394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]); /* 02895398 */ _t78 = cpu->r[20] + cpu->r[5]; /* 02895398 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[8]); /* 0289539C */ _t79 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289539C */ _t80 = _t79 & 0x00000001u; /* 0289539C */ if (_t80) goto L_028953A0; else goto L_02895348; L_028953A0: ; // 0x28953a0 /* 028953A0 */ /* nop */ /* 028953A4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028953A8 */ _t81 = cpu->r[20] + cpu->r[5]; /* 028953A8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t81); /* 028953AC */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028953B0 */ _t82 = cpu->r[10] + cpu->r[8]; /* 028953B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t82); /* 028953B4 */ _t83 = cpu->r[9] + cpu->r[17]; /* 028953B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t83); /* 028953B8 */ cpu->r[8] = 0x00000003u; /* 028953BC */ cpu->r[7] = cpu->r[6] & cpu->r[7]; /* 028953C0 */ /* nop */ /* 028953C4 */ cpu->r[9] = cpu->r[7] | cpu->r[9]; /* 028953C8 */ _t84 = cpu->r[20] + cpu->r[5]; /* 028953C8 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[9]); /* 028953CC */ _t85 = cpu->r[3] + 0x00000018u; /* 028953CC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t85); L_028953D0: ; // 0x28953d0 /* 028953D0 */ cpu->r[19] = 0x00000002u; /* 028953D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[5]); /* 028953D8 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 028953D8 */ _t87 = _t86 & 0x00000001u; /* 028953D8 */ if (_t87) goto L_028953DC; else goto L_02895650; L_028953DC: ; // 0x28953dc /* 028953DC */ cpu->r[0] = 0x00000003u; L_028953E0: ; // 0x28953e0 /* 028953E0 */ cpu->r[6] = cpu->r[19] + 0xFFFFFFFEu; /* 028953E4 */ cpu->r[7] = cpu->r[19] + 0xFFFFFFFFu; /* 028953E8 */ /* nop */ /* 028953EC */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028953F0 */ _t88 = cpu->r[20] + cpu->r[31]; /* 028953F0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t88); /* 028953F4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028953F8 */ _t89 = cpu->r[11] + cpu->r[8]; /* 028953F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t89); /* 028953FC */ cpu->r[29] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895400 */ _t90 = cpu->r[12] + cpu->r[6]; /* 02895400 */ cpu->r[6] = rbrew_read32(cpu->mem, _t90); /* 02895404 */ cpu->r[9] = cpu->r[9] & cpu->r[8]; /* 02895408 */ _t91 = cpu->r[11] + cpu->r[29]; /* 02895408 */ cpu->r[16] = rbrew_read8(cpu->mem, _t91); /* 0289540C */ /* nop */ /* 02895410 */ /* nop */ /* 02895414 */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895418 */ _t92 = cpu->r[20] + cpu->r[28]; /* 02895418 */ cpu->r[9] = rbrew_read8(cpu->mem, _t92); /* 0289541C */ cpu->r[7] = rbrew_rlwinm(cpu->r[19], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895420 */ _t93 = cpu->r[12] + cpu->r[4]; /* 02895420 */ cpu->r[14] = rbrew_read32(cpu->mem, _t93); /* 02895424 */ cpu->r[30] = cpu->r[9] & cpu->r[16]; /* 02895428 */ _t94 = cpu->r[1] + 0x00000012u; /* 02895428 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[9]); /* 0289542C */ /* nop */ /* 02895430 */ _t95 = cpu->r[11] + cpu->r[7]; /* 02895430 */ cpu->r[9] = rbrew_read8(cpu->mem, _t95); /* 02895434 */ /* nop */ /* 02895438 */ cpu->r[7] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 0289543C */ _t96 = cpu->r[20] + cpu->r[30]; /* 0289543C */ cpu->r[26] = rbrew_read8(cpu->mem, _t96); /* 02895440 */ _t97 = cpu->r[7] + cpu->r[12]; /* 02895440 */ cpu->r[7] = rbrew_read32(cpu->mem, _t97); /* 02895444 */ cpu->r[26] = cpu->r[26] & cpu->r[9]; /* 02895448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0289544C */ /* nop */ /* 02895450 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895450 */ _t99 = _t98 & 0x00000001u; /* 02895450 */ if (_t99) goto L_02895454; else goto L_02895644; L_02895454: ; // 0x2895454 /* 02895454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02895458 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895458 */ _t101 = _t100 & 0x00000001u; /* 02895458 */ if (_t101) goto L_02895644; else goto L_0289545C; L_0289545C: ; // 0x289545c /* 0289545C */ cpu->r[27] = cpu->r[19] + 0x00000001u; /* 02895460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[5]); /* 02895464 */ cpu->r[26] = cpu->r[5] - cpu->r[27]; /* 02895468 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895468 */ _t103 = _t102 & 0x00000001u; /* 02895468 */ if (_t103) goto L_0289546C; else goto L_0289549C; L_0289546C: ; // 0x289546c /* 0289546C */ cpu->ctr = cpu->r[26]; L_02895470: ; // 0x2895470 /* 02895470 */ /* nop */ /* 02895474 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895478 */ _t104 = cpu->r[20] + cpu->r[26]; /* 02895478 */ cpu->r[23] = rbrew_read8(cpu->mem, _t104); /* 0289547C */ cpu->r[26] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895480 */ _t105 = cpu->r[11] + cpu->r[24]; /* 02895480 */ cpu->r[24] = rbrew_read8(cpu->mem, _t105); /* 02895484 */ _t106 = cpu->r[26] + cpu->r[12]; /* 02895484 */ cpu->r[26] = rbrew_read32(cpu->mem, _t106); /* 02895488 */ cpu->r[24] = cpu->r[23] & cpu->r[24]; /* 0289548C */ /* nop */ /* 02895490 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895490 */ _t108 = _t107 & 0x00000001u; /* 02895490 */ if (_t108) goto L_0289549C; else goto L_02895494; L_02895494: ; // 0x2895494 /* 02895494 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02895498 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895498 */ _t109 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895498 */ _t110 = _t109 >> (0x00000002u & 31u); /* 02895498 */ _t111 = _t110 & 0x00000001u; /* 02895498 */ if (_t111) goto L_02895470; else goto L_0289549C; L_0289549C: ; // 0x289549c /* 0289549C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000000u); /* 028954A0 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u); /* 028954A0 */ _t113 = _t112 & 0x00000001u; /* 028954A0 */ if (_t113) goto L_0289554C; else goto L_028954A4; L_028954A4: ; // 0x28954a4 /* 028954A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 028954A8 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 028954A8 */ _t115 = _t114 & 0x00000001u; /* 028954A8 */ if (_t115) goto L_02895640; else goto L_028954AC; L_028954AC: ; // 0x28954ac /* 028954AC */ _t116 = cpu->r[3] + 0x0000001Au; /* 028954AC */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t116); /* 028954B0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 028954B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[26]); /* 028954B8 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 028954B8 */ _t118 = _t117 & 0x00000001u; /* 028954B8 */ if (_t118) goto L_02895640; else goto L_028954BC; L_028954BC: ; // 0x28954bc /* 028954BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x0000000Cu); /* 028954C0 */ _t119 = cpu->cr[0] >> (0x00000003u & 31u); /* 028954C0 */ _t120 = _t119 & 0x00000001u; /* 028954C0 */ if (_t120) goto L_02895640; else goto L_028954C4; L_028954C4: ; // 0x28954c4 /* 028954C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000003u); /* 028954C8 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u); /* 028954C8 */ _t122 = _t121 & 0x00000001u; /* 028954C8 */ if (_t122) goto L_028954CC; else goto L_02895640; L_028954CC: ; // 0x28954cc /* 028954CC */ _t123 = cpu->r[21] + cpu->r[31]; /* 028954CC */ cpu->r[26] = rbrew_read8(cpu->mem, _t123); /* 028954D0 */ _t124 = cpu->r[21] + cpu->r[30]; /* 028954D0 */ cpu->r[24] = rbrew_read8(cpu->mem, _t124); /* 028954D4 */ cpu->r[25] = cpu->r[26] & cpu->r[8]; /* 028954D8 */ _t125 = cpu->r[22] + cpu->r[30]; /* 028954D8 */ cpu->r[30] = rbrew_read8(cpu->mem, _t125); /* 028954DC */ cpu->r[24] = cpu->r[24] & cpu->r[9]; /* 028954E0 */ /* nop */ /* 028954E4 */ _t126 = cpu->r[22] + cpu->r[31]; /* 028954E4 */ cpu->r[26] = rbrew_read8(cpu->mem, _t126); /* 028954E8 */ cpu->r[9] = cpu->r[30] & cpu->r[9]; /* 028954EC */ _t127 = cpu->r[22] + cpu->r[28]; /* 028954EC */ cpu->r[31] = rbrew_read8(cpu->mem, _t127); /* 028954F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028954F4 */ cpu->r[8] = cpu->r[26] & cpu->r[8]; /* 028954F8 */ /* nop */ /* 028954FC */ cpu->r[31] = cpu->r[31] & cpu->r[16]; /* 02895500 */ /* nop */ /* 02895504 */ /* nop */ /* 02895508 */ /* nop */ /* 0289550C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289550C */ _t129 = _t128 & 0x00000001u; /* 0289550C */ if (_t129) goto L_02895510; else goto L_02895640; L_02895510: ; // 0x2895510 /* 02895510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000003u); /* 02895514 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895514 */ _t131 = _t130 & 0x00000001u; /* 02895514 */ if (_t131) goto L_02895518; else goto L_02895640; L_02895518: ; // 0x2895518 /* 02895518 */ cpu->r[9] = cpu->r[8] | cpu->r[6]; /* 02895518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0289551C */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289551C */ _t133 = _t132 & 0x00000001u; /* 0289551C */ if (_t133) goto L_02895520; else goto L_02895640; L_02895520: ; // 0x2895520 /* 02895520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u); /* 02895524 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895524 */ _t135 = _t134 & 0x00000001u; /* 02895524 */ if (_t135) goto L_02895528; else goto L_02895640; L_02895528: ; // 0x2895528 /* 02895528 */ _t136 = cpu->r[1] + 0x00000012u; /* 02895528 */ cpu->r[9] = rbrew_read8(cpu->mem, _t136); /* 0289552C */ _t137 = cpu->r[10] + cpu->r[29]; /* 0289552C */ cpu->r[7] = rbrew_read8(cpu->mem, _t137); /* 02895530 */ _t138 = cpu->r[17] + cpu->r[4]; /* 02895530 */ cpu->r[8] = rbrew_read32(cpu->mem, _t138); /* 02895534 */ cpu->r[7] = cpu->r[9] & cpu->r[7]; /* 02895538 */ /* nop */ /* 0289553C */ cpu->r[9] = cpu->r[7] | cpu->r[9]; /* 02895540 */ _t139 = cpu->r[20] + cpu->r[28]; /* 02895540 */ rbrew_write8(cpu->mem, _t139, (uint8_t)cpu->r[9]); /* 02895544 */ _t140 = cpu->r[3] + 0x00000018u; /* 02895544 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t140); /* 02895548 */ goto L_02895640; L_0289554C: ; // 0x289554c /* 0289554C */ cpu->r[9] = cpu->r[25]; /* 02895550 */ cpu->r[4] = cpu->r[19]; /* 02895554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[27]); /* 02895558 */ cpu->r[8] = cpu->r[27] - cpu->r[19]; /* 0289555C */ cpu->r[31] = cpu->r[19]; /* 02895560 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895560 */ _t142 = _t141 & 0x00000001u; /* 02895560 */ if (_t142) goto L_02895564; else goto L_028955A0; L_02895564: ; // 0x2895564 /* 02895564 */ cpu->ctr = cpu->r[8]; L_02895568: ; // 0x2895568 /* 02895568 */ /* nop */ /* 0289556C */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895570 */ _t143 = cpu->r[20] + cpu->r[7]; /* 02895570 */ cpu->r[6] = rbrew_read8(cpu->mem, _t143); /* 02895574 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895578 */ _t144 = cpu->r[11] + cpu->r[8]; /* 02895578 */ cpu->r[8] = rbrew_read8(cpu->mem, _t144); /* 0289557C */ _t145 = cpu->r[7] + cpu->r[12]; /* 0289557C */ cpu->r[7] = rbrew_read32(cpu->mem, _t145); /* 02895580 */ cpu->r[8] = cpu->r[6] & cpu->r[8]; /* 02895584 */ /* nop */ /* 02895588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]); /* 0289558C */ _t146 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289558C */ _t147 = _t146 & 0x00000001u; /* 0289558C */ if (_t147) goto L_02895590; else goto L_02895598; L_02895590: ; // 0x2895590 /* 02895590 */ cpu->r[4] = cpu->r[31]; /* 02895594 */ cpu->r[9] = cpu->r[8]; L_02895598: ; // 0x2895598 /* 02895598 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0289559C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289559C */ _t148 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289559C */ _t149 = _t148 >> (0x00000002u & 31u); /* 0289559C */ _t150 = _t149 & 0x00000001u; /* 0289559C */ if (_t150) goto L_02895568; else goto L_028955A0; L_028955A0: ; // 0x28955a0 /* 028955A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u); /* 028955A4 */ _t151 = cpu->cr[0] >> (0x00000002u & 31u); /* 028955A4 */ _t152 = _t151 & 0x00000001u; /* 028955A4 */ if (_t152) goto L_028955A8; else goto L_02895640; L_028955A8: ; // 0x28955a8 /* 028955A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[4]); /* 028955AC */ cpu->r[31] = cpu->r[19]; /* 028955B0 */ _t153 = cpu->cr[0] >> (0x00000002u & 31u); /* 028955B0 */ _t154 = _t153 & 0x00000001u; /* 028955B0 */ if (_t154) goto L_02895614; else goto L_028955B4; L_028955B4: ; // 0x28955b4 /* 028955B4 */ cpu->r[28] = cpu->r[17]; /* 028955B8 */ cpu->r[9] = cpu->r[31] + 0xFFFFFFFFu; L_028955BC: ; // 0x28955bc /* 028955BC */ /* nop */ /* 028955C0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028955C4 */ /* nop */ /* 028955C8 */ _t155 = cpu->r[11] + cpu->r[8]; /* 028955C8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t155); /* 028955CC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028955D0 */ _t156 = cpu->r[20] + cpu->r[7]; /* 028955D0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t156); /* 028955D4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028955D8 */ _t157 = cpu->r[8] + cpu->r[28]; /* 028955D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t157); /* 028955DC */ cpu->r[6] = cpu->r[5] & cpu->r[6]; /* 028955E0 */ _t158 = cpu->r[7] + cpu->r[12]; /* 028955E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t158); /* 028955E4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028955E8 */ _t159 = cpu->r[20] + cpu->r[29]; /* 028955E8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t159); /* 028955EC */ /* nop */ /* 028955F0 */ _t160 = cpu->r[10] + cpu->r[30]; /* 028955F0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t160); /* 028955F4 */ /* nop */ /* 028955F8 */ cpu->r[7] = cpu->r[5] & cpu->r[6]; /* 028955FC */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02895600 */ cpu->r[8] = cpu->r[7] | cpu->r[8]; /* 02895604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]); /* 02895608 */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 0289560C */ _t161 = cpu->r[20] + cpu->r[29]; /* 0289560C */ rbrew_write8(cpu->mem, _t161, (uint8_t)cpu->r[8]); /* 02895610 */ _t162 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895610 */ _t163 = _t162 & 0x00000001u; /* 02895610 */ if (_t163) goto L_02895614; else goto L_028955BC; L_02895614: ; // 0x2895614 /* 02895614 */ /* nop */ /* 02895618 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0289561C */ _t164 = cpu->r[20] + cpu->r[28]; /* 0289561C */ cpu->r[7] = rbrew_read8(cpu->mem, _t164); /* 02895620 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895624 */ _t165 = cpu->r[10] + cpu->r[8]; /* 02895624 */ cpu->r[8] = rbrew_read8(cpu->mem, _t165); /* 02895628 */ _t166 = cpu->r[9] + cpu->r[17]; /* 02895628 */ cpu->r[9] = rbrew_read32(cpu->mem, _t166); /* 0289562C */ cpu->r[8] = cpu->r[7] & cpu->r[8]; /* 02895630 */ /* nop */ /* 02895634 */ cpu->r[9] = cpu->r[8] | cpu->r[9]; /* 02895638 */ _t167 = cpu->r[20] + cpu->r[28]; /* 02895638 */ rbrew_write8(cpu->mem, _t167, (uint8_t)cpu->r[9]); /* 0289563C */ _t168 = cpu->r[3] + 0x00000018u; /* 0289563C */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t168); L_02895640: ; // 0x2895640 /* 02895640 */ cpu->r[19] = cpu->r[27]; L_02895644: ; // 0x2895644 /* 02895644 */ cpu->r[19] = cpu->r[19] + 0x00000001u; /* 02895648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[5]); /* 0289564C */ _t169 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289564C */ _t170 = _t169 & 0x00000001u; /* 0289564C */ if (_t170) goto L_028953E0; else goto L_02895650; L_02895650: ; // 0x2895650 /* 02895650 */ _t171 = cpu->r[1] + 0x00000018u; /* 02895650 */ cpu->r[8] = rbrew_read32(cpu->mem, _t171); /* 02895654 */ _t172 = cpu->r[3] + 0x0000001Au; /* 02895654 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t172); /* 02895658 */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 0289565C */ cpu->r[21] = cpu->r[21] + cpu->r[8]; /* 02895660 */ cpu->r[20] = cpu->r[20] + cpu->r[8]; /* 02895664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]); /* 02895668 */ cpu->r[22] = cpu->r[22] + cpu->r[8]; /* 0289566C */ _t173 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289566C */ _t174 = _t173 & 0x00000001u; /* 0289566C */ if (_t174) goto L_02895268; else goto L_02895670; L_02895670: ; // 0x2895670 /* 02895670 */ _t175 = cpu->r[1] + 0x0000001Cu; /* 02895670 */ cpu->r[8] = rbrew_read32(cpu->mem, _t175); /* 02895674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 02895678 */ _t176 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895678 */ _t177 = _t176 & 0x00000001u; /* 02895678 */ if (_t177) goto L_02895BF0; else goto L_0289567C; L_0289567C: ; // 0x289567c /* 0289567C */ cpu->r[18] = 0x00000000u; /* 02895680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]); /* 02895684 */ _t178 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895684 */ _t179 = _t178 & 0x00000001u; /* 02895684 */ if (_t179) goto L_02895688; else goto L_02895BF0; L_02895688: ; // 0x2895688 /* 02895688 */ _t180 = cpu->r[1] + 0x0000000Cu; /* 02895688 */ cpu->r[9] = rbrew_read32(cpu->mem, _t180); /* 0289568C */ cpu->r[24] = cpu->r[3] + 0x00000024u; /* 02895690 */ cpu->r[21] = cpu->r[24] - cpu->r[9]; /* 02895694 */ cpu->r[22] = cpu->r[24] + cpu->r[9]; /* 02895698 */ _t181 = cpu->r[1] + 0x00000018u; /* 02895698 */ rbrew_write32(cpu->mem, _t181, cpu->r[9]); L_0289569C: ; // 0x289569c /* 0289569C */ _t182 = cpu->r[3] + 0x00000018u; /* 0289569C */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t182); /* 028956A0 */ cpu->r[7] = cpu->r[5] + 0xFFFFFFFFu; /* 028956A4 */ cpu->r[20] = cpu->r[24]; /* 028956A8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028956AC */ /* nop */ /* 028956B0 */ _t183 = cpu->r[11] + cpu->r[8]; /* 028956B0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t183); /* 028956B4 */ cpu->r[19] = cpu->r[5] + 0xFFFFFFFEu; /* 028956B8 */ _t184 = cpu->r[20] + cpu->r[9]; /* 028956B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t184); /* 028956BC */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028956C0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[19], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028956C4 */ _t185 = cpu->r[9] + cpu->r[12]; /* 028956C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t185); /* 028956C8 */ cpu->r[6] = cpu->r[6] & cpu->r[8]; /* 028956CC */ _t186 = cpu->r[11] + cpu->r[7]; /* 028956CC */ cpu->r[8] = rbrew_read8(cpu->mem, _t186); /* 028956D0 */ /* nop */ /* 028956D4 */ /* nop */ /* 028956D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028956DC */ _t187 = cpu->r[20] + cpu->r[6]; /* 028956DC */ cpu->r[6] = rbrew_read8(cpu->mem, _t187); /* 028956E0 */ _t188 = cpu->r[9] + cpu->r[12]; /* 028956E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t188); /* 028956E4 */ cpu->r[8] = cpu->r[6] & cpu->r[8]; /* 028956E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028956EC */ /* nop */ /* 028956F0 */ _t189 = cpu->cr[0] >> (0x00000001u & 31u); /* 028956F0 */ _t190 = _t189 & 0x00000001u; /* 028956F0 */ if (_t190) goto L_028956F4; else goto L_02895838; L_028956F4: ; // 0x28956f4 /* 028956F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028956F8 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u); /* 028956F8 */ _t192 = _t191 & 0x00000001u; /* 028956F8 */ if (_t192) goto L_02895838; else goto L_028956FC; L_028956FC: ; // 0x28956fc /* 028956FC */ cpu->r[6] = cpu->r[19] + 0xFFFFFFFFu; /* 028956FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02895700 */ cpu->r[9] = cpu->r[19]; /* 02895704 */ _t193 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895704 */ _t194 = _t193 & 0x00000001u; /* 02895704 */ if (_t194) goto L_02895738; else goto L_02895708; L_02895708: ; // 0x2895708 /* 02895708 */ cpu->ctr = cpu->r[9]; L_0289570C: ; // 0x289570c /* 0289570C */ /* nop */ /* 02895710 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895714 */ _t195 = cpu->r[20] + cpu->r[9]; /* 02895714 */ cpu->r[7] = rbrew_read8(cpu->mem, _t195); /* 02895718 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 0289571C */ _t196 = cpu->r[11] + cpu->r[8]; /* 0289571C */ cpu->r[8] = rbrew_read8(cpu->mem, _t196); /* 02895720 */ _t197 = cpu->r[9] + cpu->r[12]; /* 02895720 */ cpu->r[9] = rbrew_read32(cpu->mem, _t197); /* 02895724 */ cpu->r[8] = cpu->r[7] & cpu->r[8]; /* 02895728 */ /* nop */ /* 0289572C */ _t198 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289572C */ _t199 = _t198 & 0x00000001u; /* 0289572C */ if (_t199) goto L_02895738; else goto L_02895730; L_02895730: ; // 0x2895730 /* 02895730 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02895734 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895734 */ _t200 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895734 */ _t201 = _t200 >> (0x00000002u & 31u); /* 02895734 */ _t202 = _t201 & 0x00000001u; /* 02895734 */ if (_t202) goto L_0289570C; else goto L_02895738; L_02895738: ; // 0x2895738 /* 02895738 */ cpu->r[9] = cpu->r[4]; /* 0289573C */ cpu->r[7] = cpu->r[19]; /* 02895740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[19]); /* 02895744 */ cpu->r[8] = cpu->r[19] - cpu->r[6]; /* 02895748 */ cpu->r[6] = cpu->r[19]; /* 0289574C */ _t203 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289574C */ _t204 = _t203 & 0x00000001u; /* 0289574C */ if (_t204) goto L_02895750; else goto L_0289578C; L_02895750: ; // 0x2895750 /* 02895750 */ cpu->ctr = cpu->r[8]; L_02895754: ; // 0x2895754 /* 02895754 */ /* nop */ /* 02895758 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0289575C */ _t205 = cpu->r[20] + cpu->r[4]; /* 0289575C */ cpu->r[30] = rbrew_read8(cpu->mem, _t205); /* 02895760 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895764 */ _t206 = cpu->r[11] + cpu->r[8]; /* 02895764 */ cpu->r[31] = rbrew_read8(cpu->mem, _t206); /* 02895768 */ _t207 = cpu->r[4] + cpu->r[12]; /* 02895768 */ cpu->r[8] = rbrew_read32(cpu->mem, _t207); /* 0289576C */ cpu->r[4] = cpu->r[30] & cpu->r[31]; /* 02895770 */ /* nop */ /* 02895774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]); /* 02895778 */ _t208 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895778 */ _t209 = _t208 & 0x00000001u; /* 02895778 */ if (_t209) goto L_0289577C; else goto L_02895784; L_0289577C: ; // 0x289577c /* 0289577C */ cpu->r[7] = cpu->r[6]; /* 02895780 */ cpu->r[9] = cpu->r[8]; L_02895784: ; // 0x2895784 /* 02895784 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02895788 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895788 */ _t210 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895788 */ _t211 = _t210 >> (0x00000002u & 31u); /* 02895788 */ _t212 = _t211 & 0x00000001u; /* 02895788 */ if (_t212) goto L_02895754; else goto L_0289578C; L_0289578C: ; // 0x289578c /* 0289578C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u); /* 02895790 */ _t213 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895790 */ _t214 = _t213 & 0x00000001u; /* 02895790 */ if (_t214) goto L_02895794; else goto L_02895838; L_02895794: ; // 0x2895794 /* 02895794 */ cpu->r[9] = cpu->r[19] - cpu->r[7]; /* 02895798 */ cpu->r[6] = cpu->r[19]; /* 0289579C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[19]); /* 028957A0 */ cpu->r[8] = cpu->r[9] + 0x00000001u; /* 028957A4 */ _t215 = cpu->cr[0] >> (0x00000002u & 31u); /* 028957A4 */ _t216 = _t215 & 0x00000001u; /* 028957A4 */ if (_t216) goto L_02895808; else goto L_028957A8; L_028957A8: ; // 0x28957a8 /* 028957A8 */ cpu->ctr = cpu->r[8]; /* 028957AC */ cpu->r[31] = cpu->r[6] + 0x00000001u; /* 028957B0 */ cpu->r[9] = cpu->r[17]; L_028957B4: ; // 0x28957b4 /* 028957B4 */ /* nop */ /* 028957B8 */ /* nop */ /* 028957BC */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028957C0 */ _t217 = cpu->r[20] + cpu->r[5]; /* 028957C0 */ cpu->r[29] = rbrew_read8(cpu->mem, _t217); /* 028957C4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028957C8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028957CC */ _t218 = cpu->r[11] + cpu->r[8]; /* 028957CC */ cpu->r[30] = rbrew_read8(cpu->mem, _t218); /* 028957D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028957D4 */ _t219 = cpu->r[5] + cpu->r[12]; /* 028957D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t219); /* 028957D8 */ cpu->r[30] = cpu->r[29] & cpu->r[30]; /* 028957DC */ _t220 = cpu->r[8] + cpu->r[9]; /* 028957DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t220); /* 028957E0 */ /* nop */ /* 028957E4 */ _t221 = cpu->r[10] + cpu->r[28]; /* 028957E4 */ cpu->r[28] = rbrew_read8(cpu->mem, _t221); /* 028957E8 */ /* nop */ /* 028957EC */ _t222 = cpu->r[20] + cpu->r[4]; /* 028957EC */ cpu->r[27] = rbrew_read8(cpu->mem, _t222); /* 028957F0 */ cpu->r[30] = cpu->r[27] & cpu->r[28]; /* 028957F4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028957F8 */ cpu->r[8] = cpu->r[30] | cpu->r[8]; /* 028957FC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 02895800 */ _t223 = cpu->r[20] + cpu->r[4]; /* 02895800 */ rbrew_write8(cpu->mem, _t223, (uint8_t)cpu->r[8]); /* 02895804 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895804 */ _t224 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895804 */ _t225 = _t224 >> (0x00000002u & 31u); /* 02895804 */ _t226 = _t225 & 0x00000001u; /* 02895804 */ if (_t226) goto L_028957B4; else goto L_02895808; L_02895808: ; // 0x2895808 /* 02895808 */ /* nop */ /* 0289580C */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895810 */ _t227 = cpu->r[20] + cpu->r[5]; /* 02895810 */ cpu->r[6] = rbrew_read8(cpu->mem, _t227); /* 02895814 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895818 */ _t228 = cpu->r[10] + cpu->r[8]; /* 02895818 */ cpu->r[7] = rbrew_read8(cpu->mem, _t228); /* 0289581C */ _t229 = cpu->r[9] + cpu->r[17]; /* 0289581C */ cpu->r[9] = rbrew_read32(cpu->mem, _t229); /* 02895820 */ cpu->r[8] = 0x00000003u; /* 02895824 */ cpu->r[7] = cpu->r[6] & cpu->r[7]; /* 02895828 */ /* nop */ /* 0289582C */ cpu->r[9] = cpu->r[7] | cpu->r[9]; /* 02895830 */ _t230 = cpu->r[20] + cpu->r[5]; /* 02895830 */ rbrew_write8(cpu->mem, _t230, (uint8_t)cpu->r[9]); /* 02895834 */ _t231 = cpu->r[3] + 0x00000018u; /* 02895834 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t231); L_02895838: ; // 0x2895838 /* 02895838 */ cpu->r[19] = cpu->r[5] + 0xFFFFFFFDu; /* 02895838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 0289583C */ _t232 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289583C */ _t233 = _t232 & 0x00000001u; /* 0289583C */ if (_t233) goto L_02895BD0; else goto L_02895840; L_02895840: ; // 0x2895840 /* 02895840 */ cpu->r[5] = 0x00000003u; /* 02895844 */ cpu->r[9] = cpu->r[17]; L_02895848: ; // 0x2895848 /* 02895848 */ cpu->r[6] = cpu->r[19] + 0x00000002u; /* 0289584C */ /* nop */ /* 02895850 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895854 */ _t234 = cpu->r[20] + cpu->r[8]; /* 02895854 */ cpu->r[31] = rbrew_read8(cpu->mem, _t234); /* 02895858 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 0289585C */ _t235 = cpu->r[11] + cpu->r[7]; /* 0289585C */ cpu->r[6] = rbrew_read8(cpu->mem, _t235); /* 02895860 */ cpu->r[4] = cpu->r[19] + 0x00000001u; /* 02895864 */ _t236 = cpu->r[8] + cpu->r[12]; /* 02895864 */ cpu->r[7] = rbrew_read32(cpu->mem, _t236); /* 02895868 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0289586C */ cpu->r[31] = cpu->r[31] & cpu->r[6]; /* 02895870 */ _t237 = cpu->r[11] + cpu->r[8]; /* 02895870 */ cpu->r[6] = rbrew_read8(cpu->mem, _t237); /* 02895874 */ /* nop */ /* 02895878 */ /* nop */ /* 0289587C */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895880 */ _t238 = cpu->r[20] + cpu->r[7]; /* 02895880 */ cpu->r[4] = rbrew_read8(cpu->mem, _t238); /* 02895884 */ cpu->r[7] = rbrew_rlwinm(cpu->r[19], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895888 */ _t239 = cpu->r[8] + cpu->r[12]; /* 02895888 */ cpu->r[8] = rbrew_read32(cpu->mem, _t239); /* 0289588C */ cpu->r[6] = cpu->r[4] & cpu->r[6]; /* 02895890 */ _t240 = cpu->r[11] + cpu->r[7]; /* 02895890 */ cpu->r[26] = rbrew_read8(cpu->mem, _t240); /* 02895894 */ /* nop */ /* 02895898 */ /* nop */ /* 0289589C */ cpu->r[6] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028958A0 */ _t241 = cpu->r[20] + cpu->r[30]; /* 028958A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t241); /* 028958A4 */ _t242 = cpu->r[6] + cpu->r[12]; /* 028958A4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t242); /* 028958A8 */ cpu->r[8] = cpu->r[8] & cpu->r[26]; /* 028958AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028958B0 */ /* nop */ /* 028958B4 */ _t243 = cpu->cr[0] >> (0x00000001u & 31u); /* 028958B4 */ _t244 = _t243 & 0x00000001u; /* 028958B4 */ if (_t244) goto L_028958B8; else goto L_02895AE4; L_028958B8: ; // 0x28958b8 /* 028958B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028958BC */ _t245 = cpu->cr[0] >> (0x00000001u & 31u); /* 028958BC */ _t246 = _t245 & 0x00000001u; /* 028958BC */ if (_t246) goto L_02895AE4; else goto L_028958C0; L_028958C0: ; // 0x28958c0 /* 028958C0 */ cpu->r[7] = cpu->r[19] + 0xFFFFFFFFu; /* 028958C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028958C4 */ cpu->r[27] = cpu->r[7]; /* 028958C8 */ cpu->r[8] = cpu->r[27] + 0x00000001u; /* 028958CC */ _t247 = cpu->cr[0] >> (0x00000003u & 31u); /* 028958CC */ _t248 = _t247 & 0x00000001u; /* 028958CC */ if (_t248) goto L_02895900; else goto L_028958D0; L_028958D0: ; // 0x28958d0 /* 028958D0 */ cpu->ctr = cpu->r[8]; L_028958D4: ; // 0x28958d4 /* 028958D4 */ /* nop */ /* 028958D8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 028958DC */ _t249 = cpu->r[20] + cpu->r[8]; /* 028958DC */ cpu->r[29] = rbrew_read8(cpu->mem, _t249); /* 028958E0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 028958E4 */ _t250 = cpu->r[11] + cpu->r[6]; /* 028958E4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t250); /* 028958E8 */ _t251 = cpu->r[8] + cpu->r[12]; /* 028958E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t251); /* 028958EC */ cpu->r[6] = cpu->r[29] & cpu->r[6]; /* 028958F0 */ /* nop */ /* 028958F4 */ _t252 = cpu->cr[0] >> (0x00000001u & 31u); /* 028958F4 */ _t253 = _t252 & 0x00000001u; /* 028958F4 */ if (_t253) goto L_02895900; else goto L_028958F8; L_028958F8: ; // 0x28958f8 /* 028958F8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 028958FC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028958FC */ _t254 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028958FC */ _t255 = _t254 >> (0x00000002u & 31u); /* 028958FC */ _t256 = _t255 & 0x00000001u; /* 028958FC */ if (_t256) goto L_028958D4; else goto L_02895900; L_02895900: ; // 0x2895900 /* 02895900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02895904 */ _t257 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895904 */ _t258 = _t257 & 0x00000001u; /* 02895904 */ if (_t258) goto L_028959E0; else goto L_02895908; L_02895908: ; // 0x2895908 /* 02895908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 0289590C */ _t259 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289590C */ _t260 = _t259 & 0x00000001u; /* 0289590C */ if (_t260) goto L_02895AD8; else goto L_02895910; L_02895910: ; // 0x2895910 /* 02895910 */ _t261 = cpu->r[3] + 0x0000001Au; /* 02895910 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t261); /* 02895914 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 02895918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[8]); /* 0289591C */ _t262 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289591C */ _t263 = _t262 & 0x00000001u; /* 0289591C */ if (_t263) goto L_02895AD8; else goto L_02895920; L_02895920: ; // 0x2895920 /* 02895920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000000Cu); /* 02895924 */ _t264 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895924 */ _t265 = _t264 & 0x00000001u; /* 02895924 */ if (_t265) goto L_02895AD8; else goto L_02895928; L_02895928: ; // 0x2895928 /* 02895928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000003u); /* 0289592C */ _t266 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289592C */ _t267 = _t266 & 0x00000001u; /* 0289592C */ if (_t267) goto L_02895930; else goto L_02895AD8; L_02895930: ; // 0x2895930 /* 02895930 */ cpu->r[6] = cpu->r[19] + 0xFFFFFFFEu; /* 02895934 */ _t268 = cpu->r[21] + cpu->r[30]; /* 02895934 */ cpu->r[4] = rbrew_read8(cpu->mem, _t268); /* 02895938 */ /* nop */ /* 0289593C */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895940 */ _t269 = cpu->r[21] + cpu->r[31]; /* 02895940 */ cpu->r[23] = rbrew_read8(cpu->mem, _t269); /* 02895944 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895948 */ _t270 = cpu->r[11] + cpu->r[8]; /* 02895948 */ cpu->r[28] = rbrew_read8(cpu->mem, _t270); /* 0289594C */ cpu->r[4] = cpu->r[4] & cpu->r[26]; /* 02895950 */ _t271 = cpu->r[22] + cpu->r[31]; /* 02895950 */ cpu->r[31] = rbrew_read8(cpu->mem, _t271); /* 02895954 */ cpu->r[23] = cpu->r[23] & cpu->r[28]; /* 02895958 */ _t272 = cpu->r[12] + cpu->r[6]; /* 02895958 */ cpu->r[6] = rbrew_read32(cpu->mem, _t272); /* 0289595C */ cpu->r[29] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895960 */ cpu->r[28] = cpu->r[31] & cpu->r[28]; /* 02895964 */ _t273 = cpu->r[11] + cpu->r[29]; /* 02895964 */ cpu->r[8] = rbrew_read8(cpu->mem, _t273); /* 02895968 */ /* nop */ /* 0289596C */ _t274 = cpu->r[22] + cpu->r[30]; /* 0289596C */ cpu->r[31] = rbrew_read8(cpu->mem, _t274); /* 02895970 */ /* nop */ /* 02895974 */ /* nop */ /* 02895978 */ /* nop */ /* 0289597C */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895980 */ _t275 = cpu->r[22] + cpu->r[28]; /* 02895980 */ cpu->r[7] = rbrew_read8(cpu->mem, _t275); /* 02895984 */ cpu->r[31] = cpu->r[31] & cpu->r[26]; /* 02895988 */ _t276 = cpu->r[12] + cpu->r[4]; /* 02895988 */ cpu->r[26] = rbrew_read32(cpu->mem, _t276); /* 0289598C */ cpu->r[8] = cpu->r[7] & cpu->r[8]; /* 02895990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02895994 */ /* nop */ /* 02895998 */ /* nop */ /* 0289599C */ _t277 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289599C */ _t278 = _t277 & 0x00000001u; /* 0289599C */ if (_t278) goto L_028959A0; else goto L_02895AD8; L_028959A0: ; // 0x28959a0 /* 028959A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000003u); /* 028959A4 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u); /* 028959A4 */ _t280 = _t279 & 0x00000001u; /* 028959A4 */ if (_t280) goto L_028959A8; else goto L_02895AD8; L_028959A8: ; // 0x28959a8 /* 028959A8 */ cpu->r[8] = cpu->r[6] | cpu->r[8]; /* 028959A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028959AC */ _t281 = cpu->cr[0] >> (0x00000001u & 31u); /* 028959AC */ _t282 = _t281 & 0x00000001u; /* 028959AC */ if (_t282) goto L_028959B0; else goto L_02895AD8; L_028959B0: ; // 0x28959b0 /* 028959B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u); /* 028959B4 */ _t283 = cpu->cr[0] >> (0x00000001u & 31u); /* 028959B4 */ _t284 = _t283 & 0x00000001u; /* 028959B4 */ if (_t284) goto L_028959B8; else goto L_02895AD8; L_028959B8: ; // 0x28959b8 /* 028959B8 */ _t285 = cpu->r[20] + cpu->r[28]; /* 028959B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t285); /* 028959BC */ _t286 = cpu->r[10] + cpu->r[29]; /* 028959BC */ cpu->r[7] = rbrew_read8(cpu->mem, _t286); /* 028959C0 */ _t287 = cpu->r[9] + cpu->r[4]; /* 028959C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t287); /* 028959C4 */ cpu->r[7] = cpu->r[6] & cpu->r[7]; /* 028959C8 */ /* nop */ /* 028959CC */ cpu->r[8] = cpu->r[7] | cpu->r[8]; /* 028959D0 */ cpu->r[19] = cpu->r[27] + 0xFFFFFFFFu; /* 028959D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 028959D4 */ _t288 = cpu->r[20] + cpu->r[28]; /* 028959D4 */ rbrew_write8(cpu->mem, _t288, (uint8_t)cpu->r[8]); /* 028959D8 */ _t289 = cpu->cr[0] >> (0x00000003u & 31u); /* 028959D8 */ _t290 = _t289 & 0x00000001u; /* 028959D8 */ if (_t290) goto L_028959DC; else goto L_02895848; L_028959DC: ; // 0x28959dc /* 028959DC */ goto L_02895BD0; L_028959E0: ; // 0x28959e0 /* 028959E0 */ cpu->r[8] = cpu->r[4]; /* 028959E4 */ cpu->r[26] = cpu->r[19]; /* 028959E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[19]); /* 028959EC */ cpu->r[7] = cpu->r[19] - cpu->r[27]; /* 028959F0 */ cpu->r[28] = cpu->r[19]; /* 028959F4 */ _t291 = cpu->cr[0] >> (0x00000003u & 31u); /* 028959F4 */ _t292 = _t291 & 0x00000001u; /* 028959F4 */ if (_t292) goto L_028959F8; else goto L_02895A34; L_028959F8: ; // 0x28959f8 /* 028959F8 */ cpu->ctr = cpu->r[7]; L_028959FC: ; // 0x28959fc /* 028959FC */ /* nop */ /* 02895A00 */ cpu->r[7] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895A04 */ _t293 = cpu->r[20] + cpu->r[6]; /* 02895A04 */ cpu->r[4] = rbrew_read8(cpu->mem, _t293); /* 02895A08 */ cpu->r[6] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895A0C */ _t294 = cpu->r[11] + cpu->r[7]; /* 02895A0C */ cpu->r[31] = rbrew_read8(cpu->mem, _t294); /* 02895A10 */ _t295 = cpu->r[6] + cpu->r[12]; /* 02895A10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t295); /* 02895A14 */ cpu->r[6] = cpu->r[4] & cpu->r[31]; /* 02895A18 */ /* nop */ /* 02895A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]); /* 02895A20 */ _t296 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895A20 */ _t297 = _t296 & 0x00000001u; /* 02895A20 */ if (_t297) goto L_02895A24; else goto L_02895A2C; L_02895A24: ; // 0x2895a24 /* 02895A24 */ cpu->r[26] = cpu->r[28]; /* 02895A28 */ cpu->r[8] = cpu->r[7]; L_02895A2C: ; // 0x2895a2c /* 02895A2C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02895A30 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895A30 */ _t298 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895A30 */ _t299 = _t298 >> (0x00000002u & 31u); /* 02895A30 */ _t300 = _t299 & 0x00000001u; /* 02895A30 */ if (_t300) goto L_028959FC; else goto L_02895A34; L_02895A34: ; // 0x2895a34 /* 02895A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 02895A38 */ _t301 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895A38 */ _t302 = _t301 & 0x00000001u; /* 02895A38 */ if (_t302) goto L_02895A3C; else goto L_02895AD8; L_02895A3C: ; // 0x2895a3c /* 02895A3C */ cpu->r[8] = cpu->r[19] - cpu->r[26]; /* 02895A40 */ cpu->r[28] = cpu->r[19]; /* 02895A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[19]); /* 02895A48 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02895A4C */ _t303 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895A4C */ _t304 = _t303 & 0x00000001u; /* 02895A4C */ if (_t304) goto L_02895AB0; else goto L_02895A50; L_02895A50: ; // 0x2895a50 /* 02895A50 */ cpu->ctr = cpu->r[8]; /* 02895A54 */ cpu->r[25] = cpu->r[28] + 0x00000001u; /* 02895A58 */ cpu->r[9] = cpu->r[17]; L_02895A5C: ; // 0x2895a5c /* 02895A5C */ /* nop */ /* 02895A60 */ /* nop */ /* 02895A64 */ cpu->r[7] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895A68 */ _t305 = cpu->r[20] + cpu->r[8]; /* 02895A68 */ cpu->r[4] = rbrew_read8(cpu->mem, _t305); /* 02895A6C */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895A70 */ _t306 = cpu->r[11] + cpu->r[7]; /* 02895A70 */ cpu->r[6] = rbrew_read8(cpu->mem, _t306); /* 02895A74 */ cpu->r[7] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895A78 */ _t307 = cpu->r[10] + cpu->r[8]; /* 02895A78 */ cpu->r[31] = rbrew_read8(cpu->mem, _t307); /* 02895A7C */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895A80 */ _t308 = cpu->r[7] + cpu->r[12]; /* 02895A80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t308); /* 02895A84 */ cpu->r[6] = cpu->r[4] & cpu->r[6]; /* 02895A88 */ _t309 = cpu->r[8] + cpu->r[9]; /* 02895A88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t309); /* 02895A8C */ /* nop */ /* 02895A90 */ _t310 = cpu->r[20] + cpu->r[29]; /* 02895A90 */ cpu->r[30] = rbrew_read8(cpu->mem, _t310); /* 02895A94 */ /* nop */ /* 02895A98 */ cpu->r[6] = cpu->r[30] & cpu->r[31]; /* 02895A9C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02895AA0 */ cpu->r[8] = cpu->r[6] | cpu->r[8]; /* 02895AA4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02895AA8 */ _t311 = cpu->r[20] + cpu->r[29]; /* 02895AA8 */ rbrew_write8(cpu->mem, _t311, (uint8_t)cpu->r[8]); /* 02895AAC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895AAC */ _t312 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895AAC */ _t313 = _t312 >> (0x00000002u & 31u); /* 02895AAC */ _t314 = _t313 & 0x00000001u; /* 02895AAC */ if (_t314) goto L_02895A5C; else goto L_02895AB0; L_02895AB0: ; // 0x2895ab0 /* 02895AB0 */ /* nop */ /* 02895AB4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895AB8 */ _t315 = cpu->r[20] + cpu->r[4]; /* 02895AB8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t315); /* 02895ABC */ cpu->r[8] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895AC0 */ _t316 = cpu->r[10] + cpu->r[7]; /* 02895AC0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t316); /* 02895AC4 */ _t317 = cpu->r[8] + cpu->r[9]; /* 02895AC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t317); /* 02895AC8 */ cpu->r[7] = cpu->r[6] & cpu->r[7]; /* 02895ACC */ /* nop */ /* 02895AD0 */ cpu->r[8] = cpu->r[7] | cpu->r[8]; /* 02895AD4 */ _t318 = cpu->r[20] + cpu->r[4]; /* 02895AD4 */ rbrew_write8(cpu->mem, _t318, (uint8_t)cpu->r[8]); L_02895AD8: ; // 0x2895ad8 /* 02895AD8 */ cpu->r[19] = cpu->r[27] + 0xFFFFFFFFu; /* 02895AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02895ADC */ _t319 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895ADC */ _t320 = _t319 & 0x00000001u; /* 02895ADC */ if (_t320) goto L_02895AE0; else goto L_02895848; L_02895AE0: ; // 0x2895ae0 /* 02895AE0 */ goto L_02895BD0; L_02895AE4: ; // 0x2895ae4 /* 02895AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 02895AE8 */ _t321 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895AE8 */ _t322 = _t321 & 0x00000001u; /* 02895AE8 */ if (_t322) goto L_02895B14; else goto L_02895AEC; L_02895AEC: ; // 0x2895aec /* 02895AEC */ _t323 = cpu->r[3] + 0x0000001Au; /* 02895AEC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t323); /* 02895AF0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 02895AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[8]); /* 02895AF8 */ _t324 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895AF8 */ _t325 = _t324 & 0x00000001u; /* 02895AF8 */ if (_t325) goto L_02895B14; else goto L_02895AFC; L_02895AFC: ; // 0x2895afc /* 02895AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000003u); /* 02895B00 */ _t326 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895B00 */ _t327 = _t326 & 0x00000001u; /* 02895B00 */ if (_t327) goto L_02895B04; else goto L_02895B14; L_02895B04: ; // 0x2895b04 /* 02895B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02895B08 */ _t328 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895B08 */ _t329 = _t328 & 0x00000001u; /* 02895B08 */ if (_t329) goto L_02895B0C; else goto L_02895B14; L_02895B0C: ; // 0x2895b0c /* 02895B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000003u); /* 02895B10 */ _t330 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895B10 */ _t331 = _t330 & 0x00000001u; /* 02895B10 */ if (_t331) goto L_02895B20; else goto L_02895B14; L_02895B14: ; // 0x2895b14 /* 02895B14 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu; /* 02895B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02895B18 */ _t332 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895B18 */ _t333 = _t332 & 0x00000001u; /* 02895B18 */ if (_t333) goto L_02895B1C; else goto L_02895848; L_02895B1C: ; // 0x2895b1c /* 02895B1C */ goto L_02895BD0; L_02895B20: ; // 0x2895b20 /* 02895B20 */ cpu->r[6] = cpu->r[19] + 0xFFFFFFFEu; /* 02895B24 */ _t334 = cpu->r[21] + cpu->r[30]; /* 02895B24 */ cpu->r[7] = rbrew_read8(cpu->mem, _t334); /* 02895B28 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895B2C */ /* nop */ /* 02895B30 */ _t335 = cpu->r[11] + cpu->r[8]; /* 02895B30 */ cpu->r[27] = rbrew_read8(cpu->mem, _t335); /* 02895B34 */ cpu->r[28] = cpu->r[7] & cpu->r[26]; /* 02895B38 */ _t336 = cpu->r[21] + cpu->r[31]; /* 02895B38 */ cpu->r[23] = rbrew_read8(cpu->mem, _t336); /* 02895B3C */ cpu->r[7] = cpu->r[19] + 0xFFFFFFFFu; /* 02895B40 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895B44 */ _t337 = cpu->r[22] + cpu->r[31]; /* 02895B44 */ cpu->r[4] = rbrew_read8(cpu->mem, _t337); /* 02895B48 */ cpu->r[31] = cpu->r[23] & cpu->r[27]; /* 02895B4C */ _t338 = cpu->r[12] + cpu->r[6]; /* 02895B4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t338); /* 02895B50 */ cpu->r[29] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02895B54 */ cpu->r[4] = cpu->r[4] & cpu->r[27]; /* 02895B58 */ _t339 = cpu->r[22] + cpu->r[30]; /* 02895B58 */ cpu->r[30] = rbrew_read8(cpu->mem, _t339); /* 02895B5C */ /* nop */ /* 02895B60 */ /* nop */ /* 02895B64 */ _t340 = cpu->r[11] + cpu->r[29]; /* 02895B64 */ cpu->r[8] = rbrew_read8(cpu->mem, _t340); /* 02895B68 */ /* nop */ /* 02895B6C */ /* nop */ /* 02895B70 */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 02895B74 */ _t341 = cpu->r[22] + cpu->r[28]; /* 02895B74 */ cpu->r[6] = rbrew_read8(cpu->mem, _t341); /* 02895B78 */ cpu->r[30] = cpu->r[30] & cpu->r[26]; /* 02895B7C */ _t342 = cpu->r[12] + cpu->r[4]; /* 02895B7C */ cpu->r[26] = rbrew_read32(cpu->mem, _t342); /* 02895B80 */ cpu->r[8] = cpu->r[6] & cpu->r[8]; /* 02895B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02895B88 */ /* nop */ /* 02895B8C */ /* nop */ /* 02895B90 */ _t343 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895B90 */ _t344 = _t343 & 0x00000001u; /* 02895B90 */ if (_t344) goto L_02895B94; else goto L_02895BC8; L_02895B94: ; // 0x2895b94 /* 02895B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000003u); /* 02895B98 */ _t345 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895B98 */ _t346 = _t345 & 0x00000001u; /* 02895B98 */ if (_t346) goto L_02895B9C; else goto L_02895BC8; L_02895B9C: ; // 0x2895b9c /* 02895B9C */ cpu->r[8] = cpu->r[23] | cpu->r[8]; /* 02895B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02895BA0 */ _t347 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895BA0 */ _t348 = _t347 & 0x00000001u; /* 02895BA0 */ if (_t348) goto L_02895BA4; else goto L_02895BC8; L_02895BA4: ; // 0x2895ba4 /* 02895BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000003u); /* 02895BA8 */ _t349 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895BA8 */ _t350 = _t349 & 0x00000001u; /* 02895BA8 */ if (_t350) goto L_02895BAC; else goto L_02895BC8; L_02895BAC: ; // 0x2895bac /* 02895BAC */ _t351 = cpu->r[20] + cpu->r[28]; /* 02895BAC */ cpu->r[31] = rbrew_read8(cpu->mem, _t351); /* 02895BB0 */ _t352 = cpu->r[10] + cpu->r[29]; /* 02895BB0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t352); /* 02895BB4 */ _t353 = cpu->r[9] + cpu->r[4]; /* 02895BB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t353); /* 02895BB8 */ cpu->r[8] = cpu->r[31] & cpu->r[8]; /* 02895BBC */ /* nop */ /* 02895BC0 */ cpu->r[8] = cpu->r[8] | cpu->r[6]; /* 02895BC4 */ _t354 = cpu->r[20] + cpu->r[28]; /* 02895BC4 */ rbrew_write8(cpu->mem, _t354, (uint8_t)cpu->r[8]); L_02895BC8: ; // 0x2895bc8 /* 02895BC8 */ cpu->r[19] = cpu->r[7]; /* 02895BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02895BCC */ _t355 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895BCC */ _t356 = _t355 & 0x00000001u; /* 02895BCC */ if (_t356) goto L_02895BD0; else goto L_02895848; L_02895BD0: ; // 0x2895bd0 /* 02895BD0 */ _t357 = cpu->r[1] + 0x00000018u; /* 02895BD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t357); /* 02895BD4 */ _t358 = cpu->r[3] + 0x0000001Au; /* 02895BD4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t358); /* 02895BD8 */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 02895BDC */ cpu->r[21] = cpu->r[21] + cpu->r[9]; /* 02895BE0 */ cpu->r[24] = cpu->r[24] + cpu->r[9]; /* 02895BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[8]); /* 02895BE8 */ cpu->r[22] = cpu->r[22] + cpu->r[9]; /* 02895BEC */ _t359 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895BEC */ _t360 = _t359 & 0x00000001u; /* 02895BEC */ if (_t360) goto L_0289569C; else goto L_02895BF0; L_02895BF0: ; // 0x2895bf0 /* 02895BF0 */ /* nop */ /* 02895BF4 */ cpu->r[1] = cpu->r[1] + 0x00000090u; /* 02895BF8 */ return; } // fn_02895BFC @ 0x2895bfc void Gambit_fn_02895BFC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_02895BFC: ; // 0x2895bfc /* 02895BFC */ _t0 = cpu->r[1] + 0xFFFFFF80u; /* 02895BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02895BFC */ cpu->r[1] = _t0; /* 02895C00 */ /* nop */ /* 02895C04 */ cpu->r[6] = 0x000000F0u; /* 02895C08 */ _t1 = cpu->r[1] + 0x00000023u; /* 02895C08 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[6]); /* 02895C0C */ cpu->r[7] = 0x00000004u; /* 02895C10 */ _t2 = cpu->r[1] + 0x00000024u; /* 02895C10 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]); /* 02895C14 */ _t3 = cpu->r[1] + 0x00000020u; /* 02895C14 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[6]); /* 02895C18 */ _t4 = cpu->r[1] + 0x0000002Cu; /* 02895C18 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]); /* 02895C1C */ cpu->r[8] = 0x00000000u; /* 02895C20 */ _t5 = cpu->r[1] + 0x00000030u; /* 02895C20 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 02895C24 */ cpu->r[7] = 0x0000000Fu; /* 02895C28 */ _t6 = cpu->r[1] + 0x00000021u; /* 02895C28 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[7]); /* 02895C2C */ _t7 = cpu->r[1] + 0x00000028u; /* 02895C2C */ rbrew_write32(cpu->mem, _t7, cpu->r[8]); /* 02895C30 */ cpu->r[9] = cpu->r[3]; /* 02895C34 */ _t8 = cpu->r[9] + 0x0000001Cu; /* 02895C34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 02895C38 */ _t9 = cpu->r[1] + 0x00000022u; /* 02895C38 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[7]); /* 02895C3C */ _t10 = cpu->r[9] + 0x00000020u; /* 02895C3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 02895C40 */ cpu->r[3] = cpu->r[4]; /* 02895C44 */ cpu->r[11] = cpu->r[1] + 0x00000020u; /* 02895C48 */ _t11 = cpu->r[9] + 0x0000000Eu; /* 02895C48 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11); /* 02895C4C */ cpu->r[12] = cpu->r[1] + 0x00000024u; /* 02895C50 */ cpu->r[10] = cpu->r[1] + 0x00000022u; /* 02895C54 */ cpu->r[17] = cpu->r[1] + 0x0000002Cu; /* 02895C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02895C5C */ _t12 = cpu->r[1] + 0x0000001Cu; /* 02895C5C */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 02895C60 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895C60 */ _t14 = _t13 & 0x00000001u; /* 02895C60 */ if (_t14) goto L_0289663C; else goto L_02895C64; L_02895C64: ; // 0x2895c64 /* 02895C64 */ _t15 = cpu->r[3] + 0x0000001Au; /* 02895C64 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 02895C68 */ cpu->r[18] = 0x00000000u; /* 02895C6C */ _t16 = cpu->r[3] + 0x0000001Cu; /* 02895C6C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 02895C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]); /* 02895C74 */ _t17 = cpu->r[1] + 0x00000014u; /* 02895C74 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]); /* 02895C78 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895C78 */ _t19 = _t18 & 0x00000001u; /* 02895C78 */ if (_t19) goto L_02895C7C; else goto L_028960BC; L_02895C7C: ; // 0x2895c7c /* 02895C7C */ _t20 = cpu->r[11] + 0x00000001u; /* 02895C7C */ cpu->r[9] = rbrew_read8(cpu->mem, _t20); /* 02895C80 */ _t21 = cpu->r[1] + 0x00000009u; /* 02895C80 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[9]); /* 02895C84 */ _t22 = cpu->r[11] + 0x00000000u; /* 02895C84 */ cpu->r[9] = rbrew_read8(cpu->mem, _t22); /* 02895C88 */ _t23 = cpu->r[1] + 0x00000014u; /* 02895C88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 02895C8C */ _t24 = cpu->r[1] + 0x00000008u; /* 02895C8C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[9]); /* 02895C90 */ _t25 = cpu->r[12] + 0x00000004u; /* 02895C90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25); /* 02895C94 */ _t26 = cpu->r[3] + 0x00000018u; /* 02895C94 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t26); /* 02895C98 */ _t27 = cpu->r[1] + 0x00000018u; /* 02895C98 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]); /* 02895C9C */ cpu->r[20] = cpu->r[3] + 0x00000024u; /* 02895CA0 */ _t28 = cpu->r[12] + 0x00000000u; /* 02895CA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); /* 02895CA4 */ cpu->r[22] = cpu->r[20] + cpu->r[8]; /* 02895CA8 */ _t29 = cpu->r[1] + 0x00000010u; /* 02895CA8 */ rbrew_write32(cpu->mem, _t29, cpu->r[8]); /* 02895CAC */ cpu->r[21] = cpu->r[20] - cpu->r[8]; /* 02895CB0 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 02895CB0 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]); L_02895CB4: ; // 0x2895cb4 /* 02895CB4 */ _t31 = cpu->r[20] + 0x00000000u; /* 02895CB4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t31); /* 02895CB8 */ _t32 = cpu->r[1] + 0x00000008u; /* 02895CB8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t32); /* 02895CBC */ cpu->r[8] = cpu->r[9] & cpu->r[8]; /* 02895CC0 */ _t33 = cpu->r[1] + 0x0000000Cu; /* 02895CC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 02895CC4 */ /* nop */ /* 02895CC8 */ _t34 = cpu->r[1] + 0x00000009u; /* 02895CC8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t34); /* 02895CCC */ cpu->r[9] = cpu->r[9] & cpu->r[8]; /* 02895CD0 */ _t35 = cpu->r[1] + 0x00000018u; /* 02895CD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35); /* 02895CD4 */ /* nop */ /* 02895CD8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895CD8 */ _t37 = _t36 & 0x00000001u; /* 02895CD8 */ if (_t37) goto L_02895CDC; else goto L_02895E1C; L_02895CDC: ; // 0x2895cdc /* 02895CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02895CE0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895CE0 */ _t39 = _t38 & 0x00000001u; /* 02895CE0 */ if (_t39) goto L_02895E1C; else goto L_02895CE4; L_02895CE4: ; // 0x2895ce4 /* 02895CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u); /* 02895CE8 */ cpu->r[9] = cpu->r[5] + 0xFFFFFFFEu; /* 02895CEC */ cpu->r[31] = 0x00000002u; /* 02895CF0 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895CF0 */ _t41 = _t40 & 0x00000001u; /* 02895CF0 */ if (_t41) goto L_02895CF4; else goto L_02895D24; L_02895CF4: ; // 0x2895cf4 /* 02895CF4 */ cpu->ctr = cpu->r[9]; L_02895CF8: ; // 0x2895cf8 /* 02895CF8 */ /* nop */ /* 02895CFC */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895D00 */ _t42 = cpu->r[20] + cpu->r[9]; /* 02895D00 */ cpu->r[7] = rbrew_read8(cpu->mem, _t42); /* 02895D04 */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895D08 */ _t43 = cpu->r[11] + cpu->r[8]; /* 02895D08 */ cpu->r[8] = rbrew_read8(cpu->mem, _t43); /* 02895D0C */ _t44 = cpu->r[9] + cpu->r[12]; /* 02895D0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t44); /* 02895D10 */ cpu->r[8] = cpu->r[7] & cpu->r[8]; /* 02895D14 */ /* nop */ /* 02895D18 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895D18 */ _t46 = _t45 & 0x00000001u; /* 02895D18 */ if (_t46) goto L_02895D24; else goto L_02895D1C; L_02895D1C: ; // 0x2895d1c /* 02895D1C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02895D20 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895D20 */ _t47 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895D20 */ _t48 = _t47 >> (0x00000002u & 31u); /* 02895D20 */ _t49 = _t48 & 0x00000001u; /* 02895D20 */ if (_t49) goto L_02895CF8; else goto L_02895D24; L_02895D24: ; // 0x2895d24 /* 02895D24 */ cpu->r[9] = cpu->r[26]; /* 02895D28 */ cpu->r[6] = 0x00000001u; /* 02895D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u); /* 02895D30 */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFFu; /* 02895D34 */ cpu->r[4] = cpu->r[6]; /* 02895D38 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895D38 */ _t51 = _t50 & 0x00000001u; /* 02895D38 */ if (_t51) goto L_02895D3C; else goto L_02895D78; L_02895D3C: ; // 0x2895d3c /* 02895D3C */ cpu->ctr = cpu->r[8]; L_02895D40: ; // 0x2895d40 /* 02895D40 */ /* nop */ /* 02895D44 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895D48 */ _t52 = cpu->r[20] + cpu->r[8]; /* 02895D48 */ cpu->r[31] = rbrew_read8(cpu->mem, _t52); /* 02895D4C */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895D50 */ _t53 = cpu->r[11] + cpu->r[7]; /* 02895D50 */ cpu->r[7] = rbrew_read8(cpu->mem, _t53); /* 02895D54 */ _t54 = cpu->r[8] + cpu->r[12]; /* 02895D54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54); /* 02895D58 */ cpu->r[7] = cpu->r[31] & cpu->r[7]; /* 02895D5C */ /* nop */ /* 02895D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]); /* 02895D64 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895D64 */ _t56 = _t55 & 0x00000001u; /* 02895D64 */ if (_t56) goto L_02895D68; else goto L_02895D70; L_02895D68: ; // 0x2895d68 /* 02895D68 */ cpu->r[6] = cpu->r[4]; /* 02895D6C */ cpu->r[9] = cpu->r[8]; L_02895D70: ; // 0x2895d70 /* 02895D70 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02895D74 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895D74 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895D74 */ _t58 = _t57 >> (0x00000002u & 31u); /* 02895D74 */ _t59 = _t58 & 0x00000001u; /* 02895D74 */ if (_t59) goto L_02895D40; else goto L_02895D78; L_02895D78: ; // 0x2895d78 /* 02895D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000004u); /* 02895D7C */ _t60 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895D7C */ _t61 = _t60 & 0x00000001u; /* 02895D7C */ if (_t61) goto L_02895D80; else goto L_02895E1C; L_02895D80: ; // 0x2895d80 /* 02895D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02895D84 */ cpu->r[4] = 0x00000001u; /* 02895D88 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895D88 */ _t63 = _t62 & 0x00000001u; /* 02895D88 */ if (_t63) goto L_02895D8C; else goto L_02895DEC; L_02895D8C: ; // 0x2895d8c /* 02895D8C */ cpu->r[9] = cpu->r[17]; /* 02895D90 */ cpu->r[30] = 0x00000000u; L_02895D94: ; // 0x2895d94 /* 02895D94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895D98 */ /* nop */ /* 02895D9C */ _t64 = cpu->r[11] + cpu->r[7]; /* 02895D9C */ cpu->r[31] = rbrew_read8(cpu->mem, _t64); /* 02895DA0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895DA4 */ _t65 = cpu->r[20] + cpu->r[8]; /* 02895DA4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t65); /* 02895DA8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895DAC */ _t66 = cpu->r[7] + cpu->r[12]; /* 02895DAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 02895DB0 */ cpu->r[31] = cpu->r[29] & cpu->r[31]; /* 02895DB4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895DB8 */ _t67 = cpu->r[8] + cpu->r[9]; /* 02895DB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t67); /* 02895DBC */ /* nop */ /* 02895DC0 */ /* nop */ /* 02895DC4 */ _t68 = cpu->r[10] + cpu->r[7]; /* 02895DC4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t68); /* 02895DC8 */ _t69 = cpu->r[20] + cpu->r[31]; /* 02895DC8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t69); /* 02895DCC */ /* nop */ /* 02895DD0 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02895DD4 */ cpu->r[7] = cpu->r[5] & cpu->r[7]; /* 02895DD8 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 02895DDC */ cpu->r[8] = cpu->r[7] | cpu->r[8]; /* 02895DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[6]); /* 02895DE4 */ _t70 = cpu->r[20] + cpu->r[31]; /* 02895DE4 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[8]); /* 02895DE8 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895DE8 */ _t72 = _t71 & 0x00000001u; /* 02895DE8 */ if (_t72) goto L_02895DEC; else goto L_02895D94; L_02895DEC: ; // 0x2895dec /* 02895DEC */ /* nop */ /* 02895DF0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895DF4 */ _t73 = cpu->r[20] + cpu->r[7]; /* 02895DF4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t73); /* 02895DF8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895DFC */ _t74 = cpu->r[10] + cpu->r[8]; /* 02895DFC */ cpu->r[5] = rbrew_read8(cpu->mem, _t74); /* 02895E00 */ _t75 = cpu->r[6] + cpu->r[17]; /* 02895E00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75); /* 02895E04 */ cpu->r[6] = 0x0000000Fu; /* 02895E08 */ cpu->r[9] = cpu->r[9] & cpu->r[5]; /* 02895E0C */ /* nop */ /* 02895E10 */ cpu->r[9] = cpu->r[9] | cpu->r[8]; /* 02895E14 */ _t76 = cpu->r[20] + cpu->r[7]; /* 02895E14 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[9]); /* 02895E18 */ _t77 = cpu->r[3] + 0x00000018u; /* 02895E18 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t77); L_02895E1C: ; // 0x2895e1c /* 02895E1C */ cpu->r[19] = 0x00000002u; /* 02895E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[5]); /* 02895E24 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895E24 */ _t79 = _t78 & 0x00000001u; /* 02895E24 */ if (_t79) goto L_02895E28; else goto L_0289609C; L_02895E28: ; // 0x2895e28 /* 02895E28 */ cpu->r[0] = 0x0000000Fu; L_02895E2C: ; // 0x2895e2c /* 02895E2C */ cpu->r[6] = cpu->r[19] + 0xFFFFFFFEu; /* 02895E30 */ cpu->r[9] = cpu->r[19] + 0xFFFFFFFFu; /* 02895E34 */ /* nop */ /* 02895E38 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895E3C */ _t80 = cpu->r[20] + cpu->r[31]; /* 02895E3C */ cpu->r[7] = rbrew_read8(cpu->mem, _t80); /* 02895E40 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895E44 */ _t81 = cpu->r[11] + cpu->r[4]; /* 02895E44 */ cpu->r[8] = rbrew_read8(cpu->mem, _t81); /* 02895E48 */ cpu->r[29] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895E4C */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895E50 */ _t82 = cpu->r[12] + cpu->r[6]; /* 02895E50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82); /* 02895E54 */ cpu->r[7] = cpu->r[7] & cpu->r[8]; /* 02895E58 */ _t83 = cpu->r[12] + cpu->r[4]; /* 02895E58 */ cpu->r[14] = rbrew_read32(cpu->mem, _t83); /* 02895E5C */ /* nop */ /* 02895E60 */ _t84 = cpu->r[11] + cpu->r[29]; /* 02895E60 */ cpu->r[16] = rbrew_read8(cpu->mem, _t84); /* 02895E64 */ /* nop */ /* 02895E68 */ _t85 = cpu->r[20] + cpu->r[28]; /* 02895E68 */ cpu->r[7] = rbrew_read8(cpu->mem, _t85); /* 02895E6C */ cpu->r[9] = rbrew_rlwinm(cpu->r[19], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895E70 */ _t86 = cpu->r[1] + 0x0000000Au; /* 02895E70 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[7]); /* 02895E74 */ cpu->r[7] = cpu->r[7] & cpu->r[16]; /* 02895E78 */ _t87 = cpu->r[11] + cpu->r[9]; /* 02895E78 */ cpu->r[9] = rbrew_read8(cpu->mem, _t87); /* 02895E7C */ /* nop */ /* 02895E80 */ /* nop */ /* 02895E84 */ cpu->r[7] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895E88 */ _t88 = cpu->r[20] + cpu->r[30]; /* 02895E88 */ cpu->r[26] = rbrew_read8(cpu->mem, _t88); /* 02895E8C */ _t89 = cpu->r[7] + cpu->r[12]; /* 02895E8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t89); /* 02895E90 */ cpu->r[26] = cpu->r[26] & cpu->r[9]; /* 02895E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02895E98 */ /* nop */ /* 02895E9C */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895E9C */ _t91 = _t90 & 0x00000001u; /* 02895E9C */ if (_t91) goto L_02895EA0; else goto L_02896090; L_02895EA0: ; // 0x2895ea0 /* 02895EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02895EA4 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895EA4 */ _t93 = _t92 & 0x00000001u; /* 02895EA4 */ if (_t93) goto L_02896090; else goto L_02895EA8; L_02895EA8: ; // 0x2895ea8 /* 02895EA8 */ cpu->r[27] = cpu->r[19] + 0x00000001u; /* 02895EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[5]); /* 02895EB0 */ cpu->r[25] = cpu->r[5] - cpu->r[27]; /* 02895EB4 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895EB4 */ _t95 = _t94 & 0x00000001u; /* 02895EB4 */ if (_t95) goto L_02895EB8; else goto L_02895EE8; L_02895EB8: ; // 0x2895eb8 /* 02895EB8 */ cpu->ctr = cpu->r[25]; L_02895EBC: ; // 0x2895ebc /* 02895EBC */ /* nop */ /* 02895EC0 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895EC4 */ _t96 = cpu->r[20] + cpu->r[25]; /* 02895EC4 */ cpu->r[23] = rbrew_read8(cpu->mem, _t96); /* 02895EC8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895ECC */ _t97 = cpu->r[11] + cpu->r[24]; /* 02895ECC */ cpu->r[24] = rbrew_read8(cpu->mem, _t97); /* 02895ED0 */ _t98 = cpu->r[25] + cpu->r[12]; /* 02895ED0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t98); /* 02895ED4 */ cpu->r[24] = cpu->r[23] & cpu->r[24]; /* 02895ED8 */ /* nop */ /* 02895EDC */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895EDC */ _t100 = _t99 & 0x00000001u; /* 02895EDC */ if (_t100) goto L_02895EE8; else goto L_02895EE0; L_02895EE0: ; // 0x2895ee0 /* 02895EE0 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02895EE4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895EE4 */ _t101 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895EE4 */ _t102 = _t101 >> (0x00000002u & 31u); /* 02895EE4 */ _t103 = _t102 & 0x00000001u; /* 02895EE4 */ if (_t103) goto L_02895EBC; else goto L_02895EE8; L_02895EE8: ; // 0x2895ee8 /* 02895EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000000u); /* 02895EEC */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895EEC */ _t105 = _t104 & 0x00000001u; /* 02895EEC */ if (_t105) goto L_02895F98; else goto L_02895EF0; L_02895EF0: ; // 0x2895ef0 /* 02895EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 02895EF4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895EF4 */ _t107 = _t106 & 0x00000001u; /* 02895EF4 */ if (_t107) goto L_0289608C; else goto L_02895EF8; L_02895EF8: ; // 0x2895ef8 /* 02895EF8 */ _t108 = cpu->r[3] + 0x0000001Au; /* 02895EF8 */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t108); /* 02895EFC */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02895F00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[25]); /* 02895F04 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895F04 */ _t110 = _t109 & 0x00000001u; /* 02895F04 */ if (_t110) goto L_0289608C; else goto L_02895F08; L_02895F08: ; // 0x2895f08 /* 02895F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x0000000Cu); /* 02895F0C */ _t111 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895F0C */ _t112 = _t111 & 0x00000001u; /* 02895F0C */ if (_t112) goto L_0289608C; else goto L_02895F10; L_02895F10: ; // 0x2895f10 /* 02895F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Fu); /* 02895F14 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895F14 */ _t114 = _t113 & 0x00000001u; /* 02895F14 */ if (_t114) goto L_02895F18; else goto L_0289608C; L_02895F18: ; // 0x2895f18 /* 02895F18 */ _t115 = cpu->r[21] + cpu->r[30]; /* 02895F18 */ cpu->r[24] = rbrew_read8(cpu->mem, _t115); /* 02895F1C */ _t116 = cpu->r[21] + cpu->r[31]; /* 02895F1C */ cpu->r[26] = rbrew_read8(cpu->mem, _t116); /* 02895F20 */ _t117 = cpu->r[22] + cpu->r[30]; /* 02895F20 */ cpu->r[30] = rbrew_read8(cpu->mem, _t117); /* 02895F24 */ cpu->r[24] = cpu->r[24] & cpu->r[9]; /* 02895F28 */ cpu->r[26] = cpu->r[26] & cpu->r[8]; /* 02895F2C */ _t118 = cpu->r[22] + cpu->r[31]; /* 02895F2C */ cpu->r[25] = rbrew_read8(cpu->mem, _t118); /* 02895F30 */ cpu->r[9] = cpu->r[30] & cpu->r[9]; /* 02895F34 */ /* nop */ /* 02895F38 */ _t119 = cpu->r[22] + cpu->r[28]; /* 02895F38 */ cpu->r[26] = rbrew_read8(cpu->mem, _t119); /* 02895F3C */ cpu->r[8] = cpu->r[25] & cpu->r[8]; /* 02895F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02895F44 */ /* nop */ /* 02895F48 */ cpu->r[26] = cpu->r[26] & cpu->r[16]; /* 02895F4C */ /* nop */ /* 02895F50 */ /* nop */ /* 02895F54 */ /* nop */ /* 02895F58 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895F58 */ _t121 = _t120 & 0x00000001u; /* 02895F58 */ if (_t121) goto L_02895F5C; else goto L_0289608C; L_02895F5C: ; // 0x2895f5c /* 02895F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x0000000Fu); /* 02895F60 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895F60 */ _t123 = _t122 & 0x00000001u; /* 02895F60 */ if (_t123) goto L_02895F64; else goto L_0289608C; L_02895F64: ; // 0x2895f64 /* 02895F64 */ cpu->r[8] = cpu->r[8] | cpu->r[6]; /* 02895F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02895F68 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895F68 */ _t125 = _t124 & 0x00000001u; /* 02895F68 */ if (_t125) goto L_02895F6C; else goto L_0289608C; L_02895F6C: ; // 0x2895f6c /* 02895F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000000Fu); /* 02895F70 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u); /* 02895F70 */ _t127 = _t126 & 0x00000001u; /* 02895F70 */ if (_t127) goto L_02895F74; else goto L_0289608C; L_02895F74: ; // 0x2895f74 /* 02895F74 */ _t128 = cpu->r[1] + 0x0000000Au; /* 02895F74 */ cpu->r[9] = rbrew_read8(cpu->mem, _t128); /* 02895F78 */ _t129 = cpu->r[10] + cpu->r[29]; /* 02895F78 */ cpu->r[7] = rbrew_read8(cpu->mem, _t129); /* 02895F7C */ _t130 = cpu->r[17] + cpu->r[4]; /* 02895F7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t130); /* 02895F80 */ cpu->r[7] = cpu->r[9] & cpu->r[7]; /* 02895F84 */ /* nop */ /* 02895F88 */ cpu->r[9] = cpu->r[7] | cpu->r[9]; /* 02895F8C */ _t131 = cpu->r[20] + cpu->r[28]; /* 02895F8C */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[9]); /* 02895F90 */ _t132 = cpu->r[3] + 0x00000018u; /* 02895F90 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t132); /* 02895F94 */ goto L_0289608C; L_02895F98: ; // 0x2895f98 /* 02895F98 */ cpu->r[9] = cpu->r[26]; /* 02895F9C */ cpu->r[4] = cpu->r[19]; /* 02895FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[27]); /* 02895FA4 */ cpu->r[8] = cpu->r[27] - cpu->r[19]; /* 02895FA8 */ cpu->r[31] = cpu->r[19]; /* 02895FAC */ _t133 = cpu->cr[0] >> (0x00000003u & 31u); /* 02895FAC */ _t134 = _t133 & 0x00000001u; /* 02895FAC */ if (_t134) goto L_02895FB0; else goto L_02895FEC; L_02895FB0: ; // 0x2895fb0 /* 02895FB0 */ cpu->ctr = cpu->r[8]; L_02895FB4: ; // 0x2895fb4 /* 02895FB4 */ /* nop */ /* 02895FB8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02895FBC */ _t135 = cpu->r[20] + cpu->r[8]; /* 02895FBC */ cpu->r[6] = rbrew_read8(cpu->mem, _t135); /* 02895FC0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02895FC4 */ _t136 = cpu->r[11] + cpu->r[7]; /* 02895FC4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t136); /* 02895FC8 */ _t137 = cpu->r[8] + cpu->r[12]; /* 02895FC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t137); /* 02895FCC */ cpu->r[7] = cpu->r[6] & cpu->r[7]; /* 02895FD0 */ /* nop */ /* 02895FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]); /* 02895FD8 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895FD8 */ _t139 = _t138 & 0x00000001u; /* 02895FD8 */ if (_t139) goto L_02895FDC; else goto L_02895FE4; L_02895FDC: ; // 0x2895fdc /* 02895FDC */ cpu->r[4] = cpu->r[31]; /* 02895FE0 */ cpu->r[9] = cpu->r[8]; L_02895FE4: ; // 0x2895fe4 /* 02895FE4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02895FE8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02895FE8 */ _t140 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02895FE8 */ _t141 = _t140 >> (0x00000002u & 31u); /* 02895FE8 */ _t142 = _t141 & 0x00000001u; /* 02895FE8 */ if (_t142) goto L_02895FB4; else goto L_02895FEC; L_02895FEC: ; // 0x2895fec /* 02895FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000004u); /* 02895FF0 */ _t143 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895FF0 */ _t144 = _t143 & 0x00000001u; /* 02895FF0 */ if (_t144) goto L_02895FF4; else goto L_0289608C; L_02895FF4: ; // 0x2895ff4 /* 02895FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[4]); /* 02895FF8 */ cpu->r[31] = cpu->r[19]; /* 02895FFC */ _t145 = cpu->cr[0] >> (0x00000002u & 31u); /* 02895FFC */ _t146 = _t145 & 0x00000001u; /* 02895FFC */ if (_t146) goto L_02896060; else goto L_02896000; L_02896000: ; // 0x2896000 /* 02896000 */ cpu->r[9] = cpu->r[17]; /* 02896004 */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFFu; L_02896008: ; // 0x2896008 /* 02896008 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289600C */ /* nop */ /* 02896010 */ _t147 = cpu->r[11] + cpu->r[7]; /* 02896010 */ cpu->r[30] = rbrew_read8(cpu->mem, _t147); /* 02896014 */ _t148 = cpu->r[20] + cpu->r[5]; /* 02896014 */ cpu->r[29] = rbrew_read8(cpu->mem, _t148); /* 02896018 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 0289601C */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896020 */ _t149 = cpu->r[6] + cpu->r[12]; /* 02896020 */ cpu->r[5] = rbrew_read32(cpu->mem, _t149); /* 02896024 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896028 */ cpu->r[30] = cpu->r[29] & cpu->r[30]; /* 0289602C */ _t150 = cpu->r[7] + cpu->r[9]; /* 0289602C */ cpu->r[7] = rbrew_read32(cpu->mem, _t150); /* 02896030 */ /* nop */ /* 02896034 */ _t151 = cpu->r[10] + cpu->r[6]; /* 02896034 */ cpu->r[6] = rbrew_read8(cpu->mem, _t151); /* 02896038 */ /* nop */ /* 0289603C */ _t152 = cpu->r[20] + cpu->r[29]; /* 0289603C */ cpu->r[5] = rbrew_read8(cpu->mem, _t152); /* 02896040 */ /* nop */ /* 02896044 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02896048 */ cpu->r[6] = cpu->r[5] & cpu->r[6]; /* 0289604C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]); /* 02896050 */ cpu->r[7] = cpu->r[6] | cpu->r[7]; /* 02896054 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02896058 */ _t153 = cpu->r[20] + cpu->r[29]; /* 02896058 */ rbrew_write8(cpu->mem, _t153, (uint8_t)cpu->r[7]); /* 0289605C */ _t154 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289605C */ _t155 = _t154 & 0x00000001u; /* 0289605C */ if (_t155) goto L_02896060; else goto L_02896008; L_02896060: ; // 0x2896060 /* 02896060 */ /* nop */ /* 02896064 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896068 */ _t156 = cpu->r[20] + cpu->r[28]; /* 02896068 */ cpu->r[7] = rbrew_read8(cpu->mem, _t156); /* 0289606C */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896070 */ _t157 = cpu->r[10] + cpu->r[8]; /* 02896070 */ cpu->r[8] = rbrew_read8(cpu->mem, _t157); /* 02896074 */ _t158 = cpu->r[9] + cpu->r[17]; /* 02896074 */ cpu->r[9] = rbrew_read32(cpu->mem, _t158); /* 02896078 */ cpu->r[8] = cpu->r[7] & cpu->r[8]; /* 0289607C */ /* nop */ /* 02896080 */ cpu->r[9] = cpu->r[8] | cpu->r[9]; /* 02896084 */ _t159 = cpu->r[20] + cpu->r[28]; /* 02896084 */ rbrew_write8(cpu->mem, _t159, (uint8_t)cpu->r[9]); /* 02896088 */ _t160 = cpu->r[3] + 0x00000018u; /* 02896088 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t160); L_0289608C: ; // 0x289608c /* 0289608C */ cpu->r[19] = cpu->r[27]; L_02896090: ; // 0x2896090 /* 02896090 */ cpu->r[19] = cpu->r[19] + 0x00000001u; /* 02896094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[5]); /* 02896098 */ _t161 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896098 */ _t162 = _t161 & 0x00000001u; /* 02896098 */ if (_t162) goto L_02895E2C; else goto L_0289609C; L_0289609C: ; // 0x289609c /* 0289609C */ _t163 = cpu->r[1] + 0x00000010u; /* 0289609C */ cpu->r[8] = rbrew_read32(cpu->mem, _t163); /* 028960A0 */ _t164 = cpu->r[3] + 0x0000001Au; /* 028960A0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t164); /* 028960A4 */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 028960A8 */ cpu->r[21] = cpu->r[21] + cpu->r[8]; /* 028960AC */ cpu->r[20] = cpu->r[20] + cpu->r[8]; /* 028960B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]); /* 028960B4 */ cpu->r[22] = cpu->r[22] + cpu->r[8]; /* 028960B8 */ _t165 = cpu->cr[0] >> (0x00000003u & 31u); /* 028960B8 */ _t166 = _t165 & 0x00000001u; /* 028960B8 */ if (_t166) goto L_02895CB4; else goto L_028960BC; L_028960BC: ; // 0x28960bc /* 028960BC */ _t167 = cpu->r[1] + 0x0000001Cu; /* 028960BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t167); /* 028960C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 028960C4 */ _t168 = cpu->cr[0] >> (0x00000003u & 31u); /* 028960C4 */ _t169 = _t168 & 0x00000001u; /* 028960C4 */ if (_t169) goto L_0289663C; else goto L_028960C8; L_028960C8: ; // 0x28960c8 /* 028960C8 */ cpu->r[18] = 0x00000000u; /* 028960CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]); /* 028960D0 */ _t170 = cpu->cr[0] >> (0x00000003u & 31u); /* 028960D0 */ _t171 = _t170 & 0x00000001u; /* 028960D0 */ if (_t171) goto L_028960D4; else goto L_0289663C; L_028960D4: ; // 0x28960d4 /* 028960D4 */ _t172 = cpu->r[1] + 0x00000014u; /* 028960D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t172); /* 028960D8 */ cpu->r[7] = cpu->r[3] + 0x00000024u; /* 028960DC */ cpu->r[21] = cpu->r[7] - cpu->r[9]; /* 028960E0 */ cpu->r[22] = cpu->r[7] + cpu->r[9]; /* 028960E4 */ _t173 = cpu->r[1] + 0x00000010u; /* 028960E4 */ rbrew_write32(cpu->mem, _t173, cpu->r[9]); L_028960E8: ; // 0x28960e8 /* 028960E8 */ _t174 = cpu->r[3] + 0x00000018u; /* 028960E8 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t174); /* 028960EC */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFFu; /* 028960F0 */ cpu->r[20] = cpu->r[7]; /* 028960F4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028960F8 */ /* nop */ /* 028960FC */ _t175 = cpu->r[11] + cpu->r[9]; /* 028960FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t175); /* 02896100 */ cpu->r[19] = cpu->r[5] + 0xFFFFFFFEu; /* 02896104 */ _t176 = cpu->r[20] + cpu->r[8]; /* 02896104 */ cpu->r[31] = rbrew_read8(cpu->mem, _t176); /* 02896108 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 0289610C */ cpu->r[9] = rbrew_rlwinm(cpu->r[19], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896110 */ _t177 = cpu->r[8] + cpu->r[12]; /* 02896110 */ cpu->r[6] = rbrew_read32(cpu->mem, _t177); /* 02896114 */ cpu->r[4] = cpu->r[31] & cpu->r[4]; /* 02896118 */ _t178 = cpu->r[11] + cpu->r[9]; /* 02896118 */ cpu->r[8] = rbrew_read8(cpu->mem, _t178); /* 0289611C */ /* nop */ /* 02896120 */ /* nop */ /* 02896124 */ cpu->r[9] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896128 */ _t179 = cpu->r[20] + cpu->r[4]; /* 02896128 */ cpu->r[4] = rbrew_read8(cpu->mem, _t179); /* 0289612C */ _t180 = cpu->r[9] + cpu->r[12]; /* 0289612C */ cpu->r[9] = rbrew_read32(cpu->mem, _t180); /* 02896130 */ cpu->r[8] = cpu->r[4] & cpu->r[8]; /* 02896134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02896138 */ /* nop */ /* 0289613C */ _t181 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289613C */ _t182 = _t181 & 0x00000001u; /* 0289613C */ if (_t182) goto L_02896140; else goto L_02896284; L_02896140: ; // 0x2896140 /* 02896140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02896144 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896144 */ _t184 = _t183 & 0x00000001u; /* 02896144 */ if (_t184) goto L_02896284; else goto L_02896148; L_02896148: ; // 0x2896148 /* 02896148 */ cpu->r[4] = cpu->r[19] + 0xFFFFFFFFu; /* 02896148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289614C */ cpu->r[9] = cpu->r[19]; /* 02896150 */ _t185 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896150 */ _t186 = _t185 & 0x00000001u; /* 02896150 */ if (_t186) goto L_02896184; else goto L_02896154; L_02896154: ; // 0x2896154 /* 02896154 */ cpu->ctr = cpu->r[9]; L_02896158: ; // 0x2896158 /* 02896158 */ /* nop */ /* 0289615C */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896160 */ _t187 = cpu->r[20] + cpu->r[9]; /* 02896160 */ cpu->r[6] = rbrew_read8(cpu->mem, _t187); /* 02896164 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896168 */ _t188 = cpu->r[11] + cpu->r[8]; /* 02896168 */ cpu->r[8] = rbrew_read8(cpu->mem, _t188); /* 0289616C */ _t189 = cpu->r[9] + cpu->r[12]; /* 0289616C */ cpu->r[9] = rbrew_read32(cpu->mem, _t189); /* 02896170 */ cpu->r[8] = cpu->r[6] & cpu->r[8]; /* 02896174 */ /* nop */ /* 02896178 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896178 */ _t191 = _t190 & 0x00000001u; /* 02896178 */ if (_t191) goto L_02896184; else goto L_0289617C; L_0289617C: ; // 0x289617c /* 0289617C */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; /* 02896180 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896180 */ _t192 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896180 */ _t193 = _t192 >> (0x00000002u & 31u); /* 02896180 */ _t194 = _t193 & 0x00000001u; /* 02896180 */ if (_t194) goto L_02896158; else goto L_02896184; L_02896184: ; // 0x2896184 /* 02896184 */ cpu->r[9] = cpu->r[31]; /* 02896188 */ cpu->r[6] = cpu->r[19]; /* 0289618C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[19]); /* 02896190 */ cpu->r[8] = cpu->r[19] - cpu->r[4]; /* 02896194 */ cpu->r[4] = cpu->r[19]; /* 02896198 */ _t195 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896198 */ _t196 = _t195 & 0x00000001u; /* 02896198 */ if (_t196) goto L_0289619C; else goto L_028961D8; L_0289619C: ; // 0x289619c /* 0289619C */ cpu->ctr = cpu->r[8]; L_028961A0: ; // 0x28961a0 /* 028961A0 */ /* nop */ /* 028961A4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028961A8 */ _t197 = cpu->r[20] + cpu->r[31]; /* 028961A8 */ cpu->r[29] = rbrew_read8(cpu->mem, _t197); /* 028961AC */ cpu->r[31] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 028961B0 */ _t198 = cpu->r[11] + cpu->r[8]; /* 028961B0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t198); /* 028961B4 */ _t199 = cpu->r[31] + cpu->r[12]; /* 028961B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t199); /* 028961B8 */ cpu->r[31] = cpu->r[29] & cpu->r[30]; /* 028961BC */ /* nop */ /* 028961C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]); /* 028961C4 */ _t200 = cpu->cr[0] >> (0x00000002u & 31u); /* 028961C4 */ _t201 = _t200 & 0x00000001u; /* 028961C4 */ if (_t201) goto L_028961C8; else goto L_028961D0; L_028961C8: ; // 0x28961c8 /* 028961C8 */ cpu->r[6] = cpu->r[4]; /* 028961CC */ cpu->r[9] = cpu->r[8]; L_028961D0: ; // 0x28961d0 /* 028961D0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; /* 028961D4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028961D4 */ _t202 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028961D4 */ _t203 = _t202 >> (0x00000002u & 31u); /* 028961D4 */ _t204 = _t203 & 0x00000001u; /* 028961D4 */ if (_t204) goto L_028961A0; else goto L_028961D8; L_028961D8: ; // 0x28961d8 /* 028961D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000004u); /* 028961DC */ _t205 = cpu->cr[0] >> (0x00000002u & 31u); /* 028961DC */ _t206 = _t205 & 0x00000001u; /* 028961DC */ if (_t206) goto L_028961E0; else goto L_02896284; L_028961E0: ; // 0x28961e0 /* 028961E0 */ cpu->r[9] = cpu->r[19] - cpu->r[6]; /* 028961E4 */ cpu->r[4] = cpu->r[19]; /* 028961E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[19]); /* 028961EC */ cpu->r[8] = cpu->r[9] + 0x00000001u; /* 028961F0 */ _t207 = cpu->cr[0] >> (0x00000002u & 31u); /* 028961F0 */ _t208 = _t207 & 0x00000001u; /* 028961F0 */ if (_t208) goto L_02896254; else goto L_028961F4; L_028961F4: ; // 0x28961f4 /* 028961F4 */ cpu->ctr = cpu->r[8]; /* 028961F8 */ cpu->r[30] = cpu->r[4] + 0x00000001u; /* 028961FC */ cpu->r[9] = cpu->r[17]; L_02896200: ; // 0x2896200 /* 02896200 */ /* nop */ /* 02896204 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896208 */ _t209 = cpu->r[20] + cpu->r[5]; /* 02896208 */ cpu->r[28] = rbrew_read8(cpu->mem, _t209); /* 0289620C */ cpu->r[31] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896210 */ _t210 = cpu->r[11] + cpu->r[8]; /* 02896210 */ cpu->r[29] = rbrew_read8(cpu->mem, _t210); /* 02896214 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896218 */ _t211 = cpu->r[31] + cpu->r[12]; /* 02896218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t211); /* 0289621C */ cpu->r[29] = cpu->r[28] & cpu->r[29]; /* 02896220 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896224 */ _t212 = cpu->r[8] + cpu->r[9]; /* 02896224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t212); /* 02896228 */ /* nop */ /* 0289622C */ _t213 = cpu->r[10] + cpu->r[5]; /* 0289622C */ cpu->r[5] = rbrew_read8(cpu->mem, _t213); /* 02896230 */ /* nop */ /* 02896234 */ _t214 = cpu->r[20] + cpu->r[29]; /* 02896234 */ cpu->r[31] = rbrew_read8(cpu->mem, _t214); /* 02896238 */ /* nop */ /* 0289623C */ cpu->r[5] = cpu->r[31] & cpu->r[5]; /* 02896240 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; /* 02896244 */ cpu->r[8] = cpu->r[5] | cpu->r[8]; /* 02896248 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289624C */ _t215 = cpu->r[20] + cpu->r[29]; /* 0289624C */ rbrew_write8(cpu->mem, _t215, (uint8_t)cpu->r[8]); /* 02896250 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896250 */ _t216 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896250 */ _t217 = _t216 >> (0x00000002u & 31u); /* 02896250 */ _t218 = _t217 & 0x00000001u; /* 02896250 */ if (_t218) goto L_02896200; else goto L_02896254; L_02896254: ; // 0x2896254 /* 02896254 */ /* nop */ /* 02896258 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289625C */ _t219 = cpu->r[20] + cpu->r[4]; /* 0289625C */ cpu->r[5] = rbrew_read8(cpu->mem, _t219); /* 02896260 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896264 */ _t220 = cpu->r[10] + cpu->r[8]; /* 02896264 */ cpu->r[6] = rbrew_read8(cpu->mem, _t220); /* 02896268 */ _t221 = cpu->r[9] + cpu->r[17]; /* 02896268 */ cpu->r[9] = rbrew_read32(cpu->mem, _t221); /* 0289626C */ cpu->r[8] = 0x0000000Fu; /* 02896270 */ cpu->r[6] = cpu->r[5] & cpu->r[6]; /* 02896274 */ /* nop */ /* 02896278 */ cpu->r[9] = cpu->r[6] | cpu->r[9]; /* 0289627C */ _t222 = cpu->r[20] + cpu->r[4]; /* 0289627C */ rbrew_write8(cpu->mem, _t222, (uint8_t)cpu->r[9]); /* 02896280 */ _t223 = cpu->r[3] + 0x00000018u; /* 02896280 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t223); L_02896284: ; // 0x2896284 /* 02896284 */ cpu->r[19] = cpu->r[5] + 0xFFFFFFFDu; /* 02896284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02896288 */ _t224 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896288 */ _t225 = _t224 & 0x00000001u; /* 02896288 */ if (_t225) goto L_0289661C; else goto L_0289628C; L_0289628C: ; // 0x289628c /* 0289628C */ cpu->r[26] = 0x0000000Fu; /* 02896290 */ cpu->r[8] = cpu->r[17]; L_02896294: ; // 0x2896294 /* 02896294 */ cpu->r[5] = cpu->r[19] + 0x00000002u; /* 02896298 */ /* nop */ /* 0289629C */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028962A0 */ _t226 = cpu->r[20] + cpu->r[9]; /* 028962A0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t226); /* 028962A4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 028962A8 */ _t227 = cpu->r[11] + cpu->r[6]; /* 028962A8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t227); /* 028962AC */ cpu->r[6] = cpu->r[19] + 0x00000001u; /* 028962B0 */ _t228 = cpu->r[9] + cpu->r[12]; /* 028962B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t228); /* 028962B4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028962B8 */ cpu->r[31] = cpu->r[31] & cpu->r[5]; /* 028962BC */ _t229 = cpu->r[11] + cpu->r[9]; /* 028962BC */ cpu->r[5] = rbrew_read8(cpu->mem, _t229); /* 028962C0 */ /* nop */ /* 028962C4 */ /* nop */ /* 028962C8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 028962CC */ _t230 = cpu->r[20] + cpu->r[9]; /* 028962CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t230); /* 028962D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[19], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028962D4 */ _t231 = cpu->r[6] + cpu->r[12]; /* 028962D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t231); /* 028962D8 */ cpu->r[4] = cpu->r[4] & cpu->r[5]; /* 028962DC */ _t232 = cpu->r[11] + cpu->r[9]; /* 028962DC */ cpu->r[5] = rbrew_read8(cpu->mem, _t232); /* 028962E0 */ /* nop */ /* 028962E4 */ /* nop */ /* 028962E8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 028962EC */ _t233 = cpu->r[20] + cpu->r[30]; /* 028962EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t233); /* 028962F0 */ _t234 = cpu->r[4] + cpu->r[12]; /* 028962F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t234); /* 028962F4 */ cpu->r[9] = cpu->r[9] & cpu->r[5]; /* 028962F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028962FC */ /* nop */ /* 02896300 */ _t235 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896300 */ _t236 = _t235 & 0x00000001u; /* 02896300 */ if (_t236) goto L_02896304; else goto L_02896530; L_02896304: ; // 0x2896304 /* 02896304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02896308 */ _t237 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896308 */ _t238 = _t237 & 0x00000001u; /* 02896308 */ if (_t238) goto L_02896530; else goto L_0289630C; L_0289630C: ; // 0x289630c /* 0289630C */ cpu->r[9] = cpu->r[19] + 0xFFFFFFFFu; /* 0289630C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02896310 */ cpu->r[25] = cpu->r[9]; /* 02896314 */ cpu->r[6] = cpu->r[25] + 0x00000001u; /* 02896318 */ _t239 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896318 */ _t240 = _t239 & 0x00000001u; /* 02896318 */ if (_t240) goto L_0289634C; else goto L_0289631C; L_0289631C: ; // 0x289631c /* 0289631C */ cpu->ctr = cpu->r[6]; L_02896320: ; // 0x2896320 /* 02896320 */ /* nop */ /* 02896324 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896328 */ _t241 = cpu->r[20] + cpu->r[6]; /* 02896328 */ cpu->r[28] = rbrew_read8(cpu->mem, _t241); /* 0289632C */ cpu->r[6] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896330 */ _t242 = cpu->r[11] + cpu->r[4]; /* 02896330 */ cpu->r[4] = rbrew_read8(cpu->mem, _t242); /* 02896334 */ _t243 = cpu->r[6] + cpu->r[12]; /* 02896334 */ cpu->r[6] = rbrew_read32(cpu->mem, _t243); /* 02896338 */ cpu->r[4] = cpu->r[28] & cpu->r[4]; /* 0289633C */ /* nop */ /* 02896340 */ _t244 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896340 */ _t245 = _t244 & 0x00000001u; /* 02896340 */ if (_t245) goto L_0289634C; else goto L_02896344; L_02896344: ; // 0x2896344 /* 02896344 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02896348 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896348 */ _t246 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896348 */ _t247 = _t246 >> (0x00000002u & 31u); /* 02896348 */ _t248 = _t247 & 0x00000001u; /* 02896348 */ if (_t248) goto L_02896320; else goto L_0289634C; L_0289634C: ; // 0x289634c /* 0289634C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02896350 */ _t249 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896350 */ _t250 = _t249 & 0x00000001u; /* 02896350 */ if (_t250) goto L_0289642C; else goto L_02896354; L_02896354: ; // 0x2896354 /* 02896354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 02896358 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896358 */ _t252 = _t251 & 0x00000001u; /* 02896358 */ if (_t252) goto L_02896524; else goto L_0289635C; L_0289635C: ; // 0x289635c /* 0289635C */ _t253 = cpu->r[3] + 0x0000001Au; /* 0289635C */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t253); /* 02896360 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02896364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[6]); /* 02896368 */ _t254 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896368 */ _t255 = _t254 & 0x00000001u; /* 02896368 */ if (_t255) goto L_02896524; else goto L_0289636C; L_0289636C: ; // 0x289636c /* 0289636C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Cu); /* 02896370 */ _t256 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896370 */ _t257 = _t256 & 0x00000001u; /* 02896370 */ if (_t257) goto L_02896524; else goto L_02896374; L_02896374: ; // 0x2896374 /* 02896374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000000Fu); /* 02896378 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896378 */ _t259 = _t258 & 0x00000001u; /* 02896378 */ if (_t259) goto L_0289637C; else goto L_02896524; L_0289637C: ; // 0x289637c /* 0289637C */ cpu->r[6] = cpu->r[19] + 0xFFFFFFFEu; /* 02896380 */ _t260 = cpu->r[21] + cpu->r[30]; /* 02896380 */ cpu->r[29] = rbrew_read8(cpu->mem, _t260); /* 02896384 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896388 */ /* nop */ /* 0289638C */ _t261 = cpu->r[11] + cpu->r[4]; /* 0289638C */ cpu->r[4] = rbrew_read8(cpu->mem, _t261); /* 02896390 */ cpu->r[28] = cpu->r[29] & cpu->r[5]; /* 02896394 */ _t262 = cpu->r[21] + cpu->r[31]; /* 02896394 */ cpu->r[23] = rbrew_read8(cpu->mem, _t262); /* 02896398 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 0289639C */ _t263 = cpu->r[22] + cpu->r[31]; /* 0289639C */ cpu->r[31] = rbrew_read8(cpu->mem, _t263); /* 028963A0 */ cpu->r[24] = cpu->r[23] & cpu->r[4]; /* 028963A4 */ _t264 = cpu->r[12] + cpu->r[6]; /* 028963A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t264); /* 028963A8 */ cpu->r[29] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028963AC */ cpu->r[4] = cpu->r[31] & cpu->r[4]; /* 028963B0 */ _t265 = cpu->r[22] + cpu->r[30]; /* 028963B0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t265); /* 028963B4 */ /* nop */ /* 028963B8 */ /* nop */ /* 028963BC */ _t266 = cpu->r[11] + cpu->r[29]; /* 028963BC */ cpu->r[24] = rbrew_read8(cpu->mem, _t266); /* 028963C0 */ /* nop */ /* 028963C4 */ /* nop */ /* 028963C8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 028963CC */ _t267 = cpu->r[22] + cpu->r[28]; /* 028963CC */ cpu->r[9] = rbrew_read8(cpu->mem, _t267); /* 028963D0 */ cpu->r[5] = cpu->r[31] & cpu->r[5]; /* 028963D4 */ _t268 = cpu->r[12] + cpu->r[4]; /* 028963D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t268); /* 028963D8 */ cpu->r[9] = cpu->r[9] & cpu->r[24]; /* 028963DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028963E0 */ /* nop */ /* 028963E4 */ /* nop */ /* 028963E8 */ _t269 = cpu->cr[0] >> (0x00000001u & 31u); /* 028963E8 */ _t270 = _t269 & 0x00000001u; /* 028963E8 */ if (_t270) goto L_028963EC; else goto L_02896524; L_028963EC: ; // 0x28963ec /* 028963EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000000Fu); /* 028963F0 */ _t271 = cpu->cr[0] >> (0x00000001u & 31u); /* 028963F0 */ _t272 = _t271 & 0x00000001u; /* 028963F0 */ if (_t272) goto L_028963F4; else goto L_02896524; L_028963F4: ; // 0x28963f4 /* 028963F4 */ cpu->r[9] = cpu->r[6] | cpu->r[9]; /* 028963F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028963F8 */ _t273 = cpu->cr[0] >> (0x00000001u & 31u); /* 028963F8 */ _t274 = _t273 & 0x00000001u; /* 028963F8 */ if (_t274) goto L_028963FC; else goto L_02896524; L_028963FC: ; // 0x28963fc /* 028963FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000000Fu); /* 02896400 */ _t275 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896400 */ _t276 = _t275 & 0x00000001u; /* 02896400 */ if (_t276) goto L_02896404; else goto L_02896524; L_02896404: ; // 0x2896404 /* 02896404 */ _t277 = cpu->r[20] + cpu->r[28]; /* 02896404 */ cpu->r[5] = rbrew_read8(cpu->mem, _t277); /* 02896408 */ _t278 = cpu->r[10] + cpu->r[29]; /* 02896408 */ cpu->r[6] = rbrew_read8(cpu->mem, _t278); /* 0289640C */ _t279 = cpu->r[8] + cpu->r[4]; /* 0289640C */ cpu->r[9] = rbrew_read32(cpu->mem, _t279); /* 02896410 */ cpu->r[6] = cpu->r[5] & cpu->r[6]; /* 02896414 */ /* nop */ /* 02896418 */ cpu->r[9] = cpu->r[6] | cpu->r[9]; /* 0289641C */ cpu->r[19] = cpu->r[25] + 0xFFFFFFFFu; /* 0289641C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02896420 */ _t280 = cpu->r[20] + cpu->r[28]; /* 02896420 */ rbrew_write8(cpu->mem, _t280, (uint8_t)cpu->r[9]); /* 02896424 */ _t281 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896424 */ _t282 = _t281 & 0x00000001u; /* 02896424 */ if (_t282) goto L_02896428; else goto L_02896294; L_02896428: ; // 0x2896428 /* 02896428 */ goto L_0289661C; L_0289642C: ; // 0x289642c /* 0289642C */ cpu->r[30] = cpu->r[19]; /* 02896430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[19]); /* 02896434 */ cpu->r[6] = cpu->r[19] - cpu->r[25]; /* 02896438 */ cpu->r[9] = cpu->r[31]; /* 0289643C */ cpu->r[31] = cpu->r[19]; /* 02896440 */ _t283 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896440 */ _t284 = _t283 & 0x00000001u; /* 02896440 */ if (_t284) goto L_02896444; else goto L_02896480; L_02896444: ; // 0x2896444 /* 02896444 */ cpu->ctr = cpu->r[6]; L_02896448: ; // 0x2896448 /* 02896448 */ /* nop */ /* 0289644C */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896450 */ _t285 = cpu->r[20] + cpu->r[5]; /* 02896450 */ cpu->r[4] = rbrew_read8(cpu->mem, _t285); /* 02896454 */ _t286 = cpu->r[11] + cpu->r[6]; /* 02896454 */ cpu->r[29] = rbrew_read8(cpu->mem, _t286); /* 02896458 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 0289645C */ _t287 = cpu->r[5] + cpu->r[12]; /* 0289645C */ cpu->r[6] = rbrew_read32(cpu->mem, _t287); /* 02896460 */ cpu->r[5] = cpu->r[4] & cpu->r[29]; /* 02896464 */ /* nop */ /* 02896468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[9]); /* 0289646C */ _t288 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289646C */ _t289 = _t288 & 0x00000001u; /* 0289646C */ if (_t289) goto L_02896470; else goto L_02896478; L_02896470: ; // 0x2896470 /* 02896470 */ cpu->r[30] = cpu->r[31]; /* 02896474 */ cpu->r[9] = cpu->r[6]; L_02896478: ; // 0x2896478 /* 02896478 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0289647C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289647C */ _t290 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289647C */ _t291 = _t290 >> (0x00000002u & 31u); /* 0289647C */ _t292 = _t291 & 0x00000001u; /* 0289647C */ if (_t292) goto L_02896448; else goto L_02896480; L_02896480: ; // 0x2896480 /* 02896480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000004u); /* 02896484 */ _t293 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896484 */ _t294 = _t293 & 0x00000001u; /* 02896484 */ if (_t294) goto L_02896488; else goto L_02896524; L_02896488: ; // 0x2896488 /* 02896488 */ cpu->r[9] = cpu->r[19] - cpu->r[30]; /* 0289648C */ cpu->r[31] = cpu->r[19]; /* 02896490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[19]); /* 02896494 */ cpu->r[6] = cpu->r[9] + 0x00000001u; /* 02896498 */ _t295 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896498 */ _t296 = _t295 & 0x00000001u; /* 02896498 */ if (_t296) goto L_028964FC; else goto L_0289649C; L_0289649C: ; // 0x289649c /* 0289649C */ cpu->ctr = cpu->r[6]; /* 028964A0 */ cpu->r[29] = cpu->r[31] + 0x00000001u; /* 028964A4 */ cpu->r[9] = cpu->r[17]; L_028964A8: ; // 0x28964a8 /* 028964A8 */ /* nop */ /* 028964AC */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028964B0 */ _t297 = cpu->r[20] + cpu->r[5]; /* 028964B0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t297); /* 028964B4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 028964B8 */ _t298 = cpu->r[11] + cpu->r[6]; /* 028964B8 */ cpu->r[28] = rbrew_read8(cpu->mem, _t298); /* 028964BC */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 028964C0 */ _t299 = cpu->r[4] + cpu->r[12]; /* 028964C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t299); /* 028964C4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028964C8 */ cpu->r[28] = cpu->r[27] & cpu->r[28]; /* 028964CC */ _t300 = cpu->r[6] + cpu->r[9]; /* 028964CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t300); /* 028964D0 */ /* nop */ /* 028964D4 */ _t301 = cpu->r[10] + cpu->r[5]; /* 028964D4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t301); /* 028964D8 */ /* nop */ /* 028964DC */ _t302 = cpu->r[20] + cpu->r[27]; /* 028964DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t302); /* 028964E0 */ /* nop */ /* 028964E4 */ cpu->r[5] = cpu->r[4] & cpu->r[5]; /* 028964E8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 028964EC */ cpu->r[6] = cpu->r[5] | cpu->r[6]; /* 028964F0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028964F4 */ _t303 = cpu->r[20] + cpu->r[27]; /* 028964F4 */ rbrew_write8(cpu->mem, _t303, (uint8_t)cpu->r[6]); /* 028964F8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028964F8 */ _t304 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028964F8 */ _t305 = _t304 >> (0x00000002u & 31u); /* 028964F8 */ _t306 = _t305 & 0x00000001u; /* 028964F8 */ if (_t306) goto L_028964A8; else goto L_028964FC; L_028964FC: ; // 0x28964fc /* 028964FC */ /* nop */ /* 02896500 */ cpu->r[6] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02896504 */ _t307 = cpu->r[20] + cpu->r[4]; /* 02896504 */ cpu->r[5] = rbrew_read8(cpu->mem, _t307); /* 02896508 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 0289650C */ _t308 = cpu->r[10] + cpu->r[6]; /* 0289650C */ cpu->r[6] = rbrew_read8(cpu->mem, _t308); /* 02896510 */ _t309 = cpu->r[9] + cpu->r[8]; /* 02896510 */ cpu->r[9] = rbrew_read32(cpu->mem, _t309); /* 02896514 */ cpu->r[6] = cpu->r[5] & cpu->r[6]; /* 02896518 */ /* nop */ /* 0289651C */ cpu->r[9] = cpu->r[6] | cpu->r[9]; /* 02896520 */ _t310 = cpu->r[20] + cpu->r[4]; /* 02896520 */ rbrew_write8(cpu->mem, _t310, (uint8_t)cpu->r[9]); L_02896524: ; // 0x2896524 /* 02896524 */ cpu->r[19] = cpu->r[25] + 0xFFFFFFFFu; /* 02896524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02896528 */ _t311 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896528 */ _t312 = _t311 & 0x00000001u; /* 02896528 */ if (_t312) goto L_0289652C; else goto L_02896294; L_0289652C: ; // 0x289652c /* 0289652C */ goto L_0289661C; L_02896530: ; // 0x2896530 /* 02896530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 02896534 */ _t313 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896534 */ _t314 = _t313 & 0x00000001u; /* 02896534 */ if (_t314) goto L_02896560; else goto L_02896538; L_02896538: ; // 0x2896538 /* 02896538 */ _t315 = cpu->r[3] + 0x0000001Au; /* 02896538 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t315); /* 0289653C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02896540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[9]); /* 02896544 */ _t316 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896544 */ _t317 = _t316 & 0x00000001u; /* 02896544 */ if (_t317) goto L_02896560; else goto L_02896548; L_02896548: ; // 0x2896548 /* 02896548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Fu); /* 0289654C */ _t318 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289654C */ _t319 = _t318 & 0x00000001u; /* 0289654C */ if (_t319) goto L_02896550; else goto L_02896560; L_02896550: ; // 0x2896550 /* 02896550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02896554 */ _t320 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896554 */ _t321 = _t320 & 0x00000001u; /* 02896554 */ if (_t321) goto L_02896558; else goto L_02896560; L_02896558: ; // 0x2896558 /* 02896558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000000Fu); /* 0289655C */ _t322 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289655C */ _t323 = _t322 & 0x00000001u; /* 0289655C */ if (_t323) goto L_0289656C; else goto L_02896560; L_02896560: ; // 0x2896560 /* 02896560 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu; /* 02896560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02896564 */ _t324 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896564 */ _t325 = _t324 & 0x00000001u; /* 02896564 */ if (_t325) goto L_02896568; else goto L_02896294; L_02896568: ; // 0x2896568 /* 02896568 */ goto L_0289661C; L_0289656C: ; // 0x289656c /* 0289656C */ cpu->r[6] = cpu->r[19] + 0xFFFFFFFEu; /* 02896570 */ _t326 = cpu->r[21] + cpu->r[30]; /* 02896570 */ cpu->r[9] = rbrew_read8(cpu->mem, _t326); /* 02896574 */ /* nop */ /* 02896578 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289657C */ _t327 = cpu->r[21] + cpu->r[31]; /* 0289657C */ cpu->r[24] = rbrew_read8(cpu->mem, _t327); /* 02896580 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 02896584 */ _t328 = cpu->r[11] + cpu->r[4]; /* 02896584 */ cpu->r[4] = rbrew_read8(cpu->mem, _t328); /* 02896588 */ cpu->r[28] = cpu->r[9] & cpu->r[5]; /* 0289658C */ cpu->r[9] = cpu->r[19] + 0xFFFFFFFFu; /* 02896590 */ _t329 = cpu->r[12] + cpu->r[6]; /* 02896590 */ cpu->r[6] = rbrew_read32(cpu->mem, _t329); /* 02896594 */ cpu->r[25] = cpu->r[24] & cpu->r[4]; /* 02896598 */ _t330 = cpu->r[22] + cpu->r[31]; /* 02896598 */ cpu->r[31] = rbrew_read8(cpu->mem, _t330); /* 0289659C */ cpu->r[29] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028965A0 */ /* nop */ /* 028965A4 */ _t331 = cpu->r[11] + cpu->r[29]; /* 028965A4 */ cpu->r[25] = rbrew_read8(cpu->mem, _t331); /* 028965A8 */ cpu->r[4] = cpu->r[31] & cpu->r[4]; /* 028965AC */ _t332 = cpu->r[22] + cpu->r[30]; /* 028965AC */ cpu->r[31] = rbrew_read8(cpu->mem, _t332); /* 028965B0 */ /* nop */ /* 028965B4 */ /* nop */ /* 028965B8 */ /* nop */ /* 028965BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x0000001Du, 0x0000001Du); /* 028965C0 */ _t333 = cpu->r[22] + cpu->r[28]; /* 028965C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t333); /* 028965C4 */ cpu->r[5] = cpu->r[31] & cpu->r[5]; /* 028965C8 */ _t334 = cpu->r[12] + cpu->r[4]; /* 028965C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t334); /* 028965CC */ cpu->r[6] = cpu->r[6] & cpu->r[25]; /* 028965D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 028965D4 */ /* nop */ /* 028965D8 */ /* nop */ /* 028965DC */ _t335 = cpu->cr[0] >> (0x00000001u & 31u); /* 028965DC */ _t336 = _t335 & 0x00000001u; /* 028965DC */ if (_t336) goto L_028965E0; else goto L_02896614; L_028965E0: ; // 0x28965e0 /* 028965E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000000Fu); /* 028965E4 */ _t337 = cpu->cr[0] >> (0x00000001u & 31u); /* 028965E4 */ _t338 = _t337 & 0x00000001u; /* 028965E4 */ if (_t338) goto L_028965E8; else goto L_02896614; L_028965E8: ; // 0x28965e8 /* 028965E8 */ cpu->r[6] = cpu->r[23] | cpu->r[6]; /* 028965E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028965EC */ _t339 = cpu->cr[0] >> (0x00000001u & 31u); /* 028965EC */ _t340 = _t339 & 0x00000001u; /* 028965EC */ if (_t340) goto L_028965F0; else goto L_02896614; L_028965F0: ; // 0x28965f0 /* 028965F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000000Fu); /* 028965F4 */ _t341 = cpu->cr[0] >> (0x00000001u & 31u); /* 028965F4 */ _t342 = _t341 & 0x00000001u; /* 028965F4 */ if (_t342) goto L_028965F8; else goto L_02896614; L_028965F8: ; // 0x28965f8 /* 028965F8 */ _t343 = cpu->r[20] + cpu->r[28]; /* 028965F8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t343); /* 028965FC */ _t344 = cpu->r[10] + cpu->r[29]; /* 028965FC */ cpu->r[5] = rbrew_read8(cpu->mem, _t344); /* 02896600 */ _t345 = cpu->r[8] + cpu->r[4]; /* 02896600 */ cpu->r[6] = rbrew_read32(cpu->mem, _t345); /* 02896604 */ cpu->r[5] = cpu->r[31] & cpu->r[5]; /* 02896608 */ /* nop */ /* 0289660C */ cpu->r[6] = cpu->r[5] | cpu->r[6]; /* 02896610 */ _t346 = cpu->r[20] + cpu->r[28]; /* 02896610 */ rbrew_write8(cpu->mem, _t346, (uint8_t)cpu->r[6]); L_02896614: ; // 0x2896614 /* 02896614 */ cpu->r[19] = cpu->r[9]; /* 02896614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02896618 */ _t347 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896618 */ _t348 = _t347 & 0x00000001u; /* 02896618 */ if (_t348) goto L_0289661C; else goto L_02896294; L_0289661C: ; // 0x289661c /* 0289661C */ _t349 = cpu->r[1] + 0x00000010u; /* 0289661C */ cpu->r[8] = rbrew_read32(cpu->mem, _t349); /* 02896620 */ _t350 = cpu->r[3] + 0x0000001Au; /* 02896620 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t350); /* 02896624 */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 02896628 */ cpu->r[21] = cpu->r[21] + cpu->r[8]; /* 0289662C */ cpu->r[7] = cpu->r[7] + cpu->r[8]; /* 02896630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]); /* 02896634 */ cpu->r[22] = cpu->r[22] + cpu->r[8]; /* 02896638 */ _t351 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896638 */ _t352 = _t351 & 0x00000001u; /* 02896638 */ if (_t352) goto L_028960E8; else goto L_0289663C; L_0289663C: ; // 0x289663c /* 0289663C */ /* nop */ /* 02896640 */ cpu->r[1] = cpu->r[1] + 0x00000080u; /* 02896644 */ return; } // fn_02896648 @ 0x2896648 void Gambit_fn_02896648(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_02896648: ; // 0x2896648 /* 02896648 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02896648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02896648 */ cpu->r[1] = _t0; /* 0289664C */ /* nop */ /* 02896650 */ _t1 = cpu->r[3] + 0x0000001Cu; /* 02896650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02896654 */ _t2 = cpu->r[12] + 0x00000020u; /* 02896654 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02896658 */ _t3 = cpu->r[12] + 0x0000000Eu; /* 02896658 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3); /* 0289665C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02896660 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896660 */ _t5 = _t4 & 0x00000001u; /* 02896660 */ if (_t5) goto L_02896B50; else goto L_02896664; L_02896664: ; // 0x2896664 /* 02896664 */ _t6 = cpu->r[4] + 0x0000001Au; /* 02896664 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 02896668 */ cpu->r[5] = 0x00000000u; /* 0289666C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[11]); /* 02896670 */ _t7 = cpu->r[4] + 0x0000001Cu; /* 02896670 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02896674 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896674 */ _t9 = _t8 & 0x00000001u; /* 02896674 */ if (_t9) goto L_02896678; else goto L_028968A0; L_02896678: ; // 0x2896678 /* 02896678 */ cpu->r[8] = cpu->r[4] + 0x00000024u; /* 0289667C */ cpu->r[30] = 0x000000FFu; /* 02896680 */ _t10 = cpu->r[4] + 0x00000018u; /* 02896680 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 02896684 */ cpu->r[9] = cpu->r[8] - cpu->r[12]; /* 02896688 */ cpu->r[10] = cpu->r[8] + cpu->r[12]; L_0289668C: ; // 0x289668c /* 0289668C */ _t11 = cpu->r[8] + 0x00000000u; /* 0289668C */ cpu->r[11] = rbrew_read8(cpu->mem, _t11); /* 02896690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02896694 */ _t12 = cpu->r[8] + 0x00000001u; /* 02896694 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12); /* 02896698 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896698 */ _t14 = _t13 & 0x00000001u; /* 02896698 */ if (_t14) goto L_0289669C; else goto L_02896734; L_0289669C: ; // 0x289669c /* 0289669C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028966A0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028966A0 */ _t16 = _t15 & 0x00000001u; /* 028966A0 */ if (_t16) goto L_02896734; else goto L_028966A4; L_028966A4: ; // 0x28966a4 /* 028966A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 028966A8 */ cpu->r[7] = cpu->r[31] + 0xFFFFFFFEu; /* 028966AC */ cpu->r[28] = 0x00000002u; /* 028966B0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u); /* 028966B0 */ _t18 = _t17 & 0x00000001u; /* 028966B0 */ if (_t18) goto L_028966B4; else goto L_028966CC; L_028966B4: ; // 0x28966b4 /* 028966B4 */ cpu->ctr = cpu->r[7]; L_028966B8: ; // 0x28966b8 /* 028966B8 */ _t19 = cpu->r[8] + cpu->r[28]; /* 028966B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t19); /* 028966BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028966C0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028966C0 */ _t21 = _t20 & 0x00000001u; /* 028966C0 */ if (_t21) goto L_028966CC; else goto L_028966C4; L_028966C4: ; // 0x28966c4 /* 028966C4 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 028966C8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028966C8 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028966C8 */ _t23 = _t22 >> (0x00000002u & 31u); /* 028966C8 */ _t24 = _t23 & 0x00000001u; /* 028966C8 */ if (_t24) goto L_028966B8; else goto L_028966CC; L_028966CC: ; // 0x28966cc /* 028966CC */ cpu->r[3] = 0x00000001u; /* 028966D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000001u); /* 028966D4 */ cpu->r[7] = cpu->r[28] + 0xFFFFFFFFu; /* 028966D8 */ cpu->r[6] = cpu->r[3]; /* 028966DC */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 028966DC */ _t26 = _t25 & 0x00000001u; /* 028966DC */ if (_t26) goto L_028966E0; else goto L_02896700; L_028966E0: ; // 0x28966e0 /* 028966E0 */ cpu->ctr = cpu->r[7]; L_028966E4: ; // 0x28966e4 /* 028966E4 */ _t27 = cpu->r[8] + cpu->r[6]; /* 028966E4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t27); /* 028966E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[11]); /* 028966EC */ _t28 = cpu->cr[0] >> (0x00000002u & 31u); /* 028966EC */ _t29 = _t28 & 0x00000001u; /* 028966EC */ if (_t29) goto L_028966F0; else goto L_028966F8; L_028966F0: ; // 0x28966f0 /* 028966F0 */ cpu->r[3] = cpu->r[6]; /* 028966F4 */ cpu->r[11] = cpu->r[7]; L_028966F8: ; // 0x28966f8 /* 028966F8 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028966FC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028966FC */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028966FC */ _t31 = _t30 >> (0x00000002u & 31u); /* 028966FC */ _t32 = _t31 & 0x00000001u; /* 028966FC */ if (_t32) goto L_028966E4; else goto L_02896700; L_02896700: ; // 0x2896700 /* 02896700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000010u); /* 02896704 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896704 */ _t34 = _t33 & 0x00000001u; /* 02896704 */ if (_t34) goto L_02896708; else goto L_02896734; L_02896708: ; // 0x2896708 /* 02896708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289670C */ cpu->r[6] = 0x00000001u; /* 02896710 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896710 */ _t36 = _t35 & 0x00000001u; /* 02896710 */ if (_t36) goto L_02896714; else goto L_0289672C; L_02896714: ; // 0x2896714 /* 02896714 */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFFu; L_02896718: ; // 0x2896718 /* 02896718 */ _t37 = cpu->r[8] + cpu->r[6]; /* 02896718 */ cpu->r[7] = rbrew_read8(cpu->mem, _t37); /* 0289671C */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 02896720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]); /* 02896724 */ _t38 = cpu->r[11] + 0x00000001u; /* 02896724 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[7]); /* 02896724 */ cpu->r[11] = _t38; /* 02896728 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896728 */ _t40 = _t39 & 0x00000001u; /* 02896728 */ if (_t40) goto L_0289672C; else goto L_02896718; L_0289672C: ; // 0x289672c /* 0289672C */ _t41 = cpu->r[8] + cpu->r[3]; /* 0289672C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[30]); /* 02896730 */ _t42 = cpu->r[4] + 0x00000018u; /* 02896730 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42); L_02896734: ; // 0x2896734 /* 02896734 */ cpu->r[7] = 0x00000002u; /* 02896738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[31]); /* 0289673C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289673C */ _t44 = _t43 & 0x00000001u; /* 0289673C */ if (_t44) goto L_02896740; else goto L_02896884; L_02896740: ; // 0x2896740 /* 02896740 */ cpu->r[30] = 0x000000FFu; L_02896744: ; // 0x2896744 /* 02896744 */ cpu->r[6] = cpu->r[8] + cpu->r[7]; /* 02896748 */ _t45 = cpu->r[6] + 0xFFFFFFFFu; /* 02896748 */ cpu->r[11] = rbrew_read8(cpu->mem, _t45); /* 0289674C */ _t46 = cpu->r[6] + 0xFFFFFFFEu; /* 0289674C */ cpu->r[3] = rbrew_read8(cpu->mem, _t46); /* 02896750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02896754 */ _t47 = cpu->r[6] + 0x00000000u; /* 02896754 */ cpu->r[11] = rbrew_read8(cpu->mem, _t47); /* 02896758 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896758 */ _t49 = _t48 & 0x00000001u; /* 02896758 */ if (_t49) goto L_0289675C; else goto L_02896878; L_0289675C: ; // 0x289675c /* 0289675C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02896760 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896760 */ _t51 = _t50 & 0x00000001u; /* 02896760 */ if (_t51) goto L_02896878; else goto L_02896764; L_02896764: ; // 0x2896764 /* 02896764 */ cpu->r[27] = cpu->r[7] + 0x00000001u; /* 02896768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[31]); /* 0289676C */ cpu->r[6] = cpu->r[31] - cpu->r[27]; /* 02896770 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896770 */ _t53 = _t52 & 0x00000001u; /* 02896770 */ if (_t53) goto L_02896774; else goto L_0289678C; L_02896774: ; // 0x2896774 /* 02896774 */ cpu->ctr = cpu->r[6]; L_02896778: ; // 0x2896778 /* 02896778 */ _t54 = cpu->r[8] + cpu->r[27]; /* 02896778 */ cpu->r[6] = rbrew_read8(cpu->mem, _t54); /* 0289677C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02896780 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896780 */ _t56 = _t55 & 0x00000001u; /* 02896780 */ if (_t56) goto L_0289678C; else goto L_02896784; L_02896784: ; // 0x2896784 /* 02896784 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02896788 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896788 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896788 */ _t58 = _t57 >> (0x00000002u & 31u); /* 02896788 */ _t59 = _t58 & 0x00000001u; /* 02896788 */ if (_t59) goto L_02896778; else goto L_0289678C; L_0289678C: ; // 0x289678c /* 0289678C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02896790 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896790 */ _t61 = _t60 & 0x00000001u; /* 02896790 */ if (_t61) goto L_02896808; else goto L_02896794; L_02896794: ; // 0x2896794 /* 02896794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02896798 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896798 */ _t63 = _t62 & 0x00000001u; /* 02896798 */ if (_t63) goto L_02896874; else goto L_0289679C; L_0289679C: ; // 0x289679c /* 0289679C */ _t64 = cpu->r[4] + 0x0000001Au; /* 0289679C */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t64); /* 028967A0 */ cpu->r[28] = cpu->r[6] + 0xFFFFFFFFu; /* 028967A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]); /* 028967A8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 028967A8 */ _t66 = _t65 & 0x00000001u; /* 028967A8 */ if (_t66) goto L_02896874; else goto L_028967AC; L_028967AC: ; // 0x28967ac /* 028967AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000000Cu); /* 028967B0 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u); /* 028967B0 */ _t68 = _t67 & 0x00000001u; /* 028967B0 */ if (_t68) goto L_02896874; else goto L_028967B4; L_028967B4: ; // 0x28967b4 /* 028967B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu); /* 028967B8 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 028967B8 */ _t70 = _t69 & 0x00000001u; /* 028967B8 */ if (_t70) goto L_028967BC; else goto L_02896874; L_028967BC: ; // 0x28967bc /* 028967BC */ cpu->r[11] = cpu->r[10] + cpu->r[7]; /* 028967C0 */ _t71 = cpu->r[9] + cpu->r[7]; /* 028967C0 */ cpu->r[28] = rbrew_read8(cpu->mem, _t71); /* 028967C4 */ cpu->r[6] = cpu->r[9] + cpu->r[7]; /* 028967C8 */ _t72 = cpu->r[11] + 0xFFFFFFFEu; /* 028967C8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t72); /* 028967CC */ _t73 = cpu->r[6] + 0xFFFFFFFEu; /* 028967CC */ cpu->r[26] = rbrew_read8(cpu->mem, _t73); /* 028967D0 */ _t74 = cpu->r[11] + 0xFFFFFFFFu; /* 028967D0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t74); /* 028967D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028967D8 */ _t75 = cpu->r[11] + 0x00000000u; /* 028967D8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t75); /* 028967DC */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 028967DC */ _t77 = _t76 & 0x00000001u; /* 028967DC */ if (_t77) goto L_028967E0; else goto L_02896874; L_028967E0: ; // 0x28967e0 /* 028967E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x000000FFu); /* 028967E4 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 028967E4 */ _t79 = _t78 & 0x00000001u; /* 028967E4 */ if (_t79) goto L_028967E8; else goto L_02896874; L_028967E8: ; // 0x28967e8 /* 028967E8 */ cpu->r[6] = cpu->r[3] | cpu->r[6]; /* 028967E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028967EC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u); /* 028967EC */ _t81 = _t80 & 0x00000001u; /* 028967EC */ if (_t81) goto L_028967F0; else goto L_02896874; L_028967F0: ; // 0x28967f0 /* 028967F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu); /* 028967F4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u); /* 028967F4 */ _t83 = _t82 & 0x00000001u; /* 028967F4 */ if (_t83) goto L_028967F8; else goto L_02896874; L_028967F8: ; // 0x28967f8 /* 028967F8 */ cpu->r[6] = cpu->r[7] + 0xFFFFFFFFu; /* 028967FC */ _t84 = cpu->r[8] + cpu->r[6]; /* 028967FC */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[30]); /* 02896800 */ _t85 = cpu->r[4] + 0x00000018u; /* 02896800 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t85); /* 02896804 */ goto L_02896874; L_02896808: ; // 0x2896808 /* 02896808 */ cpu->r[6] = cpu->r[7]; /* 0289680C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[27]); /* 02896810 */ cpu->r[3] = cpu->r[27] - cpu->r[7]; /* 02896814 */ cpu->r[28] = cpu->r[7]; /* 02896818 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896818 */ _t87 = _t86 & 0x00000001u; /* 02896818 */ if (_t87) goto L_0289681C; else goto L_0289683C; L_0289681C: ; // 0x289681c /* 0289681C */ cpu->ctr = cpu->r[3]; L_02896820: ; // 0x2896820 /* 02896820 */ _t88 = cpu->r[8] + cpu->r[28]; /* 02896820 */ cpu->r[3] = rbrew_read8(cpu->mem, _t88); /* 02896824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[11]); /* 02896828 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896828 */ _t90 = _t89 & 0x00000001u; /* 02896828 */ if (_t90) goto L_0289682C; else goto L_02896834; L_0289682C: ; // 0x289682c /* 0289682C */ cpu->r[6] = cpu->r[28]; /* 02896830 */ cpu->r[11] = cpu->r[3]; L_02896834: ; // 0x2896834 /* 02896834 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02896838 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896838 */ _t91 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896838 */ _t92 = _t91 >> (0x00000002u & 31u); /* 02896838 */ _t93 = _t92 & 0x00000001u; /* 02896838 */ if (_t93) goto L_02896820; else goto L_0289683C; L_0289683C: ; // 0x289683c /* 0289683C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000010u); /* 02896840 */ _t94 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896840 */ _t95 = _t94 & 0x00000001u; /* 02896840 */ if (_t95) goto L_02896844; else goto L_02896874; L_02896844: ; // 0x2896844 /* 02896844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]); /* 02896848 */ cpu->r[28] = cpu->r[7]; /* 0289684C */ _t96 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289684C */ _t97 = _t96 & 0x00000001u; /* 0289684C */ if (_t97) goto L_0289686C; else goto L_02896850; L_02896850: ; // 0x2896850 /* 02896850 */ cpu->r[7] = cpu->r[8] + cpu->r[28]; /* 02896854 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFEu; L_02896858: ; // 0x2896858 /* 02896858 */ _t98 = cpu->r[8] + cpu->r[28]; /* 02896858 */ cpu->r[7] = rbrew_read8(cpu->mem, _t98); /* 0289685C */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02896860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]); /* 02896864 */ _t99 = cpu->r[11] + 0x00000001u; /* 02896864 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[7]); /* 02896864 */ cpu->r[11] = _t99; /* 02896868 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896868 */ _t101 = _t100 & 0x00000001u; /* 02896868 */ if (_t101) goto L_0289686C; else goto L_02896858; L_0289686C: ; // 0x289686c /* 0289686C */ _t102 = cpu->r[8] + cpu->r[6]; /* 0289686C */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[30]); /* 02896870 */ _t103 = cpu->r[4] + 0x00000018u; /* 02896870 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t103); L_02896874: ; // 0x2896874 /* 02896874 */ cpu->r[7] = cpu->r[27]; L_02896878: ; // 0x2896878 /* 02896878 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0289687C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[31]); /* 02896880 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896880 */ _t105 = _t104 & 0x00000001u; /* 02896880 */ if (_t105) goto L_02896744; else goto L_02896884; L_02896884: ; // 0x2896884 /* 02896884 */ _t106 = cpu->r[4] + 0x0000001Au; /* 02896884 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t106); /* 02896888 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 0289688C */ cpu->r[9] = cpu->r[9] + cpu->r[12]; /* 02896890 */ cpu->r[8] = cpu->r[8] + cpu->r[12]; /* 02896894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[11]); /* 02896898 */ cpu->r[10] = cpu->r[10] + cpu->r[12]; /* 0289689C */ _t107 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289689C */ _t108 = _t107 & 0x00000001u; /* 0289689C */ if (_t108) goto L_0289668C; else goto L_028968A0; L_028968A0: ; // 0x28968a0 /* 028968A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u); /* 028968A4 */ _t109 = cpu->cr[0] >> (0x00000003u & 31u); /* 028968A4 */ _t110 = _t109 & 0x00000001u; /* 028968A4 */ if (_t110) goto L_02896B50; else goto L_028968A8; L_028968A8: ; // 0x28968a8 /* 028968A8 */ cpu->r[5] = 0x00000000u; /* 028968AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[11]); /* 028968B0 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u); /* 028968B0 */ _t112 = _t111 & 0x00000001u; /* 028968B0 */ if (_t112) goto L_028968B4; else goto L_02896B50; L_028968B4: ; // 0x28968b4 /* 028968B4 */ cpu->r[8] = cpu->r[4] + 0x00000024u; /* 028968B8 */ cpu->r[30] = 0x000000FFu; /* 028968BC */ cpu->r[10] = cpu->r[8] + cpu->r[12]; /* 028968C0 */ cpu->r[9] = cpu->r[8] - cpu->r[12]; L_028968C4: ; // 0x28968c4 /* 028968C4 */ _t113 = cpu->r[4] + 0x00000018u; /* 028968C4 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t113); /* 028968C8 */ cpu->r[11] = cpu->r[8] + cpu->r[31]; /* 028968CC */ _t114 = cpu->r[11] + 0xFFFFFFFFu; /* 028968CC */ cpu->r[3] = rbrew_read8(cpu->mem, _t114); /* 028968D0 */ cpu->r[7] = cpu->r[31] + 0xFFFFFFFEu; /* 028968D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028968D8 */ _t115 = cpu->r[8] + cpu->r[7]; /* 028968D8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t115); /* 028968DC */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 028968DC */ _t117 = _t116 & 0x00000001u; /* 028968DC */ if (_t117) goto L_028968E0; else goto L_0289697C; L_028968E0: ; // 0x28968e0 /* 028968E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028968E4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 028968E4 */ _t119 = _t118 & 0x00000001u; /* 028968E4 */ if (_t119) goto L_0289697C; else goto L_028968E8; L_028968E8: ; // 0x28968e8 /* 028968E8 */ cpu->r[6] = cpu->r[7] + 0xFFFFFFFFu; /* 028968E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028968EC */ _t120 = cpu->cr[0] >> (0x00000003u & 31u); /* 028968EC */ _t121 = _t120 & 0x00000001u; /* 028968EC */ if (_t121) goto L_02896908; else goto L_028968F0; L_028968F0: ; // 0x28968f0 /* 028968F0 */ cpu->ctr = cpu->r[7]; L_028968F4: ; // 0x28968f4 /* 028968F4 */ _t122 = cpu->r[8] + cpu->r[6]; /* 028968F4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t122); /* 028968F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028968FC */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 028968FC */ _t124 = _t123 & 0x00000001u; /* 028968FC */ if (_t124) goto L_02896908; else goto L_02896900; L_02896900: ; // 0x2896900 /* 02896900 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 02896904 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896904 */ _t125 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896904 */ _t126 = _t125 >> (0x00000002u & 31u); /* 02896904 */ _t127 = _t126 & 0x00000001u; /* 02896904 */ if (_t127) goto L_028968F4; else goto L_02896908; L_02896908: ; // 0x2896908 /* 02896908 */ cpu->r[29] = cpu->r[7]; /* 0289690C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]); /* 02896910 */ cpu->r[6] = cpu->r[7] - cpu->r[6]; /* 02896914 */ cpu->r[3] = cpu->r[7]; /* 02896918 */ _t128 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896918 */ _t129 = _t128 & 0x00000001u; /* 02896918 */ if (_t129) goto L_0289691C; else goto L_0289693C; L_0289691C: ; // 0x289691c /* 0289691C */ cpu->ctr = cpu->r[6]; L_02896920: ; // 0x2896920 /* 02896920 */ _t130 = cpu->r[8] + cpu->r[3]; /* 02896920 */ cpu->r[6] = rbrew_read8(cpu->mem, _t130); /* 02896924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[11]); /* 02896928 */ _t131 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896928 */ _t132 = _t131 & 0x00000001u; /* 02896928 */ if (_t132) goto L_0289692C; else goto L_02896934; L_0289692C: ; // 0x289692c /* 0289692C */ cpu->r[29] = cpu->r[3]; /* 02896930 */ cpu->r[11] = cpu->r[6]; L_02896934: ; // 0x2896934 /* 02896934 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 02896938 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896938 */ _t133 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896938 */ _t134 = _t133 >> (0x00000002u & 31u); /* 02896938 */ _t135 = _t134 & 0x00000001u; /* 02896938 */ if (_t135) goto L_02896920; else goto L_0289693C; L_0289693C: ; // 0x289693c /* 0289693C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000010u); /* 02896940 */ _t136 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896940 */ _t137 = _t136 & 0x00000001u; /* 02896940 */ if (_t137) goto L_02896944; else goto L_0289697C; L_02896944: ; // 0x2896944 /* 02896944 */ cpu->r[11] = cpu->r[7] - cpu->r[29]; /* 02896948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]); /* 0289694C */ cpu->r[3] = cpu->r[7]; /* 02896950 */ cpu->r[7] = cpu->r[11] + 0x00000001u; /* 02896954 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896954 */ _t139 = _t138 & 0x00000001u; /* 02896954 */ if (_t139) goto L_02896974; else goto L_02896958; L_02896958: ; // 0x2896958 /* 02896958 */ cpu->r[11] = cpu->r[8] + cpu->r[3]; /* 0289695C */ cpu->ctr = cpu->r[7]; /* 02896960 */ cpu->r[11] = cpu->r[11] + 0x00000002u; L_02896964: ; // 0x2896964 /* 02896964 */ _t140 = cpu->r[8] + cpu->r[3]; /* 02896964 */ cpu->r[7] = rbrew_read8(cpu->mem, _t140); /* 02896968 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 0289696C */ _t141 = cpu->r[11] + 0xFFFFFFFFu; /* 0289696C */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[7]); /* 0289696C */ cpu->r[11] = _t141; /* 02896970 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896970 */ _t142 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896970 */ _t143 = _t142 >> (0x00000002u & 31u); /* 02896970 */ _t144 = _t143 & 0x00000001u; /* 02896970 */ if (_t144) goto L_02896964; else goto L_02896974; L_02896974: ; // 0x2896974 /* 02896974 */ _t145 = cpu->r[8] + cpu->r[29]; /* 02896974 */ rbrew_write8(cpu->mem, _t145, (uint8_t)cpu->r[30]); /* 02896978 */ _t146 = cpu->r[4] + 0x00000018u; /* 02896978 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t146); L_0289697C: ; // 0x289697c /* 0289697C */ cpu->r[7] = cpu->r[31] + 0xFFFFFFFDu; /* 0289697C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02896980 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896980 */ _t148 = _t147 & 0x00000001u; /* 02896980 */ if (_t148) goto L_02896B34; else goto L_02896984; L_02896984: ; // 0x2896984 /* 02896984 */ cpu->r[31] = 0x000000FFu; L_02896988: ; // 0x2896988 /* 02896988 */ cpu->r[6] = cpu->r[8] + cpu->r[7]; /* 0289698C */ _t149 = cpu->r[6] + 0x00000001u; /* 0289698C */ cpu->r[3] = rbrew_read8(cpu->mem, _t149); /* 02896990 */ _t150 = cpu->r[6] + 0x00000002u; /* 02896990 */ cpu->r[29] = rbrew_read8(cpu->mem, _t150); /* 02896994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02896998 */ _t151 = cpu->r[6] + 0x00000000u; /* 02896998 */ cpu->r[11] = rbrew_read8(cpu->mem, _t151); /* 0289699C */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289699C */ _t153 = _t152 & 0x00000001u; /* 0289699C */ if (_t153) goto L_028969A0; else goto L_02896ABC; L_028969A0: ; // 0x28969a0 /* 028969A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028969A4 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u); /* 028969A4 */ _t155 = _t154 & 0x00000001u; /* 028969A4 */ if (_t155) goto L_02896ABC; else goto L_028969A8; L_028969A8: ; // 0x28969a8 /* 028969A8 */ cpu->r[6] = cpu->r[7] + 0xFFFFFFFFu; /* 028969A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028969AC */ cpu->r[28] = cpu->r[6]; /* 028969B0 */ cpu->r[3] = cpu->r[28] + 0x00000001u; /* 028969B4 */ _t156 = cpu->cr[0] >> (0x00000003u & 31u); /* 028969B4 */ _t157 = _t156 & 0x00000001u; /* 028969B4 */ if (_t157) goto L_028969D0; else goto L_028969B8; L_028969B8: ; // 0x28969b8 /* 028969B8 */ cpu->ctr = cpu->r[3]; L_028969BC: ; // 0x28969bc /* 028969BC */ _t158 = cpu->r[8] + cpu->r[28]; /* 028969BC */ cpu->r[3] = rbrew_read8(cpu->mem, _t158); /* 028969C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028969C4 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u); /* 028969C4 */ _t160 = _t159 & 0x00000001u; /* 028969C4 */ if (_t160) goto L_028969D0; else goto L_028969C8; L_028969C8: ; // 0x28969c8 /* 028969C8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 028969CC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028969CC */ _t161 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028969CC */ _t162 = _t161 >> (0x00000002u & 31u); /* 028969CC */ _t163 = _t162 & 0x00000001u; /* 028969CC */ if (_t163) goto L_028969BC; else goto L_028969D0; L_028969D0: ; // 0x28969d0 /* 028969D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028969D4 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u); /* 028969D4 */ _t165 = _t164 & 0x00000001u; /* 028969D4 */ if (_t165) goto L_02896A40; else goto L_028969D8; L_028969D8: ; // 0x28969d8 /* 028969D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028969DC */ _t166 = cpu->cr[0] >> (0x00000001u & 31u); /* 028969DC */ _t167 = _t166 & 0x00000001u; /* 028969DC */ if (_t167) goto L_02896AB0; else goto L_028969E0; L_028969E0: ; // 0x28969e0 /* 028969E0 */ _t168 = cpu->r[4] + 0x0000001Au; /* 028969E0 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t168); /* 028969E4 */ cpu->r[27] = cpu->r[3] + 0xFFFFFFFFu; /* 028969E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[27]); /* 028969EC */ _t169 = cpu->cr[0] >> (0x00000001u & 31u); /* 028969EC */ _t170 = _t169 & 0x00000001u; /* 028969EC */ if (_t170) goto L_02896AB0; else goto L_028969F0; L_028969F0: ; // 0x28969f0 /* 028969F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Cu); /* 028969F4 */ _t171 = cpu->cr[0] >> (0x00000003u & 31u); /* 028969F4 */ _t172 = _t171 & 0x00000001u; /* 028969F4 */ if (_t172) goto L_02896AB0; else goto L_028969F8; L_028969F8: ; // 0x28969f8 /* 028969F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu); /* 028969FC */ _t173 = cpu->cr[0] >> (0x00000001u & 31u); /* 028969FC */ _t174 = _t173 & 0x00000001u; /* 028969FC */ if (_t174) goto L_02896A00; else goto L_02896AB0; L_02896A00: ; // 0x2896a00 /* 02896A00 */ cpu->r[11] = cpu->r[10] + cpu->r[7]; /* 02896A04 */ _t175 = cpu->r[7] + cpu->r[9]; /* 02896A04 */ cpu->r[29] = rbrew_read8(cpu->mem, _t175); /* 02896A04 */ cpu->r[7] = _t175; /* 02896A08 */ _t176 = cpu->r[7] + 0xFFFFFFFEu; /* 02896A08 */ cpu->r[27] = rbrew_read8(cpu->mem, _t176); /* 02896A0C */ _t177 = cpu->r[11] + 0xFFFFFFFEu; /* 02896A0C */ cpu->r[3] = rbrew_read8(cpu->mem, _t177); /* 02896A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02896A14 */ _t178 = cpu->r[11] + 0xFFFFFFFFu; /* 02896A14 */ cpu->r[7] = rbrew_read8(cpu->mem, _t178); /* 02896A18 */ _t179 = cpu->r[11] + 0x00000000u; /* 02896A18 */ cpu->r[11] = rbrew_read8(cpu->mem, _t179); /* 02896A1C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896A1C */ _t181 = _t180 & 0x00000001u; /* 02896A1C */ if (_t181) goto L_02896A20; else goto L_02896AB0; L_02896A20: ; // 0x2896a20 /* 02896A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x000000FFu); /* 02896A24 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896A24 */ _t183 = _t182 & 0x00000001u; /* 02896A24 */ if (_t183) goto L_02896A28; else goto L_02896AB0; L_02896A28: ; // 0x2896a28 /* 02896A28 */ cpu->r[7] = cpu->r[3] | cpu->r[7]; /* 02896A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02896A2C */ _t184 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896A2C */ _t185 = _t184 & 0x00000001u; /* 02896A2C */ if (_t185) goto L_02896A30; else goto L_02896AB0; L_02896A30: ; // 0x2896a30 /* 02896A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu); /* 02896A34 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896A34 */ _t187 = _t186 & 0x00000001u; /* 02896A34 */ if (_t187) goto L_02896A38; else goto L_02896AB0; L_02896A38: ; // 0x2896a38 /* 02896A38 */ _t188 = cpu->r[8] + cpu->r[6]; /* 02896A38 */ rbrew_write8(cpu->mem, _t188, (uint8_t)cpu->r[31]); /* 02896A3C */ goto L_02896AB0; L_02896A40: ; // 0x2896a40 /* 02896A40 */ cpu->r[6] = cpu->r[7]; /* 02896A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]); /* 02896A48 */ cpu->r[3] = cpu->r[7] - cpu->r[28]; /* 02896A4C */ cpu->r[29] = cpu->r[7]; /* 02896A50 */ _t189 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896A50 */ _t190 = _t189 & 0x00000001u; /* 02896A50 */ if (_t190) goto L_02896A54; else goto L_02896A74; L_02896A54: ; // 0x2896a54 /* 02896A54 */ cpu->ctr = cpu->r[3]; L_02896A58: ; // 0x2896a58 /* 02896A58 */ _t191 = cpu->r[8] + cpu->r[29]; /* 02896A58 */ cpu->r[3] = rbrew_read8(cpu->mem, _t191); /* 02896A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[11]); /* 02896A60 */ _t192 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896A60 */ _t193 = _t192 & 0x00000001u; /* 02896A60 */ if (_t193) goto L_02896A64; else goto L_02896A6C; L_02896A64: ; // 0x2896a64 /* 02896A64 */ cpu->r[6] = cpu->r[29]; /* 02896A68 */ cpu->r[11] = cpu->r[3]; L_02896A6C: ; // 0x2896a6c /* 02896A6C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02896A70 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896A70 */ _t194 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896A70 */ _t195 = _t194 >> (0x00000002u & 31u); /* 02896A70 */ _t196 = _t195 & 0x00000001u; /* 02896A70 */ if (_t196) goto L_02896A58; else goto L_02896A74; L_02896A74: ; // 0x2896a74 /* 02896A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000010u); /* 02896A78 */ _t197 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896A78 */ _t198 = _t197 & 0x00000001u; /* 02896A78 */ if (_t198) goto L_02896A7C; else goto L_02896AB0; L_02896A7C: ; // 0x2896a7c /* 02896A7C */ cpu->r[11] = cpu->r[7] - cpu->r[6]; /* 02896A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]); /* 02896A84 */ cpu->r[29] = cpu->r[7]; /* 02896A88 */ cpu->r[7] = cpu->r[11] + 0x00000001u; /* 02896A8C */ _t199 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896A8C */ _t200 = _t199 & 0x00000001u; /* 02896A8C */ if (_t200) goto L_02896AAC; else goto L_02896A90; L_02896A90: ; // 0x2896a90 /* 02896A90 */ cpu->r[11] = cpu->r[8] + cpu->r[29]; /* 02896A94 */ cpu->ctr = cpu->r[7]; /* 02896A98 */ cpu->r[11] = cpu->r[11] + 0x00000002u; L_02896A9C: ; // 0x2896a9c /* 02896A9C */ _t201 = cpu->r[8] + cpu->r[29]; /* 02896A9C */ cpu->r[7] = rbrew_read8(cpu->mem, _t201); /* 02896AA0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02896AA4 */ _t202 = cpu->r[11] + 0xFFFFFFFFu; /* 02896AA4 */ rbrew_write8(cpu->mem, _t202, (uint8_t)cpu->r[7]); /* 02896AA4 */ cpu->r[11] = _t202; /* 02896AA8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896AA8 */ _t203 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896AA8 */ _t204 = _t203 >> (0x00000002u & 31u); /* 02896AA8 */ _t205 = _t204 & 0x00000001u; /* 02896AA8 */ if (_t205) goto L_02896A9C; else goto L_02896AAC; L_02896AAC: ; // 0x2896aac /* 02896AAC */ _t206 = cpu->r[8] + cpu->r[6]; /* 02896AAC */ rbrew_write8(cpu->mem, _t206, (uint8_t)cpu->r[31]); L_02896AB0: ; // 0x2896ab0 /* 02896AB0 */ cpu->r[7] = cpu->r[28] + 0xFFFFFFFFu; /* 02896AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02896AB4 */ _t207 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896AB4 */ _t208 = _t207 & 0x00000001u; /* 02896AB4 */ if (_t208) goto L_02896AB8; else goto L_02896988; L_02896AB8: ; // 0x2896ab8 /* 02896AB8 */ goto L_02896B34; L_02896ABC: ; // 0x2896abc /* 02896ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02896AC0 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896AC0 */ _t210 = _t209 & 0x00000001u; /* 02896AC0 */ if (_t210) goto L_02896B2C; else goto L_02896AC4; L_02896AC4: ; // 0x2896ac4 /* 02896AC4 */ _t211 = cpu->r[4] + 0x0000001Au; /* 02896AC4 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t211); /* 02896AC8 */ cpu->r[27] = cpu->r[28] + 0xFFFFFFFFu; /* 02896ACC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[27]); /* 02896AD0 */ _t212 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896AD0 */ _t213 = _t212 & 0x00000001u; /* 02896AD0 */ if (_t213) goto L_02896B2C; else goto L_02896AD4; L_02896AD4: ; // 0x2896ad4 /* 02896AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x000000FFu); /* 02896AD8 */ _t214 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896AD8 */ _t215 = _t214 & 0x00000001u; /* 02896AD8 */ if (_t215) goto L_02896ADC; else goto L_02896B2C; L_02896ADC: ; // 0x2896adc /* 02896ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02896AE0 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896AE0 */ _t217 = _t216 & 0x00000001u; /* 02896AE0 */ if (_t217) goto L_02896AE4; else goto L_02896B2C; L_02896AE4: ; // 0x2896ae4 /* 02896AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu); /* 02896AE8 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896AE8 */ _t219 = _t218 & 0x00000001u; /* 02896AE8 */ if (_t219) goto L_02896AEC; else goto L_02896B2C; L_02896AEC: ; // 0x2896aec /* 02896AEC */ _t220 = cpu->r[9] + cpu->r[7]; /* 02896AEC */ cpu->r[28] = rbrew_read8(cpu->mem, _t220); /* 02896AF0 */ cpu->r[11] = cpu->r[10] + cpu->r[7]; /* 02896AF4 */ _t221 = cpu->r[11] + 0xFFFFFFFEu; /* 02896AF4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t221); /* 02896AF8 */ cpu->r[3] = cpu->r[9] + cpu->r[7]; /* 02896AFC */ _t222 = cpu->r[3] + 0xFFFFFFFEu; /* 02896AFC */ cpu->r[27] = rbrew_read8(cpu->mem, _t222); /* 02896B00 */ _t223 = cpu->r[11] + 0xFFFFFFFFu; /* 02896B00 */ cpu->r[3] = rbrew_read8(cpu->mem, _t223); /* 02896B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02896B08 */ _t224 = cpu->r[11] + 0x00000000u; /* 02896B08 */ cpu->r[11] = rbrew_read8(cpu->mem, _t224); /* 02896B0C */ _t225 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896B0C */ _t226 = _t225 & 0x00000001u; /* 02896B0C */ if (_t226) goto L_02896B10; else goto L_02896B2C; L_02896B10: ; // 0x2896b10 /* 02896B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x000000FFu); /* 02896B14 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896B14 */ _t228 = _t227 & 0x00000001u; /* 02896B14 */ if (_t228) goto L_02896B18; else goto L_02896B2C; L_02896B18: ; // 0x2896b18 /* 02896B18 */ cpu->r[3] = cpu->r[29] | cpu->r[3]; /* 02896B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02896B1C */ _t229 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896B1C */ _t230 = _t229 & 0x00000001u; /* 02896B1C */ if (_t230) goto L_02896B20; else goto L_02896B2C; L_02896B20: ; // 0x2896b20 /* 02896B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu); /* 02896B24 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896B24 */ _t232 = _t231 & 0x00000001u; /* 02896B24 */ if (_t232) goto L_02896B28; else goto L_02896B2C; L_02896B28: ; // 0x2896b28 /* 02896B28 */ _t233 = cpu->r[6] + 0xFFFFFFFFu; /* 02896B28 */ rbrew_write8(cpu->mem, _t233, (uint8_t)cpu->r[31]); L_02896B2C: ; // 0x2896b2c /* 02896B2C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 02896B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02896B30 */ _t234 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896B30 */ _t235 = _t234 & 0x00000001u; /* 02896B30 */ if (_t235) goto L_02896B34; else goto L_02896988; L_02896B34: ; // 0x2896b34 /* 02896B34 */ _t236 = cpu->r[4] + 0x0000001Au; /* 02896B34 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t236); /* 02896B38 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 02896B3C */ cpu->r[9] = cpu->r[9] + cpu->r[12]; /* 02896B40 */ cpu->r[8] = cpu->r[8] + cpu->r[12]; /* 02896B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[11]); /* 02896B48 */ cpu->r[10] = cpu->r[10] + cpu->r[12]; /* 02896B4C */ _t237 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896B4C */ _t238 = _t237 & 0x00000001u; /* 02896B4C */ if (_t238) goto L_028968C4; else goto L_02896B50; L_02896B50: ; // 0x2896b50 /* 02896B50 */ /* nop */ /* 02896B54 */ cpu->r[3] = cpu->r[4]; /* 02896B58 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02896B5C */ return; } // fn_02896B60 @ 0x2896b60 void Gambit_fn_02896B60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02896B60: ; // 0x2896b60 /* 02896B60 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02896B60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02896B60 */ cpu->r[1] = _t0; /* 02896B64 */ /* nop */ /* 02896B68 */ cpu->r[0] = cpu->lr; /* 02896B6C */ _t1 = cpu->r[1] + 0x00000034u; /* 02896B6C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02896B70 */ cpu->r[29] = cpu->r[3]; /* 02896B74 */ cpu->r[31] = cpu->r[4]; /* 02896B78 */ _t2 = cpu->r[29] + 0x0000001Cu; /* 02896B78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2); /* 02896B7C */ _t3 = cpu->r[4] + 0x00000020u; /* 02896B7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 02896B80 */ _t4 = cpu->r[7] + 0x0000000Eu; /* 02896B80 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 02896B84 */ cpu->r[27] = 0x00000000u; /* 02896B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02896B8C */ cpu->r[28] = cpu->r[27]; /* 02896B90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896B90 */ _t6 = _t5 & 0x00000001u; /* 02896B90 */ if (_t6) goto L_02896B94; else goto L_02896BAC; L_02896B94: ; // 0x2896b94 /* 02896B94 */ cpu->r[3] = cpu->r[31]; /* 02896B98 */ /* nop */ /* 02896B9C */ _t7 = cpu->r[1] + 0x00000034u; /* 02896B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02896BA0 */ cpu->lr = cpu->r[0]; /* 02896BA4 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02896BA8 */ return; L_02896BAC: ; // 0x2896bac /* 02896BAC */ _t8 = cpu->r[31] + 0x0000001Au; /* 02896BAC */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8); /* 02896BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 02896BB4 */ _t9 = cpu->r[31] + 0x00000018u; /* 02896BB4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 02896BB8 */ cpu->r[0] = 0x00000002u; /* 02896BBC */ _t10 = cpu->r[31] + 0x00000020u; /* 02896BBC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 02896BC0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896BC0 */ _t12 = _t11 & 0x00000001u; /* 02896BC0 */ if (_t12) goto L_02896BC4; else goto L_02896BC8; L_02896BC4: ; // 0x2896bc4 /* 02896BC4 */ cpu->r[0] = 0x00000001u; L_02896BC8: ; // 0x2896bc8 /* 02896BC8 */ cpu->r[24] = cpu->r[8] + cpu->r[0]; /* 02896BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000004u); /* 02896BD0 */ /* nop */ /* 02896BD4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896BD4 */ _t14 = _t13 & 0x00000001u; /* 02896BD4 */ if (_t14) goto L_02896BD8; else goto L_02896C08; L_02896BD8: ; // 0x2896bd8 /* 02896BD8 */ cpu->r[9] = cpu->r[24] + 0x00000001u; /* 02896BDC */ /* nop */ /* 02896BE0 */ /* nop */ /* 02896BE4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[27]); /* 02896BE8 */ cpu->r[26] = cpu->r[11] + 0x00000024u; /* 02896BEC */ cpu->r[3] = cpu->r[29]; /* 02896BF0 */ cpu->r[4] = cpu->r[26]; /* 02896BF4 */ cpu->r[28] = 0x00000004u; /* 02896BF8 */ Gambit_fn_0288D574(cpu); /* 02896BFC */ cpu->r[30] = cpu->r[3]; /* 02896BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02896C00 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896C00 */ _t16 = _t15 & 0x00000001u; /* 02896C00 */ if (_t16) goto L_02896C04; else goto L_02896C90; L_02896C04: ; // 0x2896c04 /* 02896C04 */ goto L_02896C6C; L_02896C08: ; // 0x2896c08 /* 02896C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000008u); /* 02896C0C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896C0C */ _t18 = _t17 & 0x00000001u; /* 02896C0C */ if (_t18) goto L_02896C10; else goto L_02896C38; L_02896C10: ; // 0x2896c10 /* 02896C10 */ cpu->r[27] = cpu->r[24]; /* 02896C14 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[27]); /* 02896C18 */ cpu->r[26] = cpu->r[11] + 0x00000024u; /* 02896C1C */ cpu->r[3] = cpu->r[29]; /* 02896C20 */ cpu->r[4] = cpu->r[26]; /* 02896C24 */ cpu->r[28] = 0x00000008u; /* 02896C28 */ Gambit_fn_0288D574(cpu); /* 02896C2C */ cpu->r[30] = cpu->r[3]; /* 02896C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02896C30 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896C30 */ _t20 = _t19 & 0x00000001u; /* 02896C30 */ if (_t20) goto L_02896C34; else goto L_02896C90; L_02896C34: ; // 0x2896c34 /* 02896C34 */ goto L_02896C6C; L_02896C38: ; // 0x2896c38 /* 02896C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u); /* 02896C3C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896C3C */ _t22 = _t21 & 0x00000001u; /* 02896C3C */ if (_t22) goto L_02896C40; else goto L_02896C50; L_02896C40: ; // 0x2896c40 /* 02896C40 */ cpu->r[10] = cpu->r[24] + 0x00000003u; /* 02896C44 */ /* nop */ /* 02896C48 */ cpu->r[28] = 0x00000002u; /* 02896C4C */ /* nop */ L_02896C50: ; // 0x2896c50 /* 02896C50 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[27]); /* 02896C54 */ cpu->r[26] = cpu->r[11] + 0x00000024u; /* 02896C58 */ cpu->r[3] = cpu->r[29]; /* 02896C5C */ cpu->r[4] = cpu->r[26]; /* 02896C60 */ Gambit_fn_0288D574(cpu); /* 02896C64 */ cpu->r[30] = cpu->r[3]; /* 02896C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02896C68 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896C68 */ _t24 = _t23 & 0x00000001u; /* 02896C68 */ if (_t24) goto L_02896C6C; else goto L_02896C90; L_02896C6C: ; // 0x2896c6c /* 02896C6C */ cpu->r[3] = cpu->r[29]; /* 02896C70 */ cpu->r[4] = cpu->r[31]; /* 02896C74 */ Gambit_fn_02872988(cpu); /* 02896C78 */ /* nop */ /* 02896C7C */ _t25 = cpu->r[1] + 0x00000034u; /* 02896C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 02896C80 */ cpu->lr = cpu->r[0]; /* 02896C84 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02896C88 */ cpu->r[3] = 0x00000000u; /* 02896C8C */ return; L_02896C90: ; // 0x2896c90 /* 02896C90 */ _t26 = cpu->r[30] + 0x00000018u; /* 02896C90 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[24]); /* 02896C94 */ _t27 = cpu->r[30] + 0x0000001Au; /* 02896C94 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[25]); /* 02896C98 */ _t28 = cpu->r[30] + 0x0000001Cu; /* 02896C98 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[27]); /* 02896C9C */ _t29 = cpu->r[30] + 0x00000004u; /* 02896C9C */ rbrew_write32(cpu->mem, _t29, cpu->r[26]); /* 02896CA0 */ _t30 = cpu->r[31] + 0x0000000Cu; /* 02896CA0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 02896CA4 */ _t31 = cpu->r[30] + 0x0000000Cu; /* 02896CA4 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[0]); /* 02896CA8 */ _t32 = cpu->r[31] + 0x0000000Eu; /* 02896CA8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t32); /* 02896CAC */ _t33 = cpu->r[30] + 0x0000000Eu; /* 02896CAC */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[0]); /* 02896CB0 */ _t34 = cpu->r[31] + 0x00000010u; /* 02896CB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34); /* 02896CB4 */ _t35 = cpu->r[30] + 0x00000010u; /* 02896CB4 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]); /* 02896CB8 */ _t36 = cpu->r[31] + 0x00000014u; /* 02896CB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 02896CBC */ _t37 = cpu->r[30] + 0x00000014u; /* 02896CBC */ rbrew_write32(cpu->mem, _t37, cpu->r[5]); /* 02896CC0 */ _t38 = cpu->r[31] + 0x0000000Au; /* 02896CC0 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t38); /* 02896CC4 */ _t39 = cpu->r[30] + 0x0000000Au; /* 02896CC4 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[6]); /* 02896CC8 */ _t40 = cpu->r[31] + 0x00000008u; /* 02896CC8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 02896CCC */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFFu; /* 02896CD0 */ _t41 = cpu->r[30] + 0x00000008u; /* 02896CD0 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[7]); /* 02896CD4 */ _t42 = cpu->r[31] + 0x00000020u; /* 02896CD4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42); /* 02896CD8 */ cpu->r[25] = 0x00000000u; /* 02896CDC */ _t43 = cpu->r[30] + 0x00000020u; /* 02896CDC */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[9]); /* 02896CE0 */ _t44 = cpu->r[31] + 0x0000001Au; /* 02896CE0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44); /* 02896CE4 */ cpu->r[24] = cpu->r[31] + 0x00000024u; /* 02896CE8 */ cpu->r[26] = cpu->r[30] + 0x00000024u; /* 02896CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[10]); /* 02896CF0 */ cpu->r[23] = cpu->r[26]; /* 02896CF4 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896CF4 */ _t46 = _t45 & 0x00000001u; /* 02896CF4 */ if (_t46) goto L_02896CF8; else goto L_02896D30; L_02896CF8: ; // 0x2896cf8 /* 02896CF8 */ _t47 = cpu->r[31] + 0x0000001Cu; /* 02896CF8 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t47); L_02896CFC: ; // 0x2896cfc /* 02896CFC */ cpu->r[6] = 0x00000000u; /* 02896D00 */ cpu->r[4] = cpu->r[24]; /* 02896D04 */ cpu->r[3] = cpu->r[23]; /* 02896D08 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 02896D0C */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02896D10 */ _t48 = cpu->r[31] + 0x0000001Cu; /* 02896D10 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t48); /* 02896D14 */ /* nop */ /* 02896D18 */ _t49 = cpu->r[31] + 0x0000001Au; /* 02896D18 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t49); /* 02896D1C */ _t50 = cpu->r[30] + 0x0000001Cu; /* 02896D1C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50); /* 02896D20 */ cpu->r[24] = cpu->r[24] + cpu->r[5]; /* 02896D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[12]); /* 02896D28 */ cpu->r[23] = cpu->r[23] + cpu->r[11]; /* 02896D2C */ _t51 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896D2C */ _t52 = _t51 & 0x00000001u; /* 02896D2C */ if (_t52) goto L_02896CFC; else goto L_02896D30; L_02896D30: ; // 0x2896d30 /* 02896D30 */ cpu->r[3] = cpu->r[29]; /* 02896D34 */ cpu->r[4] = cpu->r[30]; /* 02896D38 */ Gambit_fn_02884D8C(cpu); /* 02896D3C */ cpu->r[22] = cpu->r[3]; /* 02896D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 02896D40 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896D40 */ _t54 = _t53 & 0x00000001u; /* 02896D40 */ if (_t54) goto L_02896D44; else goto L_02896D68; L_02896D44: ; // 0x2896d44 /* 02896D44 */ cpu->r[3] = cpu->r[29]; /* 02896D48 */ cpu->r[4] = cpu->r[30]; /* 02896D4C */ Gambit_fn_0288CA30(cpu); /* 02896D50 */ /* nop */ /* 02896D54 */ _t55 = cpu->r[1] + 0x00000034u; /* 02896D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55); /* 02896D58 */ cpu->lr = cpu->r[0]; /* 02896D5C */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02896D60 */ cpu->r[3] = 0x00000000u; /* 02896D64 */ return; L_02896D68: ; // 0x2896d68 /* 02896D68 */ _t56 = cpu->r[30] + 0x0000001Au; /* 02896D68 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t56); /* 02896D6C */ cpu->r[25] = 0x00000000u; /* 02896D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]); /* 02896D74 */ cpu->r[6] = cpu->r[22] + 0x00000024u; /* 02896D78 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896D78 */ _t58 = _t57 & 0x00000001u; /* 02896D78 */ if (_t58) goto L_02896D7C; else goto L_02896DE8; L_02896D7C: ; // 0x2896d7c /* 02896D7C */ cpu->r[0] = 0x00000008u - cpu->r[28]; L_02896D80: ; // 0x2896d80 /* 02896D80 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[27]); /* 02896D84 */ cpu->r[7] = 0x00000001u; /* 02896D88 */ _t59 = cpu->r[6] + cpu->r[12]; /* 02896D88 */ cpu->r[5] = rbrew_read8(cpu->mem, _t59); /* 02896D8C */ cpu->r[23] = cpu->r[26] + cpu->r[12]; /* 02896D90 */ cpu->r[24] = cpu->r[6] + cpu->r[12]; /* 02896D94 */ cpu->r[10] = cpu->r[27] + 0xFFFFFFFFu; /* 02896D98 */ /* nop */ /* 02896D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000001u); /* 02896DA0 */ _t60 = cpu->r[23] + 0x00000000u; /* 02896DA0 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[12]); /* 02896DA4 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u); /* 02896DA4 */ _t62 = _t61 & 0x00000001u; /* 02896DA4 */ if (_t62) goto L_02896DA8; else goto L_02896DD4; L_02896DA8: ; // 0x2896da8 /* 02896DA8 */ cpu->ctr = cpu->r[10]; /* 02896DAC */ cpu->r[11] = cpu->r[24] + 0xFFFFFFFFu; L_02896DB0: ; // 0x2896db0 /* 02896DB0 */ _t63 = cpu->r[11] + 0x00000001u; /* 02896DB0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t63); /* 02896DB0 */ cpu->r[11] = _t63; /* 02896DB4 */ _t64 = cpu->r[24] + cpu->r[7]; /* 02896DB4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t64); /* 02896DB8 */ /* nop */ /* 02896DBC */ /* nop */ /* 02896DC0 */ cpu->r[4] = cpu->r[8] | cpu->r[10]; /* 02896DC4 */ _t65 = cpu->r[23] + cpu->r[7]; /* 02896DC4 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[4]); /* 02896DC8 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 02896DCC */ /* nop */ /* 02896DD0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02896DD0 */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02896DD0 */ _t67 = _t66 >> (0x00000002u & 31u); /* 02896DD0 */ _t68 = _t67 & 0x00000001u; /* 02896DD0 */ if (_t68) goto L_02896DB0; else goto L_02896DD4; L_02896DD4: ; // 0x2896dd4 /* 02896DD4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02896DD8 */ _t69 = cpu->r[30] + 0x0000001Au; /* 02896DD8 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69); /* 02896DDC */ /* nop */ /* 02896DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]); /* 02896DE4 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896DE4 */ _t71 = _t70 & 0x00000001u; /* 02896DE4 */ if (_t71) goto L_02896D80; else goto L_02896DE8; L_02896DE8: ; // 0x2896de8 /* 02896DE8 */ cpu->r[3] = cpu->r[29]; /* 02896DEC */ cpu->r[4] = cpu->r[31]; /* 02896DF0 */ Gambit_fn_02872988(cpu); /* 02896DF4 */ cpu->r[3] = cpu->r[29]; /* 02896DF8 */ cpu->r[4] = cpu->r[22]; /* 02896DFC */ Gambit_fn_02872988(cpu); /* 02896E00 */ _t72 = cpu->r[30] + 0x00000020u; /* 02896E00 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t72); /* 02896E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u); /* 02896E08 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896E08 */ _t74 = _t73 & 0x00000001u; /* 02896E08 */ if (_t74) goto L_02896E0C; else goto L_02896E1C; L_02896E0C: ; // 0x2896e0c /* 02896E0C */ cpu->r[3] = cpu->r[29]; /* 02896E10 */ cpu->r[4] = cpu->r[30]; /* 02896E14 */ Gambit_fn_02895BFC(cpu); /* 02896E18 */ goto L_02896E48; L_02896E1C: ; // 0x2896e1c /* 02896E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000008u); /* 02896E20 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896E20 */ _t76 = _t75 & 0x00000001u; /* 02896E20 */ if (_t76) goto L_02896E24; else goto L_02896E34; L_02896E24: ; // 0x2896e24 /* 02896E24 */ cpu->r[3] = cpu->r[29]; /* 02896E28 */ cpu->r[4] = cpu->r[30]; /* 02896E2C */ Gambit_fn_02896648(cpu); /* 02896E30 */ goto L_02896E48; L_02896E34: ; // 0x2896e34 /* 02896E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u); /* 02896E38 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896E38 */ _t78 = _t77 & 0x00000001u; /* 02896E38 */ if (_t78) goto L_02896E3C; else goto L_02896E48; L_02896E3C: ; // 0x2896e3c /* 02896E3C */ cpu->r[3] = cpu->r[29]; /* 02896E40 */ cpu->r[4] = cpu->r[30]; /* 02896E44 */ Gambit_fn_02895174(cpu); L_02896E48: ; // 0x2896e48 /* 02896E48 */ cpu->r[3] = cpu->r[30]; /* 02896E4C */ /* nop */ /* 02896E50 */ _t79 = cpu->r[1] + 0x00000034u; /* 02896E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79); /* 02896E54 */ cpu->lr = cpu->r[0]; /* 02896E58 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02896E5C */ return; } // fn_02896E60 @ 0x2896e60 void Gambit_fn_02896E60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_02896E60: ; // 0x2896e60 /* 02896E60 */ cpu->r[3] = cpu->r[3] + 0x00000058u; /* 02896E64 */ goto L_02C875DC; L_02C875DC: ; // 0x2c875dc /* 02C875DC */ cpu->r[31] = cpu->r[3]; /* 02C875E0 */ cpu->r[30] = cpu->r[4]; /* 02C875E4 */ Gambit_fn_02C89AB8(cpu); /* 02C875E8 */ cpu->r[3] = cpu->r[30]; /* 02C875E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02C875EC */ _t0 = cpu->r[31] + 0x00000000u; /* 02C875EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02C875F0 */ cpu->lr = cpu->r[0]; /* 02C875F4 */ _t1 = cpu->r[31] + 0x00000060u; /* 02C875F4 */ cpu->f[14] = rbrew_read_f32(cpu->mem, _t1); /* 02C875F8 */ _t2 = cpu->r[31] + 0x00000058u; /* 02C875F8 */ cpu->f[14] = rbrew_read_f64(cpu->mem, _t2); /* 02C875FC */ _t3 = cpu->r[31] + 0x00000070u; /* 02C875FC */ cpu->f[15] = rbrew_read_f32(cpu->mem, _t3); /* 02C87600 */ _t4 = cpu->r[31] + 0x00000068u; /* 02C87600 */ cpu->f[15] = rbrew_read_f64(cpu->mem, _t4); /* 02C87604 */ _t5 = cpu->r[31] + 0x00000080u; /* 02C87604 */ cpu->f[16] = rbrew_read_f32(cpu->mem, _t5); /* 02C87608 */ _t6 = cpu->r[31] + 0x00000078u; /* 02C87608 */ cpu->f[16] = rbrew_read_f64(cpu->mem, _t6); /* 02C8760C */ _t7 = cpu->r[31] + 0x00000090u; /* 02C8760C */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t7); /* 02C87610 */ _t8 = cpu->r[31] + 0x00000088u; /* 02C87610 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t8); /* 02C87614 */ _t9 = cpu->r[31] + 0x000000A0u; /* 02C87614 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t9); /* 02C87618 */ _t10 = cpu->r[31] + 0x00000098u; /* 02C87618 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t10); /* 02C8761C */ _t11 = cpu->r[31] + 0x000000B0u; /* 02C8761C */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t11); /* 02C87620 */ _t12 = cpu->r[31] + 0x000000A8u; /* 02C87620 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t12); /* 02C87624 */ _t13 = cpu->r[31] + 0x000000C0u; /* 02C87624 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t13); /* 02C87628 */ _t14 = cpu->r[31] + 0x000000B8u; /* 02C87628 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t14); /* 02C8762C */ _t15 = cpu->r[31] + 0x000000D0u; /* 02C8762C */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t15); /* 02C87630 */ _t16 = cpu->r[31] + 0x000000C8u; /* 02C87630 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t16); /* 02C87634 */ _t17 = cpu->r[31] + 0x000000E0u; /* 02C87634 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t17); /* 02C87638 */ _t18 = cpu->r[31] + 0x000000D8u; /* 02C87638 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t18); /* 02C8763C */ _t19 = cpu->r[31] + 0x000000F0u; /* 02C8763C */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t19); /* 02C87640 */ _t20 = cpu->r[31] + 0x000000E8u; /* 02C87640 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t20); /* 02C87644 */ _t21 = cpu->r[31] + 0x00000100u; /* 02C87644 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t21); /* 02C87648 */ _t22 = cpu->r[31] + 0x000000F8u; /* 02C87648 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t22); /* 02C8764C */ _t23 = cpu->r[31] + 0x00000110u; /* 02C8764C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t23); /* 02C87650 */ _t24 = cpu->r[31] + 0x00000108u; /* 02C87650 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t24); /* 02C87654 */ _t25 = cpu->r[31] + 0x00000120u; /* 02C87654 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t25); /* 02C87658 */ _t26 = cpu->r[31] + 0x00000118u; /* 02C87658 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t26); /* 02C8765C */ _t27 = cpu->r[31] + 0x00000130u; /* 02C8765C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t27); /* 02C87660 */ _t28 = cpu->r[31] + 0x00000128u; /* 02C87660 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t28); /* 02C87664 */ _t29 = cpu->r[31] + 0x00000140u; /* 02C87664 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t29); /* 02C87668 */ _t30 = cpu->r[31] + 0x00000138u; /* 02C87668 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t30); /* 02C8766C */ _t31 = cpu->r[31] + 0x00000150u; /* 02C8766C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t31); /* 02C87670 */ _t32 = cpu->r[31] + 0x00000148u; /* 02C87670 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32); /* 02C87674 */ _t33 = cpu->r[31] + 0x00000160u; /* 02C87674 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t33); /* 02C87678 */ _t34 = cpu->r[31] + 0x00000158u; /* 02C87678 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t34); /* 02C8767C */ _t35 = cpu->r[31] + 0x00000170u; /* 02C8767C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35); /* 02C87680 */ _t36 = cpu->r[31] + 0x00000168u; /* 02C87680 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36); /* 02C87684 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 02C87684 */ _t38 = _t37 & 0x00000001u; /* 02C87684 */ if (_t38) goto L_02C87688; // else: addr-0 trap, fall-through L_02C87688: ; // 0x2c87688 /* 02C87688 */ _t39 = cpu->r[31] + 0x00000008u; /* 02C87688 */ cpu->r[2] = rbrew_read32(cpu->mem, _t39); /* 02C8768C */ _t40 = cpu->r[31] + 0x0000000Cu; /* 02C8768C */ cpu->r[13] = rbrew_read32(cpu->mem, _t40); /* 02C87690 */ _t41 = cpu->r[31] + 0x00000010u; /* 02C87690 */ cpu->r[14] = rbrew_read32(cpu->mem, _t41); /* 02C87694 */ _t42 = cpu->r[31] + 0x00000014u; /* 02C87694 */ cpu->r[15] = rbrew_read32(cpu->mem, _t42); /* 02C87698 */ _t43 = cpu->r[31] + 0x00000018u; /* 02C87698 */ cpu->r[16] = rbrew_read32(cpu->mem, _t43); /* 02C8769C */ _t44 = cpu->r[31] + 0x0000001Cu; /* 02C8769C */ cpu->r[17] = rbrew_read32(cpu->mem, _t44); /* 02C876A0 */ _t45 = cpu->r[31] + 0x00000020u; /* 02C876A0 */ cpu->r[18] = rbrew_read32(cpu->mem, _t45); /* 02C876A4 */ _t46 = cpu->r[31] + 0x00000024u; /* 02C876A4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t46); /* 02C876A8 */ _t47 = cpu->r[31] + 0x00000028u; /* 02C876A8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t47); /* 02C876AC */ _t48 = cpu->r[31] + 0x0000002Cu; /* 02C876AC */ cpu->r[21] = rbrew_read32(cpu->mem, _t48); /* 02C876B0 */ _t49 = cpu->r[31] + 0x00000030u; /* 02C876B0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t49); /* 02C876B4 */ _t50 = cpu->r[31] + 0x00000034u; /* 02C876B4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t50); /* 02C876B8 */ _t51 = cpu->r[31] + 0x00000038u; /* 02C876B8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t51); /* 02C876BC */ _t52 = cpu->r[31] + 0x0000003Cu; /* 02C876BC */ cpu->r[25] = rbrew_read32(cpu->mem, _t52); /* 02C876C0 */ _t53 = cpu->r[31] + 0x00000040u; /* 02C876C0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t53); /* 02C876C4 */ _t54 = cpu->r[31] + 0x00000044u; /* 02C876C4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t54); /* 02C876C8 */ _t55 = cpu->r[31] + 0x00000048u; /* 02C876C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t55); /* 02C876CC */ _t56 = cpu->r[31] + 0x0000004Cu; /* 02C876CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t56); /* 02C876D0 */ _t57 = cpu->r[31] + 0x00000050u; /* 02C876D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57); /* 02C876D4 */ _t58 = cpu->r[31] + 0x00000054u; /* 02C876D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58); /* 02C876D8 */ _t59 = cpu->r[31] + 0x00000004u; /* 02C876D8 */ cpu->r[1] = rbrew_read32(cpu->mem, _t59); /* 02C876DC */ cpu->r[31] = cpu->r[4]; /* 02C876E0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02C876E0 */ _t61 = _t60 & 0x00000001u; /* 02C876E0 */ if (_t61) goto L_02C876E4; else goto L_02C876E8; L_02C876E4: ; // 0x2c876e4 /* 02C876E4 */ cpu->r[3] = 0x00000001u; L_02C876E8: ; // 0x2c876e8 /* 02C876E8 */ return; } // fn_02896E68 @ 0x2896e68 void Gambit_fn_02896E68(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_02896E60: ; // 0x2896e60 /* 02896E60 */ cpu->r[3] = cpu->r[3] + 0x00000058u; /* 02896E64 */ goto L_02C875DC; L_02896E68: ; // 0x2896e68 /* 02896E68 */ cpu->r[4] = 0x000001A0u; /* 02896E6C */ goto L_02896E60; L_02C875DC: ; // 0x2c875dc /* 02C875DC */ cpu->r[31] = cpu->r[3]; /* 02C875E0 */ cpu->r[30] = cpu->r[4]; /* 02C875E4 */ Gambit_fn_02C89AB8(cpu); /* 02C875E8 */ cpu->r[3] = cpu->r[30]; /* 02C875E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02C875EC */ _t0 = cpu->r[31] + 0x00000000u; /* 02C875EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02C875F0 */ cpu->lr = cpu->r[0]; /* 02C875F4 */ _t1 = cpu->r[31] + 0x00000060u; /* 02C875F4 */ cpu->f[14] = rbrew_read_f32(cpu->mem, _t1); /* 02C875F8 */ _t2 = cpu->r[31] + 0x00000058u; /* 02C875F8 */ cpu->f[14] = rbrew_read_f64(cpu->mem, _t2); /* 02C875FC */ _t3 = cpu->r[31] + 0x00000070u; /* 02C875FC */ cpu->f[15] = rbrew_read_f32(cpu->mem, _t3); /* 02C87600 */ _t4 = cpu->r[31] + 0x00000068u; /* 02C87600 */ cpu->f[15] = rbrew_read_f64(cpu->mem, _t4); /* 02C87604 */ _t5 = cpu->r[31] + 0x00000080u; /* 02C87604 */ cpu->f[16] = rbrew_read_f32(cpu->mem, _t5); /* 02C87608 */ _t6 = cpu->r[31] + 0x00000078u; /* 02C87608 */ cpu->f[16] = rbrew_read_f64(cpu->mem, _t6); /* 02C8760C */ _t7 = cpu->r[31] + 0x00000090u; /* 02C8760C */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t7); /* 02C87610 */ _t8 = cpu->r[31] + 0x00000088u; /* 02C87610 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t8); /* 02C87614 */ _t9 = cpu->r[31] + 0x000000A0u; /* 02C87614 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t9); /* 02C87618 */ _t10 = cpu->r[31] + 0x00000098u; /* 02C87618 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t10); /* 02C8761C */ _t11 = cpu->r[31] + 0x000000B0u; /* 02C8761C */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t11); /* 02C87620 */ _t12 = cpu->r[31] + 0x000000A8u; /* 02C87620 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t12); /* 02C87624 */ _t13 = cpu->r[31] + 0x000000C0u; /* 02C87624 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t13); /* 02C87628 */ _t14 = cpu->r[31] + 0x000000B8u; /* 02C87628 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t14); /* 02C8762C */ _t15 = cpu->r[31] + 0x000000D0u; /* 02C8762C */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t15); /* 02C87630 */ _t16 = cpu->r[31] + 0x000000C8u; /* 02C87630 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t16); /* 02C87634 */ _t17 = cpu->r[31] + 0x000000E0u; /* 02C87634 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t17); /* 02C87638 */ _t18 = cpu->r[31] + 0x000000D8u; /* 02C87638 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t18); /* 02C8763C */ _t19 = cpu->r[31] + 0x000000F0u; /* 02C8763C */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t19); /* 02C87640 */ _t20 = cpu->r[31] + 0x000000E8u; /* 02C87640 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t20); /* 02C87644 */ _t21 = cpu->r[31] + 0x00000100u; /* 02C87644 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t21); /* 02C87648 */ _t22 = cpu->r[31] + 0x000000F8u; /* 02C87648 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t22); /* 02C8764C */ _t23 = cpu->r[31] + 0x00000110u; /* 02C8764C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t23); /* 02C87650 */ _t24 = cpu->r[31] + 0x00000108u; /* 02C87650 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t24); /* 02C87654 */ _t25 = cpu->r[31] + 0x00000120u; /* 02C87654 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t25); /* 02C87658 */ _t26 = cpu->r[31] + 0x00000118u; /* 02C87658 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t26); /* 02C8765C */ _t27 = cpu->r[31] + 0x00000130u; /* 02C8765C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t27); /* 02C87660 */ _t28 = cpu->r[31] + 0x00000128u; /* 02C87660 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t28); /* 02C87664 */ _t29 = cpu->r[31] + 0x00000140u; /* 02C87664 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t29); /* 02C87668 */ _t30 = cpu->r[31] + 0x00000138u; /* 02C87668 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t30); /* 02C8766C */ _t31 = cpu->r[31] + 0x00000150u; /* 02C8766C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t31); /* 02C87670 */ _t32 = cpu->r[31] + 0x00000148u; /* 02C87670 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32); /* 02C87674 */ _t33 = cpu->r[31] + 0x00000160u; /* 02C87674 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t33); /* 02C87678 */ _t34 = cpu->r[31] + 0x00000158u; /* 02C87678 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t34); /* 02C8767C */ _t35 = cpu->r[31] + 0x00000170u; /* 02C8767C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35); /* 02C87680 */ _t36 = cpu->r[31] + 0x00000168u; /* 02C87680 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36); /* 02C87684 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 02C87684 */ _t38 = _t37 & 0x00000001u; /* 02C87684 */ if (_t38) goto L_02C87688; // else: addr-0 trap, fall-through L_02C87688: ; // 0x2c87688 /* 02C87688 */ _t39 = cpu->r[31] + 0x00000008u; /* 02C87688 */ cpu->r[2] = rbrew_read32(cpu->mem, _t39); /* 02C8768C */ _t40 = cpu->r[31] + 0x0000000Cu; /* 02C8768C */ cpu->r[13] = rbrew_read32(cpu->mem, _t40); /* 02C87690 */ _t41 = cpu->r[31] + 0x00000010u; /* 02C87690 */ cpu->r[14] = rbrew_read32(cpu->mem, _t41); /* 02C87694 */ _t42 = cpu->r[31] + 0x00000014u; /* 02C87694 */ cpu->r[15] = rbrew_read32(cpu->mem, _t42); /* 02C87698 */ _t43 = cpu->r[31] + 0x00000018u; /* 02C87698 */ cpu->r[16] = rbrew_read32(cpu->mem, _t43); /* 02C8769C */ _t44 = cpu->r[31] + 0x0000001Cu; /* 02C8769C */ cpu->r[17] = rbrew_read32(cpu->mem, _t44); /* 02C876A0 */ _t45 = cpu->r[31] + 0x00000020u; /* 02C876A0 */ cpu->r[18] = rbrew_read32(cpu->mem, _t45); /* 02C876A4 */ _t46 = cpu->r[31] + 0x00000024u; /* 02C876A4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t46); /* 02C876A8 */ _t47 = cpu->r[31] + 0x00000028u; /* 02C876A8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t47); /* 02C876AC */ _t48 = cpu->r[31] + 0x0000002Cu; /* 02C876AC */ cpu->r[21] = rbrew_read32(cpu->mem, _t48); /* 02C876B0 */ _t49 = cpu->r[31] + 0x00000030u; /* 02C876B0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t49); /* 02C876B4 */ _t50 = cpu->r[31] + 0x00000034u; /* 02C876B4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t50); /* 02C876B8 */ _t51 = cpu->r[31] + 0x00000038u; /* 02C876B8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t51); /* 02C876BC */ _t52 = cpu->r[31] + 0x0000003Cu; /* 02C876BC */ cpu->r[25] = rbrew_read32(cpu->mem, _t52); /* 02C876C0 */ _t53 = cpu->r[31] + 0x00000040u; /* 02C876C0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t53); /* 02C876C4 */ _t54 = cpu->r[31] + 0x00000044u; /* 02C876C4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t54); /* 02C876C8 */ _t55 = cpu->r[31] + 0x00000048u; /* 02C876C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t55); /* 02C876CC */ _t56 = cpu->r[31] + 0x0000004Cu; /* 02C876CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t56); /* 02C876D0 */ _t57 = cpu->r[31] + 0x00000050u; /* 02C876D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57); /* 02C876D4 */ _t58 = cpu->r[31] + 0x00000054u; /* 02C876D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58); /* 02C876D8 */ _t59 = cpu->r[31] + 0x00000004u; /* 02C876D8 */ cpu->r[1] = rbrew_read32(cpu->mem, _t59); /* 02C876DC */ cpu->r[31] = cpu->r[4]; /* 02C876E0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02C876E0 */ _t61 = _t60 & 0x00000001u; /* 02C876E0 */ if (_t61) goto L_02C876E4; else goto L_02C876E8; L_02C876E4: ; // 0x2c876e4 /* 02C876E4 */ cpu->r[3] = 0x00000001u; L_02C876E8: ; // 0x2c876e8 /* 02C876E8 */ return; } // fn_02896E70 @ 0x2896e70 void Gambit_fn_02896E70(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_02896E70: ; // 0x2896e70 /* 02896E70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02896E70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02896E70 */ cpu->r[1] = _t0; /* 02896E74 */ cpu->r[0] = cpu->lr; /* 02896E78 */ /* nop */ /* 02896E7C */ cpu->r[30] = cpu->r[5]; /* 02896E80 */ cpu->r[28] = cpu->r[3]; /* 02896E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02896E84 */ _t1 = cpu->r[1] + 0x00000024u; /* 02896E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02896E88 */ cpu->r[29] = cpu->r[4]; /* 02896E8C */ cpu->r[0] = cpu->r[28]; /* 02896E90 */ cpu->r[7] = cpu->r[29]; /* 02896E94 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896E94 */ _t3 = _t2 & 0x00000001u; /* 02896E94 */ if (_t3) goto L_02896E98; else goto L_02896E9C; L_02896E98: ; // 0x2896e98 /* 02896E98 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[0]); L_02896E9C: ; // 0x2896e9c /* 02896E9C */ /* nop */ /* 02896EA0 */ cpu->r[7] = cpu->r[7] ^ cpu->r[11]; /* 02896EA4 */ cpu->r[7] = cpu->r[7] - cpu->r[11]; /* 02896EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 02896EAC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02896EAC */ _t5 = _t4 & 0x00000001u; /* 02896EAC */ if (_t5) goto L_02896EB0; else goto L_02896EB4; L_02896EB0: ; // 0x2896eb0 /* 02896EB0 */ cpu->r[0] = cpu->r[7]; L_02896EB4: ; // 0x2896eb4 /* 02896EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02896EB8 */ cpu->r[10] = 0x00000000u; /* 02896EBC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896EBC */ _t7 = _t6 & 0x00000001u; /* 02896EBC */ if (_t7) goto L_02896ECC; else goto L_02896EC0; L_02896EC0: ; // 0x2896ec0 /* 02896EC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02896EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02896EC4 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 02896EC8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896EC8 */ _t9 = _t8 & 0x00000001u; /* 02896EC8 */ if (_t9) goto L_02896ECC; else goto L_02896EC0; L_02896ECC: ; // 0x2896ecc /* 02896ECC */ cpu->r[0] = 0x0000001Eu - cpu->r[10]; /* 02896ED0 */ /* nop */ /* 02896ED4 */ cpu->r[5] = 0x0000001Eu; /* 02896ED8 */ cpu->r[3] = cpu->r[28]; /* 02896EDC */ cpu->r[4] = cpu->r[28]; /* 02896EE0 */ /* nop */ /* 02896EE4 */ Gambit_fn_0287B904(cpu); /* 02896EE8 */ cpu->r[31] = cpu->r[3]; /* 02896EEC */ cpu->r[5] = 0x0000001Eu; /* 02896EF0 */ cpu->r[4] = cpu->r[29]; /* 02896EF4 */ cpu->r[3] = cpu->r[29]; /* 02896EF8 */ Gambit_fn_0287B904(cpu); /* 02896EFC */ cpu->r[3] = cpu->r[31] + cpu->r[3]; /* 02896F00 */ Gambit_fn_0287B498(cpu); /* 02896F04 */ cpu->r[31] = cpu->r[3]; /* 02896F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02896F08 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02896F08 */ _t11 = _t10 & 0x00000001u; /* 02896F08 */ if (_t11) goto L_02896F50; else goto L_02896F0C; L_02896F0C: ; // 0x2896f0c /* 02896F0C */ cpu->r[27] = 0x00010000u; /* 02896F10 */ cpu->r[5] = 0x0000001Eu; /* 02896F14 */ cpu->r[3] = cpu->r[28]; /* 02896F18 */ cpu->r[4] = cpu->r[31]; /* 02896F1C */ cpu->r[27] = cpu->r[27] + 0xFFFF8000u; /* 02896F20 */ Gambit_fn_0287B61C(cpu); /* 02896F24 */ cpu->r[4] = cpu->r[31]; /* 02896F28 */ cpu->r[12] = cpu->r[3] + cpu->r[27]; /* 02896F2C */ cpu->r[3] = cpu->r[29]; /* 02896F30 */ /* nop */ /* 02896F34 */ cpu->r[5] = 0x0000001Eu; /* 02896F38 */ _t12 = cpu->r[30] + 0x00000000u; /* 02896F38 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]); /* 02896F3C */ Gambit_fn_0287B61C(cpu); /* 02896F40 */ cpu->r[0] = cpu->r[3] + cpu->r[27]; /* 02896F44 */ /* nop */ /* 02896F48 */ _t13 = cpu->r[30] + 0x00000002u; /* 02896F48 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[5]); /* 02896F4C */ goto L_02896F60; L_02896F50: ; // 0x2896f50 /* 02896F50 */ cpu->r[8] = 0x00004000u; /* 02896F54 */ cpu->r[5] = 0x00000000u; /* 02896F58 */ _t14 = cpu->r[30] + 0x00000000u; /* 02896F58 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[8]); /* 02896F5C */ _t15 = cpu->r[30] + 0x00000002u; /* 02896F5C */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[5]); L_02896F60: ; // 0x2896f60 /* 02896F60 */ /* nop */ /* 02896F64 */ _t16 = cpu->r[1] + 0x00000024u; /* 02896F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02896F68 */ cpu->lr = cpu->r[0]; /* 02896F6C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02896F70 */ return; } // fn_0289705C @ 0x289705c void Gambit_fn_0289705C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0289705C: ; // 0x289705c /* 0289705C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02897060 */ cpu->r[12] = cpu->r[3]; /* 02897064 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897064 */ _t1 = _t0 & 0x00000001u; /* 02897064 */ if (_t1) goto L_02897080; else goto L_02897068; L_02897068: ; // 0x2897068 /* 02897068 */ cpu->r[12] = cpu->r[12] + cpu->r[4]; /* 0289706C */ cpu->r[12] = cpu->r[12] + 0x00000020u; /* 02897070 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000019u); /* 02897074 */ cpu->r[0] = cpu->r[3] ^ cpu->r[12]; /* 02897074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02897078 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897078 */ _t3 = _t2 & 0x00000001u; /* 02897078 */ if (_t3) goto L_0289707C; else goto L_028970A4; L_0289707C: ; // 0x289707c /* 0289707C */ goto L_02897098; L_02897080: ; // 0x2897080 /* 02897080 */ cpu->r[12] = cpu->r[4] - cpu->r[12]; /* 02897084 */ cpu->r[0] = cpu->r[12] + 0x00000020u; /* 02897088 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289708C */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]); /* 02897090 */ cpu->r[0] = cpu->r[3] ^ cpu->r[12]; /* 02897090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02897094 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897094 */ _t5 = _t4 & 0x00000001u; /* 02897094 */ if (_t5) goto L_02897098; else goto L_028970A4; L_02897098: ; // 0x2897098 /* 02897098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289709C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289709C */ _t7 = _t6 & 0x00000001u; /* 0289709C */ if (_t7) goto L_028970A4; else goto L_028970A0; L_028970A0: ; // 0x28970a0 /* 028970A0 */ cpu->r[12] = 0x00000000u; L_028970A4: ; // 0x28970a4 /* 028970A4 */ cpu->r[3] = cpu->r[12]; /* 028970A8 */ return; } // fn_02897108 @ 0x2897108 void Gambit_fn_02897108(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02897108: ; // 0x2897108 /* 02897108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289710C */ cpu->r[12] = cpu->r[3]; /* 02897110 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897110 */ _t1 = _t0 & 0x00000001u; /* 02897110 */ if (_t1) goto L_02897124; else goto L_02897114; L_02897114: ; // 0x2897114 /* 02897114 */ cpu->r[12] = cpu->r[12] + cpu->r[4]; /* 02897118 */ cpu->r[0] = cpu->r[3] ^ cpu->r[12]; /* 02897118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289711C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289711C */ _t3 = _t2 & 0x00000001u; /* 0289711C */ if (_t3) goto L_02897120; else goto L_0289713C; L_02897120: ; // 0x2897120 /* 02897120 */ goto L_02897130; L_02897124: ; // 0x2897124 /* 02897124 */ cpu->r[12] = cpu->r[12] - cpu->r[4]; /* 02897128 */ cpu->r[0] = cpu->r[3] ^ cpu->r[12]; /* 02897128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289712C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289712C */ _t5 = _t4 & 0x00000001u; /* 0289712C */ if (_t5) goto L_02897130; else goto L_0289713C; L_02897130: ; // 0x2897130 /* 02897130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02897134 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897134 */ _t7 = _t6 & 0x00000001u; /* 02897134 */ if (_t7) goto L_0289713C; else goto L_02897138; L_02897138: ; // 0x2897138 /* 02897138 */ cpu->r[12] = 0x00000000u; L_0289713C: ; // 0x289713c /* 0289713C */ cpu->r[3] = cpu->r[12]; /* 02897140 */ return; } // fn_028971BC @ 0x28971bc void Gambit_fn_028971BC(CPUState* cpu) { uint32_t _t0, _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_028971BC: ; // 0x28971bc /* 028971BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028971BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028971BC */ cpu->r[1] = _t0; /* 028971C0 */ _t1 = cpu->r[1] + 0x00000008u; /* 028971C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028971C4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028971C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028971C8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028971C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028971CC */ _t4 = cpu->r[5] + 0x00000024u; /* 028971CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 028971D0 */ cpu->r[31] = cpu->r[3]; /* 028971D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028971D8 */ _t5 = cpu->r[6] + 0x00000086u; /* 028971D8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 028971DC */ cpu->r[30] = cpu->r[6] + 0x00000060u; /* 028971E0 */ _t6 = cpu->r[6] + 0x00000088u; /* 028971E0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 028971E4 */ cpu->r[0] = cpu->r[4]; /* 028971E8 */ cpu->r[5] = 0x0000001Eu; /* 028971EC */ _t7 = cpu->r[6] + 0x00000080u; /* 028971EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 028971F0 */ cpu->r[8] = cpu->r[9] - cpu->r[10]; /* 028971F4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028971F4 */ _t9 = _t8 & 0x00000001u; /* 028971F4 */ if (_t9) goto L_02897228; else goto L_028971F8; L_028971F8: ; // 0x28971f8 /* 028971F8 */ cpu->r[3] = cpu->r[3] + cpu->r[0]; /* 028971FC */ cpu->r[3] = cpu->r[3] + cpu->r[8]; /* 02897200 */ Gambit_fn_0287B61C(cpu); /* 02897204 */ _t10 = cpu->r[30] + 0x00000020u; /* 02897204 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 02897208 */ cpu->r[5] = 0x0000001Eu; /* 0289720C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000019u); /* 02897210 */ Gambit_fn_0287B904(cpu); /* 02897214 */ _t11 = cpu->r[30] + 0x00000026u; /* 02897214 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11); /* 02897218 */ cpu->r[3] = cpu->r[3] + cpu->r[0]; /* 0289721C */ cpu->r[11] = cpu->r[31] ^ cpu->r[3]; /* 0289721C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02897220 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897220 */ _t13 = _t12 & 0x00000001u; /* 02897220 */ if (_t13) goto L_02897224; else goto L_02897270; L_02897224: ; // 0x2897224 /* 02897224 */ goto L_02897258; L_02897228: ; // 0x2897228 /* 02897228 */ cpu->r[7] = cpu->r[0] - cpu->r[3]; /* 0289722C */ cpu->r[3] = cpu->r[7] + cpu->r[8]; /* 02897230 */ Gambit_fn_0287B61C(cpu); /* 02897234 */ _t14 = cpu->r[30] + 0x00000020u; /* 02897234 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14); /* 02897238 */ cpu->r[5] = 0x0000001Eu; /* 0289723C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000019u); /* 02897240 */ Gambit_fn_0287B904(cpu); /* 02897244 */ _t15 = cpu->r[30] + 0x00000026u; /* 02897244 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 02897248 */ cpu->r[3] = cpu->r[3] + cpu->r[0]; /* 0289724C */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]); /* 02897250 */ cpu->r[11] = cpu->r[31] ^ cpu->r[3]; /* 02897250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02897254 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897254 */ _t17 = _t16 & 0x00000001u; /* 02897254 */ if (_t17) goto L_02897258; else goto L_02897270; L_02897258: ; // 0x2897258 /* 02897258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289725C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289725C */ _t19 = _t18 & 0x00000001u; /* 0289725C */ if (_t19) goto L_0289726C; else goto L_02897260; L_02897260: ; // 0x2897260 /* 02897260 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u); /* 02897260 */ _t21 = _t20 & 0x00000001u; /* 02897260 */ if (_t21) goto L_02897264; else goto L_02897270; L_02897264: ; // 0x2897264 /* 02897264 */ cpu->r[3] = cpu->r[0]; /* 02897268 */ goto L_02897270; L_0289726C: ; // 0x289726c /* 0289726C */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[0]); L_02897270: ; // 0x2897270 /* 02897270 */ _t22 = cpu->r[1] + 0x00000014u; /* 02897270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02897274 */ _t23 = cpu->r[1] + 0x00000008u; /* 02897274 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02897278 */ cpu->lr = cpu->r[0]; /* 0289727C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 0289727C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02897280 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02897284 */ return; } // fn_02897288 @ 0x2897288 void Gambit_fn_02897288(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897288: ; // 0x2897288 /* 02897288 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02897288 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897288 */ cpu->r[1] = _t0; /* 0289728C */ /* nop */ /* 02897290 */ cpu->r[0] = cpu->lr; /* 02897294 */ _t1 = cpu->r[1] + 0x00000024u; /* 02897294 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02897298 */ cpu->r[29] = cpu->r[4]; /* 0289729C */ _t2 = cpu->r[3] + 0x0000003Cu; /* 0289729C */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2); /* 028972A0 */ cpu->r[30] = cpu->r[5]; /* 028972A4 */ cpu->r[31] = cpu->r[6]; /* 028972A8 */ _t3 = cpu->r[3] + 0x00000010u; /* 028972A8 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3); /* 028972AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00004000u); /* 028972B0 */ _t4 = cpu->r[3] + 0x00000012u; /* 028972B0 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 028972B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028972B4 */ _t6 = _t5 & 0x00000001u; /* 028972B4 */ if (_t6) goto L_02897330; else goto L_028972B8; L_028972B8: ; // 0x28972b8 /* 028972B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028972BC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028972BC */ _t8 = _t7 & 0x00000001u; /* 028972BC */ if (_t8) goto L_028972F0; else goto L_028972C0; L_028972C0: ; // 0x28972c0 /* 028972C0 */ cpu->r[5] = cpu->r[27]; /* 028972C4 */ cpu->r[3] = cpu->r[31]; /* 028972C8 */ cpu->r[26] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028972CC */ Gambit_fn_0287B768(cpu); /* 028972D0 */ _t9 = cpu->r[29] + 0x00000000u; /* 028972D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 028972D4 */ _t10 = cpu->r[7] + cpu->r[26]; /* 028972D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10); /* 028972D8 */ cpu->r[8] = cpu->r[8] + cpu->r[3]; /* 028972DC */ _t11 = cpu->r[7] + cpu->r[26]; /* 028972DC */ rbrew_write32(cpu->mem, _t11, cpu->r[8]); /* 028972E0 */ _t12 = cpu->r[29] + 0x00000024u; /* 028972E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 028972E4 */ _t13 = cpu->r[11] + cpu->r[30]; /* 028972E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 028972E8 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 028972EC */ _t14 = cpu->r[11] + cpu->r[30]; /* 028972EC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]); L_028972F0: ; // 0x28972f0 /* 028972F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028972F4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028972F4 */ _t16 = _t15 & 0x00000001u; /* 028972F4 */ if (_t16) goto L_028973A4; else goto L_028972F8; L_028972F8: ; // 0x28972f8 /* 028972F8 */ cpu->r[5] = cpu->r[27]; /* 028972FC */ cpu->r[4] = cpu->r[28]; /* 02897300 */ cpu->r[3] = cpu->r[31]; /* 02897304 */ Gambit_fn_0287B768(cpu); /* 02897308 */ _t17 = cpu->r[29] + 0x00000004u; /* 02897308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 0289730C */ cpu->r[26] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897310 */ _t18 = cpu->r[12] + cpu->r[26]; /* 02897310 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18); /* 02897314 */ cpu->r[5] = cpu->r[5] + cpu->r[3]; /* 02897318 */ _t19 = cpu->r[12] + cpu->r[26]; /* 02897318 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]); /* 0289731C */ _t20 = cpu->r[29] + 0x00000024u; /* 0289731C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 02897320 */ _t21 = cpu->r[11] + cpu->r[30]; /* 02897320 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21); /* 02897324 */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 02897328 */ _t22 = cpu->r[11] + cpu->r[30]; /* 02897328 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]); /* 0289732C */ goto L_028973A4; L_02897330: ; // 0x2897330 /* 02897330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02897334 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897334 */ _t24 = _t23 & 0x00000001u; /* 02897334 */ if (_t24) goto L_02897368; else goto L_02897338; L_02897338: ; // 0x2897338 /* 02897338 */ cpu->r[5] = 0x0000000Eu; /* 0289733C */ cpu->r[3] = cpu->r[31]; /* 02897340 */ cpu->r[26] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897344 */ Gambit_fn_0287B904(cpu); /* 02897348 */ _t25 = cpu->r[29] + 0x00000000u; /* 02897348 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 0289734C */ _t26 = cpu->r[10] + cpu->r[26]; /* 0289734C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 02897350 */ cpu->r[12] = cpu->r[12] + cpu->r[3]; /* 02897354 */ _t27 = cpu->r[10] + cpu->r[26]; /* 02897354 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]); /* 02897358 */ _t28 = cpu->r[29] + 0x00000024u; /* 02897358 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 0289735C */ _t29 = cpu->r[11] + cpu->r[30]; /* 0289735C */ cpu->r[0] = rbrew_read8(cpu->mem, _t29); /* 02897360 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 02897364 */ _t30 = cpu->r[11] + cpu->r[30]; /* 02897364 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]); L_02897368: ; // 0x2897368 /* 02897368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289736C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289736C */ _t32 = _t31 & 0x00000001u; /* 0289736C */ if (_t32) goto L_028973A4; else goto L_02897370; L_02897370: ; // 0x2897370 /* 02897370 */ cpu->r[5] = 0x0000000Eu; /* 02897374 */ cpu->r[4] = cpu->r[28]; /* 02897378 */ cpu->r[3] = cpu->r[31]; /* 0289737C */ Gambit_fn_0287B904(cpu); /* 02897380 */ _t33 = cpu->r[29] + 0x00000004u; /* 02897380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 02897384 */ cpu->r[26] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897388 */ _t34 = cpu->r[12] + cpu->r[26]; /* 02897388 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 0289738C */ cpu->r[5] = cpu->r[5] + cpu->r[3]; /* 02897390 */ _t35 = cpu->r[12] + cpu->r[26]; /* 02897390 */ rbrew_write32(cpu->mem, _t35, cpu->r[5]); /* 02897394 */ _t36 = cpu->r[29] + 0x00000024u; /* 02897394 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 02897398 */ _t37 = cpu->r[11] + cpu->r[30]; /* 02897398 */ cpu->r[0] = rbrew_read8(cpu->mem, _t37); /* 0289739C */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 028973A0 */ _t38 = cpu->r[11] + cpu->r[30]; /* 028973A0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]); L_028973A4: ; // 0x28973a4 /* 028973A4 */ /* nop */ /* 028973A8 */ _t39 = cpu->r[1] + 0x00000024u; /* 028973A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 028973AC */ cpu->lr = cpu->r[0]; /* 028973B0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028973B4 */ return; } // fn_0289740C @ 0x289740c void Gambit_fn_0289740C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0289740C: ; // 0x289740c /* 0289740C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289740C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289740C */ cpu->r[1] = _t0; /* 02897410 */ _t1 = cpu->r[1] + 0x00000014u; /* 02897410 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897414 */ cpu->r[31] = cpu->r[3]; /* 02897418 */ _t2 = cpu->r[1] + 0x00000010u; /* 02897418 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0289741C */ cpu->r[30] = cpu->r[5]; /* 02897420 */ cpu->r[3] = cpu->r[4]; /* 02897424 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02897424 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02897428 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02897428 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289742C */ _t5 = cpu->r[31] + 0x0000000Cu; /* 0289742C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 02897430 */ cpu->r[5] = 0x0000000Eu; /* 02897434 */ Gambit_fn_0287B904(cpu); /* 02897438 */ cpu->r[29] = cpu->r[3]; /* 0289743C */ cpu->r[3] = cpu->r[30]; /* 02897440 */ _t6 = cpu->r[31] + 0x0000000Eu; /* 02897440 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 02897444 */ cpu->r[5] = 0x0000000Eu; /* 02897448 */ Gambit_fn_0287B904(cpu); /* 0289744C */ cpu->r[3] = cpu->r[29] + cpu->r[3]; /* 02897450 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02897450 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 02897454 */ _t8 = cpu->r[1] + 0x0000001Cu; /* 02897454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02897458 */ _t9 = cpu->r[1] + 0x00000014u; /* 02897458 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 0289745C */ cpu->lr = cpu->r[0]; /* 02897460 */ _t10 = cpu->r[1] + 0x00000010u; /* 02897460 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 02897464 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02897468 */ return; } // fn_02897470 @ 0x2897470 void Gambit_fn_02897470(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_02897470: ; // 0x2897470 /* 02897470 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02897470 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897470 */ cpu->r[1] = _t0; /* 02897474 */ _t1 = cpu->r[1] + 0x00000014u; /* 02897474 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897478 */ cpu->r[31] = cpu->r[3]; /* 0289747C */ _t2 = cpu->r[1] + 0x00000010u; /* 0289747C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02897480 */ cpu->r[30] = cpu->r[5]; /* 02897484 */ cpu->r[3] = cpu->r[4]; /* 02897488 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02897488 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0289748C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0289748C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02897490 */ _t5 = cpu->r[31] + 0x00000014u; /* 02897490 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 02897494 */ cpu->r[5] = 0x0000000Eu; /* 02897498 */ Gambit_fn_0287B904(cpu); /* 0289749C */ cpu->r[29] = cpu->r[3]; /* 028974A0 */ cpu->r[3] = cpu->r[30]; /* 028974A4 */ _t6 = cpu->r[31] + 0x00000016u; /* 028974A4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 028974A8 */ cpu->r[5] = 0x0000000Eu; /* 028974AC */ Gambit_fn_0287B904(cpu); /* 028974B0 */ cpu->r[3] = cpu->r[29] + cpu->r[3]; /* 028974B4 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028974B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 028974B8 */ _t8 = cpu->r[1] + 0x0000001Cu; /* 028974B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028974BC */ _t9 = cpu->r[1] + 0x00000014u; /* 028974BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 028974C0 */ cpu->lr = cpu->r[0]; /* 028974C4 */ _t10 = cpu->r[1] + 0x00000010u; /* 028974C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028974C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028974CC */ return; } // fn_028974D0 @ 0x28974d0 void Gambit_fn_028974D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028974D0: ; // 0x28974d0 /* 028974D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028974D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028974D0 */ cpu->r[1] = _t0; /* 028974D4 */ /* nop */ /* 028974D8 */ cpu->r[0] = cpu->lr; /* 028974DC */ _t1 = cpu->r[1] + 0x00000024u; /* 028974DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028974E0 */ _t2 = cpu->r[3] + 0x0000000Eu; /* 028974E0 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2); /* 028974E4 */ _t3 = cpu->r[3] + 0x00000024u; /* 028974E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3); /* 028974E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028974EC */ _t4 = cpu->r[3] + 0x0000000Cu; /* 028974EC */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 028974F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028974F0 */ _t6 = _t5 & 0x00000001u; /* 028974F0 */ if (_t6) goto L_028975B4; else goto L_028974F4; L_028974F4: ; // 0x28974f4 /* 028974F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028974F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028974F8 */ _t8 = _t7 & 0x00000001u; /* 028974F8 */ if (_t8) goto L_0289759C; else goto L_028974FC; L_028974FC: ; // 0x28974fc /* 028974FC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[27]); /* 02897500 */ _t9 = cpu->r[31] + 0x000000D8u; /* 02897500 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 02897504 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)cpu->r[28]); /* 02897508 */ cpu->r[4] = cpu->r[3]; /* 0289750C */ cpu->r[11] = cpu->r[10] + 0x00002000u; /* 02897510 */ cpu->r[5] = 0x00000010u; /* 02897514 */ cpu->r[0] = cpu->r[12] + 0x00002000u; /* 02897518 */ /* nop */ /* 0289751C */ /* nop */ /* 02897520 */ /* nop */ /* 02897524 */ /* nop */ /* 02897528 */ Gambit_fn_0287B904(cpu); /* 0289752C */ cpu->r[29] = cpu->r[3]; /* 02897530 */ _t10 = cpu->r[31] + 0x000000DCu; /* 02897530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02897534 */ cpu->r[5] = 0x00000010u; /* 02897538 */ cpu->r[4] = cpu->r[3]; /* 0289753C */ Gambit_fn_0287B904(cpu); /* 02897540 */ cpu->r[30] = cpu->r[3]; /* 02897544 */ cpu->r[3] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897548 */ cpu->r[4] = cpu->r[29]; /* 0289754C */ cpu->r[5] = 0x00000010u; /* 02897550 */ Gambit_fn_0287B904(cpu); /* 02897554 */ cpu->r[31] = cpu->r[3]; /* 02897558 */ cpu->r[3] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289755C */ cpu->r[4] = cpu->r[30]; /* 02897560 */ cpu->r[5] = 0x00000010u; /* 02897564 */ Gambit_fn_0287B904(cpu); /* 02897568 */ cpu->r[9] = 0x00010000u; /* 0289756C */ cpu->r[0] = cpu->r[31] + cpu->r[3]; /* 02897570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]); /* 02897574 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897574 */ _t12 = _t11 & 0x00000001u; /* 02897574 */ if (_t12) goto L_02897578; else goto L_028975B8; L_02897578: ; // 0x2897578 /* 02897578 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000000Eu, 0x00000000u, 0x00000011u); /* 0289757C */ Gambit_fn_0287B498(cpu); /* 02897580 */ /* nop */ /* 02897584 */ cpu->r[0] = cpu->r[3] + 0x00002000u; /* 02897588 */ /* nop */ /* 0289758C */ _t13 = cpu->r[1] + 0x00000024u; /* 0289758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02897590 */ cpu->lr = cpu->r[0]; /* 02897594 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02897598 */ return; L_0289759C: ; // 0x289759c /* 0289759C */ _t14 = cpu->r[31] + 0x000000DCu; /* 0289759C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 028975A0 */ /* nop */ /* 028975A4 */ _t15 = cpu->r[1] + 0x00000024u; /* 028975A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028975A8 */ cpu->lr = cpu->r[0]; /* 028975AC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028975B0 */ return; L_028975B4: ; // 0x28975b4 /* 028975B4 */ _t16 = cpu->r[31] + 0x000000D8u; /* 028975B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); L_028975B8: ; // 0x28975b8 /* 028975B8 */ /* nop */ /* 028975BC */ _t17 = cpu->r[1] + 0x00000024u; /* 028975BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028975C0 */ cpu->lr = cpu->r[0]; /* 028975C4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028975C8 */ cpu->r[3] = cpu->r[9]; /* 028975CC */ return; } // fn_028975E8 @ 0x28975e8 void Gambit_fn_028975E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_028975E8: ; // 0x28975e8 /* 028975E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028975E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028975E8 */ cpu->r[1] = _t0; /* 028975EC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028975EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028975F0 */ _t2 = cpu->r[1] + 0x00000008u; /* 028975F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028975F4 */ cpu->r[30] = cpu->r[3]; /* 028975F8 */ cpu->r[31] = cpu->r[4]; /* 028975FC */ _t3 = cpu->r[1] + 0x00000014u; /* 028975FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02897600 */ Gambit_fn_028974D0(cpu); /* 02897604 */ _t4 = cpu->r[30] + 0x00000024u; /* 02897604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02897608 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289760C */ _t5 = cpu->r[12] + 0x0000000Cu; /* 0289760C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02897610 */ cpu->r[4] = cpu->r[3]; /* 02897614 */ _t6 = cpu->r[11] + cpu->r[0]; /* 02897614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 02897618 */ cpu->r[5] = 0x00000010u; /* 0289761C */ Gambit_fn_0287B904(cpu); /* 02897620 */ _t7 = cpu->r[1] + 0x00000014u; /* 02897620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02897624 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02897624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02897628 */ cpu->lr = cpu->r[0]; /* 0289762C */ _t9 = cpu->r[1] + 0x00000008u; /* 0289762C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 02897630 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02897634 */ return; } // fn_02897648 @ 0x2897648 void Gambit_fn_02897648(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02897648: ; // 0x2897648 /* 02897648 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02897648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897648 */ cpu->r[1] = _t0; /* 0289764C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289764C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897650 */ cpu->r[31] = cpu->r[3]; /* 02897654 */ _t2 = cpu->r[1] + 0x00000014u; /* 02897654 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02897658 */ Gambit_fn_028974D0(cpu); /* 0289765C */ _t3 = cpu->r[31] + 0x00000024u; /* 0289765C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02897660 */ cpu->r[4] = cpu->r[3]; /* 02897664 */ _t4 = cpu->r[12] + 0x00000068u; /* 02897664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 02897668 */ cpu->r[5] = 0x00000010u; /* 0289766C */ Gambit_fn_0287B904(cpu); /* 02897670 */ _t5 = cpu->r[1] + 0x00000014u; /* 02897670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02897674 */ cpu->lr = cpu->r[0]; /* 02897678 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02897678 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0289767C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02897680 */ return; } // fn_02897688 @ 0x2897688 void Gambit_fn_02897688(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02897688: ; // 0x2897688 /* 02897688 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02897688 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897688 */ cpu->r[1] = _t0; /* 0289768C */ _t1 = cpu->r[1] + 0x00000010u; /* 0289768C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02897690 */ _t2 = cpu->r[1] + 0x00000014u; /* 02897690 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02897694 */ cpu->r[31] = cpu->r[3]; /* 02897698 */ cpu->r[30] = cpu->r[6]; /* 0289769C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0289769C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028976A0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028976A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028976A4 */ cpu->r[29] = cpu->r[5]; /* 028976A8 */ Gambit_fn_028974D0(cpu); /* 028976AC */ cpu->r[5] = 0x00000010u; /* 028976B0 */ cpu->r[4] = cpu->r[3]; /* 028976B4 */ cpu->r[3] = cpu->r[30]; /* 028976B8 */ cpu->r[30] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028976BC */ Gambit_fn_0287B61C(cpu); /* 028976C0 */ _t5 = cpu->r[31] + 0x00000024u; /* 028976C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 028976C4 */ _t6 = cpu->r[11] + 0x0000000Cu; /* 028976C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028976C8 */ _t7 = cpu->r[12] + cpu->r[30]; /* 028976C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028976CC */ cpu->r[10] = cpu->r[10] + cpu->r[3]; /* 028976D0 */ _t8 = cpu->r[12] + cpu->r[30]; /* 028976D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]); /* 028976D4 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028976D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 028976D8 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 028976D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028976DC */ _t11 = cpu->r[1] + 0x00000014u; /* 028976DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028976E0 */ cpu->lr = cpu->r[0]; /* 028976E4 */ _t12 = cpu->r[1] + 0x00000010u; /* 028976E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 028976E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028976EC */ return; } // fn_028976F0 @ 0x28976f0 void Gambit_fn_028976F0(CPUState* cpu) { uint32_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_028976F0: ; // 0x28976f0 /* 028976F0 */ cpu->r[0] = cpu->lr; /* 028976F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028976F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028976F4 */ cpu->r[1] = _t0; /* 028976F8 */ _t1 = cpu->r[1] + 0x00000010u; /* 028976F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028976FC */ cpu->r[30] = cpu->r[5]; /* 02897700 */ _t2 = cpu->r[1] + 0x00000008u; /* 02897700 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02897704 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02897704 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02897708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 0289770C */ cpu->r[28] = cpu->r[3]; /* 02897710 */ _t4 = cpu->r[1] + 0x00000014u; /* 02897710 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02897714 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02897714 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02897718 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 02897718 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 0289771C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289771C */ _t8 = _t7 & 0x00000001u; /* 0289771C */ if (_t8) goto L_02897720; else goto L_0289775C; L_02897720: ; // 0x2897720 /* 02897720 */ cpu->r[31] = 0x10130000u; /* 02897724 */ cpu->r[31] = cpu->r[31] + 0x00007474u; /* 02897728 */ _t9 = cpu->r[28] + 0x0000001Cu; /* 02897728 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]); L_0289772C: ; // 0x289772c /* 0289772C */ _t10 = cpu->r[4] + 0x00000000u; /* 0289772C */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 02897730 */ cpu->r[10] = cpu->r[4] + 0x00000001u; /* 02897734 */ _t11 = cpu->r[28] + 0x0000003Au; /* 02897734 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]); /* 02897738 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000016u, 0x0000001Du); /* 0289773C */ _t12 = cpu->r[28] + 0x0000001Cu; /* 0289773C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]); /* 02897740 */ _t13 = cpu->r[11] + cpu->r[31]; /* 02897740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02897744 */ cpu->ctr = cpu->r[0]; /* 02897748 */ cpu->r[3] = cpu->r[28]; /* 0289774C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02897750 */ _t14 = cpu->r[28] + 0x0000001Cu; /* 02897750 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14); /* 02897754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02897758 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897758 */ _t16 = _t15 & 0x00000001u; /* 02897758 */ if (_t16) goto L_0289772C; else goto L_0289775C; L_0289775C: ; // 0x289775c /* 0289775C */ _t17 = cpu->r[28] + 0x0000001Cu; /* 0289775C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 02897760 */ _t18 = cpu->r[1] + 0x00000008u; /* 02897760 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02897764 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02897764 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02897768 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02897768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289776C */ _t21 = cpu->r[1] + 0x00000010u; /* 0289776C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02897770 */ cpu->lr = cpu->r[0]; /* 02897774 */ _t22 = cpu->r[1] + 0x00000014u; /* 02897774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02897778 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289777C */ return; } // fn_028976F4 @ 0x28976f4 void Gambit_fn_028976F4(CPUState* cpu) { uint32_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_028976F4: ; // 0x28976f4 /* 028976F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028976F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028976F4 */ cpu->r[1] = _t0; /* 028976F8 */ _t1 = cpu->r[1] + 0x00000010u; /* 028976F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028976FC */ cpu->r[30] = cpu->r[5]; /* 02897700 */ _t2 = cpu->r[1] + 0x00000008u; /* 02897700 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02897704 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02897704 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02897708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 0289770C */ cpu->r[28] = cpu->r[3]; /* 02897710 */ _t4 = cpu->r[1] + 0x00000014u; /* 02897710 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02897714 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02897714 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02897718 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 02897718 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 0289771C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289771C */ _t8 = _t7 & 0x00000001u; /* 0289771C */ if (_t8) goto L_02897720; else goto L_0289775C; L_02897720: ; // 0x2897720 /* 02897720 */ cpu->r[31] = 0x10130000u; /* 02897724 */ cpu->r[31] = cpu->r[31] + 0x00007474u; /* 02897728 */ _t9 = cpu->r[28] + 0x0000001Cu; /* 02897728 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]); L_0289772C: ; // 0x289772c /* 0289772C */ _t10 = cpu->r[4] + 0x00000000u; /* 0289772C */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 02897730 */ cpu->r[10] = cpu->r[4] + 0x00000001u; /* 02897734 */ _t11 = cpu->r[28] + 0x0000003Au; /* 02897734 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]); /* 02897738 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000016u, 0x0000001Du); /* 0289773C */ _t12 = cpu->r[28] + 0x0000001Cu; /* 0289773C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]); /* 02897740 */ _t13 = cpu->r[11] + cpu->r[31]; /* 02897740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02897744 */ cpu->ctr = cpu->r[0]; /* 02897748 */ cpu->r[3] = cpu->r[28]; /* 0289774C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02897750 */ _t14 = cpu->r[28] + 0x0000001Cu; /* 02897750 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14); /* 02897754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02897758 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897758 */ _t16 = _t15 & 0x00000001u; /* 02897758 */ if (_t16) goto L_0289772C; else goto L_0289775C; L_0289775C: ; // 0x289775c /* 0289775C */ _t17 = cpu->r[28] + 0x0000001Cu; /* 0289775C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 02897760 */ _t18 = cpu->r[1] + 0x00000008u; /* 02897760 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02897764 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02897764 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02897768 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02897768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289776C */ _t21 = cpu->r[1] + 0x00000010u; /* 0289776C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02897770 */ cpu->lr = cpu->r[0]; /* 02897774 */ _t22 = cpu->r[1] + 0x00000014u; /* 02897774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02897778 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289777C */ return; } // fn_02897780 @ 0x2897780 void Gambit_fn_02897780(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897780: ; // 0x2897780 /* 02897780 */ cpu->r[0] = cpu->lr; /* 02897784 */ _t0 = cpu->r[1] + 0xFFFFFDF0u; /* 02897784 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897784 */ cpu->r[1] = _t0; /* 02897788 */ cpu->r[7] = cpu->r[3] + 0x0000002Cu; /* 0289778C */ _t1 = cpu->r[1] + 0x00000204u; /* 0289778C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02897790 */ _t2 = cpu->r[1] + 0x00000208u; /* 02897790 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02897794 */ _t3 = cpu->r[1] + 0x0000020Cu; /* 02897794 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02897798 */ _t4 = cpu->r[1] + 0x00000214u; /* 02897798 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289779C */ cpu->r[29] = cpu->r[6]; /* 028977A0 */ cpu->r[11] = 0x00004000u; /* 028977A4 */ _t5 = cpu->r[1] + 0x00000010u; /* 028977A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]); /* 028977A8 */ cpu->r[8] = 0x00000000u; /* 028977AC */ _t6 = cpu->r[1] + 0x00000018u; /* 028977AC */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[11]); /* 028977B0 */ cpu->r[9] = 0x02890000u; /* 028977B4 */ _t7 = cpu->r[1] + 0x00000038u; /* 028977B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]); /* 028977B8 */ cpu->r[9] = cpu->r[9] + 0x000073B8u; /* 028977BC */ _t8 = cpu->r[1] + 0x00000008u; /* 028977BC */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 028977C0 */ cpu->r[31] = cpu->r[5]; /* 028977C4 */ _t9 = cpu->r[1] + 0x00000048u; /* 028977C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 028977C8 */ cpu->r[10] = 0x028A0000u; /* 028977CC */ _t10 = cpu->r[29] + 0x00000101u; /* 028977CC */ cpu->r[6] = rbrew_read8(cpu->mem, _t10); /* 028977D0 */ cpu->r[10] = cpu->r[10] + 0xFFFFDE98u; /* 028977D4 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 028977D4 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[11]); /* 028977D8 */ cpu->r[30] = cpu->r[4]; /* 028977DC */ cpu->r[5] = 0x028A0000u; /* 028977E0 */ _t12 = cpu->r[1] + 0x00000024u; /* 028977E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]); /* 028977E4 */ cpu->r[5] = cpu->r[5] + 0xFFFFDE98u; /* 028977E8 */ _t13 = cpu->r[1] + 0x00000044u; /* 028977E8 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[11]); /* 028977EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u); /* 028977F0 */ _t14 = cpu->r[1] + 0x0000003Cu; /* 028977F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]); /* 028977F4 */ _t15 = cpu->r[1] + 0x0000002Cu; /* 028977F4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); /* 028977F8 */ _t16 = cpu->r[1] + 0x00000034u; /* 028977F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]); /* 028977FC */ _t17 = cpu->r[1] + 0x00000016u; /* 028977FC */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[8]); /* 02897800 */ _t18 = cpu->r[1] + 0x00000014u; /* 02897800 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[11]); /* 02897804 */ _t19 = cpu->r[1] + 0x0000004Cu; /* 02897804 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]); /* 02897808 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 02897808 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]); /* 0289780C */ _t21 = cpu->r[1] + 0x00000030u; /* 0289780C */ rbrew_write32(cpu->mem, _t21, cpu->r[8]); /* 02897810 */ _t22 = cpu->r[1] + 0x0000001Au; /* 02897810 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[8]); /* 02897814 */ _t23 = cpu->r[1] + 0x00000028u; /* 02897814 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]); /* 02897818 */ _t24 = cpu->r[1] + 0x00000050u; /* 02897818 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]); /* 0289781C */ _t25 = cpu->r[1] + 0x0000001Eu; /* 0289781C */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[8]); /* 02897820 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897820 */ _t27 = _t26 & 0x00000001u; /* 02897820 */ if (_t27) goto L_028978FC; else goto L_02897824; L_02897824: ; // 0x2897824 /* 02897824 */ _t28 = cpu->r[29] + 0x00000012u; /* 02897824 */ cpu->r[0] = rbrew_read16(cpu->mem, _t28); /* 02897828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 0289782C */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289782C */ _t30 = _t29 & 0x00000001u; /* 0289782C */ if (_t30) goto L_02897830; else goto L_028978B4; L_02897830: ; // 0x2897830 /* 02897830 */ _t31 = cpu->r[29] + 0x000000F4u; /* 02897830 */ cpu->r[7] = rbrew_read8(cpu->mem, _t31); /* 02897834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02897838 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897838 */ _t33 = _t32 & 0x00000001u; /* 02897838 */ if (_t33) goto L_02897864; else goto L_0289783C; L_0289783C: ; // 0x289783c /* 0289783C */ cpu->r[8] = 0x02890000u; /* 02897840 */ _t34 = cpu->r[29] + 0x00000100u; /* 02897840 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34); /* 02897844 */ cpu->r[8] = cpu->r[8] + 0x000075D0u; /* 02897848 */ cpu->r[9] = 0x02890000u; /* 0289784C */ _t35 = cpu->r[1] + 0x00000054u; /* 0289784C */ rbrew_write32(cpu->mem, _t35, cpu->r[8]); /* 02897850 */ cpu->r[9] = cpu->r[9] + 0x00007638u; /* 02897854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02897858 */ _t36 = cpu->r[1] + 0x00000058u; /* 02897858 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]); /* 0289785C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289785C */ _t38 = _t37 & 0x00000001u; /* 0289785C */ if (_t38) goto L_028978E0; else goto L_02897860; L_02897860: ; // 0x2897860 /* 02897860 */ goto L_028978FC; L_02897864: ; // 0x2897864 /* 02897864 */ cpu->r[10] = 0x02890000u; /* 02897868 */ _t39 = cpu->r[29] + 0x000000F8u; /* 02897868 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 0289786C */ cpu->r[11] = 0x02890000u; /* 02897870 */ cpu->r[10] = cpu->r[10] + 0x000075E4u; /* 02897874 */ _t40 = cpu->r[29] + 0x00000018u; /* 02897874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40); /* 02897878 */ cpu->r[11] = cpu->r[11] + 0x00007644u; /* 0289787C */ _t41 = cpu->r[1] + 0x00000054u; /* 0289787C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]); /* 02897880 */ cpu->r[5] = 0x00000010u; /* 02897884 */ _t42 = cpu->r[1] + 0x00000058u; /* 02897884 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]); /* 02897888 */ Gambit_fn_0287B904(cpu); /* 0289788C */ cpu->r[0] = 0x00010000u; /* 02897890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 02897894 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u); /* 02897894 */ _t44 = _t43 & 0x00000001u; /* 02897894 */ if (_t44) goto L_02897898; else goto L_028978B4; L_02897898: ; // 0x2897898 /* 02897898 */ _t45 = cpu->r[29] + 0x000000FCu; /* 02897898 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45); /* 0289789C */ cpu->r[5] = 0x00000010u; /* 028978A0 */ _t46 = cpu->r[29] + 0x00000018u; /* 028978A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46); /* 028978A4 */ Gambit_fn_0287B904(cpu); /* 028978A8 */ cpu->r[0] = 0x00010000u; /* 028978AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 028978B0 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u); /* 028978B0 */ _t48 = _t47 & 0x00000001u; /* 028978B0 */ if (_t48) goto L_028978D4; else goto L_028978B4; L_028978B4: ; // 0x28978b4 /* 028978B4 */ _t49 = cpu->r[1] + 0x00000204u; /* 028978B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49); /* 028978B8 */ _t50 = cpu->r[1] + 0x00000214u; /* 028978B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 028978BC */ _t51 = cpu->r[1] + 0x00000208u; /* 028978BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t51); /* 028978C0 */ cpu->lr = cpu->r[0]; /* 028978C4 */ _t52 = cpu->r[1] + 0x0000020Cu; /* 028978C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52); /* 028978C8 */ cpu->r[1] = cpu->r[1] + 0x00000210u; /* 028978CC */ cpu->r[3] = 0x00000000u; /* 028978D0 */ return; L_028978D4: ; // 0x28978d4 /* 028978D4 */ _t53 = cpu->r[29] + 0x00000100u; /* 028978D4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t53); /* 028978D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028978DC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 028978DC */ _t55 = _t54 & 0x00000001u; /* 028978DC */ if (_t55) goto L_028978E0; else goto L_028978FC; L_028978E0: ; // 0x28978e0 /* 028978E0 */ _t56 = cpu->r[29] + 0x00000090u; /* 028978E0 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t56); /* 028978E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028978E8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 028978E8 */ _t58 = _t57 & 0x00000001u; /* 028978E8 */ if (_t58) goto L_028978FC; else goto L_028978EC; L_028978EC: ; // 0x28978ec /* 028978EC */ _t59 = cpu->r[29] + 0x000000F0u; /* 028978EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t59); /* 028978F0 */ cpu->r[4] = cpu->r[29] + 0x000000E0u; /* 028978F4 */ Gambit_fn_0287BC34(cpu); /* 028978F8 */ _t60 = cpu->r[29] + 0x00000068u; /* 028978F8 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]); L_028978FC: ; // 0x28978fc /* 028978FC */ _t61 = cpu->r[29] + 0x00000004u; /* 028978FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t61); /* 02897900 */ cpu->r[3] = cpu->r[1] + 0x00000060u; /* 02897904 */ _t62 = cpu->r[1] + 0x00000020u; /* 02897904 */ rbrew_write32(cpu->mem, _t62, cpu->r[8]); /* 02897908 */ Gambit_fn_02C874A4(cpu); /* 0289790C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02897910 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897910 */ _t64 = _t63 & 0x00000001u; /* 02897910 */ if (_t64) goto L_02897914; else goto L_02897928; L_02897914: ; // 0x2897914 /* 02897914 */ cpu->r[4] = cpu->r[30]; /* 02897918 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0289791C */ cpu->r[5] = cpu->r[31]; /* 02897920 */ Gambit_fn_028976F0(cpu); /* 02897924 */ cpu->r[3] = 0x00000000u; L_02897928: ; // 0x2897928 /* 02897928 */ _t65 = cpu->r[1] + 0x00000204u; /* 02897928 */ cpu->r[29] = rbrew_read32(cpu->mem, _t65); /* 0289792C */ _t66 = cpu->r[1] + 0x00000214u; /* 0289792C */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 02897930 */ _t67 = cpu->r[1] + 0x00000208u; /* 02897930 */ cpu->r[30] = rbrew_read32(cpu->mem, _t67); /* 02897934 */ cpu->lr = cpu->r[0]; /* 02897938 */ _t68 = cpu->r[1] + 0x0000020Cu; /* 02897938 */ cpu->r[31] = rbrew_read32(cpu->mem, _t68); /* 0289793C */ cpu->r[1] = cpu->r[1] + 0x00000210u; /* 02897940 */ return; } // fn_02897784 @ 0x2897784 void Gambit_fn_02897784(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897784: ; // 0x2897784 /* 02897784 */ _t0 = cpu->r[1] + 0xFFFFFDF0u; /* 02897784 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897784 */ cpu->r[1] = _t0; /* 02897788 */ cpu->r[7] = cpu->r[3] + 0x0000002Cu; /* 0289778C */ _t1 = cpu->r[1] + 0x00000204u; /* 0289778C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02897790 */ _t2 = cpu->r[1] + 0x00000208u; /* 02897790 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02897794 */ _t3 = cpu->r[1] + 0x0000020Cu; /* 02897794 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02897798 */ _t4 = cpu->r[1] + 0x00000214u; /* 02897798 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289779C */ cpu->r[29] = cpu->r[6]; /* 028977A0 */ cpu->r[11] = 0x00004000u; /* 028977A4 */ _t5 = cpu->r[1] + 0x00000010u; /* 028977A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]); /* 028977A8 */ cpu->r[8] = 0x00000000u; /* 028977AC */ _t6 = cpu->r[1] + 0x00000018u; /* 028977AC */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[11]); /* 028977B0 */ cpu->r[9] = 0x02890000u; /* 028977B4 */ _t7 = cpu->r[1] + 0x00000038u; /* 028977B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]); /* 028977B8 */ cpu->r[9] = cpu->r[9] + 0x000073B8u; /* 028977BC */ _t8 = cpu->r[1] + 0x00000008u; /* 028977BC */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 028977C0 */ cpu->r[31] = cpu->r[5]; /* 028977C4 */ _t9 = cpu->r[1] + 0x00000048u; /* 028977C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 028977C8 */ cpu->r[10] = 0x028A0000u; /* 028977CC */ _t10 = cpu->r[29] + 0x00000101u; /* 028977CC */ cpu->r[6] = rbrew_read8(cpu->mem, _t10); /* 028977D0 */ cpu->r[10] = cpu->r[10] + 0xFFFFDE98u; /* 028977D4 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 028977D4 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[11]); /* 028977D8 */ cpu->r[30] = cpu->r[4]; /* 028977DC */ cpu->r[5] = 0x028A0000u; /* 028977E0 */ _t12 = cpu->r[1] + 0x00000024u; /* 028977E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]); /* 028977E4 */ cpu->r[5] = cpu->r[5] + 0xFFFFDE98u; /* 028977E8 */ _t13 = cpu->r[1] + 0x00000044u; /* 028977E8 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[11]); /* 028977EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u); /* 028977F0 */ _t14 = cpu->r[1] + 0x0000003Cu; /* 028977F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]); /* 028977F4 */ _t15 = cpu->r[1] + 0x0000002Cu; /* 028977F4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); /* 028977F8 */ _t16 = cpu->r[1] + 0x00000034u; /* 028977F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]); /* 028977FC */ _t17 = cpu->r[1] + 0x00000016u; /* 028977FC */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[8]); /* 02897800 */ _t18 = cpu->r[1] + 0x00000014u; /* 02897800 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[11]); /* 02897804 */ _t19 = cpu->r[1] + 0x0000004Cu; /* 02897804 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]); /* 02897808 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 02897808 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]); /* 0289780C */ _t21 = cpu->r[1] + 0x00000030u; /* 0289780C */ rbrew_write32(cpu->mem, _t21, cpu->r[8]); /* 02897810 */ _t22 = cpu->r[1] + 0x0000001Au; /* 02897810 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[8]); /* 02897814 */ _t23 = cpu->r[1] + 0x00000028u; /* 02897814 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]); /* 02897818 */ _t24 = cpu->r[1] + 0x00000050u; /* 02897818 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]); /* 0289781C */ _t25 = cpu->r[1] + 0x0000001Eu; /* 0289781C */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[8]); /* 02897820 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897820 */ _t27 = _t26 & 0x00000001u; /* 02897820 */ if (_t27) goto L_028978FC; else goto L_02897824; L_02897824: ; // 0x2897824 /* 02897824 */ _t28 = cpu->r[29] + 0x00000012u; /* 02897824 */ cpu->r[0] = rbrew_read16(cpu->mem, _t28); /* 02897828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 0289782C */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289782C */ _t30 = _t29 & 0x00000001u; /* 0289782C */ if (_t30) goto L_02897830; else goto L_028978B4; L_02897830: ; // 0x2897830 /* 02897830 */ _t31 = cpu->r[29] + 0x000000F4u; /* 02897830 */ cpu->r[7] = rbrew_read8(cpu->mem, _t31); /* 02897834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02897838 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897838 */ _t33 = _t32 & 0x00000001u; /* 02897838 */ if (_t33) goto L_02897864; else goto L_0289783C; L_0289783C: ; // 0x289783c /* 0289783C */ cpu->r[8] = 0x02890000u; /* 02897840 */ _t34 = cpu->r[29] + 0x00000100u; /* 02897840 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34); /* 02897844 */ cpu->r[8] = cpu->r[8] + 0x000075D0u; /* 02897848 */ cpu->r[9] = 0x02890000u; /* 0289784C */ _t35 = cpu->r[1] + 0x00000054u; /* 0289784C */ rbrew_write32(cpu->mem, _t35, cpu->r[8]); /* 02897850 */ cpu->r[9] = cpu->r[9] + 0x00007638u; /* 02897854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02897858 */ _t36 = cpu->r[1] + 0x00000058u; /* 02897858 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]); /* 0289785C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289785C */ _t38 = _t37 & 0x00000001u; /* 0289785C */ if (_t38) goto L_028978E0; else goto L_02897860; L_02897860: ; // 0x2897860 /* 02897860 */ goto L_028978FC; L_02897864: ; // 0x2897864 /* 02897864 */ cpu->r[10] = 0x02890000u; /* 02897868 */ _t39 = cpu->r[29] + 0x000000F8u; /* 02897868 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 0289786C */ cpu->r[11] = 0x02890000u; /* 02897870 */ cpu->r[10] = cpu->r[10] + 0x000075E4u; /* 02897874 */ _t40 = cpu->r[29] + 0x00000018u; /* 02897874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40); /* 02897878 */ cpu->r[11] = cpu->r[11] + 0x00007644u; /* 0289787C */ _t41 = cpu->r[1] + 0x00000054u; /* 0289787C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]); /* 02897880 */ cpu->r[5] = 0x00000010u; /* 02897884 */ _t42 = cpu->r[1] + 0x00000058u; /* 02897884 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]); /* 02897888 */ Gambit_fn_0287B904(cpu); /* 0289788C */ cpu->r[0] = 0x00010000u; /* 02897890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 02897894 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u); /* 02897894 */ _t44 = _t43 & 0x00000001u; /* 02897894 */ if (_t44) goto L_02897898; else goto L_028978B4; L_02897898: ; // 0x2897898 /* 02897898 */ _t45 = cpu->r[29] + 0x000000FCu; /* 02897898 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45); /* 0289789C */ cpu->r[5] = 0x00000010u; /* 028978A0 */ _t46 = cpu->r[29] + 0x00000018u; /* 028978A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46); /* 028978A4 */ Gambit_fn_0287B904(cpu); /* 028978A8 */ cpu->r[0] = 0x00010000u; /* 028978AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]); /* 028978B0 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u); /* 028978B0 */ _t48 = _t47 & 0x00000001u; /* 028978B0 */ if (_t48) goto L_028978D4; else goto L_028978B4; L_028978B4: ; // 0x28978b4 /* 028978B4 */ _t49 = cpu->r[1] + 0x00000204u; /* 028978B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49); /* 028978B8 */ _t50 = cpu->r[1] + 0x00000214u; /* 028978B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 028978BC */ _t51 = cpu->r[1] + 0x00000208u; /* 028978BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t51); /* 028978C0 */ cpu->lr = cpu->r[0]; /* 028978C4 */ _t52 = cpu->r[1] + 0x0000020Cu; /* 028978C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52); /* 028978C8 */ cpu->r[1] = cpu->r[1] + 0x00000210u; /* 028978CC */ cpu->r[3] = 0x00000000u; /* 028978D0 */ return; L_028978D4: ; // 0x28978d4 /* 028978D4 */ _t53 = cpu->r[29] + 0x00000100u; /* 028978D4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t53); /* 028978D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028978DC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 028978DC */ _t55 = _t54 & 0x00000001u; /* 028978DC */ if (_t55) goto L_028978E0; else goto L_028978FC; L_028978E0: ; // 0x28978e0 /* 028978E0 */ _t56 = cpu->r[29] + 0x00000090u; /* 028978E0 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t56); /* 028978E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028978E8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 028978E8 */ _t58 = _t57 & 0x00000001u; /* 028978E8 */ if (_t58) goto L_028978FC; else goto L_028978EC; L_028978EC: ; // 0x28978ec /* 028978EC */ _t59 = cpu->r[29] + 0x000000F0u; /* 028978EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t59); /* 028978F0 */ cpu->r[4] = cpu->r[29] + 0x000000E0u; /* 028978F4 */ Gambit_fn_0287BC34(cpu); /* 028978F8 */ _t60 = cpu->r[29] + 0x00000068u; /* 028978F8 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]); L_028978FC: ; // 0x28978fc /* 028978FC */ _t61 = cpu->r[29] + 0x00000004u; /* 028978FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t61); /* 02897900 */ cpu->r[3] = cpu->r[1] + 0x00000060u; /* 02897904 */ _t62 = cpu->r[1] + 0x00000020u; /* 02897904 */ rbrew_write32(cpu->mem, _t62, cpu->r[8]); /* 02897908 */ Gambit_fn_02C874A4(cpu); /* 0289790C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02897910 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897910 */ _t64 = _t63 & 0x00000001u; /* 02897910 */ if (_t64) goto L_02897914; else goto L_02897928; L_02897914: ; // 0x2897914 /* 02897914 */ cpu->r[4] = cpu->r[30]; /* 02897918 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0289791C */ cpu->r[5] = cpu->r[31]; /* 02897920 */ Gambit_fn_028976F0(cpu); /* 02897924 */ cpu->r[3] = 0x00000000u; L_02897928: ; // 0x2897928 /* 02897928 */ _t65 = cpu->r[1] + 0x00000204u; /* 02897928 */ cpu->r[29] = rbrew_read32(cpu->mem, _t65); /* 0289792C */ _t66 = cpu->r[1] + 0x00000214u; /* 0289792C */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 02897930 */ _t67 = cpu->r[1] + 0x00000208u; /* 02897930 */ cpu->r[30] = rbrew_read32(cpu->mem, _t67); /* 02897934 */ cpu->lr = cpu->r[0]; /* 02897938 */ _t68 = cpu->r[1] + 0x0000020Cu; /* 02897938 */ cpu->r[31] = rbrew_read32(cpu->mem, _t68); /* 0289793C */ cpu->r[1] = cpu->r[1] + 0x00000210u; /* 02897940 */ return; } // fn_02897944 @ 0x2897944 void Gambit_fn_02897944(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02897944: ; // 0x2897944 /* 02897944 */ _t0 = cpu->r[3] + 0x0000003Cu; /* 02897944 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t0); /* 02897948 */ cpu->r[12] = cpu->r[11] + 0x000003FFu; /* 0289794C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x000007FFu); /* 02897950 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897950 */ _t2 = _t1 & 0x00000001u; /* 02897950 */ _t3 = _t2 ^ 0x00000001u; /* 02897950 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02897950 */ goto L_02897954; L_02897954: ; // 0x2897954 /* 02897954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02897958 */ cpu->r[0] = 0x00004000u; /* 0289795C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289795C */ _t5 = _t4 & 0x00000001u; /* 0289795C */ if (_t5) goto L_02897960; else goto L_02897964; L_02897960: ; // 0x2897960 /* 02897960 */ cpu->r[0] = 0xFFFFC000u; L_02897964: ; // 0x2897964 /* 02897964 */ _t6 = cpu->r[3] + 0x0000003Cu; /* 02897964 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]); /* 02897968 */ return; } // fn_0289796C @ 0x289796c void Gambit_fn_0289796C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0289796C: ; // 0x289796c /* 0289796C */ _t0 = cpu->r[3] + 0x0000000Cu; /* 0289796C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t0); /* 02897970 */ _t1 = cpu->r[3] + 0x00000010u; /* 02897970 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 02897974 */ _t2 = cpu->r[3] + 0x0000000Eu; /* 02897974 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2); /* 02897978 */ _t3 = cpu->r[3] + 0x00000012u; /* 02897978 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3); /* 0289797C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[12]); /* 02897980 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[0]); /* 02897984 */ cpu->r[9] = cpu->r[12] + 0x00002000u; /* 02897988 */ cpu->r[10] = cpu->r[10] + 0x00002000u; /* 0289798C */ /* nop */ /* 02897990 */ /* nop */ /* 02897994 */ cpu->r[10] = cpu->r[12] + cpu->r[0]; /* 02897998 */ /* nop */ /* 0289799C */ cpu->r[0] = cpu->r[10] + 0x000003FFu; /* 028979A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000007FFu); /* 028979A4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 028979A4 */ _t5 = _t4 & 0x00000001u; /* 028979A4 */ if (_t5) goto L_028979A8; else goto L_028979B8; L_028979A8: ; // 0x28979a8 /* 028979A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028979AC */ cpu->r[10] = 0x00004000u; /* 028979B0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028979B0 */ _t7 = _t6 & 0x00000001u; /* 028979B0 */ if (_t7) goto L_028979B4; else goto L_028979B8; L_028979B4: ; // 0x28979b4 /* 028979B4 */ cpu->r[10] = 0xFFFFC000u; L_028979B8: ; // 0x28979b8 /* 028979B8 */ _t8 = cpu->r[3] + 0x0000003Cu; /* 028979B8 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[10]); /* 028979BC */ return; } // fn_028979C0 @ 0x28979c0 void Gambit_fn_028979C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028979C0: ; // 0x28979c0 /* 028979C0 */ cpu->r[0] = 0x028A0000u; /* 028979C4 */ cpu->r[12] = 0x00004000u; /* 028979C8 */ cpu->r[0] = cpu->r[0] + 0xFFFFDEA0u; /* 028979CC */ _t0 = cpu->r[3] + 0x0000000Eu; /* 028979CC */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[12]); /* 028979D0 */ cpu->r[11] = 0x028A0000u; /* 028979D4 */ _t1 = cpu->r[3] + 0x0000003Cu; /* 028979D4 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[12]); /* 028979D8 */ cpu->r[11] = cpu->r[11] + 0xFFFFDEA0u; /* 028979DC */ _t2 = cpu->r[3] + 0x00000048u; /* 028979DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028979E0 */ cpu->r[10] = 0x00000000u; /* 028979E4 */ _t3 = cpu->r[3] + 0x00000044u; /* 028979E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 028979E8 */ cpu->r[9] = 0x02890000u; /* 028979EC */ _t4 = cpu->r[3] + 0x0000000Cu; /* 028979EC */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[10]); /* 028979F0 */ cpu->r[9] = cpu->r[9] + 0x000073E0u; /* 028979F4 */ _t5 = cpu->r[3] + 0x00000010u; /* 028979F4 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[10]); /* 028979F8 */ _t6 = cpu->r[3] + 0x00000040u; /* 028979F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]); /* 028979FC */ _t7 = cpu->r[3] + 0x00000012u; /* 028979FC */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[12]); /* 02897A00 */ return; } // fn_02897A04 @ 0x2897a04 void Gambit_fn_02897A04(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02897A04: ; // 0x2897a04 /* 02897A04 */ cpu->r[10] = 0x00004000u; /* 02897A08 */ cpu->r[12] = 0x00000000u; /* 02897A0C */ _t0 = cpu->r[3] + 0x00000010u; /* 02897A0C */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[10]); /* 02897A10 */ cpu->r[11] = 0x028A0000u; /* 02897A14 */ _t1 = cpu->r[3] + 0x0000000Eu; /* 02897A14 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[12]); /* 02897A18 */ cpu->r[11] = cpu->r[11] + 0xFFFFDE98u; /* 02897A1C */ _t2 = cpu->r[3] + 0x0000000Cu; /* 02897A1C */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[10]); /* 02897A20 */ cpu->r[9] = 0x02890000u; /* 02897A24 */ _t3 = cpu->r[3] + 0x00000012u; /* 02897A24 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[12]); /* 02897A28 */ cpu->r[9] = cpu->r[9] + 0x000073B8u; /* 02897A2C */ _t4 = cpu->r[3] + 0x00000044u; /* 02897A2C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]); /* 02897A30 */ cpu->r[0] = 0x028A0000u; /* 02897A34 */ _t5 = cpu->r[3] + 0x0000003Cu; /* 02897A34 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[10]); /* 02897A38 */ cpu->r[0] = cpu->r[0] + 0xFFFFDE98u; /* 02897A3C */ _t6 = cpu->r[3] + 0x00000040u; /* 02897A3C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]); /* 02897A40 */ _t7 = cpu->r[3] + 0x00000048u; /* 02897A40 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02897A44 */ return; } // fn_02897A48 @ 0x2897a48 void Gambit_fn_02897A48(CPUState* cpu) { 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_02897A48: ; // 0x2897a48 /* 02897A48 */ cpu->r[0] = cpu->lr; /* 02897A4C */ _t0 = cpu->r[1] + 0x00000004u; /* 02897A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02897A50 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02897A50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02897A50 */ cpu->r[1] = _t1; /* 02897A54 */ _t2 = cpu->r[3] + 0x0000003Au; /* 02897A54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 02897A58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02897A5C */ cpu->r[0] = 0x00000000u; /* 02897A60 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897A60 */ _t4 = _t3 & 0x00000001u; /* 02897A60 */ if (_t4) goto L_02897AA0; else goto L_02897A64; L_02897A64: ; // 0x2897a64 /* 02897A64 */ _t5 = cpu->r[3] + 0x0000000Eu; /* 02897A64 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]); /* 02897A68 */ cpu->r[10] = 0x00004000u; /* 02897A6C */ _t6 = cpu->r[3] + 0x00000010u; /* 02897A6C */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 02897A70 */ cpu->r[11] = 0x028A0000u; /* 02897A74 */ _t7 = cpu->r[3] + 0x0000000Cu; /* 02897A74 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[10]); /* 02897A78 */ cpu->r[11] = cpu->r[11] + 0xFFFFDE98u; /* 02897A7C */ _t8 = cpu->r[3] + 0x0000003Cu; /* 02897A7C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[12]); /* 02897A80 */ _t9 = cpu->r[3] + 0x00000044u; /* 02897A80 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 02897A84 */ Gambit_fn_02897944(cpu); /* 02897A88 */ _t10 = cpu->r[3] + 0x00000044u; /* 02897A88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02897A8C */ cpu->r[10] = 0x02890000u; /* 02897A90 */ cpu->r[10] = cpu->r[10] + 0x00007288u; /* 02897A94 */ _t11 = cpu->r[3] + 0x00000048u; /* 02897A94 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]); /* 02897A98 */ _t12 = cpu->r[3] + 0x00000040u; /* 02897A98 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]); /* 02897A9C */ goto L_02897AD8; L_02897AA0: ; // 0x2897aa0 /* 02897AA0 */ _t13 = cpu->r[3] + 0x00000012u; /* 02897AA0 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13); /* 02897AA4 */ cpu->r[10] = 0x00004000u; /* 02897AA8 */ cpu->r[11] = 0x028A0000u; /* 02897AAC */ _t14 = cpu->r[3] + 0x0000000Eu; /* 02897AAC */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[10]); /* 02897AB0 */ cpu->r[11] = cpu->r[11] + 0xFFFFDEA0u; /* 02897AB4 */ _t15 = cpu->r[3] + 0x0000000Cu; /* 02897AB4 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]); /* 02897AB8 */ _t16 = cpu->r[3] + 0x00000044u; /* 02897AB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]); /* 02897ABC */ _t17 = cpu->r[3] + 0x0000003Cu; /* 02897ABC */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[12]); /* 02897AC0 */ Gambit_fn_02897944(cpu); /* 02897AC4 */ cpu->r[10] = 0x02890000u; /* 02897AC8 */ _t18 = cpu->r[3] + 0x00000044u; /* 02897AC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 02897ACC */ cpu->r[10] = cpu->r[10] + 0x00007288u; /* 02897AD0 */ _t19 = cpu->r[3] + 0x00000040u; /* 02897AD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]); /* 02897AD4 */ _t20 = cpu->r[3] + 0x00000048u; /* 02897AD4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); L_02897AD8: ; // 0x2897ad8 /* 02897AD8 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02897AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 02897ADC */ cpu->lr = cpu->r[0]; /* 02897AE0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02897AE4 */ return; } // fn_02897A50 @ 0x2897a50 void Gambit_fn_02897A50(CPUState* 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_02897A50: ; // 0x2897a50 /* 02897A50 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02897A50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897A50 */ cpu->r[1] = _t0; /* 02897A54 */ _t1 = cpu->r[3] + 0x0000003Au; /* 02897A54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1); /* 02897A58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02897A5C */ cpu->r[0] = 0x00000000u; /* 02897A60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897A60 */ _t3 = _t2 & 0x00000001u; /* 02897A60 */ if (_t3) goto L_02897AA0; else goto L_02897A64; L_02897A64: ; // 0x2897a64 /* 02897A64 */ _t4 = cpu->r[3] + 0x0000000Eu; /* 02897A64 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]); /* 02897A68 */ cpu->r[10] = 0x00004000u; /* 02897A6C */ _t5 = cpu->r[3] + 0x00000010u; /* 02897A6C */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 02897A70 */ cpu->r[11] = 0x028A0000u; /* 02897A74 */ _t6 = cpu->r[3] + 0x0000000Cu; /* 02897A74 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[10]); /* 02897A78 */ cpu->r[11] = cpu->r[11] + 0xFFFFDE98u; /* 02897A7C */ _t7 = cpu->r[3] + 0x0000003Cu; /* 02897A7C */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[12]); /* 02897A80 */ _t8 = cpu->r[3] + 0x00000044u; /* 02897A80 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 02897A84 */ Gambit_fn_02897944(cpu); /* 02897A88 */ _t9 = cpu->r[3] + 0x00000044u; /* 02897A88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 02897A8C */ cpu->r[10] = 0x02890000u; /* 02897A90 */ cpu->r[10] = cpu->r[10] + 0x00007288u; /* 02897A94 */ _t10 = cpu->r[3] + 0x00000048u; /* 02897A94 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 02897A98 */ _t11 = cpu->r[3] + 0x00000040u; /* 02897A98 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 02897A9C */ goto L_02897AD8; L_02897AA0: ; // 0x2897aa0 /* 02897AA0 */ _t12 = cpu->r[3] + 0x00000012u; /* 02897AA0 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02897AA4 */ cpu->r[10] = 0x00004000u; /* 02897AA8 */ cpu->r[11] = 0x028A0000u; /* 02897AAC */ _t13 = cpu->r[3] + 0x0000000Eu; /* 02897AAC */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[10]); /* 02897AB0 */ cpu->r[11] = cpu->r[11] + 0xFFFFDEA0u; /* 02897AB4 */ _t14 = cpu->r[3] + 0x0000000Cu; /* 02897AB4 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]); /* 02897AB8 */ _t15 = cpu->r[3] + 0x00000044u; /* 02897AB8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]); /* 02897ABC */ _t16 = cpu->r[3] + 0x0000003Cu; /* 02897ABC */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[12]); /* 02897AC0 */ Gambit_fn_02897944(cpu); /* 02897AC4 */ cpu->r[10] = 0x02890000u; /* 02897AC8 */ _t17 = cpu->r[3] + 0x00000044u; /* 02897AC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02897ACC */ cpu->r[10] = cpu->r[10] + 0x00007288u; /* 02897AD0 */ _t18 = cpu->r[3] + 0x00000040u; /* 02897AD0 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]); /* 02897AD4 */ _t19 = cpu->r[3] + 0x00000048u; /* 02897AD4 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]); L_02897AD8: ; // 0x2897ad8 /* 02897AD8 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 02897AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02897ADC */ cpu->lr = cpu->r[0]; /* 02897AE0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02897AE4 */ return; } // fn_02897AE8 @ 0x2897ae8 void Gambit_fn_02897AE8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_02897AE8: ; // 0x2897ae8 /* 02897AE8 */ cpu->r[0] = cpu->lr; /* 02897AEC */ _t0 = cpu->r[1] + 0x00000004u; /* 02897AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02897AF0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02897AF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02897AF0 */ cpu->r[1] = _t1; /* 02897AF4 */ _t2 = cpu->r[3] + 0x0000003Au; /* 02897AF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 02897AF8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02897AFC */ cpu->r[11] = 0x00000000u; /* 02897B00 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897B00 */ _t4 = _t3 & 0x00000001u; /* 02897B00 */ if (_t4) goto L_02897B2C; else goto L_02897B04; L_02897B04: ; // 0x2897b04 /* 02897B04 */ _t5 = cpu->r[3] + 0x0000000Cu; /* 02897B04 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 02897B08 */ cpu->r[10] = 0x00004000u; /* 02897B0C */ _t6 = cpu->r[3] + 0x00000010u; /* 02897B0C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[10]); /* 02897B10 */ _t7 = cpu->r[3] + 0x00000012u; /* 02897B10 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[11]); /* 02897B14 */ _t8 = cpu->r[3] + 0x0000003Cu; /* 02897B14 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[12]); /* 02897B18 */ Gambit_fn_02897944(cpu); /* 02897B1C */ cpu->r[0] = 0x02890000u; /* 02897B20 */ cpu->r[0] = cpu->r[0] + 0x00007288u; /* 02897B24 */ _t9 = cpu->r[3] + 0x00000040u; /* 02897B24 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 02897B28 */ goto L_02897B50; L_02897B2C: ; // 0x2897b2c /* 02897B2C */ _t10 = cpu->r[3] + 0x0000000Eu; /* 02897B2C */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 02897B30 */ cpu->r[10] = 0x00004000u; /* 02897B34 */ _t11 = cpu->r[3] + 0x00000012u; /* 02897B34 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[10]); /* 02897B38 */ _t12 = cpu->r[3] + 0x00000010u; /* 02897B38 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[11]); /* 02897B3C */ _t13 = cpu->r[3] + 0x0000003Cu; /* 02897B3C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[12]); /* 02897B40 */ Gambit_fn_02897944(cpu); /* 02897B44 */ cpu->r[0] = 0x02890000u; /* 02897B48 */ cpu->r[0] = cpu->r[0] + 0x00007288u; /* 02897B4C */ _t14 = cpu->r[3] + 0x00000040u; /* 02897B4C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); L_02897B50: ; // 0x2897b50 /* 02897B50 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02897B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02897B54 */ cpu->lr = cpu->r[0]; /* 02897B58 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02897B5C */ return; } // fn_02897AF0 @ 0x2897af0 void Gambit_fn_02897AF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_02897AF0: ; // 0x2897af0 /* 02897AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02897AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897AF0 */ cpu->r[1] = _t0; /* 02897AF4 */ _t1 = cpu->r[3] + 0x0000003Au; /* 02897AF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1); /* 02897AF8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02897AFC */ cpu->r[11] = 0x00000000u; /* 02897B00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897B00 */ _t3 = _t2 & 0x00000001u; /* 02897B00 */ if (_t3) goto L_02897B2C; else goto L_02897B04; L_02897B04: ; // 0x2897b04 /* 02897B04 */ _t4 = cpu->r[3] + 0x0000000Cu; /* 02897B04 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 02897B08 */ cpu->r[10] = 0x00004000u; /* 02897B0C */ _t5 = cpu->r[3] + 0x00000010u; /* 02897B0C */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[10]); /* 02897B10 */ _t6 = cpu->r[3] + 0x00000012u; /* 02897B10 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[11]); /* 02897B14 */ _t7 = cpu->r[3] + 0x0000003Cu; /* 02897B14 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[12]); /* 02897B18 */ Gambit_fn_02897944(cpu); /* 02897B1C */ cpu->r[0] = 0x02890000u; /* 02897B20 */ cpu->r[0] = cpu->r[0] + 0x00007288u; /* 02897B24 */ _t8 = cpu->r[3] + 0x00000040u; /* 02897B24 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02897B28 */ goto L_02897B50; L_02897B2C: ; // 0x2897b2c /* 02897B2C */ _t9 = cpu->r[3] + 0x0000000Eu; /* 02897B2C */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 02897B30 */ cpu->r[10] = 0x00004000u; /* 02897B34 */ _t10 = cpu->r[3] + 0x00000012u; /* 02897B34 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[10]); /* 02897B38 */ _t11 = cpu->r[3] + 0x00000010u; /* 02897B38 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[11]); /* 02897B3C */ _t12 = cpu->r[3] + 0x0000003Cu; /* 02897B3C */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[12]); /* 02897B40 */ Gambit_fn_02897944(cpu); /* 02897B44 */ cpu->r[0] = 0x02890000u; /* 02897B48 */ cpu->r[0] = cpu->r[0] + 0x00007288u; /* 02897B4C */ _t13 = cpu->r[3] + 0x00000040u; /* 02897B4C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); L_02897B50: ; // 0x2897b50 /* 02897B50 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 02897B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02897B54 */ cpu->lr = cpu->r[0]; /* 02897B58 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02897B5C */ return; } // fn_02897B60 @ 0x2897b60 void Gambit_fn_02897B60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897B60: ; // 0x2897b60 /* 02897B60 */ cpu->r[0] = cpu->lr; /* 02897B64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02897B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897B64 */ cpu->r[1] = _t0; /* 02897B68 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02897B68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897B6C */ cpu->r[31] = cpu->r[3]; /* 02897B70 */ _t2 = cpu->r[1] + 0x00000014u; /* 02897B70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02897B74 */ _t3 = cpu->r[31] + 0x00000018u; /* 02897B74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 02897B78 */ _t4 = cpu->r[31] + 0x00000004u; /* 02897B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 02897B7C */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFCu; /* 02897B80 */ _t5 = cpu->r[31] + 0x00000008u; /* 02897B80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02897B84 */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFCu; /* 02897B88 */ _t6 = cpu->r[31] + 0x00000018u; /* 02897B88 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]); /* 02897B8C */ _t7 = cpu->r[5] + 0x00000000u; /* 02897B8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 02897B90 */ _t8 = cpu->r[31] + 0x00000018u; /* 02897B90 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]); /* 02897B94 */ _t9 = cpu->r[9] + 0x00000004u; /* 02897B94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02897B98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897B9C */ _t10 = cpu->r[10] + 0x00000000u; /* 02897B9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 02897BA0 */ _t11 = cpu->r[5] + 0xFFFFFFFCu; /* 02897BA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02897BA4 */ _t12 = cpu->r[12] + cpu->r[0]; /* 02897BA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02897BA8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897BAC */ _t13 = cpu->r[9] + 0x00000000u; /* 02897BAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 02897BB0 */ _t14 = cpu->r[7] + cpu->r[6]; /* 02897BB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 02897BB4 */ _t15 = cpu->r[10] + 0x00000004u; /* 02897BB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 02897BB8 */ _t16 = cpu->r[8] + cpu->r[0]; /* 02897BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02897BBC */ _t17 = cpu->r[11] + cpu->r[6]; /* 02897BBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02897BC0 */ cpu->r[3] = cpu->r[9] - cpu->r[0]; /* 02897BC4 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu; /* 02897BC8 */ cpu->r[4] = cpu->r[11] - cpu->r[12]; /* 02897BCC */ Gambit_fn_02896E70(cpu); /* 02897BD0 */ _t18 = cpu->r[31] + 0x0000003Au; /* 02897BD0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t18); /* 02897BD4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02897BD8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897BD8 */ _t20 = _t19 & 0x00000001u; /* 02897BD8 */ if (_t20) goto L_02897BF0; else goto L_02897BDC; L_02897BDC: ; // 0x2897bdc /* 02897BDC */ _t21 = cpu->r[31] + 0x0000000Eu; /* 02897BDC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t21); /* 02897BE0 */ _t22 = cpu->r[31] + 0x0000000Cu; /* 02897BE0 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t22); /* 02897BE4 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[11]); /* 02897BE8 */ _t23 = cpu->r[31] + 0x0000000Cu; /* 02897BE8 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[0]); /* 02897BEC */ _t24 = cpu->r[31] + 0x0000000Eu; /* 02897BEC */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[12]); L_02897BF0: ; // 0x2897bf0 /* 02897BF0 */ cpu->r[3] = cpu->r[31]; /* 02897BF4 */ Gambit_fn_0289796C(cpu); /* 02897BF8 */ cpu->r[7] = 0x02890000u; /* 02897BFC */ cpu->r[6] = 0x02890000u; /* 02897C00 */ cpu->r[7] = cpu->r[7] + 0x00007408u; /* 02897C04 */ cpu->r[6] = cpu->r[6] + 0x00007408u; /* 02897C08 */ cpu->r[5] = 0x02890000u; /* 02897C0C */ _t25 = cpu->r[31] + 0x00000048u; /* 02897C0C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]); /* 02897C10 */ cpu->r[5] = cpu->r[5] + 0x00007288u; /* 02897C14 */ _t26 = cpu->r[31] + 0x00000044u; /* 02897C14 */ rbrew_write32(cpu->mem, _t26, cpu->r[6]); /* 02897C18 */ _t27 = cpu->r[31] + 0x00000040u; /* 02897C18 */ rbrew_write32(cpu->mem, _t27, cpu->r[5]); /* 02897C1C */ _t28 = cpu->r[1] + 0x00000014u; /* 02897C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02897C20 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 02897C20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 02897C24 */ cpu->lr = cpu->r[0]; /* 02897C28 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02897C2C */ return; } // fn_02897B64 @ 0x2897b64 void Gambit_fn_02897B64(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897B64: ; // 0x2897b64 /* 02897B64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02897B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897B64 */ cpu->r[1] = _t0; /* 02897B68 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02897B68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897B6C */ cpu->r[31] = cpu->r[3]; /* 02897B70 */ _t2 = cpu->r[1] + 0x00000014u; /* 02897B70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02897B74 */ _t3 = cpu->r[31] + 0x00000018u; /* 02897B74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 02897B78 */ _t4 = cpu->r[31] + 0x00000004u; /* 02897B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 02897B7C */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFCu; /* 02897B80 */ _t5 = cpu->r[31] + 0x00000008u; /* 02897B80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02897B84 */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFCu; /* 02897B88 */ _t6 = cpu->r[31] + 0x00000018u; /* 02897B88 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]); /* 02897B8C */ _t7 = cpu->r[5] + 0x00000000u; /* 02897B8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 02897B90 */ _t8 = cpu->r[31] + 0x00000018u; /* 02897B90 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]); /* 02897B94 */ _t9 = cpu->r[9] + 0x00000004u; /* 02897B94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02897B98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897B9C */ _t10 = cpu->r[10] + 0x00000000u; /* 02897B9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 02897BA0 */ _t11 = cpu->r[5] + 0xFFFFFFFCu; /* 02897BA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02897BA4 */ _t12 = cpu->r[12] + cpu->r[0]; /* 02897BA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02897BA8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897BAC */ _t13 = cpu->r[9] + 0x00000000u; /* 02897BAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 02897BB0 */ _t14 = cpu->r[7] + cpu->r[6]; /* 02897BB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 02897BB4 */ _t15 = cpu->r[10] + 0x00000004u; /* 02897BB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 02897BB8 */ _t16 = cpu->r[8] + cpu->r[0]; /* 02897BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02897BBC */ _t17 = cpu->r[11] + cpu->r[6]; /* 02897BBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02897BC0 */ cpu->r[3] = cpu->r[9] - cpu->r[0]; /* 02897BC4 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu; /* 02897BC8 */ cpu->r[4] = cpu->r[11] - cpu->r[12]; /* 02897BCC */ Gambit_fn_02896E70(cpu); /* 02897BD0 */ _t18 = cpu->r[31] + 0x0000003Au; /* 02897BD0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t18); /* 02897BD4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02897BD8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897BD8 */ _t20 = _t19 & 0x00000001u; /* 02897BD8 */ if (_t20) goto L_02897BF0; else goto L_02897BDC; L_02897BDC: ; // 0x2897bdc /* 02897BDC */ _t21 = cpu->r[31] + 0x0000000Eu; /* 02897BDC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t21); /* 02897BE0 */ _t22 = cpu->r[31] + 0x0000000Cu; /* 02897BE0 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t22); /* 02897BE4 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[11]); /* 02897BE8 */ _t23 = cpu->r[31] + 0x0000000Cu; /* 02897BE8 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[0]); /* 02897BEC */ _t24 = cpu->r[31] + 0x0000000Eu; /* 02897BEC */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[12]); L_02897BF0: ; // 0x2897bf0 /* 02897BF0 */ cpu->r[3] = cpu->r[31]; /* 02897BF4 */ Gambit_fn_0289796C(cpu); /* 02897BF8 */ cpu->r[7] = 0x02890000u; /* 02897BFC */ cpu->r[6] = 0x02890000u; /* 02897C00 */ cpu->r[7] = cpu->r[7] + 0x00007408u; /* 02897C04 */ cpu->r[6] = cpu->r[6] + 0x00007408u; /* 02897C08 */ cpu->r[5] = 0x02890000u; /* 02897C0C */ _t25 = cpu->r[31] + 0x00000048u; /* 02897C0C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]); /* 02897C10 */ cpu->r[5] = cpu->r[5] + 0x00007288u; /* 02897C14 */ _t26 = cpu->r[31] + 0x00000044u; /* 02897C14 */ rbrew_write32(cpu->mem, _t26, cpu->r[6]); /* 02897C18 */ _t27 = cpu->r[31] + 0x00000040u; /* 02897C18 */ rbrew_write32(cpu->mem, _t27, cpu->r[5]); /* 02897C1C */ _t28 = cpu->r[1] + 0x00000014u; /* 02897C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02897C20 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 02897C20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 02897C24 */ cpu->lr = cpu->r[0]; /* 02897C28 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02897C2C */ return; } // fn_02897C30 @ 0x2897c30 void Gambit_fn_02897C30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897C30: ; // 0x2897c30 /* 02897C30 */ cpu->r[0] = cpu->lr; /* 02897C34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02897C34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897C34 */ cpu->r[1] = _t0; /* 02897C38 */ _t1 = cpu->r[1] + 0x00000014u; /* 02897C38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897C3C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02897C3C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02897C40 */ cpu->r[31] = cpu->r[3]; /* 02897C44 */ _t3 = cpu->r[1] + 0x00000010u; /* 02897C44 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02897C48 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02897C48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02897C4C */ _t5 = cpu->r[31] + 0x00000018u; /* 02897C4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02897C50 */ _t6 = cpu->r[31] + 0x00000004u; /* 02897C50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 02897C54 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02897C58 */ _t7 = cpu->r[31] + 0x00000008u; /* 02897C58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 02897C5C */ cpu->r[6] = cpu->r[12] + 0xFFFFFFFCu; /* 02897C60 */ _t8 = cpu->r[31] + 0x00000018u; /* 02897C60 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02897C64 */ _t9 = cpu->r[12] + 0x00000000u; /* 02897C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02897C68 */ _t10 = cpu->r[31] + 0x00000018u; /* 02897C68 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 02897C6C */ _t11 = cpu->r[12] + 0xFFFFFFFCu; /* 02897C6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02897C70 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897C74 */ _t12 = cpu->r[9] + 0x00000000u; /* 02897C74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 02897C78 */ _t13 = cpu->r[9] + 0x00000004u; /* 02897C78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02897C7C */ _t14 = cpu->r[8] + cpu->r[29]; /* 02897C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02897C80 */ _t15 = cpu->r[10] + 0x00000000u; /* 02897C80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); /* 02897C84 */ cpu->r[30] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897C88 */ _t16 = cpu->r[10] + 0x00000004u; /* 02897C88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 02897C8C */ _t17 = cpu->r[7] + cpu->r[30]; /* 02897C8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 02897C90 */ _t18 = cpu->r[11] + cpu->r[30]; /* 02897C90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 02897C94 */ _t19 = cpu->r[12] + cpu->r[29]; /* 02897C94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 02897C98 */ cpu->r[3] = cpu->r[9] - cpu->r[0]; /* 02897C9C */ cpu->r[5] = cpu->r[31] + 0x0000000Cu; /* 02897CA0 */ cpu->r[4] = cpu->r[11] - cpu->r[12]; /* 02897CA4 */ Gambit_fn_02896E70(cpu); /* 02897CA8 */ _t20 = cpu->r[31] + 0x00000004u; /* 02897CA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 02897CAC */ _t21 = cpu->r[31] + 0x00000008u; /* 02897CAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 02897CB0 */ _t22 = cpu->r[10] + 0x00000008u; /* 02897CB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 02897CB4 */ _t23 = cpu->r[8] + cpu->r[30]; /* 02897CB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23); /* 02897CB8 */ _t24 = cpu->r[9] + 0x00000008u; /* 02897CB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 02897CBC */ _t25 = cpu->r[10] + 0x0000000Cu; /* 02897CBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t25); /* 02897CC0 */ _t26 = cpu->r[12] + cpu->r[29]; /* 02897CC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26); /* 02897CC4 */ _t27 = cpu->r[9] + 0x0000000Cu; /* 02897CC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 02897CC8 */ _t28 = cpu->r[8] + cpu->r[30]; /* 02897CC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 02897CCC */ cpu->r[3] = cpu->r[6] - cpu->r[7]; /* 02897CD0 */ _t29 = cpu->r[9] + cpu->r[29]; /* 02897CD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02897CD4 */ cpu->r[5] = cpu->r[31] + 0x00000014u; /* 02897CD8 */ cpu->r[4] = cpu->r[10] - cpu->r[11]; /* 02897CDC */ Gambit_fn_02896E70(cpu); /* 02897CE0 */ _t30 = cpu->r[31] + 0x0000003Au; /* 02897CE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30); /* 02897CE4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02897CE8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897CE8 */ _t32 = _t31 & 0x00000001u; /* 02897CE8 */ if (_t32) goto L_02897D14; else goto L_02897CEC; L_02897CEC: ; // 0x2897cec /* 02897CEC */ _t33 = cpu->r[31] + 0x0000000Cu; /* 02897CEC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t33); /* 02897CF0 */ _t34 = cpu->r[31] + 0x0000000Eu; /* 02897CF0 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34); /* 02897CF4 */ _t35 = cpu->r[31] + 0x0000000Eu; /* 02897CF4 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[0]); /* 02897CF8 */ cpu->r[6] = (uint32_t)(-(int32_t)cpu->r[5]); /* 02897CFC */ _t36 = cpu->r[31] + 0x00000016u; /* 02897CFC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36); /* 02897D00 */ _t37 = cpu->r[31] + 0x00000014u; /* 02897D00 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t37); /* 02897D04 */ _t38 = cpu->r[31] + 0x0000000Cu; /* 02897D04 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[6]); /* 02897D08 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[5]); /* 02897D0C */ _t39 = cpu->r[31] + 0x00000016u; /* 02897D0C */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[0]); /* 02897D10 */ _t40 = cpu->r[31] + 0x00000014u; /* 02897D10 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[8]); L_02897D14: ; // 0x2897d14 /* 02897D14 */ cpu->r[3] = cpu->r[31]; /* 02897D18 */ Gambit_fn_0289796C(cpu); /* 02897D1C */ cpu->r[5] = 0x02890000u; /* 02897D20 */ cpu->r[0] = 0x02890000u; /* 02897D24 */ cpu->r[5] = cpu->r[5] + 0x0000746Cu; /* 02897D28 */ cpu->r[0] = cpu->r[0] + 0x00007408u; /* 02897D2C */ cpu->r[11] = 0x02890000u; /* 02897D30 */ _t41 = cpu->r[31] + 0x00000048u; /* 02897D30 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]); /* 02897D34 */ cpu->r[11] = cpu->r[11] + 0x00007288u; /* 02897D38 */ _t42 = cpu->r[31] + 0x00000044u; /* 02897D38 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]); /* 02897D3C */ _t43 = cpu->r[31] + 0x00000040u; /* 02897D3C */ rbrew_write32(cpu->mem, _t43, cpu->r[11]); /* 02897D40 */ _t44 = cpu->r[1] + 0x0000000Cu; /* 02897D40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44); /* 02897D44 */ _t45 = cpu->r[1] + 0x0000001Cu; /* 02897D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 02897D48 */ _t46 = cpu->r[1] + 0x00000010u; /* 02897D48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46); /* 02897D4C */ cpu->lr = cpu->r[0]; /* 02897D50 */ _t47 = cpu->r[1] + 0x00000014u; /* 02897D50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47); /* 02897D54 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02897D58 */ return; } // fn_02897C34 @ 0x2897c34 void Gambit_fn_02897C34(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897C34: ; // 0x2897c34 /* 02897C34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02897C34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897C34 */ cpu->r[1] = _t0; /* 02897C38 */ _t1 = cpu->r[1] + 0x00000014u; /* 02897C38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897C3C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02897C3C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02897C40 */ cpu->r[31] = cpu->r[3]; /* 02897C44 */ _t3 = cpu->r[1] + 0x00000010u; /* 02897C44 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02897C48 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02897C48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02897C4C */ _t5 = cpu->r[31] + 0x00000018u; /* 02897C4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02897C50 */ _t6 = cpu->r[31] + 0x00000004u; /* 02897C50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 02897C54 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02897C58 */ _t7 = cpu->r[31] + 0x00000008u; /* 02897C58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 02897C5C */ cpu->r[6] = cpu->r[12] + 0xFFFFFFFCu; /* 02897C60 */ _t8 = cpu->r[31] + 0x00000018u; /* 02897C60 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02897C64 */ _t9 = cpu->r[12] + 0x00000000u; /* 02897C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02897C68 */ _t10 = cpu->r[31] + 0x00000018u; /* 02897C68 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 02897C6C */ _t11 = cpu->r[12] + 0xFFFFFFFCu; /* 02897C6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02897C70 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897C74 */ _t12 = cpu->r[9] + 0x00000000u; /* 02897C74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 02897C78 */ _t13 = cpu->r[9] + 0x00000004u; /* 02897C78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02897C7C */ _t14 = cpu->r[8] + cpu->r[29]; /* 02897C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02897C80 */ _t15 = cpu->r[10] + 0x00000000u; /* 02897C80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); /* 02897C84 */ cpu->r[30] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897C88 */ _t16 = cpu->r[10] + 0x00000004u; /* 02897C88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 02897C8C */ _t17 = cpu->r[7] + cpu->r[30]; /* 02897C8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 02897C90 */ _t18 = cpu->r[11] + cpu->r[30]; /* 02897C90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 02897C94 */ _t19 = cpu->r[12] + cpu->r[29]; /* 02897C94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 02897C98 */ cpu->r[3] = cpu->r[9] - cpu->r[0]; /* 02897C9C */ cpu->r[5] = cpu->r[31] + 0x0000000Cu; /* 02897CA0 */ cpu->r[4] = cpu->r[11] - cpu->r[12]; /* 02897CA4 */ Gambit_fn_02896E70(cpu); /* 02897CA8 */ _t20 = cpu->r[31] + 0x00000004u; /* 02897CA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 02897CAC */ _t21 = cpu->r[31] + 0x00000008u; /* 02897CAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 02897CB0 */ _t22 = cpu->r[10] + 0x00000008u; /* 02897CB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 02897CB4 */ _t23 = cpu->r[8] + cpu->r[30]; /* 02897CB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23); /* 02897CB8 */ _t24 = cpu->r[9] + 0x00000008u; /* 02897CB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 02897CBC */ _t25 = cpu->r[10] + 0x0000000Cu; /* 02897CBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t25); /* 02897CC0 */ _t26 = cpu->r[12] + cpu->r[29]; /* 02897CC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26); /* 02897CC4 */ _t27 = cpu->r[9] + 0x0000000Cu; /* 02897CC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 02897CC8 */ _t28 = cpu->r[8] + cpu->r[30]; /* 02897CC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 02897CCC */ cpu->r[3] = cpu->r[6] - cpu->r[7]; /* 02897CD0 */ _t29 = cpu->r[9] + cpu->r[29]; /* 02897CD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02897CD4 */ cpu->r[5] = cpu->r[31] + 0x00000014u; /* 02897CD8 */ cpu->r[4] = cpu->r[10] - cpu->r[11]; /* 02897CDC */ Gambit_fn_02896E70(cpu); /* 02897CE0 */ _t30 = cpu->r[31] + 0x0000003Au; /* 02897CE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30); /* 02897CE4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02897CE8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897CE8 */ _t32 = _t31 & 0x00000001u; /* 02897CE8 */ if (_t32) goto L_02897D14; else goto L_02897CEC; L_02897CEC: ; // 0x2897cec /* 02897CEC */ _t33 = cpu->r[31] + 0x0000000Cu; /* 02897CEC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t33); /* 02897CF0 */ _t34 = cpu->r[31] + 0x0000000Eu; /* 02897CF0 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34); /* 02897CF4 */ _t35 = cpu->r[31] + 0x0000000Eu; /* 02897CF4 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[0]); /* 02897CF8 */ cpu->r[6] = (uint32_t)(-(int32_t)cpu->r[5]); /* 02897CFC */ _t36 = cpu->r[31] + 0x00000016u; /* 02897CFC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36); /* 02897D00 */ _t37 = cpu->r[31] + 0x00000014u; /* 02897D00 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t37); /* 02897D04 */ _t38 = cpu->r[31] + 0x0000000Cu; /* 02897D04 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[6]); /* 02897D08 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[5]); /* 02897D0C */ _t39 = cpu->r[31] + 0x00000016u; /* 02897D0C */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[0]); /* 02897D10 */ _t40 = cpu->r[31] + 0x00000014u; /* 02897D10 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[8]); L_02897D14: ; // 0x2897d14 /* 02897D14 */ cpu->r[3] = cpu->r[31]; /* 02897D18 */ Gambit_fn_0289796C(cpu); /* 02897D1C */ cpu->r[5] = 0x02890000u; /* 02897D20 */ cpu->r[0] = 0x02890000u; /* 02897D24 */ cpu->r[5] = cpu->r[5] + 0x0000746Cu; /* 02897D28 */ cpu->r[0] = cpu->r[0] + 0x00007408u; /* 02897D2C */ cpu->r[11] = 0x02890000u; /* 02897D30 */ _t41 = cpu->r[31] + 0x00000048u; /* 02897D30 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]); /* 02897D34 */ cpu->r[11] = cpu->r[11] + 0x00007288u; /* 02897D38 */ _t42 = cpu->r[31] + 0x00000044u; /* 02897D38 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]); /* 02897D3C */ _t43 = cpu->r[31] + 0x00000040u; /* 02897D3C */ rbrew_write32(cpu->mem, _t43, cpu->r[11]); /* 02897D40 */ _t44 = cpu->r[1] + 0x0000000Cu; /* 02897D40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44); /* 02897D44 */ _t45 = cpu->r[1] + 0x0000001Cu; /* 02897D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 02897D48 */ _t46 = cpu->r[1] + 0x00000010u; /* 02897D48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46); /* 02897D4C */ cpu->lr = cpu->r[0]; /* 02897D50 */ _t47 = cpu->r[1] + 0x00000014u; /* 02897D50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47); /* 02897D54 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02897D58 */ return; } // fn_02897D5C @ 0x2897d5c void Gambit_fn_02897D5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897D5C: ; // 0x2897d5c /* 02897D5C */ cpu->r[0] = cpu->lr; /* 02897D60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02897D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897D60 */ cpu->r[1] = _t0; /* 02897D64 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02897D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897D68 */ cpu->r[31] = cpu->r[3]; /* 02897D6C */ _t2 = cpu->r[1] + 0x00000014u; /* 02897D6C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02897D70 */ _t3 = cpu->r[31] + 0x00000018u; /* 02897D70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 02897D74 */ _t4 = cpu->r[31] + 0x00000004u; /* 02897D74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 02897D78 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFCu; /* 02897D7C */ _t5 = cpu->r[31] + 0x00000008u; /* 02897D7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02897D80 */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFCu; /* 02897D84 */ _t6 = cpu->r[31] + 0x00000018u; /* 02897D84 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]); /* 02897D88 */ _t7 = cpu->r[5] + 0x00000000u; /* 02897D88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02897D8C */ _t8 = cpu->r[31] + 0x00000018u; /* 02897D8C */ rbrew_write32(cpu->mem, _t8, cpu->r[6]); /* 02897D90 */ _t9 = cpu->r[5] + 0xFFFFFFFCu; /* 02897D90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 02897D94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897D98 */ _t10 = cpu->r[10] + 0x00000000u; /* 02897D98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 02897D9C */ _t11 = cpu->r[9] + 0x00000004u; /* 02897D9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 02897DA0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897DA4 */ _t12 = cpu->r[9] + 0x00000000u; /* 02897DA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 02897DA8 */ _t13 = cpu->r[12] + cpu->r[0]; /* 02897DA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02897DAC */ _t14 = cpu->r[8] + cpu->r[0]; /* 02897DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02897DB0 */ _t15 = cpu->r[10] + 0x00000004u; /* 02897DB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 02897DB4 */ _t16 = cpu->r[7] + cpu->r[6]; /* 02897DB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); /* 02897DB8 */ _t17 = cpu->r[11] + cpu->r[6]; /* 02897DB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02897DBC */ cpu->r[3] = cpu->r[9] - cpu->r[0]; /* 02897DC0 */ cpu->r[5] = cpu->r[31] + 0x00000010u; /* 02897DC4 */ cpu->r[4] = cpu->r[11] - cpu->r[12]; /* 02897DC8 */ Gambit_fn_02896E70(cpu); /* 02897DCC */ _t18 = cpu->r[31] + 0x0000003Au; /* 02897DCC */ cpu->r[12] = rbrew_read8(cpu->mem, _t18); /* 02897DD0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02897DD4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897DD4 */ _t20 = _t19 & 0x00000001u; /* 02897DD4 */ if (_t20) goto L_02897DEC; else goto L_02897DD8; L_02897DD8: ; // 0x2897dd8 /* 02897DD8 */ _t21 = cpu->r[31] + 0x00000012u; /* 02897DD8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t21); /* 02897DDC */ _t22 = cpu->r[31] + 0x00000010u; /* 02897DDC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t22); /* 02897DE0 */ cpu->r[6] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02897DE4 */ _t23 = cpu->r[31] + 0x00000010u; /* 02897DE4 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[6]); /* 02897DE8 */ _t24 = cpu->r[31] + 0x00000012u; /* 02897DE8 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[5]); L_02897DEC: ; // 0x2897dec /* 02897DEC */ cpu->r[3] = cpu->r[31]; /* 02897DF0 */ Gambit_fn_0289796C(cpu); /* 02897DF4 */ cpu->r[7] = 0x02890000u; /* 02897DF8 */ cpu->r[7] = cpu->r[7] + 0x00007288u; /* 02897DFC */ _t25 = cpu->r[31] + 0x00000040u; /* 02897DFC */ rbrew_write32(cpu->mem, _t25, cpu->r[7]); /* 02897E00 */ _t26 = cpu->r[1] + 0x00000014u; /* 02897E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02897E04 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02897E04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 02897E08 */ cpu->lr = cpu->r[0]; /* 02897E0C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02897E10 */ return; } // fn_02897D60 @ 0x2897d60 void Gambit_fn_02897D60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02897D60: ; // 0x2897d60 /* 02897D60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02897D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897D60 */ cpu->r[1] = _t0; /* 02897D64 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02897D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02897D68 */ cpu->r[31] = cpu->r[3]; /* 02897D6C */ _t2 = cpu->r[1] + 0x00000014u; /* 02897D6C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02897D70 */ _t3 = cpu->r[31] + 0x00000018u; /* 02897D70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 02897D74 */ _t4 = cpu->r[31] + 0x00000004u; /* 02897D74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 02897D78 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFCu; /* 02897D7C */ _t5 = cpu->r[31] + 0x00000008u; /* 02897D7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02897D80 */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFCu; /* 02897D84 */ _t6 = cpu->r[31] + 0x00000018u; /* 02897D84 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]); /* 02897D88 */ _t7 = cpu->r[5] + 0x00000000u; /* 02897D88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02897D8C */ _t8 = cpu->r[31] + 0x00000018u; /* 02897D8C */ rbrew_write32(cpu->mem, _t8, cpu->r[6]); /* 02897D90 */ _t9 = cpu->r[5] + 0xFFFFFFFCu; /* 02897D90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 02897D94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897D98 */ _t10 = cpu->r[10] + 0x00000000u; /* 02897D98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 02897D9C */ _t11 = cpu->r[9] + 0x00000004u; /* 02897D9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 02897DA0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897DA4 */ _t12 = cpu->r[9] + 0x00000000u; /* 02897DA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 02897DA8 */ _t13 = cpu->r[12] + cpu->r[0]; /* 02897DA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02897DAC */ _t14 = cpu->r[8] + cpu->r[0]; /* 02897DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02897DB0 */ _t15 = cpu->r[10] + 0x00000004u; /* 02897DB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 02897DB4 */ _t16 = cpu->r[7] + cpu->r[6]; /* 02897DB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); /* 02897DB8 */ _t17 = cpu->r[11] + cpu->r[6]; /* 02897DB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02897DBC */ cpu->r[3] = cpu->r[9] - cpu->r[0]; /* 02897DC0 */ cpu->r[5] = cpu->r[31] + 0x00000010u; /* 02897DC4 */ cpu->r[4] = cpu->r[11] - cpu->r[12]; /* 02897DC8 */ Gambit_fn_02896E70(cpu); /* 02897DCC */ _t18 = cpu->r[31] + 0x0000003Au; /* 02897DCC */ cpu->r[12] = rbrew_read8(cpu->mem, _t18); /* 02897DD0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02897DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02897DD4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897DD4 */ _t20 = _t19 & 0x00000001u; /* 02897DD4 */ if (_t20) goto L_02897DEC; else goto L_02897DD8; L_02897DD8: ; // 0x2897dd8 /* 02897DD8 */ _t21 = cpu->r[31] + 0x00000012u; /* 02897DD8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t21); /* 02897DDC */ _t22 = cpu->r[31] + 0x00000010u; /* 02897DDC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t22); /* 02897DE0 */ cpu->r[6] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02897DE4 */ _t23 = cpu->r[31] + 0x00000010u; /* 02897DE4 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[6]); /* 02897DE8 */ _t24 = cpu->r[31] + 0x00000012u; /* 02897DE8 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[5]); L_02897DEC: ; // 0x2897dec /* 02897DEC */ cpu->r[3] = cpu->r[31]; /* 02897DF0 */ Gambit_fn_0289796C(cpu); /* 02897DF4 */ cpu->r[7] = 0x02890000u; /* 02897DF8 */ cpu->r[7] = cpu->r[7] + 0x00007288u; /* 02897DFC */ _t25 = cpu->r[31] + 0x00000040u; /* 02897DFC */ rbrew_write32(cpu->mem, _t25, cpu->r[7]); /* 02897E00 */ _t26 = cpu->r[1] + 0x00000014u; /* 02897E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02897E04 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02897E04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 02897E08 */ cpu->lr = cpu->r[0]; /* 02897E0C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02897E10 */ return; } // fn_02897E14 @ 0x2897e14 void Gambit_fn_02897E14(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02897E14: ; // 0x2897e14 /* 02897E14 */ cpu->r[0] = cpu->lr; /* 02897E18 */ _t0 = cpu->r[1] + 0x00000004u; /* 02897E18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02897E1C */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02897E1C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02897E1C */ cpu->r[1] = _t1; /* 02897E20 */ _t2 = cpu->r[3] + 0x00000018u; /* 02897E20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 02897E24 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 02897E28 */ _t3 = cpu->r[3] + 0x00000018u; /* 02897E28 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 02897E2C */ _t4 = cpu->r[11] + 0x00000000u; /* 02897E2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02897E30 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFCu; /* 02897E34 */ _t5 = cpu->r[3] + 0x00000018u; /* 02897E34 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 02897E38 */ _t6 = cpu->r[3] + 0x0000000Eu; /* 02897E38 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[12]); /* 02897E3C */ _t7 = cpu->r[11] + 0xFFFFFFFCu; /* 02897E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02897E40 */ _t8 = cpu->r[3] + 0x0000000Cu; /* 02897E40 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]); /* 02897E44 */ Gambit_fn_0289796C(cpu); /* 02897E48 */ cpu->r[0] = 0x02890000u; /* 02897E4C */ cpu->r[12] = 0x02890000u; /* 02897E50 */ cpu->r[0] = cpu->r[0] + 0x00007288u; /* 02897E54 */ cpu->r[12] = cpu->r[12] + 0x00007408u; /* 02897E58 */ cpu->r[11] = 0x02890000u; /* 02897E5C */ _t9 = cpu->r[3] + 0x00000040u; /* 02897E5C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 02897E60 */ cpu->r[11] = cpu->r[11] + 0x00007408u; /* 02897E64 */ _t10 = cpu->r[3] + 0x00000048u; /* 02897E64 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 02897E68 */ _t11 = cpu->r[3] + 0x00000044u; /* 02897E68 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]); /* 02897E6C */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02897E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02897E70 */ cpu->lr = cpu->r[0]; /* 02897E74 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02897E78 */ return; } // fn_02897E1C @ 0x2897e1c void Gambit_fn_02897E1C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02897E1C: ; // 0x2897e1c /* 02897E1C */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02897E1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897E1C */ cpu->r[1] = _t0; /* 02897E20 */ _t1 = cpu->r[3] + 0x00000018u; /* 02897E20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 02897E24 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 02897E28 */ _t2 = cpu->r[3] + 0x00000018u; /* 02897E28 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]); /* 02897E2C */ _t3 = cpu->r[11] + 0x00000000u; /* 02897E2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02897E30 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFCu; /* 02897E34 */ _t4 = cpu->r[3] + 0x00000018u; /* 02897E34 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 02897E38 */ _t5 = cpu->r[3] + 0x0000000Eu; /* 02897E38 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]); /* 02897E3C */ _t6 = cpu->r[11] + 0xFFFFFFFCu; /* 02897E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02897E40 */ _t7 = cpu->r[3] + 0x0000000Cu; /* 02897E40 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]); /* 02897E44 */ Gambit_fn_0289796C(cpu); /* 02897E48 */ cpu->r[0] = 0x02890000u; /* 02897E4C */ cpu->r[12] = 0x02890000u; /* 02897E50 */ cpu->r[0] = cpu->r[0] + 0x00007288u; /* 02897E54 */ cpu->r[12] = cpu->r[12] + 0x00007408u; /* 02897E58 */ cpu->r[11] = 0x02890000u; /* 02897E5C */ _t8 = cpu->r[3] + 0x00000040u; /* 02897E5C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02897E60 */ cpu->r[11] = cpu->r[11] + 0x00007408u; /* 02897E64 */ _t9 = cpu->r[3] + 0x00000048u; /* 02897E64 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 02897E68 */ _t10 = cpu->r[3] + 0x00000044u; /* 02897E68 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 02897E6C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02897E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02897E70 */ cpu->lr = cpu->r[0]; /* 02897E74 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02897E78 */ return; } // fn_02897E7C @ 0x2897e7c void Gambit_fn_02897E7C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_02897E7C: ; // 0x2897e7c /* 02897E7C */ cpu->r[0] = cpu->lr; /* 02897E80 */ _t0 = cpu->r[1] + 0x00000004u; /* 02897E80 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02897E84 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02897E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02897E84 */ cpu->r[1] = _t1; /* 02897E88 */ _t2 = cpu->r[3] + 0x00000018u; /* 02897E88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 02897E8C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 02897E90 */ _t3 = cpu->r[3] + 0x00000018u; /* 02897E90 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 02897E94 */ _t4 = cpu->r[10] + 0x00000000u; /* 02897E94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02897E98 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFCu; /* 02897E9C */ _t5 = cpu->r[3] + 0x00000018u; /* 02897E9C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02897EA0 */ _t6 = cpu->r[3] + 0x00000012u; /* 02897EA0 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[11]); /* 02897EA4 */ _t7 = cpu->r[10] + 0xFFFFFFFCu; /* 02897EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02897EA8 */ _t8 = cpu->r[3] + 0x00000010u; /* 02897EA8 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]); /* 02897EAC */ Gambit_fn_0289796C(cpu); /* 02897EB0 */ cpu->r[10] = 0x02890000u; /* 02897EB4 */ cpu->r[10] = cpu->r[10] + 0x00007288u; /* 02897EB8 */ _t9 = cpu->r[3] + 0x00000040u; /* 02897EB8 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 02897EBC */ _t10 = cpu->r[1] + 0x0000000Cu; /* 02897EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02897EC0 */ cpu->lr = cpu->r[0]; /* 02897EC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02897EC8 */ return; } // fn_02897E84 @ 0x2897e84 void Gambit_fn_02897E84(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02897E84: ; // 0x2897e84 /* 02897E84 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02897E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897E84 */ cpu->r[1] = _t0; /* 02897E88 */ _t1 = cpu->r[3] + 0x00000018u; /* 02897E88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 02897E8C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 02897E90 */ _t2 = cpu->r[3] + 0x00000018u; /* 02897E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]); /* 02897E94 */ _t3 = cpu->r[10] + 0x00000000u; /* 02897E94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 02897E98 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFCu; /* 02897E9C */ _t4 = cpu->r[3] + 0x00000018u; /* 02897E9C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 02897EA0 */ _t5 = cpu->r[3] + 0x00000012u; /* 02897EA0 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[11]); /* 02897EA4 */ _t6 = cpu->r[10] + 0xFFFFFFFCu; /* 02897EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02897EA8 */ _t7 = cpu->r[3] + 0x00000010u; /* 02897EA8 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]); /* 02897EAC */ Gambit_fn_0289796C(cpu); /* 02897EB0 */ cpu->r[10] = 0x02890000u; /* 02897EB4 */ cpu->r[10] = cpu->r[10] + 0x00007288u; /* 02897EB8 */ _t8 = cpu->r[3] + 0x00000040u; /* 02897EB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]); /* 02897EBC */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02897EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02897EC0 */ cpu->lr = cpu->r[0]; /* 02897EC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02897EC8 */ return; } // fn_02897ECC @ 0x2897ecc void Gambit_fn_02897ECC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02897ECC: ; // 0x2897ecc /* 02897ECC */ _t0 = cpu->r[3] + 0x00000018u; /* 02897ECC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02897ED0 */ _t1 = cpu->r[3] + 0x0000000Cu; /* 02897ED0 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 02897ED4 */ cpu->r[10] = cpu->r[11] + 0x00000004u; /* 02897ED8 */ _t2 = cpu->r[3] + 0x00000018u; /* 02897ED8 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]); /* 02897EDC */ _t3 = cpu->r[11] + 0x00000000u; /* 02897EDC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 02897EE0 */ _t4 = cpu->r[3] + 0x00000018u; /* 02897EE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02897EE4 */ _t5 = cpu->r[3] + 0x0000000Eu; /* 02897EE4 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 02897EE8 */ cpu->r[0] = cpu->r[11] + 0x00000004u; /* 02897EEC */ _t6 = cpu->r[3] + 0x00000018u; /* 02897EEC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02897EF0 */ _t7 = cpu->r[11] + 0x00000000u; /* 02897EF0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02897EF4 */ return; } // fn_02897EF8 @ 0x2897ef8 void Gambit_fn_02897EF8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02897EF8: ; // 0x2897ef8 /* 02897EF8 */ _t0 = cpu->r[3] + 0x00000018u; /* 02897EF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02897EFC */ _t1 = cpu->r[3] + 0x00000010u; /* 02897EFC */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 02897F00 */ cpu->r[10] = cpu->r[11] + 0x00000004u; /* 02897F04 */ _t2 = cpu->r[3] + 0x00000018u; /* 02897F04 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]); /* 02897F08 */ _t3 = cpu->r[11] + 0x00000000u; /* 02897F08 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 02897F0C */ _t4 = cpu->r[3] + 0x00000018u; /* 02897F0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02897F10 */ _t5 = cpu->r[3] + 0x00000012u; /* 02897F10 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 02897F14 */ cpu->r[0] = cpu->r[11] + 0x00000004u; /* 02897F18 */ _t6 = cpu->r[3] + 0x00000018u; /* 02897F18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02897F1C */ _t7 = cpu->r[11] + 0x00000000u; /* 02897F1C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02897F20 */ return; } // fn_02897F24 @ 0x2897f24 void Gambit_fn_02897F24(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02897F24: ; // 0x2897f24 /* 02897F24 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02897F24 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0); /* 02897F28 */ cpu->r[12] = 0x02890000u; /* 02897F2C */ _t1 = cpu->r[3] + 0x0000000Eu; /* 02897F2C */ cpu->r[10] = rbrew_read16(cpu->mem, _t1); /* 02897F30 */ _t2 = cpu->r[3] + 0x00000010u; /* 02897F30 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[0]); /* 02897F34 */ cpu->r[12] = cpu->r[12] + 0x00007288u; /* 02897F38 */ _t3 = cpu->r[3] + 0x00000012u; /* 02897F38 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[10]); /* 02897F3C */ cpu->r[11] = 0x00004000u; /* 02897F40 */ _t4 = cpu->r[3] + 0x00000040u; /* 02897F40 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 02897F44 */ _t5 = cpu->r[3] + 0x0000003Cu; /* 02897F44 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[11]); /* 02897F48 */ return; } // fn_02897F4C @ 0x2897f4c void Gambit_fn_02897F4C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64; L_02897F4C: ; // 0x2897f4c /* 02897F4C */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 02897F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02897F4C */ cpu->r[1] = _t0; /* 02897F50 */ /* nop */ /* 02897F54 */ cpu->r[0] = cpu->lr; /* 02897F58 */ _t1 = cpu->r[1] + 0x00000044u; /* 02897F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02897F5C */ _t2 = cpu->r[3] + 0x00000018u; /* 02897F5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t2); /* 02897F60 */ _t3 = cpu->r[3] + 0x00000008u; /* 02897F60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 02897F64 */ _t4 = cpu->r[4] + 0xFFFFFFF8u; /* 02897F64 */ cpu->r[21] = rbrew_read32(cpu->mem, _t4); /* 02897F68 */ _t5 = cpu->r[4] + 0xFFFFFFFCu; /* 02897F68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 02897F6C */ _t6 = cpu->r[3] + 0x00000000u; /* 02897F6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02897F70 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897F74 */ _t7 = cpu->r[4] + 0xFFFFFFF4u; /* 02897F74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02897F78 */ cpu->r[29] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897F7C */ _t8 = cpu->r[12] + 0x00000000u; /* 02897F7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t8); /* 02897F80 */ _t9 = cpu->r[12] + 0x00000004u; /* 02897F80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 02897F84 */ _t10 = cpu->r[4] + 0xFFFFFFF0u; /* 02897F84 */ cpu->r[21] = rbrew_read32(cpu->mem, _t10); /* 02897F88 */ _t11 = cpu->r[5] + cpu->r[29]; /* 02897F88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 02897F8C */ _t12 = cpu->r[7] + cpu->r[29]; /* 02897F8C */ cpu->r[22] = rbrew_read32(cpu->mem, _t12); /* 02897F90 */ cpu->r[29] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897F94 */ _t13 = cpu->r[5] + cpu->r[6]; /* 02897F94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02897F98 */ _t14 = cpu->r[3] + 0x00000004u; /* 02897F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02897F9C */ _t15 = cpu->r[7] + cpu->r[6]; /* 02897F9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 02897FA0 */ _t16 = cpu->r[12] + 0x00000000u; /* 02897FA0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16); /* 02897FA4 */ _t17 = cpu->r[12] + 0x00000004u; /* 02897FA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17); /* 02897FA8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02897FAC */ _t18 = cpu->r[7] + cpu->r[29]; /* 02897FAC */ cpu->r[26] = rbrew_read32(cpu->mem, _t18); /* 02897FB0 */ _t19 = cpu->r[5] + cpu->r[6]; /* 02897FB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 02897FB4 */ _t20 = cpu->r[7] + cpu->r[6]; /* 02897FB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 02897FB8 */ _t21 = cpu->r[5] + cpu->r[29]; /* 02897FB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02897FBC */ _t22 = cpu->r[4] + 0xFFFFFFECu; /* 02897FBC */ cpu->r[21] = rbrew_read32(cpu->mem, _t22); /* 02897FBC */ cpu->r[4] = _t22; /* 02897FC0 */ _t23 = cpu->r[3] + 0x00000018u; /* 02897FC0 */ rbrew_write32(cpu->mem, _t23, cpu->r[4]); /* 02897FC4 */ _t24 = cpu->r[8] + 0x00000024u; /* 02897FC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24); /* 02897FC8 */ _t25 = cpu->r[8] + cpu->r[21]; /* 02897FC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25); /* 02897FCC */ cpu->r[0] = cpu->r[0] | 0x00000003u; /* 02897FD0 */ _t26 = cpu->r[8] + cpu->r[21]; /* 02897FD0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]); /* 02897FD4 */ _t27 = cpu->r[3] + 0x00000008u; /* 02897FD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27); /* 02897FD8 */ cpu->r[24] = cpu->r[11] - cpu->r[26]; /* 02897FDC */ cpu->r[23] = cpu->r[10] - cpu->r[30]; /* 02897FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02897FE0 */ cpu->r[20] = cpu->r[9] - cpu->r[22]; /* 02897FE4 */ _t28 = cpu->r[8] + 0x00000000u; /* 02897FE4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t28); /* 02897FE8 */ cpu->r[25] = cpu->r[12] - cpu->r[31]; /* 02897FEC */ _t29 = cpu->r[8] + 0x00000004u; /* 02897FEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t29); /* 02897FF0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897FF0 */ _t31 = _t30 & 0x00000001u; /* 02897FF0 */ if (_t31) goto L_02897FF4; else goto L_02898058; L_02897FF4: ; // 0x2897ff4 /* 02897FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02897FF8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02897FF8 */ _t33 = _t32 & 0x00000001u; /* 02897FF8 */ if (_t33) goto L_02897FFC; else goto L_0289800C; L_02897FFC: ; // 0x2897ffc /* 02897FFC */ cpu->r[29] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898000 */ _t34 = cpu->r[27] + cpu->r[29]; /* 02898000 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]); /* 02898004 */ _t35 = cpu->r[28] + cpu->r[29]; /* 02898004 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]); /* 02898008 */ goto L_028981F8; L_0289800C: ; // 0x289800c /* 0289800C */ cpu->r[4] = (uint32_t)(-(int32_t)cpu->r[25]); /* 0289800C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02898010 */ cpu->r[29] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898014 */ cpu->r[19] = cpu->r[31] - cpu->r[30]; /* 02898018 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898018 */ _t37 = _t36 & 0x00000001u; /* 02898018 */ if (_t37) goto L_0289801C; else goto L_0289813C; L_0289801C: ; // 0x289801c /* 0289801C */ /* nop */ /* 02898020 */ cpu->r[10] = cpu->r[26] + cpu->r[9]; /* 02898024 */ /* nop */ /* 02898028 */ cpu->r[12] = cpu->r[10] + cpu->r[22]; /* 0289802C */ cpu->r[5] = cpu->r[12] + cpu->r[0]; /* 02898030 */ /* nop */ /* 02898034 */ /* nop */ /* 02898038 */ cpu->r[8] = cpu->r[31] + cpu->r[7]; /* 0289803C */ /* nop */ /* 02898040 */ cpu->r[9] = cpu->r[8] + cpu->r[30]; /* 02898044 */ cpu->r[0] = cpu->r[9] + cpu->r[10]; /* 02898048 */ _t38 = cpu->r[27] + cpu->r[29]; /* 02898048 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]); /* 0289804C */ /* nop */ /* 02898050 */ _t39 = cpu->r[28] + cpu->r[29]; /* 02898050 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]); /* 02898054 */ goto L_028981F8; L_02898058: ; // 0x2898058 /* 02898058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0289805C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289805C */ _t41 = _t40 & 0x00000001u; /* 0289805C */ if (_t41) goto L_02898060; else goto L_0289808C; L_02898060: ; // 0x2898060 /* 02898060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02898064 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898064 */ _t43 = _t42 & 0x00000001u; /* 02898064 */ if (_t43) goto L_02898068; else goto L_02898078; L_02898068: ; // 0x2898068 /* 02898068 */ cpu->r[29] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289806C */ _t44 = cpu->r[27] + cpu->r[29]; /* 0289806C */ rbrew_write32(cpu->mem, _t44, cpu->r[22]); /* 02898070 */ _t45 = cpu->r[28] + cpu->r[29]; /* 02898070 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]); /* 02898074 */ goto L_028981F8; L_02898078: ; // 0x2898078 /* 02898078 */ cpu->r[4] = (uint32_t)(-(int32_t)cpu->r[24]); /* 02898078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289807C */ cpu->r[29] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898080 */ cpu->r[19] = cpu->r[26] - cpu->r[22]; /* 02898084 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898084 */ _t47 = _t46 & 0x00000001u; /* 02898084 */ if (_t47) goto L_0289801C; else goto L_02898088; L_02898088: ; // 0x2898088 /* 02898088 */ goto L_0289813C; L_0289808C: ; // 0x289808c /* 0289808C */ /* nop */ /* 02898090 */ /* nop */ /* 02898094 */ cpu->r[5] = cpu->r[20] ^ cpu->r[0]; /* 02898098 */ cpu->r[7] = cpu->r[23] ^ cpu->r[8]; /* 0289809C */ cpu->r[5] = cpu->r[5] - cpu->r[0]; /* 028980A0 */ cpu->r[7] = cpu->r[7] - cpu->r[8]; /* 028980A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[7]); /* 028980A8 */ cpu->r[5] = 0x0000001Eu; /* 028980AC */ _t48 = cpu->cr[0] >> (0x00000002u & 31u); /* 028980AC */ _t49 = _t48 & 0x00000001u; /* 028980AC */ if (_t49) goto L_028980B0; else goto L_028980F8; L_028980B0: ; // 0x28980b0 /* 028980B0 */ cpu->r[3] = cpu->r[23]; /* 028980B4 */ cpu->r[4] = cpu->r[20]; /* 028980B8 */ Gambit_fn_0287B61C(cpu); /* 028980BC */ cpu->r[18] = cpu->r[3]; /* 028980C0 */ cpu->r[5] = 0x0000001Eu; /* 028980C4 */ cpu->r[3] = cpu->r[26] - cpu->r[22]; /* 028980C8 */ cpu->r[4] = cpu->r[18]; /* 028980CC */ cpu->r[29] = cpu->r[31] - cpu->r[30]; /* 028980D0 */ Gambit_fn_0287B904(cpu); /* 028980D4 */ cpu->r[4] = cpu->r[18]; /* 028980D8 */ cpu->r[19] = cpu->r[29] - cpu->r[3]; /* 028980DC */ cpu->r[3] = cpu->r[24]; /* 028980E0 */ cpu->r[5] = 0x0000001Eu; /* 028980E4 */ Gambit_fn_0287B904(cpu); /* 028980E8 */ cpu->r[4] = cpu->r[3] - cpu->r[25]; /* 028980E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028980EC */ cpu->r[29] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028980F0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 028980F0 */ _t51 = _t50 & 0x00000001u; /* 028980F0 */ if (_t51) goto L_0289801C; else goto L_028980F4; L_028980F4: ; // 0x28980f4 /* 028980F4 */ goto L_0289813C; L_028980F8: ; // 0x28980f8 /* 028980F8 */ cpu->r[4] = cpu->r[23]; /* 028980FC */ cpu->r[3] = cpu->r[20]; /* 02898100 */ Gambit_fn_0287B61C(cpu); /* 02898104 */ cpu->r[18] = cpu->r[3]; /* 02898108 */ cpu->r[5] = 0x0000001Eu; /* 0289810C */ cpu->r[3] = cpu->r[31] - cpu->r[30]; /* 02898110 */ cpu->r[4] = cpu->r[18]; /* 02898114 */ Gambit_fn_0287B904(cpu); /* 02898118 */ cpu->r[9] = cpu->r[26] - cpu->r[22]; /* 0289811C */ cpu->r[5] = 0x0000001Eu; /* 02898120 */ cpu->r[4] = cpu->r[18]; /* 02898124 */ cpu->r[19] = cpu->r[3] - cpu->r[9]; /* 02898128 */ cpu->r[3] = cpu->r[25]; /* 0289812C */ Gambit_fn_0287B904(cpu); /* 02898130 */ cpu->r[4] = cpu->r[24] - cpu->r[3]; /* 02898130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02898134 */ cpu->r[29] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898138 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898138 */ _t53 = _t52 & 0x00000001u; /* 02898138 */ if (_t53) goto L_0289801C; else goto L_0289813C; L_0289813C: ; // 0x289813c /* 0289813C */ /* nop */ /* 02898140 */ /* nop */ /* 02898144 */ cpu->r[10] = cpu->r[19] ^ cpu->r[11]; /* 02898148 */ cpu->r[12] = cpu->r[4] ^ cpu->r[0]; /* 0289814C */ cpu->r[10] = cpu->r[10] - cpu->r[11]; /* 02898150 */ cpu->r[12] = cpu->r[12] - cpu->r[0]; /* 02898154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[12]); /* 02898158 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898158 */ _t55 = _t54 & 0x00000001u; /* 02898158 */ if (_t55) goto L_0289815C; else goto L_028981A0; L_0289815C: ; // 0x289815c /* 0289815C */ cpu->r[3] = cpu->r[19]; /* 02898160 */ cpu->r[5] = 0x0000001Eu; /* 02898164 */ Gambit_fn_0287B61C(cpu); /* 02898168 */ cpu->r[18] = cpu->r[3]; /* 0289816C */ cpu->r[5] = 0x0000001Eu; /* 02898170 */ cpu->r[3] = cpu->r[24]; /* 02898174 */ cpu->r[4] = cpu->r[18]; /* 02898178 */ Gambit_fn_0287B904(cpu); /* 0289817C */ cpu->r[7] = cpu->r[26] + cpu->r[3]; /* 02898180 */ cpu->r[3] = cpu->r[25]; /* 02898184 */ cpu->r[4] = cpu->r[18]; /* 02898188 */ cpu->r[5] = 0x0000001Eu; /* 0289818C */ _t56 = cpu->r[27] + cpu->r[29]; /* 0289818C */ rbrew_write32(cpu->mem, _t56, cpu->r[7]); /* 02898190 */ Gambit_fn_0287B904(cpu); /* 02898194 */ cpu->r[31] = cpu->r[31] + cpu->r[3]; /* 02898198 */ _t57 = cpu->r[28] + cpu->r[29]; /* 02898198 */ rbrew_write32(cpu->mem, _t57, cpu->r[31]); /* 0289819C */ goto L_028981F8; L_028981A0: ; // 0x28981a0 /* 028981A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 028981A4 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 028981A4 */ _t59 = _t58 & 0x00000001u; /* 028981A4 */ if (_t59) goto L_028981F0; else goto L_028981A8; L_028981A8: ; // 0x28981a8 /* 028981A8 */ cpu->r[3] = cpu->r[4]; /* 028981AC */ cpu->r[4] = cpu->r[19]; /* 028981B0 */ cpu->r[5] = 0x0000001Eu; /* 028981B4 */ Gambit_fn_0287B61C(cpu); /* 028981B8 */ cpu->r[18] = cpu->r[3]; /* 028981BC */ cpu->r[5] = 0x0000001Eu; /* 028981C0 */ cpu->r[3] = cpu->r[24]; /* 028981C4 */ cpu->r[4] = cpu->r[18]; /* 028981C8 */ Gambit_fn_0287B61C(cpu); /* 028981CC */ cpu->r[0] = cpu->r[26] + cpu->r[3]; /* 028981D0 */ cpu->r[3] = cpu->r[25]; /* 028981D4 */ cpu->r[4] = cpu->r[18]; /* 028981D8 */ cpu->r[5] = 0x0000001Eu; /* 028981DC */ _t60 = cpu->r[27] + cpu->r[29]; /* 028981DC */ rbrew_write32(cpu->mem, _t60, cpu->r[0]); /* 028981E0 */ Gambit_fn_0287B61C(cpu); /* 028981E4 */ cpu->r[31] = cpu->r[31] + cpu->r[3]; /* 028981E8 */ _t61 = cpu->r[28] + cpu->r[29]; /* 028981E8 */ rbrew_write32(cpu->mem, _t61, cpu->r[31]); /* 028981EC */ goto L_028981F8; L_028981F0: ; // 0x28981f0 /* 028981F0 */ _t62 = cpu->r[27] + cpu->r[29]; /* 028981F0 */ rbrew_write32(cpu->mem, _t62, cpu->r[26]); /* 028981F4 */ _t63 = cpu->r[28] + cpu->r[29]; /* 028981F4 */ rbrew_write32(cpu->mem, _t63, cpu->r[31]); L_028981F8: ; // 0x28981f8 /* 028981F8 */ /* nop */ /* 028981FC */ _t64 = cpu->r[1] + 0x00000044u; /* 028981FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t64); /* 02898200 */ cpu->lr = cpu->r[0]; /* 02898204 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 02898208 */ return; } // fn_0289820C @ 0x289820c void Gambit_fn_0289820C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0289820C: ; // 0x289820c /* 0289820C */ _t0 = cpu->r[3] + 0x00000018u; /* 0289820C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02898210 */ _t1 = cpu->r[3] + 0x00000024u; /* 02898210 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 02898214 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02898218 */ _t2 = cpu->r[3] + 0x00000018u; /* 02898218 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 0289821C */ _t3 = cpu->r[12] + 0x00000000u; /* 0289821C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02898220 */ _t4 = cpu->r[11] + 0x00000074u; /* 02898220 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02898224 */ return; } // fn_02898228 @ 0x2898228 void Gambit_fn_02898228(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_02898228: ; // 0x2898228 /* 02898228 */ _t0 = cpu->r[3] + 0x00000018u; /* 02898228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289822C */ _t1 = cpu->r[3] + 0x00000024u; /* 0289822C */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 02898230 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02898234 */ _t2 = cpu->r[3] + 0x00000018u; /* 02898234 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 02898238 */ _t3 = cpu->r[12] + 0x00000000u; /* 02898238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0289823C */ _t4 = cpu->r[11] + 0x00000060u; /* 0289823C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02898240 */ return; } // fn_02898244 @ 0x2898244 void Gambit_fn_02898244(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_02898244: ; // 0x2898244 /* 02898244 */ _t0 = cpu->r[3] + 0x00000018u; /* 02898244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02898248 */ _t1 = cpu->r[3] + 0x00000024u; /* 02898248 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289824C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02898250 */ _t2 = cpu->r[3] + 0x00000018u; /* 02898250 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 02898254 */ _t3 = cpu->r[12] + 0x00000000u; /* 02898254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02898258 */ _t4 = cpu->r[11] + 0x00000064u; /* 02898258 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289825C */ return; } // fn_02898260 @ 0x2898260 void Gambit_fn_02898260(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02898260: ; // 0x2898260 /* 02898260 */ cpu->r[0] = cpu->lr; /* 02898264 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02898264 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02898264 */ cpu->r[1] = _t0; /* 02898268 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02898268 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289826C */ _t2 = cpu->r[1] + 0x00000014u; /* 0289826C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02898270 */ _t3 = cpu->r[3] + 0x00000018u; /* 02898270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02898274 */ _t4 = cpu->r[3] + 0x00000024u; /* 02898274 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02898278 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289827C */ _t5 = cpu->r[3] + 0x00000018u; /* 0289827C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02898280 */ _t6 = cpu->r[12] + 0x00000002u; /* 02898280 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 02898284 */ _t7 = cpu->r[31] + 0x000000F0u; /* 02898284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 02898288 */ cpu->r[4] = cpu->r[31] + 0x000000E0u; /* 0289828C */ _t8 = cpu->r[31] + 0x00000090u; /* 0289828C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[5]); /* 02898290 */ Gambit_fn_0287BC34(cpu); /* 02898294 */ _t9 = cpu->r[31] + 0x00000068u; /* 02898294 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 02898298 */ _t10 = cpu->r[1] + 0x00000014u; /* 02898298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289829C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0289829C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028982A0 */ cpu->lr = cpu->r[0]; /* 028982A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028982A8 */ return; } // fn_02898264 @ 0x2898264 void Gambit_fn_02898264(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02898264: ; // 0x2898264 /* 02898264 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02898264 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02898264 */ cpu->r[1] = _t0; /* 02898268 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02898268 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289826C */ _t2 = cpu->r[1] + 0x00000014u; /* 0289826C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02898270 */ _t3 = cpu->r[3] + 0x00000018u; /* 02898270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02898274 */ _t4 = cpu->r[3] + 0x00000024u; /* 02898274 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02898278 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289827C */ _t5 = cpu->r[3] + 0x00000018u; /* 0289827C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02898280 */ _t6 = cpu->r[12] + 0x00000002u; /* 02898280 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 02898284 */ _t7 = cpu->r[31] + 0x000000F0u; /* 02898284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 02898288 */ cpu->r[4] = cpu->r[31] + 0x000000E0u; /* 0289828C */ _t8 = cpu->r[31] + 0x00000090u; /* 0289828C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[5]); /* 02898290 */ Gambit_fn_0287BC34(cpu); /* 02898294 */ _t9 = cpu->r[31] + 0x00000068u; /* 02898294 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 02898298 */ _t10 = cpu->r[1] + 0x00000014u; /* 02898298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289829C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0289829C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028982A0 */ cpu->lr = cpu->r[0]; /* 028982A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028982A8 */ return; } // fn_028982AC @ 0x28982ac void Gambit_fn_028982AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028982AC: ; // 0x28982ac /* 028982AC */ _t0 = cpu->r[3] + 0x00000018u; /* 028982AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028982B0 */ _t1 = cpu->r[3] + 0x0000003Au; /* 028982B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1); /* 028982B4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 028982B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u); /* 028982BC */ _t2 = cpu->r[3] + 0x00000018u; /* 028982BC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 028982C0 */ _t3 = cpu->r[12] + 0x00000000u; /* 028982C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 028982C4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 028982C4 */ _t5 = _t4 & 0x00000001u; /* 028982C4 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028982C4 */ goto L_028982C8; L_028982C8: ; // 0x28982c8 /* 028982C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028982C8 */ _t7 = _t6 & 0x00000001u; /* 028982C8 */ if (_t7) goto L_028982E4; else goto L_028982CC; L_028982CC: ; // 0x28982cc /* 028982CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000012u); /* 028982D0 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028982D0 */ _t9 = _t8 & 0x00000001u; /* 028982D0 */ if (_t9) goto L_028982EC; else goto L_028982D4; L_028982D4: ; // 0x28982d4 /* 028982D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028982D4 */ _t11 = _t10 & 0x00000001u; /* 028982D4 */ if (_t11) goto L_028982F4; else goto L_028982D8; L_028982D8: ; // 0x28982d8 /* 028982D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000017u); /* 028982DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028982DC */ _t13 = _t12 & 0x00000001u; /* 028982DC */ if (_t13) goto L_028982FC; else goto L_028982E0; L_028982E0: ; // 0x28982e0 /* 028982E0 */ return; L_028982E4: ; // 0x28982e4 /* 028982E4 */ _t14 = cpu->r[3] + 0x00000028u; /* 028982E4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]); /* 028982E8 */ return; L_028982EC: ; // 0x28982ec /* 028982EC */ _t15 = cpu->r[3] + 0x0000002Cu; /* 028982EC */ rbrew_write32(cpu->mem, _t15, cpu->r[12]); /* 028982F0 */ return; L_028982F4: ; // 0x28982f4 /* 028982F4 */ _t16 = cpu->r[3] + 0x00000030u; /* 028982F4 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]); /* 028982F8 */ return; L_028982FC: ; // 0x28982fc /* 028982FC */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu; /* 02898300 */ _t17 = cpu->r[3] + 0x00000034u; /* 02898300 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]); /* 02898304 */ return; } // fn_02898308 @ 0x2898308 void Gambit_fn_02898308(CPUState* 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_02898308: ; // 0x2898308 /* 02898308 */ _t0 = cpu->r[3] + 0x00000018u; /* 02898308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289830C */ _t1 = cpu->r[3] + 0x0000003Au; /* 0289830C */ cpu->r[10] = rbrew_read8(cpu->mem, _t1); /* 02898310 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02898314 */ _t2 = cpu->r[3] + 0x00000018u; /* 02898314 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 02898318 */ _t3 = cpu->r[12] + 0x00000000u; /* 02898318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0289831C */ _t4 = cpu->r[3] + 0x00000020u; /* 0289831C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02898320 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000002Cu); /* 02898324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000013u); /* 02898328 */ cpu->r[11] = cpu->r[12] + cpu->r[0]; /* 0289832C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289832C */ _t6 = _t5 & 0x00000001u; /* 0289832C */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0289832C */ goto L_02898330; L_02898330: ; // 0x2898330 /* 02898330 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898330 */ _t8 = _t7 & 0x00000001u; /* 02898330 */ if (_t8) goto L_02898350; else goto L_02898334; L_02898334: ; // 0x2898334 /* 02898334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000015u); /* 02898338 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898338 */ _t10 = _t9 & 0x00000001u; /* 02898338 */ if (_t10) goto L_02898358; else goto L_0289833C; L_0289833C: ; // 0x289833c /* 0289833C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289833C */ _t12 = _t11 & 0x00000001u; /* 0289833C */ if (_t12) goto L_02898360; else goto L_02898340; L_02898340: ; // 0x2898340 /* 02898340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000016u); /* 02898344 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898344 */ _t14 = _t13 & 0x00000001u; /* 02898344 */ _t15 = _t14 ^ 0x00000001u; /* 02898344 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02898344 */ goto L_02898348; L_02898348: ; // 0x2898348 /* 02898348 */ _t16 = cpu->r[3] + 0x00000004u; /* 02898348 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]); /* 0289834C */ _t17 = cpu->r[3] + 0x00000008u; /* 0289834C */ rbrew_write32(cpu->mem, _t17, cpu->r[11]); L_02898350: ; // 0x2898350 /* 02898350 */ _t18 = cpu->r[3] + 0x00000000u; /* 02898350 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]); /* 02898354 */ return; L_02898358: ; // 0x2898358 /* 02898358 */ _t19 = cpu->r[3] + 0x00000004u; /* 02898358 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]); /* 0289835C */ return; L_02898360: ; // 0x2898360 /* 02898360 */ _t20 = cpu->r[3] + 0x00000008u; /* 02898360 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); /* 02898364 */ return; } // fn_02898368 @ 0x2898368 void Gambit_fn_02898368(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02898368: ; // 0x2898368 /* 02898368 */ _t0 = cpu->r[3] + 0x00000024u; /* 02898368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0); /* 0289836C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x00000019u); /* 02898370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02898374 */ cpu->r[12] = cpu->r[8] + 0x00000060u; /* 02898378 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898378 */ _t2 = _t1 & 0x00000001u; /* 02898378 */ if (_t2) goto L_028983E4; else goto L_0289837C; L_0289837C: ; // 0x289837c /* 0289837C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000000u); /* 02898380 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898380 */ _t4 = _t3 & 0x00000001u; /* 02898380 */ if (_t4) goto L_0289839C; else goto L_02898384; L_02898384: ; // 0x2898384 /* 02898384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u); /* 02898388 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898388 */ _t6 = _t5 & 0x00000001u; /* 02898388 */ if (_t6) goto L_028983C0; else goto L_0289838C; L_0289838C: ; // 0x289838c /* 0289838C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000080u); /* 02898390 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898390 */ _t8 = _t7 & 0x00000001u; /* 02898390 */ if (_t8) goto L_028983C0; else goto L_02898394; L_02898394: ; // 0x2898394 /* 02898394 */ cpu->r[11] = 0x000003E7u; /* 02898398 */ goto L_028983C4; L_0289839C: ; // 0x289839c /* 0289839C */ cpu->r[9] = 0xFFFFFFE0u; /* 028983A0 */ cpu->r[11] = 0x00000020u; /* 028983A4 */ _t9 = cpu->r[12] + 0x0000001Cu; /* 028983A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 028983A8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Au, 0x0000001Bu); /* 028983A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028983AC */ _t10 = cpu->r[12] + 0x00000024u; /* 028983AC */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[11]); /* 028983B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028983B0 */ _t12 = _t11 & 0x00000001u; /* 028983B0 */ if (_t12) goto L_028983B4; else goto L_0289844C; L_028983B4: ; // 0x28983b4 /* 028983B4 */ cpu->r[7] = 0x00000000u; /* 028983B8 */ _t13 = cpu->r[12] + 0x00000026u; /* 028983B8 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[7]); /* 028983BC */ goto L_028984C8; L_028983C0: ; // 0x28983c0 /* 028983C0 */ /* nop */ L_028983C4: ; // 0x28983c4 /* 028983C4 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu; /* 028983C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028983CC */ _t14 = cpu->r[0] | cpu->r[0]; /* 028983CC */ cpu->r[9] = ~_t14; /* 028983D0 */ _t15 = cpu->r[12] + 0x0000001Cu; /* 028983D0 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]); /* 028983D4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Au, 0x0000001Bu); /* 028983D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028983D8 */ _t16 = cpu->r[12] + 0x00000024u; /* 028983D8 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[11]); /* 028983DC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028983DC */ _t18 = _t17 & 0x00000001u; /* 028983DC */ if (_t18) goto L_028983B4; else goto L_028983E0; L_028983E0: ; // 0x28983e0 /* 028983E0 */ goto L_0289844C; L_028983E4: ; // 0x28983e4 /* 028983E4 */ cpu->r[10] = 0x2D410000u; /* 028983E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000000u); /* 028983EC */ cpu->r[10] = cpu->r[10] + 0x00003CCDu; /* 028983F0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028983F0 */ _t20 = _t19 & 0x00000001u; /* 028983F0 */ if (_t20) goto L_02898420; else goto L_028983F4; L_028983F4: ; // 0x28983f4 /* 028983F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u); /* 028983F8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 028983F8 */ _t22 = _t21 & 0x00000001u; /* 028983F8 */ if (_t22) goto L_0289840C; else goto L_028983FC; L_028983FC: ; // 0x28983fc /* 028983FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000080u); /* 02898400 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898400 */ _t24 = _t23 & 0x00000001u; /* 02898400 */ if (_t24) goto L_0289842C; else goto L_02898404; L_02898404: ; // 0x2898404 /* 02898404 */ cpu->r[10] = 0x000003E7u; /* 02898408 */ goto L_02898434; L_0289840C: ; // 0x289840c /* 0289840C */ cpu->r[7] = cpu->r[10] + 0x00800000u; /* 02898410 */ _t25 = cpu->r[12] + 0x00000020u; /* 02898410 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]); /* 02898414 */ /* nop */ /* 02898418 */ _t26 = cpu->r[12] + 0x00000024u; /* 02898418 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[8]); /* 0289841C */ goto L_02898444; L_02898420: ; // 0x2898420 /* 02898420 */ cpu->r[10] = 0x16A10000u; /* 02898424 */ cpu->r[10] = cpu->r[10] + 0xFFFF9E66u; /* 02898428 */ goto L_02898434; L_0289842C: ; // 0x289842c /* 0289842C */ cpu->r[10] = 0x5A820000u; /* 02898430 */ cpu->r[10] = cpu->r[10] + 0x0000799Au; L_02898434: ; // 0x2898434 /* 02898434 */ cpu->r[7] = cpu->r[10] + 0x00800000u; /* 02898438 */ _t27 = cpu->r[12] + 0x00000020u; /* 02898438 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]); /* 0289843C */ /* nop */ /* 02898440 */ _t28 = cpu->r[12] + 0x00000024u; /* 02898440 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[8]); L_02898444: ; // 0x2898444 /* 02898444 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Au, 0x0000001Bu); /* 02898444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02898448 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898448 */ _t30 = _t29 & 0x00000001u; /* 02898448 */ if (_t30) goto L_028983B4; else goto L_0289844C; L_0289844C: ; // 0x289844c /* 0289844C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u); /* 02898450 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898450 */ _t32 = _t31 & 0x00000001u; /* 02898450 */ if (_t32) goto L_02898488; else goto L_02898454; L_02898454: ; // 0x2898454 /* 02898454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000020u); /* 02898458 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898458 */ _t34 = _t33 & 0x00000001u; /* 02898458 */ if (_t34) goto L_0289849C; else goto L_0289845C; L_0289845C: ; // 0x289845c /* 0289845C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000030u); /* 02898460 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898460 */ _t36 = _t35 & 0x00000001u; /* 02898460 */ if (_t36) goto L_028984B0; else goto L_02898464; L_02898464: ; // 0x2898464 /* 02898464 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02898464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02898468 */ _t37 = cpu->r[12] + 0x00000024u; /* 02898468 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t37); /* 0289846C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289846C */ _t39 = _t38 & 0x00000001u; /* 0289846C */ if (_t39) goto L_028984D4; else goto L_02898470; L_02898470: ; // 0x2898470 /* 02898470 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFCu; /* 02898474 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[10]); /* 02898478 */ cpu->r[0] = cpu->r[8] + 0x00000004u; /* 0289847C */ /* nop */ /* 02898480 */ _t40 = cpu->r[12] + 0x00000028u; /* 02898480 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[9]); /* 02898484 */ return; L_02898488: ; // 0x2898488 /* 02898488 */ _t41 = cpu->r[12] + 0x00000024u; /* 02898488 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t41); /* 0289848C */ cpu->r[0] = cpu->r[11] + 0x00000002u; /* 02898490 */ /* nop */ /* 02898494 */ _t42 = cpu->r[12] + 0x00000026u; /* 02898494 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[7]); /* 02898498 */ goto L_028984C8; L_0289849C: ; // 0x289849c /* 0289849C */ _t43 = cpu->r[12] + 0x00000024u; /* 0289849C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t43); /* 028984A0 */ cpu->r[7] = cpu->r[8] + 0x00000001u; /* 028984A4 */ /* nop */ /* 028984A8 */ _t44 = cpu->r[12] + 0x00000026u; /* 028984A8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[7]); /* 028984AC */ goto L_028984C8; L_028984B0: ; // 0x28984b0 /* 028984B0 */ _t45 = cpu->r[12] + 0x00000024u; /* 028984B0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t45); /* 028984B4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028984B8 */ cpu->r[10] = cpu->r[9] + cpu->r[7]; /* 028984BC */ cpu->r[11] = cpu->r[10] + 0x00000002u; /* 028984C0 */ /* nop */ /* 028984C4 */ _t46 = cpu->r[12] + 0x00000026u; /* 028984C4 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[7]); L_028984C8: ; // 0x28984c8 /* 028984C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 028984C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028984CC */ _t47 = cpu->r[12] + 0x00000024u; /* 028984CC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t47); /* 028984D0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 028984D0 */ _t49 = _t48 & 0x00000001u; /* 028984D0 */ if (_t49) goto L_028984D4; else goto L_02898470; L_028984D4: ; // 0x28984d4 /* 028984D4 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFFu; /* 028984D8 */ _t50 = cpu->r[12] + 0x00000028u; /* 028984D8 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[9]); /* 028984DC */ return; } // fn_028984E0 @ 0x28984e0 void Gambit_fn_028984E0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028984E0: ; // 0x28984e0 /* 028984E0 */ cpu->r[0] = cpu->lr; /* 028984E4 */ _t0 = cpu->r[1] + 0x00000004u; /* 028984E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028984E8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028984E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028984E8 */ cpu->r[1] = _t1; /* 028984EC */ _t2 = cpu->r[3] + 0x00000018u; /* 028984EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 028984F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 028984F4 */ _t3 = cpu->r[3] + 0x00000018u; /* 028984F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 028984F8 */ _t4 = cpu->r[12] + 0x00000000u; /* 028984F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4); /* 028984FC */ cpu->r[5] = 0x00000001u; /* 02898500 */ _t5 = cpu->r[3] + 0x00000024u; /* 02898500 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 02898504 */ Gambit_fn_02898368(cpu); /* 02898508 */ cpu->r[0] = 0x00000000u; /* 0289850C */ _t6 = cpu->r[6] + 0x00000078u; /* 0289850C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02898510 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02898510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02898514 */ cpu->lr = cpu->r[0]; /* 02898518 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289851C */ return; } // fn_028984E8 @ 0x28984e8 void Gambit_fn_028984E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_028984E8: ; // 0x28984e8 /* 028984E8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028984E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028984E8 */ cpu->r[1] = _t0; /* 028984EC */ _t1 = cpu->r[3] + 0x00000018u; /* 028984EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 028984F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 028984F4 */ _t2 = cpu->r[3] + 0x00000018u; /* 028984F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 028984F8 */ _t3 = cpu->r[12] + 0x00000000u; /* 028984F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 028984FC */ cpu->r[5] = 0x00000001u; /* 02898500 */ _t4 = cpu->r[3] + 0x00000024u; /* 02898500 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 02898504 */ Gambit_fn_02898368(cpu); /* 02898508 */ cpu->r[0] = 0x00000000u; /* 0289850C */ _t5 = cpu->r[6] + 0x00000078u; /* 0289850C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02898510 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02898510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02898514 */ cpu->lr = cpu->r[0]; /* 02898518 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289851C */ return; } // fn_02898520 @ 0x2898520 void Gambit_fn_02898520(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02898520: ; // 0x2898520 /* 02898520 */ cpu->r[0] = cpu->lr; /* 02898524 */ _t0 = cpu->r[1] + 0x00000004u; /* 02898524 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02898528 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02898528 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02898528 */ cpu->r[1] = _t1; /* 0289852C */ _t2 = cpu->r[3] + 0x00000018u; /* 0289852C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02898530 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02898534 */ _t3 = cpu->r[3] + 0x00000018u; /* 02898534 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 02898538 */ _t4 = cpu->r[12] + 0x00000000u; /* 02898538 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4); /* 0289853C */ cpu->r[5] = 0x00000000u; /* 02898540 */ _t5 = cpu->r[3] + 0x00000024u; /* 02898540 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 02898544 */ Gambit_fn_02898368(cpu); /* 02898548 */ cpu->r[0] = 0x00000001u; /* 0289854C */ _t6 = cpu->r[6] + 0x00000078u; /* 0289854C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02898550 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02898550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02898554 */ cpu->lr = cpu->r[0]; /* 02898558 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289855C */ return; } // fn_02898528 @ 0x2898528 void Gambit_fn_02898528(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02898528: ; // 0x2898528 /* 02898528 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02898528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02898528 */ cpu->r[1] = _t0; /* 0289852C */ _t1 = cpu->r[3] + 0x00000018u; /* 0289852C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02898530 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02898534 */ _t2 = cpu->r[3] + 0x00000018u; /* 02898534 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 02898538 */ _t3 = cpu->r[12] + 0x00000000u; /* 02898538 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 0289853C */ cpu->r[5] = 0x00000000u; /* 02898540 */ _t4 = cpu->r[3] + 0x00000024u; /* 02898540 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 02898544 */ Gambit_fn_02898368(cpu); /* 02898548 */ cpu->r[0] = 0x00000001u; /* 0289854C */ _t5 = cpu->r[6] + 0x00000078u; /* 0289854C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02898550 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02898550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02898554 */ cpu->lr = cpu->r[0]; /* 02898558 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289855C */ return; } // fn_02898560 @ 0x2898560 void Gambit_fn_02898560(CPUState* cpu) { 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_02898560: ; // 0x2898560 /* 02898560 */ _t0 = cpu->r[3] + 0x0000003Au; /* 02898560 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 02898564 */ _t1 = cpu->r[3] + 0x00000024u; /* 02898564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02898568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000007Au); /* 0289856C */ cpu->r[11] = cpu->r[12] + 0x00000078u; /* 02898570 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898570 */ _t3 = _t2 & 0x00000001u; /* 02898570 */ if (_t3) goto L_02898574; else goto L_02898590; L_02898574: ; // 0x2898574 /* 02898574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000018u); /* 02898578 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898578 */ _t5 = _t4 & 0x00000001u; /* 02898578 */ if (_t5) goto L_028985AC; else goto L_0289857C; L_0289857C: ; // 0x289857c /* 0289857C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000019u); /* 02898580 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898580 */ _t7 = _t6 & 0x00000001u; /* 02898580 */ if (_t7) goto L_028985B8; else goto L_02898584; L_02898584: ; // 0x2898584 /* 02898584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000003Du); /* 02898588 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898588 */ _t9 = _t8 & 0x00000001u; /* 02898588 */ if (_t9) goto L_028985C4; else goto L_0289858C; L_0289858C: ; // 0x289858c /* 0289858C */ return; L_02898590: ; // 0x2898590 /* 02898590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000007Au); /* 02898594 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898594 */ _t11 = _t10 & 0x00000001u; /* 02898594 */ if (_t11) goto L_028985D0; else goto L_02898598; L_02898598: ; // 0x2898598 /* 02898598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000007Cu); /* 0289859C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289859C */ _t13 = _t12 & 0x00000001u; /* 0289859C */ if (_t13) goto L_028985E8; else goto L_028985A0; L_028985A0: ; // 0x28985a0 /* 028985A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000007Du); /* 028985A4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028985A4 */ _t15 = _t14 & 0x00000001u; /* 028985A4 */ if (_t15) goto L_028985DC; else goto L_028985A8; L_028985A8: ; // 0x28985a8 /* 028985A8 */ return; L_028985AC: ; // 0x28985ac /* 028985AC */ cpu->r[0] = 0x00000002u; /* 028985B0 */ _t16 = cpu->r[11] + 0x00000000u; /* 028985B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 028985B4 */ return; L_028985B8: ; // 0x28985b8 /* 028985B8 */ cpu->r[0] = 0x00000003u; /* 028985BC */ _t17 = cpu->r[11] + 0x00000000u; /* 028985BC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 028985C0 */ return; L_028985C4: ; // 0x28985c4 /* 028985C4 */ cpu->r[0] = 0x00000004u; /* 028985C8 */ _t18 = cpu->r[11] + 0x00000000u; /* 028985C8 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]); /* 028985CC */ return; L_028985D0: ; // 0x28985d0 /* 028985D0 */ cpu->r[0] = 0x00000005u; /* 028985D4 */ _t19 = cpu->r[11] + 0x00000000u; /* 028985D4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 028985D8 */ return; L_028985DC: ; // 0x28985dc /* 028985DC */ cpu->r[0] = 0x00000006u; /* 028985E0 */ _t20 = cpu->r[11] + 0x00000000u; /* 028985E0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]); /* 028985E4 */ return; L_028985E8: ; // 0x28985e8 /* 028985E8 */ cpu->r[0] = 0x00000007u; /* 028985EC */ _t21 = cpu->r[11] + 0x00000000u; /* 028985EC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028985F0 */ return; } // fn_028985F4 @ 0x28985f4 void Gambit_fn_028985F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_028985F4: ; // 0x28985f4 /* 028985F4 */ _t0 = cpu->r[3] + 0x00000020u; /* 028985F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0); /* 028985F8 */ _t1 = cpu->r[8] + 0x00000054u; /* 028985F8 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 028985FC */ _t2 = cpu->r[8] + 0x0000004Cu; /* 028985FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 02898600 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02898604 */ cpu->r[9] = cpu->r[10] + cpu->r[0]; /* 02898608 */ _t3 = cpu->r[3] + 0x00000018u; /* 02898608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0289860C */ _t4 = cpu->r[9] + 0xFFFFFFFEu; /* 0289860C */ cpu->r[11] = rbrew_read16(cpu->mem, _t4); /* 02898610 */ cpu->r[6] = cpu->r[12] + 0x00000004u; /* 02898614 */ cpu->r[0] = cpu->r[11] + 0x00000001u; /* 02898618 */ _t5 = cpu->r[8] + 0x00000034u; /* 02898618 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289861C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898620 */ _t6 = cpu->r[3] + 0x00000018u; /* 02898620 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]); /* 02898624 */ cpu->r[7] = cpu->r[10] + cpu->r[0]; /* 02898628 */ _t7 = cpu->r[10] + cpu->r[0]; /* 02898628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0289862C */ _t8 = cpu->r[7] + 0x00000004u; /* 0289862C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 02898630 */ cpu->r[8] = cpu->r[9] - cpu->r[10]; /* 02898634 */ _t9 = cpu->r[12] + 0x00000000u; /* 02898634 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); /* 02898638 */ return; } // fn_0289863C @ 0x289863c void Gambit_fn_0289863C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0289863C: ; // 0x289863c /* 0289863C */ _t0 = cpu->r[3] + 0x00000018u; /* 0289863C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02898640 */ _t1 = cpu->r[11] + 0xFFFFFFFCu; /* 02898640 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02898644 */ cpu->r[0] = cpu->r[11] + 0x00000004u; /* 02898648 */ _t2 = cpu->r[3] + 0x00000018u; /* 02898648 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0289864C */ _t3 = cpu->r[11] + 0x00000000u; /* 0289864C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 02898650 */ return; } // fn_02898654 @ 0x2898654 void Gambit_fn_02898654(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_02898654: ; // 0x2898654 /* 02898654 */ _t0 = cpu->r[3] + 0x00000024u; /* 02898654 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02898658 */ _t1 = cpu->r[12] + 0x00000004u; /* 02898658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 0289865C */ _t2 = cpu->r[3] + 0x00000018u; /* 0289865C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02898660 */ return; } // fn_02898664 @ 0x2898664 void Gambit_fn_02898664(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_02898664: ; // 0x2898664 /* 02898664 */ _t0 = cpu->r[3] + 0x00000018u; /* 02898664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02898668 */ _t1 = cpu->r[12] + 0xFFFFFFFCu; /* 02898668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 0289866C */ _t2 = cpu->r[12] + 0xFFFFFFF8u; /* 0289866C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289866C */ cpu->r[12] = _t2; /* 02898670 */ _t3 = cpu->r[12] + 0x00000000u; /* 02898670 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02898674 */ _t4 = cpu->r[12] + 0x00000004u; /* 02898674 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]); /* 02898678 */ return; } // fn_0289867C @ 0x289867c void Gambit_fn_0289867C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0289867C: ; // 0x289867c /* 0289867C */ _t0 = cpu->r[3] + 0x00000024u; /* 0289867C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 02898680 */ _t1 = cpu->r[3] + 0x00000018u; /* 02898680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02898684 */ _t2 = cpu->r[10] + 0x00000004u; /* 02898684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02898688 */ cpu->r[0] = cpu->r[12] - cpu->r[0]; /* 0289868C */ cpu->r[11] = cpu->r[12] + 0x00000004u; /* 02898690 */ /* nop */ /* 02898694 */ _t3 = cpu->r[3] + 0x00000018u; /* 02898694 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 02898698 */ _t4 = cpu->r[12] + 0x00000000u; /* 02898698 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289869C */ return; } // fn_028986A0 @ 0x28986a0 void Gambit_fn_028986A0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_028986A0: ; // 0x28986a0 /* 028986A0 */ _t0 = cpu->r[3] + 0x00000018u; /* 028986A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028986A4 */ _t1 = cpu->r[12] + 0xFFFFFFFCu; /* 028986A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 028986A4 */ cpu->r[12] = _t1; /* 028986A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028986AC */ cpu->r[11] = cpu->r[12] - cpu->r[0]; /* 028986B0 */ _t2 = cpu->r[11] + 0x00000000u; /* 028986B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 028986B4 */ _t3 = cpu->r[12] + 0x00000000u; /* 028986B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028986B8 */ return; } // fn_028986BC @ 0x28986bc void Gambit_fn_028986BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028986BC: ; // 0x28986bc /* 028986BC */ _t0 = cpu->r[3] + 0x00000018u; /* 028986BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 028986C0 */ _t1 = cpu->r[9] + 0xFFFFFFFCu; /* 028986C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 028986C0 */ cpu->r[9] = _t1; /* 028986C4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028986C8 */ cpu->r[8] = cpu->r[9] - cpu->r[7]; /* 028986CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028986D0 */ _t2 = cpu->r[8] + 0x00000000u; /* 028986D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 028986D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028986D4 */ _t4 = _t3 & 0x00000001u; /* 028986D4 */ if (_t4) goto L_028986FC; else goto L_028986D8; L_028986D8: ; // 0x28986d8 /* 028986D8 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 028986D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028986DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028986DC */ _t6 = _t5 & 0x00000001u; /* 028986DC */ if (_t6) goto L_028986E0; else goto L_028986E4; L_028986E0: ; // 0x28986e0 /* 028986E0 */ cpu->r[12] = 0x00000001u; L_028986E4: ; // 0x28986e4 /* 028986E4 */ cpu->ctr = cpu->r[12]; L_028986E8: ; // 0x28986e8 /* 028986E8 */ _t7 = cpu->r[8] + 0x00000004u; /* 028986E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028986EC */ _t8 = cpu->r[8] + 0x00000000u; /* 028986EC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]); /* 028986F0 */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 028986F4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028986F4 */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028986F4 */ _t10 = _t9 >> (0x00000002u & 31u); /* 028986F4 */ _t11 = _t10 & 0x00000001u; /* 028986F4 */ if (_t11) goto L_028986E8; else goto L_028986F8; L_028986F8: ; // 0x28986f8 /* 028986F8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; L_028986FC: ; // 0x28986fc /* 028986FC */ _t12 = cpu->r[9] + 0x00000000u; /* 028986FC */ rbrew_write32(cpu->mem, _t12, cpu->r[6]); /* 02898700 */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 02898704 */ _t13 = cpu->r[3] + 0x00000018u; /* 02898704 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]); /* 02898708 */ return; } // fn_0289870C @ 0x289870c void Gambit_fn_0289870C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0289870C: ; // 0x289870c /* 0289870C */ _t0 = cpu->r[3] + 0x00000018u; /* 0289870C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02898710 */ _t1 = cpu->r[12] + 0xFFFFFFFCu; /* 02898710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 02898714 */ _t2 = cpu->r[12] + 0xFFFFFFF8u; /* 02898714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 02898714 */ cpu->r[12] = _t2; /* 02898718 */ _t3 = cpu->r[12] + 0x00000000u; /* 02898718 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289871C */ _t4 = cpu->r[12] + 0xFFFFFFFCu; /* 0289871C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0289871C */ cpu->r[12] = _t4; /* 02898720 */ _t5 = cpu->r[12] + 0x00000000u; /* 02898720 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 02898724 */ _t6 = cpu->r[12] + 0x00000008u; /* 02898724 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02898728 */ return; } // fn_0289872C @ 0x289872c void Gambit_fn_0289872C(CPUState* cpu) { uint32_t _t0, _t1; L_0289872C: ; // 0x289872c /* 0289872C */ cpu->r[12] = cpu->r[3]; /* 02898730 */ cpu->r[3] = cpu->r[4]; /* 02898734 */ cpu->r[4] = cpu->r[5]; /* 02898738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000007u); /* 0289873C */ cpu->r[5] = cpu->r[6]; /* 02898740 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u); /* 02898740 */ _t1 = _t0 & 0x00000001u; /* 02898740 */ if (_t1) goto L_0289879C; else goto L_02898744; L_02898744: ; // 0x2898744 /* 02898744 */ cpu->r[0] = 0x028A0000u; /* 02898748 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289874C */ cpu->r[0] = cpu->r[0] + 0xFFFF875Cu; /* 02898750 */ cpu->r[0] = cpu->r[12] + cpu->r[0]; /* 02898754 */ cpu->ctr = cpu->r[0]; /* 02898758 */ rbrew_dispatch(cpu, cpu->ctr); return; L_0289879C: ; // 0x289879c /* 0289879C */ cpu->r[3] = 0x00000000u; /* 028987A0 */ return; } // fn_028987A4 @ 0x28987a4 void Gambit_fn_028987A4(CPUState* cpu) { 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_028987A4: ; // 0x28987a4 /* 028987A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028987A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028987A4 */ cpu->r[1] = _t0; /* 028987A8 */ /* nop */ /* 028987AC */ cpu->r[0] = cpu->lr; /* 028987B0 */ _t1 = cpu->r[1] + 0x00000024u; /* 028987B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028987B4 */ cpu->r[27] = cpu->r[3]; /* 028987B8 */ _t2 = cpu->r[27] + 0x00000018u; /* 028987B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 028987BC */ _t3 = cpu->r[27] + 0x00000024u; /* 028987BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 028987C0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFCu; /* 028987C4 */ _t4 = cpu->r[27] + 0x0000003Au; /* 028987C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4); /* 028987C8 */ _t5 = cpu->r[27] + 0x00000018u; /* 028987C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]); /* 028987CC */ _t6 = cpu->r[7] + 0x00000000u; /* 028987CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 028987D0 */ _t7 = cpu->r[27] + 0x00000000u; /* 028987D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 028987D4 */ cpu->r[30] = cpu->r[5] + 0x00000060u; /* 028987D8 */ cpu->r[28] = 0x00000000u; /* 028987DC */ _t8 = cpu->r[27] + 0x0000002Cu; /* 028987DC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 028987E0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028987E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028987E4 */ _t9 = cpu->r[27] + 0x00000028u; /* 028987E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]); /* 028987E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028987E8 */ _t11 = _t10 & 0x00000001u; /* 028987E8 */ if (_t11) goto L_02898830; else goto L_028987EC; L_028987EC: ; // 0x28987ec /* 028987EC */ _t12 = cpu->r[27] + 0x00000044u; /* 028987EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 028987F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028987F4 */ _t13 = cpu->r[29] + 0x00000000u; /* 028987F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 028987F8 */ cpu->ctr = cpu->r[11]; /* 028987FC */ _t14 = cpu->r[29] + 0x00000004u; /* 028987FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t14); /* 02898800 */ _t15 = cpu->r[12] + cpu->r[0]; /* 02898800 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15); /* 02898804 */ _t16 = cpu->r[6] + cpu->r[0]; /* 02898804 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 02898808 */ cpu->r[3] = cpu->r[27]; /* 0289880C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02898810 */ _t17 = cpu->r[27] + 0x00000024u; /* 02898810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 02898814 */ cpu->r[28] = cpu->r[3]; /* 02898818 */ _t18 = cpu->r[30] + 0x00000018u; /* 02898818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 0289881C */ cpu->r[4] = cpu->r[28]; /* 02898820 */ _t19 = cpu->r[12] + 0x0000001Cu; /* 02898820 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19); /* 02898824 */ cpu->r[6] = cpu->r[27]; /* 02898828 */ Gambit_fn_0289872C(cpu); /* 0289882C */ cpu->r[28] = cpu->r[3] - cpu->r[28]; L_02898830: ; // 0x2898830 /* 02898830 */ _t20 = cpu->r[27] + 0x00000040u; /* 02898830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02898834 */ cpu->ctr = cpu->r[0]; /* 02898838 */ cpu->r[6] = cpu->r[28]; /* 0289883C */ cpu->r[5] = cpu->r[31]; /* 02898840 */ cpu->r[4] = cpu->r[29]; /* 02898844 */ cpu->r[3] = cpu->r[27]; /* 02898848 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289884C */ /* nop */ /* 02898850 */ _t21 = cpu->r[1] + 0x00000024u; /* 02898850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 02898854 */ cpu->lr = cpu->r[0]; /* 02898858 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0289885C */ return; } // fn_02898860 @ 0x2898860 void Gambit_fn_02898860(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02898860: ; // 0x2898860 /* 02898860 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02898860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02898860 */ cpu->r[1] = _t0; /* 02898864 */ /* nop */ /* 02898868 */ cpu->r[0] = cpu->lr; /* 0289886C */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289886C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02898870 */ _t2 = cpu->r[3] + 0x00000018u; /* 02898870 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02898874 */ _t3 = cpu->r[3] + 0x0000004Cu; /* 02898874 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 02898878 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289887C */ _t4 = cpu->r[3] + 0x00000024u; /* 0289887C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 02898880 */ cpu->ctr = cpu->r[8]; /* 02898884 */ _t5 = cpu->r[3] + 0x00000000u; /* 02898884 */ cpu->r[28] = rbrew_read32(cpu->mem, _t5); /* 02898888 */ _t6 = cpu->r[3] + 0x00000018u; /* 02898888 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]); /* 0289888C */ cpu->r[29] = cpu->r[7] + 0x00000060u; /* 02898890 */ _t7 = cpu->r[9] + 0x00000000u; /* 02898890 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 02898894 */ cpu->r[31] = cpu->r[3]; /* 02898898 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289889C */ _t8 = cpu->r[31] + 0x00000018u; /* 0289889C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028988A0 */ _t9 = cpu->r[31] + 0x00000020u; /* 028988A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028988A4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 028988A8 */ _t10 = cpu->r[31] + 0x00000018u; /* 028988A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 028988AC */ _t11 = cpu->r[10] + 0x00000000u; /* 028988AC */ cpu->r[27] = rbrew_read32(cpu->mem, _t11); /* 028988B0 */ cpu->r[26] = cpu->r[3]; /* 028988B4 */ _t12 = cpu->r[31] + 0x00000028u; /* 028988B4 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]); /* 028988B8 */ cpu->r[30] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028988BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 028988C0 */ _t13 = cpu->r[31] + 0x0000002Cu; /* 028988C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[27]); /* 028988C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028988C4 */ _t15 = _t14 & 0x00000001u; /* 028988C4 */ if (_t15) goto L_028988C8; else goto L_02898908; L_028988C8: ; // 0x28988c8 /* 028988C8 */ _t16 = cpu->r[31] + 0x0000000Cu; /* 028988C8 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 028988CC */ cpu->r[5] = 0x0000000Eu; /* 028988D0 */ cpu->r[3] = cpu->r[26]; /* 028988D4 */ Gambit_fn_0287B904(cpu); /* 028988D8 */ _t17 = cpu->r[28] + 0x00000008u; /* 028988D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028988DC */ _t18 = cpu->r[12] + cpu->r[30]; /* 028988DC */ rbrew_write32(cpu->mem, _t18, cpu->r[3]); /* 028988E0 */ _t19 = cpu->r[28] + 0x00000000u; /* 028988E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 028988E4 */ _t20 = cpu->r[12] + cpu->r[30]; /* 028988E4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]); /* 028988E8 */ _t21 = cpu->r[28] + 0x0000000Cu; /* 028988E8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 028988EC */ cpu->r[3] = cpu->r[26]; /* 028988F0 */ _t22 = cpu->r[31] + 0x0000000Eu; /* 028988F0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t22); /* 028988F4 */ cpu->r[5] = 0x0000000Eu; /* 028988F8 */ _t23 = cpu->r[28] + 0x00000004u; /* 028988F8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t23); /* 028988FC */ Gambit_fn_0287B904(cpu); /* 02898900 */ _t24 = cpu->r[25] + cpu->r[30]; /* 02898900 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]); /* 02898904 */ _t25 = cpu->r[24] + cpu->r[30]; /* 02898904 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]); L_02898908: ; // 0x2898908 /* 02898908 */ _t26 = cpu->r[31] + 0x00000044u; /* 02898908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0289890C */ _t27 = cpu->r[28] + 0x00000004u; /* 0289890C */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 02898910 */ cpu->ctr = cpu->r[0]; /* 02898914 */ _t28 = cpu->r[28] + 0x00000000u; /* 02898914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28); /* 02898918 */ _t29 = cpu->r[9] + cpu->r[30]; /* 02898918 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29); /* 0289891C */ _t30 = cpu->r[7] + cpu->r[30]; /* 0289891C */ cpu->r[4] = rbrew_read32(cpu->mem, _t30); /* 02898920 */ cpu->r[3] = cpu->r[31]; /* 02898924 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02898928 */ _t31 = cpu->r[31] + 0x0000003Au; /* 02898928 */ cpu->r[11] = rbrew_read8(cpu->mem, _t31); /* 0289892C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289892C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02898930 */ cpu->r[30] = cpu->r[3]; /* 02898934 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898934 */ _t33 = _t32 & 0x00000001u; /* 02898934 */ if (_t33) goto L_02898974; else goto L_02898938; L_02898938: ; // 0x2898938 /* 02898938 */ cpu->r[8] = cpu->r[26] - cpu->r[30]; /* 0289893C */ /* nop */ /* 02898940 */ _t34 = cpu->r[29] + 0x00000000u; /* 02898940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02898944 */ cpu->r[8] = cpu->r[8] ^ cpu->r[12]; /* 02898948 */ _t35 = cpu->r[31] + 0x00000024u; /* 02898948 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35); /* 0289894C */ cpu->r[8] = cpu->r[8] - cpu->r[12]; /* 02898950 */ _t36 = cpu->r[29] + 0x00000018u; /* 02898950 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36); /* 02898954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]); /* 02898958 */ _t37 = cpu->r[5] + 0x0000001Cu; /* 02898958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37); /* 0289895C */ _t38 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289895C */ _t39 = _t38 & 0x00000001u; /* 0289895C */ if (_t39) goto L_02898960; else goto L_02898964; L_02898960: ; // 0x2898960 /* 02898960 */ cpu->r[26] = cpu->r[30]; L_02898964: ; // 0x2898964 /* 02898964 */ cpu->r[6] = cpu->r[31]; /* 02898968 */ cpu->r[4] = cpu->r[26]; /* 0289896C */ Gambit_fn_0289872C(cpu); /* 02898970 */ cpu->r[26] = cpu->r[3]; L_02898974: ; // 0x2898974 /* 02898974 */ _t40 = cpu->r[31] + 0x00000040u; /* 02898974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 02898978 */ cpu->ctr = cpu->r[0]; /* 0289897C */ cpu->r[5] = cpu->r[27]; /* 02898980 */ cpu->r[4] = cpu->r[28]; /* 02898984 */ cpu->r[3] = cpu->r[31]; /* 02898988 */ cpu->r[6] = cpu->r[26] - cpu->r[30]; /* 0289898C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02898990 */ /* nop */ /* 02898994 */ _t41 = cpu->r[1] + 0x0000002Cu; /* 02898994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 02898998 */ cpu->lr = cpu->r[0]; /* 0289899C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 028989A0 */ return; } // fn_028989A4 @ 0x28989a4 void Gambit_fn_028989A4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028989A4: ; // 0x28989a4 /* 028989A4 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 028989A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028989A4 */ cpu->r[1] = _t0; /* 028989A8 */ /* nop */ /* 028989AC */ cpu->r[0] = cpu->lr; /* 028989B0 */ _t1 = cpu->r[1] + 0x0000006Cu; /* 028989B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028989B4 */ _t2 = cpu->r[3] + 0x0000003Au; /* 028989B4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t2); /* 028989B8 */ _t3 = cpu->r[3] + 0x00000008u; /* 028989B8 */ cpu->r[22] = rbrew_read32(cpu->mem, _t3); /* 028989BC */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028989BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028989C0 */ _t4 = cpu->r[22] + 0x00000028u; /* 028989C0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 028989C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028989C4 */ _t6 = _t5 & 0x00000001u; /* 028989C4 */ if (_t6) goto L_028989EC; else goto L_028989C8; L_028989C8: ; // 0x28989c8 /* 028989C8 */ _t7 = cpu->r[22] + 0x00000010u; /* 028989C8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t7); /* 028989CC */ cpu->r[14] = 0x00000001u; /* 028989D0 */ _t8 = cpu->r[22] + 0x00000008u; /* 028989D0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t8); /* 028989D4 */ cpu->r[0] = 0x00000000u; /* 028989D8 */ _t9 = cpu->r[22] + 0x00000000u; /* 028989D8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t9); /* 028989DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 028989E0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028989E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 028989E4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028989E4 */ _t12 = _t11 & 0x00000001u; /* 028989E4 */ if (_t12) goto L_028989E8; else goto L_02898DB0; L_028989E8: ; // 0x28989e8 /* 028989E8 */ goto L_02898A0C; L_028989EC: ; // 0x28989ec /* 028989EC */ _t13 = cpu->r[22] + 0x00000014u; /* 028989EC */ cpu->r[25] = rbrew_read32(cpu->mem, _t13); /* 028989F0 */ cpu->r[14] = 0x00000002u; /* 028989F4 */ _t14 = cpu->r[22] + 0x0000000Cu; /* 028989F4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t14); /* 028989F8 */ cpu->r[0] = 0x00000000u; /* 028989FC */ _t15 = cpu->r[22] + 0x00000004u; /* 028989FC */ cpu->r[23] = rbrew_read32(cpu->mem, _t15); /* 02898A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 02898A04 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02898A04 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 02898A08 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898A08 */ _t18 = _t17 & 0x00000001u; /* 02898A08 */ if (_t18) goto L_02898A0C; else goto L_02898DB0; L_02898A0C: ; // 0x2898a0c /* 02898A0C */ cpu->r[9] = 0x00000000u; /* 02898A10 */ _t19 = cpu->r[1] + 0x00000010u; /* 02898A10 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]); /* 02898A14 */ _t20 = cpu->r[22] + 0x00000020u; /* 02898A14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); L_02898A18: ; // 0x2898a18 /* 02898A18 */ _t21 = cpu->r[1] + 0x00000010u; /* 02898A18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 02898A1C */ _t22 = cpu->r[22] + 0x0000001Cu; /* 02898A1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22); /* 02898A20 */ _t23 = cpu->r[10] + cpu->r[8]; /* 02898A20 */ cpu->r[28] = rbrew_read16(cpu->mem, _t23); /* 02898A24 */ _t24 = cpu->r[7] + cpu->r[8]; /* 02898A24 */ cpu->r[12] = rbrew_read16(cpu->mem, _t24); /* 02898A28 */ goto L_02898A30; L_02898A2C: ; // 0x2898a2c /* 02898A2C */ cpu->r[12] = cpu->r[12] + 0x00000001u; L_02898A30: ; // 0x2898a30 /* 02898A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[28]); /* 02898A34 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 02898A34 */ _t26 = _t25 & 0x00000001u; /* 02898A34 */ if (_t26) goto L_02898D90; else goto L_02898A38; L_02898A38: ; // 0x2898a38 /* 02898A38 */ _t27 = cpu->r[22] + 0x00000024u; /* 02898A38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27); /* 02898A3C */ _t28 = cpu->r[4] + cpu->r[12]; /* 02898A3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t28); /* 02898A40 */ cpu->r[9] = cpu->r[0] & cpu->r[14]; /* 02898A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02898A44 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898A44 */ _t30 = _t29 & 0x00000001u; /* 02898A44 */ if (_t30) goto L_02898A2C; else goto L_02898A48; L_02898A48: ; // 0x2898a48 /* 02898A48 */ cpu->r[7] = 0x00010000u; /* 02898A4C */ _t31 = cpu->r[1] + 0x00000018u; /* 02898A4C */ rbrew_write32(cpu->mem, _t31, cpu->r[12]); /* 02898A50 */ cpu->r[7] = cpu->r[7] + 0xFFFF8000u; /* 02898A54 */ _t32 = cpu->r[1] + 0x00000010u; /* 02898A54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 02898A58 */ _t33 = cpu->r[1] + 0x00000014u; /* 02898A58 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]); L_02898A5C: ; // 0x2898a5c /* 02898A5C */ _t34 = cpu->r[10] + cpu->r[31]; /* 02898A5C */ cpu->r[7] = rbrew_read16(cpu->mem, _t34); /* 02898A60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[7]); /* 02898A64 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898A64 */ _t36 = _t35 & 0x00000001u; /* 02898A64 */ if (_t36) goto L_02898A68; else goto L_02898A84; L_02898A68: ; // 0x2898a68 /* 02898A68 */ _t37 = cpu->r[22] + 0x0000001Cu; /* 02898A68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37); /* 02898A6C */ _t38 = cpu->r[11] + cpu->r[31]; /* 02898A6C */ cpu->r[29] = rbrew_read16(cpu->mem, _t38); /* 02898A70 */ _t39 = cpu->r[4] + cpu->r[29]; /* 02898A70 */ cpu->r[6] = rbrew_read8(cpu->mem, _t39); /* 02898A74 */ cpu->r[5] = cpu->r[6] & cpu->r[14]; /* 02898A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02898A78 */ cpu->r[28] = cpu->r[29]; /* 02898A7C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898A7C */ _t41 = _t40 & 0x00000001u; /* 02898A7C */ if (_t41) goto L_02898A98; else goto L_02898A80; L_02898A80: ; // 0x2898a80 /* 02898A80 */ goto L_02898AD0; L_02898A84: ; // 0x2898a84 /* 02898A84 */ cpu->r[29] = cpu->r[12] + 0x00000001u; /* 02898A88 */ _t42 = cpu->r[4] + cpu->r[29]; /* 02898A88 */ cpu->r[6] = rbrew_read8(cpu->mem, _t42); /* 02898A8C */ cpu->r[5] = cpu->r[6] & cpu->r[14]; /* 02898A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02898A90 */ cpu->r[28] = cpu->r[29]; /* 02898A94 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898A94 */ _t44 = _t43 & 0x00000001u; /* 02898A94 */ if (_t44) goto L_02898A98; else goto L_02898AD0; L_02898A98: ; // 0x2898a98 /* 02898A98 */ cpu->r[9] = cpu->r[31]; L_02898A9C: ; // 0x2898a9c /* 02898A9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]); /* 02898AA0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898AA0 */ _t46 = _t45 & 0x00000001u; /* 02898AA0 */ if (_t46) goto L_02898AA4; else goto L_02898AB8; L_02898AA4: ; // 0x2898aa4 /* 02898AA4 */ _t47 = cpu->r[22] + 0x0000001Cu; /* 02898AA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47); /* 02898AA8 */ _t48 = cpu->r[8] + cpu->r[9]; /* 02898AA8 */ cpu->r[29] = rbrew_read16(cpu->mem, _t48); /* 02898AAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[29]); /* 02898AB0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898AB0 */ _t50 = _t49 & 0x00000001u; /* 02898AB0 */ if (_t50) goto L_02898AB4; else goto L_02898AC4; L_02898AB4: ; // 0x2898ab4 /* 02898AB4 */ goto L_02898AD0; L_02898AB8: ; // 0x2898ab8 /* 02898AB8 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 02898ABC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[29]); /* 02898AC0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898AC0 */ _t52 = _t51 & 0x00000001u; /* 02898AC0 */ if (_t52) goto L_02898AD0; else goto L_02898AC4; L_02898AC4: ; // 0x2898ac4 /* 02898AC4 */ _t53 = cpu->r[4] + cpu->r[29]; /* 02898AC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t53); /* 02898AC8 */ cpu->r[11] = cpu->r[0] & cpu->r[14]; /* 02898AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02898ACC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898ACC */ _t55 = _t54 & 0x00000001u; /* 02898ACC */ if (_t55) goto L_02898A9C; else goto L_02898AD0; L_02898AD0: ; // 0x2898ad0 /* 02898AD0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898AD4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898AD8 */ _t56 = cpu->r[25] + cpu->r[9]; /* 02898AD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56); /* 02898ADC */ _t57 = cpu->r[25] + cpu->r[7]; /* 02898ADC */ cpu->r[8] = rbrew_read32(cpu->mem, _t57); /* 02898AE0 */ _t58 = cpu->r[24] + cpu->r[9]; /* 02898AE0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t58); /* 02898AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[8]); /* 02898AE8 */ _t59 = cpu->r[23] + cpu->r[9]; /* 02898AE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59); /* 02898AEC */ _t60 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898AEC */ _t61 = _t60 & 0x00000001u; /* 02898AEC */ if (_t61) goto L_02898AF0; else goto L_02898B20; L_02898AF0: ; // 0x2898af0 /* 02898AF0 */ _t62 = cpu->r[23] + cpu->r[7]; /* 02898AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 02898AF4 */ cpu->r[18] = cpu->r[5]; /* 02898AF8 */ cpu->r[27] = cpu->r[26]; /* 02898AFC */ _t63 = cpu->r[24] + cpu->r[7]; /* 02898AFC */ cpu->r[26] = rbrew_read32(cpu->mem, _t63); /* 02898B00 */ cpu->r[21] = cpu->r[0] - cpu->r[18]; /* 02898B04 */ cpu->r[19] = cpu->r[11]; /* 02898B08 */ cpu->r[20] = cpu->r[0] - cpu->r[26]; /* 02898B0C */ cpu->r[0] = cpu->r[18] - cpu->r[27]; /* 02898B10 */ cpu->r[17] = cpu->r[8] - cpu->r[19]; /* 02898B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 02898B14 */ cpu->r[16] = cpu->r[0]; /* 02898B18 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898B18 */ _t65 = _t64 & 0x00000001u; /* 02898B18 */ if (_t65) goto L_02898D1C; else goto L_02898B1C; L_02898B1C: ; // 0x2898b1c /* 02898B1C */ goto L_02898B44; L_02898B20: ; // 0x2898b20 /* 02898B20 */ _t66 = cpu->r[23] + cpu->r[7]; /* 02898B20 */ cpu->r[18] = rbrew_read32(cpu->mem, _t66); /* 02898B24 */ _t67 = cpu->r[24] + cpu->r[7]; /* 02898B24 */ cpu->r[27] = rbrew_read32(cpu->mem, _t67); /* 02898B28 */ cpu->r[21] = cpu->r[5] - cpu->r[18]; /* 02898B2C */ cpu->r[19] = cpu->r[8]; /* 02898B30 */ cpu->r[0] = cpu->r[18] - cpu->r[27]; /* 02898B34 */ cpu->r[17] = cpu->r[11] - cpu->r[19]; /* 02898B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 02898B38 */ cpu->r[20] = cpu->r[5] - cpu->r[26]; /* 02898B3C */ cpu->r[16] = cpu->r[0]; /* 02898B40 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898B40 */ _t69 = _t68 & 0x00000001u; /* 02898B40 */ if (_t69) goto L_02898D1C; else goto L_02898B44; L_02898B44: ; // 0x2898b44 /* 02898B44 */ _t70 = cpu->r[1] + 0x00000014u; /* 02898B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70); /* 02898B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[0]); /* 02898B4C */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898B4C */ _t72 = _t71 & 0x00000001u; /* 02898B4C */ if (_t72) goto L_02898B50; else goto L_02898C38; L_02898B50: ; // 0x2898b50 /* 02898B50 */ _t73 = cpu->r[1] + 0x00000014u; /* 02898B50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73); /* 02898B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[11]); /* 02898B58 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898B58 */ _t75 = _t74 & 0x00000001u; /* 02898B58 */ if (_t75) goto L_02898B5C; else goto L_02898C38; L_02898B5C: ; // 0x2898b5c /* 02898B5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02898B60 */ /* nop */ /* 02898B64 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898B64 */ _t77 = _t76 & 0x00000001u; /* 02898B64 */ if (_t77) goto L_02898D74; else goto L_02898B68; L_02898B68: ; // 0x2898b68 /* 02898B68 */ _t78 = cpu->r[1] + 0x00000014u; /* 02898B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78); /* 02898B6C */ cpu->r[11] = cpu->r[31]; L_02898B70: ; // 0x2898b70 /* 02898B70 */ cpu->r[15] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898B74 */ _t79 = cpu->r[24] + cpu->r[15]; /* 02898B74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t79); /* 02898B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[27]); /* 02898B7C */ _t80 = cpu->cr[0] >> (0x00000002u & 31u); /* 02898B7C */ _t81 = _t80 & 0x00000001u; /* 02898B7C */ if (_t81) goto L_02898B9C; else goto L_02898B80; L_02898B80: ; // 0x2898b80 /* 02898B80 */ cpu->r[5] = cpu->r[5] + cpu->r[16]; /* 02898B84 */ _t82 = cpu->r[23] + cpu->r[15]; /* 02898B84 */ rbrew_write32(cpu->mem, _t82, cpu->r[5]); /* 02898B88 */ _t83 = cpu->r[22] + 0x00000020u; /* 02898B88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t83); /* 02898B8C */ _t84 = cpu->r[10] + cpu->r[11]; /* 02898B8C */ cpu->r[7] = rbrew_read16(cpu->mem, _t84); /* 02898B90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]); /* 02898B94 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898B94 */ _t86 = _t85 & 0x00000001u; /* 02898B94 */ if (_t86) goto L_02898B98; else goto L_02898C18; L_02898B98: ; // 0x2898b98 /* 02898B98 */ goto L_02898C04; L_02898B9C: ; // 0x2898b9c /* 02898B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[26]); /* 02898BA0 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898BA0 */ _t88 = _t87 & 0x00000001u; /* 02898BA0 */ if (_t88) goto L_02898BC0; else goto L_02898BA4; L_02898BA4: ; // 0x2898ba4 /* 02898BA4 */ cpu->r[5] = cpu->r[5] + cpu->r[20]; /* 02898BA8 */ _t89 = cpu->r[23] + cpu->r[15]; /* 02898BA8 */ rbrew_write32(cpu->mem, _t89, cpu->r[5]); /* 02898BAC */ _t90 = cpu->r[22] + 0x00000020u; /* 02898BAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t90); /* 02898BB0 */ _t91 = cpu->r[10] + cpu->r[11]; /* 02898BB0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t91); /* 02898BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]); /* 02898BB8 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898BB8 */ _t93 = _t92 & 0x00000001u; /* 02898BB8 */ if (_t93) goto L_02898BBC; else goto L_02898C18; L_02898BBC: ; // 0x2898bbc /* 02898BBC */ goto L_02898C04; L_02898BC0: ; // 0x2898bc0 /* 02898BC0 */ _t94 = cpu->r[25] + cpu->r[15]; /* 02898BC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t94); /* 02898BC4 */ cpu->r[5] = cpu->r[6] - cpu->r[19]; /* 02898BC8 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[21]); /* 02898BCC */ cpu->r[5] = cpu->r[7] + cpu->r[8]; /* 02898BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[12]); /* 02898BD4 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898BD4 */ _t96 = _t95 & 0x00000001u; /* 02898BD4 */ if (_t96) goto L_02898BD8; else goto L_02898BE4; L_02898BD8: ; // 0x2898bd8 /* 02898BD8 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[17]); /* 02898BDC */ cpu->r[5] = cpu->r[5] + cpu->r[18]; /* 02898BE0 */ goto L_02898BF0; L_02898BE4: ; // 0x2898be4 /* 02898BE4 */ /* nop */ /* 02898BE8 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[4]); /* 02898BEC */ cpu->r[5] = cpu->r[5] + cpu->r[18]; L_02898BF0: ; // 0x2898bf0 /* 02898BF0 */ _t97 = cpu->r[23] + cpu->r[15]; /* 02898BF0 */ rbrew_write32(cpu->mem, _t97, cpu->r[5]); /* 02898BF4 */ _t98 = cpu->r[22] + 0x00000020u; /* 02898BF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t98); /* 02898BF8 */ _t99 = cpu->r[10] + cpu->r[11]; /* 02898BF8 */ cpu->r[7] = rbrew_read16(cpu->mem, _t99); /* 02898BFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]); /* 02898C00 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898C00 */ _t101 = _t100 & 0x00000001u; /* 02898C00 */ if (_t101) goto L_02898C04; else goto L_02898C18; L_02898C04: ; // 0x2898c04 /* 02898C04 */ _t102 = cpu->r[22] + 0x0000001Cu; /* 02898C04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t102); /* 02898C08 */ _t103 = cpu->r[9] + cpu->r[11]; /* 02898C08 */ cpu->r[28] = rbrew_read16(cpu->mem, _t103); /* 02898C0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02898C10 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898C10 */ _t105 = _t104 & 0x00000001u; /* 02898C10 */ if (_t105) goto L_02898C14; else goto L_02898B70; L_02898C14: ; // 0x2898c14 /* 02898C14 */ goto L_02898C24; L_02898C18: ; // 0x2898c18 /* 02898C18 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02898C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02898C20 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898C20 */ _t107 = _t106 & 0x00000001u; /* 02898C20 */ if (_t107) goto L_02898C24; else goto L_02898B70; L_02898C24: ; // 0x2898c24 /* 02898C24 */ _t108 = cpu->r[1] + 0x00000018u; /* 02898C24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t108); /* 02898C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[6]); /* 02898C2C */ cpu->r[12] = cpu->r[29]; /* 02898C30 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898C30 */ _t110 = _t109 & 0x00000001u; /* 02898C30 */ if (_t110) goto L_02898D8C; else goto L_02898C34; L_02898C34: ; // 0x2898c34 /* 02898C34 */ goto L_02898D84; L_02898C38: ; // 0x2898c38 /* 02898C38 */ cpu->r[9] = 0x00000000u; /* 02898C3C */ cpu->r[30] = 0x00000001u; /* 02898C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02898C44 */ _t111 = cpu->r[1] + 0x00000008u; /* 02898C44 */ rbrew_write32(cpu->mem, _t111, cpu->r[9]); /* 02898C48 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898C48 */ _t113 = _t112 & 0x00000001u; /* 02898C48 */ if (_t113) goto L_02898D74; else goto L_02898C4C; L_02898C4C: ; // 0x2898c4c /* 02898C4C */ cpu->r[15] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898C50 */ _t114 = cpu->r[24] + cpu->r[15]; /* 02898C50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t114); /* 02898C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[27]); /* 02898C58 */ _t115 = cpu->cr[0] >> (0x00000002u & 31u); /* 02898C58 */ _t116 = _t115 & 0x00000001u; /* 02898C58 */ if (_t116) goto L_02898C78; else goto L_02898C5C; L_02898C5C: ; // 0x2898c5c /* 02898C5C */ cpu->r[5] = cpu->r[5] + cpu->r[16]; /* 02898C60 */ _t117 = cpu->r[23] + cpu->r[15]; /* 02898C60 */ rbrew_write32(cpu->mem, _t117, cpu->r[5]); /* 02898C64 */ _t118 = cpu->r[22] + 0x00000020u; /* 02898C64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t118); /* 02898C68 */ _t119 = cpu->r[10] + cpu->r[31]; /* 02898C68 */ cpu->r[0] = rbrew_read16(cpu->mem, _t119); /* 02898C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02898C70 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898C70 */ _t121 = _t120 & 0x00000001u; /* 02898C70 */ if (_t121) goto L_02898C74; else goto L_02898CFC; L_02898C74: ; // 0x2898c74 /* 02898C74 */ goto L_02898CE8; L_02898C78: ; // 0x2898c78 /* 02898C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[26]); /* 02898C7C */ _t122 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898C7C */ _t123 = _t122 & 0x00000001u; /* 02898C7C */ if (_t123) goto L_02898C9C; else goto L_02898C80; L_02898C80: ; // 0x2898c80 /* 02898C80 */ cpu->r[5] = cpu->r[5] + cpu->r[20]; /* 02898C84 */ _t124 = cpu->r[23] + cpu->r[15]; /* 02898C84 */ rbrew_write32(cpu->mem, _t124, cpu->r[5]); /* 02898C88 */ _t125 = cpu->r[22] + 0x00000020u; /* 02898C88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t125); /* 02898C8C */ _t126 = cpu->r[10] + cpu->r[31]; /* 02898C8C */ cpu->r[0] = rbrew_read16(cpu->mem, _t126); /* 02898C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02898C94 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898C94 */ _t128 = _t127 & 0x00000001u; /* 02898C94 */ if (_t128) goto L_02898C98; else goto L_02898CFC; L_02898C98: ; // 0x2898c98 /* 02898C98 */ goto L_02898CE8; L_02898C9C: ; // 0x2898c9c /* 02898C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02898CA0 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898CA0 */ _t130 = _t129 & 0x00000001u; /* 02898CA0 */ if (_t130) goto L_02898CBC; else goto L_02898CA4; L_02898CA4: ; // 0x2898ca4 /* 02898CA4 */ cpu->r[3] = cpu->r[21]; /* 02898CA8 */ cpu->r[4] = cpu->r[17]; /* 02898CAC */ cpu->r[5] = 0x00000010u; /* 02898CB0 */ Gambit_fn_0287B61C(cpu); /* 02898CB4 */ cpu->r[30] = 0x00000000u; /* 02898CB8 */ _t131 = cpu->r[1] + 0x00000008u; /* 02898CB8 */ rbrew_write32(cpu->mem, _t131, cpu->r[3]); L_02898CBC: ; // 0x2898cbc /* 02898CBC */ _t132 = cpu->r[25] + cpu->r[15]; /* 02898CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t132); /* 02898CC0 */ cpu->r[5] = 0x00000010u; /* 02898CC4 */ _t133 = cpu->r[1] + 0x00000008u; /* 02898CC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t133); /* 02898CC8 */ cpu->r[3] = cpu->r[0] - cpu->r[19]; /* 02898CCC */ Gambit_fn_0287B904(cpu); /* 02898CD0 */ cpu->r[5] = cpu->r[3] + cpu->r[18]; /* 02898CD4 */ _t134 = cpu->r[23] + cpu->r[15]; /* 02898CD4 */ rbrew_write32(cpu->mem, _t134, cpu->r[5]); /* 02898CD8 */ _t135 = cpu->r[22] + 0x00000020u; /* 02898CD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t135); /* 02898CDC */ _t136 = cpu->r[10] + cpu->r[31]; /* 02898CDC */ cpu->r[0] = rbrew_read16(cpu->mem, _t136); /* 02898CE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02898CE4 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898CE4 */ _t138 = _t137 & 0x00000001u; /* 02898CE4 */ if (_t138) goto L_02898CE8; else goto L_02898CFC; L_02898CE8: ; // 0x2898ce8 /* 02898CE8 */ _t139 = cpu->r[22] + 0x0000001Cu; /* 02898CE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t139); /* 02898CEC */ _t140 = cpu->r[4] + cpu->r[31]; /* 02898CEC */ cpu->r[28] = rbrew_read16(cpu->mem, _t140); /* 02898CF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02898CF4 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898CF4 */ _t142 = _t141 & 0x00000001u; /* 02898CF4 */ if (_t142) goto L_02898CF8; else goto L_02898C4C; L_02898CF8: ; // 0x2898cf8 /* 02898CF8 */ goto L_02898D08; L_02898CFC: ; // 0x2898cfc /* 02898CFC */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02898D00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02898D04 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898D04 */ _t144 = _t143 & 0x00000001u; /* 02898D04 */ if (_t144) goto L_02898D08; else goto L_02898C4C; L_02898D08: ; // 0x2898d08 /* 02898D08 */ _t145 = cpu->r[1] + 0x00000018u; /* 02898D08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145); /* 02898D0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[6]); /* 02898D10 */ cpu->r[12] = cpu->r[29]; /* 02898D14 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898D14 */ _t147 = _t146 & 0x00000001u; /* 02898D14 */ if (_t147) goto L_02898D8C; else goto L_02898D18; L_02898D18: ; // 0x2898d18 /* 02898D18 */ goto L_02898D84; L_02898D1C: ; // 0x2898d1c /* 02898D1C */ cpu->r[5] = cpu->r[29] + 0xFFFFFFFFu; /* 02898D20 */ cpu->r[6] = cpu->r[31]; L_02898D24: ; // 0x2898d24 /* 02898D24 */ cpu->r[7] = cpu->r[5] - cpu->r[28]; /* 02898D28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02898D2C */ cpu->r[11] = cpu->r[7] + 0x00000001u; /* 02898D30 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898D30 */ _t149 = _t148 & 0x00000001u; /* 02898D30 */ if (_t149) goto L_02898D74; else goto L_02898D34; L_02898D34: ; // 0x2898d34 /* 02898D34 */ cpu->r[8] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898D38 */ cpu->r[4] = cpu->r[23] + cpu->r[8]; /* 02898D3C */ cpu->ctr = cpu->r[11]; /* 02898D40 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFCu; L_02898D44: ; // 0x2898d44 /* 02898D44 */ _t150 = cpu->r[4] + 0x00000004u; /* 02898D44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t150); /* 02898D44 */ cpu->r[4] = _t150; /* 02898D48 */ cpu->r[10] = cpu->r[10] + cpu->r[0]; /* 02898D4C */ _t151 = cpu->r[4] + 0x00000000u; /* 02898D4C */ rbrew_write32(cpu->mem, _t151, cpu->r[10]); /* 02898D50 */ _t152 = cpu->r[22] + 0x00000020u; /* 02898D50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t152); /* 02898D54 */ _t153 = cpu->r[10] + cpu->r[6]; /* 02898D54 */ cpu->r[12] = rbrew_read16(cpu->mem, _t153); /* 02898D58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]); /* 02898D5C */ _t154 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898D5C */ _t155 = _t154 & 0x00000001u; /* 02898D5C */ if (_t155) goto L_02898D60; else goto L_02898D6C; L_02898D60: ; // 0x2898d60 /* 02898D60 */ _t156 = cpu->r[22] + 0x0000001Cu; /* 02898D60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t156); /* 02898D64 */ _t157 = cpu->r[4] + cpu->r[6]; /* 02898D64 */ cpu->r[28] = rbrew_read16(cpu->mem, _t157); /* 02898D68 */ goto L_02898D24; L_02898D6C: ; // 0x2898d6c /* 02898D6C */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02898D70 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02898D70 */ _t158 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02898D70 */ _t159 = _t158 >> (0x00000002u & 31u); /* 02898D70 */ _t160 = _t159 & 0x00000001u; /* 02898D70 */ if (_t160) goto L_02898D44; else goto L_02898D74; L_02898D74: ; // 0x2898d74 /* 02898D74 */ _t161 = cpu->r[1] + 0x00000018u; /* 02898D74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t161); /* 02898D78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[6]); /* 02898D7C */ cpu->r[12] = cpu->r[29]; /* 02898D80 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898D80 */ _t163 = _t162 & 0x00000001u; /* 02898D80 */ if (_t163) goto L_02898D8C; else goto L_02898D84; L_02898D84: ; // 0x2898d84 /* 02898D84 */ _t164 = cpu->r[22] + 0x00000024u; /* 02898D84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t164); /* 02898D88 */ goto L_02898A5C; L_02898D8C: ; // 0x2898d8c /* 02898D8C */ _t165 = cpu->r[22] + 0x00000028u; /* 02898D8C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t165); L_02898D90: ; // 0x2898d90 /* 02898D90 */ _t166 = cpu->r[1] + 0x0000000Cu; /* 02898D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t166); /* 02898D94 */ _t167 = cpu->r[1] + 0x00000010u; /* 02898D94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t167); /* 02898D98 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 02898D9C */ _t168 = cpu->r[1] + 0x0000000Cu; /* 02898D9C */ rbrew_write32(cpu->mem, _t168, cpu->r[0]); /* 02898DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 02898DA4 */ cpu->r[0] = cpu->r[6] + 0x00000002u; /* 02898DA8 */ _t169 = cpu->r[1] + 0x00000010u; /* 02898DA8 */ rbrew_write32(cpu->mem, _t169, cpu->r[0]); /* 02898DAC */ _t170 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898DAC */ _t171 = _t170 & 0x00000001u; /* 02898DAC */ if (_t171) goto L_02898A18; else goto L_02898DB0; L_02898DB0: ; // 0x2898db0 /* 02898DB0 */ /* nop */ /* 02898DB4 */ _t172 = cpu->r[1] + 0x0000006Cu; /* 02898DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t172); /* 02898DB8 */ cpu->lr = cpu->r[0]; /* 02898DBC */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02898DC0 */ return; } // fn_02898DC4 @ 0x2898dc4 void Gambit_fn_02898DC4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02898DC4: ; // 0x2898dc4 /* 02898DC4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02898DC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02898DC4 */ cpu->r[1] = _t0; /* 02898DC8 */ /* nop */ /* 02898DCC */ cpu->r[0] = cpu->lr; /* 02898DD0 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02898DD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02898DD4 */ cpu->r[29] = cpu->r[5]; /* 02898DD8 */ cpu->r[27] = cpu->r[3]; /* 02898DDC */ _t2 = cpu->r[27] + 0x0000003Au; /* 02898DDC */ cpu->r[9] = rbrew_read8(cpu->mem, _t2); /* 02898DE0 */ cpu->r[28] = cpu->r[4]; /* 02898DE4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02898DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02898DE8 */ cpu->r[30] = cpu->r[6]; /* 02898DEC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898DEC */ _t4 = _t3 & 0x00000001u; /* 02898DEC */ if (_t4) goto L_02898E4C; else goto L_02898DF0; L_02898DF0: ; // 0x2898df0 /* 02898DF0 */ _t5 = cpu->r[27] + 0x00000000u; /* 02898DF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 02898DF4 */ _t6 = cpu->r[27] + 0x0000002Cu; /* 02898DF4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 02898DF8 */ _t7 = cpu->r[31] + 0x00000008u; /* 02898DF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7); /* 02898DFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898E00 */ _t8 = cpu->r[31] + 0x0000000Cu; /* 02898E00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8); /* 02898E04 */ _t9 = cpu->r[31] + 0x00000000u; /* 02898E04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 02898E08 */ _t10 = cpu->r[6] + cpu->r[0]; /* 02898E08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 02898E0C */ _t11 = cpu->r[27] + 0x00000044u; /* 02898E0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 02898E10 */ _t12 = cpu->r[31] + 0x00000004u; /* 02898E10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 02898E14 */ _t13 = cpu->r[8] + cpu->r[0]; /* 02898E14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13); /* 02898E18 */ cpu->ctr = cpu->r[12]; /* 02898E1C */ _t14 = cpu->r[6] + cpu->r[0]; /* 02898E1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 02898E20 */ _t15 = cpu->r[5] + cpu->r[0]; /* 02898E20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); /* 02898E24 */ cpu->r[5] = cpu->r[10] - cpu->r[11]; /* 02898E28 */ cpu->r[3] = cpu->r[27]; /* 02898E2C */ cpu->r[4] = cpu->r[7] - cpu->r[9]; /* 02898E30 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02898E34 */ _t16 = cpu->r[27] + 0x0000003Cu; /* 02898E34 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 02898E38 */ cpu->r[25] = cpu->r[3]; /* 02898E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00004000u); /* 02898E40 */ _t17 = cpu->r[27] + 0x00000010u; /* 02898E40 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t17); /* 02898E44 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898E44 */ _t19 = _t18 & 0x00000001u; /* 02898E44 */ if (_t19) goto L_02898ED8; else goto L_02898E48; L_02898E48: ; // 0x2898e48 /* 02898E48 */ goto L_02898EA4; L_02898E4C: ; // 0x2898e4c /* 02898E4C */ _t20 = cpu->r[27] + 0x00000004u; /* 02898E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 02898E50 */ _t21 = cpu->r[27] + 0x00000030u; /* 02898E50 */ cpu->r[26] = rbrew_read32(cpu->mem, _t21); /* 02898E54 */ _t22 = cpu->r[31] + 0x00000008u; /* 02898E54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22); /* 02898E58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898E5C */ _t23 = cpu->r[31] + 0x0000000Cu; /* 02898E5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 02898E60 */ _t24 = cpu->r[31] + 0x00000000u; /* 02898E60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24); /* 02898E64 */ _t25 = cpu->r[6] + cpu->r[0]; /* 02898E64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25); /* 02898E68 */ _t26 = cpu->r[27] + 0x00000044u; /* 02898E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 02898E6C */ _t27 = cpu->r[31] + 0x00000004u; /* 02898E6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t27); /* 02898E70 */ _t28 = cpu->r[8] + cpu->r[0]; /* 02898E70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 02898E74 */ cpu->ctr = cpu->r[12]; /* 02898E78 */ _t29 = cpu->r[6] + cpu->r[0]; /* 02898E78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29); /* 02898E7C */ _t30 = cpu->r[5] + cpu->r[0]; /* 02898E7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t30); /* 02898E80 */ cpu->r[5] = cpu->r[10] - cpu->r[11]; /* 02898E84 */ cpu->r[3] = cpu->r[27]; /* 02898E88 */ cpu->r[4] = cpu->r[7] - cpu->r[9]; /* 02898E8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02898E90 */ _t31 = cpu->r[27] + 0x0000003Cu; /* 02898E90 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t31); /* 02898E94 */ cpu->r[25] = cpu->r[3]; /* 02898E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00004000u); /* 02898E9C */ _t32 = cpu->r[27] + 0x00000010u; /* 02898E9C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t32); /* 02898EA0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898EA0 */ _t34 = _t33 & 0x00000001u; /* 02898EA0 */ if (_t34) goto L_02898ED8; else goto L_02898EA4; L_02898EA4: ; // 0x2898ea4 /* 02898EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02898EA8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898EA8 */ _t36 = _t35 & 0x00000001u; /* 02898EA8 */ if (_t36) goto L_02898EB8; else goto L_02898EAC; L_02898EAC: ; // 0x2898eac /* 02898EAC */ cpu->r[3] = cpu->r[25]; /* 02898EB0 */ Gambit_fn_0287B768(cpu); /* 02898EB4 */ _t37 = cpu->r[28] + 0x00000000u; /* 02898EB4 */ rbrew_write32(cpu->mem, _t37, cpu->r[3]); L_02898EB8: ; // 0x2898eb8 /* 02898EB8 */ _t38 = cpu->r[27] + 0x00000012u; /* 02898EB8 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t38); /* 02898EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02898EC0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898EC0 */ _t40 = _t39 & 0x00000001u; /* 02898EC0 */ if (_t40) goto L_02898F0C; else goto L_02898EC4; L_02898EC4: ; // 0x2898ec4 /* 02898EC4 */ _t41 = cpu->r[27] + 0x0000003Cu; /* 02898EC4 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t41); /* 02898EC8 */ cpu->r[3] = cpu->r[25]; /* 02898ECC */ Gambit_fn_0287B768(cpu); /* 02898ED0 */ _t42 = cpu->r[29] + 0x00000000u; /* 02898ED0 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]); /* 02898ED4 */ goto L_02898F0C; L_02898ED8: ; // 0x2898ed8 /* 02898ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02898EDC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898EDC */ _t44 = _t43 & 0x00000001u; /* 02898EDC */ if (_t44) goto L_02898EF0; else goto L_02898EE0; L_02898EE0: ; // 0x2898ee0 /* 02898EE0 */ cpu->r[5] = 0x0000000Eu; /* 02898EE4 */ cpu->r[3] = cpu->r[25]; /* 02898EE8 */ Gambit_fn_0287B904(cpu); /* 02898EEC */ _t45 = cpu->r[28] + 0x00000000u; /* 02898EEC */ rbrew_write32(cpu->mem, _t45, cpu->r[3]); L_02898EF0: ; // 0x2898ef0 /* 02898EF0 */ _t46 = cpu->r[27] + 0x00000012u; /* 02898EF0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t46); /* 02898EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02898EF8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898EF8 */ _t48 = _t47 & 0x00000001u; /* 02898EF8 */ if (_t48) goto L_02898F0C; else goto L_02898EFC; L_02898EFC: ; // 0x2898efc /* 02898EFC */ cpu->r[5] = 0x0000000Eu; /* 02898F00 */ cpu->r[3] = cpu->r[25]; /* 02898F04 */ Gambit_fn_0287B904(cpu); /* 02898F08 */ _t49 = cpu->r[29] + 0x00000000u; /* 02898F08 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]); L_02898F0C: ; // 0x2898f0c /* 02898F0C */ _t50 = cpu->r[30] + 0x00000000u; /* 02898F0C */ rbrew_write32(cpu->mem, _t50, cpu->r[26]); /* 02898F10 */ cpu->r[3] = cpu->r[31]; /* 02898F14 */ /* nop */ /* 02898F18 */ _t51 = cpu->r[1] + 0x0000002Cu; /* 02898F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 02898F1C */ cpu->lr = cpu->r[0]; /* 02898F20 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02898F24 */ return; } // fn_02898F28 @ 0x2898f28 void Gambit_fn_02898F28(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02898F28: ; // 0x2898f28 /* 02898F28 */ _t0 = cpu->r[3] + 0x00000034u; /* 02898F28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02898F2C */ _t1 = cpu->r[3] + 0x00000008u; /* 02898F2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 02898F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02898F34 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 02898F38 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02898F38 */ _t3 = _t2 & 0x00000001u; /* 02898F38 */ if (_t3) goto L_02898FB4; else goto L_02898F3C; L_02898F3C: ; // 0x2898f3c /* 02898F3C */ cpu->ctr = cpu->r[12]; L_02898F40: ; // 0x2898f40 /* 02898F40 */ _t4 = cpu->r[3] + 0x00000018u; /* 02898F40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02898F44 */ _t5 = cpu->r[3] + 0x00000010u; /* 02898F44 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 02898F48 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 02898F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02898F50 */ _t6 = cpu->r[3] + 0x00000018u; /* 02898F50 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 02898F54 */ _t7 = cpu->r[11] + 0x00000000u; /* 02898F54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 02898F58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898F58 */ _t9 = _t8 & 0x00000001u; /* 02898F58 */ if (_t9) goto L_02898F80; else goto L_02898F5C; L_02898F5C: ; // 0x2898f5c /* 02898F5C */ _t10 = cpu->r[9] + 0x00000000u; /* 02898F5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02898F60 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898F64 */ _t11 = cpu->r[11] + cpu->r[8]; /* 02898F64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 02898F68 */ cpu->r[12] = cpu->r[12] + cpu->r[4]; /* 02898F6C */ _t12 = cpu->r[11] + cpu->r[8]; /* 02898F6C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); /* 02898F70 */ _t13 = cpu->r[9] + 0x00000024u; /* 02898F70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13); /* 02898F74 */ _t14 = cpu->r[11] + cpu->r[10]; /* 02898F74 */ cpu->r[12] = rbrew_read8(cpu->mem, _t14); /* 02898F78 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 02898F7C */ _t15 = cpu->r[11] + cpu->r[10]; /* 02898F7C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]); L_02898F80: ; // 0x2898f80 /* 02898F80 */ _t16 = cpu->r[3] + 0x00000012u; /* 02898F80 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 02898F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02898F88 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02898F88 */ _t18 = _t17 & 0x00000001u; /* 02898F88 */ if (_t18) goto L_02898FB0; else goto L_02898F8C; L_02898F8C: ; // 0x2898f8c /* 02898F8C */ _t19 = cpu->r[9] + 0x00000004u; /* 02898F8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19); /* 02898F90 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02898F94 */ _t20 = cpu->r[11] + cpu->r[8]; /* 02898F94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 02898F98 */ cpu->r[12] = cpu->r[12] + cpu->r[5]; /* 02898F9C */ _t21 = cpu->r[11] + cpu->r[8]; /* 02898F9C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]); /* 02898FA0 */ _t22 = cpu->r[9] + 0x00000024u; /* 02898FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22); /* 02898FA4 */ _t23 = cpu->r[11] + cpu->r[10]; /* 02898FA4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t23); /* 02898FA8 */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 02898FAC */ _t24 = cpu->r[11] + cpu->r[10]; /* 02898FAC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]); L_02898FB0: ; // 0x2898fb0 /* 02898FB0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02898FB0 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02898FB0 */ _t26 = _t25 >> (0x00000002u & 31u); /* 02898FB0 */ _t27 = _t26 & 0x00000001u; /* 02898FB0 */ if (_t27) goto L_02898F40; else goto L_02898FB4; L_02898FB4: ; // 0x2898fb4 /* 02898FB4 */ cpu->r[12] = 0x00000000u; /* 02898FB8 */ _t28 = cpu->r[3] + 0x00000034u; /* 02898FB8 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]); /* 02898FBC */ return; } // fn_02898FC0 @ 0x2898fc0 void Gambit_fn_02898FC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02898FC0: ; // 0x2898fc0 /* 02898FC0 */ cpu->r[0] = cpu->lr; /* 02898FC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02898FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02898FC4 */ cpu->r[1] = _t0; /* 02898FC8 */ _t1 = cpu->r[1] + 0x00000014u; /* 02898FC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02898FCC */ cpu->r[31] = cpu->r[3]; /* 02898FD0 */ cpu->r[6] = cpu->r[1] + 0x00000010u; /* 02898FD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02898FD8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02898FDC */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02898FDC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02898FE0 */ Gambit_fn_02898DC4(cpu); /* 02898FE4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02898FE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 02898FE8 */ _t4 = cpu->r[1] + 0x00000008u; /* 02898FE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4); /* 02898FEC */ cpu->r[3] = cpu->r[31]; /* 02898FF0 */ Gambit_fn_02898F28(cpu); /* 02898FF4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02898FF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02898FF8 */ cpu->lr = cpu->r[0]; /* 02898FFC */ _t6 = cpu->r[1] + 0x00000014u; /* 02898FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 02899000 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02899004 */ return; } // fn_02898FC4 @ 0x2898fc4 void Gambit_fn_02898FC4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02898FC4: ; // 0x2898fc4 /* 02898FC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02898FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02898FC4 */ cpu->r[1] = _t0; /* 02898FC8 */ _t1 = cpu->r[1] + 0x00000014u; /* 02898FC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02898FCC */ cpu->r[31] = cpu->r[3]; /* 02898FD0 */ cpu->r[6] = cpu->r[1] + 0x00000010u; /* 02898FD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02898FD8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02898FDC */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02898FDC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02898FE0 */ Gambit_fn_02898DC4(cpu); /* 02898FE4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02898FE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 02898FE8 */ _t4 = cpu->r[1] + 0x00000008u; /* 02898FE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4); /* 02898FEC */ cpu->r[3] = cpu->r[31]; /* 02898FF0 */ Gambit_fn_02898F28(cpu); /* 02898FF4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02898FF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02898FF8 */ cpu->lr = cpu->r[0]; /* 02898FFC */ _t6 = cpu->r[1] + 0x00000014u; /* 02898FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 02899000 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02899004 */ return; } // fn_02899008 @ 0x2899008 void Gambit_fn_02899008(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_02899008: ; // 0x2899008 /* 02899008 */ cpu->r[0] = cpu->lr; /* 0289900C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0289900C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289900C */ cpu->r[1] = _t0; /* 02899010 */ _t1 = cpu->r[1] + 0x00000018u; /* 02899010 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02899014 */ cpu->r[30] = cpu->r[3]; /* 02899018 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02899018 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0289901C */ cpu->r[6] = cpu->r[1] + 0x00000010u; /* 02899020 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02899024 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02899028 */ _t3 = cpu->r[1] + 0x00000024u; /* 02899028 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289902C */ Gambit_fn_02898DC4(cpu); /* 02899030 */ _t4 = cpu->r[30] + 0x00000018u; /* 02899030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02899034 */ _t5 = cpu->r[1] + 0x00000010u; /* 02899034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 02899038 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289903C */ _t6 = cpu->r[30] + 0x00000008u; /* 0289903C */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02899040 */ _t7 = cpu->r[30] + 0x00000018u; /* 02899040 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02899044 */ _t8 = cpu->r[12] + 0x00000000u; /* 02899044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02899048 */ _t9 = cpu->r[7] + 0x0000001Cu; /* 02899048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 0289904C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02899050 */ _t10 = cpu->r[7] + 0x00000020u; /* 02899050 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02899054 */ _t11 = cpu->r[9] + cpu->r[12]; /* 02899054 */ cpu->r[8] = rbrew_read16(cpu->mem, _t11); /* 02899058 */ _t12 = cpu->r[11] + cpu->r[12]; /* 02899058 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12); /* 0289905C */ _t13 = cpu->r[1] + 0x00000008u; /* 0289905C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 02899060 */ cpu->r[10] = cpu->r[0] - cpu->r[8]; /* 02899060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02899064 */ _t14 = cpu->r[30] + 0x00000010u; /* 02899064 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14); /* 02899068 */ _t15 = cpu->r[30] + 0x00000012u; /* 02899068 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 0289906C */ cpu->r[12] = cpu->r[10] + 0x00000001u; /* 02899070 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02899070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02899074 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899074 */ _t18 = _t17 & 0x00000001u; /* 02899074 */ if (_t18) goto L_028990F8; else goto L_02899078; L_02899078: ; // 0x2899078 /* 02899078 */ cpu->r[10] = cpu->r[3] ^ cpu->r[7]; /* 0289907C */ cpu->ctr = cpu->r[12]; /* 02899080 */ cpu->r[11] = rbrew_clz32(cpu->r[10]); /* 02899084 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899088 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu); L_0289908C: ; // 0x289908c /* 0289908C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[4]); /* 02899090 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899090 */ _t20 = _t19 & 0x00000001u; /* 02899090 */ if (_t20) goto L_02899094; else goto L_0289909C; L_02899094: ; // 0x2899094 /* 02899094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02899098 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899098 */ _t22 = _t21 & 0x00000001u; /* 02899098 */ if (_t22) goto L_0289909C; else goto L_028990EC; L_0289909C: ; // 0x289909c /* 0289909C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028990A0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028990A0 */ _t24 = _t23 & 0x00000001u; /* 028990A0 */ if (_t24) goto L_028990C4; else goto L_028990A4; L_028990A4: ; // 0x28990a4 /* 028990A4 */ _t25 = cpu->r[7] + 0x00000000u; /* 028990A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25); /* 028990A8 */ _t26 = cpu->r[11] + cpu->r[9]; /* 028990A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 028990AC */ cpu->r[12] = cpu->r[12] + cpu->r[31]; /* 028990B0 */ _t27 = cpu->r[11] + cpu->r[9]; /* 028990B0 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]); /* 028990B4 */ _t28 = cpu->r[7] + 0x00000024u; /* 028990B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 028990B8 */ _t29 = cpu->r[11] + cpu->r[8]; /* 028990B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29); /* 028990BC */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 028990C0 */ _t30 = cpu->r[11] + cpu->r[8]; /* 028990C0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]); L_028990C4: ; // 0x28990c4 /* 028990C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028990C8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028990C8 */ _t32 = _t31 & 0x00000001u; /* 028990C8 */ if (_t32) goto L_028990EC; else goto L_028990CC; L_028990CC: ; // 0x28990cc /* 028990CC */ _t33 = cpu->r[7] + 0x00000004u; /* 028990CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t33); /* 028990D0 */ _t34 = cpu->r[11] + cpu->r[9]; /* 028990D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 028990D4 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; /* 028990D8 */ _t35 = cpu->r[11] + cpu->r[9]; /* 028990D8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]); /* 028990DC */ _t36 = cpu->r[7] + 0x00000024u; /* 028990DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 028990E0 */ _t37 = cpu->r[11] + cpu->r[8]; /* 028990E0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37); /* 028990E4 */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 028990E8 */ _t38 = cpu->r[11] + cpu->r[8]; /* 028990E8 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[12]); L_028990EC: ; // 0x28990ec /* 028990EC */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 028990F0 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028990F4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028990F4 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028990F4 */ _t40 = _t39 >> (0x00000002u & 31u); /* 028990F4 */ _t41 = _t40 & 0x00000001u; /* 028990F4 */ if (_t41) goto L_0289908C; else goto L_028990F8; L_028990F8: ; // 0x28990f8 /* 028990F8 */ _t42 = cpu->r[1] + 0x00000024u; /* 028990F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028990FC */ _t43 = cpu->r[1] + 0x00000018u; /* 028990FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43); /* 02899100 */ cpu->lr = cpu->r[0]; /* 02899104 */ _t44 = cpu->r[1] + 0x0000001Cu; /* 02899104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44); /* 02899108 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0289910C */ return; } // fn_0289900C @ 0x289900c void Gambit_fn_0289900C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289900C: ; // 0x289900c /* 0289900C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0289900C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289900C */ cpu->r[1] = _t0; /* 02899010 */ _t1 = cpu->r[1] + 0x00000018u; /* 02899010 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02899014 */ cpu->r[30] = cpu->r[3]; /* 02899018 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02899018 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0289901C */ cpu->r[6] = cpu->r[1] + 0x00000010u; /* 02899020 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02899024 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02899028 */ _t3 = cpu->r[1] + 0x00000024u; /* 02899028 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289902C */ Gambit_fn_02898DC4(cpu); /* 02899030 */ _t4 = cpu->r[30] + 0x00000018u; /* 02899030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02899034 */ _t5 = cpu->r[1] + 0x00000010u; /* 02899034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 02899038 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289903C */ _t6 = cpu->r[30] + 0x00000008u; /* 0289903C */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02899040 */ _t7 = cpu->r[30] + 0x00000018u; /* 02899040 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02899044 */ _t8 = cpu->r[12] + 0x00000000u; /* 02899044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02899048 */ _t9 = cpu->r[7] + 0x0000001Cu; /* 02899048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 0289904C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02899050 */ _t10 = cpu->r[7] + 0x00000020u; /* 02899050 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02899054 */ _t11 = cpu->r[9] + cpu->r[12]; /* 02899054 */ cpu->r[8] = rbrew_read16(cpu->mem, _t11); /* 02899058 */ _t12 = cpu->r[11] + cpu->r[12]; /* 02899058 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12); /* 0289905C */ _t13 = cpu->r[1] + 0x00000008u; /* 0289905C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 02899060 */ cpu->r[10] = cpu->r[0] - cpu->r[8]; /* 02899060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02899064 */ _t14 = cpu->r[30] + 0x00000010u; /* 02899064 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14); /* 02899068 */ _t15 = cpu->r[30] + 0x00000012u; /* 02899068 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 0289906C */ cpu->r[12] = cpu->r[10] + 0x00000001u; /* 02899070 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02899070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02899074 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899074 */ _t18 = _t17 & 0x00000001u; /* 02899074 */ if (_t18) goto L_028990F8; else goto L_02899078; L_02899078: ; // 0x2899078 /* 02899078 */ cpu->r[10] = cpu->r[3] ^ cpu->r[7]; /* 0289907C */ cpu->ctr = cpu->r[12]; /* 02899080 */ cpu->r[11] = rbrew_clz32(cpu->r[10]); /* 02899084 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899088 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu); L_0289908C: ; // 0x289908c /* 0289908C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[4]); /* 02899090 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899090 */ _t20 = _t19 & 0x00000001u; /* 02899090 */ if (_t20) goto L_02899094; else goto L_0289909C; L_02899094: ; // 0x2899094 /* 02899094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02899098 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899098 */ _t22 = _t21 & 0x00000001u; /* 02899098 */ if (_t22) goto L_0289909C; else goto L_028990EC; L_0289909C: ; // 0x289909c /* 0289909C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028990A0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028990A0 */ _t24 = _t23 & 0x00000001u; /* 028990A0 */ if (_t24) goto L_028990C4; else goto L_028990A4; L_028990A4: ; // 0x28990a4 /* 028990A4 */ _t25 = cpu->r[7] + 0x00000000u; /* 028990A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25); /* 028990A8 */ _t26 = cpu->r[11] + cpu->r[9]; /* 028990A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 028990AC */ cpu->r[12] = cpu->r[12] + cpu->r[31]; /* 028990B0 */ _t27 = cpu->r[11] + cpu->r[9]; /* 028990B0 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]); /* 028990B4 */ _t28 = cpu->r[7] + 0x00000024u; /* 028990B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 028990B8 */ _t29 = cpu->r[11] + cpu->r[8]; /* 028990B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29); /* 028990BC */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 028990C0 */ _t30 = cpu->r[11] + cpu->r[8]; /* 028990C0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]); L_028990C4: ; // 0x28990c4 /* 028990C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028990C8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028990C8 */ _t32 = _t31 & 0x00000001u; /* 028990C8 */ if (_t32) goto L_028990EC; else goto L_028990CC; L_028990CC: ; // 0x28990cc /* 028990CC */ _t33 = cpu->r[7] + 0x00000004u; /* 028990CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t33); /* 028990D0 */ _t34 = cpu->r[11] + cpu->r[9]; /* 028990D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 028990D4 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; /* 028990D8 */ _t35 = cpu->r[11] + cpu->r[9]; /* 028990D8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]); /* 028990DC */ _t36 = cpu->r[7] + 0x00000024u; /* 028990DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 028990E0 */ _t37 = cpu->r[11] + cpu->r[8]; /* 028990E0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37); /* 028990E4 */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 028990E8 */ _t38 = cpu->r[11] + cpu->r[8]; /* 028990E8 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[12]); L_028990EC: ; // 0x28990ec /* 028990EC */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 028990F0 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028990F4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028990F4 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028990F4 */ _t40 = _t39 >> (0x00000002u & 31u); /* 028990F4 */ _t41 = _t40 & 0x00000001u; /* 028990F4 */ if (_t41) goto L_0289908C; else goto L_028990F8; L_028990F8: ; // 0x28990f8 /* 028990F8 */ _t42 = cpu->r[1] + 0x00000024u; /* 028990F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028990FC */ _t43 = cpu->r[1] + 0x00000018u; /* 028990FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43); /* 02899100 */ cpu->lr = cpu->r[0]; /* 02899104 */ _t44 = cpu->r[1] + 0x0000001Cu; /* 02899104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44); /* 02899108 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0289910C */ return; } // fn_02899110 @ 0x2899110 void Gambit_fn_02899110(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02899110: ; // 0x2899110 /* 02899110 */ cpu->r[0] = cpu->lr; /* 02899114 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02899114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02899114 */ cpu->r[1] = _t0; /* 02899118 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 02899118 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289911C */ _t2 = cpu->r[1] + 0x00000014u; /* 0289911C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02899120 */ cpu->r[31] = cpu->r[3]; /* 02899124 */ _t3 = cpu->r[1] + 0x00000018u; /* 02899124 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02899128 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0289912C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 02899130 */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 02899134 */ _t4 = cpu->r[1] + 0x00000024u; /* 02899134 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02899138 */ Gambit_fn_02898DC4(cpu); /* 0289913C */ _t5 = cpu->r[31] + 0x00000018u; /* 0289913C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 02899140 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 02899144 */ _t6 = cpu->r[31] + 0x00000018u; /* 02899144 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]); /* 02899148 */ _t7 = cpu->r[10] + 0x00000000u; /* 02899148 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 0289914C */ _t8 = cpu->r[31] + 0x00000020u; /* 0289914C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02899150 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000002Cu); /* 02899154 */ _t9 = cpu->r[1] + 0x00000010u; /* 02899154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02899158 */ cpu->r[4] = cpu->r[11] + cpu->r[30]; /* 0289915C */ _t10 = cpu->r[4] + 0x0000001Cu; /* 0289915C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 02899160 */ _t11 = cpu->r[4] + 0x00000028u; /* 02899160 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11); /* 02899164 */ _t12 = cpu->r[4] + 0x00000020u; /* 02899164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 02899168 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289916C */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0289916C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02899170 */ cpu->r[7] = cpu->r[8] + cpu->r[5]; /* 02899174 */ _t14 = cpu->r[7] + 0xFFFFFFFEu; /* 02899174 */ cpu->r[29] = rbrew_read16(cpu->mem, _t14); /* 02899178 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]); /* 0289917C */ _t15 = cpu->r[9] + 0x00000000u; /* 0289917C */ cpu->r[3] = rbrew_read16(cpu->mem, _t15); /* 02899180 */ _t16 = cpu->r[31] + 0x00000010u; /* 02899180 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 02899184 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899184 */ _t18 = _t17 & 0x00000001u; /* 02899184 */ if (_t18) goto L_02899190; else goto L_02899188; L_02899188: ; // 0x2899188 /* 02899188 */ cpu->r[10] = 0xFFFFFFFFu; /* 0289918C */ _t19 = cpu->r[1] + 0x00000008u; /* 0289918C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]); L_02899190: ; // 0x2899190 /* 02899190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02899194 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899194 */ _t21 = _t20 & 0x00000001u; /* 02899194 */ if (_t21) goto L_02899240; else goto L_02899198; L_02899198: ; // 0x2899198 /* 02899198 */ _t22 = cpu->r[1] + 0x00000008u; /* 02899198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 0289919C */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028991A0 */ _t23 = cpu->r[4] + 0x00000000u; /* 028991A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23); /* 028991A4 */ cpu->r[11] = cpu->r[9] - cpu->r[3]; /* 028991A8 */ _t24 = cpu->r[4] + 0x00000024u; /* 028991A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 028991AC */ cpu->r[6] = cpu->r[6] + cpu->r[5]; /* 028991B0 */ cpu->r[5] = cpu->r[11] + 0xFFFFFFFFu; /* 028991B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028991B4 */ cpu->r[7] = cpu->r[7] + cpu->r[3]; /* 028991B8 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 028991B8 */ _t26 = _t25 & 0x00000001u; /* 028991B8 */ if (_t26) goto L_028991F0; else goto L_028991BC; L_028991BC: ; // 0x28991bc /* 028991BC */ cpu->ctr = cpu->r[11]; /* 028991C0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028991C4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; L_028991C8: ; // 0x28991c8 /* 028991C8 */ _t27 = cpu->r[6] + 0x00000004u; /* 028991C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27); /* 028991C8 */ cpu->r[6] = _t27; /* 028991CC */ cpu->r[8] = cpu->r[8] + cpu->r[0]; /* 028991D0 */ _t28 = cpu->r[6] + 0x00000000u; /* 028991D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]); /* 028991D4 */ _t29 = cpu->r[7] + 0x00000001u; /* 028991D4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t29); /* 028991D4 */ cpu->r[7] = _t29; /* 028991D8 */ cpu->r[9] = cpu->r[9] | 0x00000001u; /* 028991DC */ _t30 = cpu->r[7] + 0x00000000u; /* 028991DC */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[9]); /* 028991E0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028991E0 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028991E0 */ _t32 = _t31 >> (0x00000002u & 31u); /* 028991E0 */ _t33 = _t32 & 0x00000001u; /* 028991E0 */ if (_t33) goto L_028991C8; else goto L_028991E4; L_028991E4: ; // 0x28991e4 /* 028991E4 */ _t34 = cpu->r[1] + 0x00000008u; /* 028991E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34); /* 028991E8 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028991EC */ cpu->r[6] = cpu->r[6] + 0x00000004u; L_028991F0: ; // 0x28991f0 /* 028991F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu); /* 028991F4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028991F4 */ _t36 = _t35 & 0x00000001u; /* 028991F4 */ if (_t36) goto L_028991F8; else goto L_02899204; L_028991F8: ; // 0x28991f8 /* 028991F8 */ cpu->r[5] = cpu->r[29] - cpu->r[3]; /* 028991F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028991FC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 028991FC */ _t38 = _t37 & 0x00000001u; /* 028991FC */ if (_t38) goto L_02899240; else goto L_02899200; L_02899200: ; // 0x2899200 /* 02899200 */ goto L_02899218; L_02899204: ; // 0x2899204 /* 02899204 */ cpu->r[10] = cpu->r[29] - cpu->r[9]; /* 02899208 */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 0289920C */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFFu; /* 0289920C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02899210 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 02899214 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899214 */ _t40 = _t39 & 0x00000001u; /* 02899214 */ if (_t40) goto L_02899240; else goto L_02899218; L_02899218: ; // 0x2899218 /* 02899218 */ _t41 = cpu->r[6] + 0x00000000u; /* 02899218 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 0289921C */ cpu->r[11] = cpu->r[11] + cpu->r[0]; /* 02899220 */ _t42 = cpu->r[6] + 0x00000000u; /* 02899220 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]); /* 02899224 */ _t43 = cpu->r[7] + 0x00000000u; /* 02899224 */ cpu->r[9] = rbrew_read8(cpu->mem, _t43); /* 02899228 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; /* 02899228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289922C */ cpu->r[9] = cpu->r[9] | 0x00000001u; /* 02899230 */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 02899234 */ _t44 = cpu->r[7] + 0x00000000u; /* 02899234 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[9]); /* 02899238 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0289923C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289923C */ _t46 = _t45 & 0x00000001u; /* 0289923C */ if (_t46) goto L_02899240; else goto L_02899218; L_02899240: ; // 0x2899240 /* 02899240 */ _t47 = cpu->r[31] + 0x00000012u; /* 02899240 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t47); /* 02899244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02899248 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899248 */ _t49 = _t48 & 0x00000001u; /* 02899248 */ if (_t49) goto L_028992FC; else goto L_0289924C; L_0289924C: ; // 0x289924c /* 0289924C */ _t50 = cpu->r[31] + 0x00000020u; /* 0289924C */ cpu->r[11] = rbrew_read32(cpu->mem, _t50); /* 02899250 */ _t51 = cpu->r[1] + 0x00000008u; /* 02899250 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51); /* 02899254 */ cpu->r[4] = cpu->r[11] + cpu->r[30]; /* 02899258 */ _t52 = cpu->r[4] + 0x00000004u; /* 02899258 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52); /* 0289925C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899260 */ _t53 = cpu->r[4] + 0x00000024u; /* 02899260 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53); /* 02899264 */ cpu->r[8] = cpu->r[9] - cpu->r[3]; /* 02899268 */ cpu->r[6] = cpu->r[6] + cpu->r[0]; /* 0289926C */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu; /* 0289926C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02899270 */ cpu->r[7] = cpu->r[7] + cpu->r[3]; /* 02899274 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899274 */ _t55 = _t54 & 0x00000001u; /* 02899274 */ if (_t55) goto L_028992AC; else goto L_02899278; L_02899278: ; // 0x2899278 /* 02899278 */ cpu->ctr = cpu->r[8]; /* 0289927C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 02899280 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; L_02899284: ; // 0x2899284 /* 02899284 */ _t56 = cpu->r[6] + 0x00000004u; /* 02899284 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56); /* 02899284 */ cpu->r[6] = _t56; /* 02899288 */ cpu->r[8] = cpu->r[8] + cpu->r[12]; /* 0289928C */ _t57 = cpu->r[6] + 0x00000000u; /* 0289928C */ rbrew_write32(cpu->mem, _t57, cpu->r[8]); /* 02899290 */ _t58 = cpu->r[7] + 0x00000001u; /* 02899290 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58); /* 02899290 */ cpu->r[7] = _t58; /* 02899294 */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 02899298 */ _t59 = cpu->r[7] + 0x00000000u; /* 02899298 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[0]); /* 0289929C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289929C */ _t60 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289929C */ _t61 = _t60 >> (0x00000002u & 31u); /* 0289929C */ _t62 = _t61 & 0x00000001u; /* 0289929C */ if (_t62) goto L_02899284; else goto L_028992A0; L_028992A0: ; // 0x28992a0 /* 028992A0 */ _t63 = cpu->r[1] + 0x00000008u; /* 028992A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63); /* 028992A4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028992A8 */ cpu->r[6] = cpu->r[6] + 0x00000004u; L_028992AC: ; // 0x28992ac /* 028992AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu); /* 028992B0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 028992B0 */ _t65 = _t64 & 0x00000001u; /* 028992B0 */ if (_t65) goto L_028992B4; else goto L_028992C0; L_028992B4: ; // 0x28992b4 /* 028992B4 */ cpu->r[10] = cpu->r[29] - cpu->r[3]; /* 028992B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028992B8 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u); /* 028992B8 */ _t67 = _t66 & 0x00000001u; /* 028992B8 */ if (_t67) goto L_028992FC; else goto L_028992BC; L_028992BC: ; // 0x28992bc /* 028992BC */ goto L_028992D4; L_028992C0: ; // 0x28992c0 /* 028992C0 */ cpu->r[11] = cpu->r[29] - cpu->r[9]; /* 028992C4 */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 028992C8 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu; /* 028992C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028992CC */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028992D0 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 028992D0 */ _t69 = _t68 & 0x00000001u; /* 028992D0 */ if (_t69) goto L_028992FC; else goto L_028992D4; L_028992D4: ; // 0x28992d4 /* 028992D4 */ _t70 = cpu->r[6] + 0x00000000u; /* 028992D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70); /* 028992D8 */ cpu->r[5] = cpu->r[5] + cpu->r[12]; /* 028992DC */ _t71 = cpu->r[6] + 0x00000000u; /* 028992DC */ rbrew_write32(cpu->mem, _t71, cpu->r[5]); /* 028992E0 */ _t72 = cpu->r[7] + 0x00000000u; /* 028992E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t72); /* 028992E4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028992E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028992E8 */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 028992EC */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 028992F0 */ _t73 = cpu->r[7] + 0x00000000u; /* 028992F0 */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[0]); /* 028992F4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028992F8 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u); /* 028992F8 */ _t75 = _t74 & 0x00000001u; /* 028992F8 */ if (_t75) goto L_028992FC; else goto L_028992D4; L_028992FC: ; // 0x28992fc /* 028992FC */ _t76 = cpu->r[1] + 0x00000014u; /* 028992FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t76); /* 02899300 */ _t77 = cpu->r[1] + 0x00000024u; /* 02899300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 02899304 */ _t78 = cpu->r[1] + 0x00000018u; /* 02899304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78); /* 02899308 */ cpu->lr = cpu->r[0]; /* 0289930C */ _t79 = cpu->r[1] + 0x0000001Cu; /* 0289930C */ cpu->r[31] = rbrew_read32(cpu->mem, _t79); /* 02899310 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02899314 */ return; } // fn_02899114 @ 0x2899114 void Gambit_fn_02899114(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02899114: ; // 0x2899114 /* 02899114 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02899114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02899114 */ cpu->r[1] = _t0; /* 02899118 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 02899118 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289911C */ _t2 = cpu->r[1] + 0x00000014u; /* 0289911C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02899120 */ cpu->r[31] = cpu->r[3]; /* 02899124 */ _t3 = cpu->r[1] + 0x00000018u; /* 02899124 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02899128 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0289912C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 02899130 */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 02899134 */ _t4 = cpu->r[1] + 0x00000024u; /* 02899134 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02899138 */ Gambit_fn_02898DC4(cpu); /* 0289913C */ _t5 = cpu->r[31] + 0x00000018u; /* 0289913C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 02899140 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 02899144 */ _t6 = cpu->r[31] + 0x00000018u; /* 02899144 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]); /* 02899148 */ _t7 = cpu->r[10] + 0x00000000u; /* 02899148 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 0289914C */ _t8 = cpu->r[31] + 0x00000020u; /* 0289914C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02899150 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000002Cu); /* 02899154 */ _t9 = cpu->r[1] + 0x00000010u; /* 02899154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02899158 */ cpu->r[4] = cpu->r[11] + cpu->r[30]; /* 0289915C */ _t10 = cpu->r[4] + 0x0000001Cu; /* 0289915C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 02899160 */ _t11 = cpu->r[4] + 0x00000028u; /* 02899160 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11); /* 02899164 */ _t12 = cpu->r[4] + 0x00000020u; /* 02899164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 02899168 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289916C */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0289916C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02899170 */ cpu->r[7] = cpu->r[8] + cpu->r[5]; /* 02899174 */ _t14 = cpu->r[7] + 0xFFFFFFFEu; /* 02899174 */ cpu->r[29] = rbrew_read16(cpu->mem, _t14); /* 02899178 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]); /* 0289917C */ _t15 = cpu->r[9] + 0x00000000u; /* 0289917C */ cpu->r[3] = rbrew_read16(cpu->mem, _t15); /* 02899180 */ _t16 = cpu->r[31] + 0x00000010u; /* 02899180 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 02899184 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899184 */ _t18 = _t17 & 0x00000001u; /* 02899184 */ if (_t18) goto L_02899190; else goto L_02899188; L_02899188: ; // 0x2899188 /* 02899188 */ cpu->r[10] = 0xFFFFFFFFu; /* 0289918C */ _t19 = cpu->r[1] + 0x00000008u; /* 0289918C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]); L_02899190: ; // 0x2899190 /* 02899190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02899194 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899194 */ _t21 = _t20 & 0x00000001u; /* 02899194 */ if (_t21) goto L_02899240; else goto L_02899198; L_02899198: ; // 0x2899198 /* 02899198 */ _t22 = cpu->r[1] + 0x00000008u; /* 02899198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 0289919C */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028991A0 */ _t23 = cpu->r[4] + 0x00000000u; /* 028991A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23); /* 028991A4 */ cpu->r[11] = cpu->r[9] - cpu->r[3]; /* 028991A8 */ _t24 = cpu->r[4] + 0x00000024u; /* 028991A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 028991AC */ cpu->r[6] = cpu->r[6] + cpu->r[5]; /* 028991B0 */ cpu->r[5] = cpu->r[11] + 0xFFFFFFFFu; /* 028991B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028991B4 */ cpu->r[7] = cpu->r[7] + cpu->r[3]; /* 028991B8 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 028991B8 */ _t26 = _t25 & 0x00000001u; /* 028991B8 */ if (_t26) goto L_028991F0; else goto L_028991BC; L_028991BC: ; // 0x28991bc /* 028991BC */ cpu->ctr = cpu->r[11]; /* 028991C0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028991C4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; L_028991C8: ; // 0x28991c8 /* 028991C8 */ _t27 = cpu->r[6] + 0x00000004u; /* 028991C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27); /* 028991C8 */ cpu->r[6] = _t27; /* 028991CC */ cpu->r[8] = cpu->r[8] + cpu->r[0]; /* 028991D0 */ _t28 = cpu->r[6] + 0x00000000u; /* 028991D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]); /* 028991D4 */ _t29 = cpu->r[7] + 0x00000001u; /* 028991D4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t29); /* 028991D4 */ cpu->r[7] = _t29; /* 028991D8 */ cpu->r[9] = cpu->r[9] | 0x00000001u; /* 028991DC */ _t30 = cpu->r[7] + 0x00000000u; /* 028991DC */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[9]); /* 028991E0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028991E0 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028991E0 */ _t32 = _t31 >> (0x00000002u & 31u); /* 028991E0 */ _t33 = _t32 & 0x00000001u; /* 028991E0 */ if (_t33) goto L_028991C8; else goto L_028991E4; L_028991E4: ; // 0x28991e4 /* 028991E4 */ _t34 = cpu->r[1] + 0x00000008u; /* 028991E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34); /* 028991E8 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028991EC */ cpu->r[6] = cpu->r[6] + 0x00000004u; L_028991F0: ; // 0x28991f0 /* 028991F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu); /* 028991F4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028991F4 */ _t36 = _t35 & 0x00000001u; /* 028991F4 */ if (_t36) goto L_028991F8; else goto L_02899204; L_028991F8: ; // 0x28991f8 /* 028991F8 */ cpu->r[5] = cpu->r[29] - cpu->r[3]; /* 028991F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028991FC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 028991FC */ _t38 = _t37 & 0x00000001u; /* 028991FC */ if (_t38) goto L_02899240; else goto L_02899200; L_02899200: ; // 0x2899200 /* 02899200 */ goto L_02899218; L_02899204: ; // 0x2899204 /* 02899204 */ cpu->r[10] = cpu->r[29] - cpu->r[9]; /* 02899208 */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 0289920C */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFFu; /* 0289920C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02899210 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 02899214 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899214 */ _t40 = _t39 & 0x00000001u; /* 02899214 */ if (_t40) goto L_02899240; else goto L_02899218; L_02899218: ; // 0x2899218 /* 02899218 */ _t41 = cpu->r[6] + 0x00000000u; /* 02899218 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 0289921C */ cpu->r[11] = cpu->r[11] + cpu->r[0]; /* 02899220 */ _t42 = cpu->r[6] + 0x00000000u; /* 02899220 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]); /* 02899224 */ _t43 = cpu->r[7] + 0x00000000u; /* 02899224 */ cpu->r[9] = rbrew_read8(cpu->mem, _t43); /* 02899228 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; /* 02899228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289922C */ cpu->r[9] = cpu->r[9] | 0x00000001u; /* 02899230 */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 02899234 */ _t44 = cpu->r[7] + 0x00000000u; /* 02899234 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[9]); /* 02899238 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0289923C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289923C */ _t46 = _t45 & 0x00000001u; /* 0289923C */ if (_t46) goto L_02899240; else goto L_02899218; L_02899240: ; // 0x2899240 /* 02899240 */ _t47 = cpu->r[31] + 0x00000012u; /* 02899240 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t47); /* 02899244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02899248 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899248 */ _t49 = _t48 & 0x00000001u; /* 02899248 */ if (_t49) goto L_028992FC; else goto L_0289924C; L_0289924C: ; // 0x289924c /* 0289924C */ _t50 = cpu->r[31] + 0x00000020u; /* 0289924C */ cpu->r[11] = rbrew_read32(cpu->mem, _t50); /* 02899250 */ _t51 = cpu->r[1] + 0x00000008u; /* 02899250 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51); /* 02899254 */ cpu->r[4] = cpu->r[11] + cpu->r[30]; /* 02899258 */ _t52 = cpu->r[4] + 0x00000004u; /* 02899258 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52); /* 0289925C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899260 */ _t53 = cpu->r[4] + 0x00000024u; /* 02899260 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53); /* 02899264 */ cpu->r[8] = cpu->r[9] - cpu->r[3]; /* 02899268 */ cpu->r[6] = cpu->r[6] + cpu->r[0]; /* 0289926C */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu; /* 0289926C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02899270 */ cpu->r[7] = cpu->r[7] + cpu->r[3]; /* 02899274 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899274 */ _t55 = _t54 & 0x00000001u; /* 02899274 */ if (_t55) goto L_028992AC; else goto L_02899278; L_02899278: ; // 0x2899278 /* 02899278 */ cpu->ctr = cpu->r[8]; /* 0289927C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 02899280 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; L_02899284: ; // 0x2899284 /* 02899284 */ _t56 = cpu->r[6] + 0x00000004u; /* 02899284 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56); /* 02899284 */ cpu->r[6] = _t56; /* 02899288 */ cpu->r[8] = cpu->r[8] + cpu->r[12]; /* 0289928C */ _t57 = cpu->r[6] + 0x00000000u; /* 0289928C */ rbrew_write32(cpu->mem, _t57, cpu->r[8]); /* 02899290 */ _t58 = cpu->r[7] + 0x00000001u; /* 02899290 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58); /* 02899290 */ cpu->r[7] = _t58; /* 02899294 */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 02899298 */ _t59 = cpu->r[7] + 0x00000000u; /* 02899298 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[0]); /* 0289929C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289929C */ _t60 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289929C */ _t61 = _t60 >> (0x00000002u & 31u); /* 0289929C */ _t62 = _t61 & 0x00000001u; /* 0289929C */ if (_t62) goto L_02899284; else goto L_028992A0; L_028992A0: ; // 0x28992a0 /* 028992A0 */ _t63 = cpu->r[1] + 0x00000008u; /* 028992A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63); /* 028992A4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028992A8 */ cpu->r[6] = cpu->r[6] + 0x00000004u; L_028992AC: ; // 0x28992ac /* 028992AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu); /* 028992B0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 028992B0 */ _t65 = _t64 & 0x00000001u; /* 028992B0 */ if (_t65) goto L_028992B4; else goto L_028992C0; L_028992B4: ; // 0x28992b4 /* 028992B4 */ cpu->r[10] = cpu->r[29] - cpu->r[3]; /* 028992B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028992B8 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u); /* 028992B8 */ _t67 = _t66 & 0x00000001u; /* 028992B8 */ if (_t67) goto L_028992FC; else goto L_028992BC; L_028992BC: ; // 0x28992bc /* 028992BC */ goto L_028992D4; L_028992C0: ; // 0x28992c0 /* 028992C0 */ cpu->r[11] = cpu->r[29] - cpu->r[9]; /* 028992C4 */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 028992C8 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu; /* 028992C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028992CC */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028992D0 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 028992D0 */ _t69 = _t68 & 0x00000001u; /* 028992D0 */ if (_t69) goto L_028992FC; else goto L_028992D4; L_028992D4: ; // 0x28992d4 /* 028992D4 */ _t70 = cpu->r[6] + 0x00000000u; /* 028992D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70); /* 028992D8 */ cpu->r[5] = cpu->r[5] + cpu->r[12]; /* 028992DC */ _t71 = cpu->r[6] + 0x00000000u; /* 028992DC */ rbrew_write32(cpu->mem, _t71, cpu->r[5]); /* 028992E0 */ _t72 = cpu->r[7] + 0x00000000u; /* 028992E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t72); /* 028992E4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028992E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028992E8 */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 028992EC */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 028992F0 */ _t73 = cpu->r[7] + 0x00000000u; /* 028992F0 */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[0]); /* 028992F4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028992F8 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u); /* 028992F8 */ _t75 = _t74 & 0x00000001u; /* 028992F8 */ if (_t75) goto L_028992FC; else goto L_028992D4; L_028992FC: ; // 0x28992fc /* 028992FC */ _t76 = cpu->r[1] + 0x00000014u; /* 028992FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t76); /* 02899300 */ _t77 = cpu->r[1] + 0x00000024u; /* 02899300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 02899304 */ _t78 = cpu->r[1] + 0x00000018u; /* 02899304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78); /* 02899308 */ cpu->lr = cpu->r[0]; /* 0289930C */ _t79 = cpu->r[1] + 0x0000001Cu; /* 0289930C */ cpu->r[31] = rbrew_read32(cpu->mem, _t79); /* 02899310 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02899314 */ return; } // fn_02899318 @ 0x2899318 void Gambit_fn_02899318(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_02899318: ; // 0x2899318 /* 02899318 */ cpu->r[0] = cpu->lr; /* 0289931C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289931C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289931C */ cpu->r[1] = _t0; /* 02899320 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02899320 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02899324 */ _t2 = cpu->r[1] + 0x00000010u; /* 02899324 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02899328 */ _t3 = cpu->r[1] + 0x00000008u; /* 02899328 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0289932C */ _t4 = cpu->r[1] + 0x00000014u; /* 0289932C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02899330 */ cpu->r[28] = cpu->r[3]; /* 02899334 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02899334 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02899338 */ _t6 = cpu->r[28] + 0x00000018u; /* 02899338 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0289933C */ cpu->r[30] = 0x00000000u; /* 02899340 */ _t7 = cpu->r[28] + 0x00000010u; /* 02899340 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02899344 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02899348 */ cpu->r[31] = cpu->r[30]; /* 0289934C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02899350 */ _t8 = cpu->r[28] + 0x00000018u; /* 02899350 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02899354 */ _t9 = cpu->r[12] + 0x00000000u; /* 02899354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 02899358 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899358 */ _t11 = _t10 & 0x00000001u; /* 02899358 */ if (_t11) goto L_0289936C; else goto L_0289935C; L_0289935C: ; // 0x289935c /* 0289935C */ cpu->r[5] = 0x0000000Eu; /* 02899360 */ cpu->r[3] = cpu->r[29]; /* 02899364 */ Gambit_fn_0287B904(cpu); /* 02899368 */ cpu->r[30] = cpu->r[3]; L_0289936C: ; // 0x289936c /* 0289936C */ _t12 = cpu->r[28] + 0x00000012u; /* 0289936C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02899370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02899374 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899374 */ _t14 = _t13 & 0x00000001u; /* 02899374 */ if (_t14) goto L_02899388; else goto L_02899378; L_02899378: ; // 0x2899378 /* 02899378 */ cpu->r[5] = 0x0000000Eu; /* 0289937C */ cpu->r[3] = cpu->r[29]; /* 02899380 */ Gambit_fn_0287B904(cpu); /* 02899384 */ cpu->r[31] = cpu->r[3]; L_02899388: ; // 0x2899388 /* 02899388 */ cpu->r[5] = cpu->r[31]; /* 0289938C */ cpu->r[4] = cpu->r[30]; /* 02899390 */ cpu->r[3] = cpu->r[28]; /* 02899394 */ Gambit_fn_02898F28(cpu); /* 02899398 */ _t15 = cpu->r[1] + 0x00000008u; /* 02899398 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 0289939C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0289939C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 028993A0 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 028993A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028993A4 */ _t18 = cpu->r[1] + 0x00000010u; /* 028993A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 028993A8 */ cpu->lr = cpu->r[0]; /* 028993AC */ _t19 = cpu->r[1] + 0x00000014u; /* 028993AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 028993B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028993B4 */ return; } // fn_0289931C @ 0x289931c void Gambit_fn_0289931C(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_0289931C: ; // 0x289931c /* 0289931C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289931C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289931C */ cpu->r[1] = _t0; /* 02899320 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02899320 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02899324 */ _t2 = cpu->r[1] + 0x00000010u; /* 02899324 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02899328 */ _t3 = cpu->r[1] + 0x00000008u; /* 02899328 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0289932C */ _t4 = cpu->r[1] + 0x00000014u; /* 0289932C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02899330 */ cpu->r[28] = cpu->r[3]; /* 02899334 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02899334 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02899338 */ _t6 = cpu->r[28] + 0x00000018u; /* 02899338 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0289933C */ cpu->r[30] = 0x00000000u; /* 02899340 */ _t7 = cpu->r[28] + 0x00000010u; /* 02899340 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02899344 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02899348 */ cpu->r[31] = cpu->r[30]; /* 0289934C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02899350 */ _t8 = cpu->r[28] + 0x00000018u; /* 02899350 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02899354 */ _t9 = cpu->r[12] + 0x00000000u; /* 02899354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 02899358 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899358 */ _t11 = _t10 & 0x00000001u; /* 02899358 */ if (_t11) goto L_0289936C; else goto L_0289935C; L_0289935C: ; // 0x289935c /* 0289935C */ cpu->r[5] = 0x0000000Eu; /* 02899360 */ cpu->r[3] = cpu->r[29]; /* 02899364 */ Gambit_fn_0287B904(cpu); /* 02899368 */ cpu->r[30] = cpu->r[3]; L_0289936C: ; // 0x289936c /* 0289936C */ _t12 = cpu->r[28] + 0x00000012u; /* 0289936C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02899370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02899374 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899374 */ _t14 = _t13 & 0x00000001u; /* 02899374 */ if (_t14) goto L_02899388; else goto L_02899378; L_02899378: ; // 0x2899378 /* 02899378 */ cpu->r[5] = 0x0000000Eu; /* 0289937C */ cpu->r[3] = cpu->r[29]; /* 02899380 */ Gambit_fn_0287B904(cpu); /* 02899384 */ cpu->r[31] = cpu->r[3]; L_02899388: ; // 0x2899388 /* 02899388 */ cpu->r[5] = cpu->r[31]; /* 0289938C */ cpu->r[4] = cpu->r[30]; /* 02899390 */ cpu->r[3] = cpu->r[28]; /* 02899394 */ Gambit_fn_02898F28(cpu); /* 02899398 */ _t15 = cpu->r[1] + 0x00000008u; /* 02899398 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 0289939C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0289939C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 028993A0 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 028993A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028993A4 */ _t18 = cpu->r[1] + 0x00000010u; /* 028993A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 028993A8 */ cpu->lr = cpu->r[0]; /* 028993AC */ _t19 = cpu->r[1] + 0x00000014u; /* 028993AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 028993B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028993B4 */ return; } // fn_028993B8 @ 0x28993b8 void Gambit_fn_028993B8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028993B8: ; // 0x28993b8 /* 028993B8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028993B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028993B8 */ cpu->r[1] = _t0; /* 028993BC */ /* nop */ /* 028993C0 */ cpu->r[0] = cpu->lr; /* 028993C4 */ _t1 = cpu->r[1] + 0x00000034u; /* 028993C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028993C8 */ cpu->r[30] = cpu->r[3]; /* 028993CC */ _t2 = cpu->r[30] + 0x00000000u; /* 028993CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t2); /* 028993D0 */ _t3 = cpu->r[30] + 0x00000004u; /* 028993D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 028993D4 */ _t4 = cpu->r[30] + 0x00000020u; /* 028993D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 028993D8 */ _t5 = cpu->r[5] + 0x00000004u; /* 028993D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 028993DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]); /* 028993E0 */ _t6 = cpu->r[30] + 0x00000030u; /* 028993E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 028993E4 */ cpu->r[31] = 0x00000001u; /* 028993E8 */ _t7 = cpu->r[30] + 0x0000002Cu; /* 028993E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 028993EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028993EC */ _t9 = _t8 & 0x00000001u; /* 028993EC */ if (_t9) goto L_02899408; else goto L_028993F0; L_028993F0: ; // 0x28993f0 /* 028993F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[10]); /* 028993F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028993F4 */ _t11 = _t10 & 0x00000001u; /* 028993F4 */ if (_t11) goto L_02899408; else goto L_028993F8; L_028993F8: ; // 0x28993f8 /* 028993F8 */ _t12 = cpu->r[30] + 0x00000008u; /* 028993F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028993FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 02899400 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899400 */ _t14 = _t13 & 0x00000001u; /* 02899400 */ if (_t14) goto L_02899408; else goto L_02899404; L_02899404: ; // 0x2899404 /* 02899404 */ cpu->r[31] = 0x00000000u; L_02899408: ; // 0x2899408 /* 02899408 */ cpu->r[29] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289940C */ _t15 = cpu->r[30] + 0x00000044u; /* 0289940C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 02899410 */ _t16 = cpu->r[28] + 0x00000004u; /* 02899410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 02899414 */ _t17 = cpu->r[28] + 0x00000000u; /* 02899414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17); /* 02899418 */ cpu->r[26] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289941C */ _t18 = cpu->r[5] + 0x00000000u; /* 0289941C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18); /* 02899420 */ _t19 = cpu->r[11] + cpu->r[26]; /* 02899420 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19); /* 02899424 */ _t20 = cpu->r[12] + cpu->r[29]; /* 02899424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02899428 */ cpu->ctr = cpu->r[10]; /* 0289942C */ _t21 = cpu->r[8] + cpu->r[29]; /* 0289942C */ cpu->r[10] = rbrew_read32(cpu->mem, _t21); /* 02899430 */ cpu->r[5] = cpu->r[5] - cpu->r[0]; /* 02899434 */ _t22 = cpu->r[7] + cpu->r[26]; /* 02899434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02899438 */ cpu->r[3] = cpu->r[30]; /* 0289943C */ cpu->r[4] = cpu->r[0] - cpu->r[10]; /* 02899440 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02899444 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02899448 */ cpu->r[27] = cpu->r[3]; /* 0289944C */ _t23 = cpu->r[30] + 0x00000048u; /* 0289944C */ cpu->r[6] = rbrew_read32(cpu->mem, _t23); /* 02899450 */ cpu->r[3] = cpu->r[30]; /* 02899454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02899458 */ _t24 = cpu->r[30] + 0x00000004u; /* 02899458 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24); /* 0289945C */ cpu->ctr = cpu->r[6]; /* 02899460 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899460 */ _t26 = _t25 & 0x00000001u; /* 02899460 */ if (_t26) goto L_028994A4; else goto L_02899464; L_02899464: ; // 0x2899464 /* 02899464 */ _t27 = cpu->r[5] + 0x00000008u; /* 02899464 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27); /* 02899468 */ _t28 = cpu->r[28] + 0x00000008u; /* 02899468 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28); /* 0289946C */ _t29 = cpu->r[7] + cpu->r[26]; /* 0289946C */ cpu->r[9] = rbrew_read32(cpu->mem, _t29); /* 02899470 */ _t30 = cpu->r[8] + cpu->r[29]; /* 02899470 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30); /* 02899474 */ _t31 = cpu->r[5] + 0x0000000Cu; /* 02899474 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31); /* 02899478 */ _t32 = cpu->r[28] + 0x0000000Cu; /* 02899478 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 0289947C */ _t33 = cpu->r[11] + cpu->r[26]; /* 0289947C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02899480 */ cpu->r[4] = cpu->r[9] - cpu->r[10]; /* 02899484 */ _t34 = cpu->r[12] + cpu->r[29]; /* 02899484 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 02899488 */ cpu->r[5] = cpu->r[0] - cpu->r[5]; /* 0289948C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02899490 */ _t35 = cpu->r[30] + 0x00000034u; /* 02899490 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35); /* 02899494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02899498 */ cpu->r[26] = cpu->r[3]; /* 0289949C */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289949C */ _t37 = _t36 & 0x00000001u; /* 0289949C */ if (_t37) goto L_0289960C; else goto L_028994A0; L_028994A0: ; // 0x28994a0 /* 028994A0 */ goto L_028994E0; L_028994A4: ; // 0x28994a4 /* 028994A4 */ _t38 = cpu->r[28] + 0x00000010u; /* 028994A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38); /* 028994A8 */ _t39 = cpu->r[5] + 0x00000010u; /* 028994A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39); /* 028994AC */ _t40 = cpu->r[8] + cpu->r[29]; /* 028994AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 028994B0 */ _t41 = cpu->r[7] + cpu->r[26]; /* 028994B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41); /* 028994B4 */ _t42 = cpu->r[5] + 0x00000014u; /* 028994B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42); /* 028994B8 */ _t43 = cpu->r[28] + 0x00000014u; /* 028994B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43); /* 028994BC */ _t44 = cpu->r[11] + cpu->r[26]; /* 028994BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t44); /* 028994C0 */ cpu->r[4] = cpu->r[9] - cpu->r[0]; /* 028994C4 */ _t45 = cpu->r[12] + cpu->r[29]; /* 028994C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 028994C8 */ cpu->r[5] = cpu->r[10] - cpu->r[0]; /* 028994CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028994D0 */ _t46 = cpu->r[30] + 0x00000034u; /* 028994D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46); /* 028994D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028994D8 */ cpu->r[26] = cpu->r[3]; /* 028994DC */ _t47 = cpu->cr[0] >> (0x00000003u & 31u); /* 028994DC */ _t48 = _t47 & 0x00000001u; /* 028994DC */ if (_t48) goto L_0289960C; else goto L_028994E0; L_028994E0: ; // 0x28994e0 /* 028994E0 */ _t49 = cpu->r[30] + 0x00000024u; /* 028994E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49); /* 028994E4 */ _t50 = cpu->r[30] + 0x00000018u; /* 028994E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t50); /* 028994E8 */ _t51 = cpu->r[12] + 0x00000004u; /* 028994E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51); /* 028994EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]); /* 028994F0 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 028994F0 */ _t53 = _t52 & 0x00000001u; /* 028994F0 */ if (_t53) goto L_028994F4; else goto L_0289960C; L_028994F4: ; // 0x28994f4 /* 028994F4 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFCu; /* 028994F8 */ _t54 = cpu->r[30] + 0x00000018u; /* 028994F8 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]); /* 028994FC */ _t55 = cpu->r[6] + 0xFFFFFFFCu; /* 028994FC */ cpu->r[25] = rbrew_read32(cpu->mem, _t55); /* 02899500 */ cpu->r[3] = cpu->r[30]; /* 02899504 */ _t56 = cpu->r[30] + 0x00000048u; /* 02899504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 02899508 */ cpu->r[23] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289950C */ _t57 = cpu->r[30] + 0x00000008u; /* 0289950C */ cpu->r[8] = rbrew_read32(cpu->mem, _t57); /* 02899510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02899514 */ cpu->ctr = cpu->r[0]; /* 02899518 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899518 */ _t59 = _t58 & 0x00000001u; /* 02899518 */ if (_t59) goto L_02899558; else goto L_0289951C; L_0289951C: ; // 0x289951c /* 0289951C */ _t60 = cpu->r[8] + 0x00000008u; /* 0289951C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60); /* 02899520 */ _t61 = cpu->r[28] + 0x00000008u; /* 02899520 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61); /* 02899524 */ _t62 = cpu->r[12] + cpu->r[23]; /* 02899524 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62); /* 02899528 */ _t63 = cpu->r[5] + cpu->r[29]; /* 02899528 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63); /* 0289952C */ _t64 = cpu->r[8] + 0x0000000Cu; /* 0289952C */ cpu->r[9] = rbrew_read32(cpu->mem, _t64); /* 02899530 */ _t65 = cpu->r[28] + 0x0000000Cu; /* 02899530 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65); /* 02899534 */ _t66 = cpu->r[9] + cpu->r[23]; /* 02899534 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66); /* 02899538 */ cpu->r[4] = cpu->r[6] - cpu->r[7]; /* 0289953C */ _t67 = cpu->r[10] + cpu->r[29]; /* 0289953C */ cpu->r[12] = rbrew_read32(cpu->mem, _t67); /* 02899540 */ cpu->r[5] = cpu->r[11] - cpu->r[12]; /* 02899544 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02899548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289954C */ cpu->r[24] = cpu->r[3]; /* 02899550 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899550 */ _t69 = _t68 & 0x00000001u; /* 02899550 */ if (_t69) goto L_028995A4; else goto L_02899554; L_02899554: ; // 0x2899554 /* 02899554 */ goto L_02899590; L_02899558: ; // 0x2899558 /* 02899558 */ _t70 = cpu->r[28] + 0x00000010u; /* 02899558 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70); /* 0289955C */ _t71 = cpu->r[8] + 0x00000010u; /* 0289955C */ cpu->r[5] = rbrew_read32(cpu->mem, _t71); /* 02899560 */ _t72 = cpu->r[6] + cpu->r[29]; /* 02899560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 02899564 */ _t73 = cpu->r[5] + cpu->r[23]; /* 02899564 */ cpu->r[7] = rbrew_read32(cpu->mem, _t73); /* 02899568 */ _t74 = cpu->r[8] + 0x00000014u; /* 02899568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74); /* 0289956C */ _t75 = cpu->r[28] + 0x00000014u; /* 0289956C */ cpu->r[11] = rbrew_read32(cpu->mem, _t75); /* 02899570 */ _t76 = cpu->r[10] + cpu->r[23]; /* 02899570 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76); /* 02899574 */ cpu->r[4] = cpu->r[7] - cpu->r[0]; /* 02899578 */ _t77 = cpu->r[11] + cpu->r[29]; /* 02899578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 0289957C */ cpu->r[5] = cpu->r[12] - cpu->r[0]; /* 02899580 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02899584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02899588 */ cpu->r[24] = cpu->r[3]; /* 0289958C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289958C */ _t79 = _t78 & 0x00000001u; /* 0289958C */ if (_t79) goto L_028995A4; else goto L_02899590; L_02899590: ; // 0x2899590 /* 02899590 */ cpu->r[5] = cpu->r[26]; /* 02899594 */ cpu->r[4] = cpu->r[24]; /* 02899598 */ cpu->r[3] = cpu->r[27]; /* 0289959C */ Gambit_fn_0287B768(cpu); /* 028995A0 */ cpu->r[24] = cpu->r[3]; L_028995A4: ; // 0x28995a4 /* 028995A4 */ _t80 = cpu->r[30] + 0x00000008u; /* 028995A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t80); /* 028995A8 */ _t81 = cpu->r[30] + 0x00000044u; /* 028995A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81); /* 028995AC */ _t82 = cpu->r[8] + 0x00000000u; /* 028995AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t82); /* 028995B0 */ _t83 = cpu->r[28] + 0x00000004u; /* 028995B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83); /* 028995B4 */ _t84 = cpu->r[7] + cpu->r[23]; /* 028995B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84); /* 028995B8 */ _t85 = cpu->r[28] + 0x00000000u; /* 028995B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85); /* 028995BC */ _t86 = cpu->r[8] + 0x00000004u; /* 028995BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t86); /* 028995C0 */ _t87 = cpu->r[9] + cpu->r[29]; /* 028995C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87); /* 028995C4 */ cpu->ctr = cpu->r[11]; /* 028995C8 */ _t88 = cpu->r[12] + cpu->r[23]; /* 028995C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t88); /* 028995CC */ cpu->r[4] = cpu->r[10] - cpu->r[0]; /* 028995D0 */ _t89 = cpu->r[5] + cpu->r[29]; /* 028995D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89); /* 028995D4 */ cpu->r[3] = cpu->r[30]; /* 028995D8 */ cpu->r[5] = cpu->r[6] - cpu->r[7]; /* 028995DC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028995E0 */ _t90 = cpu->r[30] + 0x00000040u; /* 028995E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90); /* 028995E4 */ cpu->r[6] = cpu->r[24] - cpu->r[3]; /* 028995E8 */ cpu->ctr = cpu->r[8]; /* 028995EC */ cpu->r[3] = cpu->r[30]; /* 028995F0 */ _t91 = cpu->r[30] + 0x00000008u; /* 028995F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t91); /* 028995F4 */ cpu->r[5] = cpu->r[25]; /* 028995F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028995FC */ _t92 = cpu->r[30] + 0x00000034u; /* 028995FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t92); /* 02899600 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 02899600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02899604 */ _t93 = cpu->r[30] + 0x00000034u; /* 02899604 */ rbrew_write32(cpu->mem, _t93, cpu->r[8]); /* 02899608 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899608 */ _t95 = _t94 & 0x00000001u; /* 02899608 */ if (_t95) goto L_0289960C; else goto L_028994E0; L_0289960C: ; // 0x289960c /* 0289960C */ cpu->r[6] = 0x00000000u; /* 02899610 */ _t96 = cpu->r[30] + 0x00000034u; /* 02899610 */ rbrew_write32(cpu->mem, _t96, cpu->r[6]); /* 02899614 */ /* nop */ /* 02899618 */ _t97 = cpu->r[1] + 0x00000034u; /* 02899618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 0289961C */ cpu->lr = cpu->r[0]; /* 02899620 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02899624 */ return; } // fn_02899628 @ 0x2899628 void Gambit_fn_02899628(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02899628: ; // 0x2899628 /* 02899628 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02899628 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02899628 */ cpu->r[1] = _t0; /* 0289962C */ /* nop */ /* 02899630 */ cpu->r[0] = cpu->lr; /* 02899634 */ _t1 = cpu->r[1] + 0x00000034u; /* 02899634 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02899638 */ cpu->r[30] = cpu->r[3]; /* 0289963C */ _t2 = cpu->r[30] + 0x00000018u; /* 0289963C */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 02899640 */ _t3 = cpu->r[30] + 0x00000004u; /* 02899640 */ cpu->r[26] = rbrew_read32(cpu->mem, _t3); /* 02899644 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 02899648 */ _t4 = cpu->r[30] + 0x00000028u; /* 02899648 */ cpu->r[28] = rbrew_read32(cpu->mem, _t4); /* 0289964C */ _t5 = cpu->r[30] + 0x00000018u; /* 0289964C */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 02899650 */ _t6 = cpu->r[10] + 0x00000000u; /* 02899650 */ cpu->r[25] = rbrew_read32(cpu->mem, _t6); /* 02899654 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFCu; /* 02899658 */ _t7 = cpu->r[30] + 0x00000020u; /* 02899658 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7); /* 0289965C */ _t8 = cpu->r[30] + 0x00000018u; /* 0289965C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02899660 */ _t9 = cpu->r[10] + 0xFFFFFFFCu; /* 02899660 */ cpu->r[27] = rbrew_read32(cpu->mem, _t9); /* 02899664 */ cpu->r[29] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]); /* 0289966C */ _t10 = cpu->r[30] + 0x00000000u; /* 0289966C */ cpu->r[23] = rbrew_read32(cpu->mem, _t10); /* 02899670 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899674 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899674 */ _t12 = _t11 & 0x00000001u; /* 02899674 */ if (_t12) goto L_02899678; else goto L_028996E0; L_02899678: ; // 0x2899678 /* 02899678 */ _t13 = cpu->r[30] + 0x0000000Cu; /* 02899678 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13); /* 0289967C */ cpu->r[5] = 0x0000000Eu; /* 02899680 */ cpu->r[3] = cpu->r[25]; /* 02899684 */ Gambit_fn_0287B904(cpu); /* 02899688 */ _t14 = cpu->r[23] + 0x00000008u; /* 02899688 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 0289968C */ _t15 = cpu->r[9] + cpu->r[29]; /* 0289968C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 02899690 */ _t16 = cpu->r[26] + 0x00000008u; /* 02899690 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16); /* 02899694 */ cpu->r[0] = cpu->r[12] + cpu->r[3]; /* 02899698 */ _t17 = cpu->r[7] + cpu->r[24]; /* 02899698 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0289969C */ _t18 = cpu->r[23] + 0x0000000Cu; /* 0289969C */ cpu->r[22] = rbrew_read32(cpu->mem, _t18); /* 028996A0 */ cpu->r[5] = 0x0000000Eu; /* 028996A4 */ _t19 = cpu->r[30] + 0x0000000Eu; /* 028996A4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19); /* 028996A8 */ cpu->r[3] = cpu->r[25]; /* 028996AC */ _t20 = cpu->r[26] + 0x0000000Cu; /* 028996AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 028996B0 */ Gambit_fn_0287B904(cpu); /* 028996B4 */ _t21 = cpu->r[22] + cpu->r[29]; /* 028996B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 028996B8 */ cpu->r[0] = cpu->r[11] + cpu->r[3]; /* 028996BC */ _t22 = cpu->r[31] + cpu->r[24]; /* 028996BC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028996C0 */ _t23 = cpu->r[26] + 0x00000008u; /* 028996C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23); /* 028996C4 */ _t24 = cpu->r[26] + 0x00000000u; /* 028996C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 028996C8 */ _t25 = cpu->r[5] + cpu->r[24]; /* 028996C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25); /* 028996CC */ _t26 = cpu->r[12] + cpu->r[24]; /* 028996CC */ rbrew_write32(cpu->mem, _t26, cpu->r[6]); /* 028996D0 */ _t27 = cpu->r[26] + 0x0000000Cu; /* 028996D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27); /* 028996D4 */ _t28 = cpu->r[26] + 0x00000004u; /* 028996D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28); /* 028996D8 */ _t29 = cpu->r[8] + cpu->r[24]; /* 028996D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028996DC */ _t30 = cpu->r[7] + cpu->r[24]; /* 028996DC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); L_028996E0: ; // 0x28996e0 /* 028996E0 */ _t31 = cpu->r[26] + 0x00000004u; /* 028996E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31); /* 028996E4 */ _t32 = cpu->r[23] + 0x00000004u; /* 028996E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 028996E8 */ _t33 = cpu->r[30] + 0x00000044u; /* 028996E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33); /* 028996EC */ _t34 = cpu->r[23] + 0x00000000u; /* 028996EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 028996F0 */ _t35 = cpu->r[26] + 0x00000000u; /* 028996F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 028996F4 */ _t36 = cpu->r[12] + cpu->r[29]; /* 028996F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 028996F8 */ _t37 = cpu->r[11] + cpu->r[24]; /* 028996F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37); /* 028996FC */ cpu->ctr = cpu->r[10]; /* 02899700 */ _t38 = cpu->r[7] + cpu->r[24]; /* 02899700 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38); /* 02899704 */ cpu->r[4] = cpu->r[5] - cpu->r[0]; /* 02899708 */ _t39 = cpu->r[8] + cpu->r[29]; /* 02899708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 0289970C */ cpu->r[3] = cpu->r[30]; /* 02899710 */ cpu->r[5] = cpu->r[9] - cpu->r[0]; /* 02899714 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02899718 */ _t40 = cpu->r[30] + 0x00000040u; /* 02899718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0289971C */ cpu->r[6] = cpu->r[25] - cpu->r[3]; /* 02899720 */ cpu->ctr = cpu->r[0]; /* 02899724 */ cpu->r[3] = cpu->r[30]; /* 02899728 */ cpu->r[4] = cpu->r[26]; /* 0289972C */ cpu->r[5] = cpu->r[27]; /* 02899730 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02899734 */ _t41 = cpu->r[30] + 0x0000003Au; /* 02899734 */ cpu->r[10] = rbrew_read8(cpu->mem, _t41); /* 02899738 */ _t42 = cpu->r[30] + 0x00000030u; /* 02899738 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]); /* 0289973C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289973C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02899740 */ _t43 = cpu->r[30] + 0x0000002Cu; /* 02899740 */ rbrew_write32(cpu->mem, _t43, cpu->r[28]); /* 02899744 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899744 */ _t45 = _t44 & 0x00000001u; /* 02899744 */ if (_t45) goto L_0289974C; else goto L_02899748; L_02899748: ; // 0x2899748 /* 02899748 */ _t46 = cpu->r[30] + 0x00000028u; /* 02899748 */ rbrew_write32(cpu->mem, _t46, cpu->r[27]); L_0289974C: ; // 0x289974c /* 0289974C */ /* nop */ /* 02899750 */ _t47 = cpu->r[1] + 0x00000034u; /* 02899750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 02899754 */ cpu->lr = cpu->r[0]; /* 02899758 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289975C */ return; } // fn_02899760 @ 0x2899760 void Gambit_fn_02899760(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_02899760: ; // 0x2899760 /* 02899760 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02899760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02899760 */ cpu->r[1] = _t0; /* 02899764 */ /* nop */ /* 02899768 */ cpu->r[0] = cpu->lr; /* 0289976C */ _t1 = cpu->r[1] + 0x00000024u; /* 0289976C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02899770 */ cpu->r[31] = cpu->r[3]; /* 02899774 */ _t2 = cpu->r[31] + 0x00000000u; /* 02899774 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2); /* 02899778 */ _t3 = cpu->r[31] + 0x00000028u; /* 02899778 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 0289977C */ _t4 = cpu->r[31] + 0x00000034u; /* 0289977C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02899780 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899784 */ _t5 = cpu->r[5] + 0x00000000u; /* 02899784 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02899788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0289978C */ _t6 = cpu->r[5] + 0x00000004u; /* 0289978C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 02899790 */ _t7 = cpu->r[9] + cpu->r[0]; /* 02899790 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7); /* 02899794 */ _t8 = cpu->r[31] + 0x00000004u; /* 02899794 */ cpu->r[27] = rbrew_read32(cpu->mem, _t8); /* 02899798 */ _t9 = cpu->r[10] + cpu->r[0]; /* 02899798 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 0289979C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289979C */ _t11 = _t10 & 0x00000001u; /* 0289979C */ if (_t11) goto L_0289980C; else goto L_028997A0; L_028997A0: ; // 0x28997a0 /* 028997A0 */ _t12 = cpu->r[31] + 0x00000018u; /* 028997A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028997A4 */ _t13 = cpu->r[31] + 0x00000044u; /* 028997A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028997A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 028997AC */ _t14 = cpu->r[31] + 0x00000018u; /* 028997AC */ rbrew_write32(cpu->mem, _t14, cpu->r[12]); /* 028997B0 */ _t15 = cpu->r[12] + 0x00000000u; /* 028997B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 028997B4 */ _t16 = cpu->r[27] + 0x00000000u; /* 028997B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 028997B8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028997BC */ _t17 = cpu->r[27] + 0x00000004u; /* 028997BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 028997C0 */ cpu->ctr = cpu->r[0]; /* 028997C4 */ _t18 = cpu->r[5] + cpu->r[6]; /* 028997C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18); /* 028997C8 */ _t19 = cpu->r[9] + cpu->r[6]; /* 028997C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 028997CC */ cpu->r[4] = cpu->r[7] - cpu->r[28]; /* 028997D0 */ cpu->r[3] = cpu->r[31]; /* 028997D4 */ cpu->r[5] = cpu->r[10] - cpu->r[29]; /* 028997D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028997DC */ _t20 = cpu->r[31] + 0x00000040u; /* 028997DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t20); /* 028997E0 */ cpu->r[6] = (uint32_t)(-(int32_t)cpu->r[3]); /* 028997E4 */ cpu->ctr = cpu->r[8]; /* 028997E8 */ cpu->r[3] = cpu->r[31]; /* 028997EC */ cpu->r[4] = cpu->r[27]; /* 028997F0 */ cpu->r[5] = cpu->r[30]; /* 028997F4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028997F8 */ _t21 = cpu->r[31] + 0x00000034u; /* 028997F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 028997FC */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu; /* 028997FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02899800 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899800 */ _t23 = _t22 & 0x00000001u; /* 02899800 */ if (_t23) goto L_0289980C; else goto L_02899804; L_02899804: ; // 0x2899804 /* 02899804 */ _t24 = cpu->r[31] + 0x00000034u; /* 02899804 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 02899808 */ goto L_028997A0; L_0289980C: ; // 0x289980c /* 0289980C */ cpu->r[12] = 0x00000000u; /* 02899810 */ _t25 = cpu->r[31] + 0x00000034u; /* 02899810 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]); /* 02899814 */ /* nop */ /* 02899818 */ _t26 = cpu->r[1] + 0x00000024u; /* 02899818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0289981C */ cpu->lr = cpu->r[0]; /* 02899820 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02899824 */ return; } // fn_02899828 @ 0x2899828 void Gambit_fn_02899828(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_02899828: ; // 0x2899828 /* 02899828 */ cpu->r[0] = cpu->lr; /* 0289982C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289982C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289982C */ cpu->r[1] = _t0; /* 02899830 */ _t1 = cpu->r[1] + 0x00000008u; /* 02899830 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02899834 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02899834 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02899838 */ _t3 = cpu->r[1] + 0x00000010u; /* 02899838 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0289983C */ _t4 = cpu->r[1] + 0x00000014u; /* 0289983C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02899840 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02899840 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02899844 */ _t6 = cpu->r[3] + 0x00000018u; /* 02899844 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 02899848 */ _t7 = cpu->r[3] + 0x00000000u; /* 02899848 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 0289984C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu; /* 02899850 */ _t8 = cpu->r[3] + 0x00000044u; /* 02899850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02899854 */ _t9 = cpu->r[3] + 0x00000018u; /* 02899854 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); /* 02899858 */ _t10 = cpu->r[8] + 0x00000000u; /* 02899858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0289985C */ cpu->ctr = cpu->r[0]; /* 02899860 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFFCu; /* 02899864 */ _t11 = cpu->r[3] + 0x00000004u; /* 02899864 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11); /* 02899868 */ _t12 = cpu->r[3] + 0x00000018u; /* 02899868 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 0289986C */ _t13 = cpu->r[8] + 0xFFFFFFFCu; /* 0289986C */ cpu->r[28] = rbrew_read32(cpu->mem, _t13); /* 02899870 */ _t14 = cpu->r[5] + 0x00000000u; /* 02899870 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02899874 */ _t15 = cpu->r[5] + 0x00000004u; /* 02899874 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15); /* 02899878 */ cpu->r[10] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289987C */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899880 */ _t16 = cpu->r[5] + cpu->r[10]; /* 02899880 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 02899884 */ _t17 = cpu->r[7] + 0x00000004u; /* 02899884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 02899888 */ _t18 = cpu->r[7] + 0x00000000u; /* 02899888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 0289988C */ _t19 = cpu->r[9] + cpu->r[6]; /* 0289988C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19); /* 02899890 */ _t20 = cpu->r[12] + cpu->r[10]; /* 02899890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02899894 */ cpu->r[5] = cpu->r[7] - cpu->r[8]; /* 02899898 */ _t21 = cpu->r[11] + cpu->r[6]; /* 02899898 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 0289989C */ cpu->r[4] = cpu->r[6] - cpu->r[0]; /* 028998A0 */ cpu->r[31] = cpu->r[3]; /* 028998A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028998A8 */ cpu->r[30] = cpu->r[3]; /* 028998AC */ _t22 = cpu->r[31] + 0x00000040u; /* 028998AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t22); /* 028998B0 */ cpu->r[5] = cpu->r[28]; /* 028998B4 */ /* nop */ /* 028998B8 */ cpu->ctr = cpu->r[6]; /* 028998BC */ cpu->r[3] = cpu->r[31]; /* 028998C0 */ cpu->r[6] = cpu->r[28]; /* 028998C4 */ _t23 = cpu->r[31] + 0x00000000u; /* 028998C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 028998C8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028998CC */ _t24 = cpu->r[31] + 0x00000040u; /* 028998CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028998D0 */ cpu->ctr = cpu->r[0]; /* 028998D4 */ cpu->r[6] = cpu->r[28] - cpu->r[30]; /* 028998D8 */ _t25 = cpu->r[31] + 0x00000004u; /* 028998D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 028998DC */ cpu->r[5] = cpu->r[29]; /* 028998E0 */ cpu->r[3] = cpu->r[31]; /* 028998E4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028998E8 */ _t26 = cpu->r[1] + 0x00000008u; /* 028998E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26); /* 028998EC */ _t27 = cpu->r[1] + 0x0000000Cu; /* 028998EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 028998F0 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 028998F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028998F4 */ _t29 = cpu->r[1] + 0x00000010u; /* 028998F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 028998F8 */ cpu->lr = cpu->r[0]; /* 028998FC */ _t30 = cpu->r[1] + 0x00000014u; /* 028998FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 02899900 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02899904 */ return; } // fn_0289982C @ 0x289982c void Gambit_fn_0289982C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289982C: ; // 0x289982c /* 0289982C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289982C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289982C */ cpu->r[1] = _t0; /* 02899830 */ _t1 = cpu->r[1] + 0x00000008u; /* 02899830 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02899834 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02899834 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02899838 */ _t3 = cpu->r[1] + 0x00000010u; /* 02899838 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0289983C */ _t4 = cpu->r[1] + 0x00000014u; /* 0289983C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02899840 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02899840 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02899844 */ _t6 = cpu->r[3] + 0x00000018u; /* 02899844 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 02899848 */ _t7 = cpu->r[3] + 0x00000000u; /* 02899848 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 0289984C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu; /* 02899850 */ _t8 = cpu->r[3] + 0x00000044u; /* 02899850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02899854 */ _t9 = cpu->r[3] + 0x00000018u; /* 02899854 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); /* 02899858 */ _t10 = cpu->r[8] + 0x00000000u; /* 02899858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0289985C */ cpu->ctr = cpu->r[0]; /* 02899860 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFFCu; /* 02899864 */ _t11 = cpu->r[3] + 0x00000004u; /* 02899864 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11); /* 02899868 */ _t12 = cpu->r[3] + 0x00000018u; /* 02899868 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 0289986C */ _t13 = cpu->r[8] + 0xFFFFFFFCu; /* 0289986C */ cpu->r[28] = rbrew_read32(cpu->mem, _t13); /* 02899870 */ _t14 = cpu->r[5] + 0x00000000u; /* 02899870 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02899874 */ _t15 = cpu->r[5] + 0x00000004u; /* 02899874 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15); /* 02899878 */ cpu->r[10] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289987C */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899880 */ _t16 = cpu->r[5] + cpu->r[10]; /* 02899880 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 02899884 */ _t17 = cpu->r[7] + 0x00000004u; /* 02899884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 02899888 */ _t18 = cpu->r[7] + 0x00000000u; /* 02899888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 0289988C */ _t19 = cpu->r[9] + cpu->r[6]; /* 0289988C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19); /* 02899890 */ _t20 = cpu->r[12] + cpu->r[10]; /* 02899890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02899894 */ cpu->r[5] = cpu->r[7] - cpu->r[8]; /* 02899898 */ _t21 = cpu->r[11] + cpu->r[6]; /* 02899898 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 0289989C */ cpu->r[4] = cpu->r[6] - cpu->r[0]; /* 028998A0 */ cpu->r[31] = cpu->r[3]; /* 028998A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028998A8 */ cpu->r[30] = cpu->r[3]; /* 028998AC */ _t22 = cpu->r[31] + 0x00000040u; /* 028998AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t22); /* 028998B0 */ cpu->r[5] = cpu->r[28]; /* 028998B4 */ /* nop */ /* 028998B8 */ cpu->ctr = cpu->r[6]; /* 028998BC */ cpu->r[3] = cpu->r[31]; /* 028998C0 */ cpu->r[6] = cpu->r[28]; /* 028998C4 */ _t23 = cpu->r[31] + 0x00000000u; /* 028998C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 028998C8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028998CC */ _t24 = cpu->r[31] + 0x00000040u; /* 028998CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028998D0 */ cpu->ctr = cpu->r[0]; /* 028998D4 */ cpu->r[6] = cpu->r[28] - cpu->r[30]; /* 028998D8 */ _t25 = cpu->r[31] + 0x00000004u; /* 028998D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 028998DC */ cpu->r[5] = cpu->r[29]; /* 028998E0 */ cpu->r[3] = cpu->r[31]; /* 028998E4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028998E8 */ _t26 = cpu->r[1] + 0x00000008u; /* 028998E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26); /* 028998EC */ _t27 = cpu->r[1] + 0x0000000Cu; /* 028998EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 028998F0 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 028998F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028998F4 */ _t29 = cpu->r[1] + 0x00000010u; /* 028998F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 028998F8 */ cpu->lr = cpu->r[0]; /* 028998FC */ _t30 = cpu->r[1] + 0x00000014u; /* 028998FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 02899900 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02899904 */ return; } // fn_02899908 @ 0x2899908 void Gambit_fn_02899908(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_02899908: ; // 0x2899908 /* 02899908 */ _t0 = cpu->r[3] + 0x00000018u; /* 02899908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289990C */ _t1 = cpu->r[3] + 0x00000024u; /* 0289990C */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 02899910 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02899914 */ _t2 = cpu->r[3] + 0x00000018u; /* 02899914 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 02899918 */ _t3 = cpu->r[12] + 0x00000000u; /* 02899918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0289991C */ _t4 = cpu->r[11] + 0x0000008Eu; /* 0289991C */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]); /* 02899920 */ return; } // fn_02899924 @ 0x2899924 void Gambit_fn_02899924(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_02899924: ; // 0x2899924 /* 02899924 */ _t0 = cpu->r[3] + 0x00000034u; /* 02899924 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 02899928 */ _t1 = cpu->r[3] + 0x00000000u; /* 02899928 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1); /* 0289992C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02899930 */ _t2 = cpu->r[3] + 0x00000018u; /* 02899930 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02899934 */ cpu->r[0] = cpu->r[10] + 0x00000001u; /* 02899938 */ _t3 = cpu->r[8] + 0x00000018u; /* 02899938 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0289993C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289993C */ _t5 = _t4 & 0x00000001u; /* 0289993C */ if (_t5) goto L_02899958; else goto L_02899940; L_02899940: ; // 0x2899940 /* 02899940 */ cpu->ctr = cpu->r[0]; L_02899944: ; // 0x2899944 /* 02899944 */ _t6 = cpu->r[9] + 0xFFFFFFFCu; /* 02899944 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02899944 */ cpu->r[9] = _t6; /* 02899948 */ _t7 = cpu->r[10] + cpu->r[11]; /* 02899948 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7); /* 0289994C */ cpu->r[12] = cpu->r[12] ^ 0x00000001u; /* 02899950 */ _t8 = cpu->r[10] + cpu->r[11]; /* 02899950 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]); /* 02899954 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02899954 */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02899954 */ _t10 = _t9 >> (0x00000002u & 31u); /* 02899954 */ _t11 = _t10 & 0x00000001u; /* 02899954 */ if (_t11) goto L_02899944; else goto L_02899958; L_02899958: ; // 0x2899958 /* 02899958 */ _t12 = cpu->r[3] + 0x00000018u; /* 02899958 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 0289995C */ cpu->r[0] = 0x00000000u; /* 02899960 */ _t13 = cpu->r[3] + 0x00000034u; /* 02899960 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02899964 */ return; } // fn_02899968 @ 0x2899968 void Gambit_fn_02899968(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02899968: ; // 0x2899968 /* 02899968 */ _t0 = cpu->r[3] + 0x00000018u; /* 02899968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289996C */ _t1 = cpu->r[3] + 0x00000000u; /* 0289996C */ cpu->r[8] = rbrew_read32(cpu->mem, _t1); /* 02899970 */ _t2 = cpu->r[12] + 0xFFFFFFFCu; /* 02899970 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 02899974 */ _t3 = cpu->r[12] + 0xFFFFFFF8u; /* 02899974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02899974 */ cpu->r[12] = _t3; /* 02899978 */ _t4 = cpu->r[8] + 0x00000018u; /* 02899978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0289997C */ cpu->r[9] = cpu->r[7] - cpu->r[0]; /* 0289997C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02899980 */ cpu->r[11] = cpu->r[9] + 0x00000001u; /* 02899984 */ cpu->r[10] = cpu->r[10] + cpu->r[0]; /* 02899988 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899988 */ _t6 = _t5 & 0x00000001u; /* 02899988 */ if (_t6) goto L_028999A4; else goto L_0289998C; L_0289998C: ; // 0x289998c /* 0289998C */ cpu->ctr = cpu->r[11]; /* 02899990 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; L_02899994: ; // 0x2899994 /* 02899994 */ _t7 = cpu->r[10] + 0x00000001u; /* 02899994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 02899994 */ cpu->r[10] = _t7; /* 02899998 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 0289999C */ _t8 = cpu->r[10] + 0x00000000u; /* 0289999C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]); /* 028999A0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028999A0 */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028999A0 */ _t10 = _t9 >> (0x00000002u & 31u); /* 028999A0 */ _t11 = _t10 & 0x00000001u; /* 028999A0 */ if (_t11) goto L_02899994; else goto L_028999A4; L_028999A4: ; // 0x28999a4 /* 028999A4 */ _t12 = cpu->r[3] + 0x00000018u; /* 028999A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); /* 028999A8 */ return; } // fn_028999AC @ 0x28999ac void Gambit_fn_028999AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028999AC: ; // 0x28999ac /* 028999AC */ _t0 = cpu->r[3] + 0x00000000u; /* 028999AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 028999B0 */ _t1 = cpu->r[3] + 0x00000018u; /* 028999B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 028999B4 */ _t2 = cpu->r[9] + 0x00000018u; /* 028999B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 028999B8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 028999BC */ _t3 = cpu->r[3] + 0x00000018u; /* 028999BC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 028999C0 */ _t4 = cpu->r[10] + 0x00000000u; /* 028999C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 028999C4 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFCu; /* 028999C8 */ _t5 = cpu->r[3] + 0x00000018u; /* 028999C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 028999CC */ _t6 = cpu->r[10] + 0xFFFFFFFCu; /* 028999CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028999D0 */ cpu->r[10] = cpu->r[8] - cpu->r[0]; /* 028999D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028999D4 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; /* 028999D8 */ cpu->r[8] = cpu->r[10] + 0x00000001u; /* 028999DC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028999DC */ _t8 = _t7 & 0x00000001u; /* 028999DC */ if (_t8) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028999DC */ goto L_028999E0; L_028999E0: ; // 0x28999e0 /* 028999E0 */ cpu->ctr = cpu->r[8]; /* 028999E4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; L_028999E8: ; // 0x28999e8 /* 028999E8 */ _t9 = cpu->r[12] + 0x00000001u; /* 028999E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9); /* 028999E8 */ cpu->r[12] = _t9; /* 028999EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu); /* 028999F0 */ _t10 = cpu->r[12] + 0x00000000u; /* 028999F0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]); /* 028999F4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028999F4 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028999F4 */ _t12 = _t11 >> (0x00000002u & 31u); /* 028999F4 */ _t13 = _t12 & 0x00000001u; /* 028999F4 */ if (_t13) goto L_028999E8; else goto L_028999F8; L_028999F8: ; // 0x28999f8 /* 028999F8 */ return; } // fn_028999FC @ 0x28999fc void Gambit_fn_028999FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_028999FC: ; // 0x28999fc /* 028999FC */ _t0 = cpu->r[3] + 0x00000024u; /* 028999FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 02899A00 */ _t1 = cpu->r[3] + 0x00000018u; /* 02899A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02899A04 */ _t2 = cpu->r[10] + 0x0000006Cu; /* 02899A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02899A08 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02899A0C */ _t3 = cpu->r[3] + 0x00000018u; /* 02899A0C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 02899A10 */ _t4 = cpu->r[12] + 0x00000000u; /* 02899A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02899A14 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu); /* 02899A18 */ cpu->r[9] = cpu->r[12] | cpu->r[11]; /* 02899A1C */ _t5 = cpu->r[10] + 0x0000006Cu; /* 02899A1C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 02899A20 */ return; } // fn_02899A24 @ 0x2899a24 void Gambit_fn_02899A24(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_02899A24: ; // 0x2899a24 /* 02899A24 */ _t0 = cpu->r[3] + 0x00000018u; /* 02899A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02899A28 */ _t1 = cpu->r[3] + 0x00000024u; /* 02899A28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 02899A2C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02899A30 */ _t2 = cpu->r[3] + 0x00000018u; /* 02899A30 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 02899A34 */ _t3 = cpu->r[12] + 0x00000000u; /* 02899A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02899A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02899A3C */ cpu->r[10] = cpu->r[10] + 0x0000006Cu; /* 02899A40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899A40 */ _t5 = _t4 & 0x00000001u; /* 02899A40 */ if (_t5) goto L_02899A44; else goto L_02899A50; L_02899A44: ; // 0x2899a44 /* 02899A44 */ _t6 = cpu->r[10] + 0x00000002u; /* 02899A44 */ cpu->r[11] = rbrew_read16(cpu->mem, _t6); /* 02899A48 */ _t7 = cpu->r[10] + 0x00000000u; /* 02899A48 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 02899A4C */ return; L_02899A50: ; // 0x2899a50 /* 02899A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u); /* 02899A54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899A54 */ _t9 = _t8 & 0x00000001u; /* 02899A54 */ if (_t9) goto L_02899A58; else goto L_02899A68; L_02899A58: ; // 0x2899a58 /* 02899A58 */ _t10 = cpu->r[10] + 0x00000002u; /* 02899A58 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10); /* 02899A5C */ cpu->r[11] = cpu->r[0] | 0x00010000u; /* 02899A60 */ _t11 = cpu->r[10] + 0x00000000u; /* 02899A60 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]); /* 02899A64 */ return; L_02899A68: ; // 0x2899a68 /* 02899A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u); /* 02899A6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899A6C */ _t13 = _t12 & 0x00000001u; /* 02899A6C */ _t14 = _t13 ^ 0x00000001u; /* 02899A6C */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02899A6C */ goto L_02899A70; L_02899A70: ; // 0x2899a70 /* 02899A70 */ _t15 = cpu->r[10] + 0x00000002u; /* 02899A70 */ cpu->r[12] = rbrew_read16(cpu->mem, _t15); /* 02899A74 */ cpu->r[0] = cpu->r[12] | 0x00020000u; /* 02899A78 */ _t16 = cpu->r[10] + 0x00000000u; /* 02899A78 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 02899A7C */ return; } // fn_02899A80 @ 0x2899a80 void Gambit_fn_02899A80(CPUState* cpu) { 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_02899A80: ; // 0x2899a80 /* 02899A80 */ _t0 = cpu->r[3] + 0x00000018u; /* 02899A80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t0); /* 02899A84 */ _t1 = cpu->r[3] + 0x00000024u; /* 02899A84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02899A88 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; /* 02899A8C */ _t2 = cpu->r[3] + 0x00000018u; /* 02899A8C */ rbrew_write32(cpu->mem, _t2, cpu->r[6]); /* 02899A90 */ cpu->r[7] = cpu->r[6] + 0xFFFFFFFCu; /* 02899A94 */ _t3 = cpu->r[6] + 0x00000000u; /* 02899A94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 02899A98 */ _t4 = cpu->r[3] + 0x00000018u; /* 02899A98 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]); /* 02899A9C */ _t5 = cpu->r[12] + 0x00000100u; /* 02899A9C */ cpu->r[8] = rbrew_read8(cpu->mem, _t5); /* 02899AA0 */ cpu->r[7] = cpu->r[12] + 0x00000070u; /* 02899AA4 */ _t6 = cpu->r[6] + 0xFFFFFFFCu; /* 02899AA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6); /* 02899AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02899AAC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899AAC */ _t8 = _t7 & 0x00000001u; /* 02899AAC */ if (_t8) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02899AAC */ goto L_02899AB0; L_02899AB0: ; // 0x2899ab0 /* 02899AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u); /* 02899AB4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899AB4 */ _t10 = _t9 & 0x00000001u; /* 02899AB4 */ if (_t10) goto L_02899AB8; else goto L_02899AC8; L_02899AB8: ; // 0x2899ab8 /* 02899AB8 */ _t11 = cpu->r[7] + 0x00000000u; /* 02899AB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 02899ABC */ _t12 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02899ABC */ _t13 = cpu->r[9] & 0xFFFFFFFEu; /* 02899ABC */ cpu->r[9] = _t13 | _t12; /* 02899AC0 */ _t14 = cpu->r[7] + 0x00000000u; /* 02899AC0 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]); /* 02899AC4 */ return; L_02899AC8: ; // 0x2899ac8 /* 02899AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u); /* 02899ACC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899ACC */ _t16 = _t15 & 0x00000001u; /* 02899ACC */ _t17 = _t16 ^ 0x00000001u; /* 02899ACC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02899ACC */ goto L_02899AD0; L_02899AD0: ; // 0x2899ad0 /* 02899AD0 */ _t18 = cpu->r[7] + 0x00000000u; /* 02899AD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18); /* 02899AD4 */ _t19 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 02899AD4 */ _t20 = cpu->r[10] & 0xFFFFFFFDu; /* 02899AD4 */ cpu->r[10] = _t20 | _t19; /* 02899AD8 */ _t21 = cpu->r[7] + 0x00000000u; /* 02899AD8 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]); /* 02899ADC */ return; } // fn_02899AE0 @ 0x2899ae0 void Gambit_fn_02899AE0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_02899AE0: ; // 0x2899ae0 /* 02899AE0 */ _t0 = cpu->r[5] + 0x00000018u; /* 02899AE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t0); /* 02899AE4 */ _t1 = cpu->r[4] + 0x00000000u; /* 02899AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 02899AE8 */ cpu->r[8] = 0x00000001u; /* 02899AEC */ _t2 = cpu->r[6] + 0xFFFFFFFCu; /* 02899AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02899AF0 */ cpu->r[11] = cpu->r[3] + cpu->r[0]; /* 02899AF4 */ /* nop */ /* 02899AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000010u); /* 02899AFC */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu; /* 02899B00 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u); /* 02899B00 */ _t4 = _t3 & 0x00000001u; /* 02899B00 */ if (_t4) goto L_02899B38; else goto L_02899B04; L_02899B04: ; // 0x2899b04 /* 02899B04 */ cpu->r[10] = 0x00000010u - cpu->r[11]; /* 02899B08 */ /* nop */ /* 02899B0C */ _t5 = cpu->r[4] + 0x00000000u; /* 02899B0C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 02899B10 */ cpu->r[9] = cpu->r[12] & cpu->r[8]; /* 02899B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000010u); /* 02899B18 */ /* nop */ /* 02899B1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899B1C */ _t7 = _t6 & 0x00000001u; /* 02899B1C */ _t8 = _t7 ^ 0x00000001u; /* 02899B1C */ if (_t8) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02899B1C */ goto L_02899B20; L_02899B20: ; // 0x2899b20 /* 02899B20 */ _t9 = cpu->r[5] + 0x00000018u; /* 02899B20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02899B24 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 02899B28 */ cpu->r[0] = 0x00000000u; /* 02899B2C */ _t10 = cpu->r[5] + 0x00000018u; /* 02899B2C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 02899B30 */ _t11 = cpu->r[4] + 0x00000000u; /* 02899B30 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 02899B34 */ return; L_02899B38: ; // 0x2899b38 /* 02899B38 */ cpu->r[10] = 0x00000020u - cpu->r[11]; /* 02899B3C */ cpu->r[0] = cpu->r[11] + 0xFFFFFFF0u; /* 02899B40 */ _t12 = cpu->r[6] + 0xFFFFFFF8u; /* 02899B40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12); /* 02899B44 */ /* nop */ /* 02899B48 */ _t13 = cpu->r[4] + 0x00000000u; /* 02899B48 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02899B4C */ _t14 = cpu->r[5] + 0x00000018u; /* 02899B4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t14); /* 02899B50 */ _t15 = rbrew_rlwinm(cpu->r[12], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02899B50 */ _t16 = cpu->r[9] & 0x0000FFFFu; /* 02899B50 */ cpu->r[9] = _t16 | _t15; /* 02899B54 */ cpu->r[9] = cpu->r[9] & cpu->r[8]; /* 02899B58 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; /* 02899B5C */ /* nop */ /* 02899B60 */ _t17 = cpu->r[5] + 0x00000018u; /* 02899B60 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]); /* 02899B64 */ return; } // fn_02899B68 @ 0x2899b68 void Gambit_fn_02899B68(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119; L_02899B68: ; // 0x2899b68 /* 02899B68 */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 02899B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02899B68 */ cpu->r[1] = _t0; /* 02899B6C */ /* nop */ /* 02899B70 */ cpu->r[0] = cpu->lr; /* 02899B74 */ _t1 = cpu->r[1] + 0x00000054u; /* 02899B74 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02899B78 */ cpu->r[25] = cpu->r[3]; /* 02899B7C */ _t2 = cpu->r[25] + 0x00000024u; /* 02899B7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t2); /* 02899B80 */ _t3 = cpu->r[25] + 0x00000018u; /* 02899B80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 02899B84 */ _t4 = cpu->r[4] + 0x00000124u; /* 02899B84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02899B88 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFCu; /* 02899B8C */ _t5 = cpu->r[25] + 0x00000018u; /* 02899B8C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02899B90 */ _t6 = cpu->r[10] + 0xFFFFFFFCu; /* 02899B90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02899B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000000Bu); /* 02899B98 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899B98 */ _t8 = _t7 & 0x00000001u; /* 02899B98 */ if (_t8) goto L_02899B9C; else goto L_02899BB8; L_02899B9C: ; // 0x2899b9c /* 02899B9C */ cpu->r[3] = cpu->r[25]; /* 02899BA0 */ Gambit_fn_028A23E4(cpu); /* 02899BA4 */ /* nop */ /* 02899BA8 */ _t9 = cpu->r[1] + 0x00000054u; /* 02899BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02899BAC */ cpu->lr = cpu->r[0]; /* 02899BB0 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 02899BB4 */ return; L_02899BB8: ; // 0x2899bb8 /* 02899BB8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 02899BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02899BBC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899BBC */ _t11 = _t10 & 0x00000001u; /* 02899BBC */ if (_t11) goto L_02899BC0; else goto L_02899E10; L_02899BC0: ; // 0x2899bc0 /* 02899BC0 */ cpu->r[10] = cpu->r[7] + 0xFFFFFFFBu; /* 02899BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000005u); /* 02899BC8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899BC8 */ _t13 = _t12 & 0x00000001u; /* 02899BC8 */ if (_t13) goto L_02899C00; else goto L_02899BCC; L_02899BCC: ; // 0x2899bcc /* 02899BCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000FAu); /* 02899BD0 */ cpu->r[11] = 0x00000000u; /* 02899BD4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899BD4 */ _t15 = _t14 & 0x00000001u; /* 02899BD4 */ if (_t15) goto L_02899E10; else goto L_02899BD8; L_02899BD8: ; // 0x2899bd8 /* 02899BD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000FCu); /* 02899BDC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899BDC */ _t17 = _t16 & 0x00000001u; /* 02899BDC */ if (_t17) goto L_02899C00; else goto L_02899BE0; L_02899BE0: ; // 0x2899be0 /* 02899BE0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899BE0 */ _t19 = _t18 & 0x00000001u; /* 02899BE0 */ if (_t19) goto L_02899C20; else goto L_02899BE4; L_02899BE4: ; // 0x2899be4 /* 02899BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000FDu); /* 02899BE8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899BE8 */ _t21 = _t20 & 0x00000001u; /* 02899BE8 */ if (_t21) goto L_0289B7A0; else goto L_02899BEC; L_02899BEC: ; // 0x2899bec /* 02899BEC */ /* nop */ /* 02899BF0 */ _t22 = cpu->r[1] + 0x00000054u; /* 02899BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02899BF4 */ cpu->lr = cpu->r[0]; /* 02899BF8 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 02899BFC */ return; L_02899C00: ; // 0x2899c00 /* 02899C00 */ cpu->r[3] = cpu->r[25]; /* 02899C04 */ cpu->r[4] = 0x000001B7u; /* 02899C08 */ Gambit_fn_02896E60(cpu); /* 02899C0C */ /* nop */ /* 02899C10 */ _t23 = cpu->r[1] + 0x00000054u; /* 02899C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 02899C14 */ cpu->lr = cpu->r[0]; /* 02899C18 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 02899C1C */ return; L_02899C20: ; // 0x2899c20 /* 02899C20 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 02899C24 */ _t24 = cpu->r[25] + 0x00000018u; /* 02899C24 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]); /* 02899C28 */ _t25 = cpu->r[12] + 0x00000002u; /* 02899C28 */ cpu->r[9] = rbrew_read16(cpu->mem, _t25); /* 02899C2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x0000001Cu, 0x0000001Fu); /* 02899C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000009u); /* 02899C34 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u); /* 02899C34 */ _t27 = _t26 & 0x00000001u; /* 02899C34 */ if (_t27) goto L_02899C38; else goto L_02899C5C; L_02899C38: ; // 0x2899c38 /* 02899C38 */ cpu->r[8] = cpu->r[10] + 0xFFFFFFF6u; /* 02899C3C */ cpu->r[0] = 0x00000001u; /* 02899C40 */ _t28 = cpu->r[25] + 0x00000024u; /* 02899C40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28); /* 02899C44 */ /* nop */ /* 02899C48 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02899C4C */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x00000010u); /* 02899C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02899C50 */ _t29 = cpu->r[4] + 0x00000012u; /* 02899C50 */ cpu->r[20] = rbrew_read16(cpu->mem, _t29); /* 02899C54 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899C54 */ _t31 = _t30 & 0x00000001u; /* 02899C54 */ if (_t31) goto L_02899C58; else goto L_02899C7C; L_02899C58: ; // 0x2899c58 /* 02899C58 */ goto L_02899C9C; L_02899C5C: ; // 0x2899c5c /* 02899C5C */ cpu->r[8] = cpu->r[10] + 0x00000006u; /* 02899C60 */ cpu->r[0] = 0x00000001u; /* 02899C64 */ _t32 = cpu->r[25] + 0x00000024u; /* 02899C64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32); /* 02899C68 */ /* nop */ /* 02899C6C */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02899C70 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x00000010u); /* 02899C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02899C74 */ _t33 = cpu->r[4] + 0x00000012u; /* 02899C74 */ cpu->r[20] = rbrew_read16(cpu->mem, _t33); /* 02899C78 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899C78 */ _t35 = _t34 & 0x00000001u; /* 02899C78 */ if (_t35) goto L_02899C9C; else goto L_02899C7C; L_02899C7C: ; // 0x2899c7c /* 02899C7C */ cpu->r[10] = (uint32_t)(-(int32_t)cpu->r[6]); /* 02899C80 */ cpu->r[21] = 0x00000005u; /* 02899C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02899C88 */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[18]); /* 02899C8C */ _t36 = cpu->r[1] + 0x00000008u; /* 02899C8C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]); /* 02899C90 */ cpu->r[22] = 0x00000000u; /* 02899C94 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899C94 */ _t38 = _t37 & 0x00000001u; /* 02899C94 */ if (_t38) goto L_02899C98; else goto L_02899CB4; L_02899C98: ; // 0x2899c98 /* 02899C98 */ goto L_02899CD0; L_02899C9C: ; // 0x2899c9c /* 02899C9C */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[18]); /* 02899CA0 */ cpu->r[21] = 0x00000005u; /* 02899CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02899CA8 */ _t39 = cpu->r[1] + 0x00000008u; /* 02899CA8 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]); /* 02899CAC */ cpu->r[22] = 0x00000000u; /* 02899CB0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899CB0 */ _t41 = _t40 & 0x00000001u; /* 02899CB0 */ if (_t41) goto L_02899CD0; else goto L_02899CB4; L_02899CB4: ; // 0x2899cb4 /* 02899CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02899CB8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899CB8 */ _t43 = _t42 & 0x00000001u; /* 02899CB8 */ if (_t43) goto L_02899CBC; else goto L_02899CD0; L_02899CBC: ; // 0x2899cbc /* 02899CBC */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFCu; /* 02899CC0 */ _t44 = cpu->r[25] + 0x00000018u; /* 02899CC0 */ rbrew_write32(cpu->mem, _t44, cpu->r[8]); /* 02899CC4 */ _t45 = cpu->r[12] + 0xFFFFFFFCu; /* 02899CC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45); /* 02899CC8 */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[18]); /* 02899CCC */ _t46 = cpu->r[25] + 0x00000024u; /* 02899CCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t46); L_02899CD0: ; // 0x2899cd0 /* 02899CD0 */ _t47 = cpu->r[4] + 0x000000F4u; /* 02899CD0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t47); /* 02899CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02899CD8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899CD8 */ _t49 = _t48 & 0x00000001u; /* 02899CD8 */ if (_t49) goto L_02899CDC; else goto L_02899CF8; L_02899CDC: ; // 0x2899cdc /* 02899CDC */ cpu->r[3] = cpu->r[25]; /* 02899CE0 */ Gambit_fn_028974D0(cpu); /* 02899CE4 */ cpu->r[4] = cpu->r[3]; /* 02899CE8 */ cpu->r[3] = cpu->r[20]; /* 02899CEC */ cpu->r[5] = 0x00000010u; /* 02899CF0 */ Gambit_fn_0287B904(cpu); /* 02899CF4 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); L_02899CF8: ; // 0x2899cf8 /* 02899CF8 */ cpu->r[11] = cpu->r[20] ^ cpu->r[21]; /* 02899CFC */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 02899D00 */ cpu->r[28] = cpu->r[20] - cpu->r[21]; /* 02899D04 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02899D08 */ cpu->r[26] = cpu->r[28]; /* 02899D0C */ cpu->r[24] = cpu->r[27]; /* 02899D10 */ cpu->r[31] = cpu->r[26]; /* 02899D14 */ cpu->r[30] = cpu->r[24]; /* 02899D18 */ cpu->r[29] = cpu->r[30]; /* 02899D1C */ cpu->r[5] = cpu->r[25]; /* 02899D20 */ cpu->r[3] = 0x00000002u; /* 02899D24 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02899D28 */ Gambit_fn_02899AE0(cpu); /* 02899D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u); /* 02899D30 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 02899D30 */ _t51 = _t50 & 0x00000001u; /* 02899D30 */ if (_t51) goto L_02899D54; else goto L_02899D34; L_02899D34: ; // 0x2899d34 /* 02899D34 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899D34 */ _t53 = _t52 & 0x00000001u; /* 02899D34 */ if (_t53) goto L_02899D98; else goto L_02899D38; L_02899D38: ; // 0x2899d38 /* 02899D38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u); /* 02899D3C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899D3C */ _t55 = _t54 & 0x00000001u; /* 02899D3C */ if (_t55) goto L_02899E24; else goto L_02899D40; L_02899D40: ; // 0x2899d40 /* 02899D40 */ cpu->r[23] = 0x00000002u; /* 02899D44 */ cpu->r[9] = cpu->r[23]; /* 02899D48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000009u); /* 02899D4C */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 02899D4C */ _t57 = _t56 & 0x00000001u; /* 02899D4C */ if (_t57) goto L_0289B774; else goto L_02899D50; L_02899D50: ; // 0x2899d50 /* 02899D50 */ goto L_02899E34; L_02899D54: ; // 0x2899d54 /* 02899D54 */ cpu->r[5] = cpu->r[25]; /* 02899D58 */ cpu->r[3] = 0x00000001u; /* 02899D5C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02899D60 */ Gambit_fn_02899AE0(cpu); /* 02899D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02899D68 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899D68 */ _t59 = _t58 & 0x00000001u; /* 02899D68 */ if (_t59) goto L_02899D6C; else goto L_02899D74; L_02899D6C: ; // 0x2899d6c /* 02899D6C */ cpu->r[9] = 0x00000007u; /* 02899D70 */ goto L_02899E34; L_02899D74: ; // 0x2899d74 /* 02899D74 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02899D78 */ cpu->r[3] = 0x00000001u; /* 02899D7C */ cpu->r[5] = cpu->r[25]; /* 02899D80 */ cpu->r[23] = 0x00000004u; /* 02899D84 */ Gambit_fn_02899AE0(cpu); /* 02899D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02899D8C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899D8C */ _t61 = _t60 & 0x00000001u; /* 02899D8C */ if (_t61) goto L_02899E28; else goto L_02899D90; L_02899D90: ; // 0x2899d90 /* 02899D90 */ cpu->r[9] = 0x00000005u; /* 02899D94 */ goto L_02899E34; L_02899D98: ; // 0x2899d98 /* 02899D98 */ cpu->r[5] = cpu->r[25]; /* 02899D9C */ cpu->r[3] = 0x00000002u; /* 02899DA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02899DA4 */ Gambit_fn_02899AE0(cpu); /* 02899DA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u); /* 02899DAC */ _t62 = cpu->cr[0] >> (0x00000002u & 31u); /* 02899DAC */ _t63 = _t62 & 0x00000001u; /* 02899DAC */ if (_t63) goto L_02899DC4; else goto L_02899DB0; L_02899DB0: ; // 0x2899db0 /* 02899DB0 */ cpu->r[8] = cpu->r[3] + 0x10130000u; /* 02899DB4 */ _t64 = cpu->r[8] + 0x00007440u; /* 02899DB4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t64); /* 02899DB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000009u); /* 02899DBC */ _t65 = cpu->cr[0] >> (0x00000002u & 31u); /* 02899DBC */ _t66 = _t65 & 0x00000001u; /* 02899DBC */ if (_t66) goto L_0289B774; else goto L_02899DC0; L_02899DC0: ; // 0x2899dc0 /* 02899DC0 */ goto L_02899E34; L_02899DC4: ; // 0x2899dc4 /* 02899DC4 */ cpu->r[5] = cpu->r[25]; /* 02899DC8 */ cpu->r[3] = 0x00000001u; /* 02899DCC */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02899DD0 */ Gambit_fn_02899AE0(cpu); /* 02899DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02899DD8 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899DD8 */ _t68 = _t67 & 0x00000001u; /* 02899DD8 */ if (_t68) goto L_02899DE4; else goto L_02899DDC; L_02899DDC: ; // 0x2899ddc /* 02899DDC */ cpu->r[9] = 0x00000003u; /* 02899DE0 */ goto L_02899E34; L_02899DE4: ; // 0x2899de4 /* 02899DE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02899DE8 */ cpu->r[3] = 0x00000001u; /* 02899DEC */ cpu->r[5] = cpu->r[25]; /* 02899DF0 */ cpu->r[23] = 0x00000006u; /* 02899DF4 */ Gambit_fn_02899AE0(cpu); /* 02899DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02899DFC */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899DFC */ _t70 = _t69 & 0x00000001u; /* 02899DFC */ if (_t70) goto L_02899E28; else goto L_02899E00; L_02899E00: ; // 0x2899e00 /* 02899E00 */ _t71 = cpu->r[1] + 0x00000008u; /* 02899E00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71); /* 02899E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02899E08 */ cpu->r[9] = 0x0000000Fu; /* 02899E0C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 02899E0C */ _t73 = _t72 & 0x00000001u; /* 02899E0C */ if (_t73) goto L_02899E10; else goto L_0289B780; L_02899E10: ; // 0x2899e10 /* 02899E10 */ /* nop */ /* 02899E14 */ _t74 = cpu->r[1] + 0x00000054u; /* 02899E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74); /* 02899E18 */ cpu->lr = cpu->r[0]; /* 02899E1C */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 02899E20 */ return; L_02899E24: ; // 0x2899e24 /* 02899E24 */ cpu->r[23] = 0x00000001u; L_02899E28: ; // 0x2899e28 /* 02899E28 */ cpu->r[9] = cpu->r[23]; /* 02899E2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000009u); /* 02899E30 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u); /* 02899E30 */ _t76 = _t75 & 0x00000001u; /* 02899E30 */ if (_t76) goto L_0289B774; else goto L_02899E34; L_02899E34: ; // 0x2899e34 /* 02899E34 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02899E38 */ cpu->r[5] = cpu->r[9] + 0x028A0000u; /* 02899E3C */ cpu->r[5] = cpu->r[5] + 0xFFFF9E48u; /* 02899E40 */ cpu->ctr = cpu->r[5]; /* 02899E44 */ rbrew_dispatch(cpu, cpu->ctr); return; L_0289B774: ; // 0x289b774 /* 0289B774 */ _t77 = cpu->r[1] + 0x00000008u; /* 0289B774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77); /* 0289B778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289B77C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B77C */ _t79 = _t78 & 0x00000001u; /* 0289B77C */ if (_t79) goto L_02899E10; else goto L_0289B780; L_0289B780: ; // 0x289b780 /* 0289B780 */ _t80 = cpu->r[25] + 0x00000018u; /* 0289B780 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80); /* 0289B784 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289B788 */ _t81 = cpu->r[25] + 0x00000018u; /* 0289B788 */ rbrew_write32(cpu->mem, _t81, cpu->r[9]); /* 0289B78C */ /* nop */ /* 0289B790 */ _t82 = cpu->r[1] + 0x00000054u; /* 0289B790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82); /* 0289B794 */ cpu->lr = cpu->r[0]; /* 0289B798 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 0289B79C */ return; L_0289B7A0: ; // 0x289b7a0 /* 0289B7A0 */ _t83 = cpu->r[25] + 0x00000024u; /* 0289B7A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83); /* 0289B7A4 */ cpu->r[6] = cpu->r[12] + 0xFFFFFFFCu; /* 0289B7A8 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFF8u; /* 0289B7AC */ _t84 = cpu->r[25] + 0x00000018u; /* 0289B7AC */ rbrew_write32(cpu->mem, _t84, cpu->r[6]); /* 0289B7B0 */ _t85 = cpu->r[12] + 0xFFFFFFFCu; /* 0289B7B0 */ cpu->r[21] = rbrew_read32(cpu->mem, _t85); /* 0289B7B4 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFF4u; /* 0289B7B8 */ _t86 = cpu->r[25] + 0x00000018u; /* 0289B7B8 */ rbrew_write32(cpu->mem, _t86, cpu->r[7]); /* 0289B7BC */ _t87 = cpu->r[12] + 0xFFFFFFF8u; /* 0289B7BC */ cpu->r[22] = rbrew_read32(cpu->mem, _t87); /* 0289B7C0 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFF0u; /* 0289B7C4 */ _t88 = cpu->r[25] + 0x00000018u; /* 0289B7C4 */ rbrew_write32(cpu->mem, _t88, cpu->r[8]); /* 0289B7C8 */ _t89 = cpu->r[12] + 0xFFFFFFF4u; /* 0289B7C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89); /* 0289B7CC */ cpu->r[30] = 0x00000001u; /* 0289B7D0 */ _t90 = cpu->r[25] + 0x00000018u; /* 0289B7D0 */ rbrew_write32(cpu->mem, _t90, cpu->r[10]); /* 0289B7D4 */ cpu->r[26] = cpu->r[30]; /* 0289B7D8 */ _t91 = cpu->r[1] + 0x0000000Cu; /* 0289B7D8 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]); /* 0289B7DC */ _t92 = cpu->r[12] + 0xFFFFFFF2u; /* 0289B7DC */ cpu->r[11] = rbrew_read16(cpu->mem, _t92); /* 0289B7E0 */ cpu->r[20] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0289B7E4 */ cpu->r[23] = cpu->r[21]; /* 0289B7E8 */ _t93 = cpu->r[4] + 0x000000F4u; /* 0289B7E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t93); /* 0289B7EC */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000016u, 0x0000001Fu); /* 0289B7F0 */ /* nop */ /* 0289B7F4 */ cpu->r[24] = 0x00000000u; /* 0289B7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289B7FC */ _t94 = cpu->r[4] + 0x00000012u; /* 0289B7FC */ cpu->r[27] = rbrew_read16(cpu->mem, _t94); /* 0289B800 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000017u, 0x0000001Cu, 0x0000001Fu); /* 0289B804 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B804 */ _t96 = _t95 & 0x00000001u; /* 0289B804 */ if (_t96) goto L_0289B808; else goto L_0289B824; L_0289B808: ; // 0x289b808 /* 0289B808 */ cpu->r[3] = cpu->r[25]; /* 0289B80C */ Gambit_fn_028974D0(cpu); /* 0289B810 */ cpu->r[4] = cpu->r[3]; /* 0289B814 */ cpu->r[3] = cpu->r[27]; /* 0289B818 */ cpu->r[5] = 0x00000010u; /* 0289B81C */ Gambit_fn_0287B904(cpu); /* 0289B820 */ cpu->r[27] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); L_0289B824: ; // 0x289b824 /* 0289B824 */ cpu->r[0] = cpu->r[31] + cpu->r[28]; /* 0289B824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289B828 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B828 */ _t98 = _t97 & 0x00000001u; /* 0289B828 */ if (_t98) goto L_0289B854; else goto L_0289B82C; L_0289B82C: ; // 0x289b82c /* 0289B82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[29]); /* 0289B830 */ _t99 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289B830 */ _t100 = _t99 & 0x00000001u; /* 0289B830 */ if (_t100) goto L_0289B854; else goto L_0289B834; L_0289B834: ; // 0x289b834 /* 0289B834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289B838 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B838 */ _t102 = _t101 & 0x00000001u; /* 0289B838 */ if (_t102) goto L_0289B84C; else goto L_0289B83C; L_0289B83C: ; // 0x289b83c /* 0289B83C */ _t103 = cpu->r[25] + 0x00000018u; /* 0289B83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t103); /* 0289B840 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289B844 */ cpu->r[0] = cpu->r[0] - cpu->r[5]; /* 0289B848 */ _t104 = cpu->r[25] + 0x00000018u; /* 0289B848 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]); L_0289B84C: ; // 0x289b84c /* 0289B84C */ cpu->r[20] = cpu->r[29]; /* 0289B850 */ _t105 = cpu->r[1] + 0x0000000Cu; /* 0289B850 */ rbrew_write32(cpu->mem, _t105, cpu->r[28]); L_0289B854: ; // 0x289b854 /* 0289B854 */ cpu->r[6] = cpu->r[20] ^ cpu->r[27]; /* 0289B858 */ cpu->r[7] = rbrew_clz32(cpu->r[6]); /* 0289B85C */ cpu->r[31] = rbrew_rlwinm(cpu->r[7], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289B860 */ cpu->r[29] = cpu->r[31]; /* 0289B864 */ cpu->r[28] = cpu->r[29]; /* 0289B868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289B86C */ cpu->r[19] = cpu->r[28]; /* 0289B870 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B870 */ _t107 = _t106 & 0x00000001u; /* 0289B870 */ if (_t107) goto L_02899E10; else goto L_0289B874; L_0289B874: ; // 0x289b874 /* 0289B874 */ cpu->r[5] = cpu->r[25]; /* 0289B878 */ cpu->r[3] = 0x00000002u; /* 0289B87C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 0289B880 */ Gambit_fn_02899AE0(cpu); /* 0289B884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u); /* 0289B888 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289B888 */ _t109 = _t108 & 0x00000001u; /* 0289B888 */ if (_t109) goto L_0289B8B8; else goto L_0289B88C; L_0289B88C: ; // 0x289b88c /* 0289B88C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B88C */ _t111 = _t110 & 0x00000001u; /* 0289B88C */ if (_t111) goto L_0289BBB0; else goto L_0289B890; L_0289B890: ; // 0x289b890 /* 0289B890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u); /* 0289B894 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B894 */ _t113 = _t112 & 0x00000001u; /* 0289B894 */ if (_t113) goto L_0289B91C; else goto L_0289B898; L_0289B898: ; // 0x289b898 /* 0289B898 */ cpu->r[5] = cpu->r[25]; /* 0289B89C */ cpu->r[3] = 0x00000001u; /* 0289B8A0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 0289B8A4 */ Gambit_fn_02899AE0(cpu); /* 0289B8A8 */ cpu->r[8] = cpu->r[3] ^ 0x00000001u; /* 0289B8AC */ cpu->r[9] = rbrew_clz32(cpu->r[8]); /* 0289B8B0 */ cpu->r[18] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289B8B4 */ goto L_0289B920; L_0289B8B8: ; // 0x289b8b8 /* 0289B8B8 */ cpu->r[5] = cpu->r[25]; /* 0289B8BC */ cpu->r[3] = 0x00000001u; /* 0289B8C0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 0289B8C4 */ Gambit_fn_02899AE0(cpu); /* 0289B8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289B8CC */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B8CC */ _t115 = _t114 & 0x00000001u; /* 0289B8CC */ if (_t115) goto L_0289B8D0; else goto L_0289B8D8; L_0289B8D0: ; // 0x289b8d0 /* 0289B8D0 */ cpu->r[18] = 0x00000003u; /* 0289B8D4 */ goto L_0289B920; L_0289B8D8: ; // 0x289b8d8 /* 0289B8D8 */ cpu->r[5] = cpu->r[25]; /* 0289B8DC */ cpu->r[3] = 0x00000001u; /* 0289B8E0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 0289B8E4 */ Gambit_fn_02899AE0(cpu); /* 0289B8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u); /* 0289B8EC */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B8EC */ _t117 = _t116 & 0x00000001u; /* 0289B8EC */ if (_t117) goto L_0289B8F0; else goto L_0289B8F8; L_0289B8F0: ; // 0x289b8f0 /* 0289B8F0 */ cpu->r[18] = 0x00000002u; /* 0289B8F4 */ goto L_0289B920; L_0289B8F8: ; // 0x289b8f8 /* 0289B8F8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 0289B8FC */ cpu->r[3] = 0x00000001u; /* 0289B900 */ cpu->r[5] = cpu->r[25]; /* 0289B904 */ cpu->r[18] = 0x00000006u; /* 0289B908 */ Gambit_fn_02899AE0(cpu); /* 0289B90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289B910 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289B910 */ _t119 = _t118 & 0x00000001u; /* 0289B910 */ if (_t119) goto L_0289B914; else goto L_0289B920; L_0289B914: ; // 0x289b914 /* 0289B914 */ cpu->r[18] = 0x00000007u; /* 0289B918 */ goto L_0289B920; L_0289B91C: ; // 0x289b91c /* 0289B91C */ cpu->r[18] = 0x00000005u; L_0289B920: ; // 0x289b920 /* 0289B920 */ cpu->r[18] = rbrew_rlwinm(cpu->r[18], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289B924 */ cpu->r[10] = cpu->r[18] + 0x028A0000u; /* 0289B928 */ cpu->r[10] = cpu->r[10] + 0xFFFFB934u; /* 0289B92C */ cpu->ctr = cpu->r[10]; /* 0289B930 */ rbrew_dispatch(cpu, cpu->ctr); return; L_0289BBB0: ; // 0x289bbb0 /* 0289BBB0 */ cpu->r[18] = 0x00000004u; /* 0289BBB4 */ goto L_0289B920; } // fn_0289BD80 @ 0x289bd80 void Gambit_fn_0289BD80(CPUState* cpu) { uint32_t _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_0289BCF4: ; // 0x289bcf4 /* 0289BCF4 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289BCF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0289BCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289BCFC */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu; /* 0289BD00 */ _t1 = cpu->r[3] + 0x0000001Cu; /* 0289BD00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289BD04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BD04 */ _t3 = _t2 & 0x00000001u; /* 0289BD04 */ if (_t3) goto L_0289BD3C; else goto L_0289BD08; L_0289BD08: ; // 0x289bd08 /* 0289BD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BD0C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289BD0C */ _t5 = _t4 & 0x00000001u; /* 0289BD0C */ if (_t5) goto L_0289BD74; else goto L_0289BD10; L_0289BD10: ; // 0x289bd10 /* 0289BD10 */ cpu->ctr = cpu->r[4]; /* 0289BD14 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BD18 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; L_0289BD1C: ; // 0x289bd1c /* 0289BD1C */ _t6 = cpu->r[11] + 0x00000001u; /* 0289BD1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0289BD1C */ cpu->r[11] = _t6; /* 0289BD20 */ _t7 = cpu->r[9] + 0x00000004u; /* 0289BD20 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0289BD20 */ cpu->r[9] = _t7; /* 0289BD24 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289BD24 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289BD24 */ _t9 = _t8 >> (0x00000002u & 31u); /* 0289BD24 */ _t10 = _t9 & 0x00000001u; /* 0289BD24 */ if (_t10) goto L_0289BD1C; else goto L_0289BD28; L_0289BD28: ; // 0x289bd28 /* 0289BD28 */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 0289BD2C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289BD30 */ _t11 = cpu->r[3] + 0x00000018u; /* 0289BD30 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 0289BD34 */ _t12 = cpu->r[3] + 0x0000001Cu; /* 0289BD34 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 0289BD38 */ return; L_0289BD3C: ; // 0x289bd3c /* 0289BD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BD40 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289BD40 */ _t14 = _t13 & 0x00000001u; /* 0289BD40 */ if (_t14) goto L_0289BD74; else goto L_0289BD44; L_0289BD44: ; // 0x289bd44 /* 0289BD44 */ cpu->ctr = cpu->r[4]; /* 0289BD48 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BD4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; L_0289BD50: ; // 0x289bd50 /* 0289BD50 */ _t15 = cpu->r[11] + 0x00000001u; /* 0289BD50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15); /* 0289BD54 */ _t16 = cpu->r[11] + 0x00000002u; /* 0289BD54 */ cpu->r[10] = rbrew_read8(cpu->mem, _t16); /* 0289BD54 */ cpu->r[11] = _t16; /* 0289BD58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x00000017u); /* 0289BD5C */ cpu->r[10] = cpu->r[12] + cpu->r[10]; /* 0289BD60 */ /* nop */ /* 0289BD64 */ _t17 = cpu->r[9] + 0x00000004u; /* 0289BD64 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0289BD64 */ cpu->r[9] = _t17; /* 0289BD68 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289BD68 */ _t18 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289BD68 */ _t19 = _t18 >> (0x00000002u & 31u); /* 0289BD68 */ _t20 = _t19 & 0x00000001u; /* 0289BD68 */ if (_t20) goto L_0289BD50; else goto L_0289BD6C; L_0289BD6C: ; // 0x289bd6c /* 0289BD6C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289BD70 */ cpu->r[9] = cpu->r[9] + 0x00000004u; L_0289BD74: ; // 0x289bd74 /* 0289BD74 */ _t21 = cpu->r[3] + 0x0000001Cu; /* 0289BD74 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]); /* 0289BD78 */ _t22 = cpu->r[3] + 0x00000018u; /* 0289BD78 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]); /* 0289BD7C */ return; L_0289BD80: ; // 0x289bd80 /* 0289BD80 */ _t23 = cpu->r[3] + 0x0000003Au; /* 0289BD80 */ cpu->r[12] = rbrew_read8(cpu->mem, _t23); /* 0289BD84 */ cpu->r[5] = 0x00000001u; /* 0289BD88 */ cpu->r[4] = cpu->r[12] + 0xFFFFFF51u; /* 0289BD8C */ goto L_0289BCF4; } // fn_0289BD90 @ 0x289bd90 void Gambit_fn_0289BD90(CPUState* cpu) { uint32_t _t0, _t1, _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_0289BCF4: ; // 0x289bcf4 /* 0289BCF4 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289BCF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0289BCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289BCFC */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu; /* 0289BD00 */ _t1 = cpu->r[3] + 0x0000001Cu; /* 0289BD00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289BD04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BD04 */ _t3 = _t2 & 0x00000001u; /* 0289BD04 */ if (_t3) goto L_0289BD3C; else goto L_0289BD08; L_0289BD08: ; // 0x289bd08 /* 0289BD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BD0C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289BD0C */ _t5 = _t4 & 0x00000001u; /* 0289BD0C */ if (_t5) goto L_0289BD74; else goto L_0289BD10; L_0289BD10: ; // 0x289bd10 /* 0289BD10 */ cpu->ctr = cpu->r[4]; /* 0289BD14 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BD18 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; L_0289BD1C: ; // 0x289bd1c /* 0289BD1C */ _t6 = cpu->r[11] + 0x00000001u; /* 0289BD1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0289BD1C */ cpu->r[11] = _t6; /* 0289BD20 */ _t7 = cpu->r[9] + 0x00000004u; /* 0289BD20 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0289BD20 */ cpu->r[9] = _t7; /* 0289BD24 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289BD24 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289BD24 */ _t9 = _t8 >> (0x00000002u & 31u); /* 0289BD24 */ _t10 = _t9 & 0x00000001u; /* 0289BD24 */ if (_t10) goto L_0289BD1C; else goto L_0289BD28; L_0289BD28: ; // 0x289bd28 /* 0289BD28 */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 0289BD2C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289BD30 */ _t11 = cpu->r[3] + 0x00000018u; /* 0289BD30 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 0289BD34 */ _t12 = cpu->r[3] + 0x0000001Cu; /* 0289BD34 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 0289BD38 */ return; L_0289BD3C: ; // 0x289bd3c /* 0289BD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BD40 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289BD40 */ _t14 = _t13 & 0x00000001u; /* 0289BD40 */ if (_t14) goto L_0289BD74; else goto L_0289BD44; L_0289BD44: ; // 0x289bd44 /* 0289BD44 */ cpu->ctr = cpu->r[4]; /* 0289BD48 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BD4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; L_0289BD50: ; // 0x289bd50 /* 0289BD50 */ _t15 = cpu->r[11] + 0x00000001u; /* 0289BD50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15); /* 0289BD54 */ _t16 = cpu->r[11] + 0x00000002u; /* 0289BD54 */ cpu->r[10] = rbrew_read8(cpu->mem, _t16); /* 0289BD54 */ cpu->r[11] = _t16; /* 0289BD58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x00000017u); /* 0289BD5C */ cpu->r[10] = cpu->r[12] + cpu->r[10]; /* 0289BD60 */ /* nop */ /* 0289BD64 */ _t17 = cpu->r[9] + 0x00000004u; /* 0289BD64 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0289BD64 */ cpu->r[9] = _t17; /* 0289BD68 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289BD68 */ _t18 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289BD68 */ _t19 = _t18 >> (0x00000002u & 31u); /* 0289BD68 */ _t20 = _t19 & 0x00000001u; /* 0289BD68 */ if (_t20) goto L_0289BD50; else goto L_0289BD6C; L_0289BD6C: ; // 0x289bd6c /* 0289BD6C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289BD70 */ cpu->r[9] = cpu->r[9] + 0x00000004u; L_0289BD74: ; // 0x289bd74 /* 0289BD74 */ _t21 = cpu->r[3] + 0x0000001Cu; /* 0289BD74 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]); /* 0289BD78 */ _t22 = cpu->r[3] + 0x00000018u; /* 0289BD78 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]); /* 0289BD7C */ return; L_0289BD90: ; // 0x289bd90 /* 0289BD90 */ _t23 = cpu->r[3] + 0x0000001Cu; /* 0289BD90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0289BD94 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 0289BD98 */ _t24 = cpu->r[3] + 0x0000001Cu; /* 0289BD98 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 0289BD9C */ _t25 = cpu->r[12] + 0x00000000u; /* 0289BD9C */ cpu->r[4] = rbrew_read8(cpu->mem, _t25); /* 0289BDA0 */ cpu->r[5] = 0x00000001u; /* 0289BDA4 */ goto L_0289BCF4; } // fn_0289BDA8 @ 0x289bda8 void Gambit_fn_0289BDA8(CPUState* cpu) { uint32_t _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_0289BCF4: ; // 0x289bcf4 /* 0289BCF4 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289BCF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0289BCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289BCFC */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu; /* 0289BD00 */ _t1 = cpu->r[3] + 0x0000001Cu; /* 0289BD00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289BD04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BD04 */ _t3 = _t2 & 0x00000001u; /* 0289BD04 */ if (_t3) goto L_0289BD3C; else goto L_0289BD08; L_0289BD08: ; // 0x289bd08 /* 0289BD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BD0C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289BD0C */ _t5 = _t4 & 0x00000001u; /* 0289BD0C */ if (_t5) goto L_0289BD74; else goto L_0289BD10; L_0289BD10: ; // 0x289bd10 /* 0289BD10 */ cpu->ctr = cpu->r[4]; /* 0289BD14 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BD18 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; L_0289BD1C: ; // 0x289bd1c /* 0289BD1C */ _t6 = cpu->r[11] + 0x00000001u; /* 0289BD1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0289BD1C */ cpu->r[11] = _t6; /* 0289BD20 */ _t7 = cpu->r[9] + 0x00000004u; /* 0289BD20 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0289BD20 */ cpu->r[9] = _t7; /* 0289BD24 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289BD24 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289BD24 */ _t9 = _t8 >> (0x00000002u & 31u); /* 0289BD24 */ _t10 = _t9 & 0x00000001u; /* 0289BD24 */ if (_t10) goto L_0289BD1C; else goto L_0289BD28; L_0289BD28: ; // 0x289bd28 /* 0289BD28 */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 0289BD2C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289BD30 */ _t11 = cpu->r[3] + 0x00000018u; /* 0289BD30 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 0289BD34 */ _t12 = cpu->r[3] + 0x0000001Cu; /* 0289BD34 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 0289BD38 */ return; L_0289BD3C: ; // 0x289bd3c /* 0289BD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BD40 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289BD40 */ _t14 = _t13 & 0x00000001u; /* 0289BD40 */ if (_t14) goto L_0289BD74; else goto L_0289BD44; L_0289BD44: ; // 0x289bd44 /* 0289BD44 */ cpu->ctr = cpu->r[4]; /* 0289BD48 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BD4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; L_0289BD50: ; // 0x289bd50 /* 0289BD50 */ _t15 = cpu->r[11] + 0x00000001u; /* 0289BD50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15); /* 0289BD54 */ _t16 = cpu->r[11] + 0x00000002u; /* 0289BD54 */ cpu->r[10] = rbrew_read8(cpu->mem, _t16); /* 0289BD54 */ cpu->r[11] = _t16; /* 0289BD58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x00000017u); /* 0289BD5C */ cpu->r[10] = cpu->r[12] + cpu->r[10]; /* 0289BD60 */ /* nop */ /* 0289BD64 */ _t17 = cpu->r[9] + 0x00000004u; /* 0289BD64 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0289BD64 */ cpu->r[9] = _t17; /* 0289BD68 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289BD68 */ _t18 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289BD68 */ _t19 = _t18 >> (0x00000002u & 31u); /* 0289BD68 */ _t20 = _t19 & 0x00000001u; /* 0289BD68 */ if (_t20) goto L_0289BD50; else goto L_0289BD6C; L_0289BD6C: ; // 0x289bd6c /* 0289BD6C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289BD70 */ cpu->r[9] = cpu->r[9] + 0x00000004u; L_0289BD74: ; // 0x289bd74 /* 0289BD74 */ _t21 = cpu->r[3] + 0x0000001Cu; /* 0289BD74 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]); /* 0289BD78 */ _t22 = cpu->r[3] + 0x00000018u; /* 0289BD78 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]); /* 0289BD7C */ return; L_0289BDA8: ; // 0x289bda8 /* 0289BDA8 */ _t23 = cpu->r[3] + 0x0000003Au; /* 0289BDA8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t23); /* 0289BDAC */ cpu->r[5] = 0x00000000u; /* 0289BDB0 */ cpu->r[4] = cpu->r[12] + 0xFFFFFF49u; /* 0289BDB4 */ goto L_0289BCF4; } // fn_0289BDB8 @ 0x289bdb8 void Gambit_fn_0289BDB8(CPUState* cpu) { uint32_t _t0, _t1, _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_0289BCF4: ; // 0x289bcf4 /* 0289BCF4 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289BCF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0289BCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289BCFC */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu; /* 0289BD00 */ _t1 = cpu->r[3] + 0x0000001Cu; /* 0289BD00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289BD04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BD04 */ _t3 = _t2 & 0x00000001u; /* 0289BD04 */ if (_t3) goto L_0289BD3C; else goto L_0289BD08; L_0289BD08: ; // 0x289bd08 /* 0289BD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BD0C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289BD0C */ _t5 = _t4 & 0x00000001u; /* 0289BD0C */ if (_t5) goto L_0289BD74; else goto L_0289BD10; L_0289BD10: ; // 0x289bd10 /* 0289BD10 */ cpu->ctr = cpu->r[4]; /* 0289BD14 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BD18 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; L_0289BD1C: ; // 0x289bd1c /* 0289BD1C */ _t6 = cpu->r[11] + 0x00000001u; /* 0289BD1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0289BD1C */ cpu->r[11] = _t6; /* 0289BD20 */ _t7 = cpu->r[9] + 0x00000004u; /* 0289BD20 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0289BD20 */ cpu->r[9] = _t7; /* 0289BD24 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289BD24 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289BD24 */ _t9 = _t8 >> (0x00000002u & 31u); /* 0289BD24 */ _t10 = _t9 & 0x00000001u; /* 0289BD24 */ if (_t10) goto L_0289BD1C; else goto L_0289BD28; L_0289BD28: ; // 0x289bd28 /* 0289BD28 */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 0289BD2C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289BD30 */ _t11 = cpu->r[3] + 0x00000018u; /* 0289BD30 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 0289BD34 */ _t12 = cpu->r[3] + 0x0000001Cu; /* 0289BD34 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 0289BD38 */ return; L_0289BD3C: ; // 0x289bd3c /* 0289BD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BD40 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289BD40 */ _t14 = _t13 & 0x00000001u; /* 0289BD40 */ if (_t14) goto L_0289BD74; else goto L_0289BD44; L_0289BD44: ; // 0x289bd44 /* 0289BD44 */ cpu->ctr = cpu->r[4]; /* 0289BD48 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BD4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; L_0289BD50: ; // 0x289bd50 /* 0289BD50 */ _t15 = cpu->r[11] + 0x00000001u; /* 0289BD50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15); /* 0289BD54 */ _t16 = cpu->r[11] + 0x00000002u; /* 0289BD54 */ cpu->r[10] = rbrew_read8(cpu->mem, _t16); /* 0289BD54 */ cpu->r[11] = _t16; /* 0289BD58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x00000017u); /* 0289BD5C */ cpu->r[10] = cpu->r[12] + cpu->r[10]; /* 0289BD60 */ /* nop */ /* 0289BD64 */ _t17 = cpu->r[9] + 0x00000004u; /* 0289BD64 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0289BD64 */ cpu->r[9] = _t17; /* 0289BD68 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289BD68 */ _t18 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289BD68 */ _t19 = _t18 >> (0x00000002u & 31u); /* 0289BD68 */ _t20 = _t19 & 0x00000001u; /* 0289BD68 */ if (_t20) goto L_0289BD50; else goto L_0289BD6C; L_0289BD6C: ; // 0x289bd6c /* 0289BD6C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289BD70 */ cpu->r[9] = cpu->r[9] + 0x00000004u; L_0289BD74: ; // 0x289bd74 /* 0289BD74 */ _t21 = cpu->r[3] + 0x0000001Cu; /* 0289BD74 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]); /* 0289BD78 */ _t22 = cpu->r[3] + 0x00000018u; /* 0289BD78 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]); /* 0289BD7C */ return; L_0289BDB8: ; // 0x289bdb8 /* 0289BDB8 */ _t23 = cpu->r[3] + 0x0000001Cu; /* 0289BDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0289BDBC */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 0289BDC0 */ _t24 = cpu->r[3] + 0x0000001Cu; /* 0289BDC0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 0289BDC4 */ _t25 = cpu->r[12] + 0x00000000u; /* 0289BDC4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t25); /* 0289BDC8 */ cpu->r[5] = 0x00000000u; /* 0289BDCC */ goto L_0289BCF4; } // fn_0289BDD0 @ 0x289bdd0 void Gambit_fn_0289BDD0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0289BDD0: ; // 0x289bdd0 /* 0289BDD0 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289BDD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289BDD4 */ _t1 = cpu->r[3] + 0x00000024u; /* 0289BDD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 0289BDD8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BDDC */ _t2 = cpu->r[3] + 0x00000018u; /* 0289BDDC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 0289BDE0 */ _t3 = cpu->r[12] + 0x00000000u; /* 0289BDE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 0289BDE4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BDE8 */ _t4 = cpu->r[3] + 0x00000018u; /* 0289BDE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289BDEC */ _t5 = cpu->r[12] + 0xFFFFFFFCu; /* 0289BDEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0289BDF0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289BDF4 */ _t6 = cpu->r[10] + 0x00000008u; /* 0289BDF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0289BDF8 */ _t7 = cpu->r[8] + cpu->r[0]; /* 0289BDF8 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]); /* 0289BDFC */ return; } // fn_0289BE00 @ 0x289be00 void Gambit_fn_0289BE00(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0289BE00: ; // 0x289be00 /* 0289BE00 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289BE00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289BE04 */ _t1 = cpu->r[3] + 0x00000024u; /* 0289BE04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289BE08 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BE0C */ _t2 = cpu->r[3] + 0x00000018u; /* 0289BE0C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 0289BE10 */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289BE14 */ _t3 = cpu->r[12] + 0x00000000u; /* 0289BE14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0289BE18 */ _t4 = cpu->r[3] + 0x00000018u; /* 0289BE18 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289BE1C */ _t5 = cpu->r[11] + 0x00000008u; /* 0289BE1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289BE20 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289BE24 */ _t6 = cpu->r[9] + cpu->r[10]; /* 0289BE24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 0289BE28 */ _t7 = cpu->r[12] + 0x00000000u; /* 0289BE28 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 0289BE2C */ return; } // fn_0289BE30 @ 0x289be30 void Gambit_fn_0289BE30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_0289BE30: ; // 0x289be30 /* 0289BE30 */ cpu->r[0] = cpu->lr; /* 0289BE34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289BE34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289BE34 */ cpu->r[1] = _t0; /* 0289BE38 */ _t1 = cpu->r[1] + 0x00000010u; /* 0289BE38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289BE3C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289BE3C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289BE40 */ cpu->r[30] = cpu->r[3]; /* 0289BE44 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289BE44 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0289BE48 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0289BE48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289BE4C */ _t5 = cpu->r[30] + 0x00000018u; /* 0289BE4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 0289BE50 */ _t6 = cpu->r[30] + 0x00000024u; /* 0289BE50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 0289BE54 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFCu; /* 0289BE58 */ _t7 = cpu->r[30] + 0x00000018u; /* 0289BE58 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]); /* 0289BE5C */ _t8 = cpu->r[7] + 0x00000000u; /* 0289BE5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8); /* 0289BE60 */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFCu; /* 0289BE64 */ _t9 = cpu->r[30] + 0x00000018u; /* 0289BE64 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0289BE68 */ _t10 = cpu->r[7] + 0xFFFFFFFCu; /* 0289BE68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0289BE6C */ _t11 = cpu->r[9] + 0x0000000Cu; /* 0289BE6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0289BE70 */ cpu->r[31] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289BE74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0289BE78 */ _t12 = cpu->r[10] + cpu->r[31]; /* 0289BE78 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]); /* 0289BE7C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BE7C */ _t14 = _t13 & 0x00000001u; /* 0289BE7C */ if (_t14) goto L_0289BEC8; else goto L_0289BE80; L_0289BE80: ; // 0x289be80 /* 0289BE80 */ _t15 = cpu->r[30] + 0x0000004Cu; /* 0289BE80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0289BE84 */ cpu->ctr = cpu->r[0]; /* 0289BE88 */ cpu->r[3] = cpu->r[30]; /* 0289BE8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289BE90 */ cpu->r[4] = cpu->r[3]; /* 0289BE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289BE94 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BE94 */ _t17 = _t16 & 0x00000001u; /* 0289BE94 */ if (_t17) goto L_0289BEC8; else goto L_0289BE98; L_0289BE98: ; // 0x289be98 /* 0289BE98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]); /* 0289BE9C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BE9C */ _t19 = _t18 & 0x00000001u; /* 0289BE9C */ if (_t19) goto L_0289BEC8; else goto L_0289BEA0; L_0289BEA0: ; // 0x289bea0 /* 0289BEA0 */ _t20 = cpu->r[30] + 0x00000024u; /* 0289BEA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289BEA4 */ cpu->r[5] = 0x00000010u; /* 0289BEA8 */ cpu->r[3] = cpu->r[29]; /* 0289BEAC */ _t21 = cpu->r[12] + 0x0000000Cu; /* 0289BEAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0289BEB0 */ Gambit_fn_0287B61C(cpu); /* 0289BEB4 */ cpu->r[4] = cpu->r[3]; /* 0289BEB8 */ cpu->r[5] = 0x00000010u; /* 0289BEBC */ cpu->r[3] = cpu->r[29]; /* 0289BEC0 */ Gambit_fn_0287B904(cpu); /* 0289BEC4 */ _t22 = cpu->r[30] + cpu->r[31]; /* 0289BEC4 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); L_0289BEC8: ; // 0x289bec8 /* 0289BEC8 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0289BEC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0289BECC */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0289BECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0289BED0 */ _t25 = cpu->r[1] + 0x00000010u; /* 0289BED0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 0289BED4 */ cpu->lr = cpu->r[0]; /* 0289BED8 */ _t26 = cpu->r[1] + 0x00000014u; /* 0289BED8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0289BEDC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289BEE0 */ return; } // fn_0289BE34 @ 0x289be34 void Gambit_fn_0289BE34(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_0289BE34: ; // 0x289be34 /* 0289BE34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289BE34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289BE34 */ cpu->r[1] = _t0; /* 0289BE38 */ _t1 = cpu->r[1] + 0x00000010u; /* 0289BE38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289BE3C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289BE3C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289BE40 */ cpu->r[30] = cpu->r[3]; /* 0289BE44 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289BE44 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0289BE48 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0289BE48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289BE4C */ _t5 = cpu->r[30] + 0x00000018u; /* 0289BE4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 0289BE50 */ _t6 = cpu->r[30] + 0x00000024u; /* 0289BE50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 0289BE54 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFCu; /* 0289BE58 */ _t7 = cpu->r[30] + 0x00000018u; /* 0289BE58 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]); /* 0289BE5C */ _t8 = cpu->r[7] + 0x00000000u; /* 0289BE5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8); /* 0289BE60 */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFCu; /* 0289BE64 */ _t9 = cpu->r[30] + 0x00000018u; /* 0289BE64 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0289BE68 */ _t10 = cpu->r[7] + 0xFFFFFFFCu; /* 0289BE68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0289BE6C */ _t11 = cpu->r[9] + 0x0000000Cu; /* 0289BE6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0289BE70 */ cpu->r[31] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289BE74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0289BE78 */ _t12 = cpu->r[10] + cpu->r[31]; /* 0289BE78 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]); /* 0289BE7C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BE7C */ _t14 = _t13 & 0x00000001u; /* 0289BE7C */ if (_t14) goto L_0289BEC8; else goto L_0289BE80; L_0289BE80: ; // 0x289be80 /* 0289BE80 */ _t15 = cpu->r[30] + 0x0000004Cu; /* 0289BE80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0289BE84 */ cpu->ctr = cpu->r[0]; /* 0289BE88 */ cpu->r[3] = cpu->r[30]; /* 0289BE8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289BE90 */ cpu->r[4] = cpu->r[3]; /* 0289BE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289BE94 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BE94 */ _t17 = _t16 & 0x00000001u; /* 0289BE94 */ if (_t17) goto L_0289BEC8; else goto L_0289BE98; L_0289BE98: ; // 0x289be98 /* 0289BE98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]); /* 0289BE9C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BE9C */ _t19 = _t18 & 0x00000001u; /* 0289BE9C */ if (_t19) goto L_0289BEC8; else goto L_0289BEA0; L_0289BEA0: ; // 0x289bea0 /* 0289BEA0 */ _t20 = cpu->r[30] + 0x00000024u; /* 0289BEA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289BEA4 */ cpu->r[5] = 0x00000010u; /* 0289BEA8 */ cpu->r[3] = cpu->r[29]; /* 0289BEAC */ _t21 = cpu->r[12] + 0x0000000Cu; /* 0289BEAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0289BEB0 */ Gambit_fn_0287B61C(cpu); /* 0289BEB4 */ cpu->r[4] = cpu->r[3]; /* 0289BEB8 */ cpu->r[5] = 0x00000010u; /* 0289BEBC */ cpu->r[3] = cpu->r[29]; /* 0289BEC0 */ Gambit_fn_0287B904(cpu); /* 0289BEC4 */ _t22 = cpu->r[30] + cpu->r[31]; /* 0289BEC4 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); L_0289BEC8: ; // 0x289bec8 /* 0289BEC8 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0289BEC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0289BECC */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0289BECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0289BED0 */ _t25 = cpu->r[1] + 0x00000010u; /* 0289BED0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 0289BED4 */ cpu->lr = cpu->r[0]; /* 0289BED8 */ _t26 = cpu->r[1] + 0x00000014u; /* 0289BED8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0289BEDC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289BEE0 */ return; } // fn_0289BEE4 @ 0x289bee4 void Gambit_fn_0289BEE4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0289BEE4: ; // 0x289bee4 /* 0289BEE4 */ cpu->r[0] = cpu->lr; /* 0289BEE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289BEE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289BEE8 */ cpu->r[1] = _t0; /* 0289BEEC */ _t1 = cpu->r[1] + 0x00000008u; /* 0289BEEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289BEF0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289BEF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0289BEF4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289BEF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289BEF8 */ _t4 = cpu->r[3] + 0x00000018u; /* 0289BEF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0289BEFC */ _t5 = cpu->r[3] + 0x00000024u; /* 0289BEFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0289BF00 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BF04 */ _t6 = cpu->r[3] + 0x00000018u; /* 0289BF04 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0289BF08 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BF0C */ _t7 = cpu->r[12] + 0x00000000u; /* 0289BF0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0289BF10 */ _t8 = cpu->r[3] + 0x00000018u; /* 0289BF10 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289BF14 */ _t9 = cpu->r[12] + 0xFFFFFFFCu; /* 0289BF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0289BF18 */ _t10 = cpu->r[11] + 0x000000F0u; /* 0289BF18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0289BF1C */ cpu->r[30] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289BF20 */ _t11 = cpu->r[11] + 0x0000000Cu; /* 0289BF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0289BF24 */ cpu->r[4] = cpu->r[11] + 0x000000E0u; /* 0289BF28 */ Gambit_fn_0287BC34(cpu); /* 0289BF2C */ _t12 = cpu->r[30] + cpu->r[31]; /* 0289BF2C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0289BF30 */ _t13 = cpu->r[1] + 0x00000014u; /* 0289BF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0289BF34 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0289BF34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0289BF38 */ cpu->lr = cpu->r[0]; /* 0289BF3C */ _t15 = cpu->r[1] + 0x00000008u; /* 0289BF3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0289BF40 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289BF44 */ return; } // fn_0289BEE8 @ 0x289bee8 void Gambit_fn_0289BEE8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0289BEE8: ; // 0x289bee8 /* 0289BEE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289BEE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289BEE8 */ cpu->r[1] = _t0; /* 0289BEEC */ _t1 = cpu->r[1] + 0x00000008u; /* 0289BEEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289BEF0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289BEF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0289BEF4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289BEF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289BEF8 */ _t4 = cpu->r[3] + 0x00000018u; /* 0289BEF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0289BEFC */ _t5 = cpu->r[3] + 0x00000024u; /* 0289BEFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0289BF00 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BF04 */ _t6 = cpu->r[3] + 0x00000018u; /* 0289BF04 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0289BF08 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BF0C */ _t7 = cpu->r[12] + 0x00000000u; /* 0289BF0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0289BF10 */ _t8 = cpu->r[3] + 0x00000018u; /* 0289BF10 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289BF14 */ _t9 = cpu->r[12] + 0xFFFFFFFCu; /* 0289BF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0289BF18 */ _t10 = cpu->r[11] + 0x000000F0u; /* 0289BF18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0289BF1C */ cpu->r[30] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289BF20 */ _t11 = cpu->r[11] + 0x0000000Cu; /* 0289BF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0289BF24 */ cpu->r[4] = cpu->r[11] + 0x000000E0u; /* 0289BF28 */ Gambit_fn_0287BC34(cpu); /* 0289BF2C */ _t12 = cpu->r[30] + cpu->r[31]; /* 0289BF2C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0289BF30 */ _t13 = cpu->r[1] + 0x00000014u; /* 0289BF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0289BF34 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0289BF34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0289BF38 */ cpu->lr = cpu->r[0]; /* 0289BF3C */ _t15 = cpu->r[1] + 0x00000008u; /* 0289BF3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0289BF40 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289BF44 */ return; } // fn_0289BF48 @ 0x289bf48 void Gambit_fn_0289BF48(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0289BF48: ; // 0x289bf48 /* 0289BF48 */ cpu->r[0] = cpu->lr; /* 0289BF4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289BF4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289BF4C */ cpu->r[1] = _t0; /* 0289BF50 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289BF50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289BF54 */ _t2 = cpu->r[1] + 0x00000014u; /* 0289BF54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0289BF58 */ _t3 = cpu->r[3] + 0x0000004Cu; /* 0289BF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0289BF5C */ _t4 = cpu->r[3] + 0x00000018u; /* 0289BF5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0289BF60 */ cpu->ctr = cpu->r[0]; /* 0289BF64 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BF68 */ _t5 = cpu->r[3] + 0x00000018u; /* 0289BF68 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 0289BF6C */ _t6 = cpu->r[12] + 0x00000000u; /* 0289BF6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 0289BF70 */ cpu->r[31] = cpu->r[3]; /* 0289BF74 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289BF78 */ _t7 = cpu->r[31] + 0x00000018u; /* 0289BF78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0289BF7C */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289BF80 */ _t8 = cpu->r[31] + 0x00000018u; /* 0289BF80 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289BF84 */ _t9 = cpu->r[12] + 0x00000000u; /* 0289BF84 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 0289BF88 */ _t10 = cpu->r[1] + 0x00000014u; /* 0289BF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289BF8C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0289BF8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0289BF90 */ cpu->lr = cpu->r[0]; /* 0289BF94 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289BF98 */ return; } // fn_0289BF4C @ 0x289bf4c void Gambit_fn_0289BF4C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0289BF4C: ; // 0x289bf4c /* 0289BF4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289BF4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289BF4C */ cpu->r[1] = _t0; /* 0289BF50 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289BF50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289BF54 */ _t2 = cpu->r[1] + 0x00000014u; /* 0289BF54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0289BF58 */ _t3 = cpu->r[3] + 0x0000004Cu; /* 0289BF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0289BF5C */ _t4 = cpu->r[3] + 0x00000018u; /* 0289BF5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0289BF60 */ cpu->ctr = cpu->r[0]; /* 0289BF64 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289BF68 */ _t5 = cpu->r[3] + 0x00000018u; /* 0289BF68 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 0289BF6C */ _t6 = cpu->r[12] + 0x00000000u; /* 0289BF6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 0289BF70 */ cpu->r[31] = cpu->r[3]; /* 0289BF74 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289BF78 */ _t7 = cpu->r[31] + 0x00000018u; /* 0289BF78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0289BF7C */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289BF80 */ _t8 = cpu->r[31] + 0x00000018u; /* 0289BF80 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289BF84 */ _t9 = cpu->r[12] + 0x00000000u; /* 0289BF84 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 0289BF88 */ _t10 = cpu->r[1] + 0x00000014u; /* 0289BF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289BF8C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0289BF8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0289BF90 */ cpu->lr = cpu->r[0]; /* 0289BF94 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289BF98 */ return; } // fn_0289BF9C @ 0x289bf9c void Gambit_fn_0289BF9C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289BF9C: ; // 0x289bf9c /* 0289BF9C */ cpu->r[0] = cpu->lr; /* 0289BFA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289BFA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289BFA0 */ cpu->r[1] = _t0; /* 0289BFA4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289BFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289BFA8 */ _t2 = cpu->r[1] + 0x00000014u; /* 0289BFA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0289BFAC */ _t3 = cpu->r[3] + 0x00000018u; /* 0289BFAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0289BFB0 */ _t4 = cpu->r[3] + 0x0000003Au; /* 0289BFB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 0289BFB4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BFB8 */ _t5 = cpu->r[3] + 0x00000018u; /* 0289BFB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 0289BFBC */ _t6 = cpu->r[9] + 0x00000000u; /* 0289BFBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0289BFC0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289BFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BFC4 */ cpu->r[31] = cpu->r[3]; /* 0289BFC8 */ _t7 = cpu->r[3] + 0x00000008u; /* 0289BFC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0289BFCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289BFD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BFD0 */ _t9 = _t8 & 0x00000001u; /* 0289BFD0 */ if (_t9) goto L_0289C004; else goto L_0289BFD4; L_0289BFD4: ; // 0x289bfd4 /* 0289BFD4 */ _t10 = cpu->r[31] + 0x00000048u; /* 0289BFD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0289BFD8 */ _t11 = cpu->r[10] + 0x00000008u; /* 0289BFD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 0289BFDC */ cpu->ctr = cpu->r[12]; /* 0289BFE0 */ _t12 = cpu->r[10] + 0x0000000Cu; /* 0289BFE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0289BFE4 */ _t13 = cpu->r[8] + cpu->r[0]; /* 0289BFE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 0289BFE8 */ _t14 = cpu->r[11] + cpu->r[0]; /* 0289BFE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14); /* 0289BFEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289BFF0 */ _t15 = cpu->r[31] + 0x00000018u; /* 0289BFF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0289BFF4 */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289BFF8 */ _t16 = cpu->r[31] + 0x00000018u; /* 0289BFF8 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0289BFFC */ _t17 = cpu->r[12] + 0x00000000u; /* 0289BFFC */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 0289C000 */ goto L_0289C030; L_0289C004: ; // 0x289c004 /* 0289C004 */ _t18 = cpu->r[31] + 0x00000044u; /* 0289C004 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0289C008 */ _t19 = cpu->r[10] + 0x00000000u; /* 0289C008 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19); /* 0289C00C */ cpu->ctr = cpu->r[9]; /* 0289C010 */ _t20 = cpu->r[10] + 0x00000004u; /* 0289C010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289C014 */ _t21 = cpu->r[11] + cpu->r[0]; /* 0289C014 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 0289C018 */ _t22 = cpu->r[12] + cpu->r[0]; /* 0289C018 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0289C01C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C020 */ _t23 = cpu->r[31] + 0x00000018u; /* 0289C020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0289C024 */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289C028 */ _t24 = cpu->r[31] + 0x00000018u; /* 0289C028 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 0289C02C */ _t25 = cpu->r[12] + 0x00000000u; /* 0289C02C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]); L_0289C030: ; // 0x289c030 /* 0289C030 */ _t26 = cpu->r[1] + 0x00000014u; /* 0289C030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0289C034 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 0289C034 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 0289C038 */ cpu->lr = cpu->r[0]; /* 0289C03C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C040 */ return; } // fn_0289BFA0 @ 0x289bfa0 void Gambit_fn_0289BFA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289BFA0: ; // 0x289bfa0 /* 0289BFA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289BFA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289BFA0 */ cpu->r[1] = _t0; /* 0289BFA4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289BFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289BFA8 */ _t2 = cpu->r[1] + 0x00000014u; /* 0289BFA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0289BFAC */ _t3 = cpu->r[3] + 0x00000018u; /* 0289BFAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0289BFB0 */ _t4 = cpu->r[3] + 0x0000003Au; /* 0289BFB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 0289BFB4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289BFB8 */ _t5 = cpu->r[3] + 0x00000018u; /* 0289BFB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 0289BFBC */ _t6 = cpu->r[9] + 0x00000000u; /* 0289BFBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0289BFC0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289BFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289BFC4 */ cpu->r[31] = cpu->r[3]; /* 0289BFC8 */ _t7 = cpu->r[3] + 0x00000008u; /* 0289BFC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0289BFCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289BFD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289BFD0 */ _t9 = _t8 & 0x00000001u; /* 0289BFD0 */ if (_t9) goto L_0289C004; else goto L_0289BFD4; L_0289BFD4: ; // 0x289bfd4 /* 0289BFD4 */ _t10 = cpu->r[31] + 0x00000048u; /* 0289BFD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0289BFD8 */ _t11 = cpu->r[10] + 0x00000008u; /* 0289BFD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 0289BFDC */ cpu->ctr = cpu->r[12]; /* 0289BFE0 */ _t12 = cpu->r[10] + 0x0000000Cu; /* 0289BFE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0289BFE4 */ _t13 = cpu->r[8] + cpu->r[0]; /* 0289BFE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 0289BFE8 */ _t14 = cpu->r[11] + cpu->r[0]; /* 0289BFE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14); /* 0289BFEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289BFF0 */ _t15 = cpu->r[31] + 0x00000018u; /* 0289BFF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0289BFF4 */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289BFF8 */ _t16 = cpu->r[31] + 0x00000018u; /* 0289BFF8 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0289BFFC */ _t17 = cpu->r[12] + 0x00000000u; /* 0289BFFC */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 0289C000 */ goto L_0289C030; L_0289C004: ; // 0x289c004 /* 0289C004 */ _t18 = cpu->r[31] + 0x00000044u; /* 0289C004 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0289C008 */ _t19 = cpu->r[10] + 0x00000000u; /* 0289C008 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19); /* 0289C00C */ cpu->ctr = cpu->r[9]; /* 0289C010 */ _t20 = cpu->r[10] + 0x00000004u; /* 0289C010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289C014 */ _t21 = cpu->r[11] + cpu->r[0]; /* 0289C014 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 0289C018 */ _t22 = cpu->r[12] + cpu->r[0]; /* 0289C018 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0289C01C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C020 */ _t23 = cpu->r[31] + 0x00000018u; /* 0289C020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0289C024 */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289C028 */ _t24 = cpu->r[31] + 0x00000018u; /* 0289C028 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 0289C02C */ _t25 = cpu->r[12] + 0x00000000u; /* 0289C02C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]); L_0289C030: ; // 0x289c030 /* 0289C030 */ _t26 = cpu->r[1] + 0x00000014u; /* 0289C030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0289C034 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 0289C034 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 0289C038 */ cpu->lr = cpu->r[0]; /* 0289C03C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C040 */ return; } // fn_0289C044 @ 0x289c044 void Gambit_fn_0289C044(CPUState* cpu) { uint32_t _t0, _t1, _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_0289C044: ; // 0x289c044 /* 0289C044 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0289C044 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C044 */ cpu->r[1] = _t0; /* 0289C048 */ /* nop */ /* 0289C04C */ cpu->r[0] = cpu->lr; /* 0289C050 */ _t1 = cpu->r[1] + 0x00000024u; /* 0289C050 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289C054 */ _t2 = cpu->r[3] + 0x00000018u; /* 0289C054 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 0289C058 */ _t3 = cpu->r[3] + 0x00000044u; /* 0289C058 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0289C05C */ _t4 = cpu->r[3] + 0x00000008u; /* 0289C05C */ cpu->r[29] = rbrew_read32(cpu->mem, _t4); /* 0289C060 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFCu; /* 0289C064 */ _t5 = cpu->r[3] + 0x00000018u; /* 0289C064 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]); /* 0289C068 */ _t6 = cpu->r[7] + 0x00000000u; /* 0289C068 */ cpu->r[27] = rbrew_read32(cpu->mem, _t6); /* 0289C06C */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFCu; /* 0289C070 */ _t7 = cpu->r[3] + 0x00000018u; /* 0289C070 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]); /* 0289C074 */ _t8 = cpu->r[7] + 0xFFFFFFFCu; /* 0289C074 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8); /* 0289C078 */ cpu->ctr = cpu->r[9]; /* 0289C07C */ _t9 = cpu->r[29] + 0x00000000u; /* 0289C07C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0289C080 */ cpu->r[30] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C084 */ _t10 = cpu->r[29] + 0x00000004u; /* 0289C084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0289C088 */ _t11 = cpu->r[10] + cpu->r[30]; /* 0289C088 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 0289C08C */ _t12 = cpu->r[12] + cpu->r[30]; /* 0289C08C */ cpu->r[5] = rbrew_read32(cpu->mem, _t12); /* 0289C090 */ cpu->r[31] = cpu->r[3]; /* 0289C094 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C098 */ _t13 = cpu->r[31] + 0x00000040u; /* 0289C098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0289C09C */ cpu->r[6] = cpu->r[27] - cpu->r[3]; /* 0289C0A0 */ cpu->ctr = cpu->r[0]; /* 0289C0A4 */ cpu->r[3] = cpu->r[31]; /* 0289C0A8 */ cpu->r[4] = cpu->r[29]; /* 0289C0AC */ cpu->r[5] = cpu->r[28]; /* 0289C0B0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C0B4 */ _t14 = cpu->r[31] + 0x00000020u; /* 0289C0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0289C0B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0289C0BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C0BC */ _t16 = _t15 & 0x00000001u; /* 0289C0BC */ if (_t16) goto L_0289C0C0; else goto L_0289C0E0; L_0289C0C0: ; // 0x289c0c0 /* 0289C0C0 */ _t17 = cpu->r[29] + 0x00000000u; /* 0289C0C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 0289C0C4 */ _t18 = cpu->r[29] + 0x00000008u; /* 0289C0C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 0289C0C8 */ _t19 = cpu->r[9] + cpu->r[30]; /* 0289C0C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0289C0CC */ _t20 = cpu->r[8] + cpu->r[30]; /* 0289C0CC */ rbrew_write32(cpu->mem, _t20, cpu->r[0]); /* 0289C0D0 */ _t21 = cpu->r[29] + 0x00000004u; /* 0289C0D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 0289C0D4 */ _t22 = cpu->r[29] + 0x0000000Cu; /* 0289C0D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22); /* 0289C0D8 */ _t23 = cpu->r[12] + cpu->r[30]; /* 0289C0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0289C0DC */ _t24 = cpu->r[11] + cpu->r[30]; /* 0289C0DC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); L_0289C0E0: ; // 0x289c0e0 /* 0289C0E0 */ /* nop */ /* 0289C0E4 */ _t25 = cpu->r[1] + 0x00000024u; /* 0289C0E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0289C0E8 */ cpu->lr = cpu->r[0]; /* 0289C0EC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0289C0F0 */ return; } // fn_0289C0F4 @ 0x289c0f4 void Gambit_fn_0289C0F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289C0F4: ; // 0x289c0f4 /* 0289C0F4 */ cpu->r[0] = cpu->lr; /* 0289C0F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289C0F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C0F8 */ cpu->r[1] = _t0; /* 0289C0FC */ _t1 = cpu->r[1] + 0x00000010u; /* 0289C0FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289C100 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289C100 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289C104 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289C104 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0289C108 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0289C108 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289C10C */ _t5 = cpu->r[3] + 0x00000018u; /* 0289C10C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0289C110 */ _t6 = cpu->r[3] + 0x0000003Au; /* 0289C110 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6); /* 0289C114 */ cpu->r[31] = cpu->r[3]; /* 0289C118 */ _t7 = cpu->r[30] + 0xFFFFFFFCu; /* 0289C118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0289C11C */ cpu->r[10] = cpu->r[11] + 0xFFFFFFB7u; /* 0289C120 */ _t8 = cpu->r[30] + 0xFFFFFFF8u; /* 0289C120 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8); /* 0289C120 */ cpu->r[30] = _t8; /* 0289C124 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C128 */ _t9 = cpu->r[3] + 0x00000004u; /* 0289C128 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0289C12C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289C12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289C130 */ _t10 = cpu->r[3] + 0x00000000u; /* 0289C130 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 0289C134 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C138 */ _t11 = cpu->r[3] + 0x00000024u; /* 0289C138 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0289C13C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C13C */ _t13 = _t12 & 0x00000001u; /* 0289C13C */ if (_t13) goto L_0289C194; else goto L_0289C140; L_0289C140: ; // 0x289c140 /* 0289C140 */ _t14 = cpu->r[9] + 0x00000014u; /* 0289C140 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0289C144 */ _t15 = cpu->r[5] + 0x00000014u; /* 0289C144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0289C148 */ _t16 = cpu->r[10] + cpu->r[7]; /* 0289C148 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16); /* 0289C14C */ _t17 = cpu->r[12] + cpu->r[11]; /* 0289C14C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 0289C150 */ _t18 = cpu->r[31] + 0x00000048u; /* 0289C150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0289C154 */ _t19 = cpu->r[9] + 0x00000010u; /* 0289C154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 0289C158 */ _t20 = cpu->r[5] + 0x00000010u; /* 0289C158 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 0289C15C */ cpu->ctr = cpu->r[0]; /* 0289C160 */ _t21 = cpu->r[12] + cpu->r[7]; /* 0289C160 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 0289C164 */ _t22 = cpu->r[5] + cpu->r[11]; /* 0289C164 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 0289C168 */ cpu->r[5] = cpu->r[6] - cpu->r[10]; /* 0289C16C */ cpu->r[4] = cpu->r[8] - cpu->r[9]; /* 0289C170 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C174 */ cpu->r[5] = cpu->r[3]; /* 0289C178 */ _t23 = cpu->r[29] + 0x000000F0u; /* 0289C178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23); /* 0289C17C */ cpu->r[4] = cpu->r[29] + 0x000000E0u; /* 0289C180 */ Gambit_fn_0287BC34(cpu); /* 0289C184 */ _t24 = cpu->r[30] + 0x00000000u; /* 0289C184 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]); /* 0289C188 */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0289C18C */ _t25 = cpu->r[31] + 0x00000018u; /* 0289C18C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); /* 0289C190 */ goto L_0289C1D4; L_0289C194: ; // 0x289c194 /* 0289C194 */ _t26 = cpu->r[5] + 0x00000004u; /* 0289C194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 0289C198 */ _t27 = cpu->r[9] + 0x00000004u; /* 0289C198 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27); /* 0289C19C */ _t28 = cpu->r[12] + cpu->r[11]; /* 0289C19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0289C1A0 */ _t29 = cpu->r[9] + 0x00000000u; /* 0289C1A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29); /* 0289C1A4 */ _t30 = cpu->r[10] + cpu->r[7]; /* 0289C1A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30); /* 0289C1A8 */ _t31 = cpu->r[12] + cpu->r[7]; /* 0289C1A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31); /* 0289C1AC */ _t32 = cpu->r[31] + 0x00000044u; /* 0289C1AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t32); /* 0289C1B0 */ _t33 = cpu->r[5] + 0x00000000u; /* 0289C1B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33); /* 0289C1B4 */ cpu->ctr = cpu->r[7]; /* 0289C1B8 */ _t34 = cpu->r[5] + cpu->r[11]; /* 0289C1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34); /* 0289C1BC */ cpu->r[4] = cpu->r[8] - cpu->r[9]; /* 0289C1C0 */ cpu->r[5] = cpu->r[6] - cpu->r[0]; /* 0289C1C4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C1C8 */ _t35 = cpu->r[30] + 0x00000000u; /* 0289C1C8 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]); /* 0289C1CC */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0289C1D0 */ _t36 = cpu->r[31] + 0x00000018u; /* 0289C1D0 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); L_0289C1D4: ; // 0x289c1d4 /* 0289C1D4 */ _t37 = cpu->r[1] + 0x0000000Cu; /* 0289C1D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37); /* 0289C1D8 */ _t38 = cpu->r[1] + 0x0000001Cu; /* 0289C1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 0289C1DC */ _t39 = cpu->r[1] + 0x00000010u; /* 0289C1DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t39); /* 0289C1E0 */ cpu->lr = cpu->r[0]; /* 0289C1E4 */ _t40 = cpu->r[1] + 0x00000014u; /* 0289C1E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40); /* 0289C1E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289C1EC */ return; } // fn_0289C0F8 @ 0x289c0f8 void Gambit_fn_0289C0F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289C0F8: ; // 0x289c0f8 /* 0289C0F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289C0F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C0F8 */ cpu->r[1] = _t0; /* 0289C0FC */ _t1 = cpu->r[1] + 0x00000010u; /* 0289C0FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289C100 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289C100 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289C104 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289C104 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0289C108 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0289C108 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289C10C */ _t5 = cpu->r[3] + 0x00000018u; /* 0289C10C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0289C110 */ _t6 = cpu->r[3] + 0x0000003Au; /* 0289C110 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6); /* 0289C114 */ cpu->r[31] = cpu->r[3]; /* 0289C118 */ _t7 = cpu->r[30] + 0xFFFFFFFCu; /* 0289C118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0289C11C */ cpu->r[10] = cpu->r[11] + 0xFFFFFFB7u; /* 0289C120 */ _t8 = cpu->r[30] + 0xFFFFFFF8u; /* 0289C120 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8); /* 0289C120 */ cpu->r[30] = _t8; /* 0289C124 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C128 */ _t9 = cpu->r[3] + 0x00000004u; /* 0289C128 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0289C12C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289C12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289C130 */ _t10 = cpu->r[3] + 0x00000000u; /* 0289C130 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 0289C134 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C138 */ _t11 = cpu->r[3] + 0x00000024u; /* 0289C138 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0289C13C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C13C */ _t13 = _t12 & 0x00000001u; /* 0289C13C */ if (_t13) goto L_0289C194; else goto L_0289C140; L_0289C140: ; // 0x289c140 /* 0289C140 */ _t14 = cpu->r[9] + 0x00000014u; /* 0289C140 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0289C144 */ _t15 = cpu->r[5] + 0x00000014u; /* 0289C144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0289C148 */ _t16 = cpu->r[10] + cpu->r[7]; /* 0289C148 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16); /* 0289C14C */ _t17 = cpu->r[12] + cpu->r[11]; /* 0289C14C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 0289C150 */ _t18 = cpu->r[31] + 0x00000048u; /* 0289C150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0289C154 */ _t19 = cpu->r[9] + 0x00000010u; /* 0289C154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 0289C158 */ _t20 = cpu->r[5] + 0x00000010u; /* 0289C158 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 0289C15C */ cpu->ctr = cpu->r[0]; /* 0289C160 */ _t21 = cpu->r[12] + cpu->r[7]; /* 0289C160 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 0289C164 */ _t22 = cpu->r[5] + cpu->r[11]; /* 0289C164 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 0289C168 */ cpu->r[5] = cpu->r[6] - cpu->r[10]; /* 0289C16C */ cpu->r[4] = cpu->r[8] - cpu->r[9]; /* 0289C170 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C174 */ cpu->r[5] = cpu->r[3]; /* 0289C178 */ _t23 = cpu->r[29] + 0x000000F0u; /* 0289C178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23); /* 0289C17C */ cpu->r[4] = cpu->r[29] + 0x000000E0u; /* 0289C180 */ Gambit_fn_0287BC34(cpu); /* 0289C184 */ _t24 = cpu->r[30] + 0x00000000u; /* 0289C184 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]); /* 0289C188 */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0289C18C */ _t25 = cpu->r[31] + 0x00000018u; /* 0289C18C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); /* 0289C190 */ goto L_0289C1D4; L_0289C194: ; // 0x289c194 /* 0289C194 */ _t26 = cpu->r[5] + 0x00000004u; /* 0289C194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 0289C198 */ _t27 = cpu->r[9] + 0x00000004u; /* 0289C198 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27); /* 0289C19C */ _t28 = cpu->r[12] + cpu->r[11]; /* 0289C19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0289C1A0 */ _t29 = cpu->r[9] + 0x00000000u; /* 0289C1A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29); /* 0289C1A4 */ _t30 = cpu->r[10] + cpu->r[7]; /* 0289C1A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30); /* 0289C1A8 */ _t31 = cpu->r[12] + cpu->r[7]; /* 0289C1A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31); /* 0289C1AC */ _t32 = cpu->r[31] + 0x00000044u; /* 0289C1AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t32); /* 0289C1B0 */ _t33 = cpu->r[5] + 0x00000000u; /* 0289C1B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33); /* 0289C1B4 */ cpu->ctr = cpu->r[7]; /* 0289C1B8 */ _t34 = cpu->r[5] + cpu->r[11]; /* 0289C1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34); /* 0289C1BC */ cpu->r[4] = cpu->r[8] - cpu->r[9]; /* 0289C1C0 */ cpu->r[5] = cpu->r[6] - cpu->r[0]; /* 0289C1C4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C1C8 */ _t35 = cpu->r[30] + 0x00000000u; /* 0289C1C8 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]); /* 0289C1CC */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0289C1D0 */ _t36 = cpu->r[31] + 0x00000018u; /* 0289C1D0 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); L_0289C1D4: ; // 0x289c1d4 /* 0289C1D4 */ _t37 = cpu->r[1] + 0x0000000Cu; /* 0289C1D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37); /* 0289C1D8 */ _t38 = cpu->r[1] + 0x0000001Cu; /* 0289C1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 0289C1DC */ _t39 = cpu->r[1] + 0x00000010u; /* 0289C1DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t39); /* 0289C1E0 */ cpu->lr = cpu->r[0]; /* 0289C1E4 */ _t40 = cpu->r[1] + 0x00000014u; /* 0289C1E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40); /* 0289C1E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289C1EC */ return; } // fn_0289C1F0 @ 0x289c1f0 void Gambit_fn_0289C1F0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0289C1F0: ; // 0x289c1f0 /* 0289C1F0 */ cpu->r[0] = cpu->lr; /* 0289C1F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289C1F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C1F4 */ cpu->r[1] = _t0; /* 0289C1F8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289C1F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289C1FC */ _t2 = cpu->r[1] + 0x00000008u; /* 0289C1FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0289C200 */ cpu->r[31] = cpu->r[3]; /* 0289C204 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289C204 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289C208 */ _t4 = cpu->r[31] + 0x00000024u; /* 0289C208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0289C20C */ _t5 = cpu->r[10] + 0x000000F4u; /* 0289C20C */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); /* 0289C210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289C214 */ _t6 = cpu->r[10] + 0x00000012u; /* 0289C214 */ cpu->r[30] = rbrew_read16(cpu->mem, _t6); /* 0289C218 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C218 */ _t8 = _t7 & 0x00000001u; /* 0289C218 */ if (_t8) goto L_0289C21C; else goto L_0289C238; L_0289C21C: ; // 0x289c21c /* 0289C21C */ cpu->r[3] = cpu->r[31]; /* 0289C220 */ Gambit_fn_028974D0(cpu); /* 0289C224 */ cpu->r[4] = cpu->r[3]; /* 0289C228 */ cpu->r[3] = cpu->r[30]; /* 0289C22C */ cpu->r[5] = 0x00000010u; /* 0289C230 */ Gambit_fn_0287B904(cpu); /* 0289C234 */ cpu->r[30] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); L_0289C238: ; // 0x289c238 /* 0289C238 */ _t9 = cpu->r[31] + 0x00000018u; /* 0289C238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0289C23C */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289C240 */ _t10 = cpu->r[31] + 0x00000018u; /* 0289C240 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0289C244 */ _t11 = cpu->r[12] + 0x00000000u; /* 0289C244 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0289C248 */ _t12 = cpu->r[1] + 0x00000014u; /* 0289C248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0289C24C */ _t13 = cpu->r[1] + 0x00000008u; /* 0289C24C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0289C250 */ cpu->lr = cpu->r[0]; /* 0289C254 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0289C254 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0289C258 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C25C */ return; } // fn_0289C1F4 @ 0x289c1f4 void Gambit_fn_0289C1F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0289C1F4: ; // 0x289c1f4 /* 0289C1F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289C1F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C1F4 */ cpu->r[1] = _t0; /* 0289C1F8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289C1F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289C1FC */ _t2 = cpu->r[1] + 0x00000008u; /* 0289C1FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0289C200 */ cpu->r[31] = cpu->r[3]; /* 0289C204 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289C204 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289C208 */ _t4 = cpu->r[31] + 0x00000024u; /* 0289C208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0289C20C */ _t5 = cpu->r[10] + 0x000000F4u; /* 0289C20C */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); /* 0289C210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289C214 */ _t6 = cpu->r[10] + 0x00000012u; /* 0289C214 */ cpu->r[30] = rbrew_read16(cpu->mem, _t6); /* 0289C218 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C218 */ _t8 = _t7 & 0x00000001u; /* 0289C218 */ if (_t8) goto L_0289C21C; else goto L_0289C238; L_0289C21C: ; // 0x289c21c /* 0289C21C */ cpu->r[3] = cpu->r[31]; /* 0289C220 */ Gambit_fn_028974D0(cpu); /* 0289C224 */ cpu->r[4] = cpu->r[3]; /* 0289C228 */ cpu->r[3] = cpu->r[30]; /* 0289C22C */ cpu->r[5] = 0x00000010u; /* 0289C230 */ Gambit_fn_0287B904(cpu); /* 0289C234 */ cpu->r[30] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); L_0289C238: ; // 0x289c238 /* 0289C238 */ _t9 = cpu->r[31] + 0x00000018u; /* 0289C238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0289C23C */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289C240 */ _t10 = cpu->r[31] + 0x00000018u; /* 0289C240 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0289C244 */ _t11 = cpu->r[12] + 0x00000000u; /* 0289C244 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0289C248 */ _t12 = cpu->r[1] + 0x00000014u; /* 0289C248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0289C24C */ _t13 = cpu->r[1] + 0x00000008u; /* 0289C24C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0289C250 */ cpu->lr = cpu->r[0]; /* 0289C254 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0289C254 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0289C258 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C25C */ return; } // fn_0289C260 @ 0x289c260 void Gambit_fn_0289C260(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0289C260: ; // 0x289c260 /* 0289C260 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289C260 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0289C264 */ _t1 = cpu->r[3] + 0x00000024u; /* 0289C264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0289C268 */ cpu->r[10] = cpu->r[11] + 0x00000004u; /* 0289C26C */ _t2 = cpu->r[3] + 0x00000018u; /* 0289C26C */ rbrew_write32(cpu->mem, _t2, cpu->r[10]); /* 0289C270 */ _t3 = cpu->r[12] + 0x00000014u; /* 0289C270 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3); /* 0289C274 */ _t4 = cpu->r[11] + 0x00000000u; /* 0289C274 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289C278 */ return; } // fn_0289C27C @ 0x289c27c void Gambit_fn_0289C27C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0289C27C: ; // 0x289c27c /* 0289C27C */ _t0 = cpu->r[3] + 0x00000018u; /* 0289C27C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289C280 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C284 */ _t1 = cpu->r[3] + 0x00000018u; /* 0289C284 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]); /* 0289C288 */ _t2 = cpu->r[12] + 0x00000000u; /* 0289C288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289C28C */ _t3 = cpu->r[3] + 0x00000024u; /* 0289C28C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0289C290 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289C290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289C294 */ cpu->r[12] = 0x00000000u; /* 0289C298 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C298 */ _t5 = _t4 & 0x00000001u; /* 0289C298 */ if (_t5) goto L_0289C2A0; else goto L_0289C29C; L_0289C29C: ; // 0x289c29c /* 0289C29C */ cpu->r[12] = 0x00000001u; L_0289C2A0: ; // 0x289c2a0 /* 0289C2A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0289C2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289C2A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C2A4 */ _t7 = _t6 & 0x00000001u; /* 0289C2A4 */ if (_t7) goto L_0289C2B8; else goto L_0289C2A8; L_0289C2A8: ; // 0x289c2a8 /* 0289C2A8 */ _t8 = cpu->r[9] + 0x000000F5u; /* 0289C2A8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t8); /* 0289C2AC */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289C2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289C2B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C2B0 */ _t10 = _t9 & 0x00000001u; /* 0289C2B0 */ if (_t10) goto L_0289C2B8; else goto L_0289C2B4; L_0289C2B4: ; // 0x289c2b4 /* 0289C2B4 */ cpu->r[12] = cpu->r[12] | 0x00000100u; L_0289C2B8: ; // 0x289c2b8 /* 0289C2B8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 0289C2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289C2BC */ _t11 = cpu->r[3] + 0x00000018u; /* 0289C2BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 0289C2C0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C2C0 */ _t13 = _t12 & 0x00000001u; /* 0289C2C0 */ if (_t13) goto L_0289C2D4; else goto L_0289C2C4; L_0289C2C4: ; // 0x289c2c4 /* 0289C2C4 */ _t14 = cpu->r[9] + 0x000000F5u; /* 0289C2C4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t14); /* 0289C2C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0289C2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289C2CC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C2CC */ _t16 = _t15 & 0x00000001u; /* 0289C2CC */ if (_t16) goto L_0289C2D4; else goto L_0289C2D0; L_0289C2D0: ; // 0x289c2d0 /* 0289C2D0 */ cpu->r[12] = cpu->r[12] | 0x00000200u; L_0289C2D4: ; // 0x289c2d4 /* 0289C2D4 */ cpu->r[0] = cpu->r[11] + 0x00000004u; /* 0289C2D8 */ _t17 = cpu->r[3] + 0x00000018u; /* 0289C2D8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0289C2DC */ _t18 = cpu->r[11] + 0x00000000u; /* 0289C2DC */ rbrew_write32(cpu->mem, _t18, cpu->r[12]); /* 0289C2E0 */ return; } // fn_0289C2E4 @ 0x289c2e4 void Gambit_fn_0289C2E4(CPUState* cpu) { uint32_t _t0, _t1; L_0289C2E4: ; // 0x289c2e4 /* 0289C2E4 */ _t0 = cpu->r[3] + 0x00000024u; /* 0289C2E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289C2E8 */ cpu->r[0] = 0x00000001u; /* 0289C2EC */ _t1 = cpu->r[12] + 0x00000092u; /* 0289C2EC */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]); /* 0289C2F0 */ return; } // fn_0289C2F4 @ 0x289c2f4 void Gambit_fn_0289C2F4(CPUState* cpu) { uint32_t _t0, _t1; L_0289C2F4: ; // 0x289c2f4 /* 0289C2F4 */ _t0 = cpu->r[3] + 0x00000024u; /* 0289C2F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289C2F8 */ cpu->r[0] = 0x00000000u; /* 0289C2FC */ _t1 = cpu->r[12] + 0x00000092u; /* 0289C2FC */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]); /* 0289C300 */ return; } // fn_0289C304 @ 0x289c304 void Gambit_fn_0289C304(CPUState* cpu) { uint32_t _t0, _t1; L_0289C304: ; // 0x289c304 /* 0289C304 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289C304 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289C308 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C30C */ _t1 = cpu->r[3] + 0x00000018u; /* 0289C30C */ rbrew_write32(cpu->mem, _t1, cpu->r[12]); /* 0289C310 */ return; } // fn_0289C314 @ 0x289c314 void Gambit_fn_0289C314(CPUState* cpu) { uint32_t _t0, _t1, _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_0289C314: ; // 0x289c314 /* 0289C314 */ cpu->r[0] = cpu->lr; /* 0289C318 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289C318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C318 */ cpu->r[1] = _t0; /* 0289C31C */ _t1 = cpu->r[1] + 0x00000008u; /* 0289C31C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289C320 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289C320 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0289C324 */ cpu->r[30] = cpu->r[3]; /* 0289C328 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289C328 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289C32C */ _t4 = cpu->r[30] + 0x00000018u; /* 0289C32C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 0289C330 */ _t5 = cpu->r[30] + 0x0000003Au; /* 0289C330 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5); /* 0289C334 */ _t6 = cpu->r[31] + 0xFFFFFFFCu; /* 0289C334 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 0289C338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000008Bu); /* 0289C33C */ _t7 = cpu->r[31] + 0xFFFFFFF8u; /* 0289C33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0289C33C */ cpu->r[31] = _t7; /* 0289C340 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C340 */ _t9 = _t8 & 0x00000001u; /* 0289C340 */ if (_t9) goto L_0289C344; else goto L_0289C3B4; L_0289C344: ; // 0x289c344 /* 0289C344 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFB0u; /* 0289C348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000013u); /* 0289C34C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289C34C */ _t11 = _t10 & 0x00000001u; /* 0289C34C */ if (_t11) goto L_0289C508; else goto L_0289C350; L_0289C350: ; // 0x289c350 /* 0289C350 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C354 */ cpu->r[10] = cpu->r[12] + 0x028A0000u; /* 0289C358 */ cpu->r[10] = cpu->r[10] + 0xFFFFC364u; /* 0289C35C */ cpu->ctr = cpu->r[10]; /* 0289C360 */ rbrew_dispatch(cpu, cpu->ctr); return; L_0289C3B4: ; // 0x289c3b4 /* 0289C3B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000008Cu); /* 0289C3B8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C3B8 */ _t13 = _t12 & 0x00000001u; /* 0289C3B8 */ if (_t13) goto L_0289C4E8; else goto L_0289C3BC; L_0289C3BC: ; // 0x289c3bc /* 0289C3BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C3BC */ _t15 = _t14 & 0x00000001u; /* 0289C3BC */ if (_t15) goto L_0289C4F4; else goto L_0289C3C0; L_0289C3C0: ; // 0x289c3c0 /* 0289C3C0 */ _t16 = cpu->r[30] + 0x00000018u; /* 0289C3C0 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]); /* 0289C3C4 */ goto L_0289C50C; L_0289C4E8: ; // 0x289c4e8 /* 0289C4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 0289C4EC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C4EC */ _t18 = _t17 & 0x00000001u; /* 0289C4EC */ if (_t18) goto L_0289C4F0; else goto L_0289C500; L_0289C4F0: ; // 0x289c4f0 /* 0289C4F0 */ goto L_0289C4FC; L_0289C4F4: ; // 0x289c4f4 /* 0289C4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 0289C4F8 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289C4F8 */ _t20 = _t19 & 0x00000001u; /* 0289C4F8 */ if (_t20) goto L_0289C4FC; else goto L_0289C500; L_0289C4FC: ; // 0x289c4fc /* 0289C4FC */ cpu->r[3] = cpu->r[4]; L_0289C500: ; // 0x289c500 /* 0289C500 */ _t21 = cpu->r[31] + 0x00000000u; /* 0289C500 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]); /* 0289C504 */ cpu->r[31] = cpu->r[31] + 0x00000004u; L_0289C508: ; // 0x289c508 /* 0289C508 */ _t22 = cpu->r[30] + 0x00000018u; /* 0289C508 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]); L_0289C50C: ; // 0x289c50c /* 0289C50C */ _t23 = cpu->r[1] + 0x00000014u; /* 0289C50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0289C510 */ _t24 = cpu->r[1] + 0x00000008u; /* 0289C510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0289C514 */ cpu->lr = cpu->r[0]; /* 0289C518 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0289C518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0289C51C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C520 */ return; } // fn_0289C318 @ 0x289c318 void Gambit_fn_0289C318(CPUState* cpu) { uint32_t _t0, _t1, _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_0289C318: ; // 0x289c318 /* 0289C318 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289C318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C318 */ cpu->r[1] = _t0; /* 0289C31C */ _t1 = cpu->r[1] + 0x00000008u; /* 0289C31C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289C320 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289C320 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0289C324 */ cpu->r[30] = cpu->r[3]; /* 0289C328 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289C328 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289C32C */ _t4 = cpu->r[30] + 0x00000018u; /* 0289C32C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 0289C330 */ _t5 = cpu->r[30] + 0x0000003Au; /* 0289C330 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5); /* 0289C334 */ _t6 = cpu->r[31] + 0xFFFFFFFCu; /* 0289C334 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 0289C338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000008Bu); /* 0289C33C */ _t7 = cpu->r[31] + 0xFFFFFFF8u; /* 0289C33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0289C33C */ cpu->r[31] = _t7; /* 0289C340 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C340 */ _t9 = _t8 & 0x00000001u; /* 0289C340 */ if (_t9) goto L_0289C344; else goto L_0289C3B4; L_0289C344: ; // 0x289c344 /* 0289C344 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFB0u; /* 0289C348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000013u); /* 0289C34C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289C34C */ _t11 = _t10 & 0x00000001u; /* 0289C34C */ if (_t11) goto L_0289C508; else goto L_0289C350; L_0289C350: ; // 0x289c350 /* 0289C350 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C354 */ cpu->r[10] = cpu->r[12] + 0x028A0000u; /* 0289C358 */ cpu->r[10] = cpu->r[10] + 0xFFFFC364u; /* 0289C35C */ cpu->ctr = cpu->r[10]; /* 0289C360 */ rbrew_dispatch(cpu, cpu->ctr); return; L_0289C3B4: ; // 0x289c3b4 /* 0289C3B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000008Cu); /* 0289C3B8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C3B8 */ _t13 = _t12 & 0x00000001u; /* 0289C3B8 */ if (_t13) goto L_0289C4E8; else goto L_0289C3BC; L_0289C3BC: ; // 0x289c3bc /* 0289C3BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C3BC */ _t15 = _t14 & 0x00000001u; /* 0289C3BC */ if (_t15) goto L_0289C4F4; else goto L_0289C3C0; L_0289C3C0: ; // 0x289c3c0 /* 0289C3C0 */ _t16 = cpu->r[30] + 0x00000018u; /* 0289C3C0 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]); /* 0289C3C4 */ goto L_0289C50C; L_0289C4E8: ; // 0x289c4e8 /* 0289C4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 0289C4EC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C4EC */ _t18 = _t17 & 0x00000001u; /* 0289C4EC */ if (_t18) goto L_0289C4F0; else goto L_0289C500; L_0289C4F0: ; // 0x289c4f0 /* 0289C4F0 */ goto L_0289C4FC; L_0289C4F4: ; // 0x289c4f4 /* 0289C4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 0289C4F8 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289C4F8 */ _t20 = _t19 & 0x00000001u; /* 0289C4F8 */ if (_t20) goto L_0289C4FC; else goto L_0289C500; L_0289C4FC: ; // 0x289c4fc /* 0289C4FC */ cpu->r[3] = cpu->r[4]; L_0289C500: ; // 0x289c500 /* 0289C500 */ _t21 = cpu->r[31] + 0x00000000u; /* 0289C500 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]); /* 0289C504 */ cpu->r[31] = cpu->r[31] + 0x00000004u; L_0289C508: ; // 0x289c508 /* 0289C508 */ _t22 = cpu->r[30] + 0x00000018u; /* 0289C508 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]); L_0289C50C: ; // 0x289c50c /* 0289C50C */ _t23 = cpu->r[1] + 0x00000014u; /* 0289C50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0289C510 */ _t24 = cpu->r[1] + 0x00000008u; /* 0289C510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0289C514 */ cpu->lr = cpu->r[0]; /* 0289C518 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0289C518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0289C51C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C520 */ return; } // fn_0289C524 @ 0x289c524 void Gambit_fn_0289C524(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289C524: ; // 0x289c524 /* 0289C524 */ cpu->r[0] = cpu->lr; /* 0289C528 */ _t0 = cpu->r[1] + 0x00000004u; /* 0289C528 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0289C52C */ cpu->r[11] = cpu->r[3]; /* 0289C530 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0289C530 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0289C530 */ cpu->r[1] = _t1; /* 0289C534 */ _t2 = cpu->r[11] + 0x0000003Au; /* 0289C534 */ cpu->r[8] = rbrew_read8(cpu->mem, _t2); /* 0289C538 */ _t3 = cpu->r[11] + 0x00000018u; /* 0289C538 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 0289C53C */ cpu->r[0] = cpu->r[8]; /* 0289C540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000065u); /* 0289C544 */ _t4 = cpu->r[7] + 0xFFFFFFFCu; /* 0289C544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 0289C544 */ cpu->r[7] = _t4; /* 0289C548 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C548 */ _t6 = _t5 & 0x00000001u; /* 0289C548 */ if (_t6) goto L_0289C54C; else goto L_0289C574; L_0289C54C: ; // 0x289c54c /* 0289C54C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000056u); /* 0289C550 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C550 */ _t8 = _t7 & 0x00000001u; /* 0289C550 */ if (_t8) goto L_0289C60C; else goto L_0289C554; L_0289C554: ; // 0x289c554 /* 0289C554 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000057u); /* 0289C558 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289C558 */ _t10 = _t9 & 0x00000001u; /* 0289C558 */ if (_t10) goto L_0289C55C; else goto L_0289C590; L_0289C55C: ; // 0x289c55c /* 0289C55C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000005Cu); /* 0289C560 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C560 */ _t12 = _t11 & 0x00000001u; /* 0289C560 */ if (_t12) goto L_0289C5C0; else goto L_0289C564; L_0289C564: ; // 0x289c564 /* 0289C564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000064u); /* 0289C568 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C568 */ _t14 = _t13 & 0x00000001u; /* 0289C568 */ if (_t14) goto L_0289C5D4; else goto L_0289C56C; L_0289C56C: ; // 0x289c56c /* 0289C56C */ _t15 = cpu->r[11] + 0x00000018u; /* 0289C56C */ rbrew_write32(cpu->mem, _t15, cpu->r[7]); /* 0289C570 */ goto L_0289C610; L_0289C574: ; // 0x289c574 /* 0289C574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000066u); /* 0289C578 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C578 */ _t17 = _t16 & 0x00000001u; /* 0289C578 */ if (_t17) goto L_0289C5EC; else goto L_0289C57C; L_0289C57C: ; // 0x289c57c /* 0289C57C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C57C */ _t19 = _t18 & 0x00000001u; /* 0289C57C */ if (_t19) goto L_0289C600; else goto L_0289C580; L_0289C580: ; // 0x289c580 /* 0289C580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000067u); /* 0289C584 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C584 */ _t21 = _t20 & 0x00000001u; /* 0289C584 */ if (_t21) goto L_0289C5FC; else goto L_0289C588; L_0289C588: ; // 0x289c588 /* 0289C588 */ _t22 = cpu->r[11] + 0x00000018u; /* 0289C588 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]); /* 0289C58C */ goto L_0289C610; L_0289C590: ; // 0x289c590 /* 0289C590 */ cpu->r[4] = 0x00000000u; /* 0289C594 */ cpu->r[5] = cpu->r[4]; /* 0289C598 */ Gambit_fn_0289705C(cpu); /* 0289C59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000056u); /* 0289C5A0 */ /* nop */ /* 0289C5A4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C5A4 */ _t24 = _t23 & 0x00000001u; /* 0289C5A4 */ if (_t24) goto L_0289C5A8; else goto L_0289C5AC; L_0289C5A8: ; // 0x289c5a8 /* 0289C5A8 */ cpu->r[3] = cpu->r[3] + 0x00000001u; L_0289C5AC: ; // 0x289c5ac /* 0289C5AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289C5B0 */ cpu->r[9] = cpu->r[10] ^ 0x00000001u; /* 0289C5B4 */ _t25 = cpu->r[7] + 0x00000000u; /* 0289C5B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]); /* 0289C5B8 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 0289C5BC */ goto L_0289C60C; L_0289C5C0: ; // 0x289c5c0 /* 0289C5C0 */ cpu->r[0] = rbrew_clz32(cpu->r[3]); /* 0289C5C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289C5C8 */ _t26 = cpu->r[7] + 0x00000000u; /* 0289C5C8 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]); /* 0289C5CC */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 0289C5D0 */ goto L_0289C60C; L_0289C5D4: ; // 0x289c5d4 /* 0289C5D4 */ /* nop */ /* 0289C5D8 */ cpu->r[9] = cpu->r[3] ^ cpu->r[12]; /* 0289C5DC */ cpu->r[9] = cpu->r[9] - cpu->r[12]; /* 0289C5E0 */ _t27 = cpu->r[7] + 0x00000000u; /* 0289C5E0 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]); /* 0289C5E4 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 0289C5E8 */ goto L_0289C60C; L_0289C5EC: ; // 0x289c5ec /* 0289C5EC */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[3]); /* 0289C5F0 */ _t28 = cpu->r[7] + 0x00000000u; /* 0289C5F0 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]); /* 0289C5F4 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 0289C5F8 */ goto L_0289C60C; L_0289C5FC: ; // 0x289c5fc /* 0289C5FC */ cpu->r[3] = cpu->r[3] + 0x0000003Fu; L_0289C600: ; // 0x289c600 /* 0289C600 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289C604 */ _t29 = cpu->r[7] + 0x00000000u; /* 0289C604 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]); /* 0289C608 */ cpu->r[7] = cpu->r[7] + 0x00000004u; L_0289C60C: ; // 0x289c60c /* 0289C60C */ _t30 = cpu->r[11] + 0x00000018u; /* 0289C60C */ rbrew_write32(cpu->mem, _t30, cpu->r[7]); L_0289C610: ; // 0x289c610 /* 0289C610 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 0289C610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0289C614 */ cpu->lr = cpu->r[0]; /* 0289C618 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289C61C */ return; } // fn_0289C530 @ 0x289c530 void Gambit_fn_0289C530(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289C530: ; // 0x289c530 /* 0289C530 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0289C530 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C530 */ cpu->r[1] = _t0; /* 0289C534 */ _t1 = cpu->r[11] + 0x0000003Au; /* 0289C534 */ cpu->r[8] = rbrew_read8(cpu->mem, _t1); /* 0289C538 */ _t2 = cpu->r[11] + 0x00000018u; /* 0289C538 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 0289C53C */ cpu->r[0] = cpu->r[8]; /* 0289C540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000065u); /* 0289C544 */ _t3 = cpu->r[7] + 0xFFFFFFFCu; /* 0289C544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 0289C544 */ cpu->r[7] = _t3; /* 0289C548 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C548 */ _t5 = _t4 & 0x00000001u; /* 0289C548 */ if (_t5) goto L_0289C54C; else goto L_0289C574; L_0289C54C: ; // 0x289c54c /* 0289C54C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000056u); /* 0289C550 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C550 */ _t7 = _t6 & 0x00000001u; /* 0289C550 */ if (_t7) goto L_0289C60C; else goto L_0289C554; L_0289C554: ; // 0x289c554 /* 0289C554 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000057u); /* 0289C558 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289C558 */ _t9 = _t8 & 0x00000001u; /* 0289C558 */ if (_t9) goto L_0289C55C; else goto L_0289C590; L_0289C55C: ; // 0x289c55c /* 0289C55C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000005Cu); /* 0289C560 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C560 */ _t11 = _t10 & 0x00000001u; /* 0289C560 */ if (_t11) goto L_0289C5C0; else goto L_0289C564; L_0289C564: ; // 0x289c564 /* 0289C564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000064u); /* 0289C568 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C568 */ _t13 = _t12 & 0x00000001u; /* 0289C568 */ if (_t13) goto L_0289C5D4; else goto L_0289C56C; L_0289C56C: ; // 0x289c56c /* 0289C56C */ _t14 = cpu->r[11] + 0x00000018u; /* 0289C56C */ rbrew_write32(cpu->mem, _t14, cpu->r[7]); /* 0289C570 */ goto L_0289C610; L_0289C574: ; // 0x289c574 /* 0289C574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000066u); /* 0289C578 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C578 */ _t16 = _t15 & 0x00000001u; /* 0289C578 */ if (_t16) goto L_0289C5EC; else goto L_0289C57C; L_0289C57C: ; // 0x289c57c /* 0289C57C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C57C */ _t18 = _t17 & 0x00000001u; /* 0289C57C */ if (_t18) goto L_0289C600; else goto L_0289C580; L_0289C580: ; // 0x289c580 /* 0289C580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000067u); /* 0289C584 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C584 */ _t20 = _t19 & 0x00000001u; /* 0289C584 */ if (_t20) goto L_0289C5FC; else goto L_0289C588; L_0289C588: ; // 0x289c588 /* 0289C588 */ _t21 = cpu->r[11] + 0x00000018u; /* 0289C588 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]); /* 0289C58C */ goto L_0289C610; L_0289C590: ; // 0x289c590 /* 0289C590 */ cpu->r[4] = 0x00000000u; /* 0289C594 */ cpu->r[5] = cpu->r[4]; /* 0289C598 */ Gambit_fn_0289705C(cpu); /* 0289C59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000056u); /* 0289C5A0 */ /* nop */ /* 0289C5A4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C5A4 */ _t23 = _t22 & 0x00000001u; /* 0289C5A4 */ if (_t23) goto L_0289C5A8; else goto L_0289C5AC; L_0289C5A8: ; // 0x289c5a8 /* 0289C5A8 */ cpu->r[3] = cpu->r[3] + 0x00000001u; L_0289C5AC: ; // 0x289c5ac /* 0289C5AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0289C5B0 */ cpu->r[9] = cpu->r[10] ^ 0x00000001u; /* 0289C5B4 */ _t24 = cpu->r[7] + 0x00000000u; /* 0289C5B4 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]); /* 0289C5B8 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 0289C5BC */ goto L_0289C60C; L_0289C5C0: ; // 0x289c5c0 /* 0289C5C0 */ cpu->r[0] = rbrew_clz32(cpu->r[3]); /* 0289C5C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289C5C8 */ _t25 = cpu->r[7] + 0x00000000u; /* 0289C5C8 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]); /* 0289C5CC */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 0289C5D0 */ goto L_0289C60C; L_0289C5D4: ; // 0x289c5d4 /* 0289C5D4 */ /* nop */ /* 0289C5D8 */ cpu->r[9] = cpu->r[3] ^ cpu->r[12]; /* 0289C5DC */ cpu->r[9] = cpu->r[9] - cpu->r[12]; /* 0289C5E0 */ _t26 = cpu->r[7] + 0x00000000u; /* 0289C5E0 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]); /* 0289C5E4 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 0289C5E8 */ goto L_0289C60C; L_0289C5EC: ; // 0x289c5ec /* 0289C5EC */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[3]); /* 0289C5F0 */ _t27 = cpu->r[7] + 0x00000000u; /* 0289C5F0 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]); /* 0289C5F4 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 0289C5F8 */ goto L_0289C60C; L_0289C5FC: ; // 0x289c5fc /* 0289C5FC */ cpu->r[3] = cpu->r[3] + 0x0000003Fu; L_0289C600: ; // 0x289c600 /* 0289C600 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289C604 */ _t28 = cpu->r[7] + 0x00000000u; /* 0289C604 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]); /* 0289C608 */ cpu->r[7] = cpu->r[7] + 0x00000004u; L_0289C60C: ; // 0x289c60c /* 0289C60C */ _t29 = cpu->r[11] + 0x00000018u; /* 0289C60C */ rbrew_write32(cpu->mem, _t29, cpu->r[7]); L_0289C610: ; // 0x289c610 /* 0289C610 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 0289C610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 0289C614 */ cpu->lr = cpu->r[0]; /* 0289C618 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289C61C */ return; } // fn_0289C620 @ 0x289c620 void Gambit_fn_0289C620(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0289C620: ; // 0x289c620 /* 0289C620 */ _t0 = cpu->r[3] + 0x0000003Au; /* 0289C620 */ cpu->r[7] = rbrew_read8(cpu->mem, _t0); /* 0289C624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000040u); /* 0289C628 */ _t1 = cpu->r[3] + 0x0000001Cu; /* 0289C628 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1); /* 0289C62C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C62C */ _t3 = _t2 & 0x00000001u; /* 0289C62C */ if (_t3) goto L_0289C630; else goto L_0289C644; L_0289C630: ; // 0x289c630 /* 0289C630 */ _t4 = cpu->r[8] + 0x00000000u; /* 0289C630 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4); /* 0289C634 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289C638 */ cpu->r[8] = cpu->r[8] + cpu->r[10]; /* 0289C63C */ _t5 = cpu->r[3] + 0x0000001Cu; /* 0289C63C */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 0289C640 */ return; L_0289C644: ; // 0x289c644 /* 0289C644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000041u); /* 0289C648 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C648 */ _t7 = _t6 & 0x00000001u; /* 0289C648 */ if (_t7) goto L_0289C64C; else goto L_0289C664; L_0289C64C: ; // 0x289c64c /* 0289C64C */ _t8 = cpu->r[8] + 0x00000000u; /* 0289C64C */ cpu->r[10] = rbrew_read8(cpu->mem, _t8); /* 0289C650 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289C654 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289C658 */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 0289C65C */ _t9 = cpu->r[3] + 0x0000001Cu; /* 0289C65C */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); /* 0289C660 */ return; L_0289C664: ; // 0x289c664 /* 0289C664 */ cpu->r[11] = cpu->r[7] + 0xFFFFFF50u; /* 0289C668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000008u); /* 0289C66C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C66C */ _t11 = _t10 & 0x00000001u; /* 0289C66C */ if (_t11) goto L_0289C670; else goto L_0289C680; L_0289C670: ; // 0x289c670 /* 0289C670 */ cpu->r[10] = cpu->r[7] + 0xFFFFFF51u; /* 0289C674 */ cpu->r[8] = cpu->r[8] + cpu->r[10]; /* 0289C678 */ _t12 = cpu->r[3] + 0x0000001Cu; /* 0289C678 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]); /* 0289C67C */ return; L_0289C680: ; // 0x289c680 /* 0289C680 */ cpu->r[12] = cpu->r[7] + 0xFFFFFF48u; /* 0289C684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000008u); /* 0289C688 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C688 */ _t14 = _t13 & 0x00000001u; /* 0289C688 */ if (_t14) goto L_0289C68C; else goto L_0289C698; L_0289C68C: ; // 0x289c68c /* 0289C68C */ cpu->r[10] = cpu->r[7] + 0xFFFFFF49u; /* 0289C690 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289C694 */ cpu->r[8] = cpu->r[8] + cpu->r[0]; L_0289C698: ; // 0x289c698 /* 0289C698 */ _t15 = cpu->r[3] + 0x0000001Cu; /* 0289C698 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]); /* 0289C69C */ return; } // fn_0289C6A0 @ 0x289c6a0 void Gambit_fn_0289C6A0(CPUState* cpu) { uint32_t _t0, _t1, _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_0289C6A0: ; // 0x289c6a0 /* 0289C6A0 */ cpu->r[0] = cpu->lr; /* 0289C6A4 */ _t0 = cpu->r[1] + 0x00000004u; /* 0289C6A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0289C6A8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0289C6A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0289C6A8 */ cpu->r[1] = _t1; /* 0289C6AC */ _t2 = cpu->r[3] + 0x00000018u; /* 0289C6AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289C6B0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C6B4 */ _t3 = cpu->r[3] + 0x00000018u; /* 0289C6B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289C6B8 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289C6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0289C6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289C6C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6C0 */ _t6 = _t5 & 0x00000001u; /* 0289C6C0 */ if (_t6) goto L_0289C6C4; else goto L_0289C724; L_0289C6C4: ; // 0x289c6c4 /* 0289C6C4 */ cpu->r[6] = 0x00000001u; L_0289C6C8: ; // 0x289c6c8 /* 0289C6C8 */ _t7 = cpu->r[3] + 0x0000001Cu; /* 0289C6C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0289C6CC */ cpu->r[8] = cpu->r[10] + 0x00000001u; /* 0289C6D0 */ _t8 = cpu->r[3] + 0x0000001Cu; /* 0289C6D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 0289C6D4 */ _t9 = cpu->r[10] + 0x00000000u; /* 0289C6D4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9); /* 0289C6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000059u); /* 0289C6DC */ _t10 = cpu->r[3] + 0x0000003Au; /* 0289C6DC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[9]); /* 0289C6E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6E0 */ _t12 = _t11 & 0x00000001u; /* 0289C6E0 */ if (_t12) goto L_0289C6E4; else goto L_0289C6F0; L_0289C6E4: ; // 0x289c6e4 /* 0289C6E4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0289C6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C6E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6E8 */ _t14 = _t13 & 0x00000001u; /* 0289C6E8 */ if (_t14) goto L_0289C6EC; else goto L_0289C6C8; L_0289C6EC: ; // 0x289c6ec /* 0289C6EC */ goto L_0289C724; L_0289C6F0: ; // 0x289c6f0 /* 0289C6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000058u); /* 0289C6F4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6F4 */ _t16 = _t15 & 0x00000001u; /* 0289C6F4 */ if (_t16) goto L_0289C6F8; else goto L_0289C704; L_0289C6F8: ; // 0x289c6f8 /* 0289C6F8 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0289C6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C6FC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6FC */ _t18 = _t17 & 0x00000001u; /* 0289C6FC */ if (_t18) goto L_0289C700; else goto L_0289C6C8; L_0289C700: ; // 0x289c700 /* 0289C700 */ goto L_0289C724; L_0289C704: ; // 0x289c704 /* 0289C704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000001Bu); /* 0289C708 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C708 */ _t20 = _t19 & 0x00000001u; /* 0289C708 */ if (_t20) goto L_0289C70C; else goto L_0289C718; L_0289C70C: ; // 0x289c70c /* 0289C70C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u); /* 0289C710 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C710 */ _t22 = _t21 & 0x00000001u; /* 0289C710 */ if (_t22) goto L_0289C714; else goto L_0289C6C8; L_0289C714: ; // 0x289c714 /* 0289C714 */ goto L_0289C724; L_0289C718: ; // 0x289c718 /* 0289C718 */ Gambit_fn_0289C620(cpu); /* 0289C71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C720 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C720 */ _t24 = _t23 & 0x00000001u; /* 0289C720 */ if (_t24) goto L_0289C724; else goto L_0289C6C8; L_0289C724: ; // 0x289c724 /* 0289C724 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0289C724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0289C728 */ cpu->lr = cpu->r[0]; /* 0289C72C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289C730 */ return; } // fn_0289C6A8 @ 0x289c6a8 void Gambit_fn_0289C6A8(CPUState* cpu) { uint32_t _t0, _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_0289C6A8: ; // 0x289c6a8 /* 0289C6A8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0289C6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C6A8 */ cpu->r[1] = _t0; /* 0289C6AC */ _t1 = cpu->r[3] + 0x00000018u; /* 0289C6AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0289C6B0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C6B4 */ _t2 = cpu->r[3] + 0x00000018u; /* 0289C6B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 0289C6B8 */ _t3 = cpu->r[12] + 0x00000000u; /* 0289C6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0289C6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289C6C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6C0 */ _t5 = _t4 & 0x00000001u; /* 0289C6C0 */ if (_t5) goto L_0289C6C4; else goto L_0289C724; L_0289C6C4: ; // 0x289c6c4 /* 0289C6C4 */ cpu->r[6] = 0x00000001u; L_0289C6C8: ; // 0x289c6c8 /* 0289C6C8 */ _t6 = cpu->r[3] + 0x0000001Cu; /* 0289C6C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 0289C6CC */ cpu->r[8] = cpu->r[10] + 0x00000001u; /* 0289C6D0 */ _t7 = cpu->r[3] + 0x0000001Cu; /* 0289C6D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]); /* 0289C6D4 */ _t8 = cpu->r[10] + 0x00000000u; /* 0289C6D4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t8); /* 0289C6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000059u); /* 0289C6DC */ _t9 = cpu->r[3] + 0x0000003Au; /* 0289C6DC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[9]); /* 0289C6E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6E0 */ _t11 = _t10 & 0x00000001u; /* 0289C6E0 */ if (_t11) goto L_0289C6E4; else goto L_0289C6F0; L_0289C6E4: ; // 0x289c6e4 /* 0289C6E4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0289C6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C6E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6E8 */ _t13 = _t12 & 0x00000001u; /* 0289C6E8 */ if (_t13) goto L_0289C6EC; else goto L_0289C6C8; L_0289C6EC: ; // 0x289c6ec /* 0289C6EC */ goto L_0289C724; L_0289C6F0: ; // 0x289c6f0 /* 0289C6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000058u); /* 0289C6F4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6F4 */ _t15 = _t14 & 0x00000001u; /* 0289C6F4 */ if (_t15) goto L_0289C6F8; else goto L_0289C704; L_0289C6F8: ; // 0x289c6f8 /* 0289C6F8 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0289C6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C6FC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C6FC */ _t17 = _t16 & 0x00000001u; /* 0289C6FC */ if (_t17) goto L_0289C700; else goto L_0289C6C8; L_0289C700: ; // 0x289c700 /* 0289C700 */ goto L_0289C724; L_0289C704: ; // 0x289c704 /* 0289C704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000001Bu); /* 0289C708 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C708 */ _t19 = _t18 & 0x00000001u; /* 0289C708 */ if (_t19) goto L_0289C70C; else goto L_0289C718; L_0289C70C: ; // 0x289c70c /* 0289C70C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u); /* 0289C710 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C710 */ _t21 = _t20 & 0x00000001u; /* 0289C710 */ if (_t21) goto L_0289C714; else goto L_0289C6C8; L_0289C714: ; // 0x289c714 /* 0289C714 */ goto L_0289C724; L_0289C718: ; // 0x289c718 /* 0289C718 */ Gambit_fn_0289C620(cpu); /* 0289C71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C720 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C720 */ _t23 = _t22 & 0x00000001u; /* 0289C720 */ if (_t23) goto L_0289C724; else goto L_0289C6C8; L_0289C724: ; // 0x289c724 /* 0289C724 */ _t24 = cpu->r[1] + 0x0000000Cu; /* 0289C724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0289C728 */ cpu->lr = cpu->r[0]; /* 0289C72C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289C730 */ return; } // fn_0289C734 @ 0x289c734 void Gambit_fn_0289C734(CPUState* 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_0289C734: ; // 0x289c734 /* 0289C734 */ cpu->r[0] = cpu->lr; /* 0289C738 */ _t0 = cpu->r[1] + 0x00000004u; /* 0289C738 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0289C73C */ cpu->r[6] = 0x00000001u; /* 0289C740 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0289C740 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0289C740 */ cpu->r[1] = _t1; L_0289C744: ; // 0x289c744 /* 0289C744 */ _t2 = cpu->r[3] + 0x0000001Cu; /* 0289C744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289C748 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 0289C74C */ _t3 = cpu->r[3] + 0x0000001Cu; /* 0289C74C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289C750 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289C750 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4); /* 0289C754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000059u); /* 0289C758 */ _t5 = cpu->r[3] + 0x0000003Au; /* 0289C758 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[10]); /* 0289C75C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C75C */ _t7 = _t6 & 0x00000001u; /* 0289C75C */ if (_t7) goto L_0289C760; else goto L_0289C778; L_0289C760: ; // 0x289c760 /* 0289C760 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0289C760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C764 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C764 */ _t9 = _t8 & 0x00000001u; /* 0289C764 */ if (_t9) goto L_0289C768; else goto L_0289C744; L_0289C768: ; // 0x289c768 /* 0289C768 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0289C768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289C76C */ cpu->lr = cpu->r[0]; /* 0289C770 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289C774 */ return; L_0289C778: ; // 0x289c778 /* 0289C778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000058u); /* 0289C77C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C77C */ _t12 = _t11 & 0x00000001u; /* 0289C77C */ if (_t12) goto L_0289C780; else goto L_0289C78C; L_0289C780: ; // 0x289c780 /* 0289C780 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0289C780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C784 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C784 */ _t14 = _t13 & 0x00000001u; /* 0289C784 */ if (_t14) goto L_0289C768; else goto L_0289C788; L_0289C788: ; // 0x289c788 /* 0289C788 */ goto L_0289C744; L_0289C78C: ; // 0x289c78c /* 0289C78C */ Gambit_fn_0289C620(cpu); /* 0289C790 */ _t15 = cpu->r[3] + 0x0000001Cu; /* 0289C790 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0289C794 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 0289C798 */ _t16 = cpu->r[3] + 0x0000001Cu; /* 0289C798 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0289C79C */ _t17 = cpu->r[12] + 0x00000000u; /* 0289C79C */ cpu->r[10] = rbrew_read8(cpu->mem, _t17); /* 0289C7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000059u); /* 0289C7A4 */ _t18 = cpu->r[3] + 0x0000003Au; /* 0289C7A4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[10]); /* 0289C7A8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C7A8 */ _t20 = _t19 & 0x00000001u; /* 0289C7A8 */ if (_t20) goto L_0289C7AC; else goto L_0289C778; L_0289C7AC: ; // 0x289c7ac /* 0289C7AC */ goto L_0289C760; } // fn_0289C740 @ 0x289c740 void Gambit_fn_0289C740(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_0289C740: ; // 0x289c740 /* 0289C740 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0289C740 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C740 */ cpu->r[1] = _t0; L_0289C744: ; // 0x289c744 /* 0289C744 */ _t1 = cpu->r[3] + 0x0000001Cu; /* 0289C744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0289C748 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 0289C74C */ _t2 = cpu->r[3] + 0x0000001Cu; /* 0289C74C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0289C750 */ _t3 = cpu->r[12] + 0x00000000u; /* 0289C750 */ cpu->r[10] = rbrew_read8(cpu->mem, _t3); /* 0289C754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000059u); /* 0289C758 */ _t4 = cpu->r[3] + 0x0000003Au; /* 0289C758 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[10]); /* 0289C75C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C75C */ _t6 = _t5 & 0x00000001u; /* 0289C75C */ if (_t6) goto L_0289C760; else goto L_0289C778; L_0289C760: ; // 0x289c760 /* 0289C760 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0289C760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C764 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C764 */ _t8 = _t7 & 0x00000001u; /* 0289C764 */ if (_t8) goto L_0289C768; else goto L_0289C744; L_0289C768: ; // 0x289c768 /* 0289C768 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0289C768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0289C76C */ cpu->lr = cpu->r[0]; /* 0289C770 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289C774 */ return; L_0289C778: ; // 0x289c778 /* 0289C778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000058u); /* 0289C77C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C77C */ _t11 = _t10 & 0x00000001u; /* 0289C77C */ if (_t11) goto L_0289C780; else goto L_0289C78C; L_0289C780: ; // 0x289c780 /* 0289C780 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0289C780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289C784 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C784 */ _t13 = _t12 & 0x00000001u; /* 0289C784 */ if (_t13) goto L_0289C768; else goto L_0289C788; L_0289C788: ; // 0x289c788 /* 0289C788 */ goto L_0289C744; L_0289C78C: ; // 0x289c78c /* 0289C78C */ Gambit_fn_0289C620(cpu); /* 0289C790 */ _t14 = cpu->r[3] + 0x0000001Cu; /* 0289C790 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0289C794 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 0289C798 */ _t15 = cpu->r[3] + 0x0000001Cu; /* 0289C798 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0289C79C */ _t16 = cpu->r[12] + 0x00000000u; /* 0289C79C */ cpu->r[10] = rbrew_read8(cpu->mem, _t16); /* 0289C7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000059u); /* 0289C7A4 */ _t17 = cpu->r[3] + 0x0000003Au; /* 0289C7A4 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]); /* 0289C7A8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C7A8 */ _t19 = _t18 & 0x00000001u; /* 0289C7A8 */ if (_t19) goto L_0289C7AC; else goto L_0289C778; L_0289C7AC: ; // 0x289c7ac /* 0289C7AC */ goto L_0289C760; } // fn_0289C7B0 @ 0x289c7b0 void Gambit_fn_0289C7B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0289C7B0: ; // 0x289c7b0 /* 0289C7B0 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289C7B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289C7B4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C7B8 */ _t1 = cpu->r[3] + 0x00000018u; /* 0289C7B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]); /* 0289C7BC */ _t2 = cpu->r[12] + 0x00000000u; /* 0289C7BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289C7C0 */ _t3 = cpu->r[3] + 0x0000001Cu; /* 0289C7C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0289C7C4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 0289C7C8 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; /* 0289C7CC */ _t4 = cpu->r[3] + 0x0000001Cu; /* 0289C7CC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 0289C7D0 */ return; } // fn_0289C7D4 @ 0x289c7d4 void Gambit_fn_0289C7D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0289C7D4: ; // 0x289c7d4 /* 0289C7D4 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289C7D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289C7D8 */ _t1 = cpu->r[12] + 0xFFFFFFFCu; /* 0289C7D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 0289C7D8 */ cpu->r[12] = _t1; /* 0289C7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289C7E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C7E0 */ _t3 = _t2 & 0x00000001u; /* 0289C7E0 */ if (_t3) goto L_0289C800; else goto L_0289C7E4; L_0289C7E4: ; // 0x289c7e4 /* 0289C7E4 */ _t4 = cpu->r[12] + 0xFFFFFFFCu; /* 0289C7E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0289C7E4 */ cpu->r[12] = _t4; /* 0289C7E8 */ _t5 = cpu->r[3] + 0x0000001Cu; /* 0289C7E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0289C7EC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 0289C7F0 */ _t6 = cpu->r[3] + 0x00000018u; /* 0289C7F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0289C7F4 */ cpu->r[11] = cpu->r[11] + cpu->r[10]; /* 0289C7F8 */ _t7 = cpu->r[3] + 0x0000001Cu; /* 0289C7F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 0289C7FC */ return; L_0289C800: ; // 0x289c800 /* 0289C800 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C804 */ _t8 = cpu->r[3] + 0x00000018u; /* 0289C804 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 0289C808 */ return; } // fn_0289C80C @ 0x289c80c void Gambit_fn_0289C80C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0289C80C: ; // 0x289c80c /* 0289C80C */ _t0 = cpu->r[3] + 0x00000018u; /* 0289C80C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289C810 */ _t1 = cpu->r[12] + 0xFFFFFFFCu; /* 0289C810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 0289C810 */ cpu->r[12] = _t1; /* 0289C814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289C818 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C818 */ _t3 = _t2 & 0x00000001u; /* 0289C818 */ if (_t3) goto L_0289C828; else goto L_0289C81C; L_0289C81C: ; // 0x289c81c /* 0289C81C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C820 */ _t4 = cpu->r[3] + 0x00000018u; /* 0289C820 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 0289C824 */ return; L_0289C828: ; // 0x289c828 /* 0289C828 */ _t5 = cpu->r[12] + 0xFFFFFFFCu; /* 0289C828 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289C828 */ cpu->r[12] = _t5; /* 0289C82C */ _t6 = cpu->r[3] + 0x0000001Cu; /* 0289C82C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 0289C830 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 0289C834 */ _t7 = cpu->r[3] + 0x00000018u; /* 0289C834 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 0289C838 */ cpu->r[11] = cpu->r[11] + cpu->r[10]; /* 0289C83C */ _t8 = cpu->r[3] + 0x0000001Cu; /* 0289C83C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 0289C840 */ return; } // fn_0289C844 @ 0x289c844 void Gambit_fn_0289C844(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0289C844: ; // 0x289c844 /* 0289C844 */ cpu->r[0] = cpu->lr; /* 0289C848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289C848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C848 */ cpu->r[1] = _t0; /* 0289C84C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289C84C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289C850 */ cpu->r[31] = cpu->r[3]; /* 0289C854 */ _t2 = cpu->r[1] + 0x00000014u; /* 0289C854 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0289C858 */ _t3 = cpu->r[31] + 0x00000018u; /* 0289C858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0289C85C */ _t4 = cpu->r[31] + 0x0000003Au; /* 0289C85C */ cpu->r[10] = rbrew_read8(cpu->mem, _t4); /* 0289C860 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C864 */ _t5 = cpu->r[31] + 0x00000024u; /* 0289C864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0289C868 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C86C */ _t6 = cpu->r[31] + 0x00000018u; /* 0289C86C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0289C870 */ _t7 = cpu->r[12] + 0x00000000u; /* 0289C870 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 0289C874 */ cpu->r[12] = cpu->r[11] + cpu->r[0]; /* 0289C878 */ _t8 = cpu->r[11] + 0x00000078u; /* 0289C878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 0289C87C */ _t9 = cpu->r[12] + 0xFFFFFE7Cu; /* 0289C87C */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0289C880 */ cpu->r[6] = cpu->r[31]; /* 0289C884 */ Gambit_fn_0289872C(cpu); /* 0289C888 */ _t10 = cpu->r[31] + 0x00000018u; /* 0289C888 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0289C88C */ cpu->r[0] = cpu->r[10] + 0x00000004u; /* 0289C890 */ _t11 = cpu->r[31] + 0x00000018u; /* 0289C890 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0289C894 */ _t12 = cpu->r[10] + 0x00000000u; /* 0289C894 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0289C898 */ _t13 = cpu->r[1] + 0x00000014u; /* 0289C898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0289C89C */ cpu->lr = cpu->r[0]; /* 0289C8A0 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0289C8A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0289C8A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C8A8 */ return; } // fn_0289C848 @ 0x289c848 void Gambit_fn_0289C848(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0289C848: ; // 0x289c848 /* 0289C848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289C848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C848 */ cpu->r[1] = _t0; /* 0289C84C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0289C84C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289C850 */ cpu->r[31] = cpu->r[3]; /* 0289C854 */ _t2 = cpu->r[1] + 0x00000014u; /* 0289C854 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0289C858 */ _t3 = cpu->r[31] + 0x00000018u; /* 0289C858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0289C85C */ _t4 = cpu->r[31] + 0x0000003Au; /* 0289C85C */ cpu->r[10] = rbrew_read8(cpu->mem, _t4); /* 0289C860 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289C864 */ _t5 = cpu->r[31] + 0x00000024u; /* 0289C864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0289C868 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C86C */ _t6 = cpu->r[31] + 0x00000018u; /* 0289C86C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0289C870 */ _t7 = cpu->r[12] + 0x00000000u; /* 0289C870 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 0289C874 */ cpu->r[12] = cpu->r[11] + cpu->r[0]; /* 0289C878 */ _t8 = cpu->r[11] + 0x00000078u; /* 0289C878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 0289C87C */ _t9 = cpu->r[12] + 0xFFFFFE7Cu; /* 0289C87C */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0289C880 */ cpu->r[6] = cpu->r[31]; /* 0289C884 */ Gambit_fn_0289872C(cpu); /* 0289C888 */ _t10 = cpu->r[31] + 0x00000018u; /* 0289C888 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0289C88C */ cpu->r[0] = cpu->r[10] + 0x00000004u; /* 0289C890 */ _t11 = cpu->r[31] + 0x00000018u; /* 0289C890 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0289C894 */ _t12 = cpu->r[10] + 0x00000000u; /* 0289C894 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0289C898 */ _t13 = cpu->r[1] + 0x00000014u; /* 0289C898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0289C89C */ cpu->lr = cpu->r[0]; /* 0289C8A0 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0289C8A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0289C8A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C8A8 */ return; } // fn_0289C8AC @ 0x289c8ac void Gambit_fn_0289C8AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0289C8AC: ; // 0x289c8ac /* 0289C8AC */ cpu->r[0] = cpu->lr; /* 0289C8B0 */ _t0 = cpu->r[1] + 0x00000004u; /* 0289C8B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0289C8B4 */ cpu->r[9] = cpu->r[3]; /* 0289C8B8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0289C8B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0289C8B8 */ cpu->r[1] = _t1; /* 0289C8BC */ _t2 = cpu->r[9] + 0x00000018u; /* 0289C8BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289C8C0 */ _t3 = cpu->r[9] + 0x0000003Au; /* 0289C8C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 0289C8C4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289C8C8 */ _t4 = cpu->r[9] + 0x00000024u; /* 0289C8C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0289C8CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C8D0 */ _t5 = cpu->r[9] + 0x00000018u; /* 0289C8D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 0289C8D4 */ _t6 = cpu->r[11] + 0x00000000u; /* 0289C8D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0289C8D8 */ cpu->r[10] = cpu->r[12] + cpu->r[10]; /* 0289C8DC */ _t7 = cpu->r[10] + 0xFFFFFE6Cu; /* 0289C8DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 0289C8E0 */ cpu->r[5] = 0x00000000u; /* 0289C8E4 */ Gambit_fn_02897108(cpu); /* 0289C8E8 */ _t8 = cpu->r[9] + 0x00000018u; /* 0289C8E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 0289C8EC */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289C8F0 */ _t9 = cpu->r[9] + 0x00000018u; /* 0289C8F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0289C8F4 */ _t10 = cpu->r[12] + 0x00000000u; /* 0289C8F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]); /* 0289C8F8 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0289C8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0289C8FC */ cpu->lr = cpu->r[0]; /* 0289C900 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289C904 */ return; } // fn_0289C8B8 @ 0x289c8b8 void Gambit_fn_0289C8B8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0289C8B8: ; // 0x289c8b8 /* 0289C8B8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0289C8B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C8B8 */ cpu->r[1] = _t0; /* 0289C8BC */ _t1 = cpu->r[9] + 0x00000018u; /* 0289C8BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289C8C0 */ _t2 = cpu->r[9] + 0x0000003Au; /* 0289C8C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 0289C8C4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289C8C8 */ _t3 = cpu->r[9] + 0x00000024u; /* 0289C8C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0289C8CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C8D0 */ _t4 = cpu->r[9] + 0x00000018u; /* 0289C8D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]); /* 0289C8D4 */ _t5 = cpu->r[11] + 0x00000000u; /* 0289C8D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5); /* 0289C8D8 */ cpu->r[10] = cpu->r[12] + cpu->r[10]; /* 0289C8DC */ _t6 = cpu->r[10] + 0xFFFFFE6Cu; /* 0289C8DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 0289C8E0 */ cpu->r[5] = 0x00000000u; /* 0289C8E4 */ Gambit_fn_02897108(cpu); /* 0289C8E8 */ _t7 = cpu->r[9] + 0x00000018u; /* 0289C8E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0289C8EC */ cpu->r[0] = cpu->r[12] + 0x00000004u; /* 0289C8F0 */ _t8 = cpu->r[9] + 0x00000018u; /* 0289C8F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289C8F4 */ _t9 = cpu->r[12] + 0x00000000u; /* 0289C8F4 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 0289C8F8 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0289C8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289C8FC */ cpu->lr = cpu->r[0]; /* 0289C900 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289C904 */ return; } // fn_0289C908 @ 0x289c908 void Gambit_fn_0289C908(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0289C908: ; // 0x289c908 /* 0289C908 */ cpu->r[0] = cpu->lr; /* 0289C90C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289C90C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C90C */ cpu->r[1] = _t0; /* 0289C910 */ _t1 = cpu->r[1] + 0x00000008u; /* 0289C910 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289C914 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289C914 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0289C918 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289C918 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289C91C */ _t4 = cpu->r[4] + 0x00000050u; /* 0289C91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0289C920 */ cpu->ctr = cpu->r[0]; /* 0289C924 */ _t5 = cpu->r[4] + 0x00000024u; /* 0289C924 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 0289C928 */ cpu->r[31] = cpu->r[3]; /* 0289C92C */ cpu->r[30] = cpu->r[8] + 0x00000060u; /* 0289C930 */ cpu->r[3] = cpu->r[4]; /* 0289C934 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289C93C */ _t6 = cpu->r[30] + 0x00000004u; /* 0289C93C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 0289C940 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C940 */ _t8 = _t7 & 0x00000001u; /* 0289C940 */ if (_t8) goto L_0289C960; else goto L_0289C944; L_0289C944: ; // 0x289c944 /* 0289C944 */ cpu->r[11] = cpu->r[31] - cpu->r[3]; /* 0289C948 */ /* nop */ /* 0289C94C */ cpu->r[11] = cpu->r[11] ^ cpu->r[12]; /* 0289C950 */ cpu->r[11] = cpu->r[11] - cpu->r[12]; /* 0289C954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]); /* 0289C958 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C958 */ _t10 = _t9 & 0x00000001u; /* 0289C958 */ if (_t10) goto L_0289C95C; else goto L_0289C984; L_0289C95C: ; // 0x289c95c /* 0289C95C */ goto L_0289C988; L_0289C960: ; // 0x289c960 /* 0289C960 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]); /* 0289C964 */ cpu->r[11] = cpu->r[31] - cpu->r[3]; /* 0289C968 */ /* nop */ /* 0289C96C */ cpu->r[11] = cpu->r[11] ^ cpu->r[0]; /* 0289C970 */ cpu->r[11] = cpu->r[11] - cpu->r[0]; /* 0289C974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]); /* 0289C978 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C978 */ _t12 = _t11 & 0x00000001u; /* 0289C978 */ if (_t12) goto L_0289C97C; else goto L_0289C980; L_0289C97C: ; // 0x289c97c /* 0289C97C */ cpu->r[31] = cpu->r[3]; L_0289C980: ; // 0x289c980 /* 0289C980 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]); L_0289C984: ; // 0x289c984 /* 0289C984 */ cpu->r[3] = cpu->r[31]; L_0289C988: ; // 0x289c988 /* 0289C988 */ _t13 = cpu->r[1] + 0x00000014u; /* 0289C988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0289C98C */ _t14 = cpu->r[1] + 0x00000008u; /* 0289C98C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0289C990 */ cpu->lr = cpu->r[0]; /* 0289C994 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0289C994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0289C998 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C99C */ return; } // fn_0289C90C @ 0x289c90c void Gambit_fn_0289C90C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0289C90C: ; // 0x289c90c /* 0289C90C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0289C90C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C90C */ cpu->r[1] = _t0; /* 0289C910 */ _t1 = cpu->r[1] + 0x00000008u; /* 0289C910 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289C914 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289C914 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0289C918 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289C918 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0289C91C */ _t4 = cpu->r[4] + 0x00000050u; /* 0289C91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0289C920 */ cpu->ctr = cpu->r[0]; /* 0289C924 */ _t5 = cpu->r[4] + 0x00000024u; /* 0289C924 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 0289C928 */ cpu->r[31] = cpu->r[3]; /* 0289C92C */ cpu->r[30] = cpu->r[8] + 0x00000060u; /* 0289C930 */ cpu->r[3] = cpu->r[4]; /* 0289C934 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289C938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289C93C */ _t6 = cpu->r[30] + 0x00000004u; /* 0289C93C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 0289C940 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C940 */ _t8 = _t7 & 0x00000001u; /* 0289C940 */ if (_t8) goto L_0289C960; else goto L_0289C944; L_0289C944: ; // 0x289c944 /* 0289C944 */ cpu->r[11] = cpu->r[31] - cpu->r[3]; /* 0289C948 */ /* nop */ /* 0289C94C */ cpu->r[11] = cpu->r[11] ^ cpu->r[12]; /* 0289C950 */ cpu->r[11] = cpu->r[11] - cpu->r[12]; /* 0289C954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]); /* 0289C958 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C958 */ _t10 = _t9 & 0x00000001u; /* 0289C958 */ if (_t10) goto L_0289C95C; else goto L_0289C984; L_0289C95C: ; // 0x289c95c /* 0289C95C */ goto L_0289C988; L_0289C960: ; // 0x289c960 /* 0289C960 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]); /* 0289C964 */ cpu->r[11] = cpu->r[31] - cpu->r[3]; /* 0289C968 */ /* nop */ /* 0289C96C */ cpu->r[11] = cpu->r[11] ^ cpu->r[0]; /* 0289C970 */ cpu->r[11] = cpu->r[11] - cpu->r[0]; /* 0289C974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]); /* 0289C978 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289C978 */ _t12 = _t11 & 0x00000001u; /* 0289C978 */ if (_t12) goto L_0289C97C; else goto L_0289C980; L_0289C97C: ; // 0x289c97c /* 0289C97C */ cpu->r[31] = cpu->r[3]; L_0289C980: ; // 0x289c980 /* 0289C980 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]); L_0289C984: ; // 0x289c984 /* 0289C984 */ cpu->r[3] = cpu->r[31]; L_0289C988: ; // 0x289c988 /* 0289C988 */ _t13 = cpu->r[1] + 0x00000014u; /* 0289C988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0289C98C */ _t14 = cpu->r[1] + 0x00000008u; /* 0289C98C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0289C990 */ cpu->lr = cpu->r[0]; /* 0289C994 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0289C994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0289C998 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0289C99C */ return; } // fn_0289C9A0 @ 0x289c9a0 void Gambit_fn_0289C9A0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289C9A0: ; // 0x289c9a0 /* 0289C9A0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0289C9A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289C9A0 */ cpu->r[1] = _t0; /* 0289C9A4 */ /* nop */ /* 0289C9A8 */ cpu->r[0] = cpu->lr; /* 0289C9AC */ _t1 = cpu->r[1] + 0x00000034u; /* 0289C9AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289C9B0 */ cpu->r[31] = cpu->r[3]; /* 0289C9B4 */ _t2 = cpu->r[31] + 0x00000018u; /* 0289C9B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 0289C9B8 */ _t3 = cpu->r[31] + 0x00000020u; /* 0289C9B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 0289C9BC */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu; /* 0289C9C0 */ _t4 = cpu->r[31] + 0x00000024u; /* 0289C9C0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4); /* 0289C9C4 */ _t5 = cpu->r[31] + 0x00000000u; /* 0289C9C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 0289C9C8 */ cpu->r[28] = cpu->r[27] + 0x00000060u; /* 0289C9CC */ _t6 = cpu->r[31] + 0x00000018u; /* 0289C9CC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]); /* 0289C9D0 */ _t7 = cpu->r[9] + 0x00000000u; /* 0289C9D0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t7); /* 0289C9D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]); /* 0289C9D8 */ _t8 = cpu->r[31] + 0x00000004u; /* 0289C9D8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t8); /* 0289C9DC */ _t9 = cpu->r[31] + 0x00000028u; /* 0289C9DC */ cpu->r[25] = rbrew_read32(cpu->mem, _t9); /* 0289C9E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C9E0 */ _t11 = _t10 & 0x00000001u; /* 0289C9E0 */ if (_t11) goto L_0289C9EC; else goto L_0289C9E4; L_0289C9E4: ; // 0x289c9e4 /* 0289C9E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[7]); /* 0289C9E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289C9E8 */ _t13 = _t12 & 0x00000001u; /* 0289C9E8 */ if (_t13) goto L_0289C9EC; else goto L_0289CA40; L_0289C9EC: ; // 0x289c9ec /* 0289C9EC */ _t14 = cpu->r[8] + 0x0000000Cu; /* 0289C9EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 0289C9F0 */ cpu->r[29] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C9F4 */ _t15 = cpu->r[26] + 0x0000000Cu; /* 0289C9F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0289C9F8 */ cpu->r[30] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289C9FC */ _t16 = cpu->r[9] + cpu->r[29]; /* 0289C9FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 0289CA00 */ _t17 = cpu->r[12] + cpu->r[30]; /* 0289CA00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0289CA04 */ _t18 = cpu->r[31] + 0x00000048u; /* 0289CA04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18); /* 0289CA08 */ _t19 = cpu->r[8] + 0x00000008u; /* 0289CA08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19); /* 0289CA0C */ _t20 = cpu->r[26] + 0x00000008u; /* 0289CA0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 0289CA10 */ cpu->ctr = cpu->r[10]; /* 0289CA14 */ _t21 = cpu->r[6] + cpu->r[29]; /* 0289CA14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 0289CA18 */ cpu->r[5] = cpu->r[0] - cpu->r[5]; /* 0289CA1C */ _t22 = cpu->r[11] + cpu->r[30]; /* 0289CA1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0289CA20 */ cpu->r[3] = cpu->r[31]; /* 0289CA24 */ cpu->r[4] = cpu->r[0] - cpu->r[8]; /* 0289CA28 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CA2C */ _t23 = cpu->r[28] + 0x00000004u; /* 0289CA2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0289CA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289CA34 */ cpu->r[23] = cpu->r[3]; /* 0289CA38 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CA38 */ _t25 = _t24 & 0x00000001u; /* 0289CA38 */ if (_t25) goto L_0289CBC8; else goto L_0289CA3C; L_0289CA3C: ; // 0x289ca3c /* 0289CA3C */ goto L_0289CBB8; L_0289CA40: ; // 0x289ca40 /* 0289CA40 */ _t26 = cpu->r[8] + 0x00000014u; /* 0289CA40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26); /* 0289CA44 */ _t27 = cpu->r[26] + 0x00000014u; /* 0289CA44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0289CA48 */ cpu->r[29] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289CA4C */ _t28 = cpu->r[8] + 0x00000010u; /* 0289CA4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 0289CA50 */ _t29 = cpu->r[6] + cpu->r[29]; /* 0289CA50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29); /* 0289CA54 */ _t30 = cpu->r[26] + 0x00000010u; /* 0289CA54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30); /* 0289CA58 */ cpu->r[30] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289CA5C */ _t31 = cpu->r[11] + cpu->r[29]; /* 0289CA5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 0289CA60 */ _t32 = cpu->r[9] + cpu->r[30]; /* 0289CA60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 0289CA64 */ _t33 = cpu->r[12] + cpu->r[30]; /* 0289CA64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 0289CA68 */ _t34 = cpu->r[31] + 0x0000000Cu; /* 0289CA68 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34); /* 0289CA6C */ cpu->r[22] = cpu->r[6] - cpu->r[10]; /* 0289CA70 */ cpu->r[23] = cpu->r[7] - cpu->r[8]; /* 0289CA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289CA78 */ _t35 = cpu->r[31] + 0x00000048u; /* 0289CA78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35); /* 0289CA7C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CA7C */ _t37 = _t36 & 0x00000001u; /* 0289CA7C */ if (_t37) goto L_0289CA80; else goto L_0289CAB8; L_0289CA80: ; // 0x289ca80 /* 0289CA80 */ cpu->ctr = cpu->r[10]; /* 0289CA84 */ cpu->r[5] = cpu->r[23]; /* 0289CA88 */ cpu->r[4] = cpu->r[22]; /* 0289CA8C */ cpu->r[3] = cpu->r[31]; /* 0289CA90 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CA94 */ cpu->r[5] = cpu->r[3]; /* 0289CA98 */ _t38 = cpu->r[27] + 0x000000D4u; /* 0289CA98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 0289CA9C */ cpu->r[4] = cpu->r[27] + 0x000000C4u; /* 0289CAA0 */ Gambit_fn_0287BC34(cpu); /* 0289CAA4 */ _t39 = cpu->r[28] + 0x00000004u; /* 0289CAA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39); /* 0289CAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289CAAC */ cpu->r[23] = cpu->r[3]; /* 0289CAB0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CAB0 */ _t41 = _t40 & 0x00000001u; /* 0289CAB0 */ if (_t41) goto L_0289CBC8; else goto L_0289CAB4; L_0289CAB4: ; // 0x289cab4 /* 0289CAB4 */ goto L_0289CBB8; L_0289CAB8: ; // 0x289cab8 /* 0289CAB8 */ _t42 = cpu->r[31] + 0x0000000Eu; /* 0289CAB8 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42); /* 0289CABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0289CAC0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CAC0 */ _t44 = _t43 & 0x00000001u; /* 0289CAC0 */ if (_t44) goto L_0289CAC4; else goto L_0289CAFC; L_0289CAC4: ; // 0x289cac4 /* 0289CAC4 */ cpu->ctr = cpu->r[10]; /* 0289CAC8 */ cpu->r[5] = cpu->r[23]; /* 0289CACC */ cpu->r[4] = cpu->r[22]; /* 0289CAD0 */ cpu->r[3] = cpu->r[31]; /* 0289CAD4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CAD8 */ cpu->r[5] = cpu->r[3]; /* 0289CADC */ _t45 = cpu->r[27] + 0x000000B8u; /* 0289CADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t45); /* 0289CAE0 */ cpu->r[4] = cpu->r[27] + 0x000000A8u; /* 0289CAE4 */ Gambit_fn_0287BC34(cpu); /* 0289CAE8 */ _t46 = cpu->r[28] + 0x00000004u; /* 0289CAE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46); /* 0289CAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289CAF0 */ cpu->r[23] = cpu->r[3]; /* 0289CAF4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CAF4 */ _t48 = _t47 & 0x00000001u; /* 0289CAF4 */ if (_t48) goto L_0289CBC8; else goto L_0289CAF8; L_0289CAF8: ; // 0x289caf8 /* 0289CAF8 */ goto L_0289CBB8; L_0289CAFC: ; // 0x289cafc /* 0289CAFC */ _t49 = cpu->r[31] + 0x00000044u; /* 0289CAFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t49); /* 0289CB00 */ cpu->r[3] = cpu->r[22]; /* 0289CB04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 0289CB08 */ cpu->r[5] = 0x0000000Eu; /* 0289CB0C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CB0C */ _t51 = _t50 & 0x00000001u; /* 0289CB0C */ if (_t51) goto L_0289CB10; else goto L_0289CB64; L_0289CB10: ; // 0x289cb10 /* 0289CB10 */ Gambit_fn_0287B904(cpu); /* 0289CB14 */ _t52 = cpu->r[31] + 0x0000000Eu; /* 0289CB14 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t52); /* 0289CB18 */ cpu->r[22] = cpu->r[3]; /* 0289CB1C */ cpu->r[5] = 0x0000000Eu; /* 0289CB20 */ cpu->r[3] = cpu->r[23]; /* 0289CB24 */ Gambit_fn_0287B904(cpu); /* 0289CB28 */ cpu->r[23] = cpu->r[3]; /* 0289CB2C */ _t53 = cpu->r[27] + 0x000000B8u; /* 0289CB2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t53); /* 0289CB30 */ cpu->r[4] = cpu->r[27] + 0x000000A8u; /* 0289CB34 */ cpu->r[5] = cpu->r[22]; /* 0289CB38 */ Gambit_fn_0287BC34(cpu); /* 0289CB3C */ cpu->r[22] = cpu->r[3]; /* 0289CB40 */ _t54 = cpu->r[27] + 0x000000D4u; /* 0289CB40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54); /* 0289CB44 */ cpu->r[4] = cpu->r[27] + 0x000000C4u; /* 0289CB48 */ cpu->r[5] = cpu->r[23]; /* 0289CB4C */ Gambit_fn_0287BC34(cpu); /* 0289CB50 */ _t55 = cpu->r[28] + 0x00000004u; /* 0289CB50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55); /* 0289CB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289CB58 */ cpu->r[23] = cpu->r[22] + cpu->r[3]; /* 0289CB5C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CB5C */ _t57 = _t56 & 0x00000001u; /* 0289CB5C */ if (_t57) goto L_0289CBC8; else goto L_0289CB60; L_0289CB60: ; // 0x289cb60 /* 0289CB60 */ goto L_0289CBB8; L_0289CB64: ; // 0x289cb64 /* 0289CB64 */ _t58 = cpu->r[31] + 0x00000014u; /* 0289CB64 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t58); /* 0289CB68 */ Gambit_fn_0287B904(cpu); /* 0289CB6C */ _t59 = cpu->r[31] + 0x00000016u; /* 0289CB6C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t59); /* 0289CB70 */ cpu->r[22] = cpu->r[3]; /* 0289CB74 */ cpu->r[5] = 0x0000000Eu; /* 0289CB78 */ cpu->r[3] = cpu->r[23]; /* 0289CB7C */ Gambit_fn_0287B904(cpu); /* 0289CB80 */ cpu->r[23] = cpu->r[3]; /* 0289CB84 */ _t60 = cpu->r[27] + 0x000000B8u; /* 0289CB84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60); /* 0289CB88 */ cpu->r[4] = cpu->r[27] + 0x000000A8u; /* 0289CB8C */ cpu->r[5] = cpu->r[22]; /* 0289CB90 */ Gambit_fn_0287BC34(cpu); /* 0289CB94 */ cpu->r[22] = cpu->r[3]; /* 0289CB98 */ _t61 = cpu->r[27] + 0x000000D4u; /* 0289CB98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61); /* 0289CB9C */ cpu->r[4] = cpu->r[27] + 0x000000C4u; /* 0289CBA0 */ cpu->r[5] = cpu->r[23]; /* 0289CBA4 */ Gambit_fn_0287BC34(cpu); /* 0289CBA8 */ _t62 = cpu->r[28] + 0x00000004u; /* 0289CBA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); /* 0289CBAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289CBB0 */ cpu->r[23] = cpu->r[22] + cpu->r[3]; /* 0289CBB4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CBB4 */ _t64 = _t63 & 0x00000001u; /* 0289CBB4 */ if (_t64) goto L_0289CBC8; else goto L_0289CBB8; L_0289CBB8: ; // 0x289cbb8 /* 0289CBB8 */ cpu->r[3] = cpu->r[23]; /* 0289CBBC */ cpu->r[4] = cpu->r[31]; /* 0289CBC0 */ Gambit_fn_0289C908(cpu); /* 0289CBC4 */ cpu->r[23] = cpu->r[3]; L_0289CBC8: ; // 0x289cbc8 /* 0289CBC8 */ _t65 = cpu->r[31] + 0x0000003Au; /* 0289CBC8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t65); /* 0289CBCC */ cpu->r[22] = cpu->r[23]; /* 0289CBD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 0289CBD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 0289CBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289CBD8 */ cpu->r[7] = cpu->r[27] + cpu->r[6]; /* 0289CBDC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CBDC */ _t67 = _t66 & 0x00000001u; /* 0289CBDC */ if (_t67) goto L_0289CC08; else goto L_0289CBE0; L_0289CBE0: ; // 0x289cbe0 /* 0289CBE0 */ _t68 = cpu->r[28] + 0x00000018u; /* 0289CBE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68); /* 0289CBE4 */ cpu->r[4] = cpu->r[23]; /* 0289CBE8 */ _t69 = cpu->r[7] + 0x0000001Cu; /* 0289CBE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69); /* 0289CBEC */ cpu->r[6] = cpu->r[31]; /* 0289CBF0 */ Gambit_fn_0289872C(cpu); /* 0289CBF4 */ _t70 = cpu->r[31] + 0x0000003Au; /* 0289CBF4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t70); /* 0289CBF8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 0289CBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0289CBFC */ cpu->r[23] = cpu->r[3]; /* 0289CC00 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CC00 */ _t72 = _t71 & 0x00000001u; /* 0289CC00 */ if (_t72) goto L_0289CC4C; else goto L_0289CC04; L_0289CC04: ; // 0x289cc04 /* 0289CC04 */ goto L_0289CC24; L_0289CC08: ; // 0x289cc08 /* 0289CC08 */ _t73 = cpu->r[7] + 0x0000001Cu; /* 0289CC08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73); /* 0289CC0C */ cpu->r[5] = 0x00000000u; /* 0289CC10 */ cpu->r[3] = cpu->r[23]; /* 0289CC14 */ Gambit_fn_02897108(cpu); /* 0289CC18 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 0289CC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0289CC1C */ cpu->r[23] = cpu->r[3]; /* 0289CC20 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CC20 */ _t75 = _t74 & 0x00000001u; /* 0289CC20 */ if (_t75) goto L_0289CC4C; else goto L_0289CC24; L_0289CC24: ; // 0x289cc24 /* 0289CC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 0289CC28 */ _t76 = cpu->r[28] + 0x00000014u; /* 0289CC28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76); /* 0289CC2C */ _t77 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289CC2C */ _t78 = _t77 & 0x00000001u; /* 0289CC2C */ if (_t78) goto L_0289CC3C; else goto L_0289CC30; L_0289CC30: ; // 0x289cc30 /* 0289CC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[8]); /* 0289CC34 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289CC34 */ _t80 = _t79 & 0x00000001u; /* 0289CC34 */ if (_t80) goto L_0289CC38; else goto L_0289CC4C; L_0289CC38: ; // 0x289cc38 /* 0289CC38 */ goto L_0289CC48; L_0289CC3C: ; // 0x289cc3c /* 0289CC3C */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[8]); /* 0289CC40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[8]); /* 0289CC44 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289CC44 */ _t82 = _t81 & 0x00000001u; /* 0289CC44 */ if (_t82) goto L_0289CC48; else goto L_0289CC4C; L_0289CC48: ; // 0x289cc48 /* 0289CC48 */ cpu->r[23] = cpu->r[8]; L_0289CC4C: ; // 0x289cc4c /* 0289CC4C */ _t83 = cpu->r[31] + 0x00000000u; /* 0289CC4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t83); /* 0289CC50 */ _t84 = cpu->r[26] + 0x00000004u; /* 0289CC50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84); /* 0289CC54 */ _t85 = cpu->r[8] + 0x00000004u; /* 0289CC54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85); /* 0289CC58 */ _t86 = cpu->r[12] + cpu->r[30]; /* 0289CC58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t86); /* 0289CC5C */ _t87 = cpu->r[8] + 0x00000000u; /* 0289CC5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t87); /* 0289CC60 */ _t88 = cpu->r[31] + 0x00000044u; /* 0289CC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 0289CC64 */ _t89 = cpu->r[26] + 0x00000000u; /* 0289CC64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89); /* 0289CC68 */ _t90 = cpu->r[5] + cpu->r[29]; /* 0289CC68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90); /* 0289CC6C */ cpu->ctr = cpu->r[0]; /* 0289CC70 */ _t91 = cpu->r[11] + cpu->r[30]; /* 0289CC70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91); /* 0289CC74 */ cpu->r[5] = cpu->r[6] - cpu->r[7]; /* 0289CC78 */ _t92 = cpu->r[9] + cpu->r[29]; /* 0289CC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92); /* 0289CC7C */ cpu->r[3] = cpu->r[31]; /* 0289CC80 */ cpu->r[4] = cpu->r[10] - cpu->r[0]; /* 0289CC84 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CC88 */ _t93 = cpu->r[31] + 0x00000040u; /* 0289CC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93); /* 0289CC8C */ cpu->r[6] = cpu->r[23] - cpu->r[3]; /* 0289CC90 */ cpu->ctr = cpu->r[0]; /* 0289CC94 */ cpu->r[3] = cpu->r[31]; /* 0289CC98 */ cpu->r[4] = cpu->r[26]; /* 0289CC9C */ cpu->r[5] = cpu->r[24]; /* 0289CCA0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CCA4 */ _t94 = cpu->r[31] + 0x0000003Au; /* 0289CCA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t94); /* 0289CCA8 */ _t95 = cpu->r[31] + 0x00000030u; /* 0289CCA8 */ rbrew_write32(cpu->mem, _t95, cpu->r[24]); /* 0289CCAC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Bu); /* 0289CCAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289CCB0 */ _t96 = cpu->r[31] + 0x0000002Cu; /* 0289CCB0 */ rbrew_write32(cpu->mem, _t96, cpu->r[25]); /* 0289CCB4 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CCB4 */ _t98 = _t97 & 0x00000001u; /* 0289CCB4 */ if (_t98) goto L_0289CCBC; else goto L_0289CCB8; L_0289CCB8: ; // 0x289ccb8 /* 0289CCB8 */ _t99 = cpu->r[31] + 0x00000028u; /* 0289CCB8 */ rbrew_write32(cpu->mem, _t99, cpu->r[24]); L_0289CCBC: ; // 0x289ccbc /* 0289CCBC */ /* nop */ /* 0289CCC0 */ _t100 = cpu->r[1] + 0x00000034u; /* 0289CCC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100); /* 0289CCC4 */ cpu->lr = cpu->r[0]; /* 0289CCC8 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289CCCC */ return; } // fn_0289CCD0 @ 0x289ccd0 void Gambit_fn_0289CCD0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289CCD0: ; // 0x289ccd0 /* 0289CCD0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289CCD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289CCD0 */ cpu->r[1] = _t0; /* 0289CCD4 */ /* nop */ /* 0289CCD8 */ cpu->r[0] = cpu->lr; /* 0289CCDC */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289CCDC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289CCE0 */ _t2 = cpu->r[3] + 0x00000018u; /* 0289CCE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 0289CCE4 */ _t3 = cpu->r[3] + 0x0000004Cu; /* 0289CCE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0289CCE8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFCu; /* 0289CCEC */ _t4 = cpu->r[3] + 0x00000024u; /* 0289CCEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t4); /* 0289CCF0 */ cpu->ctr = cpu->r[10]; /* 0289CCF4 */ _t5 = cpu->r[3] + 0x00000018u; /* 0289CCF4 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]); /* 0289CCF8 */ cpu->r[29] = cpu->r[28] + 0x00000060u; /* 0289CCFC */ _t6 = cpu->r[7] + 0x00000000u; /* 0289CCFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 0289CD00 */ cpu->r[31] = cpu->r[3]; /* 0289CD04 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CD08 */ _t7 = cpu->r[31] + 0x00000018u; /* 0289CD08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 0289CD0C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289CD10 */ _t8 = cpu->r[31] + 0x00000018u; /* 0289CD10 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 0289CD14 */ _t9 = cpu->r[28] + 0x00000064u; /* 0289CD14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0289CD18 */ cpu->r[27] = cpu->r[3]; /* 0289CD1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289CD20 */ _t10 = cpu->r[11] + 0x00000000u; /* 0289CD20 */ cpu->r[26] = rbrew_read32(cpu->mem, _t10); /* 0289CD24 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CD24 */ _t12 = _t11 & 0x00000001u; /* 0289CD24 */ if (_t12) goto L_0289CD38; else goto L_0289CD28; L_0289CD28: ; // 0x289cd28 /* 0289CD28 */ cpu->r[3] = cpu->r[27]; /* 0289CD2C */ cpu->r[4] = cpu->r[31]; /* 0289CD30 */ Gambit_fn_0289C908(cpu); /* 0289CD34 */ cpu->r[27] = cpu->r[3]; L_0289CD38: ; // 0x289cd38 /* 0289CD38 */ _t13 = cpu->r[31] + 0x00000004u; /* 0289CD38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13); /* 0289CD3C */ _t14 = cpu->r[31] + 0x00000020u; /* 0289CD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0289CD40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0289CD44 */ cpu->r[30] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289CD48 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CD48 */ _t16 = _t15 & 0x00000001u; /* 0289CD48 */ if (_t16) goto L_0289CD4C; else goto L_0289CDFC; L_0289CD4C: ; // 0x289cd4c /* 0289CD4C */ _t17 = cpu->r[31] + 0x00000000u; /* 0289CD4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17); /* 0289CD50 */ _t18 = cpu->r[31] + 0x00000028u; /* 0289CD50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18); /* 0289CD54 */ _t19 = cpu->r[8] + 0x00000008u; /* 0289CD54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19); /* 0289CD58 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289CD5C */ _t20 = cpu->r[11] + 0x00000008u; /* 0289CD5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 0289CD60 */ _t21 = cpu->r[6] + cpu->r[9]; /* 0289CD60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0289CD64 */ _t22 = cpu->r[5] + cpu->r[30]; /* 0289CD64 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 0289CD68 */ _t23 = cpu->r[31] + 0x00000028u; /* 0289CD68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23); /* 0289CD6C */ _t24 = cpu->r[31] + 0x00000000u; /* 0289CD6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 0289CD70 */ _t25 = cpu->r[31] + 0x00000004u; /* 0289CD70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25); /* 0289CD74 */ _t26 = cpu->r[7] + 0x0000000Cu; /* 0289CD74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26); /* 0289CD78 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289CD7C */ _t27 = cpu->r[11] + 0x0000000Cu; /* 0289CD7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0289CD80 */ _t28 = cpu->r[5] + cpu->r[8]; /* 0289CD80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0289CD84 */ cpu->r[3] = cpu->r[27]; /* 0289CD88 */ _t29 = cpu->r[12] + cpu->r[30]; /* 0289CD88 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 0289CD8C */ _t30 = cpu->r[31] + 0x0000000Cu; /* 0289CD8C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 0289CD90 */ cpu->r[5] = 0x0000000Eu; /* 0289CD94 */ Gambit_fn_0287B904(cpu); /* 0289CD98 */ _t31 = cpu->r[31] + 0x00000004u; /* 0289CD98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 0289CD9C */ _t32 = cpu->r[10] + 0x00000008u; /* 0289CD9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t32); /* 0289CDA0 */ _t33 = cpu->r[11] + cpu->r[30]; /* 0289CDA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 0289CDA4 */ cpu->r[12] = cpu->r[12] + cpu->r[3]; /* 0289CDA8 */ cpu->r[5] = 0x0000000Eu; /* 0289CDAC */ _t34 = cpu->r[11] + cpu->r[30]; /* 0289CDAC */ rbrew_write32(cpu->mem, _t34, cpu->r[12]); /* 0289CDB0 */ _t35 = cpu->r[31] + 0x0000000Eu; /* 0289CDB0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t35); /* 0289CDB4 */ cpu->r[3] = cpu->r[27]; /* 0289CDB8 */ Gambit_fn_0287B904(cpu); /* 0289CDBC */ _t36 = cpu->r[31] + 0x00000004u; /* 0289CDBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 0289CDC0 */ _t37 = cpu->r[5] + 0x0000000Cu; /* 0289CDC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37); /* 0289CDC4 */ _t38 = cpu->r[6] + cpu->r[30]; /* 0289CDC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38); /* 0289CDC8 */ cpu->r[7] = cpu->r[7] + cpu->r[3]; /* 0289CDCC */ _t39 = cpu->r[6] + cpu->r[30]; /* 0289CDCC */ rbrew_write32(cpu->mem, _t39, cpu->r[7]); /* 0289CDD0 */ _t40 = cpu->r[31] + 0x00000004u; /* 0289CDD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40); /* 0289CDD4 */ _t41 = cpu->r[11] + 0x00000008u; /* 0289CDD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41); /* 0289CDD8 */ _t42 = cpu->r[11] + 0x00000000u; /* 0289CDD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42); /* 0289CDDC */ _t43 = cpu->r[9] + cpu->r[30]; /* 0289CDDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t43); /* 0289CDE0 */ _t44 = cpu->r[8] + cpu->r[30]; /* 0289CDE0 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]); /* 0289CDE4 */ _t45 = cpu->r[31] + 0x00000004u; /* 0289CDE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45); /* 0289CDE8 */ _t46 = cpu->r[11] + 0x0000000Cu; /* 0289CDE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46); /* 0289CDEC */ _t47 = cpu->r[11] + 0x00000004u; /* 0289CDEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t47); /* 0289CDF0 */ _t48 = cpu->r[12] + cpu->r[30]; /* 0289CDF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0289CDF4 */ _t49 = cpu->r[11] + cpu->r[30]; /* 0289CDF4 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 0289CDF8 */ _t50 = cpu->r[31] + 0x00000004u; /* 0289CDF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50); L_0289CDFC: ; // 0x289cdfc /* 0289CDFC */ _t51 = cpu->r[31] + 0x00000000u; /* 0289CDFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t51); /* 0289CE00 */ _t52 = cpu->r[11] + 0x0000000Cu; /* 0289CE00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52); /* 0289CE04 */ _t53 = cpu->r[7] + 0x0000000Cu; /* 0289CE04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53); /* 0289CE08 */ _t54 = cpu->r[31] + 0x00000028u; /* 0289CE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 0289CE0C */ _t55 = cpu->r[7] + 0x00000008u; /* 0289CE0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t55); /* 0289CE10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289CE14 */ _t56 = cpu->r[11] + 0x00000008u; /* 0289CE14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 0289CE18 */ _t57 = cpu->r[31] + 0x00000048u; /* 0289CE18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57); /* 0289CE1C */ _t58 = cpu->r[9] + cpu->r[30]; /* 0289CE1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t58); /* 0289CE20 */ _t59 = cpu->r[10] + cpu->r[0]; /* 0289CE20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59); /* 0289CE24 */ cpu->ctr = cpu->r[6]; /* 0289CE28 */ _t60 = cpu->r[7] + cpu->r[30]; /* 0289CE28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60); /* 0289CE2C */ cpu->r[5] = cpu->r[12] - cpu->r[5]; /* 0289CE30 */ _t61 = cpu->r[8] + cpu->r[0]; /* 0289CE30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61); /* 0289CE34 */ cpu->r[3] = cpu->r[31]; /* 0289CE38 */ cpu->r[4] = cpu->r[7] - cpu->r[0]; /* 0289CE3C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CE40 */ _t62 = cpu->r[29] + 0x00000032u; /* 0289CE40 */ cpu->r[6] = rbrew_read8(cpu->mem, _t62); /* 0289CE44 */ cpu->r[25] = cpu->r[3]; /* 0289CE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289CE4C */ _t63 = cpu->r[31] + 0x0000003Au; /* 0289CE4C */ cpu->r[6] = rbrew_read8(cpu->mem, _t63); /* 0289CE50 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CE50 */ _t65 = _t64 & 0x00000001u; /* 0289CE50 */ if (_t65) goto L_0289CE60; else goto L_0289CE54; L_0289CE54: ; // 0x289ce54 /* 0289CE54 */ cpu->r[7] = cpu->r[25] ^ cpu->r[27]; /* 0289CE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289CE58 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289CE58 */ _t67 = _t66 & 0x00000001u; /* 0289CE58 */ if (_t67) goto L_0289CE5C; else goto L_0289CE60; L_0289CE5C: ; // 0x289ce5c /* 0289CE5C */ cpu->r[27] = (uint32_t)(-(int32_t)cpu->r[27]); L_0289CE60: ; // 0x289ce60 /* 0289CE60 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 0289CE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289CE64 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CE64 */ _t69 = _t68 & 0x00000001u; /* 0289CE64 */ if (_t69) goto L_0289CEB8; else goto L_0289CE68; L_0289CE68: ; // 0x289ce68 /* 0289CE68 */ cpu->r[0] = cpu->r[27] - cpu->r[25]; /* 0289CE6C */ /* nop */ /* 0289CE70 */ cpu->r[0] = cpu->r[0] ^ cpu->r[9]; /* 0289CE74 */ _t70 = cpu->r[29] + 0x00000000u; /* 0289CE74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70); /* 0289CE78 */ cpu->r[0] = cpu->r[0] - cpu->r[9]; /* 0289CE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0289CE80 */ _t71 = cpu->r[29] + 0x00000018u; /* 0289CE80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71); /* 0289CE84 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289CE84 */ _t73 = _t72 & 0x00000001u; /* 0289CE84 */ if (_t73) goto L_0289CE88; else goto L_0289CE8C; L_0289CE88: ; // 0x289ce88 /* 0289CE88 */ cpu->r[27] = cpu->r[25]; L_0289CE8C: ; // 0x289ce8c /* 0289CE8C */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 0289CE90 */ cpu->r[5] = cpu->r[28] + cpu->r[12]; /* 0289CE94 */ cpu->r[4] = cpu->r[27]; /* 0289CE98 */ _t74 = cpu->r[5] + 0x0000001Cu; /* 0289CE98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74); /* 0289CE9C */ cpu->r[6] = cpu->r[31]; /* 0289CEA0 */ Gambit_fn_0289872C(cpu); /* 0289CEA4 */ _t75 = cpu->r[31] + 0x0000003Au; /* 0289CEA4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t75); /* 0289CEA8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 0289CEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0289CEAC */ cpu->r[27] = cpu->r[3]; /* 0289CEB0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CEB0 */ _t77 = _t76 & 0x00000001u; /* 0289CEB0 */ if (_t77) goto L_0289CF08; else goto L_0289CEB4; L_0289CEB4: ; // 0x289ceb4 /* 0289CEB4 */ goto L_0289CEDC; L_0289CEB8: ; // 0x289ceb8 /* 0289CEB8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Cu, 0x0000001Du); /* 0289CEBC */ cpu->r[9] = cpu->r[28] + cpu->r[8]; /* 0289CEC0 */ cpu->r[3] = cpu->r[27]; /* 0289CEC4 */ _t78 = cpu->r[9] + 0x0000001Cu; /* 0289CEC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78); /* 0289CEC8 */ cpu->r[5] = 0x00000000u; /* 0289CECC */ Gambit_fn_02897108(cpu); /* 0289CED0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 0289CED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0289CED4 */ cpu->r[27] = cpu->r[3]; /* 0289CED8 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CED8 */ _t80 = _t79 & 0x00000001u; /* 0289CED8 */ if (_t80) goto L_0289CF08; else goto L_0289CEDC; L_0289CEDC: ; // 0x289cedc /* 0289CEDC */ _t81 = cpu->r[31] + 0x00000024u; /* 0289CEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t81); /* 0289CEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0289CEE4 */ _t82 = cpu->r[12] + 0x00000074u; /* 0289CEE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82); /* 0289CEE8 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289CEE8 */ _t84 = _t83 & 0x00000001u; /* 0289CEE8 */ if (_t84) goto L_0289CEF8; else goto L_0289CEEC; L_0289CEEC: ; // 0x289ceec /* 0289CEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]); /* 0289CEF0 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289CEF0 */ _t86 = _t85 & 0x00000001u; /* 0289CEF0 */ if (_t86) goto L_0289CEF4; else goto L_0289CF08; L_0289CEF4: ; // 0x289cef4 /* 0289CEF4 */ goto L_0289CF04; L_0289CEF8: ; // 0x289cef8 /* 0289CEF8 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[0]); /* 0289CEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]); /* 0289CF00 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289CF00 */ _t88 = _t87 & 0x00000001u; /* 0289CF00 */ if (_t88) goto L_0289CF04; else goto L_0289CF08; L_0289CF04: ; // 0x289cf04 /* 0289CF04 */ cpu->r[27] = cpu->r[0]; L_0289CF08: ; // 0x289cf08 /* 0289CF08 */ _t89 = cpu->r[31] + 0x00000004u; /* 0289CF08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89); /* 0289CF0C */ _t90 = cpu->r[31] + 0x00000028u; /* 0289CF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t90); /* 0289CF10 */ _t91 = cpu->r[11] + 0x00000000u; /* 0289CF10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t91); /* 0289CF14 */ _t92 = cpu->r[11] + 0x00000004u; /* 0289CF14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92); /* 0289CF18 */ _t93 = cpu->r[31] + 0x00000000u; /* 0289CF18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93); /* 0289CF1C */ _t94 = cpu->r[6] + cpu->r[30]; /* 0289CF1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t94); /* 0289CF20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289CF24 */ _t95 = cpu->r[7] + 0x00000004u; /* 0289CF24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95); /* 0289CF28 */ _t96 = cpu->r[31] + 0x00000044u; /* 0289CF28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t96); /* 0289CF2C */ _t97 = cpu->r[7] + 0x00000000u; /* 0289CF2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t97); /* 0289CF30 */ _t98 = cpu->r[12] + cpu->r[0]; /* 0289CF30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98); /* 0289CF34 */ cpu->ctr = cpu->r[5]; /* 0289CF38 */ _t99 = cpu->r[11] + cpu->r[30]; /* 0289CF38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t99); /* 0289CF3C */ _t100 = cpu->r[8] + cpu->r[0]; /* 0289CF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t100); /* 0289CF40 */ cpu->r[5] = cpu->r[5] - cpu->r[6]; /* 0289CF44 */ cpu->r[3] = cpu->r[31]; /* 0289CF48 */ cpu->r[4] = cpu->r[9] - cpu->r[0]; /* 0289CF4C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CF50 */ _t101 = cpu->r[31] + 0x00000040u; /* 0289CF50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t101); /* 0289CF54 */ cpu->r[6] = cpu->r[27] - cpu->r[3]; /* 0289CF58 */ cpu->ctr = cpu->r[7]; /* 0289CF5C */ cpu->r[3] = cpu->r[31]; /* 0289CF60 */ _t102 = cpu->r[31] + 0x00000004u; /* 0289CF60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t102); /* 0289CF64 */ cpu->r[5] = cpu->r[26]; /* 0289CF68 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289CF6C */ _t103 = cpu->r[31] + 0x00000028u; /* 0289CF6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t103); /* 0289CF70 */ _t104 = cpu->r[31] + 0x0000003Au; /* 0289CF70 */ cpu->r[10] = rbrew_read8(cpu->mem, _t104); /* 0289CF74 */ _t105 = cpu->r[31] + 0x0000002Cu; /* 0289CF74 */ rbrew_write32(cpu->mem, _t105, cpu->r[8]); /* 0289CF78 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x0000001Bu); /* 0289CF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0289CF7C */ _t106 = cpu->r[31] + 0x00000030u; /* 0289CF7C */ rbrew_write32(cpu->mem, _t106, cpu->r[26]); /* 0289CF80 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CF80 */ _t108 = _t107 & 0x00000001u; /* 0289CF80 */ if (_t108) goto L_0289CF88; else goto L_0289CF84; L_0289CF84: ; // 0x289cf84 /* 0289CF84 */ _t109 = cpu->r[31] + 0x00000028u; /* 0289CF84 */ rbrew_write32(cpu->mem, _t109, cpu->r[26]); L_0289CF88: ; // 0x289cf88 /* 0289CF88 */ /* nop */ /* 0289CF8C */ _t110 = cpu->r[1] + 0x0000002Cu; /* 0289CF8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t110); /* 0289CF90 */ cpu->lr = cpu->r[0]; /* 0289CF94 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289CF98 */ return; } // fn_0289CF9C @ 0x289cf9c void Gambit_fn_0289CF9C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028976F0: ; // 0x28976f0 /* 028976F0 */ cpu->r[0] = cpu->lr; /* 028976F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028976F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028976F4 */ cpu->r[1] = _t0; /* 028976F8 */ _t1 = cpu->r[1] + 0x00000010u; /* 028976F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028976FC */ cpu->r[30] = cpu->r[5]; /* 02897700 */ _t2 = cpu->r[1] + 0x00000008u; /* 02897700 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02897704 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02897704 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02897708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 0289770C */ cpu->r[28] = cpu->r[3]; /* 02897710 */ _t4 = cpu->r[1] + 0x00000014u; /* 02897710 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02897714 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02897714 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02897718 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 02897718 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 0289771C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289771C */ _t8 = _t7 & 0x00000001u; /* 0289771C */ if (_t8) goto L_02897720; else goto L_0289775C; L_02897720: ; // 0x2897720 /* 02897720 */ cpu->r[31] = 0x10130000u; /* 02897724 */ cpu->r[31] = cpu->r[31] + 0x00007474u; /* 02897728 */ _t9 = cpu->r[28] + 0x0000001Cu; /* 02897728 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]); L_0289772C: ; // 0x289772c /* 0289772C */ _t10 = cpu->r[4] + 0x00000000u; /* 0289772C */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 02897730 */ cpu->r[10] = cpu->r[4] + 0x00000001u; /* 02897734 */ _t11 = cpu->r[28] + 0x0000003Au; /* 02897734 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]); /* 02897738 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000016u, 0x0000001Du); /* 0289773C */ _t12 = cpu->r[28] + 0x0000001Cu; /* 0289773C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]); /* 02897740 */ _t13 = cpu->r[11] + cpu->r[31]; /* 02897740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02897744 */ cpu->ctr = cpu->r[0]; /* 02897748 */ cpu->r[3] = cpu->r[28]; /* 0289774C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02897750 */ _t14 = cpu->r[28] + 0x0000001Cu; /* 02897750 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14); /* 02897754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02897758 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 02897758 */ _t16 = _t15 & 0x00000001u; /* 02897758 */ if (_t16) goto L_0289772C; else goto L_0289775C; L_0289775C: ; // 0x289775c /* 0289775C */ _t17 = cpu->r[28] + 0x0000001Cu; /* 0289775C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 02897760 */ _t18 = cpu->r[1] + 0x00000008u; /* 02897760 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02897764 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02897764 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02897768 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02897768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289776C */ _t21 = cpu->r[1] + 0x00000010u; /* 0289776C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02897770 */ cpu->lr = cpu->r[0]; /* 02897774 */ _t22 = cpu->r[1] + 0x00000014u; /* 02897774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02897778 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289777C */ return; L_0289CF9C: ; // 0x289cf9c /* 0289CF9C */ _t23 = cpu->r[3] + 0x00000018u; /* 0289CF9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0289CFA0 */ _t24 = cpu->r[3] + 0x00000024u; /* 0289CFA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24); /* 0289CFA4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu; /* 0289CFA8 */ _t25 = cpu->r[3] + 0x00000018u; /* 0289CFA8 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]); /* 0289CFAC */ _t26 = cpu->r[8] + 0x00000000u; /* 0289CFAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t26); /* 0289CFB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289CFB4 */ _t27 = cpu->r[9] + 0x00000098u; /* 0289CFB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27); /* 0289CFB8 */ cpu->r[11] = cpu->r[6] + cpu->r[0]; /* 0289CFBC */ _t28 = cpu->r[11] + 0x00000006u; /* 0289CFBC */ cpu->r[10] = rbrew_read16(cpu->mem, _t28); /* 0289CFC0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289CFC4 */ cpu->r[12] = cpu->r[9] + cpu->r[8]; /* 0289CFC8 */ _t29 = cpu->r[12] + 0x0000010Cu; /* 0289CFC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 0289CFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289CFD0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289CFD0 */ _t31 = _t30 & 0x00000001u; /* 0289CFD0 */ if (_t31) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0289CFD0 */ goto L_0289CFD4; L_0289CFD4: ; // 0x289cfd4 /* 0289CFD4 */ _t32 = cpu->r[11] + 0x00000000u; /* 0289CFD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0289CFD8 */ _t33 = cpu->r[11] + 0x00000004u; /* 0289CFD8 */ cpu->r[6] = rbrew_read16(cpu->mem, _t33); /* 0289CFDC */ cpu->r[4] = cpu->r[7] + cpu->r[0]; /* 0289CFE0 */ cpu->r[5] = cpu->r[4] + cpu->r[6]; /* 0289CFE4 */ goto L_028976F0; } // fn_0289CFE8 @ 0x289cfe8 void Gambit_fn_0289CFE8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_0289CFE8: ; // 0x289cfe8 /* 0289CFE8 */ cpu->r[0] = cpu->lr; /* 0289CFEC */ _t0 = cpu->r[1] + 0x00000004u; /* 0289CFEC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0289CFF0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0289CFF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0289CFF0 */ cpu->r[1] = _t1; /* 0289CFF4 */ _t2 = cpu->r[3] + 0x00000018u; /* 0289CFF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289CFF8 */ _t3 = cpu->r[3] + 0x00000024u; /* 0289CFF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 0289CFFC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 0289D000 */ _t4 = cpu->r[3] + 0x00000018u; /* 0289D000 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 0289D004 */ _t5 = cpu->r[11] + 0x00000101u; /* 0289D004 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5); /* 0289D008 */ _t6 = cpu->r[10] + 0x00000000u; /* 0289D008 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 0289D00C */ _t7 = cpu->r[11] + 0x00000098u; /* 0289D00C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0289D010 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D014 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000000Eu, 0x0000001Du); /* 0289D018 */ cpu->r[5] = cpu->r[12] + cpu->r[0]; /* 0289D01C */ cpu->r[8] = cpu->r[11] + cpu->r[7]; /* 0289D020 */ _t8 = cpu->r[5] + 0x00000006u; /* 0289D020 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[6]); /* 0289D024 */ _t9 = cpu->r[8] + 0x0000010Cu; /* 0289D024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0289D028 */ _t10 = cpu->r[3] + 0x0000001Cu; /* 0289D028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0289D02C */ cpu->r[9] = cpu->r[10] - cpu->r[0]; /* 0289D030 */ _t11 = cpu->r[5] + 0x00000000u; /* 0289D030 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 0289D034 */ _t12 = cpu->r[3] + 0x0000001Cu; /* 0289D034 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 0289D038 */ cpu->r[11] = cpu->r[6] + 0x00000001u; /* 0289D03C */ _t13 = cpu->r[3] + 0x0000001Cu; /* 0289D03C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]); /* 0289D040 */ _t14 = cpu->r[6] + 0x00000000u; /* 0289D040 */ cpu->r[12] = rbrew_read8(cpu->mem, _t14); /* 0289D044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Du); /* 0289D048 */ _t15 = cpu->r[3] + 0x0000003Au; /* 0289D048 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]); /* 0289D04C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D04C */ _t17 = _t16 & 0x00000001u; /* 0289D04C */ if (_t17) goto L_0289D070; else goto L_0289D050; L_0289D050: ; // 0x289d050 /* 0289D050 */ Gambit_fn_0289C620(cpu); /* 0289D054 */ _t18 = cpu->r[3] + 0x0000001Cu; /* 0289D054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0289D058 */ cpu->r[0] = cpu->r[9] + 0x00000001u; /* 0289D05C */ _t19 = cpu->r[3] + 0x0000001Cu; /* 0289D05C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 0289D060 */ _t20 = cpu->r[9] + 0x00000000u; /* 0289D060 */ cpu->r[10] = rbrew_read8(cpu->mem, _t20); /* 0289D064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000002Du); /* 0289D068 */ _t21 = cpu->r[3] + 0x0000003Au; /* 0289D068 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[10]); /* 0289D06C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D06C */ _t23 = _t22 & 0x00000001u; /* 0289D06C */ if (_t23) goto L_0289D070; else goto L_0289D050; L_0289D070: ; // 0x289d070 /* 0289D070 */ _t24 = cpu->r[3] + 0x0000001Cu; /* 0289D070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0289D074 */ cpu->r[12] = cpu->r[0] - cpu->r[6]; /* 0289D078 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu; /* 0289D07C */ _t25 = cpu->r[5] + 0x00000004u; /* 0289D07C */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[8]); /* 0289D080 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 0289D080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0289D084 */ cpu->lr = cpu->r[0]; /* 0289D088 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289D08C */ return; } // fn_0289CFF0 @ 0x289cff0 void Gambit_fn_0289CFF0(CPUState* cpu) { uint32_t _t0, _t1, _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_0289CFF0: ; // 0x289cff0 /* 0289CFF0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0289CFF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289CFF0 */ cpu->r[1] = _t0; /* 0289CFF4 */ _t1 = cpu->r[3] + 0x00000018u; /* 0289CFF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 0289CFF8 */ _t2 = cpu->r[3] + 0x00000024u; /* 0289CFF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289CFFC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 0289D000 */ _t3 = cpu->r[3] + 0x00000018u; /* 0289D000 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 0289D004 */ _t4 = cpu->r[11] + 0x00000101u; /* 0289D004 */ cpu->r[6] = rbrew_read8(cpu->mem, _t4); /* 0289D008 */ _t5 = cpu->r[10] + 0x00000000u; /* 0289D008 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0289D00C */ _t6 = cpu->r[11] + 0x00000098u; /* 0289D00C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0289D010 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D014 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000000Eu, 0x0000001Du); /* 0289D018 */ cpu->r[5] = cpu->r[12] + cpu->r[0]; /* 0289D01C */ cpu->r[8] = cpu->r[11] + cpu->r[7]; /* 0289D020 */ _t7 = cpu->r[5] + 0x00000006u; /* 0289D020 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[6]); /* 0289D024 */ _t8 = cpu->r[8] + 0x0000010Cu; /* 0289D024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0289D028 */ _t9 = cpu->r[3] + 0x0000001Cu; /* 0289D028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0289D02C */ cpu->r[9] = cpu->r[10] - cpu->r[0]; /* 0289D030 */ _t10 = cpu->r[5] + 0x00000000u; /* 0289D030 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 0289D034 */ _t11 = cpu->r[3] + 0x0000001Cu; /* 0289D034 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 0289D038 */ cpu->r[11] = cpu->r[6] + 0x00000001u; /* 0289D03C */ _t12 = cpu->r[3] + 0x0000001Cu; /* 0289D03C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 0289D040 */ _t13 = cpu->r[6] + 0x00000000u; /* 0289D040 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13); /* 0289D044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Du); /* 0289D048 */ _t14 = cpu->r[3] + 0x0000003Au; /* 0289D048 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]); /* 0289D04C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D04C */ _t16 = _t15 & 0x00000001u; /* 0289D04C */ if (_t16) goto L_0289D070; else goto L_0289D050; L_0289D050: ; // 0x289d050 /* 0289D050 */ Gambit_fn_0289C620(cpu); /* 0289D054 */ _t17 = cpu->r[3] + 0x0000001Cu; /* 0289D054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 0289D058 */ cpu->r[0] = cpu->r[9] + 0x00000001u; /* 0289D05C */ _t18 = cpu->r[3] + 0x0000001Cu; /* 0289D05C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]); /* 0289D060 */ _t19 = cpu->r[9] + 0x00000000u; /* 0289D060 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19); /* 0289D064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000002Du); /* 0289D068 */ _t20 = cpu->r[3] + 0x0000003Au; /* 0289D068 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[10]); /* 0289D06C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D06C */ _t22 = _t21 & 0x00000001u; /* 0289D06C */ if (_t22) goto L_0289D070; else goto L_0289D050; L_0289D070: ; // 0x289d070 /* 0289D070 */ _t23 = cpu->r[3] + 0x0000001Cu; /* 0289D070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0289D074 */ cpu->r[12] = cpu->r[0] - cpu->r[6]; /* 0289D078 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu; /* 0289D07C */ _t24 = cpu->r[5] + 0x00000004u; /* 0289D07C */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]); /* 0289D080 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0289D080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0289D084 */ cpu->lr = cpu->r[0]; /* 0289D088 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289D08C */ return; } // fn_0289D090 @ 0x289d090 void Gambit_fn_0289D090(CPUState* cpu) { uint32_t _t0, _t1, _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_0289D090: ; // 0x289d090 /* 0289D090 */ cpu->r[0] = cpu->lr; /* 0289D094 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289D094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D094 */ cpu->r[1] = _t0; /* 0289D098 */ _t1 = cpu->r[1] + 0x00000014u; /* 0289D098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289D09C */ cpu->r[31] = cpu->r[3]; /* 0289D0A0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289D0A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289D0A4 */ _t3 = cpu->r[1] + 0x00000008u; /* 0289D0A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0289D0A8 */ _t4 = cpu->r[1] + 0x00000010u; /* 0289D0A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0289D0AC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0289D0AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D0B0 */ _t6 = cpu->r[31] + 0x00000018u; /* 0289D0B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6); /* 0289D0B4 */ _t7 = cpu->r[31] + 0x00000024u; /* 0289D0B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0289D0B8 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFCu; /* 0289D0BC */ _t8 = cpu->r[31] + 0x00000018u; /* 0289D0BC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0289D0C0 */ _t9 = cpu->r[5] + 0x00000000u; /* 0289D0C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 0289D0C4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D0C8 */ _t10 = cpu->r[12] + 0x00000098u; /* 0289D0C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 0289D0CC */ cpu->r[7] = cpu->r[7] + cpu->r[6]; /* 0289D0D0 */ _t11 = cpu->r[7] + 0x00000006u; /* 0289D0D0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11); /* 0289D0D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D0D8 */ _t12 = cpu->r[7] + 0x00000000u; /* 0289D0D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0289D0DC */ cpu->r[10] = cpu->r[12] + cpu->r[8]; /* 0289D0E0 */ _t13 = cpu->r[7] + 0x00000004u; /* 0289D0E0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t13); /* 0289D0E4 */ _t14 = cpu->r[10] + 0x0000010Cu; /* 0289D0E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 0289D0E8 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFCu; /* 0289D0EC */ _t15 = cpu->r[31] + 0x00000018u; /* 0289D0EC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0289D0F0 */ _t16 = cpu->r[5] + 0xFFFFFFFCu; /* 0289D0F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0289D0F4 */ cpu->r[28] = cpu->r[9] + cpu->r[11]; /* 0289D0F8 */ cpu->r[11] = cpu->r[11] + cpu->r[12]; /* 0289D0FC */ cpu->r[0] = cpu->r[30] + 0xFFFFFFFFu; /* 0289D0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D100 */ cpu->r[29] = cpu->r[9] + cpu->r[11]; /* 0289D104 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D104 */ _t18 = _t17 & 0x00000001u; /* 0289D104 */ if (_t18) goto L_0289D120; else goto L_0289D108; L_0289D108: ; // 0x289d108 /* 0289D108 */ cpu->r[5] = cpu->r[29]; /* 0289D10C */ cpu->r[4] = cpu->r[28]; /* 0289D110 */ cpu->r[3] = cpu->r[31]; /* 0289D114 */ Gambit_fn_028976F0(cpu); /* 0289D118 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289D118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289D11C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D11C */ _t20 = _t19 & 0x00000001u; /* 0289D11C */ if (_t20) goto L_0289D120; else goto L_0289D108; L_0289D120: ; // 0x289d120 /* 0289D120 */ _t21 = cpu->r[1] + 0x00000008u; /* 0289D120 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 0289D124 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0289D124 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 0289D128 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0289D128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0289D12C */ _t24 = cpu->r[1] + 0x00000010u; /* 0289D12C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0289D130 */ cpu->lr = cpu->r[0]; /* 0289D134 */ _t25 = cpu->r[1] + 0x00000014u; /* 0289D134 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0289D138 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289D13C */ return; } // fn_0289D094 @ 0x289d094 void Gambit_fn_0289D094(CPUState* cpu) { uint32_t _t0, _t1, _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_0289D094: ; // 0x289d094 /* 0289D094 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289D094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D094 */ cpu->r[1] = _t0; /* 0289D098 */ _t1 = cpu->r[1] + 0x00000014u; /* 0289D098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0289D09C */ cpu->r[31] = cpu->r[3]; /* 0289D0A0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289D0A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289D0A4 */ _t3 = cpu->r[1] + 0x00000008u; /* 0289D0A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0289D0A8 */ _t4 = cpu->r[1] + 0x00000010u; /* 0289D0A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0289D0AC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0289D0AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D0B0 */ _t6 = cpu->r[31] + 0x00000018u; /* 0289D0B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6); /* 0289D0B4 */ _t7 = cpu->r[31] + 0x00000024u; /* 0289D0B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0289D0B8 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFCu; /* 0289D0BC */ _t8 = cpu->r[31] + 0x00000018u; /* 0289D0BC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0289D0C0 */ _t9 = cpu->r[5] + 0x00000000u; /* 0289D0C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 0289D0C4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D0C8 */ _t10 = cpu->r[12] + 0x00000098u; /* 0289D0C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 0289D0CC */ cpu->r[7] = cpu->r[7] + cpu->r[6]; /* 0289D0D0 */ _t11 = cpu->r[7] + 0x00000006u; /* 0289D0D0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11); /* 0289D0D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D0D8 */ _t12 = cpu->r[7] + 0x00000000u; /* 0289D0D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0289D0DC */ cpu->r[10] = cpu->r[12] + cpu->r[8]; /* 0289D0E0 */ _t13 = cpu->r[7] + 0x00000004u; /* 0289D0E0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t13); /* 0289D0E4 */ _t14 = cpu->r[10] + 0x0000010Cu; /* 0289D0E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 0289D0E8 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFCu; /* 0289D0EC */ _t15 = cpu->r[31] + 0x00000018u; /* 0289D0EC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0289D0F0 */ _t16 = cpu->r[5] + 0xFFFFFFFCu; /* 0289D0F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0289D0F4 */ cpu->r[28] = cpu->r[9] + cpu->r[11]; /* 0289D0F8 */ cpu->r[11] = cpu->r[11] + cpu->r[12]; /* 0289D0FC */ cpu->r[0] = cpu->r[30] + 0xFFFFFFFFu; /* 0289D0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D100 */ cpu->r[29] = cpu->r[9] + cpu->r[11]; /* 0289D104 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D104 */ _t18 = _t17 & 0x00000001u; /* 0289D104 */ if (_t18) goto L_0289D120; else goto L_0289D108; L_0289D108: ; // 0x289d108 /* 0289D108 */ cpu->r[5] = cpu->r[29]; /* 0289D10C */ cpu->r[4] = cpu->r[28]; /* 0289D110 */ cpu->r[3] = cpu->r[31]; /* 0289D114 */ Gambit_fn_028976F0(cpu); /* 0289D118 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289D118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289D11C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D11C */ _t20 = _t19 & 0x00000001u; /* 0289D11C */ if (_t20) goto L_0289D120; else goto L_0289D108; L_0289D120: ; // 0x289d120 /* 0289D120 */ _t21 = cpu->r[1] + 0x00000008u; /* 0289D120 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 0289D124 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0289D124 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 0289D128 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0289D128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0289D12C */ _t24 = cpu->r[1] + 0x00000010u; /* 0289D12C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0289D130 */ cpu->lr = cpu->r[0]; /* 0289D134 */ _t25 = cpu->r[1] + 0x00000014u; /* 0289D134 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0289D138 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289D13C */ return; } // fn_0289D140 @ 0x289d140 void Gambit_fn_0289D140(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0289D140: ; // 0x289d140 /* 0289D140 */ _t0 = cpu->r[3] + 0x00000024u; /* 0289D140 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 0289D144 */ _t1 = cpu->r[10] + 0x00000104u; /* 0289D144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0289D148 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 0289D148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D14C */ _t2 = cpu->r[10] + 0x0000009Cu; /* 0289D14C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 0289D150 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D150 */ _t4 = _t3 & 0x00000001u; /* 0289D150 */ if (_t4) goto L_0289D16C; else goto L_0289D154; L_0289D154: ; // 0x289d154 /* 0289D154 */ cpu->ctr = cpu->r[12]; L_0289D158: ; // 0x289d158 /* 0289D158 */ _t5 = cpu->r[3] + 0x00000007u; /* 0289D158 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); /* 0289D15C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]); /* 0289D160 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D160 */ _t7 = _t6 & 0x00000001u; /* 0289D160 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0289D160 */ goto L_0289D164; L_0289D164: ; // 0x289d164 /* 0289D164 */ cpu->r[3] = cpu->r[3] + 0x00000008u; /* 0289D168 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289D168 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289D168 */ _t9 = _t8 >> (0x00000002u & 31u); /* 0289D168 */ _t10 = _t9 & 0x00000001u; /* 0289D168 */ if (_t10) goto L_0289D158; else goto L_0289D16C; L_0289D16C: ; // 0x289d16c /* 0289D16C */ cpu->r[3] = 0x00000000u; /* 0289D170 */ return; } // fn_0289D174 @ 0x289d174 void Gambit_fn_0289D174(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0289D174: ; // 0x289d174 /* 0289D174 */ cpu->r[0] = cpu->lr; /* 0289D178 */ _t0 = cpu->r[1] + 0x00000004u; /* 0289D178 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0289D17C */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0289D17C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0289D17C */ cpu->r[1] = _t1; /* 0289D180 */ _t2 = cpu->r[3] + 0x0000003Au; /* 0289D180 */ cpu->r[4] = rbrew_read8(cpu->mem, _t2); /* 0289D184 */ cpu->r[11] = cpu->r[3]; /* 0289D188 */ Gambit_fn_0289D140(cpu); /* 0289D18C */ cpu->r[10] = cpu->r[3]; /* 0289D18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289D190 */ cpu->r[3] = cpu->r[11]; /* 0289D194 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D194 */ _t4 = _t3 & 0x00000001u; /* 0289D194 */ if (_t4) goto L_0289D198; else goto L_0289D1AC; L_0289D198: ; // 0x289d198 /* 0289D198 */ Gambit_fn_02896E68(cpu); /* 0289D19C */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0289D19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0289D1A0 */ cpu->lr = cpu->r[0]; /* 0289D1A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289D1A8 */ return; L_0289D1AC: ; // 0x289d1ac /* 0289D1AC */ _t6 = cpu->r[10] + 0x00000006u; /* 0289D1AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0289D1B0 */ _t7 = cpu->r[11] + 0x00000024u; /* 0289D1B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0289D1B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D1B8 */ _t8 = cpu->r[10] + 0x00000000u; /* 0289D1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 0289D1BC */ cpu->r[7] = cpu->r[8] + cpu->r[12]; /* 0289D1C0 */ _t9 = cpu->r[7] + 0x0000010Cu; /* 0289D1C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9); /* 0289D1C4 */ _t10 = cpu->r[10] + 0x00000004u; /* 0289D1C4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10); /* 0289D1C8 */ cpu->r[4] = cpu->r[6] + cpu->r[9]; /* 0289D1CC */ cpu->r[5] = cpu->r[4] + cpu->r[0]; /* 0289D1D0 */ Gambit_fn_028976F0(cpu); /* 0289D1D4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0289D1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0289D1D8 */ cpu->lr = cpu->r[0]; /* 0289D1DC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289D1E0 */ return; } // fn_0289D17C @ 0x289d17c void Gambit_fn_0289D17C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0289D17C: ; // 0x289d17c /* 0289D17C */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0289D17C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D17C */ cpu->r[1] = _t0; /* 0289D180 */ _t1 = cpu->r[3] + 0x0000003Au; /* 0289D180 */ cpu->r[4] = rbrew_read8(cpu->mem, _t1); /* 0289D184 */ cpu->r[11] = cpu->r[3]; /* 0289D188 */ Gambit_fn_0289D140(cpu); /* 0289D18C */ cpu->r[10] = cpu->r[3]; /* 0289D18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289D190 */ cpu->r[3] = cpu->r[11]; /* 0289D194 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D194 */ _t3 = _t2 & 0x00000001u; /* 0289D194 */ if (_t3) goto L_0289D198; else goto L_0289D1AC; L_0289D198: ; // 0x289d198 /* 0289D198 */ Gambit_fn_02896E68(cpu); /* 0289D19C */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0289D19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0289D1A0 */ cpu->lr = cpu->r[0]; /* 0289D1A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289D1A8 */ return; L_0289D1AC: ; // 0x289d1ac /* 0289D1AC */ _t5 = cpu->r[10] + 0x00000006u; /* 0289D1AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); /* 0289D1B0 */ _t6 = cpu->r[11] + 0x00000024u; /* 0289D1B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0289D1B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D1B8 */ _t7 = cpu->r[10] + 0x00000000u; /* 0289D1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 0289D1BC */ cpu->r[7] = cpu->r[8] + cpu->r[12]; /* 0289D1C0 */ _t8 = cpu->r[7] + 0x0000010Cu; /* 0289D1C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8); /* 0289D1C4 */ _t9 = cpu->r[10] + 0x00000004u; /* 0289D1C4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t9); /* 0289D1C8 */ cpu->r[4] = cpu->r[6] + cpu->r[9]; /* 0289D1CC */ cpu->r[5] = cpu->r[4] + cpu->r[0]; /* 0289D1D0 */ Gambit_fn_028976F0(cpu); /* 0289D1D4 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0289D1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0289D1D8 */ cpu->lr = cpu->r[0]; /* 0289D1DC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0289D1E0 */ return; } // fn_0289D1E4 @ 0x289d1e4 void Gambit_fn_0289D1E4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D1E4: ; // 0x289d1e4 /* 0289D1E4 */ cpu->r[0] = cpu->lr; /* 0289D1E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289D1E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D1E8 */ cpu->r[1] = _t0; /* 0289D1EC */ _t1 = cpu->r[1] + 0x00000010u; /* 0289D1EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289D1F0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289D1F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289D1F4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289D1F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0289D1F8 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0289D1F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289D1FC */ _t5 = cpu->r[3] + 0x00000018u; /* 0289D1FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0289D200 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289D204 */ _t6 = cpu->r[3] + 0x00000018u; /* 0289D204 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 0289D208 */ _t7 = cpu->r[11] + 0x00000003u; /* 0289D208 */ cpu->r[29] = rbrew_read8(cpu->mem, _t7); /* 0289D20C */ cpu->r[31] = cpu->r[3]; /* 0289D210 */ cpu->r[4] = cpu->r[29]; /* 0289D214 */ Gambit_fn_0289D140(cpu); /* 0289D218 */ _t8 = cpu->r[31] + 0x00000024u; /* 0289D218 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 0289D21C */ _t9 = cpu->r[9] + 0x00000101u; /* 0289D21C */ cpu->r[11] = rbrew_read8(cpu->mem, _t9); /* 0289D220 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D224 */ _t10 = cpu->r[31] + 0x0000001Cu; /* 0289D224 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0289D228 */ cpu->r[12] = cpu->r[9] + cpu->r[0]; /* 0289D22C */ cpu->r[30] = cpu->r[3]; /* 0289D22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289D230 */ _t11 = cpu->r[12] + 0x0000010Cu; /* 0289D230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0289D234 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D234 */ _t13 = _t12 & 0x00000001u; /* 0289D234 */ if (_t13) goto L_0289D238; else goto L_0289D250; L_0289D238: ; // 0x289d238 /* 0289D238 */ _t14 = cpu->r[9] + 0x00000104u; /* 0289D238 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14); /* 0289D23C */ _t15 = cpu->r[9] + 0x0000009Cu; /* 0289D23C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 0289D240 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D244 */ cpu->r[5] = cpu->r[6] + 0x00000001u; /* 0289D248 */ cpu->r[30] = cpu->r[8] + cpu->r[7]; /* 0289D24C */ _t16 = cpu->r[9] + 0x00000104u; /* 0289D24C */ rbrew_write32(cpu->mem, _t16, cpu->r[5]); L_0289D250: ; // 0x289d250 /* 0289D250 */ _t17 = cpu->r[30] + 0x00000006u; /* 0289D250 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[11]); /* 0289D254 */ _t18 = cpu->r[30] + 0x00000007u; /* 0289D254 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]); /* 0289D258 */ _t19 = cpu->r[31] + 0x0000001Cu; /* 0289D258 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 0289D25C */ cpu->r[9] = cpu->r[10] - cpu->r[0]; /* 0289D260 */ _t20 = cpu->r[30] + 0x00000000u; /* 0289D260 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); /* 0289D264 */ _t21 = cpu->r[31] + 0x0000001Cu; /* 0289D264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 0289D268 */ cpu->r[11] = cpu->r[12] + 0x00000001u; /* 0289D26C */ _t22 = cpu->r[31] + 0x0000001Cu; /* 0289D26C */ rbrew_write32(cpu->mem, _t22, cpu->r[11]); /* 0289D270 */ _t23 = cpu->r[12] + 0x00000000u; /* 0289D270 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23); /* 0289D274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000002Du); /* 0289D278 */ _t24 = cpu->r[31] + 0x0000003Au; /* 0289D278 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]); /* 0289D27C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D27C */ _t26 = _t25 & 0x00000001u; /* 0289D27C */ if (_t26) goto L_0289D2A4; else goto L_0289D280; L_0289D280: ; // 0x289d280 /* 0289D280 */ cpu->r[3] = cpu->r[31]; /* 0289D284 */ Gambit_fn_0289C620(cpu); /* 0289D288 */ _t27 = cpu->r[31] + 0x0000001Cu; /* 0289D288 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27); /* 0289D28C */ cpu->r[0] = cpu->r[11] + 0x00000001u; /* 0289D290 */ _t28 = cpu->r[31] + 0x0000001Cu; /* 0289D290 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 0289D294 */ _t29 = cpu->r[11] + 0x00000000u; /* 0289D294 */ cpu->r[5] = rbrew_read8(cpu->mem, _t29); /* 0289D298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000002Du); /* 0289D29C */ _t30 = cpu->r[31] + 0x0000003Au; /* 0289D29C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[5]); /* 0289D2A0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D2A0 */ _t32 = _t31 & 0x00000001u; /* 0289D2A0 */ if (_t32) goto L_0289D2A4; else goto L_0289D280; L_0289D2A4: ; // 0x289d2a4 /* 0289D2A4 */ _t33 = cpu->r[31] + 0x0000001Cu; /* 0289D2A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 0289D2A8 */ cpu->r[6] = cpu->r[7] - cpu->r[4]; /* 0289D2AC */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFFu; /* 0289D2B0 */ _t34 = cpu->r[30] + 0x00000004u; /* 0289D2B0 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[0]); /* 0289D2B4 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 0289D2B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35); /* 0289D2B8 */ _t36 = cpu->r[1] + 0x0000001Cu; /* 0289D2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 0289D2BC */ _t37 = cpu->r[1] + 0x00000010u; /* 0289D2BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 0289D2C0 */ cpu->lr = cpu->r[0]; /* 0289D2C4 */ _t38 = cpu->r[1] + 0x00000014u; /* 0289D2C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 0289D2C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289D2CC */ return; } // fn_0289D1E8 @ 0x289d1e8 void Gambit_fn_0289D1E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D1E8: ; // 0x289d1e8 /* 0289D1E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0289D1E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D1E8 */ cpu->r[1] = _t0; /* 0289D1EC */ _t1 = cpu->r[1] + 0x00000010u; /* 0289D1EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289D1F0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0289D1F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289D1F4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0289D1F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0289D1F8 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0289D1F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289D1FC */ _t5 = cpu->r[3] + 0x00000018u; /* 0289D1FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0289D200 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289D204 */ _t6 = cpu->r[3] + 0x00000018u; /* 0289D204 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 0289D208 */ _t7 = cpu->r[11] + 0x00000003u; /* 0289D208 */ cpu->r[29] = rbrew_read8(cpu->mem, _t7); /* 0289D20C */ cpu->r[31] = cpu->r[3]; /* 0289D210 */ cpu->r[4] = cpu->r[29]; /* 0289D214 */ Gambit_fn_0289D140(cpu); /* 0289D218 */ _t8 = cpu->r[31] + 0x00000024u; /* 0289D218 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 0289D21C */ _t9 = cpu->r[9] + 0x00000101u; /* 0289D21C */ cpu->r[11] = rbrew_read8(cpu->mem, _t9); /* 0289D220 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D224 */ _t10 = cpu->r[31] + 0x0000001Cu; /* 0289D224 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0289D228 */ cpu->r[12] = cpu->r[9] + cpu->r[0]; /* 0289D22C */ cpu->r[30] = cpu->r[3]; /* 0289D22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289D230 */ _t11 = cpu->r[12] + 0x0000010Cu; /* 0289D230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0289D234 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D234 */ _t13 = _t12 & 0x00000001u; /* 0289D234 */ if (_t13) goto L_0289D238; else goto L_0289D250; L_0289D238: ; // 0x289d238 /* 0289D238 */ _t14 = cpu->r[9] + 0x00000104u; /* 0289D238 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14); /* 0289D23C */ _t15 = cpu->r[9] + 0x0000009Cu; /* 0289D23C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 0289D240 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D244 */ cpu->r[5] = cpu->r[6] + 0x00000001u; /* 0289D248 */ cpu->r[30] = cpu->r[8] + cpu->r[7]; /* 0289D24C */ _t16 = cpu->r[9] + 0x00000104u; /* 0289D24C */ rbrew_write32(cpu->mem, _t16, cpu->r[5]); L_0289D250: ; // 0x289d250 /* 0289D250 */ _t17 = cpu->r[30] + 0x00000006u; /* 0289D250 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[11]); /* 0289D254 */ _t18 = cpu->r[30] + 0x00000007u; /* 0289D254 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]); /* 0289D258 */ _t19 = cpu->r[31] + 0x0000001Cu; /* 0289D258 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 0289D25C */ cpu->r[9] = cpu->r[10] - cpu->r[0]; /* 0289D260 */ _t20 = cpu->r[30] + 0x00000000u; /* 0289D260 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); /* 0289D264 */ _t21 = cpu->r[31] + 0x0000001Cu; /* 0289D264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 0289D268 */ cpu->r[11] = cpu->r[12] + 0x00000001u; /* 0289D26C */ _t22 = cpu->r[31] + 0x0000001Cu; /* 0289D26C */ rbrew_write32(cpu->mem, _t22, cpu->r[11]); /* 0289D270 */ _t23 = cpu->r[12] + 0x00000000u; /* 0289D270 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23); /* 0289D274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000002Du); /* 0289D278 */ _t24 = cpu->r[31] + 0x0000003Au; /* 0289D278 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]); /* 0289D27C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D27C */ _t26 = _t25 & 0x00000001u; /* 0289D27C */ if (_t26) goto L_0289D2A4; else goto L_0289D280; L_0289D280: ; // 0x289d280 /* 0289D280 */ cpu->r[3] = cpu->r[31]; /* 0289D284 */ Gambit_fn_0289C620(cpu); /* 0289D288 */ _t27 = cpu->r[31] + 0x0000001Cu; /* 0289D288 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27); /* 0289D28C */ cpu->r[0] = cpu->r[11] + 0x00000001u; /* 0289D290 */ _t28 = cpu->r[31] + 0x0000001Cu; /* 0289D290 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 0289D294 */ _t29 = cpu->r[11] + 0x00000000u; /* 0289D294 */ cpu->r[5] = rbrew_read8(cpu->mem, _t29); /* 0289D298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000002Du); /* 0289D29C */ _t30 = cpu->r[31] + 0x0000003Au; /* 0289D29C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[5]); /* 0289D2A0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D2A0 */ _t32 = _t31 & 0x00000001u; /* 0289D2A0 */ if (_t32) goto L_0289D2A4; else goto L_0289D280; L_0289D2A4: ; // 0x289d2a4 /* 0289D2A4 */ _t33 = cpu->r[31] + 0x0000001Cu; /* 0289D2A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 0289D2A8 */ cpu->r[6] = cpu->r[7] - cpu->r[4]; /* 0289D2AC */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFFu; /* 0289D2B0 */ _t34 = cpu->r[30] + 0x00000004u; /* 0289D2B0 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[0]); /* 0289D2B4 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 0289D2B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35); /* 0289D2B8 */ _t36 = cpu->r[1] + 0x0000001Cu; /* 0289D2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 0289D2BC */ _t37 = cpu->r[1] + 0x00000010u; /* 0289D2BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 0289D2C0 */ cpu->lr = cpu->r[0]; /* 0289D2C4 */ _t38 = cpu->r[1] + 0x00000014u; /* 0289D2C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 0289D2C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0289D2CC */ return; } // fn_0289D2D0 @ 0x289d2d0 void Gambit_fn_0289D2D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0289D2D0: ; // 0x289d2d0 /* 0289D2D0 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289D2D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0289D2D4 */ _t1 = cpu->r[3] + 0x00000010u; /* 0289D2D4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 0289D2D8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289D2DC */ _t2 = cpu->r[3] + 0x00000000u; /* 0289D2DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289D2E0 */ _t3 = cpu->r[3] + 0x00000018u; /* 0289D2E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 0289D2E4 */ _t4 = cpu->r[11] + 0x00000000u; /* 0289D2E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0289D2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D2EC */ _t5 = cpu->r[12] + 0x00000024u; /* 0289D2EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 0289D2F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D2F0 */ _t7 = _t6 & 0x00000001u; /* 0289D2F0 */ if (_t7) goto L_0289D300; else goto L_0289D2F4; L_0289D2F4: ; // 0x289d2f4 /* 0289D2F4 */ _t8 = cpu->r[7] + cpu->r[11]; /* 0289D2F4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t8); /* 0289D2F8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Eu); /* 0289D2FC */ _t9 = cpu->r[7] + cpu->r[11]; /* 0289D2FC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[8]); L_0289D300: ; // 0x289d300 /* 0289D300 */ _t10 = cpu->r[3] + 0x00000012u; /* 0289D300 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 0289D304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0289D308 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D308 */ _t12 = _t11 & 0x00000001u; /* 0289D308 */ if (_t12) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0289D308 */ goto L_0289D30C; L_0289D30C: ; // 0x289d30c /* 0289D30C */ _t13 = cpu->r[7] + cpu->r[11]; /* 0289D30C */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 0289D310 */ cpu->r[0] = cpu->r[0] & 0x000000FDu; /* 0289D310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D314 */ _t14 = cpu->r[7] + cpu->r[11]; /* 0289D314 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]); /* 0289D318 */ return; } // fn_0289D31C @ 0x289d31c void Gambit_fn_0289D31C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0289D31C: ; // 0x289d31c /* 0289D31C */ _t0 = cpu->r[3] + 0x00000018u; /* 0289D31C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289D320 */ _t1 = cpu->r[3] + 0x00000024u; /* 0289D320 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289D324 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D328 */ _t2 = cpu->r[3] + 0x00000018u; /* 0289D328 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 0289D32C */ _t3 = cpu->r[12] + 0x00000000u; /* 0289D32C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0289D330 */ _t4 = cpu->r[11] + 0x0000008Au; /* 0289D330 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]); /* 0289D334 */ return; } // fn_0289D338 @ 0x289d338 void Gambit_fn_0289D338(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0289D338: ; // 0x289d338 /* 0289D338 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289D338 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289D33C */ _t1 = cpu->r[3] + 0x00000024u; /* 0289D33C */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289D340 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D344 */ _t2 = cpu->r[3] + 0x00000018u; /* 0289D344 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 0289D348 */ _t3 = cpu->r[12] + 0x00000000u; /* 0289D348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0289D34C */ _t4 = cpu->r[11] + 0x0000008Cu; /* 0289D34C */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]); /* 0289D350 */ return; } // fn_0289D354 @ 0x289d354 void Gambit_fn_0289D354(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D354: ; // 0x289d354 /* 0289D354 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D354 */ cpu->r[1] = _t0; /* 0289D358 */ /* nop */ /* 0289D35C */ cpu->r[0] = cpu->lr; /* 0289D360 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D364 */ cpu->r[29] = cpu->r[3]; /* 0289D368 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289D36C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D370 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D370 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289D374 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289D374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0289D378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D37C */ _t5 = cpu->r[29] + 0x00000024u; /* 0289D37C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289D380 */ cpu->r[0] = cpu->r[12] - cpu->r[0]; /* 0289D384 */ cpu->r[30] = cpu->r[4]; /* 0289D388 */ _t6 = cpu->r[29] + 0x00000018u; /* 0289D388 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0289D38C */ _t7 = cpu->r[10] + 0x000000F4u; /* 0289D38C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0289D390 */ cpu->r[27] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D394 */ cpu->r[31] = cpu->r[5]; /* 0289D398 */ cpu->r[26] = cpu->r[6]; /* 0289D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D3A0 */ _t8 = cpu->r[10] + 0x00000012u; /* 0289D3A0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 0289D3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D3A4 */ _t10 = _t9 & 0x00000001u; /* 0289D3A4 */ if (_t10) goto L_0289D3A8; else goto L_0289D3C4; L_0289D3A8: ; // 0x289d3a8 /* 0289D3A8 */ cpu->r[3] = cpu->r[29]; /* 0289D3AC */ Gambit_fn_028974D0(cpu); /* 0289D3B0 */ cpu->r[4] = cpu->r[3]; /* 0289D3B4 */ cpu->r[3] = cpu->r[28]; /* 0289D3B8 */ cpu->r[5] = 0x00000010u; /* 0289D3BC */ Gambit_fn_0287B904(cpu); /* 0289D3C0 */ cpu->r[28] = cpu->r[3]; L_0289D3C4: ; // 0x289d3c4 /* 0289D3C4 */ cpu->r[25] = cpu->r[28] - cpu->r[31]; /* 0289D3C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000010u); /* 0289D3CC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D3CC */ _t12 = _t11 & 0x00000001u; /* 0289D3CC */ if (_t12) goto L_0289D3D0; else goto L_0289D49C; L_0289D3D0: ; // 0x289d3d0 /* 0289D3D0 */ /* nop */ /* 0289D3D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D3D8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D3E0 */ cpu->r[28] = 0x00000000u; /* 0289D3E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D3E4 */ _t14 = _t13 & 0x00000001u; /* 0289D3E4 */ if (_t14) goto L_0289D3E8; else goto L_0289D418; L_0289D3E8: ; // 0x289d3e8 /* 0289D3E8 */ _t15 = cpu->r[29] + 0x00000018u; /* 0289D3E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); L_0289D3EC: ; // 0x289d3ec /* 0289D3EC */ cpu->r[0] = cpu->r[28] + cpu->r[8]; /* 0289D3F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D3F4 */ _t16 = cpu->r[11] + cpu->r[7]; /* 0289D3F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0289D3F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[25]); /* 0289D400 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D400 */ _t18 = _t17 & 0x00000001u; /* 0289D400 */ if (_t18) goto L_0289D404; else goto L_0289D408; L_0289D404: ; // 0x289d404 /* 0289D404 */ cpu->r[28] = cpu->r[0]; L_0289D408: ; // 0x289d408 /* 0289D408 */ /* nop */ /* 0289D40C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D414 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D414 */ _t20 = _t19 & 0x00000001u; /* 0289D414 */ if (_t20) goto L_0289D3EC; else goto L_0289D418; L_0289D418: ; // 0x289d418 /* 0289D418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D41C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D41C */ _t22 = _t21 & 0x00000001u; /* 0289D41C */ if (_t22) goto L_0289D420; else goto L_0289D49C; L_0289D420: ; // 0x289d420 /* 0289D420 */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D424: ; // 0x289d424 /* 0289D424 */ _t23 = cpu->r[29] + 0x00000018u; /* 0289D424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0289D428 */ _t24 = cpu->r[8] + cpu->r[31]; /* 0289D428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 0289D42C */ cpu->r[9] = cpu->r[8] + cpu->r[31]; /* 0289D430 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]); /* 0289D438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D438 */ _t26 = _t25 & 0x00000001u; /* 0289D438 */ if (_t26) goto L_0289D43C; else goto L_0289D484; L_0289D43C: ; // 0x289d43c /* 0289D43C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000008u); /* 0289D444 */ cpu->r[0] = 0x00000008u; /* 0289D448 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D448 */ _t28 = _t27 & 0x00000001u; /* 0289D448 */ if (_t28) goto L_0289D450; else goto L_0289D44C; L_0289D44C: ; // 0x289d44c /* 0289D44C */ cpu->r[0] = 0x00000007u; L_0289D450: ; // 0x289d450 /* 0289D450 */ cpu->ctr = cpu->r[30]; /* 0289D454 */ cpu->r[8] = cpu->r[8] - cpu->r[0]; /* 0289D458 */ _t29 = cpu->r[29] + 0x00000000u; /* 0289D458 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0289D45C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D460 */ _t30 = cpu->r[9] + 0x00000004u; /* 0289D460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0289D464 */ cpu->r[3] = cpu->r[29]; /* 0289D468 */ /* nop */ /* 0289D46C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D470 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D478 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D47C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D47C */ _t32 = _t31 & 0x00000001u; /* 0289D47C */ if (_t32) goto L_0289D424; else goto L_0289D480; L_0289D480: ; // 0x289d480 /* 0289D480 */ goto L_0289D49C; L_0289D484: ; // 0x289d484 /* 0289D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[25]); /* 0289D488 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D488 */ _t34 = _t33 & 0x00000001u; /* 0289D488 */ if (_t34) goto L_0289D49C; else goto L_0289D48C; L_0289D48C: ; // 0x289d48c /* 0289D48C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D494 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D498 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D498 */ _t36 = _t35 & 0x00000001u; /* 0289D498 */ if (_t36) goto L_0289D424; else goto L_0289D49C; L_0289D49C: ; // 0x289d49c /* 0289D49C */ /* nop */ /* 0289D4A0 */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0289D4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0289D4A4 */ cpu->lr = cpu->r[0]; /* 0289D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D4AC */ return; } // fn_0289D4B0 @ 0x289d4b0 void Gambit_fn_0289D4B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D354: ; // 0x289d354 /* 0289D354 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D354 */ cpu->r[1] = _t0; /* 0289D358 */ /* nop */ /* 0289D35C */ cpu->r[0] = cpu->lr; /* 0289D360 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D364 */ cpu->r[29] = cpu->r[3]; /* 0289D368 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289D36C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D370 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D370 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289D374 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289D374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0289D378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D37C */ _t5 = cpu->r[29] + 0x00000024u; /* 0289D37C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289D380 */ cpu->r[0] = cpu->r[12] - cpu->r[0]; /* 0289D384 */ cpu->r[30] = cpu->r[4]; /* 0289D388 */ _t6 = cpu->r[29] + 0x00000018u; /* 0289D388 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0289D38C */ _t7 = cpu->r[10] + 0x000000F4u; /* 0289D38C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0289D390 */ cpu->r[27] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D394 */ cpu->r[31] = cpu->r[5]; /* 0289D398 */ cpu->r[26] = cpu->r[6]; /* 0289D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D3A0 */ _t8 = cpu->r[10] + 0x00000012u; /* 0289D3A0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 0289D3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D3A4 */ _t10 = _t9 & 0x00000001u; /* 0289D3A4 */ if (_t10) goto L_0289D3A8; else goto L_0289D3C4; L_0289D3A8: ; // 0x289d3a8 /* 0289D3A8 */ cpu->r[3] = cpu->r[29]; /* 0289D3AC */ Gambit_fn_028974D0(cpu); /* 0289D3B0 */ cpu->r[4] = cpu->r[3]; /* 0289D3B4 */ cpu->r[3] = cpu->r[28]; /* 0289D3B8 */ cpu->r[5] = 0x00000010u; /* 0289D3BC */ Gambit_fn_0287B904(cpu); /* 0289D3C0 */ cpu->r[28] = cpu->r[3]; L_0289D3C4: ; // 0x289d3c4 /* 0289D3C4 */ cpu->r[25] = cpu->r[28] - cpu->r[31]; /* 0289D3C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000010u); /* 0289D3CC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D3CC */ _t12 = _t11 & 0x00000001u; /* 0289D3CC */ if (_t12) goto L_0289D3D0; else goto L_0289D49C; L_0289D3D0: ; // 0x289d3d0 /* 0289D3D0 */ /* nop */ /* 0289D3D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D3D8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D3E0 */ cpu->r[28] = 0x00000000u; /* 0289D3E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D3E4 */ _t14 = _t13 & 0x00000001u; /* 0289D3E4 */ if (_t14) goto L_0289D3E8; else goto L_0289D418; L_0289D3E8: ; // 0x289d3e8 /* 0289D3E8 */ _t15 = cpu->r[29] + 0x00000018u; /* 0289D3E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); L_0289D3EC: ; // 0x289d3ec /* 0289D3EC */ cpu->r[0] = cpu->r[28] + cpu->r[8]; /* 0289D3F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D3F4 */ _t16 = cpu->r[11] + cpu->r[7]; /* 0289D3F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0289D3F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[25]); /* 0289D400 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D400 */ _t18 = _t17 & 0x00000001u; /* 0289D400 */ if (_t18) goto L_0289D404; else goto L_0289D408; L_0289D404: ; // 0x289d404 /* 0289D404 */ cpu->r[28] = cpu->r[0]; L_0289D408: ; // 0x289d408 /* 0289D408 */ /* nop */ /* 0289D40C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D414 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D414 */ _t20 = _t19 & 0x00000001u; /* 0289D414 */ if (_t20) goto L_0289D3EC; else goto L_0289D418; L_0289D418: ; // 0x289d418 /* 0289D418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D41C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D41C */ _t22 = _t21 & 0x00000001u; /* 0289D41C */ if (_t22) goto L_0289D420; else goto L_0289D49C; L_0289D420: ; // 0x289d420 /* 0289D420 */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D424: ; // 0x289d424 /* 0289D424 */ _t23 = cpu->r[29] + 0x00000018u; /* 0289D424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0289D428 */ _t24 = cpu->r[8] + cpu->r[31]; /* 0289D428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 0289D42C */ cpu->r[9] = cpu->r[8] + cpu->r[31]; /* 0289D430 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]); /* 0289D438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D438 */ _t26 = _t25 & 0x00000001u; /* 0289D438 */ if (_t26) goto L_0289D43C; else goto L_0289D484; L_0289D43C: ; // 0x289d43c /* 0289D43C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000008u); /* 0289D444 */ cpu->r[0] = 0x00000008u; /* 0289D448 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D448 */ _t28 = _t27 & 0x00000001u; /* 0289D448 */ if (_t28) goto L_0289D450; else goto L_0289D44C; L_0289D44C: ; // 0x289d44c /* 0289D44C */ cpu->r[0] = 0x00000007u; L_0289D450: ; // 0x289d450 /* 0289D450 */ cpu->ctr = cpu->r[30]; /* 0289D454 */ cpu->r[8] = cpu->r[8] - cpu->r[0]; /* 0289D458 */ _t29 = cpu->r[29] + 0x00000000u; /* 0289D458 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0289D45C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D460 */ _t30 = cpu->r[9] + 0x00000004u; /* 0289D460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0289D464 */ cpu->r[3] = cpu->r[29]; /* 0289D468 */ /* nop */ /* 0289D46C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D470 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D478 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D47C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D47C */ _t32 = _t31 & 0x00000001u; /* 0289D47C */ if (_t32) goto L_0289D424; else goto L_0289D480; L_0289D480: ; // 0x289d480 /* 0289D480 */ goto L_0289D49C; L_0289D484: ; // 0x289d484 /* 0289D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[25]); /* 0289D488 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D488 */ _t34 = _t33 & 0x00000001u; /* 0289D488 */ if (_t34) goto L_0289D49C; else goto L_0289D48C; L_0289D48C: ; // 0x289d48c /* 0289D48C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D494 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D498 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D498 */ _t36 = _t35 & 0x00000001u; /* 0289D498 */ if (_t36) goto L_0289D424; else goto L_0289D49C; L_0289D49C: ; // 0x289d49c /* 0289D49C */ /* nop */ /* 0289D4A0 */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0289D4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0289D4A4 */ cpu->lr = cpu->r[0]; /* 0289D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D4AC */ return; L_0289D4B0: ; // 0x289d4b0 /* 0289D4B0 */ _t38 = cpu->r[3] + 0x00000024u; /* 0289D4B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38); /* 0289D4B4 */ _t39 = cpu->r[3] + 0x00000040u; /* 0289D4B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 0289D4B8 */ _t40 = cpu->r[12] + 0x0000008Au; /* 0289D4B8 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 0289D4BC */ _t41 = cpu->r[12] + 0x0000008Cu; /* 0289D4BC */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t41); /* 0289D4C0 */ goto L_0289D354; } // fn_0289D4C4 @ 0x289d4c4 void Gambit_fn_0289D4C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D354: ; // 0x289d354 /* 0289D354 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D354 */ cpu->r[1] = _t0; /* 0289D358 */ /* nop */ /* 0289D35C */ cpu->r[0] = cpu->lr; /* 0289D360 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D364 */ cpu->r[29] = cpu->r[3]; /* 0289D368 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289D36C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D370 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D370 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289D374 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289D374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0289D378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D37C */ _t5 = cpu->r[29] + 0x00000024u; /* 0289D37C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289D380 */ cpu->r[0] = cpu->r[12] - cpu->r[0]; /* 0289D384 */ cpu->r[30] = cpu->r[4]; /* 0289D388 */ _t6 = cpu->r[29] + 0x00000018u; /* 0289D388 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0289D38C */ _t7 = cpu->r[10] + 0x000000F4u; /* 0289D38C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0289D390 */ cpu->r[27] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D394 */ cpu->r[31] = cpu->r[5]; /* 0289D398 */ cpu->r[26] = cpu->r[6]; /* 0289D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D3A0 */ _t8 = cpu->r[10] + 0x00000012u; /* 0289D3A0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 0289D3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D3A4 */ _t10 = _t9 & 0x00000001u; /* 0289D3A4 */ if (_t10) goto L_0289D3A8; else goto L_0289D3C4; L_0289D3A8: ; // 0x289d3a8 /* 0289D3A8 */ cpu->r[3] = cpu->r[29]; /* 0289D3AC */ Gambit_fn_028974D0(cpu); /* 0289D3B0 */ cpu->r[4] = cpu->r[3]; /* 0289D3B4 */ cpu->r[3] = cpu->r[28]; /* 0289D3B8 */ cpu->r[5] = 0x00000010u; /* 0289D3BC */ Gambit_fn_0287B904(cpu); /* 0289D3C0 */ cpu->r[28] = cpu->r[3]; L_0289D3C4: ; // 0x289d3c4 /* 0289D3C4 */ cpu->r[25] = cpu->r[28] - cpu->r[31]; /* 0289D3C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000010u); /* 0289D3CC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D3CC */ _t12 = _t11 & 0x00000001u; /* 0289D3CC */ if (_t12) goto L_0289D3D0; else goto L_0289D49C; L_0289D3D0: ; // 0x289d3d0 /* 0289D3D0 */ /* nop */ /* 0289D3D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D3D8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D3E0 */ cpu->r[28] = 0x00000000u; /* 0289D3E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D3E4 */ _t14 = _t13 & 0x00000001u; /* 0289D3E4 */ if (_t14) goto L_0289D3E8; else goto L_0289D418; L_0289D3E8: ; // 0x289d3e8 /* 0289D3E8 */ _t15 = cpu->r[29] + 0x00000018u; /* 0289D3E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); L_0289D3EC: ; // 0x289d3ec /* 0289D3EC */ cpu->r[0] = cpu->r[28] + cpu->r[8]; /* 0289D3F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D3F4 */ _t16 = cpu->r[11] + cpu->r[7]; /* 0289D3F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0289D3F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[25]); /* 0289D400 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D400 */ _t18 = _t17 & 0x00000001u; /* 0289D400 */ if (_t18) goto L_0289D404; else goto L_0289D408; L_0289D404: ; // 0x289d404 /* 0289D404 */ cpu->r[28] = cpu->r[0]; L_0289D408: ; // 0x289d408 /* 0289D408 */ /* nop */ /* 0289D40C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D414 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D414 */ _t20 = _t19 & 0x00000001u; /* 0289D414 */ if (_t20) goto L_0289D3EC; else goto L_0289D418; L_0289D418: ; // 0x289d418 /* 0289D418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D41C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D41C */ _t22 = _t21 & 0x00000001u; /* 0289D41C */ if (_t22) goto L_0289D420; else goto L_0289D49C; L_0289D420: ; // 0x289d420 /* 0289D420 */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D424: ; // 0x289d424 /* 0289D424 */ _t23 = cpu->r[29] + 0x00000018u; /* 0289D424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0289D428 */ _t24 = cpu->r[8] + cpu->r[31]; /* 0289D428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 0289D42C */ cpu->r[9] = cpu->r[8] + cpu->r[31]; /* 0289D430 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]); /* 0289D438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D438 */ _t26 = _t25 & 0x00000001u; /* 0289D438 */ if (_t26) goto L_0289D43C; else goto L_0289D484; L_0289D43C: ; // 0x289d43c /* 0289D43C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000008u); /* 0289D444 */ cpu->r[0] = 0x00000008u; /* 0289D448 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D448 */ _t28 = _t27 & 0x00000001u; /* 0289D448 */ if (_t28) goto L_0289D450; else goto L_0289D44C; L_0289D44C: ; // 0x289d44c /* 0289D44C */ cpu->r[0] = 0x00000007u; L_0289D450: ; // 0x289d450 /* 0289D450 */ cpu->ctr = cpu->r[30]; /* 0289D454 */ cpu->r[8] = cpu->r[8] - cpu->r[0]; /* 0289D458 */ _t29 = cpu->r[29] + 0x00000000u; /* 0289D458 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0289D45C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D460 */ _t30 = cpu->r[9] + 0x00000004u; /* 0289D460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0289D464 */ cpu->r[3] = cpu->r[29]; /* 0289D468 */ /* nop */ /* 0289D46C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D470 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D478 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D47C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D47C */ _t32 = _t31 & 0x00000001u; /* 0289D47C */ if (_t32) goto L_0289D424; else goto L_0289D480; L_0289D480: ; // 0x289d480 /* 0289D480 */ goto L_0289D49C; L_0289D484: ; // 0x289d484 /* 0289D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[25]); /* 0289D488 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D488 */ _t34 = _t33 & 0x00000001u; /* 0289D488 */ if (_t34) goto L_0289D49C; else goto L_0289D48C; L_0289D48C: ; // 0x289d48c /* 0289D48C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D494 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D498 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D498 */ _t36 = _t35 & 0x00000001u; /* 0289D498 */ if (_t36) goto L_0289D424; else goto L_0289D49C; L_0289D49C: ; // 0x289d49c /* 0289D49C */ /* nop */ /* 0289D4A0 */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0289D4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0289D4A4 */ cpu->lr = cpu->r[0]; /* 0289D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D4AC */ return; L_0289D4C4: ; // 0x289d4c4 /* 0289D4C4 */ _t38 = cpu->r[3] + 0x00000024u; /* 0289D4C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38); /* 0289D4C8 */ _t39 = cpu->r[11] + 0x0000008Au; /* 0289D4C8 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t39); /* 0289D4CC */ _t40 = cpu->r[3] + 0x00000040u; /* 0289D4CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t40); /* 0289D4D0 */ cpu->r[5] = cpu->r[12] + 0x00000010u; /* 0289D4D4 */ _t41 = cpu->r[11] + 0x0000008Cu; /* 0289D4D4 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t41); /* 0289D4D8 */ /* nop */ /* 0289D4DC */ goto L_0289D354; } // fn_0289D4E0 @ 0x289d4e0 void Gambit_fn_0289D4E0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D354: ; // 0x289d354 /* 0289D354 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D354 */ cpu->r[1] = _t0; /* 0289D358 */ /* nop */ /* 0289D35C */ cpu->r[0] = cpu->lr; /* 0289D360 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D364 */ cpu->r[29] = cpu->r[3]; /* 0289D368 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289D36C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D370 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D370 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289D374 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289D374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0289D378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D37C */ _t5 = cpu->r[29] + 0x00000024u; /* 0289D37C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289D380 */ cpu->r[0] = cpu->r[12] - cpu->r[0]; /* 0289D384 */ cpu->r[30] = cpu->r[4]; /* 0289D388 */ _t6 = cpu->r[29] + 0x00000018u; /* 0289D388 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0289D38C */ _t7 = cpu->r[10] + 0x000000F4u; /* 0289D38C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0289D390 */ cpu->r[27] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D394 */ cpu->r[31] = cpu->r[5]; /* 0289D398 */ cpu->r[26] = cpu->r[6]; /* 0289D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D3A0 */ _t8 = cpu->r[10] + 0x00000012u; /* 0289D3A0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 0289D3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D3A4 */ _t10 = _t9 & 0x00000001u; /* 0289D3A4 */ if (_t10) goto L_0289D3A8; else goto L_0289D3C4; L_0289D3A8: ; // 0x289d3a8 /* 0289D3A8 */ cpu->r[3] = cpu->r[29]; /* 0289D3AC */ Gambit_fn_028974D0(cpu); /* 0289D3B0 */ cpu->r[4] = cpu->r[3]; /* 0289D3B4 */ cpu->r[3] = cpu->r[28]; /* 0289D3B8 */ cpu->r[5] = 0x00000010u; /* 0289D3BC */ Gambit_fn_0287B904(cpu); /* 0289D3C0 */ cpu->r[28] = cpu->r[3]; L_0289D3C4: ; // 0x289d3c4 /* 0289D3C4 */ cpu->r[25] = cpu->r[28] - cpu->r[31]; /* 0289D3C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000010u); /* 0289D3CC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D3CC */ _t12 = _t11 & 0x00000001u; /* 0289D3CC */ if (_t12) goto L_0289D3D0; else goto L_0289D49C; L_0289D3D0: ; // 0x289d3d0 /* 0289D3D0 */ /* nop */ /* 0289D3D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D3D8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D3E0 */ cpu->r[28] = 0x00000000u; /* 0289D3E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D3E4 */ _t14 = _t13 & 0x00000001u; /* 0289D3E4 */ if (_t14) goto L_0289D3E8; else goto L_0289D418; L_0289D3E8: ; // 0x289d3e8 /* 0289D3E8 */ _t15 = cpu->r[29] + 0x00000018u; /* 0289D3E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); L_0289D3EC: ; // 0x289d3ec /* 0289D3EC */ cpu->r[0] = cpu->r[28] + cpu->r[8]; /* 0289D3F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D3F4 */ _t16 = cpu->r[11] + cpu->r[7]; /* 0289D3F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0289D3F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[25]); /* 0289D400 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D400 */ _t18 = _t17 & 0x00000001u; /* 0289D400 */ if (_t18) goto L_0289D404; else goto L_0289D408; L_0289D404: ; // 0x289d404 /* 0289D404 */ cpu->r[28] = cpu->r[0]; L_0289D408: ; // 0x289d408 /* 0289D408 */ /* nop */ /* 0289D40C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D414 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D414 */ _t20 = _t19 & 0x00000001u; /* 0289D414 */ if (_t20) goto L_0289D3EC; else goto L_0289D418; L_0289D418: ; // 0x289d418 /* 0289D418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D41C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D41C */ _t22 = _t21 & 0x00000001u; /* 0289D41C */ if (_t22) goto L_0289D420; else goto L_0289D49C; L_0289D420: ; // 0x289d420 /* 0289D420 */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D424: ; // 0x289d424 /* 0289D424 */ _t23 = cpu->r[29] + 0x00000018u; /* 0289D424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0289D428 */ _t24 = cpu->r[8] + cpu->r[31]; /* 0289D428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 0289D42C */ cpu->r[9] = cpu->r[8] + cpu->r[31]; /* 0289D430 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]); /* 0289D438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D438 */ _t26 = _t25 & 0x00000001u; /* 0289D438 */ if (_t26) goto L_0289D43C; else goto L_0289D484; L_0289D43C: ; // 0x289d43c /* 0289D43C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000008u); /* 0289D444 */ cpu->r[0] = 0x00000008u; /* 0289D448 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D448 */ _t28 = _t27 & 0x00000001u; /* 0289D448 */ if (_t28) goto L_0289D450; else goto L_0289D44C; L_0289D44C: ; // 0x289d44c /* 0289D44C */ cpu->r[0] = 0x00000007u; L_0289D450: ; // 0x289d450 /* 0289D450 */ cpu->ctr = cpu->r[30]; /* 0289D454 */ cpu->r[8] = cpu->r[8] - cpu->r[0]; /* 0289D458 */ _t29 = cpu->r[29] + 0x00000000u; /* 0289D458 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0289D45C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D460 */ _t30 = cpu->r[9] + 0x00000004u; /* 0289D460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0289D464 */ cpu->r[3] = cpu->r[29]; /* 0289D468 */ /* nop */ /* 0289D46C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D470 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D478 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D47C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D47C */ _t32 = _t31 & 0x00000001u; /* 0289D47C */ if (_t32) goto L_0289D424; else goto L_0289D480; L_0289D480: ; // 0x289d480 /* 0289D480 */ goto L_0289D49C; L_0289D484: ; // 0x289d484 /* 0289D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[25]); /* 0289D488 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D488 */ _t34 = _t33 & 0x00000001u; /* 0289D488 */ if (_t34) goto L_0289D49C; else goto L_0289D48C; L_0289D48C: ; // 0x289d48c /* 0289D48C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D494 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D498 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D498 */ _t36 = _t35 & 0x00000001u; /* 0289D498 */ if (_t36) goto L_0289D424; else goto L_0289D49C; L_0289D49C: ; // 0x289d49c /* 0289D49C */ /* nop */ /* 0289D4A0 */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0289D4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0289D4A4 */ cpu->lr = cpu->r[0]; /* 0289D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D4AC */ return; L_0289D4E0: ; // 0x289d4e0 /* 0289D4E0 */ _t38 = cpu->r[3] + 0x00000024u; /* 0289D4E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38); /* 0289D4E4 */ _t39 = cpu->r[11] + 0x0000008Au; /* 0289D4E4 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t39); /* 0289D4E8 */ _t40 = cpu->r[3] + 0x00000040u; /* 0289D4E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40); /* 0289D4EC */ cpu->r[5] = cpu->r[12] + 0x00000020u; /* 0289D4F0 */ _t41 = cpu->r[11] + 0x0000008Cu; /* 0289D4F0 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t41); /* 0289D4F4 */ /* nop */ /* 0289D4F8 */ goto L_0289D354; } // fn_0289D4FC @ 0x289d4fc void Gambit_fn_0289D4FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D354: ; // 0x289d354 /* 0289D354 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D354 */ cpu->r[1] = _t0; /* 0289D358 */ /* nop */ /* 0289D35C */ cpu->r[0] = cpu->lr; /* 0289D360 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D364 */ cpu->r[29] = cpu->r[3]; /* 0289D368 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289D36C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D370 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D370 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289D374 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289D374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0289D378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D37C */ _t5 = cpu->r[29] + 0x00000024u; /* 0289D37C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289D380 */ cpu->r[0] = cpu->r[12] - cpu->r[0]; /* 0289D384 */ cpu->r[30] = cpu->r[4]; /* 0289D388 */ _t6 = cpu->r[29] + 0x00000018u; /* 0289D388 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0289D38C */ _t7 = cpu->r[10] + 0x000000F4u; /* 0289D38C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0289D390 */ cpu->r[27] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D394 */ cpu->r[31] = cpu->r[5]; /* 0289D398 */ cpu->r[26] = cpu->r[6]; /* 0289D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D3A0 */ _t8 = cpu->r[10] + 0x00000012u; /* 0289D3A0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 0289D3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D3A4 */ _t10 = _t9 & 0x00000001u; /* 0289D3A4 */ if (_t10) goto L_0289D3A8; else goto L_0289D3C4; L_0289D3A8: ; // 0x289d3a8 /* 0289D3A8 */ cpu->r[3] = cpu->r[29]; /* 0289D3AC */ Gambit_fn_028974D0(cpu); /* 0289D3B0 */ cpu->r[4] = cpu->r[3]; /* 0289D3B4 */ cpu->r[3] = cpu->r[28]; /* 0289D3B8 */ cpu->r[5] = 0x00000010u; /* 0289D3BC */ Gambit_fn_0287B904(cpu); /* 0289D3C0 */ cpu->r[28] = cpu->r[3]; L_0289D3C4: ; // 0x289d3c4 /* 0289D3C4 */ cpu->r[25] = cpu->r[28] - cpu->r[31]; /* 0289D3C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000010u); /* 0289D3CC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D3CC */ _t12 = _t11 & 0x00000001u; /* 0289D3CC */ if (_t12) goto L_0289D3D0; else goto L_0289D49C; L_0289D3D0: ; // 0x289d3d0 /* 0289D3D0 */ /* nop */ /* 0289D3D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D3D8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D3E0 */ cpu->r[28] = 0x00000000u; /* 0289D3E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D3E4 */ _t14 = _t13 & 0x00000001u; /* 0289D3E4 */ if (_t14) goto L_0289D3E8; else goto L_0289D418; L_0289D3E8: ; // 0x289d3e8 /* 0289D3E8 */ _t15 = cpu->r[29] + 0x00000018u; /* 0289D3E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); L_0289D3EC: ; // 0x289d3ec /* 0289D3EC */ cpu->r[0] = cpu->r[28] + cpu->r[8]; /* 0289D3F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D3F4 */ _t16 = cpu->r[11] + cpu->r[7]; /* 0289D3F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0289D3F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[25]); /* 0289D400 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D400 */ _t18 = _t17 & 0x00000001u; /* 0289D400 */ if (_t18) goto L_0289D404; else goto L_0289D408; L_0289D404: ; // 0x289d404 /* 0289D404 */ cpu->r[28] = cpu->r[0]; L_0289D408: ; // 0x289d408 /* 0289D408 */ /* nop */ /* 0289D40C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D414 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D414 */ _t20 = _t19 & 0x00000001u; /* 0289D414 */ if (_t20) goto L_0289D3EC; else goto L_0289D418; L_0289D418: ; // 0x289d418 /* 0289D418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D41C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D41C */ _t22 = _t21 & 0x00000001u; /* 0289D41C */ if (_t22) goto L_0289D420; else goto L_0289D49C; L_0289D420: ; // 0x289d420 /* 0289D420 */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D424: ; // 0x289d424 /* 0289D424 */ _t23 = cpu->r[29] + 0x00000018u; /* 0289D424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0289D428 */ _t24 = cpu->r[8] + cpu->r[31]; /* 0289D428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 0289D42C */ cpu->r[9] = cpu->r[8] + cpu->r[31]; /* 0289D430 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]); /* 0289D438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D438 */ _t26 = _t25 & 0x00000001u; /* 0289D438 */ if (_t26) goto L_0289D43C; else goto L_0289D484; L_0289D43C: ; // 0x289d43c /* 0289D43C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000008u); /* 0289D444 */ cpu->r[0] = 0x00000008u; /* 0289D448 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D448 */ _t28 = _t27 & 0x00000001u; /* 0289D448 */ if (_t28) goto L_0289D450; else goto L_0289D44C; L_0289D44C: ; // 0x289d44c /* 0289D44C */ cpu->r[0] = 0x00000007u; L_0289D450: ; // 0x289d450 /* 0289D450 */ cpu->ctr = cpu->r[30]; /* 0289D454 */ cpu->r[8] = cpu->r[8] - cpu->r[0]; /* 0289D458 */ _t29 = cpu->r[29] + 0x00000000u; /* 0289D458 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0289D45C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D460 */ _t30 = cpu->r[9] + 0x00000004u; /* 0289D460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0289D464 */ cpu->r[3] = cpu->r[29]; /* 0289D468 */ /* nop */ /* 0289D46C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D470 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D478 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D47C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D47C */ _t32 = _t31 & 0x00000001u; /* 0289D47C */ if (_t32) goto L_0289D424; else goto L_0289D480; L_0289D480: ; // 0x289d480 /* 0289D480 */ goto L_0289D49C; L_0289D484: ; // 0x289d484 /* 0289D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[25]); /* 0289D488 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D488 */ _t34 = _t33 & 0x00000001u; /* 0289D488 */ if (_t34) goto L_0289D49C; else goto L_0289D48C; L_0289D48C: ; // 0x289d48c /* 0289D48C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D494 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D498 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D498 */ _t36 = _t35 & 0x00000001u; /* 0289D498 */ if (_t36) goto L_0289D424; else goto L_0289D49C; L_0289D49C: ; // 0x289d49c /* 0289D49C */ /* nop */ /* 0289D4A0 */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0289D4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0289D4A4 */ cpu->lr = cpu->r[0]; /* 0289D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D4AC */ return; L_0289D4FC: ; // 0x289d4fc /* 0289D4FC */ _t38 = cpu->r[3] + 0x00000024u; /* 0289D4FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t38); /* 0289D500 */ cpu->r[4] = 0x02890000u; /* 0289D504 */ _t39 = cpu->r[12] + 0x0000008Au; /* 0289D504 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t39); /* 0289D508 */ cpu->r[4] = cpu->r[4] + 0x00007684u; /* 0289D50C */ _t40 = cpu->r[12] + 0x0000008Cu; /* 0289D50C */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 0289D510 */ goto L_0289D354; } // fn_0289D514 @ 0x289d514 void Gambit_fn_0289D514(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D354: ; // 0x289d354 /* 0289D354 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D354 */ cpu->r[1] = _t0; /* 0289D358 */ /* nop */ /* 0289D35C */ cpu->r[0] = cpu->lr; /* 0289D360 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D364 */ cpu->r[29] = cpu->r[3]; /* 0289D368 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289D36C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D370 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D370 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289D374 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289D374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0289D378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D37C */ _t5 = cpu->r[29] + 0x00000024u; /* 0289D37C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289D380 */ cpu->r[0] = cpu->r[12] - cpu->r[0]; /* 0289D384 */ cpu->r[30] = cpu->r[4]; /* 0289D388 */ _t6 = cpu->r[29] + 0x00000018u; /* 0289D388 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0289D38C */ _t7 = cpu->r[10] + 0x000000F4u; /* 0289D38C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0289D390 */ cpu->r[27] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D394 */ cpu->r[31] = cpu->r[5]; /* 0289D398 */ cpu->r[26] = cpu->r[6]; /* 0289D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D3A0 */ _t8 = cpu->r[10] + 0x00000012u; /* 0289D3A0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 0289D3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D3A4 */ _t10 = _t9 & 0x00000001u; /* 0289D3A4 */ if (_t10) goto L_0289D3A8; else goto L_0289D3C4; L_0289D3A8: ; // 0x289d3a8 /* 0289D3A8 */ cpu->r[3] = cpu->r[29]; /* 0289D3AC */ Gambit_fn_028974D0(cpu); /* 0289D3B0 */ cpu->r[4] = cpu->r[3]; /* 0289D3B4 */ cpu->r[3] = cpu->r[28]; /* 0289D3B8 */ cpu->r[5] = 0x00000010u; /* 0289D3BC */ Gambit_fn_0287B904(cpu); /* 0289D3C0 */ cpu->r[28] = cpu->r[3]; L_0289D3C4: ; // 0x289d3c4 /* 0289D3C4 */ cpu->r[25] = cpu->r[28] - cpu->r[31]; /* 0289D3C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000010u); /* 0289D3CC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D3CC */ _t12 = _t11 & 0x00000001u; /* 0289D3CC */ if (_t12) goto L_0289D3D0; else goto L_0289D49C; L_0289D3D0: ; // 0x289d3d0 /* 0289D3D0 */ /* nop */ /* 0289D3D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D3D8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D3E0 */ cpu->r[28] = 0x00000000u; /* 0289D3E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D3E4 */ _t14 = _t13 & 0x00000001u; /* 0289D3E4 */ if (_t14) goto L_0289D3E8; else goto L_0289D418; L_0289D3E8: ; // 0x289d3e8 /* 0289D3E8 */ _t15 = cpu->r[29] + 0x00000018u; /* 0289D3E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); L_0289D3EC: ; // 0x289d3ec /* 0289D3EC */ cpu->r[0] = cpu->r[28] + cpu->r[8]; /* 0289D3F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D3F4 */ _t16 = cpu->r[11] + cpu->r[7]; /* 0289D3F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0289D3F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[25]); /* 0289D400 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D400 */ _t18 = _t17 & 0x00000001u; /* 0289D400 */ if (_t18) goto L_0289D404; else goto L_0289D408; L_0289D404: ; // 0x289d404 /* 0289D404 */ cpu->r[28] = cpu->r[0]; L_0289D408: ; // 0x289d408 /* 0289D408 */ /* nop */ /* 0289D40C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D414 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D414 */ _t20 = _t19 & 0x00000001u; /* 0289D414 */ if (_t20) goto L_0289D3EC; else goto L_0289D418; L_0289D418: ; // 0x289d418 /* 0289D418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D41C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D41C */ _t22 = _t21 & 0x00000001u; /* 0289D41C */ if (_t22) goto L_0289D420; else goto L_0289D49C; L_0289D420: ; // 0x289d420 /* 0289D420 */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D424: ; // 0x289d424 /* 0289D424 */ _t23 = cpu->r[29] + 0x00000018u; /* 0289D424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0289D428 */ _t24 = cpu->r[8] + cpu->r[31]; /* 0289D428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 0289D42C */ cpu->r[9] = cpu->r[8] + cpu->r[31]; /* 0289D430 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]); /* 0289D438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D438 */ _t26 = _t25 & 0x00000001u; /* 0289D438 */ if (_t26) goto L_0289D43C; else goto L_0289D484; L_0289D43C: ; // 0x289d43c /* 0289D43C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000008u); /* 0289D444 */ cpu->r[0] = 0x00000008u; /* 0289D448 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D448 */ _t28 = _t27 & 0x00000001u; /* 0289D448 */ if (_t28) goto L_0289D450; else goto L_0289D44C; L_0289D44C: ; // 0x289d44c /* 0289D44C */ cpu->r[0] = 0x00000007u; L_0289D450: ; // 0x289d450 /* 0289D450 */ cpu->ctr = cpu->r[30]; /* 0289D454 */ cpu->r[8] = cpu->r[8] - cpu->r[0]; /* 0289D458 */ _t29 = cpu->r[29] + 0x00000000u; /* 0289D458 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0289D45C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D460 */ _t30 = cpu->r[9] + 0x00000004u; /* 0289D460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0289D464 */ cpu->r[3] = cpu->r[29]; /* 0289D468 */ /* nop */ /* 0289D46C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D470 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D478 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D47C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D47C */ _t32 = _t31 & 0x00000001u; /* 0289D47C */ if (_t32) goto L_0289D424; else goto L_0289D480; L_0289D480: ; // 0x289d480 /* 0289D480 */ goto L_0289D49C; L_0289D484: ; // 0x289d484 /* 0289D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[25]); /* 0289D488 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D488 */ _t34 = _t33 & 0x00000001u; /* 0289D488 */ if (_t34) goto L_0289D49C; else goto L_0289D48C; L_0289D48C: ; // 0x289d48c /* 0289D48C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D494 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D498 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D498 */ _t36 = _t35 & 0x00000001u; /* 0289D498 */ if (_t36) goto L_0289D424; else goto L_0289D49C; L_0289D49C: ; // 0x289d49c /* 0289D49C */ /* nop */ /* 0289D4A0 */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0289D4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0289D4A4 */ cpu->lr = cpu->r[0]; /* 0289D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D4AC */ return; L_0289D514: ; // 0x289d514 /* 0289D514 */ _t38 = cpu->r[3] + 0x00000024u; /* 0289D514 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38); /* 0289D518 */ _t39 = cpu->r[11] + 0x0000008Au; /* 0289D518 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t39); /* 0289D51C */ cpu->r[4] = 0x02890000u; /* 0289D520 */ cpu->r[5] = cpu->r[12] + 0x00000010u; /* 0289D524 */ _t40 = cpu->r[11] + 0x0000008Cu; /* 0289D524 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 0289D528 */ cpu->r[4] = cpu->r[4] + 0x00007684u; /* 0289D52C */ /* nop */ /* 0289D530 */ goto L_0289D354; } // fn_0289D534 @ 0x289d534 void Gambit_fn_0289D534(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D354: ; // 0x289d354 /* 0289D354 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D354 */ cpu->r[1] = _t0; /* 0289D358 */ /* nop */ /* 0289D35C */ cpu->r[0] = cpu->lr; /* 0289D360 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D364 */ cpu->r[29] = cpu->r[3]; /* 0289D368 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289D36C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289D370 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D370 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289D374 */ _t4 = cpu->r[12] + 0x00000000u; /* 0289D374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0289D378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0289D37C */ _t5 = cpu->r[29] + 0x00000024u; /* 0289D37C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0289D380 */ cpu->r[0] = cpu->r[12] - cpu->r[0]; /* 0289D384 */ cpu->r[30] = cpu->r[4]; /* 0289D388 */ _t6 = cpu->r[29] + 0x00000018u; /* 0289D388 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0289D38C */ _t7 = cpu->r[10] + 0x000000F4u; /* 0289D38C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0289D390 */ cpu->r[27] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D394 */ cpu->r[31] = cpu->r[5]; /* 0289D398 */ cpu->r[26] = cpu->r[6]; /* 0289D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D3A0 */ _t8 = cpu->r[10] + 0x00000012u; /* 0289D3A0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 0289D3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D3A4 */ _t10 = _t9 & 0x00000001u; /* 0289D3A4 */ if (_t10) goto L_0289D3A8; else goto L_0289D3C4; L_0289D3A8: ; // 0x289d3a8 /* 0289D3A8 */ cpu->r[3] = cpu->r[29]; /* 0289D3AC */ Gambit_fn_028974D0(cpu); /* 0289D3B0 */ cpu->r[4] = cpu->r[3]; /* 0289D3B4 */ cpu->r[3] = cpu->r[28]; /* 0289D3B8 */ cpu->r[5] = 0x00000010u; /* 0289D3BC */ Gambit_fn_0287B904(cpu); /* 0289D3C0 */ cpu->r[28] = cpu->r[3]; L_0289D3C4: ; // 0x289d3c4 /* 0289D3C4 */ cpu->r[25] = cpu->r[28] - cpu->r[31]; /* 0289D3C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000010u); /* 0289D3CC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D3CC */ _t12 = _t11 & 0x00000001u; /* 0289D3CC */ if (_t12) goto L_0289D3D0; else goto L_0289D49C; L_0289D3D0: ; // 0x289d3d0 /* 0289D3D0 */ /* nop */ /* 0289D3D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D3D8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D3E0 */ cpu->r[28] = 0x00000000u; /* 0289D3E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D3E4 */ _t14 = _t13 & 0x00000001u; /* 0289D3E4 */ if (_t14) goto L_0289D3E8; else goto L_0289D418; L_0289D3E8: ; // 0x289d3e8 /* 0289D3E8 */ _t15 = cpu->r[29] + 0x00000018u; /* 0289D3E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); L_0289D3EC: ; // 0x289d3ec /* 0289D3EC */ cpu->r[0] = cpu->r[28] + cpu->r[8]; /* 0289D3F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D3F4 */ _t16 = cpu->r[11] + cpu->r[7]; /* 0289D3F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0289D3F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[25]); /* 0289D400 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D400 */ _t18 = _t17 & 0x00000001u; /* 0289D400 */ if (_t18) goto L_0289D404; else goto L_0289D408; L_0289D404: ; // 0x289d404 /* 0289D404 */ cpu->r[28] = cpu->r[0]; L_0289D408: ; // 0x289d408 /* 0289D408 */ /* nop */ /* 0289D40C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 0289D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u); /* 0289D414 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D414 */ _t20 = _t19 & 0x00000001u; /* 0289D414 */ if (_t20) goto L_0289D3EC; else goto L_0289D418; L_0289D418: ; // 0x289d418 /* 0289D418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D41C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D41C */ _t22 = _t21 & 0x00000001u; /* 0289D41C */ if (_t22) goto L_0289D420; else goto L_0289D49C; L_0289D420: ; // 0x289d420 /* 0289D420 */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D424: ; // 0x289d424 /* 0289D424 */ _t23 = cpu->r[29] + 0x00000018u; /* 0289D424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0289D428 */ _t24 = cpu->r[8] + cpu->r[31]; /* 0289D428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 0289D42C */ cpu->r[9] = cpu->r[8] + cpu->r[31]; /* 0289D430 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]); /* 0289D438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D438 */ _t26 = _t25 & 0x00000001u; /* 0289D438 */ if (_t26) goto L_0289D43C; else goto L_0289D484; L_0289D43C: ; // 0x289d43c /* 0289D43C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000008u); /* 0289D444 */ cpu->r[0] = 0x00000008u; /* 0289D448 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D448 */ _t28 = _t27 & 0x00000001u; /* 0289D448 */ if (_t28) goto L_0289D450; else goto L_0289D44C; L_0289D44C: ; // 0x289d44c /* 0289D44C */ cpu->r[0] = 0x00000007u; L_0289D450: ; // 0x289d450 /* 0289D450 */ cpu->ctr = cpu->r[30]; /* 0289D454 */ cpu->r[8] = cpu->r[8] - cpu->r[0]; /* 0289D458 */ _t29 = cpu->r[29] + 0x00000000u; /* 0289D458 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 0289D45C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D460 */ _t30 = cpu->r[9] + 0x00000004u; /* 0289D460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0289D464 */ cpu->r[3] = cpu->r[29]; /* 0289D468 */ /* nop */ /* 0289D46C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D470 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D478 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D47C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D47C */ _t32 = _t31 & 0x00000001u; /* 0289D47C */ if (_t32) goto L_0289D424; else goto L_0289D480; L_0289D480: ; // 0x289d480 /* 0289D480 */ goto L_0289D49C; L_0289D484: ; // 0x289d484 /* 0289D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[25]); /* 0289D488 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D488 */ _t34 = _t33 & 0x00000001u; /* 0289D488 */ if (_t34) goto L_0289D49C; else goto L_0289D48C; L_0289D48C: ; // 0x289d48c /* 0289D48C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 0289D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[27]); /* 0289D494 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 0289D498 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D498 */ _t36 = _t35 & 0x00000001u; /* 0289D498 */ if (_t36) goto L_0289D424; else goto L_0289D49C; L_0289D49C: ; // 0x289d49c /* 0289D49C */ /* nop */ /* 0289D4A0 */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0289D4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0289D4A4 */ cpu->lr = cpu->r[0]; /* 0289D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D4AC */ return; L_0289D534: ; // 0x289d534 /* 0289D534 */ _t38 = cpu->r[3] + 0x00000024u; /* 0289D534 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38); /* 0289D538 */ _t39 = cpu->r[11] + 0x0000008Au; /* 0289D538 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t39); /* 0289D53C */ cpu->r[4] = 0x02890000u; /* 0289D540 */ cpu->r[5] = cpu->r[12] + 0x00000020u; /* 0289D544 */ _t40 = cpu->r[11] + 0x0000008Cu; /* 0289D544 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 0289D548 */ cpu->r[4] = cpu->r[4] + 0x00007684u; /* 0289D54C */ /* nop */ /* 0289D550 */ goto L_0289D354; } // fn_0289D554 @ 0x289d554 void Gambit_fn_0289D554(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289D554: ; // 0x289d554 /* 0289D554 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D554 */ cpu->r[1] = _t0; /* 0289D558 */ /* nop */ /* 0289D55C */ cpu->r[0] = cpu->lr; /* 0289D560 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D560 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D564 */ cpu->r[29] = cpu->r[3]; /* 0289D568 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D568 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289D56C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289D570 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D570 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 0289D574 */ _t4 = cpu->r[11] + 0x00000000u; /* 0289D574 */ cpu->r[26] = rbrew_read32(cpu->mem, _t4); /* 0289D578 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D57C */ cpu->r[30] = cpu->r[4]; /* 0289D580 */ cpu->r[4] = cpu->r[11] - cpu->r[0]; /* 0289D584 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFCu; /* 0289D588 */ _t5 = cpu->r[29] + 0x00000018u; /* 0289D588 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D58C */ _t6 = cpu->r[4] + 0xFFFFFFFCu; /* 0289D58C */ cpu->r[25] = rbrew_read32(cpu->mem, _t6); /* 0289D590 */ cpu->r[31] = cpu->r[5]; /* 0289D594 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D598 */ _t7 = cpu->r[29] + 0x00000024u; /* 0289D598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0289D59C */ cpu->r[5] = cpu->r[0] - cpu->r[4]; /* 0289D5A0 */ _t8 = cpu->r[29] + 0x00000018u; /* 0289D5A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0289D5A4 */ _t9 = cpu->r[8] + 0x000000F4u; /* 0289D5A4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9); /* 0289D5A8 */ cpu->r[24] = 0x00000000u; /* 0289D5AC */ _t10 = cpu->r[29] + 0x00000000u; /* 0289D5AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t10); /* 0289D5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289D5B4 */ _t11 = cpu->r[8] + 0x00000012u; /* 0289D5B4 */ cpu->r[27] = rbrew_read16(cpu->mem, _t11); /* 0289D5B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D5B8 */ _t13 = _t12 & 0x00000001u; /* 0289D5B8 */ if (_t13) goto L_0289D5BC; else goto L_0289D5D8; L_0289D5BC: ; // 0x289d5bc /* 0289D5BC */ cpu->r[3] = cpu->r[29]; /* 0289D5C0 */ Gambit_fn_028974D0(cpu); /* 0289D5C4 */ cpu->r[4] = cpu->r[3]; /* 0289D5C8 */ cpu->r[3] = cpu->r[27]; /* 0289D5CC */ cpu->r[5] = 0x00000010u; /* 0289D5D0 */ Gambit_fn_0287B904(cpu); /* 0289D5D4 */ cpu->r[27] = cpu->r[3]; L_0289D5D8: ; // 0x289d5d8 /* 0289D5D8 */ cpu->r[7] = cpu->r[27] - cpu->r[30]; /* 0289D5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[25]); /* 0289D5E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D5E4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D5E4 */ _t15 = _t14 & 0x00000001u; /* 0289D5E4 */ if (_t15) goto L_0289D5E8; else goto L_0289D7E8; L_0289D5E8: ; // 0x289d5e8 /* 0289D5E8 */ _t16 = cpu->r[29] + 0x00000018u; /* 0289D5E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0289D5EC */ cpu->r[8] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D5F0 */ _t17 = cpu->r[4] + cpu->r[8]; /* 0289D5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0289D5F4 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D5F8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D5FC */ cpu->r[12] = cpu->r[4] + cpu->r[8]; /* 0289D600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]); /* 0289D604 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D608 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D608 */ _t19 = _t18 & 0x00000001u; /* 0289D608 */ if (_t19) goto L_0289D628; else goto L_0289D60C; L_0289D60C: ; // 0x289d60c /* 0289D60C */ goto L_0289D7D8; L_0289D610: ; // 0x289d610 /* 0289D610 */ _t20 = cpu->r[12] + 0x00000000u; /* 0289D610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289D614 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D618 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D61C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]); /* 0289D620 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D624 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D624 */ _t22 = _t21 & 0x00000001u; /* 0289D624 */ if (_t22) goto L_0289D628; else goto L_0289D7D8; L_0289D628: ; // 0x289d628 /* 0289D628 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000008u); /* 0289D630 */ cpu->r[0] = 0x00000008u; /* 0289D634 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D634 */ _t24 = _t23 & 0x00000001u; /* 0289D634 */ if (_t24) goto L_0289D63C; else goto L_0289D638; L_0289D638: ; // 0x289d638 /* 0289D638 */ cpu->r[0] = 0x00000007u; L_0289D63C: ; // 0x289d63c /* 0289D63C */ cpu->r[24] = cpu->r[25] + cpu->r[26]; /* 0289D640 */ cpu->r[27] = cpu->r[27] - cpu->r[0]; /* 0289D644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[24]); /* 0289D648 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D64C */ cpu->r[30] = cpu->r[26]; /* 0289D650 */ /* nop */ /* 0289D654 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D654 */ _t26 = _t25 & 0x00000001u; /* 0289D654 */ if (_t26) goto L_0289D658; else goto L_0289D7E8; L_0289D658: ; // 0x289d658 /* 0289D658 */ _t27 = cpu->r[28] + 0x00000020u; /* 0289D658 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 0289D65C */ cpu->r[31] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D660: ; // 0x289d660 /* 0289D660 */ _t28 = cpu->r[5] + 0x00000000u; /* 0289D660 */ cpu->r[10] = rbrew_read16(cpu->mem, _t28); /* 0289D664 */ cpu->r[9] = cpu->r[4] + cpu->r[31]; /* 0289D668 */ _t29 = cpu->r[9] + 0x00000002u; /* 0289D668 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t29); /* 0289D66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0289D670 */ cpu->r[26] = 0x00000000u; /* 0289D674 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D674 */ _t31 = _t30 & 0x00000001u; /* 0289D674 */ if (_t31) goto L_0289D678; else goto L_0289D68C; L_0289D678: ; // 0x289d678 /* 0289D678 */ cpu->r[10] = cpu->r[5]; L_0289D67C: ; // 0x289d67c /* 0289D67C */ _t32 = cpu->r[10] + 0x00000002u; /* 0289D67C */ cpu->r[11] = rbrew_read16(cpu->mem, _t32); /* 0289D67C */ cpu->r[10] = _t32; /* 0289D680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 0289D684 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289D688 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D688 */ _t34 = _t33 & 0x00000001u; /* 0289D688 */ if (_t34) goto L_0289D67C; else goto L_0289D68C; L_0289D68C: ; // 0x289d68c /* 0289D68C */ _t35 = cpu->r[29] + 0x00000010u; /* 0289D68C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t35); /* 0289D690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289D694 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D694 */ _t37 = _t36 & 0x00000001u; /* 0289D694 */ if (_t37) goto L_0289D728; else goto L_0289D698; L_0289D698: ; // 0x289d698 /* 0289D698 */ cpu->r[5] = 0x0000000Eu; /* 0289D69C */ cpu->r[3] = cpu->r[27]; /* 0289D6A0 */ Gambit_fn_0287B904(cpu); /* 0289D6A4 */ cpu->r[8] = cpu->r[3]; /* 0289D6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289D6AC */ _t38 = cpu->r[28] + 0x00000020u; /* 0289D6AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t38); /* 0289D6B0 */ cpu->r[4] = 0x00000000u; /* 0289D6B4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D6B4 */ _t40 = _t39 & 0x00000001u; /* 0289D6B4 */ if (_t40) goto L_0289D6B8; else goto L_0289D6CC; L_0289D6B8: ; // 0x289d6b8 /* 0289D6B8 */ _t41 = cpu->r[5] + 0x00000000u; /* 0289D6B8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t41); /* 0289D6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D6C0 */ cpu->r[0] = 0x00000000u; /* 0289D6C4 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D6C4 */ _t43 = _t42 & 0x00000001u; /* 0289D6C4 */ if (_t43) goto L_0289D728; else goto L_0289D6C8; L_0289D6C8: ; // 0x289d6c8 /* 0289D6C8 */ goto L_0289D6EC; L_0289D6CC: ; // 0x289d6cc /* 0289D6CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D6D0 */ cpu->r[12] = cpu->r[5] + cpu->r[0]; /* 0289D6D4 */ _t44 = cpu->r[12] + 0xFFFFFFFEu; /* 0289D6D4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t44); /* 0289D6D8 */ cpu->r[4] = cpu->r[11] + 0x00000001u; /* 0289D6DC */ _t45 = cpu->r[5] + cpu->r[0]; /* 0289D6DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t45); /* 0289D6E0 */ /* nop */ /* 0289D6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D6E8 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D6E8 */ _t47 = _t46 & 0x00000001u; /* 0289D6E8 */ if (_t47) goto L_0289D728; else goto L_0289D6EC; L_0289D6EC: ; // 0x289d6ec /* 0289D6EC */ _t48 = cpu->r[28] + 0x00000000u; /* 0289D6EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t48); /* 0289D6F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D6F4 */ _t49 = cpu->r[9] + cpu->r[7]; /* 0289D6F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49); /* 0289D6F8 */ cpu->r[5] = cpu->r[5] + cpu->r[8]; /* 0289D6FC */ _t50 = cpu->r[9] + cpu->r[7]; /* 0289D6FC */ rbrew_write32(cpu->mem, _t50, cpu->r[5]); /* 0289D700 */ _t51 = cpu->r[28] + 0x00000024u; /* 0289D700 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51); /* 0289D704 */ _t52 = cpu->r[6] + cpu->r[4]; /* 0289D704 */ cpu->r[11] = rbrew_read8(cpu->mem, _t52); /* 0289D708 */ cpu->r[11] = cpu->r[11] | 0x00000001u; /* 0289D70C */ _t53 = cpu->r[6] + cpu->r[4]; /* 0289D70C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[11]); /* 0289D710 */ _t54 = cpu->r[28] + 0x00000020u; /* 0289D710 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54); /* 0289D714 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289D718 */ _t55 = cpu->r[5] + cpu->r[0]; /* 0289D718 */ cpu->r[12] = rbrew_read16(cpu->mem, _t55); /* 0289D71C */ /* nop */ /* 0289D720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D724 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D724 */ _t57 = _t56 & 0x00000001u; /* 0289D724 */ if (_t57) goto L_0289D728; else goto L_0289D6EC; L_0289D728: ; // 0x289d728 /* 0289D728 */ _t58 = cpu->r[29] + 0x00000012u; /* 0289D728 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t58); /* 0289D72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289D730 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D730 */ _t60 = _t59 & 0x00000001u; /* 0289D730 */ if (_t60) goto L_0289D7C4; else goto L_0289D734; L_0289D734: ; // 0x289d734 /* 0289D734 */ cpu->r[5] = 0x0000000Eu; /* 0289D738 */ cpu->r[3] = cpu->r[27]; /* 0289D73C */ Gambit_fn_0287B904(cpu); /* 0289D740 */ cpu->r[9] = cpu->r[3]; /* 0289D744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289D748 */ _t61 = cpu->r[28] + 0x00000020u; /* 0289D748 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61); /* 0289D74C */ cpu->r[4] = 0x00000000u; /* 0289D750 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D750 */ _t63 = _t62 & 0x00000001u; /* 0289D750 */ if (_t63) goto L_0289D754; else goto L_0289D768; L_0289D754: ; // 0x289d754 /* 0289D754 */ _t64 = cpu->r[5] + 0x00000000u; /* 0289D754 */ cpu->r[7] = rbrew_read16(cpu->mem, _t64); /* 0289D758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 0289D75C */ cpu->r[0] = 0x00000000u; /* 0289D760 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D760 */ _t66 = _t65 & 0x00000001u; /* 0289D760 */ if (_t66) goto L_0289D7C4; else goto L_0289D764; L_0289D764: ; // 0x289d764 /* 0289D764 */ goto L_0289D788; L_0289D768: ; // 0x289d768 /* 0289D768 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D76C */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 0289D770 */ _t67 = cpu->r[4] + 0xFFFFFFFEu; /* 0289D770 */ cpu->r[6] = rbrew_read16(cpu->mem, _t67); /* 0289D774 */ cpu->r[4] = cpu->r[6] + 0x00000001u; /* 0289D778 */ _t68 = cpu->r[5] + cpu->r[0]; /* 0289D778 */ cpu->r[7] = rbrew_read16(cpu->mem, _t68); /* 0289D77C */ /* nop */ /* 0289D780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 0289D784 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D784 */ _t70 = _t69 & 0x00000001u; /* 0289D784 */ if (_t70) goto L_0289D7C4; else goto L_0289D788; L_0289D788: ; // 0x289d788 /* 0289D788 */ _t71 = cpu->r[28] + 0x00000004u; /* 0289D788 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71); /* 0289D78C */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D790 */ _t72 = cpu->r[10] + cpu->r[7]; /* 0289D790 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72); /* 0289D794 */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 0289D798 */ _t73 = cpu->r[10] + cpu->r[7]; /* 0289D798 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]); /* 0289D79C */ _t74 = cpu->r[28] + 0x00000024u; /* 0289D79C */ cpu->r[6] = rbrew_read32(cpu->mem, _t74); /* 0289D7A0 */ _t75 = cpu->r[6] + cpu->r[4]; /* 0289D7A0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t75); /* 0289D7A4 */ cpu->r[10] = cpu->r[10] | 0x00000002u; /* 0289D7A8 */ _t76 = cpu->r[6] + cpu->r[4]; /* 0289D7A8 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[10]); /* 0289D7AC */ _t77 = cpu->r[28] + 0x00000020u; /* 0289D7AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t77); /* 0289D7B0 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289D7B4 */ _t78 = cpu->r[5] + cpu->r[0]; /* 0289D7B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t78); /* 0289D7B8 */ /* nop */ /* 0289D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D7C0 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D7C0 */ _t80 = _t79 & 0x00000001u; /* 0289D7C0 */ if (_t80) goto L_0289D7C4; else goto L_0289D788; L_0289D7C4: ; // 0x289d7c4 /* 0289D7C4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289D7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289D7C8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFCu; /* 0289D7CC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D7CC */ _t82 = _t81 & 0x00000001u; /* 0289D7CC */ if (_t82) goto L_0289D7E8; else goto L_0289D7D0; L_0289D7D0: ; // 0x289d7d0 /* 0289D7D0 */ _t83 = cpu->r[29] + 0x00000018u; /* 0289D7D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83); /* 0289D7D4 */ goto L_0289D660; L_0289D7D8: ; // 0x289d7d8 /* 0289D7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]); /* 0289D7DC */ _t84 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D7DC */ _t85 = _t84 & 0x00000001u; /* 0289D7DC */ if (_t85) goto L_0289D7E8; else goto L_0289D7E0; L_0289D7E0: ; // 0x289d7e0 /* 0289D7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[25]); /* 0289D7E4 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D7E4 */ _t87 = _t86 & 0x00000001u; /* 0289D7E4 */ if (_t87) goto L_0289D610; else goto L_0289D7E8; L_0289D7E8: ; // 0x289d7e8 /* 0289D7E8 */ /* nop */ /* 0289D7EC */ _t88 = cpu->r[1] + 0x0000002Cu; /* 0289D7EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 0289D7F0 */ cpu->lr = cpu->r[0]; /* 0289D7F4 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D7F8 */ return; } // fn_0289D7FC @ 0x289d7fc void Gambit_fn_0289D7FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289D554: ; // 0x289d554 /* 0289D554 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D554 */ cpu->r[1] = _t0; /* 0289D558 */ /* nop */ /* 0289D55C */ cpu->r[0] = cpu->lr; /* 0289D560 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D560 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D564 */ cpu->r[29] = cpu->r[3]; /* 0289D568 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D568 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289D56C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289D570 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D570 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 0289D574 */ _t4 = cpu->r[11] + 0x00000000u; /* 0289D574 */ cpu->r[26] = rbrew_read32(cpu->mem, _t4); /* 0289D578 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D57C */ cpu->r[30] = cpu->r[4]; /* 0289D580 */ cpu->r[4] = cpu->r[11] - cpu->r[0]; /* 0289D584 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFCu; /* 0289D588 */ _t5 = cpu->r[29] + 0x00000018u; /* 0289D588 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D58C */ _t6 = cpu->r[4] + 0xFFFFFFFCu; /* 0289D58C */ cpu->r[25] = rbrew_read32(cpu->mem, _t6); /* 0289D590 */ cpu->r[31] = cpu->r[5]; /* 0289D594 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D598 */ _t7 = cpu->r[29] + 0x00000024u; /* 0289D598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0289D59C */ cpu->r[5] = cpu->r[0] - cpu->r[4]; /* 0289D5A0 */ _t8 = cpu->r[29] + 0x00000018u; /* 0289D5A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0289D5A4 */ _t9 = cpu->r[8] + 0x000000F4u; /* 0289D5A4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9); /* 0289D5A8 */ cpu->r[24] = 0x00000000u; /* 0289D5AC */ _t10 = cpu->r[29] + 0x00000000u; /* 0289D5AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t10); /* 0289D5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289D5B4 */ _t11 = cpu->r[8] + 0x00000012u; /* 0289D5B4 */ cpu->r[27] = rbrew_read16(cpu->mem, _t11); /* 0289D5B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D5B8 */ _t13 = _t12 & 0x00000001u; /* 0289D5B8 */ if (_t13) goto L_0289D5BC; else goto L_0289D5D8; L_0289D5BC: ; // 0x289d5bc /* 0289D5BC */ cpu->r[3] = cpu->r[29]; /* 0289D5C0 */ Gambit_fn_028974D0(cpu); /* 0289D5C4 */ cpu->r[4] = cpu->r[3]; /* 0289D5C8 */ cpu->r[3] = cpu->r[27]; /* 0289D5CC */ cpu->r[5] = 0x00000010u; /* 0289D5D0 */ Gambit_fn_0287B904(cpu); /* 0289D5D4 */ cpu->r[27] = cpu->r[3]; L_0289D5D8: ; // 0x289d5d8 /* 0289D5D8 */ cpu->r[7] = cpu->r[27] - cpu->r[30]; /* 0289D5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[25]); /* 0289D5E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D5E4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D5E4 */ _t15 = _t14 & 0x00000001u; /* 0289D5E4 */ if (_t15) goto L_0289D5E8; else goto L_0289D7E8; L_0289D5E8: ; // 0x289d5e8 /* 0289D5E8 */ _t16 = cpu->r[29] + 0x00000018u; /* 0289D5E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0289D5EC */ cpu->r[8] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D5F0 */ _t17 = cpu->r[4] + cpu->r[8]; /* 0289D5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0289D5F4 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D5F8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D5FC */ cpu->r[12] = cpu->r[4] + cpu->r[8]; /* 0289D600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]); /* 0289D604 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D608 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D608 */ _t19 = _t18 & 0x00000001u; /* 0289D608 */ if (_t19) goto L_0289D628; else goto L_0289D60C; L_0289D60C: ; // 0x289d60c /* 0289D60C */ goto L_0289D7D8; L_0289D610: ; // 0x289d610 /* 0289D610 */ _t20 = cpu->r[12] + 0x00000000u; /* 0289D610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289D614 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D618 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D61C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]); /* 0289D620 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D624 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D624 */ _t22 = _t21 & 0x00000001u; /* 0289D624 */ if (_t22) goto L_0289D628; else goto L_0289D7D8; L_0289D628: ; // 0x289d628 /* 0289D628 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000008u); /* 0289D630 */ cpu->r[0] = 0x00000008u; /* 0289D634 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D634 */ _t24 = _t23 & 0x00000001u; /* 0289D634 */ if (_t24) goto L_0289D63C; else goto L_0289D638; L_0289D638: ; // 0x289d638 /* 0289D638 */ cpu->r[0] = 0x00000007u; L_0289D63C: ; // 0x289d63c /* 0289D63C */ cpu->r[24] = cpu->r[25] + cpu->r[26]; /* 0289D640 */ cpu->r[27] = cpu->r[27] - cpu->r[0]; /* 0289D644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[24]); /* 0289D648 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D64C */ cpu->r[30] = cpu->r[26]; /* 0289D650 */ /* nop */ /* 0289D654 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D654 */ _t26 = _t25 & 0x00000001u; /* 0289D654 */ if (_t26) goto L_0289D658; else goto L_0289D7E8; L_0289D658: ; // 0x289d658 /* 0289D658 */ _t27 = cpu->r[28] + 0x00000020u; /* 0289D658 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 0289D65C */ cpu->r[31] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D660: ; // 0x289d660 /* 0289D660 */ _t28 = cpu->r[5] + 0x00000000u; /* 0289D660 */ cpu->r[10] = rbrew_read16(cpu->mem, _t28); /* 0289D664 */ cpu->r[9] = cpu->r[4] + cpu->r[31]; /* 0289D668 */ _t29 = cpu->r[9] + 0x00000002u; /* 0289D668 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t29); /* 0289D66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0289D670 */ cpu->r[26] = 0x00000000u; /* 0289D674 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D674 */ _t31 = _t30 & 0x00000001u; /* 0289D674 */ if (_t31) goto L_0289D678; else goto L_0289D68C; L_0289D678: ; // 0x289d678 /* 0289D678 */ cpu->r[10] = cpu->r[5]; L_0289D67C: ; // 0x289d67c /* 0289D67C */ _t32 = cpu->r[10] + 0x00000002u; /* 0289D67C */ cpu->r[11] = rbrew_read16(cpu->mem, _t32); /* 0289D67C */ cpu->r[10] = _t32; /* 0289D680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 0289D684 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289D688 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D688 */ _t34 = _t33 & 0x00000001u; /* 0289D688 */ if (_t34) goto L_0289D67C; else goto L_0289D68C; L_0289D68C: ; // 0x289d68c /* 0289D68C */ _t35 = cpu->r[29] + 0x00000010u; /* 0289D68C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t35); /* 0289D690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289D694 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D694 */ _t37 = _t36 & 0x00000001u; /* 0289D694 */ if (_t37) goto L_0289D728; else goto L_0289D698; L_0289D698: ; // 0x289d698 /* 0289D698 */ cpu->r[5] = 0x0000000Eu; /* 0289D69C */ cpu->r[3] = cpu->r[27]; /* 0289D6A0 */ Gambit_fn_0287B904(cpu); /* 0289D6A4 */ cpu->r[8] = cpu->r[3]; /* 0289D6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289D6AC */ _t38 = cpu->r[28] + 0x00000020u; /* 0289D6AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t38); /* 0289D6B0 */ cpu->r[4] = 0x00000000u; /* 0289D6B4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D6B4 */ _t40 = _t39 & 0x00000001u; /* 0289D6B4 */ if (_t40) goto L_0289D6B8; else goto L_0289D6CC; L_0289D6B8: ; // 0x289d6b8 /* 0289D6B8 */ _t41 = cpu->r[5] + 0x00000000u; /* 0289D6B8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t41); /* 0289D6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D6C0 */ cpu->r[0] = 0x00000000u; /* 0289D6C4 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D6C4 */ _t43 = _t42 & 0x00000001u; /* 0289D6C4 */ if (_t43) goto L_0289D728; else goto L_0289D6C8; L_0289D6C8: ; // 0x289d6c8 /* 0289D6C8 */ goto L_0289D6EC; L_0289D6CC: ; // 0x289d6cc /* 0289D6CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D6D0 */ cpu->r[12] = cpu->r[5] + cpu->r[0]; /* 0289D6D4 */ _t44 = cpu->r[12] + 0xFFFFFFFEu; /* 0289D6D4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t44); /* 0289D6D8 */ cpu->r[4] = cpu->r[11] + 0x00000001u; /* 0289D6DC */ _t45 = cpu->r[5] + cpu->r[0]; /* 0289D6DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t45); /* 0289D6E0 */ /* nop */ /* 0289D6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D6E8 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D6E8 */ _t47 = _t46 & 0x00000001u; /* 0289D6E8 */ if (_t47) goto L_0289D728; else goto L_0289D6EC; L_0289D6EC: ; // 0x289d6ec /* 0289D6EC */ _t48 = cpu->r[28] + 0x00000000u; /* 0289D6EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t48); /* 0289D6F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D6F4 */ _t49 = cpu->r[9] + cpu->r[7]; /* 0289D6F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49); /* 0289D6F8 */ cpu->r[5] = cpu->r[5] + cpu->r[8]; /* 0289D6FC */ _t50 = cpu->r[9] + cpu->r[7]; /* 0289D6FC */ rbrew_write32(cpu->mem, _t50, cpu->r[5]); /* 0289D700 */ _t51 = cpu->r[28] + 0x00000024u; /* 0289D700 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51); /* 0289D704 */ _t52 = cpu->r[6] + cpu->r[4]; /* 0289D704 */ cpu->r[11] = rbrew_read8(cpu->mem, _t52); /* 0289D708 */ cpu->r[11] = cpu->r[11] | 0x00000001u; /* 0289D70C */ _t53 = cpu->r[6] + cpu->r[4]; /* 0289D70C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[11]); /* 0289D710 */ _t54 = cpu->r[28] + 0x00000020u; /* 0289D710 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54); /* 0289D714 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289D718 */ _t55 = cpu->r[5] + cpu->r[0]; /* 0289D718 */ cpu->r[12] = rbrew_read16(cpu->mem, _t55); /* 0289D71C */ /* nop */ /* 0289D720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D724 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D724 */ _t57 = _t56 & 0x00000001u; /* 0289D724 */ if (_t57) goto L_0289D728; else goto L_0289D6EC; L_0289D728: ; // 0x289d728 /* 0289D728 */ _t58 = cpu->r[29] + 0x00000012u; /* 0289D728 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t58); /* 0289D72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289D730 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D730 */ _t60 = _t59 & 0x00000001u; /* 0289D730 */ if (_t60) goto L_0289D7C4; else goto L_0289D734; L_0289D734: ; // 0x289d734 /* 0289D734 */ cpu->r[5] = 0x0000000Eu; /* 0289D738 */ cpu->r[3] = cpu->r[27]; /* 0289D73C */ Gambit_fn_0287B904(cpu); /* 0289D740 */ cpu->r[9] = cpu->r[3]; /* 0289D744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289D748 */ _t61 = cpu->r[28] + 0x00000020u; /* 0289D748 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61); /* 0289D74C */ cpu->r[4] = 0x00000000u; /* 0289D750 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D750 */ _t63 = _t62 & 0x00000001u; /* 0289D750 */ if (_t63) goto L_0289D754; else goto L_0289D768; L_0289D754: ; // 0x289d754 /* 0289D754 */ _t64 = cpu->r[5] + 0x00000000u; /* 0289D754 */ cpu->r[7] = rbrew_read16(cpu->mem, _t64); /* 0289D758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 0289D75C */ cpu->r[0] = 0x00000000u; /* 0289D760 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D760 */ _t66 = _t65 & 0x00000001u; /* 0289D760 */ if (_t66) goto L_0289D7C4; else goto L_0289D764; L_0289D764: ; // 0x289d764 /* 0289D764 */ goto L_0289D788; L_0289D768: ; // 0x289d768 /* 0289D768 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D76C */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 0289D770 */ _t67 = cpu->r[4] + 0xFFFFFFFEu; /* 0289D770 */ cpu->r[6] = rbrew_read16(cpu->mem, _t67); /* 0289D774 */ cpu->r[4] = cpu->r[6] + 0x00000001u; /* 0289D778 */ _t68 = cpu->r[5] + cpu->r[0]; /* 0289D778 */ cpu->r[7] = rbrew_read16(cpu->mem, _t68); /* 0289D77C */ /* nop */ /* 0289D780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 0289D784 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D784 */ _t70 = _t69 & 0x00000001u; /* 0289D784 */ if (_t70) goto L_0289D7C4; else goto L_0289D788; L_0289D788: ; // 0x289d788 /* 0289D788 */ _t71 = cpu->r[28] + 0x00000004u; /* 0289D788 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71); /* 0289D78C */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D790 */ _t72 = cpu->r[10] + cpu->r[7]; /* 0289D790 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72); /* 0289D794 */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 0289D798 */ _t73 = cpu->r[10] + cpu->r[7]; /* 0289D798 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]); /* 0289D79C */ _t74 = cpu->r[28] + 0x00000024u; /* 0289D79C */ cpu->r[6] = rbrew_read32(cpu->mem, _t74); /* 0289D7A0 */ _t75 = cpu->r[6] + cpu->r[4]; /* 0289D7A0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t75); /* 0289D7A4 */ cpu->r[10] = cpu->r[10] | 0x00000002u; /* 0289D7A8 */ _t76 = cpu->r[6] + cpu->r[4]; /* 0289D7A8 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[10]); /* 0289D7AC */ _t77 = cpu->r[28] + 0x00000020u; /* 0289D7AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t77); /* 0289D7B0 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289D7B4 */ _t78 = cpu->r[5] + cpu->r[0]; /* 0289D7B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t78); /* 0289D7B8 */ /* nop */ /* 0289D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D7C0 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D7C0 */ _t80 = _t79 & 0x00000001u; /* 0289D7C0 */ if (_t80) goto L_0289D7C4; else goto L_0289D788; L_0289D7C4: ; // 0x289d7c4 /* 0289D7C4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289D7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289D7C8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFCu; /* 0289D7CC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D7CC */ _t82 = _t81 & 0x00000001u; /* 0289D7CC */ if (_t82) goto L_0289D7E8; else goto L_0289D7D0; L_0289D7D0: ; // 0x289d7d0 /* 0289D7D0 */ _t83 = cpu->r[29] + 0x00000018u; /* 0289D7D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83); /* 0289D7D4 */ goto L_0289D660; L_0289D7D8: ; // 0x289d7d8 /* 0289D7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]); /* 0289D7DC */ _t84 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D7DC */ _t85 = _t84 & 0x00000001u; /* 0289D7DC */ if (_t85) goto L_0289D7E8; else goto L_0289D7E0; L_0289D7E0: ; // 0x289d7e0 /* 0289D7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[25]); /* 0289D7E4 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D7E4 */ _t87 = _t86 & 0x00000001u; /* 0289D7E4 */ if (_t87) goto L_0289D610; else goto L_0289D7E8; L_0289D7E8: ; // 0x289d7e8 /* 0289D7E8 */ /* nop */ /* 0289D7EC */ _t88 = cpu->r[1] + 0x0000002Cu; /* 0289D7EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 0289D7F0 */ cpu->lr = cpu->r[0]; /* 0289D7F4 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D7F8 */ return; L_0289D7FC: ; // 0x289d7fc /* 0289D7FC */ _t89 = cpu->r[3] + 0x00000024u; /* 0289D7FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t89); /* 0289D800 */ _t90 = cpu->r[12] + 0x0000008Cu; /* 0289D800 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t90); /* 0289D804 */ _t91 = cpu->r[12] + 0x0000008Au; /* 0289D804 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t91); /* 0289D808 */ goto L_0289D554; } // fn_0289D80C @ 0x289d80c void Gambit_fn_0289D80C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289D554: ; // 0x289d554 /* 0289D554 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D554 */ cpu->r[1] = _t0; /* 0289D558 */ /* nop */ /* 0289D55C */ cpu->r[0] = cpu->lr; /* 0289D560 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D560 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D564 */ cpu->r[29] = cpu->r[3]; /* 0289D568 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D568 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289D56C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289D570 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D570 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 0289D574 */ _t4 = cpu->r[11] + 0x00000000u; /* 0289D574 */ cpu->r[26] = rbrew_read32(cpu->mem, _t4); /* 0289D578 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D57C */ cpu->r[30] = cpu->r[4]; /* 0289D580 */ cpu->r[4] = cpu->r[11] - cpu->r[0]; /* 0289D584 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFCu; /* 0289D588 */ _t5 = cpu->r[29] + 0x00000018u; /* 0289D588 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D58C */ _t6 = cpu->r[4] + 0xFFFFFFFCu; /* 0289D58C */ cpu->r[25] = rbrew_read32(cpu->mem, _t6); /* 0289D590 */ cpu->r[31] = cpu->r[5]; /* 0289D594 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D598 */ _t7 = cpu->r[29] + 0x00000024u; /* 0289D598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0289D59C */ cpu->r[5] = cpu->r[0] - cpu->r[4]; /* 0289D5A0 */ _t8 = cpu->r[29] + 0x00000018u; /* 0289D5A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0289D5A4 */ _t9 = cpu->r[8] + 0x000000F4u; /* 0289D5A4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9); /* 0289D5A8 */ cpu->r[24] = 0x00000000u; /* 0289D5AC */ _t10 = cpu->r[29] + 0x00000000u; /* 0289D5AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t10); /* 0289D5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289D5B4 */ _t11 = cpu->r[8] + 0x00000012u; /* 0289D5B4 */ cpu->r[27] = rbrew_read16(cpu->mem, _t11); /* 0289D5B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D5B8 */ _t13 = _t12 & 0x00000001u; /* 0289D5B8 */ if (_t13) goto L_0289D5BC; else goto L_0289D5D8; L_0289D5BC: ; // 0x289d5bc /* 0289D5BC */ cpu->r[3] = cpu->r[29]; /* 0289D5C0 */ Gambit_fn_028974D0(cpu); /* 0289D5C4 */ cpu->r[4] = cpu->r[3]; /* 0289D5C8 */ cpu->r[3] = cpu->r[27]; /* 0289D5CC */ cpu->r[5] = 0x00000010u; /* 0289D5D0 */ Gambit_fn_0287B904(cpu); /* 0289D5D4 */ cpu->r[27] = cpu->r[3]; L_0289D5D8: ; // 0x289d5d8 /* 0289D5D8 */ cpu->r[7] = cpu->r[27] - cpu->r[30]; /* 0289D5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[25]); /* 0289D5E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D5E4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D5E4 */ _t15 = _t14 & 0x00000001u; /* 0289D5E4 */ if (_t15) goto L_0289D5E8; else goto L_0289D7E8; L_0289D5E8: ; // 0x289d5e8 /* 0289D5E8 */ _t16 = cpu->r[29] + 0x00000018u; /* 0289D5E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0289D5EC */ cpu->r[8] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D5F0 */ _t17 = cpu->r[4] + cpu->r[8]; /* 0289D5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0289D5F4 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D5F8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D5FC */ cpu->r[12] = cpu->r[4] + cpu->r[8]; /* 0289D600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]); /* 0289D604 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D608 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D608 */ _t19 = _t18 & 0x00000001u; /* 0289D608 */ if (_t19) goto L_0289D628; else goto L_0289D60C; L_0289D60C: ; // 0x289d60c /* 0289D60C */ goto L_0289D7D8; L_0289D610: ; // 0x289d610 /* 0289D610 */ _t20 = cpu->r[12] + 0x00000000u; /* 0289D610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289D614 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D618 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D61C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]); /* 0289D620 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D624 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D624 */ _t22 = _t21 & 0x00000001u; /* 0289D624 */ if (_t22) goto L_0289D628; else goto L_0289D7D8; L_0289D628: ; // 0x289d628 /* 0289D628 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000008u); /* 0289D630 */ cpu->r[0] = 0x00000008u; /* 0289D634 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D634 */ _t24 = _t23 & 0x00000001u; /* 0289D634 */ if (_t24) goto L_0289D63C; else goto L_0289D638; L_0289D638: ; // 0x289d638 /* 0289D638 */ cpu->r[0] = 0x00000007u; L_0289D63C: ; // 0x289d63c /* 0289D63C */ cpu->r[24] = cpu->r[25] + cpu->r[26]; /* 0289D640 */ cpu->r[27] = cpu->r[27] - cpu->r[0]; /* 0289D644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[24]); /* 0289D648 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D64C */ cpu->r[30] = cpu->r[26]; /* 0289D650 */ /* nop */ /* 0289D654 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D654 */ _t26 = _t25 & 0x00000001u; /* 0289D654 */ if (_t26) goto L_0289D658; else goto L_0289D7E8; L_0289D658: ; // 0x289d658 /* 0289D658 */ _t27 = cpu->r[28] + 0x00000020u; /* 0289D658 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 0289D65C */ cpu->r[31] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D660: ; // 0x289d660 /* 0289D660 */ _t28 = cpu->r[5] + 0x00000000u; /* 0289D660 */ cpu->r[10] = rbrew_read16(cpu->mem, _t28); /* 0289D664 */ cpu->r[9] = cpu->r[4] + cpu->r[31]; /* 0289D668 */ _t29 = cpu->r[9] + 0x00000002u; /* 0289D668 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t29); /* 0289D66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0289D670 */ cpu->r[26] = 0x00000000u; /* 0289D674 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D674 */ _t31 = _t30 & 0x00000001u; /* 0289D674 */ if (_t31) goto L_0289D678; else goto L_0289D68C; L_0289D678: ; // 0x289d678 /* 0289D678 */ cpu->r[10] = cpu->r[5]; L_0289D67C: ; // 0x289d67c /* 0289D67C */ _t32 = cpu->r[10] + 0x00000002u; /* 0289D67C */ cpu->r[11] = rbrew_read16(cpu->mem, _t32); /* 0289D67C */ cpu->r[10] = _t32; /* 0289D680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 0289D684 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289D688 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D688 */ _t34 = _t33 & 0x00000001u; /* 0289D688 */ if (_t34) goto L_0289D67C; else goto L_0289D68C; L_0289D68C: ; // 0x289d68c /* 0289D68C */ _t35 = cpu->r[29] + 0x00000010u; /* 0289D68C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t35); /* 0289D690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289D694 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D694 */ _t37 = _t36 & 0x00000001u; /* 0289D694 */ if (_t37) goto L_0289D728; else goto L_0289D698; L_0289D698: ; // 0x289d698 /* 0289D698 */ cpu->r[5] = 0x0000000Eu; /* 0289D69C */ cpu->r[3] = cpu->r[27]; /* 0289D6A0 */ Gambit_fn_0287B904(cpu); /* 0289D6A4 */ cpu->r[8] = cpu->r[3]; /* 0289D6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289D6AC */ _t38 = cpu->r[28] + 0x00000020u; /* 0289D6AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t38); /* 0289D6B0 */ cpu->r[4] = 0x00000000u; /* 0289D6B4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D6B4 */ _t40 = _t39 & 0x00000001u; /* 0289D6B4 */ if (_t40) goto L_0289D6B8; else goto L_0289D6CC; L_0289D6B8: ; // 0x289d6b8 /* 0289D6B8 */ _t41 = cpu->r[5] + 0x00000000u; /* 0289D6B8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t41); /* 0289D6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D6C0 */ cpu->r[0] = 0x00000000u; /* 0289D6C4 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D6C4 */ _t43 = _t42 & 0x00000001u; /* 0289D6C4 */ if (_t43) goto L_0289D728; else goto L_0289D6C8; L_0289D6C8: ; // 0x289d6c8 /* 0289D6C8 */ goto L_0289D6EC; L_0289D6CC: ; // 0x289d6cc /* 0289D6CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D6D0 */ cpu->r[12] = cpu->r[5] + cpu->r[0]; /* 0289D6D4 */ _t44 = cpu->r[12] + 0xFFFFFFFEu; /* 0289D6D4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t44); /* 0289D6D8 */ cpu->r[4] = cpu->r[11] + 0x00000001u; /* 0289D6DC */ _t45 = cpu->r[5] + cpu->r[0]; /* 0289D6DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t45); /* 0289D6E0 */ /* nop */ /* 0289D6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D6E8 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D6E8 */ _t47 = _t46 & 0x00000001u; /* 0289D6E8 */ if (_t47) goto L_0289D728; else goto L_0289D6EC; L_0289D6EC: ; // 0x289d6ec /* 0289D6EC */ _t48 = cpu->r[28] + 0x00000000u; /* 0289D6EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t48); /* 0289D6F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D6F4 */ _t49 = cpu->r[9] + cpu->r[7]; /* 0289D6F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49); /* 0289D6F8 */ cpu->r[5] = cpu->r[5] + cpu->r[8]; /* 0289D6FC */ _t50 = cpu->r[9] + cpu->r[7]; /* 0289D6FC */ rbrew_write32(cpu->mem, _t50, cpu->r[5]); /* 0289D700 */ _t51 = cpu->r[28] + 0x00000024u; /* 0289D700 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51); /* 0289D704 */ _t52 = cpu->r[6] + cpu->r[4]; /* 0289D704 */ cpu->r[11] = rbrew_read8(cpu->mem, _t52); /* 0289D708 */ cpu->r[11] = cpu->r[11] | 0x00000001u; /* 0289D70C */ _t53 = cpu->r[6] + cpu->r[4]; /* 0289D70C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[11]); /* 0289D710 */ _t54 = cpu->r[28] + 0x00000020u; /* 0289D710 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54); /* 0289D714 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289D718 */ _t55 = cpu->r[5] + cpu->r[0]; /* 0289D718 */ cpu->r[12] = rbrew_read16(cpu->mem, _t55); /* 0289D71C */ /* nop */ /* 0289D720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D724 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D724 */ _t57 = _t56 & 0x00000001u; /* 0289D724 */ if (_t57) goto L_0289D728; else goto L_0289D6EC; L_0289D728: ; // 0x289d728 /* 0289D728 */ _t58 = cpu->r[29] + 0x00000012u; /* 0289D728 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t58); /* 0289D72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289D730 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D730 */ _t60 = _t59 & 0x00000001u; /* 0289D730 */ if (_t60) goto L_0289D7C4; else goto L_0289D734; L_0289D734: ; // 0x289d734 /* 0289D734 */ cpu->r[5] = 0x0000000Eu; /* 0289D738 */ cpu->r[3] = cpu->r[27]; /* 0289D73C */ Gambit_fn_0287B904(cpu); /* 0289D740 */ cpu->r[9] = cpu->r[3]; /* 0289D744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289D748 */ _t61 = cpu->r[28] + 0x00000020u; /* 0289D748 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61); /* 0289D74C */ cpu->r[4] = 0x00000000u; /* 0289D750 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D750 */ _t63 = _t62 & 0x00000001u; /* 0289D750 */ if (_t63) goto L_0289D754; else goto L_0289D768; L_0289D754: ; // 0x289d754 /* 0289D754 */ _t64 = cpu->r[5] + 0x00000000u; /* 0289D754 */ cpu->r[7] = rbrew_read16(cpu->mem, _t64); /* 0289D758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 0289D75C */ cpu->r[0] = 0x00000000u; /* 0289D760 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D760 */ _t66 = _t65 & 0x00000001u; /* 0289D760 */ if (_t66) goto L_0289D7C4; else goto L_0289D764; L_0289D764: ; // 0x289d764 /* 0289D764 */ goto L_0289D788; L_0289D768: ; // 0x289d768 /* 0289D768 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D76C */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 0289D770 */ _t67 = cpu->r[4] + 0xFFFFFFFEu; /* 0289D770 */ cpu->r[6] = rbrew_read16(cpu->mem, _t67); /* 0289D774 */ cpu->r[4] = cpu->r[6] + 0x00000001u; /* 0289D778 */ _t68 = cpu->r[5] + cpu->r[0]; /* 0289D778 */ cpu->r[7] = rbrew_read16(cpu->mem, _t68); /* 0289D77C */ /* nop */ /* 0289D780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 0289D784 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D784 */ _t70 = _t69 & 0x00000001u; /* 0289D784 */ if (_t70) goto L_0289D7C4; else goto L_0289D788; L_0289D788: ; // 0x289d788 /* 0289D788 */ _t71 = cpu->r[28] + 0x00000004u; /* 0289D788 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71); /* 0289D78C */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D790 */ _t72 = cpu->r[10] + cpu->r[7]; /* 0289D790 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72); /* 0289D794 */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 0289D798 */ _t73 = cpu->r[10] + cpu->r[7]; /* 0289D798 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]); /* 0289D79C */ _t74 = cpu->r[28] + 0x00000024u; /* 0289D79C */ cpu->r[6] = rbrew_read32(cpu->mem, _t74); /* 0289D7A0 */ _t75 = cpu->r[6] + cpu->r[4]; /* 0289D7A0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t75); /* 0289D7A4 */ cpu->r[10] = cpu->r[10] | 0x00000002u; /* 0289D7A8 */ _t76 = cpu->r[6] + cpu->r[4]; /* 0289D7A8 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[10]); /* 0289D7AC */ _t77 = cpu->r[28] + 0x00000020u; /* 0289D7AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t77); /* 0289D7B0 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289D7B4 */ _t78 = cpu->r[5] + cpu->r[0]; /* 0289D7B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t78); /* 0289D7B8 */ /* nop */ /* 0289D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D7C0 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D7C0 */ _t80 = _t79 & 0x00000001u; /* 0289D7C0 */ if (_t80) goto L_0289D7C4; else goto L_0289D788; L_0289D7C4: ; // 0x289d7c4 /* 0289D7C4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289D7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289D7C8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFCu; /* 0289D7CC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D7CC */ _t82 = _t81 & 0x00000001u; /* 0289D7CC */ if (_t82) goto L_0289D7E8; else goto L_0289D7D0; L_0289D7D0: ; // 0x289d7d0 /* 0289D7D0 */ _t83 = cpu->r[29] + 0x00000018u; /* 0289D7D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83); /* 0289D7D4 */ goto L_0289D660; L_0289D7D8: ; // 0x289d7d8 /* 0289D7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]); /* 0289D7DC */ _t84 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D7DC */ _t85 = _t84 & 0x00000001u; /* 0289D7DC */ if (_t85) goto L_0289D7E8; else goto L_0289D7E0; L_0289D7E0: ; // 0x289d7e0 /* 0289D7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[25]); /* 0289D7E4 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D7E4 */ _t87 = _t86 & 0x00000001u; /* 0289D7E4 */ if (_t87) goto L_0289D610; else goto L_0289D7E8; L_0289D7E8: ; // 0x289d7e8 /* 0289D7E8 */ /* nop */ /* 0289D7EC */ _t88 = cpu->r[1] + 0x0000002Cu; /* 0289D7EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 0289D7F0 */ cpu->lr = cpu->r[0]; /* 0289D7F4 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D7F8 */ return; L_0289D80C: ; // 0x289d80c /* 0289D80C */ _t89 = cpu->r[3] + 0x00000024u; /* 0289D80C */ cpu->r[11] = rbrew_read32(cpu->mem, _t89); /* 0289D810 */ _t90 = cpu->r[11] + 0x0000008Au; /* 0289D810 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t90); /* 0289D814 */ cpu->r[0] = cpu->r[12] + 0x00000010u; /* 0289D818 */ /* nop */ /* 0289D81C */ _t91 = cpu->r[11] + 0x0000008Cu; /* 0289D81C */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t91); /* 0289D820 */ goto L_0289D554; } // fn_0289D824 @ 0x289d824 void Gambit_fn_0289D824(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289D554: ; // 0x289d554 /* 0289D554 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289D554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D554 */ cpu->r[1] = _t0; /* 0289D558 */ /* nop */ /* 0289D55C */ cpu->r[0] = cpu->lr; /* 0289D560 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289D560 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D564 */ cpu->r[29] = cpu->r[3]; /* 0289D568 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D568 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289D56C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 0289D570 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D570 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 0289D574 */ _t4 = cpu->r[11] + 0x00000000u; /* 0289D574 */ cpu->r[26] = rbrew_read32(cpu->mem, _t4); /* 0289D578 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D57C */ cpu->r[30] = cpu->r[4]; /* 0289D580 */ cpu->r[4] = cpu->r[11] - cpu->r[0]; /* 0289D584 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFCu; /* 0289D588 */ _t5 = cpu->r[29] + 0x00000018u; /* 0289D588 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D58C */ _t6 = cpu->r[4] + 0xFFFFFFFCu; /* 0289D58C */ cpu->r[25] = rbrew_read32(cpu->mem, _t6); /* 0289D590 */ cpu->r[31] = cpu->r[5]; /* 0289D594 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D598 */ _t7 = cpu->r[29] + 0x00000024u; /* 0289D598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0289D59C */ cpu->r[5] = cpu->r[0] - cpu->r[4]; /* 0289D5A0 */ _t8 = cpu->r[29] + 0x00000018u; /* 0289D5A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0289D5A4 */ _t9 = cpu->r[8] + 0x000000F4u; /* 0289D5A4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9); /* 0289D5A8 */ cpu->r[24] = 0x00000000u; /* 0289D5AC */ _t10 = cpu->r[29] + 0x00000000u; /* 0289D5AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t10); /* 0289D5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289D5B4 */ _t11 = cpu->r[8] + 0x00000012u; /* 0289D5B4 */ cpu->r[27] = rbrew_read16(cpu->mem, _t11); /* 0289D5B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D5B8 */ _t13 = _t12 & 0x00000001u; /* 0289D5B8 */ if (_t13) goto L_0289D5BC; else goto L_0289D5D8; L_0289D5BC: ; // 0x289d5bc /* 0289D5BC */ cpu->r[3] = cpu->r[29]; /* 0289D5C0 */ Gambit_fn_028974D0(cpu); /* 0289D5C4 */ cpu->r[4] = cpu->r[3]; /* 0289D5C8 */ cpu->r[3] = cpu->r[27]; /* 0289D5CC */ cpu->r[5] = 0x00000010u; /* 0289D5D0 */ Gambit_fn_0287B904(cpu); /* 0289D5D4 */ cpu->r[27] = cpu->r[3]; L_0289D5D8: ; // 0x289d5d8 /* 0289D5D8 */ cpu->r[7] = cpu->r[27] - cpu->r[30]; /* 0289D5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[25]); /* 0289D5E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D5E4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D5E4 */ _t15 = _t14 & 0x00000001u; /* 0289D5E4 */ if (_t15) goto L_0289D5E8; else goto L_0289D7E8; L_0289D5E8: ; // 0x289d5e8 /* 0289D5E8 */ _t16 = cpu->r[29] + 0x00000018u; /* 0289D5E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0289D5EC */ cpu->r[8] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D5F0 */ _t17 = cpu->r[4] + cpu->r[8]; /* 0289D5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0289D5F4 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D5F8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D5FC */ cpu->r[12] = cpu->r[4] + cpu->r[8]; /* 0289D600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]); /* 0289D604 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D608 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D608 */ _t19 = _t18 & 0x00000001u; /* 0289D608 */ if (_t19) goto L_0289D628; else goto L_0289D60C; L_0289D60C: ; // 0x289d60c /* 0289D60C */ goto L_0289D7D8; L_0289D610: ; // 0x289d610 /* 0289D610 */ _t20 = cpu->r[12] + 0x00000000u; /* 0289D610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289D614 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D618 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D61C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]); /* 0289D620 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D624 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D624 */ _t22 = _t21 & 0x00000001u; /* 0289D624 */ if (_t22) goto L_0289D628; else goto L_0289D7D8; L_0289D628: ; // 0x289d628 /* 0289D628 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289D62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000008u); /* 0289D630 */ cpu->r[0] = 0x00000008u; /* 0289D634 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D634 */ _t24 = _t23 & 0x00000001u; /* 0289D634 */ if (_t24) goto L_0289D63C; else goto L_0289D638; L_0289D638: ; // 0x289d638 /* 0289D638 */ cpu->r[0] = 0x00000007u; L_0289D63C: ; // 0x289d63c /* 0289D63C */ cpu->r[24] = cpu->r[25] + cpu->r[26]; /* 0289D640 */ cpu->r[27] = cpu->r[27] - cpu->r[0]; /* 0289D644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[24]); /* 0289D648 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289D64C */ cpu->r[30] = cpu->r[26]; /* 0289D650 */ /* nop */ /* 0289D654 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D654 */ _t26 = _t25 & 0x00000001u; /* 0289D654 */ if (_t26) goto L_0289D658; else goto L_0289D7E8; L_0289D658: ; // 0x289d658 /* 0289D658 */ _t27 = cpu->r[28] + 0x00000020u; /* 0289D658 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 0289D65C */ cpu->r[31] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289D660: ; // 0x289d660 /* 0289D660 */ _t28 = cpu->r[5] + 0x00000000u; /* 0289D660 */ cpu->r[10] = rbrew_read16(cpu->mem, _t28); /* 0289D664 */ cpu->r[9] = cpu->r[4] + cpu->r[31]; /* 0289D668 */ _t29 = cpu->r[9] + 0x00000002u; /* 0289D668 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t29); /* 0289D66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0289D670 */ cpu->r[26] = 0x00000000u; /* 0289D674 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D674 */ _t31 = _t30 & 0x00000001u; /* 0289D674 */ if (_t31) goto L_0289D678; else goto L_0289D68C; L_0289D678: ; // 0x289d678 /* 0289D678 */ cpu->r[10] = cpu->r[5]; L_0289D67C: ; // 0x289d67c /* 0289D67C */ _t32 = cpu->r[10] + 0x00000002u; /* 0289D67C */ cpu->r[11] = rbrew_read16(cpu->mem, _t32); /* 0289D67C */ cpu->r[10] = _t32; /* 0289D680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 0289D684 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289D688 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D688 */ _t34 = _t33 & 0x00000001u; /* 0289D688 */ if (_t34) goto L_0289D67C; else goto L_0289D68C; L_0289D68C: ; // 0x289d68c /* 0289D68C */ _t35 = cpu->r[29] + 0x00000010u; /* 0289D68C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t35); /* 0289D690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289D694 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D694 */ _t37 = _t36 & 0x00000001u; /* 0289D694 */ if (_t37) goto L_0289D728; else goto L_0289D698; L_0289D698: ; // 0x289d698 /* 0289D698 */ cpu->r[5] = 0x0000000Eu; /* 0289D69C */ cpu->r[3] = cpu->r[27]; /* 0289D6A0 */ Gambit_fn_0287B904(cpu); /* 0289D6A4 */ cpu->r[8] = cpu->r[3]; /* 0289D6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289D6AC */ _t38 = cpu->r[28] + 0x00000020u; /* 0289D6AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t38); /* 0289D6B0 */ cpu->r[4] = 0x00000000u; /* 0289D6B4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D6B4 */ _t40 = _t39 & 0x00000001u; /* 0289D6B4 */ if (_t40) goto L_0289D6B8; else goto L_0289D6CC; L_0289D6B8: ; // 0x289d6b8 /* 0289D6B8 */ _t41 = cpu->r[5] + 0x00000000u; /* 0289D6B8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t41); /* 0289D6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D6C0 */ cpu->r[0] = 0x00000000u; /* 0289D6C4 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D6C4 */ _t43 = _t42 & 0x00000001u; /* 0289D6C4 */ if (_t43) goto L_0289D728; else goto L_0289D6C8; L_0289D6C8: ; // 0x289d6c8 /* 0289D6C8 */ goto L_0289D6EC; L_0289D6CC: ; // 0x289d6cc /* 0289D6CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D6D0 */ cpu->r[12] = cpu->r[5] + cpu->r[0]; /* 0289D6D4 */ _t44 = cpu->r[12] + 0xFFFFFFFEu; /* 0289D6D4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t44); /* 0289D6D8 */ cpu->r[4] = cpu->r[11] + 0x00000001u; /* 0289D6DC */ _t45 = cpu->r[5] + cpu->r[0]; /* 0289D6DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t45); /* 0289D6E0 */ /* nop */ /* 0289D6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D6E8 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D6E8 */ _t47 = _t46 & 0x00000001u; /* 0289D6E8 */ if (_t47) goto L_0289D728; else goto L_0289D6EC; L_0289D6EC: ; // 0x289d6ec /* 0289D6EC */ _t48 = cpu->r[28] + 0x00000000u; /* 0289D6EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t48); /* 0289D6F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D6F4 */ _t49 = cpu->r[9] + cpu->r[7]; /* 0289D6F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49); /* 0289D6F8 */ cpu->r[5] = cpu->r[5] + cpu->r[8]; /* 0289D6FC */ _t50 = cpu->r[9] + cpu->r[7]; /* 0289D6FC */ rbrew_write32(cpu->mem, _t50, cpu->r[5]); /* 0289D700 */ _t51 = cpu->r[28] + 0x00000024u; /* 0289D700 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51); /* 0289D704 */ _t52 = cpu->r[6] + cpu->r[4]; /* 0289D704 */ cpu->r[11] = rbrew_read8(cpu->mem, _t52); /* 0289D708 */ cpu->r[11] = cpu->r[11] | 0x00000001u; /* 0289D70C */ _t53 = cpu->r[6] + cpu->r[4]; /* 0289D70C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[11]); /* 0289D710 */ _t54 = cpu->r[28] + 0x00000020u; /* 0289D710 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54); /* 0289D714 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289D718 */ _t55 = cpu->r[5] + cpu->r[0]; /* 0289D718 */ cpu->r[12] = rbrew_read16(cpu->mem, _t55); /* 0289D71C */ /* nop */ /* 0289D720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D724 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D724 */ _t57 = _t56 & 0x00000001u; /* 0289D724 */ if (_t57) goto L_0289D728; else goto L_0289D6EC; L_0289D728: ; // 0x289d728 /* 0289D728 */ _t58 = cpu->r[29] + 0x00000012u; /* 0289D728 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t58); /* 0289D72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289D730 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D730 */ _t60 = _t59 & 0x00000001u; /* 0289D730 */ if (_t60) goto L_0289D7C4; else goto L_0289D734; L_0289D734: ; // 0x289d734 /* 0289D734 */ cpu->r[5] = 0x0000000Eu; /* 0289D738 */ cpu->r[3] = cpu->r[27]; /* 0289D73C */ Gambit_fn_0287B904(cpu); /* 0289D740 */ cpu->r[9] = cpu->r[3]; /* 0289D744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289D748 */ _t61 = cpu->r[28] + 0x00000020u; /* 0289D748 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61); /* 0289D74C */ cpu->r[4] = 0x00000000u; /* 0289D750 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D750 */ _t63 = _t62 & 0x00000001u; /* 0289D750 */ if (_t63) goto L_0289D754; else goto L_0289D768; L_0289D754: ; // 0x289d754 /* 0289D754 */ _t64 = cpu->r[5] + 0x00000000u; /* 0289D754 */ cpu->r[7] = rbrew_read16(cpu->mem, _t64); /* 0289D758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 0289D75C */ cpu->r[0] = 0x00000000u; /* 0289D760 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D760 */ _t66 = _t65 & 0x00000001u; /* 0289D760 */ if (_t66) goto L_0289D7C4; else goto L_0289D764; L_0289D764: ; // 0x289d764 /* 0289D764 */ goto L_0289D788; L_0289D768: ; // 0x289d768 /* 0289D768 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D76C */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 0289D770 */ _t67 = cpu->r[4] + 0xFFFFFFFEu; /* 0289D770 */ cpu->r[6] = rbrew_read16(cpu->mem, _t67); /* 0289D774 */ cpu->r[4] = cpu->r[6] + 0x00000001u; /* 0289D778 */ _t68 = cpu->r[5] + cpu->r[0]; /* 0289D778 */ cpu->r[7] = rbrew_read16(cpu->mem, _t68); /* 0289D77C */ /* nop */ /* 0289D780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 0289D784 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D784 */ _t70 = _t69 & 0x00000001u; /* 0289D784 */ if (_t70) goto L_0289D7C4; else goto L_0289D788; L_0289D788: ; // 0x289d788 /* 0289D788 */ _t71 = cpu->r[28] + 0x00000004u; /* 0289D788 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71); /* 0289D78C */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D790 */ _t72 = cpu->r[10] + cpu->r[7]; /* 0289D790 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72); /* 0289D794 */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 0289D798 */ _t73 = cpu->r[10] + cpu->r[7]; /* 0289D798 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]); /* 0289D79C */ _t74 = cpu->r[28] + 0x00000024u; /* 0289D79C */ cpu->r[6] = rbrew_read32(cpu->mem, _t74); /* 0289D7A0 */ _t75 = cpu->r[6] + cpu->r[4]; /* 0289D7A0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t75); /* 0289D7A4 */ cpu->r[10] = cpu->r[10] | 0x00000002u; /* 0289D7A8 */ _t76 = cpu->r[6] + cpu->r[4]; /* 0289D7A8 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[10]); /* 0289D7AC */ _t77 = cpu->r[28] + 0x00000020u; /* 0289D7AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t77); /* 0289D7B0 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289D7B4 */ _t78 = cpu->r[5] + cpu->r[0]; /* 0289D7B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t78); /* 0289D7B8 */ /* nop */ /* 0289D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 0289D7C0 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D7C0 */ _t80 = _t79 & 0x00000001u; /* 0289D7C0 */ if (_t80) goto L_0289D7C4; else goto L_0289D788; L_0289D7C4: ; // 0x289d7c4 /* 0289D7C4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289D7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289D7C8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFCu; /* 0289D7CC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D7CC */ _t82 = _t81 & 0x00000001u; /* 0289D7CC */ if (_t82) goto L_0289D7E8; else goto L_0289D7D0; L_0289D7D0: ; // 0x289d7d0 /* 0289D7D0 */ _t83 = cpu->r[29] + 0x00000018u; /* 0289D7D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83); /* 0289D7D4 */ goto L_0289D660; L_0289D7D8: ; // 0x289d7d8 /* 0289D7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]); /* 0289D7DC */ _t84 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D7DC */ _t85 = _t84 & 0x00000001u; /* 0289D7DC */ if (_t85) goto L_0289D7E8; else goto L_0289D7E0; L_0289D7E0: ; // 0x289d7e0 /* 0289D7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[25]); /* 0289D7E4 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D7E4 */ _t87 = _t86 & 0x00000001u; /* 0289D7E4 */ if (_t87) goto L_0289D610; else goto L_0289D7E8; L_0289D7E8: ; // 0x289d7e8 /* 0289D7E8 */ /* nop */ /* 0289D7EC */ _t88 = cpu->r[1] + 0x0000002Cu; /* 0289D7EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 0289D7F0 */ cpu->lr = cpu->r[0]; /* 0289D7F4 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289D7F8 */ return; L_0289D824: ; // 0x289d824 /* 0289D824 */ _t89 = cpu->r[3] + 0x00000024u; /* 0289D824 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89); /* 0289D828 */ _t90 = cpu->r[11] + 0x0000008Au; /* 0289D828 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t90); /* 0289D82C */ cpu->r[0] = cpu->r[12] + 0x00000020u; /* 0289D830 */ /* nop */ /* 0289D834 */ _t91 = cpu->r[11] + 0x0000008Cu; /* 0289D834 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t91); /* 0289D838 */ goto L_0289D554; } // fn_0289D83C @ 0x289d83c void Gambit_fn_0289D83C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102; L_0289D83C: ; // 0x289d83c /* 0289D83C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0289D83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D83C */ cpu->r[1] = _t0; /* 0289D840 */ /* nop */ /* 0289D844 */ cpu->r[0] = cpu->lr; /* 0289D848 */ _t1 = cpu->r[1] + 0x00000034u; /* 0289D848 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D84C */ cpu->r[29] = cpu->r[3]; /* 0289D850 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D850 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0289D854 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; /* 0289D858 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D858 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]); /* 0289D85C */ _t4 = cpu->r[6] + 0x00000002u; /* 0289D85C */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 0289D860 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFCu; /* 0289D864 */ _t5 = cpu->r[29] + 0x00000018u; /* 0289D864 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D868 */ _t6 = cpu->r[6] + 0xFFFFFFFCu; /* 0289D868 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289D86C */ cpu->r[8] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D870 */ _t7 = cpu->r[29] + 0x00000000u; /* 0289D870 */ cpu->r[27] = rbrew_read32(cpu->mem, _t7); /* 0289D874 */ cpu->r[9] = cpu->r[0] - cpu->r[8]; /* 0289D878 */ _t8 = cpu->r[29] + 0x00000018u; /* 0289D878 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]); /* 0289D87C */ _t9 = cpu->r[27] + 0x00000018u; /* 0289D87C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0289D880 */ _t10 = cpu->r[10] + cpu->r[28]; /* 0289D880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0289D884 */ cpu->r[31] = cpu->r[4]; /* 0289D888 */ cpu->r[30] = cpu->r[5]; /* 0289D88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D890 */ cpu->r[24] = 0x00000000u; /* 0289D894 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D894 */ _t12 = _t11 & 0x00000001u; /* 0289D894 */ if (_t12) goto L_0289DB38; else goto L_0289D898; L_0289D898: ; // 0x289d898 /* 0289D898 */ _t13 = cpu->r[29] + 0x00000024u; /* 0289D898 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 0289D89C */ _t14 = cpu->r[7] + 0x000000F4u; /* 0289D89C */ cpu->r[0] = rbrew_read8(cpu->mem, _t14); /* 0289D8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D8A4 */ _t15 = cpu->r[7] + 0x00000012u; /* 0289D8A4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15); /* 0289D8A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D8A8 */ _t17 = _t16 & 0x00000001u; /* 0289D8A8 */ if (_t17) goto L_0289D8AC; else goto L_0289D8C8; L_0289D8AC: ; // 0x289d8ac /* 0289D8AC */ cpu->r[3] = cpu->r[29]; /* 0289D8B0 */ Gambit_fn_028974D0(cpu); /* 0289D8B4 */ cpu->r[4] = cpu->r[3]; /* 0289D8B8 */ cpu->r[3] = cpu->r[25]; /* 0289D8BC */ cpu->r[5] = 0x00000010u; /* 0289D8C0 */ Gambit_fn_0287B904(cpu); /* 0289D8C4 */ cpu->r[25] = cpu->r[3]; L_0289D8C8: ; // 0x289d8c8 /* 0289D8C8 */ cpu->r[10] = cpu->r[25] - cpu->r[31]; /* 0289D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289D8D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D8D4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D8D4 */ _t19 = _t18 & 0x00000001u; /* 0289D8D4 */ if (_t19) goto L_0289D8D8; else goto L_0289DB38; L_0289D8D8: ; // 0x289d8d8 /* 0289D8D8 */ _t20 = cpu->r[29] + 0x00000018u; /* 0289D8D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289D8DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D8E0 */ _t21 = cpu->r[12] + cpu->r[0]; /* 0289D8E0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 0289D8E0 */ cpu->r[12] = _t21; /* 0289D8E4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D8E8 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D8EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0289D8F0 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D8F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D8F4 */ _t23 = _t22 & 0x00000001u; /* 0289D8F4 */ if (_t23) goto L_0289D914; else goto L_0289D8F8; L_0289D8F8: ; // 0x289d8f8 /* 0289D8F8 */ goto L_0289DB28; L_0289D8FC: ; // 0x289d8fc /* 0289D8FC */ _t24 = cpu->r[12] + 0x00000000u; /* 0289D8FC */ cpu->r[25] = rbrew_read32(cpu->mem, _t24); /* 0289D900 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D904 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0289D90C */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D910 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D910 */ _t26 = _t25 & 0x00000001u; /* 0289D910 */ if (_t26) goto L_0289D914; else goto L_0289DB28; L_0289D914: ; // 0x289d914 /* 0289D914 */ _t27 = cpu->r[27] + 0x00000020u; /* 0289D914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0289D918 */ _t28 = cpu->r[12] + 0x00000000u; /* 0289D918 */ cpu->r[31] = rbrew_read16(cpu->mem, _t28); /* 0289D91C */ cpu->r[26] = cpu->r[28]; /* 0289D920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[31]); /* 0289D924 */ cpu->r[8] = 0x00000000u; /* 0289D928 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D928 */ _t30 = _t29 & 0x00000001u; /* 0289D928 */ if (_t30) goto L_0289D92C; else goto L_0289D948; L_0289D92C: ; // 0x289d92c /* 0289D92C */ cpu->r[11] = cpu->r[12]; L_0289D930: ; // 0x289d930 /* 0289D930 */ _t31 = cpu->r[11] + 0x00000002u; /* 0289D930 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 0289D930 */ cpu->r[11] = _t31; /* 0289D934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 0289D938 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289D93C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D93C */ _t33 = _t32 & 0x00000001u; /* 0289D93C */ if (_t33) goto L_0289D930; else goto L_0289D940; L_0289D940: ; // 0x289d940 /* 0289D940 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D944 */ _t34 = cpu->r[12] + cpu->r[9]; /* 0289D944 */ cpu->r[31] = rbrew_read16(cpu->mem, _t34); /* 0289D944 */ cpu->r[12] = _t34; L_0289D948: ; // 0x289d948 /* 0289D948 */ _t35 = cpu->r[29] + 0x00000044u; /* 0289D948 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35); /* 0289D94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289D950 */ cpu->r[24] = 0x00000000u; /* 0289D954 */ _t36 = cpu->r[27] + 0x00000008u; /* 0289D954 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36); /* 0289D958 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D958 */ _t38 = _t37 & 0x00000001u; /* 0289D958 */ if (_t38) goto L_0289D968; else goto L_0289D95C; L_0289D95C: ; // 0x289d95c /* 0289D95C */ _t39 = cpu->r[12] + 0xFFFFFFFEu; /* 0289D95C */ cpu->r[6] = rbrew_read16(cpu->mem, _t39); /* 0289D960 */ cpu->r[24] = cpu->r[6] + 0x00000001u; /* 0289D964 */ /* nop */ L_0289D968: ; // 0x289d968 /* 0289D968 */ cpu->ctr = cpu->r[7]; /* 0289D96C */ _t40 = cpu->r[27] + 0x0000000Cu; /* 0289D96C */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 0289D970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D974 */ _t41 = cpu->r[8] + cpu->r[0]; /* 0289D974 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41); /* 0289D978 */ cpu->r[3] = cpu->r[29]; /* 0289D97C */ _t42 = cpu->r[9] + cpu->r[0]; /* 0289D97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 0289D980 */ /* nop */ /* 0289D984 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D988 */ cpu->r[23] = cpu->r[3]; /* 0289D98C */ goto L_0289D998; L_0289D990: ; // 0x289d990 /* 0289D990 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289D994 */ /* nop */ L_0289D998: ; // 0x289d998 /* 0289D998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[31]); /* 0289D99C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D99C */ _t44 = _t43 & 0x00000001u; /* 0289D99C */ if (_t44) goto L_0289D9A0; else goto L_0289D9F4; L_0289D9A0: ; // 0x289d9a0 /* 0289D9A0 */ _t45 = cpu->r[27] + 0x00000018u; /* 0289D9A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 0289D9A4 */ cpu->r[7] = cpu->r[10] + cpu->r[26]; /* 0289D9A8 */ _t46 = cpu->r[7] + 0x00000001u; /* 0289D9A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t46); /* 0289D9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289D9B0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D9B0 */ _t48 = _t47 & 0x00000001u; /* 0289D9B0 */ if (_t48) goto L_0289D9F4; else goto L_0289D9B4; L_0289D9B4: ; // 0x289d9b4 /* 0289D9B4 */ _t49 = cpu->r[29] + 0x00000044u; /* 0289D9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 0289D9B8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D9BC */ _t50 = cpu->r[27] + 0x00000008u; /* 0289D9BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t50); /* 0289D9C0 */ cpu->ctr = cpu->r[0]; /* 0289D9C4 */ _t51 = cpu->r[27] + 0x0000000Cu; /* 0289D9C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51); /* 0289D9C8 */ cpu->r[5] = cpu->r[6] + cpu->r[10]; /* 0289D9CC */ _t52 = cpu->r[5] + 0x00000004u; /* 0289D9CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t52); /* 0289D9D0 */ cpu->r[7] = cpu->r[8] + cpu->r[10]; /* 0289D9D4 */ _t53 = cpu->r[7] + 0x00000004u; /* 0289D9D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53); /* 0289D9D8 */ cpu->r[3] = cpu->r[29]; /* 0289D9DC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D9E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[23]); /* 0289D9E4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D9E4 */ _t55 = _t54 & 0x00000001u; /* 0289D9E4 */ if (_t55) goto L_0289D990; else goto L_0289D9E8; L_0289D9E8: ; // 0x289d9e8 /* 0289D9E8 */ goto L_0289D9F4; L_0289D9EC: ; // 0x289d9ec /* 0289D9EC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0289D9F0 */ /* nop */ L_0289D9F4: ; // 0x289d9f4 /* 0289D9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[24]); /* 0289D9F8 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D9F8 */ _t57 = _t56 & 0x00000001u; /* 0289D9F8 */ if (_t57) goto L_0289D9FC; else goto L_0289DA44; L_0289D9FC: ; // 0x289d9fc /* 0289D9FC */ _t58 = cpu->r[27] + 0x00000018u; /* 0289D9FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 0289DA00 */ cpu->r[9] = cpu->r[10] + cpu->r[28]; /* 0289DA04 */ _t59 = cpu->r[9] + 0xFFFFFFFFu; /* 0289DA04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59); /* 0289DA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DA0C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA0C */ _t61 = _t60 & 0x00000001u; /* 0289DA0C */ if (_t61) goto L_0289DA44; else goto L_0289DA10; L_0289DA10: ; // 0x289da10 /* 0289DA10 */ _t62 = cpu->r[29] + 0x00000044u; /* 0289DA10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); /* 0289DA14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DA18 */ _t63 = cpu->r[27] + 0x00000008u; /* 0289DA18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63); /* 0289DA1C */ cpu->ctr = cpu->r[12]; /* 0289DA20 */ _t64 = cpu->r[27] + 0x0000000Cu; /* 0289DA20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64); /* 0289DA24 */ cpu->r[5] = cpu->r[6] + cpu->r[0]; /* 0289DA28 */ _t65 = cpu->r[5] + 0xFFFFFFFCu; /* 0289DA28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65); /* 0289DA2C */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 0289DA30 */ _t66 = cpu->r[8] + 0xFFFFFFFCu; /* 0289DA30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 0289DA34 */ cpu->r[3] = cpu->r[29]; /* 0289DA38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[23]); /* 0289DA40 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA40 */ _t68 = _t67 & 0x00000001u; /* 0289DA40 */ if (_t68) goto L_0289D9EC; else goto L_0289DA44; L_0289DA44: ; // 0x289da44 /* 0289DA44 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289DA48 */ cpu->r[0] = 0x00000008u; /* 0289DA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 0289DA50 */ _t69 = cpu->r[29] + 0x00000010u; /* 0289DA50 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69); /* 0289DA54 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DA54 */ _t71 = _t70 & 0x00000001u; /* 0289DA54 */ if (_t71) goto L_0289DA5C; else goto L_0289DA58; L_0289DA58: ; // 0x289da58 /* 0289DA58 */ cpu->r[0] = 0x00000007u; L_0289DA5C: ; // 0x289da5c /* 0289DA5C */ cpu->r[31] = cpu->r[31] - cpu->r[0]; /* 0289DA60 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289DA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289DA68 */ /* nop */ /* 0289DA6C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA6C */ _t73 = _t72 & 0x00000001u; /* 0289DA6C */ if (_t73) goto L_0289DABC; else goto L_0289DA70; L_0289DA70: ; // 0x289da70 /* 0289DA70 */ cpu->r[5] = 0x0000000Eu; /* 0289DA74 */ cpu->r[3] = cpu->r[31]; /* 0289DA78 */ Gambit_fn_0287B904(cpu); /* 0289DA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 0289DA80 */ cpu->r[10] = cpu->r[28]; /* 0289DA84 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DA84 */ _t75 = _t74 & 0x00000001u; /* 0289DA84 */ if (_t75) goto L_0289DABC; else goto L_0289DA88; L_0289DA88: ; // 0x289da88 /* 0289DA88 */ _t76 = cpu->r[27] + 0x00000000u; /* 0289DA88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76); /* 0289DA8C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DA90 */ _t77 = cpu->r[12] + cpu->r[6]; /* 0289DA90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77); /* 0289DA94 */ cpu->r[11] = cpu->r[11] + cpu->r[3]; /* 0289DA98 */ _t78 = cpu->r[12] + cpu->r[6]; /* 0289DA98 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]); /* 0289DA9C */ _t79 = cpu->r[27] + 0x00000024u; /* 0289DA9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t79); /* 0289DAA0 */ _t80 = cpu->r[5] + cpu->r[10]; /* 0289DAA0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t80); /* 0289DAA4 */ cpu->r[7] = cpu->r[7] | 0x00000001u; /* 0289DAA8 */ _t81 = cpu->r[5] + cpu->r[10]; /* 0289DAA8 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[7]); /* 0289DAAC */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289DAB0 */ /* nop */ /* 0289DAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[26]); /* 0289DAB8 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DAB8 */ _t83 = _t82 & 0x00000001u; /* 0289DAB8 */ if (_t83) goto L_0289DABC; else goto L_0289DA88; L_0289DABC: ; // 0x289dabc /* 0289DABC */ _t84 = cpu->r[29] + 0x00000012u; /* 0289DABC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t84); /* 0289DAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289DAC4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DAC4 */ _t86 = _t85 & 0x00000001u; /* 0289DAC4 */ if (_t86) goto L_0289DB38; else goto L_0289DAC8; L_0289DAC8: ; // 0x289dac8 /* 0289DAC8 */ cpu->r[5] = 0x0000000Eu; /* 0289DACC */ cpu->r[3] = cpu->r[31]; /* 0289DAD0 */ Gambit_fn_0287B904(cpu); /* 0289DAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 0289DAD8 */ cpu->r[10] = cpu->r[28]; /* 0289DADC */ _t87 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DADC */ _t88 = _t87 & 0x00000001u; /* 0289DADC */ if (_t88) goto L_0289DB38; else goto L_0289DAE0; L_0289DAE0: ; // 0x289dae0 /* 0289DAE0 */ _t89 = cpu->r[27] + 0x00000004u; /* 0289DAE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89); /* 0289DAE4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DAE8 */ _t90 = cpu->r[5] + cpu->r[6]; /* 0289DAE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90); /* 0289DAEC */ cpu->r[9] = cpu->r[9] + cpu->r[3]; /* 0289DAF0 */ _t91 = cpu->r[5] + cpu->r[6]; /* 0289DAF0 */ rbrew_write32(cpu->mem, _t91, cpu->r[9]); /* 0289DAF4 */ _t92 = cpu->r[27] + 0x00000024u; /* 0289DAF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t92); /* 0289DAF8 */ _t93 = cpu->r[5] + cpu->r[10]; /* 0289DAF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t93); /* 0289DAFC */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 0289DB00 */ _t94 = cpu->r[5] + cpu->r[10]; /* 0289DB00 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[0]); /* 0289DB04 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289DB08 */ /* nop */ /* 0289DB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[26]); /* 0289DB10 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DB10 */ _t96 = _t95 & 0x00000001u; /* 0289DB10 */ if (_t96) goto L_0289DB14; else goto L_0289DAE0; L_0289DB14: ; // 0x289db14 /* 0289DB14 */ /* nop */ /* 0289DB18 */ _t97 = cpu->r[1] + 0x00000034u; /* 0289DB18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 0289DB1C */ cpu->lr = cpu->r[0]; /* 0289DB20 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289DB24 */ return; L_0289DB28: ; // 0x289db28 /* 0289DB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]); /* 0289DB2C */ _t98 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DB2C */ _t99 = _t98 & 0x00000001u; /* 0289DB2C */ if (_t99) goto L_0289DB38; else goto L_0289DB30; L_0289DB30: ; // 0x289db30 /* 0289DB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DB34 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DB34 */ _t101 = _t100 & 0x00000001u; /* 0289DB34 */ if (_t101) goto L_0289D8FC; else goto L_0289DB38; L_0289DB38: ; // 0x289db38 /* 0289DB38 */ /* nop */ /* 0289DB3C */ _t102 = cpu->r[1] + 0x00000034u; /* 0289DB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 0289DB40 */ cpu->lr = cpu->r[0]; /* 0289DB44 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289DB48 */ return; } // fn_0289DB4C @ 0x289db4c void Gambit_fn_0289DB4C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289D83C: ; // 0x289d83c /* 0289D83C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0289D83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D83C */ cpu->r[1] = _t0; /* 0289D840 */ /* nop */ /* 0289D844 */ cpu->r[0] = cpu->lr; /* 0289D848 */ _t1 = cpu->r[1] + 0x00000034u; /* 0289D848 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D84C */ cpu->r[29] = cpu->r[3]; /* 0289D850 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D850 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0289D854 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; /* 0289D858 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D858 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]); /* 0289D85C */ _t4 = cpu->r[6] + 0x00000002u; /* 0289D85C */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 0289D860 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFCu; /* 0289D864 */ _t5 = cpu->r[29] + 0x00000018u; /* 0289D864 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D868 */ _t6 = cpu->r[6] + 0xFFFFFFFCu; /* 0289D868 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289D86C */ cpu->r[8] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D870 */ _t7 = cpu->r[29] + 0x00000000u; /* 0289D870 */ cpu->r[27] = rbrew_read32(cpu->mem, _t7); /* 0289D874 */ cpu->r[9] = cpu->r[0] - cpu->r[8]; /* 0289D878 */ _t8 = cpu->r[29] + 0x00000018u; /* 0289D878 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]); /* 0289D87C */ _t9 = cpu->r[27] + 0x00000018u; /* 0289D87C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0289D880 */ _t10 = cpu->r[10] + cpu->r[28]; /* 0289D880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0289D884 */ cpu->r[31] = cpu->r[4]; /* 0289D888 */ cpu->r[30] = cpu->r[5]; /* 0289D88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D890 */ cpu->r[24] = 0x00000000u; /* 0289D894 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D894 */ _t12 = _t11 & 0x00000001u; /* 0289D894 */ if (_t12) goto L_0289DB38; else goto L_0289D898; L_0289D898: ; // 0x289d898 /* 0289D898 */ _t13 = cpu->r[29] + 0x00000024u; /* 0289D898 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 0289D89C */ _t14 = cpu->r[7] + 0x000000F4u; /* 0289D89C */ cpu->r[0] = rbrew_read8(cpu->mem, _t14); /* 0289D8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D8A4 */ _t15 = cpu->r[7] + 0x00000012u; /* 0289D8A4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15); /* 0289D8A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D8A8 */ _t17 = _t16 & 0x00000001u; /* 0289D8A8 */ if (_t17) goto L_0289D8AC; else goto L_0289D8C8; L_0289D8AC: ; // 0x289d8ac /* 0289D8AC */ cpu->r[3] = cpu->r[29]; /* 0289D8B0 */ Gambit_fn_028974D0(cpu); /* 0289D8B4 */ cpu->r[4] = cpu->r[3]; /* 0289D8B8 */ cpu->r[3] = cpu->r[25]; /* 0289D8BC */ cpu->r[5] = 0x00000010u; /* 0289D8C0 */ Gambit_fn_0287B904(cpu); /* 0289D8C4 */ cpu->r[25] = cpu->r[3]; L_0289D8C8: ; // 0x289d8c8 /* 0289D8C8 */ cpu->r[10] = cpu->r[25] - cpu->r[31]; /* 0289D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289D8D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D8D4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D8D4 */ _t19 = _t18 & 0x00000001u; /* 0289D8D4 */ if (_t19) goto L_0289D8D8; else goto L_0289DB38; L_0289D8D8: ; // 0x289d8d8 /* 0289D8D8 */ _t20 = cpu->r[29] + 0x00000018u; /* 0289D8D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289D8DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D8E0 */ _t21 = cpu->r[12] + cpu->r[0]; /* 0289D8E0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 0289D8E0 */ cpu->r[12] = _t21; /* 0289D8E4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D8E8 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D8EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0289D8F0 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D8F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D8F4 */ _t23 = _t22 & 0x00000001u; /* 0289D8F4 */ if (_t23) goto L_0289D914; else goto L_0289D8F8; L_0289D8F8: ; // 0x289d8f8 /* 0289D8F8 */ goto L_0289DB28; L_0289D8FC: ; // 0x289d8fc /* 0289D8FC */ _t24 = cpu->r[12] + 0x00000000u; /* 0289D8FC */ cpu->r[25] = rbrew_read32(cpu->mem, _t24); /* 0289D900 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D904 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0289D90C */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D910 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D910 */ _t26 = _t25 & 0x00000001u; /* 0289D910 */ if (_t26) goto L_0289D914; else goto L_0289DB28; L_0289D914: ; // 0x289d914 /* 0289D914 */ _t27 = cpu->r[27] + 0x00000020u; /* 0289D914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0289D918 */ _t28 = cpu->r[12] + 0x00000000u; /* 0289D918 */ cpu->r[31] = rbrew_read16(cpu->mem, _t28); /* 0289D91C */ cpu->r[26] = cpu->r[28]; /* 0289D920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[31]); /* 0289D924 */ cpu->r[8] = 0x00000000u; /* 0289D928 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D928 */ _t30 = _t29 & 0x00000001u; /* 0289D928 */ if (_t30) goto L_0289D92C; else goto L_0289D948; L_0289D92C: ; // 0x289d92c /* 0289D92C */ cpu->r[11] = cpu->r[12]; L_0289D930: ; // 0x289d930 /* 0289D930 */ _t31 = cpu->r[11] + 0x00000002u; /* 0289D930 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 0289D930 */ cpu->r[11] = _t31; /* 0289D934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 0289D938 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289D93C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D93C */ _t33 = _t32 & 0x00000001u; /* 0289D93C */ if (_t33) goto L_0289D930; else goto L_0289D940; L_0289D940: ; // 0x289d940 /* 0289D940 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D944 */ _t34 = cpu->r[12] + cpu->r[9]; /* 0289D944 */ cpu->r[31] = rbrew_read16(cpu->mem, _t34); /* 0289D944 */ cpu->r[12] = _t34; L_0289D948: ; // 0x289d948 /* 0289D948 */ _t35 = cpu->r[29] + 0x00000044u; /* 0289D948 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35); /* 0289D94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289D950 */ cpu->r[24] = 0x00000000u; /* 0289D954 */ _t36 = cpu->r[27] + 0x00000008u; /* 0289D954 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36); /* 0289D958 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D958 */ _t38 = _t37 & 0x00000001u; /* 0289D958 */ if (_t38) goto L_0289D968; else goto L_0289D95C; L_0289D95C: ; // 0x289d95c /* 0289D95C */ _t39 = cpu->r[12] + 0xFFFFFFFEu; /* 0289D95C */ cpu->r[6] = rbrew_read16(cpu->mem, _t39); /* 0289D960 */ cpu->r[24] = cpu->r[6] + 0x00000001u; /* 0289D964 */ /* nop */ L_0289D968: ; // 0x289d968 /* 0289D968 */ cpu->ctr = cpu->r[7]; /* 0289D96C */ _t40 = cpu->r[27] + 0x0000000Cu; /* 0289D96C */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 0289D970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D974 */ _t41 = cpu->r[8] + cpu->r[0]; /* 0289D974 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41); /* 0289D978 */ cpu->r[3] = cpu->r[29]; /* 0289D97C */ _t42 = cpu->r[9] + cpu->r[0]; /* 0289D97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 0289D980 */ /* nop */ /* 0289D984 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D988 */ cpu->r[23] = cpu->r[3]; /* 0289D98C */ goto L_0289D998; L_0289D990: ; // 0x289d990 /* 0289D990 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289D994 */ /* nop */ L_0289D998: ; // 0x289d998 /* 0289D998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[31]); /* 0289D99C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D99C */ _t44 = _t43 & 0x00000001u; /* 0289D99C */ if (_t44) goto L_0289D9A0; else goto L_0289D9F4; L_0289D9A0: ; // 0x289d9a0 /* 0289D9A0 */ _t45 = cpu->r[27] + 0x00000018u; /* 0289D9A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 0289D9A4 */ cpu->r[7] = cpu->r[10] + cpu->r[26]; /* 0289D9A8 */ _t46 = cpu->r[7] + 0x00000001u; /* 0289D9A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t46); /* 0289D9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289D9B0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D9B0 */ _t48 = _t47 & 0x00000001u; /* 0289D9B0 */ if (_t48) goto L_0289D9F4; else goto L_0289D9B4; L_0289D9B4: ; // 0x289d9b4 /* 0289D9B4 */ _t49 = cpu->r[29] + 0x00000044u; /* 0289D9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 0289D9B8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D9BC */ _t50 = cpu->r[27] + 0x00000008u; /* 0289D9BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t50); /* 0289D9C0 */ cpu->ctr = cpu->r[0]; /* 0289D9C4 */ _t51 = cpu->r[27] + 0x0000000Cu; /* 0289D9C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51); /* 0289D9C8 */ cpu->r[5] = cpu->r[6] + cpu->r[10]; /* 0289D9CC */ _t52 = cpu->r[5] + 0x00000004u; /* 0289D9CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t52); /* 0289D9D0 */ cpu->r[7] = cpu->r[8] + cpu->r[10]; /* 0289D9D4 */ _t53 = cpu->r[7] + 0x00000004u; /* 0289D9D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53); /* 0289D9D8 */ cpu->r[3] = cpu->r[29]; /* 0289D9DC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D9E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[23]); /* 0289D9E4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D9E4 */ _t55 = _t54 & 0x00000001u; /* 0289D9E4 */ if (_t55) goto L_0289D990; else goto L_0289D9E8; L_0289D9E8: ; // 0x289d9e8 /* 0289D9E8 */ goto L_0289D9F4; L_0289D9EC: ; // 0x289d9ec /* 0289D9EC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0289D9F0 */ /* nop */ L_0289D9F4: ; // 0x289d9f4 /* 0289D9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[24]); /* 0289D9F8 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D9F8 */ _t57 = _t56 & 0x00000001u; /* 0289D9F8 */ if (_t57) goto L_0289D9FC; else goto L_0289DA44; L_0289D9FC: ; // 0x289d9fc /* 0289D9FC */ _t58 = cpu->r[27] + 0x00000018u; /* 0289D9FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 0289DA00 */ cpu->r[9] = cpu->r[10] + cpu->r[28]; /* 0289DA04 */ _t59 = cpu->r[9] + 0xFFFFFFFFu; /* 0289DA04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59); /* 0289DA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DA0C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA0C */ _t61 = _t60 & 0x00000001u; /* 0289DA0C */ if (_t61) goto L_0289DA44; else goto L_0289DA10; L_0289DA10: ; // 0x289da10 /* 0289DA10 */ _t62 = cpu->r[29] + 0x00000044u; /* 0289DA10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); /* 0289DA14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DA18 */ _t63 = cpu->r[27] + 0x00000008u; /* 0289DA18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63); /* 0289DA1C */ cpu->ctr = cpu->r[12]; /* 0289DA20 */ _t64 = cpu->r[27] + 0x0000000Cu; /* 0289DA20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64); /* 0289DA24 */ cpu->r[5] = cpu->r[6] + cpu->r[0]; /* 0289DA28 */ _t65 = cpu->r[5] + 0xFFFFFFFCu; /* 0289DA28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65); /* 0289DA2C */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 0289DA30 */ _t66 = cpu->r[8] + 0xFFFFFFFCu; /* 0289DA30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 0289DA34 */ cpu->r[3] = cpu->r[29]; /* 0289DA38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[23]); /* 0289DA40 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA40 */ _t68 = _t67 & 0x00000001u; /* 0289DA40 */ if (_t68) goto L_0289D9EC; else goto L_0289DA44; L_0289DA44: ; // 0x289da44 /* 0289DA44 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289DA48 */ cpu->r[0] = 0x00000008u; /* 0289DA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 0289DA50 */ _t69 = cpu->r[29] + 0x00000010u; /* 0289DA50 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69); /* 0289DA54 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DA54 */ _t71 = _t70 & 0x00000001u; /* 0289DA54 */ if (_t71) goto L_0289DA5C; else goto L_0289DA58; L_0289DA58: ; // 0x289da58 /* 0289DA58 */ cpu->r[0] = 0x00000007u; L_0289DA5C: ; // 0x289da5c /* 0289DA5C */ cpu->r[31] = cpu->r[31] - cpu->r[0]; /* 0289DA60 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289DA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289DA68 */ /* nop */ /* 0289DA6C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA6C */ _t73 = _t72 & 0x00000001u; /* 0289DA6C */ if (_t73) goto L_0289DABC; else goto L_0289DA70; L_0289DA70: ; // 0x289da70 /* 0289DA70 */ cpu->r[5] = 0x0000000Eu; /* 0289DA74 */ cpu->r[3] = cpu->r[31]; /* 0289DA78 */ Gambit_fn_0287B904(cpu); /* 0289DA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 0289DA80 */ cpu->r[10] = cpu->r[28]; /* 0289DA84 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DA84 */ _t75 = _t74 & 0x00000001u; /* 0289DA84 */ if (_t75) goto L_0289DABC; else goto L_0289DA88; L_0289DA88: ; // 0x289da88 /* 0289DA88 */ _t76 = cpu->r[27] + 0x00000000u; /* 0289DA88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76); /* 0289DA8C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DA90 */ _t77 = cpu->r[12] + cpu->r[6]; /* 0289DA90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77); /* 0289DA94 */ cpu->r[11] = cpu->r[11] + cpu->r[3]; /* 0289DA98 */ _t78 = cpu->r[12] + cpu->r[6]; /* 0289DA98 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]); /* 0289DA9C */ _t79 = cpu->r[27] + 0x00000024u; /* 0289DA9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t79); /* 0289DAA0 */ _t80 = cpu->r[5] + cpu->r[10]; /* 0289DAA0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t80); /* 0289DAA4 */ cpu->r[7] = cpu->r[7] | 0x00000001u; /* 0289DAA8 */ _t81 = cpu->r[5] + cpu->r[10]; /* 0289DAA8 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[7]); /* 0289DAAC */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289DAB0 */ /* nop */ /* 0289DAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[26]); /* 0289DAB8 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DAB8 */ _t83 = _t82 & 0x00000001u; /* 0289DAB8 */ if (_t83) goto L_0289DABC; else goto L_0289DA88; L_0289DABC: ; // 0x289dabc /* 0289DABC */ _t84 = cpu->r[29] + 0x00000012u; /* 0289DABC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t84); /* 0289DAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289DAC4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DAC4 */ _t86 = _t85 & 0x00000001u; /* 0289DAC4 */ if (_t86) goto L_0289DB38; else goto L_0289DAC8; L_0289DAC8: ; // 0x289dac8 /* 0289DAC8 */ cpu->r[5] = 0x0000000Eu; /* 0289DACC */ cpu->r[3] = cpu->r[31]; /* 0289DAD0 */ Gambit_fn_0287B904(cpu); /* 0289DAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 0289DAD8 */ cpu->r[10] = cpu->r[28]; /* 0289DADC */ _t87 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DADC */ _t88 = _t87 & 0x00000001u; /* 0289DADC */ if (_t88) goto L_0289DB38; else goto L_0289DAE0; L_0289DAE0: ; // 0x289dae0 /* 0289DAE0 */ _t89 = cpu->r[27] + 0x00000004u; /* 0289DAE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89); /* 0289DAE4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DAE8 */ _t90 = cpu->r[5] + cpu->r[6]; /* 0289DAE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90); /* 0289DAEC */ cpu->r[9] = cpu->r[9] + cpu->r[3]; /* 0289DAF0 */ _t91 = cpu->r[5] + cpu->r[6]; /* 0289DAF0 */ rbrew_write32(cpu->mem, _t91, cpu->r[9]); /* 0289DAF4 */ _t92 = cpu->r[27] + 0x00000024u; /* 0289DAF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t92); /* 0289DAF8 */ _t93 = cpu->r[5] + cpu->r[10]; /* 0289DAF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t93); /* 0289DAFC */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 0289DB00 */ _t94 = cpu->r[5] + cpu->r[10]; /* 0289DB00 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[0]); /* 0289DB04 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289DB08 */ /* nop */ /* 0289DB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[26]); /* 0289DB10 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DB10 */ _t96 = _t95 & 0x00000001u; /* 0289DB10 */ if (_t96) goto L_0289DB14; else goto L_0289DAE0; L_0289DB14: ; // 0x289db14 /* 0289DB14 */ /* nop */ /* 0289DB18 */ _t97 = cpu->r[1] + 0x00000034u; /* 0289DB18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 0289DB1C */ cpu->lr = cpu->r[0]; /* 0289DB20 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289DB24 */ return; L_0289DB28: ; // 0x289db28 /* 0289DB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]); /* 0289DB2C */ _t98 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DB2C */ _t99 = _t98 & 0x00000001u; /* 0289DB2C */ if (_t99) goto L_0289DB38; else goto L_0289DB30; L_0289DB30: ; // 0x289db30 /* 0289DB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DB34 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DB34 */ _t101 = _t100 & 0x00000001u; /* 0289DB34 */ if (_t101) goto L_0289D8FC; else goto L_0289DB38; L_0289DB38: ; // 0x289db38 /* 0289DB38 */ /* nop */ /* 0289DB3C */ _t102 = cpu->r[1] + 0x00000034u; /* 0289DB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 0289DB40 */ cpu->lr = cpu->r[0]; /* 0289DB44 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289DB48 */ return; L_0289DB4C: ; // 0x289db4c /* 0289DB4C */ _t103 = cpu->r[3] + 0x00000024u; /* 0289DB4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t103); /* 0289DB50 */ _t104 = cpu->r[12] + 0x0000008Cu; /* 0289DB50 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t104); /* 0289DB54 */ _t105 = cpu->r[12] + 0x0000008Au; /* 0289DB54 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t105); /* 0289DB58 */ goto L_0289D83C; } // fn_0289DB5C @ 0x289db5c void Gambit_fn_0289DB5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289D83C: ; // 0x289d83c /* 0289D83C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0289D83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D83C */ cpu->r[1] = _t0; /* 0289D840 */ /* nop */ /* 0289D844 */ cpu->r[0] = cpu->lr; /* 0289D848 */ _t1 = cpu->r[1] + 0x00000034u; /* 0289D848 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D84C */ cpu->r[29] = cpu->r[3]; /* 0289D850 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D850 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0289D854 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; /* 0289D858 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D858 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]); /* 0289D85C */ _t4 = cpu->r[6] + 0x00000002u; /* 0289D85C */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 0289D860 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFCu; /* 0289D864 */ _t5 = cpu->r[29] + 0x00000018u; /* 0289D864 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D868 */ _t6 = cpu->r[6] + 0xFFFFFFFCu; /* 0289D868 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289D86C */ cpu->r[8] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D870 */ _t7 = cpu->r[29] + 0x00000000u; /* 0289D870 */ cpu->r[27] = rbrew_read32(cpu->mem, _t7); /* 0289D874 */ cpu->r[9] = cpu->r[0] - cpu->r[8]; /* 0289D878 */ _t8 = cpu->r[29] + 0x00000018u; /* 0289D878 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]); /* 0289D87C */ _t9 = cpu->r[27] + 0x00000018u; /* 0289D87C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0289D880 */ _t10 = cpu->r[10] + cpu->r[28]; /* 0289D880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0289D884 */ cpu->r[31] = cpu->r[4]; /* 0289D888 */ cpu->r[30] = cpu->r[5]; /* 0289D88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D890 */ cpu->r[24] = 0x00000000u; /* 0289D894 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D894 */ _t12 = _t11 & 0x00000001u; /* 0289D894 */ if (_t12) goto L_0289DB38; else goto L_0289D898; L_0289D898: ; // 0x289d898 /* 0289D898 */ _t13 = cpu->r[29] + 0x00000024u; /* 0289D898 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 0289D89C */ _t14 = cpu->r[7] + 0x000000F4u; /* 0289D89C */ cpu->r[0] = rbrew_read8(cpu->mem, _t14); /* 0289D8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D8A4 */ _t15 = cpu->r[7] + 0x00000012u; /* 0289D8A4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15); /* 0289D8A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D8A8 */ _t17 = _t16 & 0x00000001u; /* 0289D8A8 */ if (_t17) goto L_0289D8AC; else goto L_0289D8C8; L_0289D8AC: ; // 0x289d8ac /* 0289D8AC */ cpu->r[3] = cpu->r[29]; /* 0289D8B0 */ Gambit_fn_028974D0(cpu); /* 0289D8B4 */ cpu->r[4] = cpu->r[3]; /* 0289D8B8 */ cpu->r[3] = cpu->r[25]; /* 0289D8BC */ cpu->r[5] = 0x00000010u; /* 0289D8C0 */ Gambit_fn_0287B904(cpu); /* 0289D8C4 */ cpu->r[25] = cpu->r[3]; L_0289D8C8: ; // 0x289d8c8 /* 0289D8C8 */ cpu->r[10] = cpu->r[25] - cpu->r[31]; /* 0289D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289D8D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D8D4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D8D4 */ _t19 = _t18 & 0x00000001u; /* 0289D8D4 */ if (_t19) goto L_0289D8D8; else goto L_0289DB38; L_0289D8D8: ; // 0x289d8d8 /* 0289D8D8 */ _t20 = cpu->r[29] + 0x00000018u; /* 0289D8D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289D8DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D8E0 */ _t21 = cpu->r[12] + cpu->r[0]; /* 0289D8E0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 0289D8E0 */ cpu->r[12] = _t21; /* 0289D8E4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D8E8 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D8EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0289D8F0 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D8F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D8F4 */ _t23 = _t22 & 0x00000001u; /* 0289D8F4 */ if (_t23) goto L_0289D914; else goto L_0289D8F8; L_0289D8F8: ; // 0x289d8f8 /* 0289D8F8 */ goto L_0289DB28; L_0289D8FC: ; // 0x289d8fc /* 0289D8FC */ _t24 = cpu->r[12] + 0x00000000u; /* 0289D8FC */ cpu->r[25] = rbrew_read32(cpu->mem, _t24); /* 0289D900 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D904 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0289D90C */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D910 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D910 */ _t26 = _t25 & 0x00000001u; /* 0289D910 */ if (_t26) goto L_0289D914; else goto L_0289DB28; L_0289D914: ; // 0x289d914 /* 0289D914 */ _t27 = cpu->r[27] + 0x00000020u; /* 0289D914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0289D918 */ _t28 = cpu->r[12] + 0x00000000u; /* 0289D918 */ cpu->r[31] = rbrew_read16(cpu->mem, _t28); /* 0289D91C */ cpu->r[26] = cpu->r[28]; /* 0289D920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[31]); /* 0289D924 */ cpu->r[8] = 0x00000000u; /* 0289D928 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D928 */ _t30 = _t29 & 0x00000001u; /* 0289D928 */ if (_t30) goto L_0289D92C; else goto L_0289D948; L_0289D92C: ; // 0x289d92c /* 0289D92C */ cpu->r[11] = cpu->r[12]; L_0289D930: ; // 0x289d930 /* 0289D930 */ _t31 = cpu->r[11] + 0x00000002u; /* 0289D930 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 0289D930 */ cpu->r[11] = _t31; /* 0289D934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 0289D938 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289D93C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D93C */ _t33 = _t32 & 0x00000001u; /* 0289D93C */ if (_t33) goto L_0289D930; else goto L_0289D940; L_0289D940: ; // 0x289d940 /* 0289D940 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D944 */ _t34 = cpu->r[12] + cpu->r[9]; /* 0289D944 */ cpu->r[31] = rbrew_read16(cpu->mem, _t34); /* 0289D944 */ cpu->r[12] = _t34; L_0289D948: ; // 0x289d948 /* 0289D948 */ _t35 = cpu->r[29] + 0x00000044u; /* 0289D948 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35); /* 0289D94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289D950 */ cpu->r[24] = 0x00000000u; /* 0289D954 */ _t36 = cpu->r[27] + 0x00000008u; /* 0289D954 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36); /* 0289D958 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D958 */ _t38 = _t37 & 0x00000001u; /* 0289D958 */ if (_t38) goto L_0289D968; else goto L_0289D95C; L_0289D95C: ; // 0x289d95c /* 0289D95C */ _t39 = cpu->r[12] + 0xFFFFFFFEu; /* 0289D95C */ cpu->r[6] = rbrew_read16(cpu->mem, _t39); /* 0289D960 */ cpu->r[24] = cpu->r[6] + 0x00000001u; /* 0289D964 */ /* nop */ L_0289D968: ; // 0x289d968 /* 0289D968 */ cpu->ctr = cpu->r[7]; /* 0289D96C */ _t40 = cpu->r[27] + 0x0000000Cu; /* 0289D96C */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 0289D970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D974 */ _t41 = cpu->r[8] + cpu->r[0]; /* 0289D974 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41); /* 0289D978 */ cpu->r[3] = cpu->r[29]; /* 0289D97C */ _t42 = cpu->r[9] + cpu->r[0]; /* 0289D97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 0289D980 */ /* nop */ /* 0289D984 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D988 */ cpu->r[23] = cpu->r[3]; /* 0289D98C */ goto L_0289D998; L_0289D990: ; // 0x289d990 /* 0289D990 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289D994 */ /* nop */ L_0289D998: ; // 0x289d998 /* 0289D998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[31]); /* 0289D99C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D99C */ _t44 = _t43 & 0x00000001u; /* 0289D99C */ if (_t44) goto L_0289D9A0; else goto L_0289D9F4; L_0289D9A0: ; // 0x289d9a0 /* 0289D9A0 */ _t45 = cpu->r[27] + 0x00000018u; /* 0289D9A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 0289D9A4 */ cpu->r[7] = cpu->r[10] + cpu->r[26]; /* 0289D9A8 */ _t46 = cpu->r[7] + 0x00000001u; /* 0289D9A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t46); /* 0289D9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289D9B0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D9B0 */ _t48 = _t47 & 0x00000001u; /* 0289D9B0 */ if (_t48) goto L_0289D9F4; else goto L_0289D9B4; L_0289D9B4: ; // 0x289d9b4 /* 0289D9B4 */ _t49 = cpu->r[29] + 0x00000044u; /* 0289D9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 0289D9B8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D9BC */ _t50 = cpu->r[27] + 0x00000008u; /* 0289D9BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t50); /* 0289D9C0 */ cpu->ctr = cpu->r[0]; /* 0289D9C4 */ _t51 = cpu->r[27] + 0x0000000Cu; /* 0289D9C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51); /* 0289D9C8 */ cpu->r[5] = cpu->r[6] + cpu->r[10]; /* 0289D9CC */ _t52 = cpu->r[5] + 0x00000004u; /* 0289D9CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t52); /* 0289D9D0 */ cpu->r[7] = cpu->r[8] + cpu->r[10]; /* 0289D9D4 */ _t53 = cpu->r[7] + 0x00000004u; /* 0289D9D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53); /* 0289D9D8 */ cpu->r[3] = cpu->r[29]; /* 0289D9DC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D9E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[23]); /* 0289D9E4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D9E4 */ _t55 = _t54 & 0x00000001u; /* 0289D9E4 */ if (_t55) goto L_0289D990; else goto L_0289D9E8; L_0289D9E8: ; // 0x289d9e8 /* 0289D9E8 */ goto L_0289D9F4; L_0289D9EC: ; // 0x289d9ec /* 0289D9EC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0289D9F0 */ /* nop */ L_0289D9F4: ; // 0x289d9f4 /* 0289D9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[24]); /* 0289D9F8 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D9F8 */ _t57 = _t56 & 0x00000001u; /* 0289D9F8 */ if (_t57) goto L_0289D9FC; else goto L_0289DA44; L_0289D9FC: ; // 0x289d9fc /* 0289D9FC */ _t58 = cpu->r[27] + 0x00000018u; /* 0289D9FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 0289DA00 */ cpu->r[9] = cpu->r[10] + cpu->r[28]; /* 0289DA04 */ _t59 = cpu->r[9] + 0xFFFFFFFFu; /* 0289DA04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59); /* 0289DA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DA0C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA0C */ _t61 = _t60 & 0x00000001u; /* 0289DA0C */ if (_t61) goto L_0289DA44; else goto L_0289DA10; L_0289DA10: ; // 0x289da10 /* 0289DA10 */ _t62 = cpu->r[29] + 0x00000044u; /* 0289DA10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); /* 0289DA14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DA18 */ _t63 = cpu->r[27] + 0x00000008u; /* 0289DA18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63); /* 0289DA1C */ cpu->ctr = cpu->r[12]; /* 0289DA20 */ _t64 = cpu->r[27] + 0x0000000Cu; /* 0289DA20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64); /* 0289DA24 */ cpu->r[5] = cpu->r[6] + cpu->r[0]; /* 0289DA28 */ _t65 = cpu->r[5] + 0xFFFFFFFCu; /* 0289DA28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65); /* 0289DA2C */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 0289DA30 */ _t66 = cpu->r[8] + 0xFFFFFFFCu; /* 0289DA30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 0289DA34 */ cpu->r[3] = cpu->r[29]; /* 0289DA38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[23]); /* 0289DA40 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA40 */ _t68 = _t67 & 0x00000001u; /* 0289DA40 */ if (_t68) goto L_0289D9EC; else goto L_0289DA44; L_0289DA44: ; // 0x289da44 /* 0289DA44 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289DA48 */ cpu->r[0] = 0x00000008u; /* 0289DA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 0289DA50 */ _t69 = cpu->r[29] + 0x00000010u; /* 0289DA50 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69); /* 0289DA54 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DA54 */ _t71 = _t70 & 0x00000001u; /* 0289DA54 */ if (_t71) goto L_0289DA5C; else goto L_0289DA58; L_0289DA58: ; // 0x289da58 /* 0289DA58 */ cpu->r[0] = 0x00000007u; L_0289DA5C: ; // 0x289da5c /* 0289DA5C */ cpu->r[31] = cpu->r[31] - cpu->r[0]; /* 0289DA60 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289DA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289DA68 */ /* nop */ /* 0289DA6C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA6C */ _t73 = _t72 & 0x00000001u; /* 0289DA6C */ if (_t73) goto L_0289DABC; else goto L_0289DA70; L_0289DA70: ; // 0x289da70 /* 0289DA70 */ cpu->r[5] = 0x0000000Eu; /* 0289DA74 */ cpu->r[3] = cpu->r[31]; /* 0289DA78 */ Gambit_fn_0287B904(cpu); /* 0289DA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 0289DA80 */ cpu->r[10] = cpu->r[28]; /* 0289DA84 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DA84 */ _t75 = _t74 & 0x00000001u; /* 0289DA84 */ if (_t75) goto L_0289DABC; else goto L_0289DA88; L_0289DA88: ; // 0x289da88 /* 0289DA88 */ _t76 = cpu->r[27] + 0x00000000u; /* 0289DA88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76); /* 0289DA8C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DA90 */ _t77 = cpu->r[12] + cpu->r[6]; /* 0289DA90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77); /* 0289DA94 */ cpu->r[11] = cpu->r[11] + cpu->r[3]; /* 0289DA98 */ _t78 = cpu->r[12] + cpu->r[6]; /* 0289DA98 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]); /* 0289DA9C */ _t79 = cpu->r[27] + 0x00000024u; /* 0289DA9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t79); /* 0289DAA0 */ _t80 = cpu->r[5] + cpu->r[10]; /* 0289DAA0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t80); /* 0289DAA4 */ cpu->r[7] = cpu->r[7] | 0x00000001u; /* 0289DAA8 */ _t81 = cpu->r[5] + cpu->r[10]; /* 0289DAA8 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[7]); /* 0289DAAC */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289DAB0 */ /* nop */ /* 0289DAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[26]); /* 0289DAB8 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DAB8 */ _t83 = _t82 & 0x00000001u; /* 0289DAB8 */ if (_t83) goto L_0289DABC; else goto L_0289DA88; L_0289DABC: ; // 0x289dabc /* 0289DABC */ _t84 = cpu->r[29] + 0x00000012u; /* 0289DABC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t84); /* 0289DAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289DAC4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DAC4 */ _t86 = _t85 & 0x00000001u; /* 0289DAC4 */ if (_t86) goto L_0289DB38; else goto L_0289DAC8; L_0289DAC8: ; // 0x289dac8 /* 0289DAC8 */ cpu->r[5] = 0x0000000Eu; /* 0289DACC */ cpu->r[3] = cpu->r[31]; /* 0289DAD0 */ Gambit_fn_0287B904(cpu); /* 0289DAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 0289DAD8 */ cpu->r[10] = cpu->r[28]; /* 0289DADC */ _t87 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DADC */ _t88 = _t87 & 0x00000001u; /* 0289DADC */ if (_t88) goto L_0289DB38; else goto L_0289DAE0; L_0289DAE0: ; // 0x289dae0 /* 0289DAE0 */ _t89 = cpu->r[27] + 0x00000004u; /* 0289DAE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89); /* 0289DAE4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DAE8 */ _t90 = cpu->r[5] + cpu->r[6]; /* 0289DAE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90); /* 0289DAEC */ cpu->r[9] = cpu->r[9] + cpu->r[3]; /* 0289DAF0 */ _t91 = cpu->r[5] + cpu->r[6]; /* 0289DAF0 */ rbrew_write32(cpu->mem, _t91, cpu->r[9]); /* 0289DAF4 */ _t92 = cpu->r[27] + 0x00000024u; /* 0289DAF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t92); /* 0289DAF8 */ _t93 = cpu->r[5] + cpu->r[10]; /* 0289DAF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t93); /* 0289DAFC */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 0289DB00 */ _t94 = cpu->r[5] + cpu->r[10]; /* 0289DB00 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[0]); /* 0289DB04 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289DB08 */ /* nop */ /* 0289DB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[26]); /* 0289DB10 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DB10 */ _t96 = _t95 & 0x00000001u; /* 0289DB10 */ if (_t96) goto L_0289DB14; else goto L_0289DAE0; L_0289DB14: ; // 0x289db14 /* 0289DB14 */ /* nop */ /* 0289DB18 */ _t97 = cpu->r[1] + 0x00000034u; /* 0289DB18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 0289DB1C */ cpu->lr = cpu->r[0]; /* 0289DB20 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289DB24 */ return; L_0289DB28: ; // 0x289db28 /* 0289DB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]); /* 0289DB2C */ _t98 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DB2C */ _t99 = _t98 & 0x00000001u; /* 0289DB2C */ if (_t99) goto L_0289DB38; else goto L_0289DB30; L_0289DB30: ; // 0x289db30 /* 0289DB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DB34 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DB34 */ _t101 = _t100 & 0x00000001u; /* 0289DB34 */ if (_t101) goto L_0289D8FC; else goto L_0289DB38; L_0289DB38: ; // 0x289db38 /* 0289DB38 */ /* nop */ /* 0289DB3C */ _t102 = cpu->r[1] + 0x00000034u; /* 0289DB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 0289DB40 */ cpu->lr = cpu->r[0]; /* 0289DB44 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289DB48 */ return; L_0289DB5C: ; // 0x289db5c /* 0289DB5C */ _t103 = cpu->r[3] + 0x00000024u; /* 0289DB5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t103); /* 0289DB60 */ _t104 = cpu->r[11] + 0x0000008Au; /* 0289DB60 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t104); /* 0289DB64 */ cpu->r[0] = cpu->r[12] + 0x00000010u; /* 0289DB68 */ /* nop */ /* 0289DB6C */ _t105 = cpu->r[11] + 0x0000008Cu; /* 0289DB6C */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t105); /* 0289DB70 */ goto L_0289D83C; } // fn_0289DB74 @ 0x289db74 void Gambit_fn_0289DB74(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289D83C: ; // 0x289d83c /* 0289D83C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0289D83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289D83C */ cpu->r[1] = _t0; /* 0289D840 */ /* nop */ /* 0289D844 */ cpu->r[0] = cpu->lr; /* 0289D848 */ _t1 = cpu->r[1] + 0x00000034u; /* 0289D848 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289D84C */ cpu->r[29] = cpu->r[3]; /* 0289D850 */ _t2 = cpu->r[29] + 0x00000018u; /* 0289D850 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0289D854 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; /* 0289D858 */ _t3 = cpu->r[29] + 0x00000018u; /* 0289D858 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]); /* 0289D85C */ _t4 = cpu->r[6] + 0x00000002u; /* 0289D85C */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 0289D860 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFCu; /* 0289D864 */ _t5 = cpu->r[29] + 0x00000018u; /* 0289D864 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289D868 */ _t6 = cpu->r[6] + 0xFFFFFFFCu; /* 0289D868 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289D86C */ cpu->r[8] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D870 */ _t7 = cpu->r[29] + 0x00000000u; /* 0289D870 */ cpu->r[27] = rbrew_read32(cpu->mem, _t7); /* 0289D874 */ cpu->r[9] = cpu->r[0] - cpu->r[8]; /* 0289D878 */ _t8 = cpu->r[29] + 0x00000018u; /* 0289D878 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]); /* 0289D87C */ _t9 = cpu->r[27] + 0x00000018u; /* 0289D87C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0289D880 */ _t10 = cpu->r[10] + cpu->r[28]; /* 0289D880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0289D884 */ cpu->r[31] = cpu->r[4]; /* 0289D888 */ cpu->r[30] = cpu->r[5]; /* 0289D88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D890 */ cpu->r[24] = 0x00000000u; /* 0289D894 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D894 */ _t12 = _t11 & 0x00000001u; /* 0289D894 */ if (_t12) goto L_0289DB38; else goto L_0289D898; L_0289D898: ; // 0x289d898 /* 0289D898 */ _t13 = cpu->r[29] + 0x00000024u; /* 0289D898 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 0289D89C */ _t14 = cpu->r[7] + 0x000000F4u; /* 0289D89C */ cpu->r[0] = rbrew_read8(cpu->mem, _t14); /* 0289D8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289D8A4 */ _t15 = cpu->r[7] + 0x00000012u; /* 0289D8A4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15); /* 0289D8A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D8A8 */ _t17 = _t16 & 0x00000001u; /* 0289D8A8 */ if (_t17) goto L_0289D8AC; else goto L_0289D8C8; L_0289D8AC: ; // 0x289d8ac /* 0289D8AC */ cpu->r[3] = cpu->r[29]; /* 0289D8B0 */ Gambit_fn_028974D0(cpu); /* 0289D8B4 */ cpu->r[4] = cpu->r[3]; /* 0289D8B8 */ cpu->r[3] = cpu->r[25]; /* 0289D8BC */ cpu->r[5] = 0x00000010u; /* 0289D8C0 */ Gambit_fn_0287B904(cpu); /* 0289D8C4 */ cpu->r[25] = cpu->r[3]; L_0289D8C8: ; // 0x289d8c8 /* 0289D8C8 */ cpu->r[10] = cpu->r[25] - cpu->r[31]; /* 0289D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289D8D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289D8D4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D8D4 */ _t19 = _t18 & 0x00000001u; /* 0289D8D4 */ if (_t19) goto L_0289D8D8; else goto L_0289DB38; L_0289D8D8: ; // 0x289d8d8 /* 0289D8D8 */ _t20 = cpu->r[29] + 0x00000018u; /* 0289D8D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289D8DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D8E0 */ _t21 = cpu->r[12] + cpu->r[0]; /* 0289D8E0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 0289D8E0 */ cpu->r[12] = _t21; /* 0289D8E4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D8E8 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D8EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0289D8F0 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D8F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D8F4 */ _t23 = _t22 & 0x00000001u; /* 0289D8F4 */ if (_t23) goto L_0289D914; else goto L_0289D8F8; L_0289D8F8: ; // 0x289d8f8 /* 0289D8F8 */ goto L_0289DB28; L_0289D8FC: ; // 0x289d8fc /* 0289D8FC */ _t24 = cpu->r[12] + 0x00000000u; /* 0289D8FC */ cpu->r[25] = rbrew_read32(cpu->mem, _t24); /* 0289D900 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289D904 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289D908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0289D90C */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289D910 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D910 */ _t26 = _t25 & 0x00000001u; /* 0289D910 */ if (_t26) goto L_0289D914; else goto L_0289DB28; L_0289D914: ; // 0x289d914 /* 0289D914 */ _t27 = cpu->r[27] + 0x00000020u; /* 0289D914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0289D918 */ _t28 = cpu->r[12] + 0x00000000u; /* 0289D918 */ cpu->r[31] = rbrew_read16(cpu->mem, _t28); /* 0289D91C */ cpu->r[26] = cpu->r[28]; /* 0289D920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[31]); /* 0289D924 */ cpu->r[8] = 0x00000000u; /* 0289D928 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D928 */ _t30 = _t29 & 0x00000001u; /* 0289D928 */ if (_t30) goto L_0289D92C; else goto L_0289D948; L_0289D92C: ; // 0x289d92c /* 0289D92C */ cpu->r[11] = cpu->r[12]; L_0289D930: ; // 0x289d930 /* 0289D930 */ _t31 = cpu->r[11] + 0x00000002u; /* 0289D930 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 0289D930 */ cpu->r[11] = _t31; /* 0289D934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 0289D938 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289D93C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D93C */ _t33 = _t32 & 0x00000001u; /* 0289D93C */ if (_t33) goto L_0289D930; else goto L_0289D940; L_0289D940: ; // 0x289d940 /* 0289D940 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289D944 */ _t34 = cpu->r[12] + cpu->r[9]; /* 0289D944 */ cpu->r[31] = rbrew_read16(cpu->mem, _t34); /* 0289D944 */ cpu->r[12] = _t34; L_0289D948: ; // 0x289d948 /* 0289D948 */ _t35 = cpu->r[29] + 0x00000044u; /* 0289D948 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35); /* 0289D94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289D950 */ cpu->r[24] = 0x00000000u; /* 0289D954 */ _t36 = cpu->r[27] + 0x00000008u; /* 0289D954 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36); /* 0289D958 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D958 */ _t38 = _t37 & 0x00000001u; /* 0289D958 */ if (_t38) goto L_0289D968; else goto L_0289D95C; L_0289D95C: ; // 0x289d95c /* 0289D95C */ _t39 = cpu->r[12] + 0xFFFFFFFEu; /* 0289D95C */ cpu->r[6] = rbrew_read16(cpu->mem, _t39); /* 0289D960 */ cpu->r[24] = cpu->r[6] + 0x00000001u; /* 0289D964 */ /* nop */ L_0289D968: ; // 0x289d968 /* 0289D968 */ cpu->ctr = cpu->r[7]; /* 0289D96C */ _t40 = cpu->r[27] + 0x0000000Cu; /* 0289D96C */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 0289D970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D974 */ _t41 = cpu->r[8] + cpu->r[0]; /* 0289D974 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41); /* 0289D978 */ cpu->r[3] = cpu->r[29]; /* 0289D97C */ _t42 = cpu->r[9] + cpu->r[0]; /* 0289D97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 0289D980 */ /* nop */ /* 0289D984 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D988 */ cpu->r[23] = cpu->r[3]; /* 0289D98C */ goto L_0289D998; L_0289D990: ; // 0x289d990 /* 0289D990 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289D994 */ /* nop */ L_0289D998: ; // 0x289d998 /* 0289D998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[31]); /* 0289D99C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289D99C */ _t44 = _t43 & 0x00000001u; /* 0289D99C */ if (_t44) goto L_0289D9A0; else goto L_0289D9F4; L_0289D9A0: ; // 0x289d9a0 /* 0289D9A0 */ _t45 = cpu->r[27] + 0x00000018u; /* 0289D9A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 0289D9A4 */ cpu->r[7] = cpu->r[10] + cpu->r[26]; /* 0289D9A8 */ _t46 = cpu->r[7] + 0x00000001u; /* 0289D9A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t46); /* 0289D9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289D9B0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D9B0 */ _t48 = _t47 & 0x00000001u; /* 0289D9B0 */ if (_t48) goto L_0289D9F4; else goto L_0289D9B4; L_0289D9B4: ; // 0x289d9b4 /* 0289D9B4 */ _t49 = cpu->r[29] + 0x00000044u; /* 0289D9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 0289D9B8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289D9BC */ _t50 = cpu->r[27] + 0x00000008u; /* 0289D9BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t50); /* 0289D9C0 */ cpu->ctr = cpu->r[0]; /* 0289D9C4 */ _t51 = cpu->r[27] + 0x0000000Cu; /* 0289D9C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51); /* 0289D9C8 */ cpu->r[5] = cpu->r[6] + cpu->r[10]; /* 0289D9CC */ _t52 = cpu->r[5] + 0x00000004u; /* 0289D9CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t52); /* 0289D9D0 */ cpu->r[7] = cpu->r[8] + cpu->r[10]; /* 0289D9D4 */ _t53 = cpu->r[7] + 0x00000004u; /* 0289D9D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53); /* 0289D9D8 */ cpu->r[3] = cpu->r[29]; /* 0289D9DC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289D9E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[23]); /* 0289D9E4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289D9E4 */ _t55 = _t54 & 0x00000001u; /* 0289D9E4 */ if (_t55) goto L_0289D990; else goto L_0289D9E8; L_0289D9E8: ; // 0x289d9e8 /* 0289D9E8 */ goto L_0289D9F4; L_0289D9EC: ; // 0x289d9ec /* 0289D9EC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0289D9F0 */ /* nop */ L_0289D9F4: ; // 0x289d9f4 /* 0289D9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[24]); /* 0289D9F8 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289D9F8 */ _t57 = _t56 & 0x00000001u; /* 0289D9F8 */ if (_t57) goto L_0289D9FC; else goto L_0289DA44; L_0289D9FC: ; // 0x289d9fc /* 0289D9FC */ _t58 = cpu->r[27] + 0x00000018u; /* 0289D9FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 0289DA00 */ cpu->r[9] = cpu->r[10] + cpu->r[28]; /* 0289DA04 */ _t59 = cpu->r[9] + 0xFFFFFFFFu; /* 0289DA04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59); /* 0289DA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DA0C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA0C */ _t61 = _t60 & 0x00000001u; /* 0289DA0C */ if (_t61) goto L_0289DA44; else goto L_0289DA10; L_0289DA10: ; // 0x289da10 /* 0289DA10 */ _t62 = cpu->r[29] + 0x00000044u; /* 0289DA10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); /* 0289DA14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DA18 */ _t63 = cpu->r[27] + 0x00000008u; /* 0289DA18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63); /* 0289DA1C */ cpu->ctr = cpu->r[12]; /* 0289DA20 */ _t64 = cpu->r[27] + 0x0000000Cu; /* 0289DA20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64); /* 0289DA24 */ cpu->r[5] = cpu->r[6] + cpu->r[0]; /* 0289DA28 */ _t65 = cpu->r[5] + 0xFFFFFFFCu; /* 0289DA28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65); /* 0289DA2C */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 0289DA30 */ _t66 = cpu->r[8] + 0xFFFFFFFCu; /* 0289DA30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 0289DA34 */ cpu->r[3] = cpu->r[29]; /* 0289DA38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[23]); /* 0289DA40 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA40 */ _t68 = _t67 & 0x00000001u; /* 0289DA40 */ if (_t68) goto L_0289D9EC; else goto L_0289DA44; L_0289DA44: ; // 0x289da44 /* 0289DA44 */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289DA48 */ cpu->r[0] = 0x00000008u; /* 0289DA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000008u); /* 0289DA50 */ _t69 = cpu->r[29] + 0x00000010u; /* 0289DA50 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69); /* 0289DA54 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DA54 */ _t71 = _t70 & 0x00000001u; /* 0289DA54 */ if (_t71) goto L_0289DA5C; else goto L_0289DA58; L_0289DA58: ; // 0x289da58 /* 0289DA58 */ cpu->r[0] = 0x00000007u; L_0289DA5C: ; // 0x289da5c /* 0289DA5C */ cpu->r[31] = cpu->r[31] - cpu->r[0]; /* 0289DA60 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289DA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289DA68 */ /* nop */ /* 0289DA6C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DA6C */ _t73 = _t72 & 0x00000001u; /* 0289DA6C */ if (_t73) goto L_0289DABC; else goto L_0289DA70; L_0289DA70: ; // 0x289da70 /* 0289DA70 */ cpu->r[5] = 0x0000000Eu; /* 0289DA74 */ cpu->r[3] = cpu->r[31]; /* 0289DA78 */ Gambit_fn_0287B904(cpu); /* 0289DA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 0289DA80 */ cpu->r[10] = cpu->r[28]; /* 0289DA84 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DA84 */ _t75 = _t74 & 0x00000001u; /* 0289DA84 */ if (_t75) goto L_0289DABC; else goto L_0289DA88; L_0289DA88: ; // 0x289da88 /* 0289DA88 */ _t76 = cpu->r[27] + 0x00000000u; /* 0289DA88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76); /* 0289DA8C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DA90 */ _t77 = cpu->r[12] + cpu->r[6]; /* 0289DA90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77); /* 0289DA94 */ cpu->r[11] = cpu->r[11] + cpu->r[3]; /* 0289DA98 */ _t78 = cpu->r[12] + cpu->r[6]; /* 0289DA98 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]); /* 0289DA9C */ _t79 = cpu->r[27] + 0x00000024u; /* 0289DA9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t79); /* 0289DAA0 */ _t80 = cpu->r[5] + cpu->r[10]; /* 0289DAA0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t80); /* 0289DAA4 */ cpu->r[7] = cpu->r[7] | 0x00000001u; /* 0289DAA8 */ _t81 = cpu->r[5] + cpu->r[10]; /* 0289DAA8 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[7]); /* 0289DAAC */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289DAB0 */ /* nop */ /* 0289DAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[26]); /* 0289DAB8 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DAB8 */ _t83 = _t82 & 0x00000001u; /* 0289DAB8 */ if (_t83) goto L_0289DABC; else goto L_0289DA88; L_0289DABC: ; // 0x289dabc /* 0289DABC */ _t84 = cpu->r[29] + 0x00000012u; /* 0289DABC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t84); /* 0289DAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289DAC4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DAC4 */ _t86 = _t85 & 0x00000001u; /* 0289DAC4 */ if (_t86) goto L_0289DB38; else goto L_0289DAC8; L_0289DAC8: ; // 0x289dac8 /* 0289DAC8 */ cpu->r[5] = 0x0000000Eu; /* 0289DACC */ cpu->r[3] = cpu->r[31]; /* 0289DAD0 */ Gambit_fn_0287B904(cpu); /* 0289DAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 0289DAD8 */ cpu->r[10] = cpu->r[28]; /* 0289DADC */ _t87 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DADC */ _t88 = _t87 & 0x00000001u; /* 0289DADC */ if (_t88) goto L_0289DB38; else goto L_0289DAE0; L_0289DAE0: ; // 0x289dae0 /* 0289DAE0 */ _t89 = cpu->r[27] + 0x00000004u; /* 0289DAE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89); /* 0289DAE4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DAE8 */ _t90 = cpu->r[5] + cpu->r[6]; /* 0289DAE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90); /* 0289DAEC */ cpu->r[9] = cpu->r[9] + cpu->r[3]; /* 0289DAF0 */ _t91 = cpu->r[5] + cpu->r[6]; /* 0289DAF0 */ rbrew_write32(cpu->mem, _t91, cpu->r[9]); /* 0289DAF4 */ _t92 = cpu->r[27] + 0x00000024u; /* 0289DAF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t92); /* 0289DAF8 */ _t93 = cpu->r[5] + cpu->r[10]; /* 0289DAF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t93); /* 0289DAFC */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 0289DB00 */ _t94 = cpu->r[5] + cpu->r[10]; /* 0289DB00 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[0]); /* 0289DB04 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289DB08 */ /* nop */ /* 0289DB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[26]); /* 0289DB10 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DB10 */ _t96 = _t95 & 0x00000001u; /* 0289DB10 */ if (_t96) goto L_0289DB14; else goto L_0289DAE0; L_0289DB14: ; // 0x289db14 /* 0289DB14 */ /* nop */ /* 0289DB18 */ _t97 = cpu->r[1] + 0x00000034u; /* 0289DB18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 0289DB1C */ cpu->lr = cpu->r[0]; /* 0289DB20 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289DB24 */ return; L_0289DB28: ; // 0x289db28 /* 0289DB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]); /* 0289DB2C */ _t98 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DB2C */ _t99 = _t98 & 0x00000001u; /* 0289DB2C */ if (_t99) goto L_0289DB38; else goto L_0289DB30; L_0289DB30: ; // 0x289db30 /* 0289DB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DB34 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DB34 */ _t101 = _t100 & 0x00000001u; /* 0289DB34 */ if (_t101) goto L_0289D8FC; else goto L_0289DB38; L_0289DB38: ; // 0x289db38 /* 0289DB38 */ /* nop */ /* 0289DB3C */ _t102 = cpu->r[1] + 0x00000034u; /* 0289DB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 0289DB40 */ cpu->lr = cpu->r[0]; /* 0289DB44 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289DB48 */ return; L_0289DB74: ; // 0x289db74 /* 0289DB74 */ _t103 = cpu->r[3] + 0x00000024u; /* 0289DB74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t103); /* 0289DB78 */ _t104 = cpu->r[11] + 0x0000008Au; /* 0289DB78 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t104); /* 0289DB7C */ cpu->r[0] = cpu->r[12] + 0x00000020u; /* 0289DB80 */ /* nop */ /* 0289DB84 */ _t105 = cpu->r[11] + 0x0000008Cu; /* 0289DB84 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t105); /* 0289DB88 */ goto L_0289D83C; } // fn_0289DB8C @ 0x289db8c void Gambit_fn_0289DB8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289DB8C: ; // 0x289db8c /* 0289DB8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289DB8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289DB8C */ cpu->r[1] = _t0; /* 0289DB90 */ /* nop */ /* 0289DB94 */ cpu->r[0] = cpu->lr; /* 0289DB98 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289DB98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289DB9C */ cpu->r[29] = cpu->r[5]; /* 0289DBA0 */ cpu->r[31] = cpu->r[3]; /* 0289DBA4 */ _t2 = cpu->r[31] + 0x00000018u; /* 0289DBA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289DBA8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBAC */ _t3 = cpu->r[31] + 0x00000018u; /* 0289DBAC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 0289DBB0 */ _t4 = cpu->r[10] + 0x00000002u; /* 0289DBB0 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 0289DBB4 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBB8 */ _t5 = cpu->r[31] + 0x00000018u; /* 0289DBB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289DBBC */ _t6 = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBBC */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289DBC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DBC4 */ _t7 = cpu->r[31] + 0x00000000u; /* 0289DBC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0289DBC8 */ cpu->r[0] = cpu->r[0] - cpu->r[12]; /* 0289DBCC */ _t8 = cpu->r[31] + 0x00000018u; /* 0289DBCC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289DBD0 */ _t9 = cpu->r[30] + 0x00000018u; /* 0289DBD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0289DBD4 */ _t10 = cpu->r[5] + cpu->r[27]; /* 0289DBD4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10); /* 0289DBD8 */ cpu->r[28] = cpu->r[4]; /* 0289DBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289DBE0 */ cpu->r[24] = 0x00000000u; /* 0289DBE4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DBE4 */ _t12 = _t11 & 0x00000001u; /* 0289DBE4 */ if (_t12) goto L_0289DDC4; else goto L_0289DBE8; L_0289DBE8: ; // 0x289dbe8 /* 0289DBE8 */ _t13 = cpu->r[31] + 0x00000024u; /* 0289DBE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13); /* 0289DBEC */ _t14 = cpu->r[6] + 0x000000F4u; /* 0289DBEC */ cpu->r[7] = rbrew_read8(cpu->mem, _t14); /* 0289DBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289DBF4 */ _t15 = cpu->r[6] + 0x00000012u; /* 0289DBF4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15); /* 0289DBF8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DBF8 */ _t17 = _t16 & 0x00000001u; /* 0289DBF8 */ if (_t17) goto L_0289DBFC; else goto L_0289DC18; L_0289DBFC: ; // 0x289dbfc /* 0289DBFC */ cpu->r[3] = cpu->r[31]; /* 0289DC00 */ Gambit_fn_028974D0(cpu); /* 0289DC04 */ cpu->r[4] = cpu->r[3]; /* 0289DC08 */ cpu->r[3] = cpu->r[25]; /* 0289DC0C */ cpu->r[5] = 0x00000010u; /* 0289DC10 */ Gambit_fn_0287B904(cpu); /* 0289DC14 */ cpu->r[25] = cpu->r[3]; L_0289DC18: ; // 0x289dc18 /* 0289DC18 */ cpu->r[8] = cpu->r[25] - cpu->r[28]; /* 0289DC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DC20 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289DC24 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DC24 */ _t19 = _t18 & 0x00000001u; /* 0289DC24 */ if (_t19) goto L_0289DC28; else goto L_0289DDC4; L_0289DC28: ; // 0x289dc28 /* 0289DC28 */ _t20 = cpu->r[31] + 0x00000018u; /* 0289DC28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0289DC2C */ cpu->r[9] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DC30 */ _t21 = cpu->r[10] + cpu->r[9]; /* 0289DC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0289DC34 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289DC38 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289DC3C */ cpu->r[12] = cpu->r[10] + cpu->r[9]; /* 0289DC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0289DC44 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289DC48 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DC48 */ _t23 = _t22 & 0x00000001u; /* 0289DC48 */ if (_t23) goto L_0289DC68; else goto L_0289DC4C; L_0289DC4C: ; // 0x289dc4c /* 0289DC4C */ goto L_0289DDB4; L_0289DC50: ; // 0x289dc50 /* 0289DC50 */ _t24 = cpu->r[12] + 0x00000000u; /* 0289DC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0289DC54 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289DC58 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289DC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0289DC60 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289DC64 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DC64 */ _t26 = _t25 & 0x00000001u; /* 0289DC64 */ if (_t26) goto L_0289DC68; else goto L_0289DDB4; L_0289DC68: ; // 0x289dc68 /* 0289DC68 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289DC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000008u); /* 0289DC70 */ cpu->r[10] = 0x00000008u; /* 0289DC74 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DC74 */ _t28 = _t27 & 0x00000001u; /* 0289DC74 */ if (_t28) goto L_0289DC7C; else goto L_0289DC78; L_0289DC78: ; // 0x289dc78 /* 0289DC78 */ cpu->r[10] = 0x00000007u; L_0289DC7C: ; // 0x289dc7c /* 0289DC7C */ cpu->r[28] = cpu->r[28] - cpu->r[10]; /* 0289DC80 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289DC84 */ _t29 = cpu->r[31] + 0x00000010u; /* 0289DC84 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t29); /* 0289DC88 */ /* nop */ /* 0289DC8C */ cpu->r[5] = 0x0000000Eu; /* 0289DC90 */ cpu->r[3] = cpu->r[28]; /* 0289DC94 */ Gambit_fn_0287B904(cpu); /* 0289DC98 */ cpu->r[29] = cpu->r[3]; /* 0289DC9C */ cpu->r[3] = cpu->r[28]; /* 0289DCA0 */ _t30 = cpu->r[31] + 0x00000012u; /* 0289DCA0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 0289DCA4 */ cpu->r[5] = 0x0000000Eu; /* 0289DCA8 */ Gambit_fn_0287B904(cpu); /* 0289DCAC */ _t31 = cpu->r[31] + 0x00000044u; /* 0289DCAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0289DCB0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DCB4 */ _t32 = cpu->r[30] + 0x0000000Cu; /* 0289DCB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 0289DCB8 */ cpu->ctr = cpu->r[0]; /* 0289DCBC */ _t33 = cpu->r[30] + 0x00000008u; /* 0289DCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 0289DCC0 */ _t34 = cpu->r[6] + cpu->r[7]; /* 0289DCC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 0289DCC4 */ cpu->r[27] = cpu->r[3]; /* 0289DCC8 */ _t35 = cpu->r[12] + cpu->r[7]; /* 0289DCC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35); /* 0289DCCC */ cpu->r[3] = cpu->r[31]; /* 0289DCD0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DCD4 */ _t36 = cpu->r[30] + 0x00000028u; /* 0289DCD4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36); /* 0289DCD8 */ _t37 = cpu->r[30] + 0x00000020u; /* 0289DCD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37); /* 0289DCDC */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289DCE0 */ cpu->r[9] = cpu->r[10] + cpu->r[7]; /* 0289DCE4 */ _t38 = cpu->r[9] + 0xFFFFFFFEu; /* 0289DCE4 */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t38); /* 0289DCE8 */ cpu->r[24] = cpu->r[3]; /* 0289DCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0289DCF0 */ cpu->r[26] = cpu->r[25] + 0x00000001u; /* 0289DCF4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DCF4 */ _t40 = _t39 & 0x00000001u; /* 0289DCF4 */ if (_t40) goto L_0289DDC4; else goto L_0289DCF8; L_0289DCF8: ; // 0x289dcf8 /* 0289DCF8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289DCFC: ; // 0x289dcfc /* 0289DCFC */ _t41 = cpu->r[30] + 0x00000018u; /* 0289DCFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 0289DD00 */ _t42 = cpu->r[11] + cpu->r[25]; /* 0289DD00 */ cpu->r[12] = rbrew_read8(cpu->mem, _t42); /* 0289DD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289DD08 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD08 */ _t44 = _t43 & 0x00000001u; /* 0289DD08 */ if (_t44) goto L_0289DD8C; else goto L_0289DD0C; L_0289DD0C: ; // 0x289dd0c /* 0289DD0C */ _t45 = cpu->r[31] + 0x00000044u; /* 0289DD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 0289DD10 */ _t46 = cpu->r[30] + 0x0000000Cu; /* 0289DD10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 0289DD14 */ cpu->ctr = cpu->r[0]; /* 0289DD18 */ _t47 = cpu->r[30] + 0x00000008u; /* 0289DD18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47); /* 0289DD1C */ _t48 = cpu->r[7] + cpu->r[28]; /* 0289DD1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t48); /* 0289DD20 */ _t49 = cpu->r[6] + cpu->r[28]; /* 0289DD20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49); /* 0289DD24 */ cpu->r[3] = cpu->r[31]; /* 0289DD28 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DD2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[24]); /* 0289DD30 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD30 */ _t51 = _t50 & 0x00000001u; /* 0289DD30 */ if (_t51) goto L_0289DD34; else goto L_0289DD8C; L_0289DD34: ; // 0x289dd34 /* 0289DD34 */ _t52 = cpu->r[31] + 0x00000010u; /* 0289DD34 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t52); /* 0289DD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DD3C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD3C */ _t54 = _t53 & 0x00000001u; /* 0289DD3C */ if (_t54) goto L_0289DD60; else goto L_0289DD40; L_0289DD40: ; // 0x289dd40 /* 0289DD40 */ _t55 = cpu->r[30] + 0x00000000u; /* 0289DD40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55); /* 0289DD44 */ _t56 = cpu->r[8] + cpu->r[28]; /* 0289DD44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56); /* 0289DD48 */ cpu->r[12] = cpu->r[12] + cpu->r[29]; /* 0289DD4C */ _t57 = cpu->r[8] + cpu->r[28]; /* 0289DD4C */ rbrew_write32(cpu->mem, _t57, cpu->r[12]); /* 0289DD50 */ _t58 = cpu->r[30] + 0x00000024u; /* 0289DD50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58); /* 0289DD54 */ _t59 = cpu->r[5] + cpu->r[25]; /* 0289DD54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59); /* 0289DD58 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 0289DD5C */ _t60 = cpu->r[5] + cpu->r[25]; /* 0289DD5C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[0]); L_0289DD60: ; // 0x289dd60 /* 0289DD60 */ _t61 = cpu->r[31] + 0x00000012u; /* 0289DD60 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t61); /* 0289DD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DD68 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD68 */ _t63 = _t62 & 0x00000001u; /* 0289DD68 */ if (_t63) goto L_0289DD8C; else goto L_0289DD6C; L_0289DD6C: ; // 0x289dd6c /* 0289DD6C */ _t64 = cpu->r[30] + 0x00000004u; /* 0289DD6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t64); /* 0289DD70 */ _t65 = cpu->r[9] + cpu->r[28]; /* 0289DD70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65); /* 0289DD74 */ cpu->r[7] = cpu->r[7] + cpu->r[27]; /* 0289DD78 */ _t66 = cpu->r[9] + cpu->r[28]; /* 0289DD78 */ rbrew_write32(cpu->mem, _t66, cpu->r[7]); /* 0289DD7C */ _t67 = cpu->r[30] + 0x00000024u; /* 0289DD7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t67); /* 0289DD80 */ _t68 = cpu->r[5] + cpu->r[25]; /* 0289DD80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t68); /* 0289DD84 */ cpu->r[8] = cpu->r[8] | 0x00000002u; /* 0289DD88 */ _t69 = cpu->r[5] + cpu->r[25]; /* 0289DD88 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[8]); L_0289DD8C: ; // 0x289dd8c /* 0289DD8C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 0289DD90 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFCu; /* 0289DD94 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 0289DD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289DD98 */ /* nop */ /* 0289DD9C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD9C */ _t71 = _t70 & 0x00000001u; /* 0289DD9C */ if (_t71) goto L_0289DDA0; else goto L_0289DCFC; L_0289DDA0: ; // 0x289dda0 /* 0289DDA0 */ /* nop */ /* 0289DDA4 */ _t72 = cpu->r[1] + 0x0000002Cu; /* 0289DDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 0289DDA8 */ cpu->lr = cpu->r[0]; /* 0289DDAC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289DDB0 */ return; L_0289DDB4: ; // 0x289ddb4 /* 0289DDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]); /* 0289DDB8 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DDB8 */ _t74 = _t73 & 0x00000001u; /* 0289DDB8 */ if (_t74) goto L_0289DDC4; else goto L_0289DDBC; L_0289DDBC: ; // 0x289ddbc /* 0289DDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DDC0 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DDC0 */ _t76 = _t75 & 0x00000001u; /* 0289DDC0 */ if (_t76) goto L_0289DC50; else goto L_0289DDC4; L_0289DDC4: ; // 0x289ddc4 /* 0289DDC4 */ /* nop */ /* 0289DDC8 */ _t77 = cpu->r[1] + 0x0000002Cu; /* 0289DDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 0289DDCC */ cpu->lr = cpu->r[0]; /* 0289DDD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289DDD4 */ return; } // fn_0289DDD8 @ 0x289ddd8 void Gambit_fn_0289DDD8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289DB8C: ; // 0x289db8c /* 0289DB8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289DB8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289DB8C */ cpu->r[1] = _t0; /* 0289DB90 */ /* nop */ /* 0289DB94 */ cpu->r[0] = cpu->lr; /* 0289DB98 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289DB98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289DB9C */ cpu->r[29] = cpu->r[5]; /* 0289DBA0 */ cpu->r[31] = cpu->r[3]; /* 0289DBA4 */ _t2 = cpu->r[31] + 0x00000018u; /* 0289DBA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289DBA8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBAC */ _t3 = cpu->r[31] + 0x00000018u; /* 0289DBAC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 0289DBB0 */ _t4 = cpu->r[10] + 0x00000002u; /* 0289DBB0 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 0289DBB4 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBB8 */ _t5 = cpu->r[31] + 0x00000018u; /* 0289DBB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289DBBC */ _t6 = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBBC */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289DBC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DBC4 */ _t7 = cpu->r[31] + 0x00000000u; /* 0289DBC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0289DBC8 */ cpu->r[0] = cpu->r[0] - cpu->r[12]; /* 0289DBCC */ _t8 = cpu->r[31] + 0x00000018u; /* 0289DBCC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289DBD0 */ _t9 = cpu->r[30] + 0x00000018u; /* 0289DBD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0289DBD4 */ _t10 = cpu->r[5] + cpu->r[27]; /* 0289DBD4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10); /* 0289DBD8 */ cpu->r[28] = cpu->r[4]; /* 0289DBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289DBE0 */ cpu->r[24] = 0x00000000u; /* 0289DBE4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DBE4 */ _t12 = _t11 & 0x00000001u; /* 0289DBE4 */ if (_t12) goto L_0289DDC4; else goto L_0289DBE8; L_0289DBE8: ; // 0x289dbe8 /* 0289DBE8 */ _t13 = cpu->r[31] + 0x00000024u; /* 0289DBE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13); /* 0289DBEC */ _t14 = cpu->r[6] + 0x000000F4u; /* 0289DBEC */ cpu->r[7] = rbrew_read8(cpu->mem, _t14); /* 0289DBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289DBF4 */ _t15 = cpu->r[6] + 0x00000012u; /* 0289DBF4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15); /* 0289DBF8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DBF8 */ _t17 = _t16 & 0x00000001u; /* 0289DBF8 */ if (_t17) goto L_0289DBFC; else goto L_0289DC18; L_0289DBFC: ; // 0x289dbfc /* 0289DBFC */ cpu->r[3] = cpu->r[31]; /* 0289DC00 */ Gambit_fn_028974D0(cpu); /* 0289DC04 */ cpu->r[4] = cpu->r[3]; /* 0289DC08 */ cpu->r[3] = cpu->r[25]; /* 0289DC0C */ cpu->r[5] = 0x00000010u; /* 0289DC10 */ Gambit_fn_0287B904(cpu); /* 0289DC14 */ cpu->r[25] = cpu->r[3]; L_0289DC18: ; // 0x289dc18 /* 0289DC18 */ cpu->r[8] = cpu->r[25] - cpu->r[28]; /* 0289DC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DC20 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289DC24 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DC24 */ _t19 = _t18 & 0x00000001u; /* 0289DC24 */ if (_t19) goto L_0289DC28; else goto L_0289DDC4; L_0289DC28: ; // 0x289dc28 /* 0289DC28 */ _t20 = cpu->r[31] + 0x00000018u; /* 0289DC28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0289DC2C */ cpu->r[9] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DC30 */ _t21 = cpu->r[10] + cpu->r[9]; /* 0289DC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0289DC34 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289DC38 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289DC3C */ cpu->r[12] = cpu->r[10] + cpu->r[9]; /* 0289DC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0289DC44 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289DC48 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DC48 */ _t23 = _t22 & 0x00000001u; /* 0289DC48 */ if (_t23) goto L_0289DC68; else goto L_0289DC4C; L_0289DC4C: ; // 0x289dc4c /* 0289DC4C */ goto L_0289DDB4; L_0289DC50: ; // 0x289dc50 /* 0289DC50 */ _t24 = cpu->r[12] + 0x00000000u; /* 0289DC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0289DC54 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289DC58 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289DC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0289DC60 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289DC64 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DC64 */ _t26 = _t25 & 0x00000001u; /* 0289DC64 */ if (_t26) goto L_0289DC68; else goto L_0289DDB4; L_0289DC68: ; // 0x289dc68 /* 0289DC68 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289DC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000008u); /* 0289DC70 */ cpu->r[10] = 0x00000008u; /* 0289DC74 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DC74 */ _t28 = _t27 & 0x00000001u; /* 0289DC74 */ if (_t28) goto L_0289DC7C; else goto L_0289DC78; L_0289DC78: ; // 0x289dc78 /* 0289DC78 */ cpu->r[10] = 0x00000007u; L_0289DC7C: ; // 0x289dc7c /* 0289DC7C */ cpu->r[28] = cpu->r[28] - cpu->r[10]; /* 0289DC80 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289DC84 */ _t29 = cpu->r[31] + 0x00000010u; /* 0289DC84 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t29); /* 0289DC88 */ /* nop */ /* 0289DC8C */ cpu->r[5] = 0x0000000Eu; /* 0289DC90 */ cpu->r[3] = cpu->r[28]; /* 0289DC94 */ Gambit_fn_0287B904(cpu); /* 0289DC98 */ cpu->r[29] = cpu->r[3]; /* 0289DC9C */ cpu->r[3] = cpu->r[28]; /* 0289DCA0 */ _t30 = cpu->r[31] + 0x00000012u; /* 0289DCA0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 0289DCA4 */ cpu->r[5] = 0x0000000Eu; /* 0289DCA8 */ Gambit_fn_0287B904(cpu); /* 0289DCAC */ _t31 = cpu->r[31] + 0x00000044u; /* 0289DCAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0289DCB0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DCB4 */ _t32 = cpu->r[30] + 0x0000000Cu; /* 0289DCB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 0289DCB8 */ cpu->ctr = cpu->r[0]; /* 0289DCBC */ _t33 = cpu->r[30] + 0x00000008u; /* 0289DCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 0289DCC0 */ _t34 = cpu->r[6] + cpu->r[7]; /* 0289DCC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 0289DCC4 */ cpu->r[27] = cpu->r[3]; /* 0289DCC8 */ _t35 = cpu->r[12] + cpu->r[7]; /* 0289DCC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35); /* 0289DCCC */ cpu->r[3] = cpu->r[31]; /* 0289DCD0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DCD4 */ _t36 = cpu->r[30] + 0x00000028u; /* 0289DCD4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36); /* 0289DCD8 */ _t37 = cpu->r[30] + 0x00000020u; /* 0289DCD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37); /* 0289DCDC */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289DCE0 */ cpu->r[9] = cpu->r[10] + cpu->r[7]; /* 0289DCE4 */ _t38 = cpu->r[9] + 0xFFFFFFFEu; /* 0289DCE4 */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t38); /* 0289DCE8 */ cpu->r[24] = cpu->r[3]; /* 0289DCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0289DCF0 */ cpu->r[26] = cpu->r[25] + 0x00000001u; /* 0289DCF4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DCF4 */ _t40 = _t39 & 0x00000001u; /* 0289DCF4 */ if (_t40) goto L_0289DDC4; else goto L_0289DCF8; L_0289DCF8: ; // 0x289dcf8 /* 0289DCF8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289DCFC: ; // 0x289dcfc /* 0289DCFC */ _t41 = cpu->r[30] + 0x00000018u; /* 0289DCFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 0289DD00 */ _t42 = cpu->r[11] + cpu->r[25]; /* 0289DD00 */ cpu->r[12] = rbrew_read8(cpu->mem, _t42); /* 0289DD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289DD08 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD08 */ _t44 = _t43 & 0x00000001u; /* 0289DD08 */ if (_t44) goto L_0289DD8C; else goto L_0289DD0C; L_0289DD0C: ; // 0x289dd0c /* 0289DD0C */ _t45 = cpu->r[31] + 0x00000044u; /* 0289DD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 0289DD10 */ _t46 = cpu->r[30] + 0x0000000Cu; /* 0289DD10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 0289DD14 */ cpu->ctr = cpu->r[0]; /* 0289DD18 */ _t47 = cpu->r[30] + 0x00000008u; /* 0289DD18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47); /* 0289DD1C */ _t48 = cpu->r[7] + cpu->r[28]; /* 0289DD1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t48); /* 0289DD20 */ _t49 = cpu->r[6] + cpu->r[28]; /* 0289DD20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49); /* 0289DD24 */ cpu->r[3] = cpu->r[31]; /* 0289DD28 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DD2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[24]); /* 0289DD30 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD30 */ _t51 = _t50 & 0x00000001u; /* 0289DD30 */ if (_t51) goto L_0289DD34; else goto L_0289DD8C; L_0289DD34: ; // 0x289dd34 /* 0289DD34 */ _t52 = cpu->r[31] + 0x00000010u; /* 0289DD34 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t52); /* 0289DD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DD3C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD3C */ _t54 = _t53 & 0x00000001u; /* 0289DD3C */ if (_t54) goto L_0289DD60; else goto L_0289DD40; L_0289DD40: ; // 0x289dd40 /* 0289DD40 */ _t55 = cpu->r[30] + 0x00000000u; /* 0289DD40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55); /* 0289DD44 */ _t56 = cpu->r[8] + cpu->r[28]; /* 0289DD44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56); /* 0289DD48 */ cpu->r[12] = cpu->r[12] + cpu->r[29]; /* 0289DD4C */ _t57 = cpu->r[8] + cpu->r[28]; /* 0289DD4C */ rbrew_write32(cpu->mem, _t57, cpu->r[12]); /* 0289DD50 */ _t58 = cpu->r[30] + 0x00000024u; /* 0289DD50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58); /* 0289DD54 */ _t59 = cpu->r[5] + cpu->r[25]; /* 0289DD54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59); /* 0289DD58 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 0289DD5C */ _t60 = cpu->r[5] + cpu->r[25]; /* 0289DD5C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[0]); L_0289DD60: ; // 0x289dd60 /* 0289DD60 */ _t61 = cpu->r[31] + 0x00000012u; /* 0289DD60 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t61); /* 0289DD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DD68 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD68 */ _t63 = _t62 & 0x00000001u; /* 0289DD68 */ if (_t63) goto L_0289DD8C; else goto L_0289DD6C; L_0289DD6C: ; // 0x289dd6c /* 0289DD6C */ _t64 = cpu->r[30] + 0x00000004u; /* 0289DD6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t64); /* 0289DD70 */ _t65 = cpu->r[9] + cpu->r[28]; /* 0289DD70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65); /* 0289DD74 */ cpu->r[7] = cpu->r[7] + cpu->r[27]; /* 0289DD78 */ _t66 = cpu->r[9] + cpu->r[28]; /* 0289DD78 */ rbrew_write32(cpu->mem, _t66, cpu->r[7]); /* 0289DD7C */ _t67 = cpu->r[30] + 0x00000024u; /* 0289DD7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t67); /* 0289DD80 */ _t68 = cpu->r[5] + cpu->r[25]; /* 0289DD80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t68); /* 0289DD84 */ cpu->r[8] = cpu->r[8] | 0x00000002u; /* 0289DD88 */ _t69 = cpu->r[5] + cpu->r[25]; /* 0289DD88 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[8]); L_0289DD8C: ; // 0x289dd8c /* 0289DD8C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 0289DD90 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFCu; /* 0289DD94 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 0289DD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289DD98 */ /* nop */ /* 0289DD9C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD9C */ _t71 = _t70 & 0x00000001u; /* 0289DD9C */ if (_t71) goto L_0289DDA0; else goto L_0289DCFC; L_0289DDA0: ; // 0x289dda0 /* 0289DDA0 */ /* nop */ /* 0289DDA4 */ _t72 = cpu->r[1] + 0x0000002Cu; /* 0289DDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 0289DDA8 */ cpu->lr = cpu->r[0]; /* 0289DDAC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289DDB0 */ return; L_0289DDB4: ; // 0x289ddb4 /* 0289DDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]); /* 0289DDB8 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DDB8 */ _t74 = _t73 & 0x00000001u; /* 0289DDB8 */ if (_t74) goto L_0289DDC4; else goto L_0289DDBC; L_0289DDBC: ; // 0x289ddbc /* 0289DDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DDC0 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DDC0 */ _t76 = _t75 & 0x00000001u; /* 0289DDC0 */ if (_t76) goto L_0289DC50; else goto L_0289DDC4; L_0289DDC4: ; // 0x289ddc4 /* 0289DDC4 */ /* nop */ /* 0289DDC8 */ _t77 = cpu->r[1] + 0x0000002Cu; /* 0289DDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 0289DDCC */ cpu->lr = cpu->r[0]; /* 0289DDD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289DDD4 */ return; L_0289DDD8: ; // 0x289ddd8 /* 0289DDD8 */ _t78 = cpu->r[3] + 0x00000024u; /* 0289DDD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78); /* 0289DDDC */ _t79 = cpu->r[12] + 0x0000008Cu; /* 0289DDDC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t79); /* 0289DDE0 */ _t80 = cpu->r[12] + 0x0000008Au; /* 0289DDE0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t80); /* 0289DDE4 */ goto L_0289DB8C; } // fn_0289DDE8 @ 0x289dde8 void Gambit_fn_0289DDE8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289DB8C: ; // 0x289db8c /* 0289DB8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289DB8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289DB8C */ cpu->r[1] = _t0; /* 0289DB90 */ /* nop */ /* 0289DB94 */ cpu->r[0] = cpu->lr; /* 0289DB98 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289DB98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289DB9C */ cpu->r[29] = cpu->r[5]; /* 0289DBA0 */ cpu->r[31] = cpu->r[3]; /* 0289DBA4 */ _t2 = cpu->r[31] + 0x00000018u; /* 0289DBA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289DBA8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBAC */ _t3 = cpu->r[31] + 0x00000018u; /* 0289DBAC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 0289DBB0 */ _t4 = cpu->r[10] + 0x00000002u; /* 0289DBB0 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 0289DBB4 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBB8 */ _t5 = cpu->r[31] + 0x00000018u; /* 0289DBB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289DBBC */ _t6 = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBBC */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289DBC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DBC4 */ _t7 = cpu->r[31] + 0x00000000u; /* 0289DBC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0289DBC8 */ cpu->r[0] = cpu->r[0] - cpu->r[12]; /* 0289DBCC */ _t8 = cpu->r[31] + 0x00000018u; /* 0289DBCC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289DBD0 */ _t9 = cpu->r[30] + 0x00000018u; /* 0289DBD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0289DBD4 */ _t10 = cpu->r[5] + cpu->r[27]; /* 0289DBD4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10); /* 0289DBD8 */ cpu->r[28] = cpu->r[4]; /* 0289DBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289DBE0 */ cpu->r[24] = 0x00000000u; /* 0289DBE4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DBE4 */ _t12 = _t11 & 0x00000001u; /* 0289DBE4 */ if (_t12) goto L_0289DDC4; else goto L_0289DBE8; L_0289DBE8: ; // 0x289dbe8 /* 0289DBE8 */ _t13 = cpu->r[31] + 0x00000024u; /* 0289DBE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13); /* 0289DBEC */ _t14 = cpu->r[6] + 0x000000F4u; /* 0289DBEC */ cpu->r[7] = rbrew_read8(cpu->mem, _t14); /* 0289DBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289DBF4 */ _t15 = cpu->r[6] + 0x00000012u; /* 0289DBF4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15); /* 0289DBF8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DBF8 */ _t17 = _t16 & 0x00000001u; /* 0289DBF8 */ if (_t17) goto L_0289DBFC; else goto L_0289DC18; L_0289DBFC: ; // 0x289dbfc /* 0289DBFC */ cpu->r[3] = cpu->r[31]; /* 0289DC00 */ Gambit_fn_028974D0(cpu); /* 0289DC04 */ cpu->r[4] = cpu->r[3]; /* 0289DC08 */ cpu->r[3] = cpu->r[25]; /* 0289DC0C */ cpu->r[5] = 0x00000010u; /* 0289DC10 */ Gambit_fn_0287B904(cpu); /* 0289DC14 */ cpu->r[25] = cpu->r[3]; L_0289DC18: ; // 0x289dc18 /* 0289DC18 */ cpu->r[8] = cpu->r[25] - cpu->r[28]; /* 0289DC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DC20 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289DC24 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DC24 */ _t19 = _t18 & 0x00000001u; /* 0289DC24 */ if (_t19) goto L_0289DC28; else goto L_0289DDC4; L_0289DC28: ; // 0x289dc28 /* 0289DC28 */ _t20 = cpu->r[31] + 0x00000018u; /* 0289DC28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0289DC2C */ cpu->r[9] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DC30 */ _t21 = cpu->r[10] + cpu->r[9]; /* 0289DC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0289DC34 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289DC38 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289DC3C */ cpu->r[12] = cpu->r[10] + cpu->r[9]; /* 0289DC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0289DC44 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289DC48 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DC48 */ _t23 = _t22 & 0x00000001u; /* 0289DC48 */ if (_t23) goto L_0289DC68; else goto L_0289DC4C; L_0289DC4C: ; // 0x289dc4c /* 0289DC4C */ goto L_0289DDB4; L_0289DC50: ; // 0x289dc50 /* 0289DC50 */ _t24 = cpu->r[12] + 0x00000000u; /* 0289DC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0289DC54 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289DC58 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289DC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0289DC60 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289DC64 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DC64 */ _t26 = _t25 & 0x00000001u; /* 0289DC64 */ if (_t26) goto L_0289DC68; else goto L_0289DDB4; L_0289DC68: ; // 0x289dc68 /* 0289DC68 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289DC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000008u); /* 0289DC70 */ cpu->r[10] = 0x00000008u; /* 0289DC74 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DC74 */ _t28 = _t27 & 0x00000001u; /* 0289DC74 */ if (_t28) goto L_0289DC7C; else goto L_0289DC78; L_0289DC78: ; // 0x289dc78 /* 0289DC78 */ cpu->r[10] = 0x00000007u; L_0289DC7C: ; // 0x289dc7c /* 0289DC7C */ cpu->r[28] = cpu->r[28] - cpu->r[10]; /* 0289DC80 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289DC84 */ _t29 = cpu->r[31] + 0x00000010u; /* 0289DC84 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t29); /* 0289DC88 */ /* nop */ /* 0289DC8C */ cpu->r[5] = 0x0000000Eu; /* 0289DC90 */ cpu->r[3] = cpu->r[28]; /* 0289DC94 */ Gambit_fn_0287B904(cpu); /* 0289DC98 */ cpu->r[29] = cpu->r[3]; /* 0289DC9C */ cpu->r[3] = cpu->r[28]; /* 0289DCA0 */ _t30 = cpu->r[31] + 0x00000012u; /* 0289DCA0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 0289DCA4 */ cpu->r[5] = 0x0000000Eu; /* 0289DCA8 */ Gambit_fn_0287B904(cpu); /* 0289DCAC */ _t31 = cpu->r[31] + 0x00000044u; /* 0289DCAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0289DCB0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DCB4 */ _t32 = cpu->r[30] + 0x0000000Cu; /* 0289DCB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 0289DCB8 */ cpu->ctr = cpu->r[0]; /* 0289DCBC */ _t33 = cpu->r[30] + 0x00000008u; /* 0289DCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 0289DCC0 */ _t34 = cpu->r[6] + cpu->r[7]; /* 0289DCC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 0289DCC4 */ cpu->r[27] = cpu->r[3]; /* 0289DCC8 */ _t35 = cpu->r[12] + cpu->r[7]; /* 0289DCC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35); /* 0289DCCC */ cpu->r[3] = cpu->r[31]; /* 0289DCD0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DCD4 */ _t36 = cpu->r[30] + 0x00000028u; /* 0289DCD4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36); /* 0289DCD8 */ _t37 = cpu->r[30] + 0x00000020u; /* 0289DCD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37); /* 0289DCDC */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289DCE0 */ cpu->r[9] = cpu->r[10] + cpu->r[7]; /* 0289DCE4 */ _t38 = cpu->r[9] + 0xFFFFFFFEu; /* 0289DCE4 */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t38); /* 0289DCE8 */ cpu->r[24] = cpu->r[3]; /* 0289DCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0289DCF0 */ cpu->r[26] = cpu->r[25] + 0x00000001u; /* 0289DCF4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DCF4 */ _t40 = _t39 & 0x00000001u; /* 0289DCF4 */ if (_t40) goto L_0289DDC4; else goto L_0289DCF8; L_0289DCF8: ; // 0x289dcf8 /* 0289DCF8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289DCFC: ; // 0x289dcfc /* 0289DCFC */ _t41 = cpu->r[30] + 0x00000018u; /* 0289DCFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 0289DD00 */ _t42 = cpu->r[11] + cpu->r[25]; /* 0289DD00 */ cpu->r[12] = rbrew_read8(cpu->mem, _t42); /* 0289DD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289DD08 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD08 */ _t44 = _t43 & 0x00000001u; /* 0289DD08 */ if (_t44) goto L_0289DD8C; else goto L_0289DD0C; L_0289DD0C: ; // 0x289dd0c /* 0289DD0C */ _t45 = cpu->r[31] + 0x00000044u; /* 0289DD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 0289DD10 */ _t46 = cpu->r[30] + 0x0000000Cu; /* 0289DD10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 0289DD14 */ cpu->ctr = cpu->r[0]; /* 0289DD18 */ _t47 = cpu->r[30] + 0x00000008u; /* 0289DD18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47); /* 0289DD1C */ _t48 = cpu->r[7] + cpu->r[28]; /* 0289DD1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t48); /* 0289DD20 */ _t49 = cpu->r[6] + cpu->r[28]; /* 0289DD20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49); /* 0289DD24 */ cpu->r[3] = cpu->r[31]; /* 0289DD28 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DD2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[24]); /* 0289DD30 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD30 */ _t51 = _t50 & 0x00000001u; /* 0289DD30 */ if (_t51) goto L_0289DD34; else goto L_0289DD8C; L_0289DD34: ; // 0x289dd34 /* 0289DD34 */ _t52 = cpu->r[31] + 0x00000010u; /* 0289DD34 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t52); /* 0289DD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DD3C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD3C */ _t54 = _t53 & 0x00000001u; /* 0289DD3C */ if (_t54) goto L_0289DD60; else goto L_0289DD40; L_0289DD40: ; // 0x289dd40 /* 0289DD40 */ _t55 = cpu->r[30] + 0x00000000u; /* 0289DD40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55); /* 0289DD44 */ _t56 = cpu->r[8] + cpu->r[28]; /* 0289DD44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56); /* 0289DD48 */ cpu->r[12] = cpu->r[12] + cpu->r[29]; /* 0289DD4C */ _t57 = cpu->r[8] + cpu->r[28]; /* 0289DD4C */ rbrew_write32(cpu->mem, _t57, cpu->r[12]); /* 0289DD50 */ _t58 = cpu->r[30] + 0x00000024u; /* 0289DD50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58); /* 0289DD54 */ _t59 = cpu->r[5] + cpu->r[25]; /* 0289DD54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59); /* 0289DD58 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 0289DD5C */ _t60 = cpu->r[5] + cpu->r[25]; /* 0289DD5C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[0]); L_0289DD60: ; // 0x289dd60 /* 0289DD60 */ _t61 = cpu->r[31] + 0x00000012u; /* 0289DD60 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t61); /* 0289DD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DD68 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD68 */ _t63 = _t62 & 0x00000001u; /* 0289DD68 */ if (_t63) goto L_0289DD8C; else goto L_0289DD6C; L_0289DD6C: ; // 0x289dd6c /* 0289DD6C */ _t64 = cpu->r[30] + 0x00000004u; /* 0289DD6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t64); /* 0289DD70 */ _t65 = cpu->r[9] + cpu->r[28]; /* 0289DD70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65); /* 0289DD74 */ cpu->r[7] = cpu->r[7] + cpu->r[27]; /* 0289DD78 */ _t66 = cpu->r[9] + cpu->r[28]; /* 0289DD78 */ rbrew_write32(cpu->mem, _t66, cpu->r[7]); /* 0289DD7C */ _t67 = cpu->r[30] + 0x00000024u; /* 0289DD7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t67); /* 0289DD80 */ _t68 = cpu->r[5] + cpu->r[25]; /* 0289DD80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t68); /* 0289DD84 */ cpu->r[8] = cpu->r[8] | 0x00000002u; /* 0289DD88 */ _t69 = cpu->r[5] + cpu->r[25]; /* 0289DD88 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[8]); L_0289DD8C: ; // 0x289dd8c /* 0289DD8C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 0289DD90 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFCu; /* 0289DD94 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 0289DD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289DD98 */ /* nop */ /* 0289DD9C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD9C */ _t71 = _t70 & 0x00000001u; /* 0289DD9C */ if (_t71) goto L_0289DDA0; else goto L_0289DCFC; L_0289DDA0: ; // 0x289dda0 /* 0289DDA0 */ /* nop */ /* 0289DDA4 */ _t72 = cpu->r[1] + 0x0000002Cu; /* 0289DDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 0289DDA8 */ cpu->lr = cpu->r[0]; /* 0289DDAC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289DDB0 */ return; L_0289DDB4: ; // 0x289ddb4 /* 0289DDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]); /* 0289DDB8 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DDB8 */ _t74 = _t73 & 0x00000001u; /* 0289DDB8 */ if (_t74) goto L_0289DDC4; else goto L_0289DDBC; L_0289DDBC: ; // 0x289ddbc /* 0289DDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DDC0 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DDC0 */ _t76 = _t75 & 0x00000001u; /* 0289DDC0 */ if (_t76) goto L_0289DC50; else goto L_0289DDC4; L_0289DDC4: ; // 0x289ddc4 /* 0289DDC4 */ /* nop */ /* 0289DDC8 */ _t77 = cpu->r[1] + 0x0000002Cu; /* 0289DDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 0289DDCC */ cpu->lr = cpu->r[0]; /* 0289DDD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289DDD4 */ return; L_0289DDE8: ; // 0x289dde8 /* 0289DDE8 */ _t78 = cpu->r[3] + 0x00000024u; /* 0289DDE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78); /* 0289DDEC */ _t79 = cpu->r[11] + 0x0000008Au; /* 0289DDEC */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t79); /* 0289DDF0 */ cpu->r[0] = cpu->r[12] + 0x00000010u; /* 0289DDF4 */ /* nop */ /* 0289DDF8 */ _t80 = cpu->r[11] + 0x0000008Cu; /* 0289DDF8 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t80); /* 0289DDFC */ goto L_0289DB8C; } // fn_0289DE00 @ 0x289de00 void Gambit_fn_0289DE00(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289DB8C: ; // 0x289db8c /* 0289DB8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289DB8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289DB8C */ cpu->r[1] = _t0; /* 0289DB90 */ /* nop */ /* 0289DB94 */ cpu->r[0] = cpu->lr; /* 0289DB98 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0289DB98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289DB9C */ cpu->r[29] = cpu->r[5]; /* 0289DBA0 */ cpu->r[31] = cpu->r[3]; /* 0289DBA4 */ _t2 = cpu->r[31] + 0x00000018u; /* 0289DBA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289DBA8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBAC */ _t3 = cpu->r[31] + 0x00000018u; /* 0289DBAC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 0289DBB0 */ _t4 = cpu->r[10] + 0x00000002u; /* 0289DBB0 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 0289DBB4 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBB8 */ _t5 = cpu->r[31] + 0x00000018u; /* 0289DBB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0289DBBC */ _t6 = cpu->r[10] + 0xFFFFFFFCu; /* 0289DBBC */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289DBC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DBC4 */ _t7 = cpu->r[31] + 0x00000000u; /* 0289DBC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0289DBC8 */ cpu->r[0] = cpu->r[0] - cpu->r[12]; /* 0289DBCC */ _t8 = cpu->r[31] + 0x00000018u; /* 0289DBCC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289DBD0 */ _t9 = cpu->r[30] + 0x00000018u; /* 0289DBD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0289DBD4 */ _t10 = cpu->r[5] + cpu->r[27]; /* 0289DBD4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10); /* 0289DBD8 */ cpu->r[28] = cpu->r[4]; /* 0289DBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289DBE0 */ cpu->r[24] = 0x00000000u; /* 0289DBE4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DBE4 */ _t12 = _t11 & 0x00000001u; /* 0289DBE4 */ if (_t12) goto L_0289DDC4; else goto L_0289DBE8; L_0289DBE8: ; // 0x289dbe8 /* 0289DBE8 */ _t13 = cpu->r[31] + 0x00000024u; /* 0289DBE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13); /* 0289DBEC */ _t14 = cpu->r[6] + 0x000000F4u; /* 0289DBEC */ cpu->r[7] = rbrew_read8(cpu->mem, _t14); /* 0289DBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289DBF4 */ _t15 = cpu->r[6] + 0x00000012u; /* 0289DBF4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15); /* 0289DBF8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DBF8 */ _t17 = _t16 & 0x00000001u; /* 0289DBF8 */ if (_t17) goto L_0289DBFC; else goto L_0289DC18; L_0289DBFC: ; // 0x289dbfc /* 0289DBFC */ cpu->r[3] = cpu->r[31]; /* 0289DC00 */ Gambit_fn_028974D0(cpu); /* 0289DC04 */ cpu->r[4] = cpu->r[3]; /* 0289DC08 */ cpu->r[3] = cpu->r[25]; /* 0289DC0C */ cpu->r[5] = 0x00000010u; /* 0289DC10 */ Gambit_fn_0287B904(cpu); /* 0289DC14 */ cpu->r[25] = cpu->r[3]; L_0289DC18: ; // 0x289dc18 /* 0289DC18 */ cpu->r[8] = cpu->r[25] - cpu->r[28]; /* 0289DC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DC20 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0289DC24 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DC24 */ _t19 = _t18 & 0x00000001u; /* 0289DC24 */ if (_t19) goto L_0289DC28; else goto L_0289DDC4; L_0289DC28: ; // 0x289dc28 /* 0289DC28 */ _t20 = cpu->r[31] + 0x00000018u; /* 0289DC28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0289DC2C */ cpu->r[9] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DC30 */ _t21 = cpu->r[10] + cpu->r[9]; /* 0289DC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0289DC34 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289DC38 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289DC3C */ cpu->r[12] = cpu->r[10] + cpu->r[9]; /* 0289DC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0289DC44 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289DC48 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DC48 */ _t23 = _t22 & 0x00000001u; /* 0289DC48 */ if (_t23) goto L_0289DC68; else goto L_0289DC4C; L_0289DC4C: ; // 0x289dc4c /* 0289DC4C */ goto L_0289DDB4; L_0289DC50: ; // 0x289dc50 /* 0289DC50 */ _t24 = cpu->r[12] + 0x00000000u; /* 0289DC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0289DC54 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu); /* 0289DC58 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0289DC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0289DC60 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0289DC64 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DC64 */ _t26 = _t25 & 0x00000001u; /* 0289DC64 */ if (_t26) goto L_0289DC68; else goto L_0289DDB4; L_0289DC68: ; // 0x289dc68 /* 0289DC68 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 0289DC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000008u); /* 0289DC70 */ cpu->r[10] = 0x00000008u; /* 0289DC74 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DC74 */ _t28 = _t27 & 0x00000001u; /* 0289DC74 */ if (_t28) goto L_0289DC7C; else goto L_0289DC78; L_0289DC78: ; // 0x289dc78 /* 0289DC78 */ cpu->r[10] = 0x00000007u; L_0289DC7C: ; // 0x289dc7c /* 0289DC7C */ cpu->r[28] = cpu->r[28] - cpu->r[10]; /* 0289DC80 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000006u, 0x00000000u, 0x00000019u); /* 0289DC84 */ _t29 = cpu->r[31] + 0x00000010u; /* 0289DC84 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t29); /* 0289DC88 */ /* nop */ /* 0289DC8C */ cpu->r[5] = 0x0000000Eu; /* 0289DC90 */ cpu->r[3] = cpu->r[28]; /* 0289DC94 */ Gambit_fn_0287B904(cpu); /* 0289DC98 */ cpu->r[29] = cpu->r[3]; /* 0289DC9C */ cpu->r[3] = cpu->r[28]; /* 0289DCA0 */ _t30 = cpu->r[31] + 0x00000012u; /* 0289DCA0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 0289DCA4 */ cpu->r[5] = 0x0000000Eu; /* 0289DCA8 */ Gambit_fn_0287B904(cpu); /* 0289DCAC */ _t31 = cpu->r[31] + 0x00000044u; /* 0289DCAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0289DCB0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DCB4 */ _t32 = cpu->r[30] + 0x0000000Cu; /* 0289DCB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 0289DCB8 */ cpu->ctr = cpu->r[0]; /* 0289DCBC */ _t33 = cpu->r[30] + 0x00000008u; /* 0289DCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 0289DCC0 */ _t34 = cpu->r[6] + cpu->r[7]; /* 0289DCC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 0289DCC4 */ cpu->r[27] = cpu->r[3]; /* 0289DCC8 */ _t35 = cpu->r[12] + cpu->r[7]; /* 0289DCC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35); /* 0289DCCC */ cpu->r[3] = cpu->r[31]; /* 0289DCD0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DCD4 */ _t36 = cpu->r[30] + 0x00000028u; /* 0289DCD4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36); /* 0289DCD8 */ _t37 = cpu->r[30] + 0x00000020u; /* 0289DCD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37); /* 0289DCDC */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289DCE0 */ cpu->r[9] = cpu->r[10] + cpu->r[7]; /* 0289DCE4 */ _t38 = cpu->r[9] + 0xFFFFFFFEu; /* 0289DCE4 */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t38); /* 0289DCE8 */ cpu->r[24] = cpu->r[3]; /* 0289DCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0289DCF0 */ cpu->r[26] = cpu->r[25] + 0x00000001u; /* 0289DCF4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DCF4 */ _t40 = _t39 & 0x00000001u; /* 0289DCF4 */ if (_t40) goto L_0289DDC4; else goto L_0289DCF8; L_0289DCF8: ; // 0x289dcf8 /* 0289DCF8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289DCFC: ; // 0x289dcfc /* 0289DCFC */ _t41 = cpu->r[30] + 0x00000018u; /* 0289DCFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 0289DD00 */ _t42 = cpu->r[11] + cpu->r[25]; /* 0289DD00 */ cpu->r[12] = rbrew_read8(cpu->mem, _t42); /* 0289DD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289DD08 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD08 */ _t44 = _t43 & 0x00000001u; /* 0289DD08 */ if (_t44) goto L_0289DD8C; else goto L_0289DD0C; L_0289DD0C: ; // 0x289dd0c /* 0289DD0C */ _t45 = cpu->r[31] + 0x00000044u; /* 0289DD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 0289DD10 */ _t46 = cpu->r[30] + 0x0000000Cu; /* 0289DD10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 0289DD14 */ cpu->ctr = cpu->r[0]; /* 0289DD18 */ _t47 = cpu->r[30] + 0x00000008u; /* 0289DD18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47); /* 0289DD1C */ _t48 = cpu->r[7] + cpu->r[28]; /* 0289DD1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t48); /* 0289DD20 */ _t49 = cpu->r[6] + cpu->r[28]; /* 0289DD20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49); /* 0289DD24 */ cpu->r[3] = cpu->r[31]; /* 0289DD28 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0289DD2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[24]); /* 0289DD30 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD30 */ _t51 = _t50 & 0x00000001u; /* 0289DD30 */ if (_t51) goto L_0289DD34; else goto L_0289DD8C; L_0289DD34: ; // 0x289dd34 /* 0289DD34 */ _t52 = cpu->r[31] + 0x00000010u; /* 0289DD34 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t52); /* 0289DD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DD3C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD3C */ _t54 = _t53 & 0x00000001u; /* 0289DD3C */ if (_t54) goto L_0289DD60; else goto L_0289DD40; L_0289DD40: ; // 0x289dd40 /* 0289DD40 */ _t55 = cpu->r[30] + 0x00000000u; /* 0289DD40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55); /* 0289DD44 */ _t56 = cpu->r[8] + cpu->r[28]; /* 0289DD44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56); /* 0289DD48 */ cpu->r[12] = cpu->r[12] + cpu->r[29]; /* 0289DD4C */ _t57 = cpu->r[8] + cpu->r[28]; /* 0289DD4C */ rbrew_write32(cpu->mem, _t57, cpu->r[12]); /* 0289DD50 */ _t58 = cpu->r[30] + 0x00000024u; /* 0289DD50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58); /* 0289DD54 */ _t59 = cpu->r[5] + cpu->r[25]; /* 0289DD54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59); /* 0289DD58 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 0289DD5C */ _t60 = cpu->r[5] + cpu->r[25]; /* 0289DD5C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[0]); L_0289DD60: ; // 0x289dd60 /* 0289DD60 */ _t61 = cpu->r[31] + 0x00000012u; /* 0289DD60 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t61); /* 0289DD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289DD68 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD68 */ _t63 = _t62 & 0x00000001u; /* 0289DD68 */ if (_t63) goto L_0289DD8C; else goto L_0289DD6C; L_0289DD6C: ; // 0x289dd6c /* 0289DD6C */ _t64 = cpu->r[30] + 0x00000004u; /* 0289DD6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t64); /* 0289DD70 */ _t65 = cpu->r[9] + cpu->r[28]; /* 0289DD70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65); /* 0289DD74 */ cpu->r[7] = cpu->r[7] + cpu->r[27]; /* 0289DD78 */ _t66 = cpu->r[9] + cpu->r[28]; /* 0289DD78 */ rbrew_write32(cpu->mem, _t66, cpu->r[7]); /* 0289DD7C */ _t67 = cpu->r[30] + 0x00000024u; /* 0289DD7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t67); /* 0289DD80 */ _t68 = cpu->r[5] + cpu->r[25]; /* 0289DD80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t68); /* 0289DD84 */ cpu->r[8] = cpu->r[8] | 0x00000002u; /* 0289DD88 */ _t69 = cpu->r[5] + cpu->r[25]; /* 0289DD88 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[8]); L_0289DD8C: ; // 0x289dd8c /* 0289DD8C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 0289DD90 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFCu; /* 0289DD94 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 0289DD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0289DD98 */ /* nop */ /* 0289DD9C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DD9C */ _t71 = _t70 & 0x00000001u; /* 0289DD9C */ if (_t71) goto L_0289DDA0; else goto L_0289DCFC; L_0289DDA0: ; // 0x289dda0 /* 0289DDA0 */ /* nop */ /* 0289DDA4 */ _t72 = cpu->r[1] + 0x0000002Cu; /* 0289DDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 0289DDA8 */ cpu->lr = cpu->r[0]; /* 0289DDAC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289DDB0 */ return; L_0289DDB4: ; // 0x289ddb4 /* 0289DDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]); /* 0289DDB8 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DDB8 */ _t74 = _t73 & 0x00000001u; /* 0289DDB8 */ if (_t74) goto L_0289DDC4; else goto L_0289DDBC; L_0289DDBC: ; // 0x289ddbc /* 0289DDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[26]); /* 0289DDC0 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DDC0 */ _t76 = _t75 & 0x00000001u; /* 0289DDC0 */ if (_t76) goto L_0289DC50; else goto L_0289DDC4; L_0289DDC4: ; // 0x289ddc4 /* 0289DDC4 */ /* nop */ /* 0289DDC8 */ _t77 = cpu->r[1] + 0x0000002Cu; /* 0289DDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 0289DDCC */ cpu->lr = cpu->r[0]; /* 0289DDD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289DDD4 */ return; L_0289DE00: ; // 0x289de00 /* 0289DE00 */ _t78 = cpu->r[3] + 0x00000024u; /* 0289DE00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78); /* 0289DE04 */ _t79 = cpu->r[11] + 0x0000008Au; /* 0289DE04 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t79); /* 0289DE08 */ cpu->r[0] = cpu->r[12] + 0x00000020u; /* 0289DE0C */ /* nop */ /* 0289DE10 */ _t80 = cpu->r[11] + 0x0000008Cu; /* 0289DE10 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t80); /* 0289DE14 */ goto L_0289DB8C; } // fn_0289DE38 @ 0x289de38 void Gambit_fn_0289DE38(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0289DE18: ; // 0x289de18 /* 0289DE18 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289DE18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289DE1C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFF8u; /* 0289DE20 */ _t1 = cpu->r[3] + 0x00000018u; /* 0289DE20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289DE24 */ _t2 = cpu->r[12] + 0xFFFFFFF8u; /* 0289DE24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289DE28 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DE2C */ cpu->r[12] = cpu->r[0] - cpu->r[11]; /* 0289DE30 */ _t3 = cpu->r[3] + 0x00000018u; /* 0289DE30 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289DE34 */ return; L_0289DE38: ; // 0x289de38 /* 0289DE38 */ _t4 = cpu->r[3] + 0x00000024u; /* 0289DE38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0289DE3C */ _t5 = cpu->r[12] + 0x0000008Cu; /* 0289DE3C */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 0289DE40 */ _t6 = cpu->r[12] + 0x0000008Au; /* 0289DE40 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 0289DE44 */ goto L_0289DE18; } // fn_0289DE48 @ 0x289de48 void Gambit_fn_0289DE48(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0289DE18: ; // 0x289de18 /* 0289DE18 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289DE18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289DE1C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFF8u; /* 0289DE20 */ _t1 = cpu->r[3] + 0x00000018u; /* 0289DE20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289DE24 */ _t2 = cpu->r[12] + 0xFFFFFFF8u; /* 0289DE24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289DE28 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DE2C */ cpu->r[12] = cpu->r[0] - cpu->r[11]; /* 0289DE30 */ _t3 = cpu->r[3] + 0x00000018u; /* 0289DE30 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289DE34 */ return; L_0289DE48: ; // 0x289de48 /* 0289DE48 */ _t4 = cpu->r[3] + 0x00000024u; /* 0289DE48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0289DE4C */ _t5 = cpu->r[11] + 0x0000008Au; /* 0289DE4C */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 0289DE50 */ cpu->r[0] = cpu->r[12] + 0x00000010u; /* 0289DE54 */ /* nop */ /* 0289DE58 */ _t6 = cpu->r[11] + 0x0000008Cu; /* 0289DE58 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 0289DE5C */ goto L_0289DE18; } // fn_0289DE60 @ 0x289de60 void Gambit_fn_0289DE60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0289DE18: ; // 0x289de18 /* 0289DE18 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289DE18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289DE1C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFF8u; /* 0289DE20 */ _t1 = cpu->r[3] + 0x00000018u; /* 0289DE20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289DE24 */ _t2 = cpu->r[12] + 0xFFFFFFF8u; /* 0289DE24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0289DE28 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DE2C */ cpu->r[12] = cpu->r[0] - cpu->r[11]; /* 0289DE30 */ _t3 = cpu->r[3] + 0x00000018u; /* 0289DE30 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0289DE34 */ return; L_0289DE60: ; // 0x289de60 /* 0289DE60 */ _t4 = cpu->r[3] + 0x00000024u; /* 0289DE60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0289DE64 */ _t5 = cpu->r[11] + 0x0000008Au; /* 0289DE64 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5); /* 0289DE68 */ cpu->r[0] = cpu->r[12] + 0x00000020u; /* 0289DE6C */ /* nop */ /* 0289DE70 */ _t6 = cpu->r[11] + 0x0000008Cu; /* 0289DE70 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 0289DE74 */ goto L_0289DE18; } // fn_0289DE78 @ 0x289de78 void Gambit_fn_0289DE78(CPUState* cpu) { uint32_t _t0, _t1; L_0289DE78: ; // 0x289de78 /* 0289DE78 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289DE78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289DE7C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF4u; /* 0289DE80 */ _t1 = cpu->r[3] + 0x00000018u; /* 0289DE80 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]); /* 0289DE84 */ return; } // fn_0289DE88 @ 0x289de88 void Gambit_fn_0289DE88(CPUState* cpu) { uint32_t _t0, _t1; L_0289DE88: ; // 0x289de88 /* 0289DE88 */ _t0 = cpu->r[3] + 0x00000018u; /* 0289DE88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0289DE8C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF4u; /* 0289DE90 */ _t1 = cpu->r[3] + 0x00000018u; /* 0289DE90 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]); /* 0289DE94 */ return; } // fn_0289DEA8 @ 0x289dea8 void Gambit_fn_0289DEA8(CPUState* cpu) { L_0289DEA8: ; // 0x289dea8 /* 0289DEA8 */ return; } // fn_0289DEAC @ 0x289deac void Gambit_fn_0289DEAC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0289DEAC: ; // 0x289deac /* 0289DEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289DEB0 */ cpu->r[0] = 0x00000000u; /* 0289DEB4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DEB4 */ _t1 = _t0 & 0x00000001u; /* 0289DEB4 */ if (_t1) goto L_0289DEEC; else goto L_0289DEB8; L_0289DEB8: ; // 0x289deb8 /* 0289DEB8 */ cpu->r[9] = 0x00000000u; L_0289DEBC: ; // 0x289debc /* 0289DEBC */ _t2 = cpu->r[4] + 0x00000000u; /* 0289DEBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289DEC0 */ _t3 = cpu->r[3] + 0x00000000u; /* 0289DEC0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3); /* 0289DEC4 */ _t4 = cpu->r[10] + 0x00000004u; /* 0289DEC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]); /* 0289DEC8 */ _t5 = cpu->r[10] + 0x00000000u; /* 0289DEC8 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]); /* 0289DECC */ _t6 = cpu->r[4] + 0x00000000u; /* 0289DECC */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 0289DED0 */ cpu->r[11] = cpu->r[11] + 0x00000008u; /* 0289DED4 */ _t7 = cpu->r[4] + 0x00000000u; /* 0289DED4 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 0289DED8 */ _t8 = cpu->r[10] + 0x00000004u; /* 0289DED8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289DEDC */ _t9 = cpu->r[3] + 0x00000004u; /* 0289DEDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 0289DEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289DEE4 */ cpu->r[0] = cpu->r[10]; /* 0289DEE8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289DEE8 */ _t11 = _t10 & 0x00000001u; /* 0289DEE8 */ if (_t11) goto L_0289DEEC; else goto L_0289DEBC; L_0289DEEC: ; // 0x289deec /* 0289DEEC */ cpu->r[3] = cpu->r[0]; /* 0289DEF0 */ return; } // fn_0289DEF4 @ 0x289def4 void Gambit_fn_0289DEF4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0289DEF4: ; // 0x289def4 /* 0289DEF4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DEF8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DEFC */ _t0 = cpu->r[11] + cpu->r[7]; /* 0289DEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 0289DF00 */ _t1 = cpu->r[8] + cpu->r[7]; /* 0289DF00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0289DF04 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DF08 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DF0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 0289DF10 */ cpu->r[12] = cpu->r[11]; /* 0289DF14 */ _t2 = cpu->r[6] + cpu->r[7]; /* 0289DF14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289DF18 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DF18 */ _t4 = _t3 & 0x00000001u; /* 0289DF18 */ if (_t4) goto L_0289DF1C; else goto L_0289DF20; L_0289DF1C: ; // 0x289df1c /* 0289DF1C */ cpu->r[12] = cpu->r[0]; L_0289DF20: ; // 0x289df20 /* 0289DF20 */ _t5 = cpu->r[9] + cpu->r[7]; /* 0289DF20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0289DF24 */ cpu->r[7] = cpu->r[10]; /* 0289DF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]); /* 0289DF2C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DF2C */ _t7 = _t6 & 0x00000001u; /* 0289DF2C */ if (_t7) goto L_0289DF30; else goto L_0289DF34; L_0289DF30: ; // 0x289df30 /* 0289DF30 */ cpu->r[7] = cpu->r[9]; L_0289DF34: ; // 0x289df34 /* 0289DF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]); /* 0289DF38 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DF38 */ _t9 = _t8 & 0x00000001u; /* 0289DF38 */ if (_t9) goto L_0289DF3C; else goto L_0289DF40; L_0289DF3C: ; // 0x289df3c /* 0289DF3C */ cpu->r[10] = cpu->r[9]; L_0289DF40: ; // 0x289df40 /* 0289DF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 0289DF44 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DF44 */ _t11 = _t10 & 0x00000001u; /* 0289DF44 */ if (_t11) goto L_0289DF48; else goto L_0289DF4C; L_0289DF48: ; // 0x289df48 /* 0289DF48 */ cpu->r[11] = cpu->r[0]; L_0289DF4C: ; // 0x289df4c /* 0289DF4C */ cpu->r[8] = cpu->r[12] + cpu->r[10]; /* 0289DF50 */ cpu->r[0] = cpu->r[11] + cpu->r[7]; /* 0289DF54 */ cpu->r[0] = cpu->r[8] - cpu->r[0]; /* 0289DF58 */ /* nop */ /* 0289DF5C */ cpu->r[0] = cpu->r[0] ^ cpu->r[6]; /* 0289DF60 */ cpu->r[0] = cpu->r[0] - cpu->r[6]; /* 0289DF64 */ /* nop */ /* 0289DF68 */ cpu->r[3] = cpu->r[9]; /* 0289DF6C */ return; } // fn_0289DF70 @ 0x289df70 void Gambit_fn_0289DF70(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289DF70: ; // 0x289df70 /* 0289DF70 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0289DF70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289DF70 */ cpu->r[1] = _t0; /* 0289DF74 */ /* nop */ /* 0289DF78 */ cpu->r[0] = cpu->lr; /* 0289DF7C */ _t1 = cpu->r[1] + 0x00000034u; /* 0289DF7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289DF80 */ _t2 = cpu->r[4] + 0x00000020u; /* 0289DF80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0289DF84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289DF88 */ _t3 = cpu->r[4] + 0x0000001Cu; /* 0289DF88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 0289DF8C */ _t4 = cpu->r[10] + cpu->r[0]; /* 0289DF8C */ cpu->r[10] = rbrew_read16(cpu->mem, _t4); /* 0289DF90 */ _t5 = cpu->r[8] + cpu->r[0]; /* 0289DF90 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 0289DF94 */ _t6 = cpu->r[4] + 0x00000000u; /* 0289DF94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 0289DF98 */ cpu->r[3] = cpu->r[0]; /* 0289DF9C */ cpu->r[7] = cpu->r[10]; /* 0289DFA0 */ _t7 = cpu->r[4] + 0x00000004u; /* 0289DFA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0289DFA4 */ cpu->r[9] = cpu->r[3] + 0x00000001u; /* 0289DFA8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DFAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[7]); /* 0289DFB0 */ _t8 = cpu->r[30] + cpu->r[31]; /* 0289DFB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8); /* 0289DFB4 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DFB4 */ _t10 = _t9 & 0x00000001u; /* 0289DFB4 */ if (_t10) goto L_0289DFFC; else goto L_0289DFB8; L_0289DFB8: ; // 0x289dfb8 /* 0289DFB8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289DFBC: ; // 0x289dfbc /* 0289DFBC */ _t11 = cpu->r[30] + cpu->r[8]; /* 0289DFBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 0289DFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[4]); /* 0289DFC4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DFC4 */ _t13 = _t12 & 0x00000001u; /* 0289DFC4 */ if (_t13) goto L_0289DFE0; else goto L_0289DFC8; L_0289DFC8: ; // 0x289dfc8 /* 0289DFC8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DFC8 */ _t15 = _t14 & 0x00000001u; /* 0289DFC8 */ if (_t15) goto L_0289DFE8; else goto L_0289DFCC; L_0289DFCC: ; // 0x289dfcc /* 0289DFCC */ _t16 = cpu->r[29] + cpu->r[8]; /* 0289DFCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0289DFD0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289DFD4 */ _t17 = cpu->r[11] + cpu->r[29]; /* 0289DFD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17); /* 0289DFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]); /* 0289DFDC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289DFDC */ _t19 = _t18 & 0x00000001u; /* 0289DFDC */ if (_t19) goto L_0289DFE0; else goto L_0289DFE8; L_0289DFE0: ; // 0x289dfe0 /* 0289DFE0 */ cpu->r[4] = cpu->r[6]; /* 0289DFE4 */ cpu->r[3] = cpu->r[9]; L_0289DFE8: ; // 0x289dfe8 /* 0289DFE8 */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 0289DFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[7]); /* 0289DFF0 */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 0289DFF4 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289DFF4 */ _t21 = _t20 & 0x00000001u; /* 0289DFF4 */ if (_t21) goto L_0289DFF8; else goto L_0289DFBC; L_0289DFF8: ; // 0x289dff8 /* 0289DFF8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); L_0289DFFC: ; // 0x289dffc /* 0289DFFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 0289E000 */ _t22 = cpu->r[29] + cpu->r[31]; /* 0289E000 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0289E004 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E004 */ _t24 = _t23 & 0x00000001u; /* 0289E004 */ if (_t24) goto L_0289E008; else goto L_0289E020; L_0289E008: ; // 0x289e008 /* 0289E008 */ cpu->r[5] = cpu->r[10]; /* 0289E00C */ cpu->r[26] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E010 */ _t25 = cpu->r[29] + cpu->r[26]; /* 0289E010 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25); /* 0289E014 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 0289E018 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E018 */ _t27 = _t26 & 0x00000001u; /* 0289E018 */ if (_t27) goto L_0289E01C; else goto L_0289E064; L_0289E01C: ; // 0x289e01c /* 0289E01C */ goto L_0289E034; L_0289E020: ; // 0x289e020 /* 0289E020 */ cpu->r[5] = cpu->r[3] + 0xFFFFFFFFu; /* 0289E024 */ cpu->r[26] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E028 */ _t28 = cpu->r[29] + cpu->r[26]; /* 0289E028 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); /* 0289E02C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 0289E030 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E030 */ _t30 = _t29 & 0x00000001u; /* 0289E030 */ if (_t30) goto L_0289E034; else goto L_0289E064; L_0289E034: ; // 0x289e034 /* 0289E034 */ _t31 = cpu->r[30] + cpu->r[26]; /* 0289E034 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31); /* 0289E038 */ _t32 = cpu->r[30] + cpu->r[31]; /* 0289E038 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 0289E03C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]); /* 0289E040 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E040 */ _t34 = _t33 & 0x00000001u; /* 0289E040 */ if (_t34) goto L_0289E044; else goto L_0289E068; L_0289E044: ; // 0x289e044 /* 0289E044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 0289E048 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E048 */ _t36 = _t35 & 0x00000001u; /* 0289E048 */ if (_t36) goto L_0289E04C; else goto L_0289E058; L_0289E04C: ; // 0x289e04c /* 0289E04C */ cpu->r[26] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E050 */ _t37 = cpu->r[29] + cpu->r[26]; /* 0289E050 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37); /* 0289E054 */ goto L_0289E064; L_0289E058: ; // 0x289e058 /* 0289E058 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu; /* 0289E05C */ cpu->r[26] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E060 */ _t38 = cpu->r[29] + cpu->r[26]; /* 0289E060 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38); L_0289E064: ; // 0x289e064 /* 0289E064 */ _t39 = cpu->r[30] + cpu->r[26]; /* 0289E064 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39); L_0289E068: ; // 0x289e068 /* 0289E068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]); /* 0289E06C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E06C */ _t41 = _t40 & 0x00000001u; /* 0289E06C */ if (_t41) goto L_0289E074; else goto L_0289E070; L_0289E070: ; // 0x289e070 /* 0289E070 */ cpu->r[0] = cpu->r[3] + 0x00000001u; L_0289E074: ; // 0x289e074 /* 0289E074 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E078 */ _t42 = cpu->r[30] + cpu->r[28]; /* 0289E078 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42); /* 0289E07C */ cpu->r[3] = cpu->r[8] - cpu->r[9]; /* 0289E080 */ cpu->r[5] = 0x00000006u; /* 0289E084 */ cpu->r[4] = cpu->r[10] - cpu->r[7]; /* 0289E088 */ Gambit_fn_0287B904(cpu); /* 0289E08C */ _t43 = cpu->r[30] + cpu->r[31]; /* 0289E08C */ cpu->r[7] = rbrew_read32(cpu->mem, _t43); /* 0289E090 */ _t44 = cpu->r[30] + cpu->r[26]; /* 0289E090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 0289E094 */ _t45 = cpu->r[29] + cpu->r[28]; /* 0289E094 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45); /* 0289E098 */ _t46 = cpu->r[29] + cpu->r[26]; /* 0289E098 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46); /* 0289E09C */ cpu->r[27] = cpu->r[3]; /* 0289E0A0 */ cpu->r[3] = cpu->r[7] - cpu->r[0]; /* 0289E0A4 */ cpu->r[5] = 0x00000006u; /* 0289E0A8 */ cpu->r[4] = cpu->r[9] - cpu->r[11]; /* 0289E0AC */ Gambit_fn_0287B904(cpu); /* 0289E0B0 */ cpu->r[4] = cpu->r[27] - cpu->r[3]; /* 0289E0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289E0B4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E0B4 */ _t48 = _t47 & 0x00000001u; /* 0289E0B4 */ if (_t48) goto L_0289E0B8; else goto L_0289E124; L_0289E0B8: ; // 0x289e0b8 /* 0289E0B8 */ _t49 = cpu->r[29] + cpu->r[26]; /* 0289E0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 0289E0BC */ _t50 = cpu->r[29] + cpu->r[31]; /* 0289E0BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t50); /* 0289E0C0 */ cpu->r[12] = cpu->r[0] - cpu->r[5]; /* 0289E0C4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x0000000Au, 0x00000000u, 0x00000015u); /* 0289E0C8 */ _t51 = cpu->r[1] + 0x00000008u; /* 0289E0C8 */ rbrew_write32(cpu->mem, _t51, cpu->r[6]); /* 0289E0CC */ _t52 = cpu->r[30] + cpu->r[26]; /* 0289E0CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t52); /* 0289E0D0 */ _t53 = cpu->r[30] + cpu->r[31]; /* 0289E0D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53); /* 0289E0D4 */ cpu->r[7] = cpu->r[8] - cpu->r[9]; /* 0289E0D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x0000000Au, 0x00000000u, 0x00000015u); /* 0289E0DC */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0289E0E0 */ _t54 = cpu->r[1] + 0x0000000Cu; /* 0289E0E0 */ rbrew_write32(cpu->mem, _t54, cpu->r[10]); /* 0289E0E4 */ Gambit_fn_0287BA40(cpu); /* 0289E0E8 */ _t55 = cpu->r[29] + cpu->r[28]; /* 0289E0E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55); /* 0289E0EC */ _t56 = cpu->r[29] + cpu->r[31]; /* 0289E0EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 0289E0F0 */ cpu->r[11] = cpu->r[12] - cpu->r[0]; /* 0289E0F4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x0000000Au, 0x00000000u, 0x00000015u); /* 0289E0F8 */ _t57 = cpu->r[1] + 0x00000010u; /* 0289E0F8 */ rbrew_write32(cpu->mem, _t57, cpu->r[5]); /* 0289E0FC */ _t58 = cpu->r[30] + cpu->r[28]; /* 0289E0FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t58); /* 0289E100 */ _t59 = cpu->r[30] + cpu->r[31]; /* 0289E100 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59); /* 0289E104 */ cpu->r[6] = cpu->r[7] - cpu->r[9]; /* 0289E108 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000000Au, 0x00000000u, 0x00000015u); /* 0289E10C */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0289E110 */ _t60 = cpu->r[1] + 0x00000014u; /* 0289E110 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]); /* 0289E114 */ Gambit_fn_0287BA40(cpu); /* 0289E118 */ _t61 = cpu->r[1] + 0x00000008u; /* 0289E118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t61); /* 0289E11C */ _t62 = cpu->r[1] + 0x00000010u; /* 0289E11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 0289E120 */ cpu->r[4] = cpu->r[12] - cpu->r[0]; L_0289E124: ; // 0x289e124 /* 0289E124 */ /* nop */ /* 0289E128 */ _t63 = cpu->r[1] + 0x00000034u; /* 0289E128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63); /* 0289E12C */ cpu->lr = cpu->r[0]; /* 0289E130 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0289E134 */ cpu->r[3] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 0289E138 */ return; } // fn_0289E13C @ 0x289e13c void Gambit_fn_0289E13C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72; L_0289E13C: ; // 0x289e13c /* 0289E13C */ _t0 = cpu->r[4] + 0x0000000Cu; /* 0289E13C */ cpu->r[5] = rbrew_read32(cpu->mem, _t0); /* 0289E140 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E144 */ _t1 = cpu->r[4] + 0x00000028u; /* 0289E144 */ cpu->r[10] = rbrew_read16(cpu->mem, _t1); /* 0289E148 */ cpu->r[9] = 0x00000000u; /* 0289E14C */ _t2 = cpu->r[12] + cpu->r[5]; /* 0289E14C */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0289E150 */ cpu->r[11] = cpu->r[10]; /* 0289E154 */ _t3 = cpu->r[4] + 0x00000020u; /* 0289E154 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 0289E158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289E15C */ _t4 = cpu->r[4] + 0x0000001Cu; /* 0289E15C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 0289E160 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E160 */ _t6 = _t5 & 0x00000001u; /* 0289E160 */ if (_t6) goto L_0289E194; else goto L_0289E164; L_0289E164: ; // 0x289e164 /* 0289E164 */ cpu->ctr = cpu->r[11]; /* 0289E168 */ cpu->r[12] = 0x00000000u; L_0289E16C: ; // 0x289e16c /* 0289E16C */ _t7 = cpu->r[7] + cpu->r[12]; /* 0289E16C */ cpu->r[11] = rbrew_read16(cpu->mem, _t7); /* 0289E170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[3]); /* 0289E174 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E174 */ _t9 = _t8 & 0x00000001u; /* 0289E174 */ if (_t9) goto L_0289E184; else goto L_0289E178; L_0289E178: ; // 0x289e178 /* 0289E178 */ _t10 = cpu->r[8] + cpu->r[12]; /* 0289E178 */ cpu->r[11] = rbrew_read16(cpu->mem, _t10); /* 0289E17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[11]); /* 0289E180 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E180 */ _t12 = _t11 & 0x00000001u; /* 0289E180 */ if (_t12) goto L_0289E184; else goto L_0289E194; L_0289E184: ; // 0x289e184 /* 0289E184 */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 0289E188 */ cpu->r[12] = cpu->r[12] + 0x00000002u; /* 0289E18C */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289E190 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289E190 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289E190 */ _t14 = _t13 >> (0x00000002u & 31u); /* 0289E190 */ _t15 = _t14 & 0x00000001u; /* 0289E190 */ if (_t15) goto L_0289E16C; else goto L_0289E194; L_0289E194: ; // 0x289e194 /* 0289E194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]); /* 0289E198 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E198 */ _t17 = _t16 & 0x00000001u; /* 0289E198 */ if (_t17) goto L_0289E1F8; else goto L_0289E19C; L_0289E19C: ; // 0x289e19c /* 0289E19C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289E1A0 */ _t18 = cpu->r[7] + cpu->r[12]; /* 0289E1A0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t18); /* 0289E1A4 */ _t19 = cpu->r[8] + cpu->r[12]; /* 0289E1A4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t19); /* 0289E1A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]); /* 0289E1AC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E1AC */ _t21 = _t20 & 0x00000001u; /* 0289E1AC */ if (_t21) goto L_0289E1F8; else goto L_0289E1B0; L_0289E1B0: ; // 0x289e1b0 /* 0289E1B0 */ cpu->r[7] = cpu->r[10]; /* 0289E1B4 */ cpu->r[11] = cpu->r[9] - cpu->r[7]; /* 0289E1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]); /* 0289E1BC */ cpu->r[8] = cpu->r[11] + 0x00000001u; /* 0289E1C0 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E1C0 */ _t23 = _t22 & 0x00000001u; /* 0289E1C0 */ if (_t23) goto L_0289E1F8; else goto L_0289E1C4; L_0289E1C4: ; // 0x289e1c4 /* 0289E1C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E1C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E1CC */ _t24 = cpu->r[11] + cpu->r[5]; /* 0289E1CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t24); /* 0289E1D0 */ _t25 = cpu->r[12] + cpu->r[5]; /* 0289E1D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25); /* 0289E1D0 */ cpu->r[12] = _t25; /* 0289E1D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 0289E1D8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E1D8 */ _t27 = _t26 & 0x00000001u; /* 0289E1D8 */ if (_t27) goto L_0289E1DC; else goto L_0289E200; L_0289E1DC: ; // 0x289e1dc /* 0289E1DC */ cpu->ctr = cpu->r[8]; /* 0289E1E0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289E1E0 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289E1E0 */ _t29 = _t28 >> (0x00000002u & 31u); /* 0289E1E0 */ _t30 = _t29 & 0x00000001u; /* 0289E1E0 */ if (_t30) goto L_0289E1E8; else goto L_0289E1E4; L_0289E1E4: ; // 0x289e1e4 /* 0289E1E4 */ goto L_0289E1F8; L_0289E1E8: ; // 0x289e1e8 /* 0289E1E8 */ _t31 = cpu->r[12] + 0x00000004u; /* 0289E1E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31); /* 0289E1E8 */ cpu->r[12] = _t31; /* 0289E1EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 0289E1F0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E1F0 */ _t33 = _t32 & 0x00000001u; /* 0289E1F0 */ if (_t33) goto L_0289E1F4; else goto L_0289E200; L_0289E1F4: ; // 0x289e1f4 /* 0289E1F4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289E1F4 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289E1F4 */ _t35 = _t34 >> (0x00000002u & 31u); /* 0289E1F4 */ _t36 = _t35 & 0x00000001u; /* 0289E1F4 */ if (_t36) goto L_0289E1E8; else goto L_0289E1F8; L_0289E1F8: ; // 0x289e1f8 /* 0289E1F8 */ cpu->r[3] = 0x00000000u; /* 0289E1FC */ return; L_0289E200: ; // 0x289e200 /* 0289E200 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]); /* 0289E204 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E204 */ _t38 = _t37 & 0x00000001u; /* 0289E204 */ if (_t38) goto L_0289E224; else goto L_0289E208; L_0289E208: ; // 0x289e208 /* 0289E208 */ cpu->r[7] = cpu->r[3] + 0xFFFFFFFFu; /* 0289E20C */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E210 */ _t39 = cpu->r[12] + cpu->r[5]; /* 0289E210 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39); /* 0289E214 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[11]); /* 0289E218 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E218 */ _t41 = _t40 & 0x00000001u; /* 0289E218 */ if (_t41) goto L_0289E21C; else goto L_0289E250; L_0289E21C: ; // 0x289e21c /* 0289E21C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]); /* 0289E220 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E220 */ _t43 = _t42 & 0x00000001u; /* 0289E220 */ if (_t43) goto L_0289E224; else goto L_0289E23C; L_0289E224: ; // 0x289e224 /* 0289E224 */ cpu->r[7] = cpu->r[9]; /* 0289E228 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E22C */ _t44 = cpu->r[12] + cpu->r[5]; /* 0289E22C */ cpu->r[11] = rbrew_read32(cpu->mem, _t44); /* 0289E230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[11]); /* 0289E234 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E234 */ _t46 = _t45 & 0x00000001u; /* 0289E234 */ if (_t46) goto L_0289E21C; else goto L_0289E238; L_0289E238: ; // 0x289e238 /* 0289E238 */ goto L_0289E250; L_0289E23C: ; // 0x289e23c /* 0289E23C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 0289E240 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E244 */ _t47 = cpu->r[12] + cpu->r[5]; /* 0289E244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47); /* 0289E248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[11]); /* 0289E24C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E24C */ _t49 = _t48 & 0x00000001u; /* 0289E24C */ if (_t49) goto L_0289E21C; else goto L_0289E250; L_0289E250: ; // 0x289e250 /* 0289E250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]); /* 0289E254 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E254 */ _t51 = _t50 & 0x00000001u; /* 0289E254 */ if (_t51) goto L_0289E274; else goto L_0289E258; L_0289E258: ; // 0x289e258 /* 0289E258 */ cpu->r[8] = cpu->r[3] + 0x00000001u; /* 0289E25C */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E260 */ _t52 = cpu->r[12] + cpu->r[5]; /* 0289E260 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 0289E264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]); /* 0289E268 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E268 */ _t54 = _t53 & 0x00000001u; /* 0289E268 */ if (_t54) goto L_0289E26C; else goto L_0289E2A0; L_0289E26C: ; // 0x289e26c /* 0289E26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]); /* 0289E270 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E270 */ _t56 = _t55 & 0x00000001u; /* 0289E270 */ if (_t56) goto L_0289E274; else goto L_0289E28C; L_0289E274: ; // 0x289e274 /* 0289E274 */ cpu->r[8] = cpu->r[10]; /* 0289E278 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E27C */ _t57 = cpu->r[12] + cpu->r[5]; /* 0289E27C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57); /* 0289E280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]); /* 0289E284 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E284 */ _t59 = _t58 & 0x00000001u; /* 0289E284 */ if (_t59) goto L_0289E26C; else goto L_0289E288; L_0289E288: ; // 0x289e288 /* 0289E288 */ goto L_0289E2A0; L_0289E28C: ; // 0x289e28c /* 0289E28C */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0289E290 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E294 */ _t60 = cpu->r[12] + cpu->r[5]; /* 0289E294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60); /* 0289E298 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]); /* 0289E29C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E29C */ _t62 = _t61 & 0x00000001u; /* 0289E29C */ if (_t62) goto L_0289E26C; else goto L_0289E2A0; L_0289E2A0: ; // 0x289e2a0 /* 0289E2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]); /* 0289E2A4 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E2A4 */ _t64 = _t63 & 0x00000001u; /* 0289E2A4 */ if (_t64) goto L_0289E2C4; else goto L_0289E2A8; L_0289E2A8: ; // 0x289e2a8 /* 0289E2A8 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E2A8 */ _t66 = _t65 & 0x00000001u; /* 0289E2A8 */ if (_t66) goto L_0289E2AC; else goto L_0289E1F8; L_0289E2AC: ; // 0x289e2ac /* 0289E2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]); /* 0289E2B0 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E2B0 */ _t68 = _t67 & 0x00000001u; /* 0289E2B0 */ if (_t68) goto L_0289E2B4; else goto L_0289E2BC; L_0289E2B4: ; // 0x289e2b4 /* 0289E2B4 */ cpu->r[3] = 0xFFFFFFFFu; /* 0289E2B8 */ return; L_0289E2BC: ; // 0x289e2bc /* 0289E2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]); /* 0289E2C0 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E2C0 */ _t70 = _t69 & 0x00000001u; /* 0289E2C0 */ if (_t70) goto L_0289E2C4; else goto L_0289E1F8; L_0289E2C4: ; // 0x289e2c4 /* 0289E2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]); /* 0289E2C8 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E2C8 */ _t72 = _t71 & 0x00000001u; /* 0289E2C8 */ if (_t72) goto L_0289E2CC; else goto L_0289E1F8; L_0289E2CC: ; // 0x289e2cc /* 0289E2CC */ cpu->r[3] = 0x00000001u; /* 0289E2D0 */ return; } // fn_0289E2D4 @ 0x289e2d4 void Gambit_fn_0289E2D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0289E2D4: ; // 0x289e2d4 /* 0289E2D4 */ cpu->r[7] = cpu->r[4] + 0x00000020u; /* 0289E2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0289E2DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E2E0 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E2E0 */ _t1 = _t0 & 0x00000001u; /* 0289E2E0 */ _t2 = _t1 ^ 0x00000001u; /* 0289E2E0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0289E2E0 */ goto L_0289E2E4; L_0289E2E4: ; // 0x289e2e4 /* 0289E2E4 */ cpu->ctr = cpu->r[5]; L_0289E2E8: ; // 0x289e2e8 /* 0289E2E8 */ _t3 = cpu->r[6] + 0x00000018u; /* 0289E2E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 0289E2EC */ /* nop */ /* 0289E2F0 */ cpu->r[10] = cpu->r[9]; /* 0289E2F4 */ _t4 = cpu->r[6] + 0x00000010u; /* 0289E2F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0289E2F8 */ cpu->r[0] = cpu->r[11] + cpu->r[10]; /* 0289E2FC */ cpu->r[11] = cpu->r[0] - cpu->r[4]; /* 0289E300 */ /* nop */ /* 0289E304 */ cpu->r[7] = cpu->r[11] ^ cpu->r[8]; /* 0289E308 */ cpu->r[7] = cpu->r[7] - cpu->r[8]; /* 0289E30C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000040u); /* 0289E310 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E310 */ _t6 = _t5 & 0x00000001u; /* 0289E310 */ if (_t6) goto L_0289E314; else goto L_0289E31C; L_0289E314: ; // 0x289e314 /* 0289E314 */ cpu->r[0] = cpu->r[12] - cpu->r[10]; /* 0289E318 */ _t7 = cpu->r[6] + 0x00000014u; /* 0289E318 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); L_0289E31C: ; // 0x289e31c /* 0289E31C */ cpu->r[6] = cpu->r[6] + 0x00000024u; /* 0289E320 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289E320 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289E320 */ _t9 = _t8 >> (0x00000002u & 31u); /* 0289E320 */ _t10 = _t9 & 0x00000001u; /* 0289E320 */ if (_t10) goto L_0289E2E8; else goto L_0289E324; L_0289E324: ; // 0x289e324 /* 0289E324 */ return; } // fn_0289E328 @ 0x289e328 void Gambit_fn_0289E328(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289E328: ; // 0x289e328 /* 0289E328 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0289E328 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289E328 */ cpu->r[1] = _t0; /* 0289E32C */ _t1 = cpu->r[1] + 0x00000020u; /* 0289E32C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0289E330 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 0289E330 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0289E334 */ _t3 = cpu->r[1] + 0x00000024u; /* 0289E334 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0289E338 */ _t4 = cpu->r[3] + 0x00000008u; /* 0289E338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 0289E33C */ _t5 = cpu->r[3] + 0x00000004u; /* 0289E33C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0289E340 */ _t6 = cpu->r[3] + 0x00000000u; /* 0289E340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0289E344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289E348 */ cpu->r[9] = cpu->r[6] + 0x00000020u; /* 0289E34C */ cpu->r[10] = cpu->r[30] + 0x00000020u; /* 0289E350 */ cpu->r[8] = cpu->r[12] - cpu->r[30]; /* 0289E354 */ _t7 = cpu->r[3] + 0x0000000Cu; /* 0289E354 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0289E358 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E35C */ cpu->r[11] = cpu->r[8] + 0x00000020u; /* 0289E360 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E364 */ cpu->r[8] = cpu->r[6] - cpu->r[12]; /* 0289E368 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E36C */ cpu->r[12] = cpu->r[8] + 0x00000020u; /* 0289E370 */ cpu->r[11] = cpu->r[10] + cpu->r[11]; /* 0289E374 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E378 */ _t8 = cpu->r[1] + 0x00000008u; /* 0289E378 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 0289E37C */ cpu->r[9] = cpu->r[6] - cpu->r[12]; /* 0289E380 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E380 */ _t10 = _t9 & 0x00000001u; /* 0289E380 */ if (_t10) goto L_0289E384; else goto L_0289E454; L_0289E384: ; // 0x289e384 /* 0289E384 */ cpu->r[31] = cpu->r[1] + 0x00000008u; L_0289E388: ; // 0x289e388 /* 0289E388 */ _t11 = cpu->r[5] + 0x00000018u; /* 0289E388 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 0289E38C */ /* nop */ /* 0289E390 */ cpu->r[8] = cpu->r[12]; /* 0289E394 */ _t12 = cpu->r[5] + 0x00000010u; /* 0289E394 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 0289E398 */ cpu->r[29] = cpu->r[6] + cpu->r[8]; /* 0289E39C */ cpu->r[11] = cpu->r[30] - cpu->r[29]; /* 0289E3A0 */ /* nop */ /* 0289E3A4 */ cpu->r[11] = cpu->r[11] ^ cpu->r[12]; /* 0289E3A8 */ cpu->r[11] = cpu->r[11] - cpu->r[12]; /* 0289E3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u); /* 0289E3B0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E3B0 */ _t14 = _t13 & 0x00000001u; /* 0289E3B0 */ if (_t14) goto L_0289E3B4; else goto L_0289E3C4; L_0289E3B4: ; // 0x289e3b4 /* 0289E3B4 */ _t15 = cpu->r[5] + 0x00000010u; /* 0289E3B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15); /* 0289E3B8 */ cpu->r[12] = cpu->r[10] - cpu->r[8]; /* 0289E3BC */ _t16 = cpu->r[5] + 0x00000014u; /* 0289E3BC */ rbrew_write32(cpu->mem, _t16, cpu->r[12]); /* 0289E3C0 */ goto L_0289E3F0; L_0289E3C4: ; // 0x289e3c4 /* 0289E3C4 */ _t17 = cpu->r[3] + 0x00000000u; /* 0289E3C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 0289E3C8 */ cpu->r[11] = cpu->r[12] - cpu->r[29]; /* 0289E3CC */ /* nop */ /* 0289E3D0 */ cpu->r[11] = cpu->r[11] ^ cpu->r[12]; /* 0289E3D4 */ cpu->r[11] = cpu->r[11] - cpu->r[12]; /* 0289E3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u); /* 0289E3DC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E3DC */ _t19 = _t18 & 0x00000001u; /* 0289E3DC */ if (_t19) goto L_0289E3E0; else goto L_0289E3F0; L_0289E3E0: ; // 0x289e3e0 /* 0289E3E0 */ _t20 = cpu->r[31] + 0x00000000u; /* 0289E3E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0289E3E4 */ _t21 = cpu->r[5] + 0x00000010u; /* 0289E3E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 0289E3E8 */ cpu->r[12] = cpu->r[12] - cpu->r[8]; /* 0289E3EC */ _t22 = cpu->r[5] + 0x00000014u; /* 0289E3EC */ rbrew_write32(cpu->mem, _t22, cpu->r[12]); L_0289E3F0: ; // 0x289e3f0 /* 0289E3F0 */ _t23 = cpu->r[3] + 0x00000008u; /* 0289E3F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0289E3F4 */ cpu->r[6] = cpu->r[6] - cpu->r[8]; /* 0289E3F8 */ cpu->r[11] = cpu->r[12] - cpu->r[6]; /* 0289E3FC */ /* nop */ /* 0289E400 */ cpu->r[11] = cpu->r[11] ^ cpu->r[12]; /* 0289E404 */ cpu->r[11] = cpu->r[11] - cpu->r[12]; /* 0289E408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u); /* 0289E40C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E40C */ _t25 = _t24 & 0x00000001u; /* 0289E40C */ if (_t25) goto L_0289E410; else goto L_0289E41C; L_0289E410: ; // 0x289e410 /* 0289E410 */ cpu->r[12] = cpu->r[7] + cpu->r[8]; /* 0289E414 */ _t26 = cpu->r[5] + 0x00000014u; /* 0289E414 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]); /* 0289E418 */ goto L_0289E440; L_0289E41C: ; // 0x289e41c /* 0289E41C */ _t27 = cpu->r[3] + 0x0000000Cu; /* 0289E41C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0289E420 */ cpu->r[11] = cpu->r[12] - cpu->r[6]; /* 0289E424 */ /* nop */ /* 0289E428 */ cpu->r[11] = cpu->r[11] ^ cpu->r[12]; /* 0289E42C */ cpu->r[11] = cpu->r[11] - cpu->r[12]; /* 0289E430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u); /* 0289E434 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E434 */ _t29 = _t28 & 0x00000001u; /* 0289E434 */ if (_t29) goto L_0289E438; else goto L_0289E440; L_0289E438: ; // 0x289e438 /* 0289E438 */ cpu->r[12] = cpu->r[9] + cpu->r[8]; /* 0289E43C */ _t30 = cpu->r[5] + 0x00000014u; /* 0289E43C */ rbrew_write32(cpu->mem, _t30, cpu->r[12]); L_0289E440: ; // 0x289e440 /* 0289E440 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; /* 0289E440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0289E444 */ cpu->r[5] = cpu->r[5] + 0x00000024u; /* 0289E448 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E448 */ _t32 = _t31 & 0x00000001u; /* 0289E448 */ if (_t32) goto L_0289E454; else goto L_0289E44C; L_0289E44C: ; // 0x289e44c /* 0289E44C */ _t33 = cpu->r[3] + 0x00000004u; /* 0289E44C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 0289E450 */ goto L_0289E388; L_0289E454: ; // 0x289e454 /* 0289E454 */ _t34 = cpu->r[1] + 0x0000001Cu; /* 0289E454 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34); /* 0289E458 */ _t35 = cpu->r[1] + 0x00000024u; /* 0289E458 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 0289E45C */ _t36 = cpu->r[1] + 0x00000020u; /* 0289E45C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 0289E460 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0289E464 */ return; } // fn_0289E468 @ 0x289e468 void Gambit_fn_0289E468(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289E468: ; // 0x289e468 /* 0289E468 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 0289E468 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289E468 */ cpu->r[1] = _t0; /* 0289E46C */ /* nop */ /* 0289E470 */ cpu->r[31] = cpu->r[5]; /* 0289E474 */ cpu->r[5] = 0x2AAB0000u; /* 0289E478 */ cpu->r[5] = cpu->r[5] + 0xFFFFAAABu; /* 0289E47C */ cpu->r[0] = cpu->lr; /* 0289E480 */ _t1 = cpu->r[1] + 0x0000006Cu; /* 0289E480 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289E484 */ cpu->r[29] = cpu->r[3]; /* 0289E488 */ cpu->r[10] = (uint32_t)(((int64_t)(int32_t)cpu->r[5] * (int64_t)(int32_t)cpu->r[7]) >> 32); /* 0289E48C */ _t2 = cpu->r[6] + 0x00000000u; /* 0289E48C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0289E490 */ _t3 = cpu->r[6] + 0x00000028u; /* 0289E490 */ cpu->r[11] = rbrew_read16(cpu->mem, _t3); /* 0289E494 */ _t4 = cpu->r[1] + 0x00000014u; /* 0289E494 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0289E498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0289E49C */ _t5 = cpu->r[6] + 0x0000000Cu; /* 0289E49C */ cpu->r[28] = rbrew_read32(cpu->mem, _t5); /* 0289E4A0 */ /* nop */ /* 0289E4A4 */ _t6 = cpu->r[6] + 0x00000020u; /* 0289E4A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0289E4A8 */ cpu->r[0] = cpu->r[10] - cpu->r[9]; /* 0289E4AC */ _t7 = cpu->r[6] + 0x00000004u; /* 0289E4AC */ cpu->r[27] = rbrew_read32(cpu->mem, _t7); /* 0289E4B0 */ cpu->r[30] = cpu->r[4]; /* 0289E4B4 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0289E4B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0289E4B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E4B8 */ _t10 = _t9 & 0x00000001u; /* 0289E4B8 */ if (_t10) goto L_0289E894; else goto L_0289E4BC; L_0289E4BC: ; // 0x289e4bc /* 0289E4BC */ _t11 = cpu->r[29] + 0x00000008u; /* 0289E4BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 0289E4C0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289E4C4 */ _t12 = cpu->r[29] + 0x0000000Cu; /* 0289E4C4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t12); /* 0289E4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000380u); /* 0289E4CC */ _t13 = cpu->r[1] + 0x00000008u; /* 0289E4CC */ rbrew_write32(cpu->mem, _t13, cpu->r[6]); /* 0289E4D0 */ _t14 = cpu->r[1] + 0x00000008u; /* 0289E4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0289E4D4 */ cpu->r[12] = cpu->r[8] + cpu->r[10]; /* 0289E4D8 */ _t15 = cpu->r[29] + 0x00000000u; /* 0289E4D8 */ cpu->r[18] = rbrew_read32(cpu->mem, _t15); /* 0289E4DC */ cpu->r[6] = cpu->r[19] + 0x00000020u; /* 0289E4E0 */ cpu->r[11] = cpu->r[0] - cpu->r[19]; /* 0289E4E4 */ _t16 = cpu->r[12] + 0xFFFFFFFEu; /* 0289E4E4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t16); /* 0289E4E8 */ cpu->r[8] = cpu->r[18] + 0x00000006u; /* 0289E4EC */ cpu->r[25] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E4F0 */ cpu->r[9] = cpu->r[8] - cpu->r[19]; /* 0289E4F4 */ cpu->r[12] = cpu->r[11] + 0x00000020u; /* 0289E4F8 */ cpu->r[10] = cpu->r[9] + 0x00000020u; /* 0289E4FC */ cpu->r[16] = cpu->r[5] + 0x00000001u; /* 0289E500 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E504 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E508 */ _t17 = cpu->r[29] + 0x00000004u; /* 0289E508 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17); /* 0289E50C */ cpu->r[24] = cpu->r[25] + cpu->r[0]; /* 0289E510 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E510 */ _t19 = _t18 & 0x00000001u; /* 0289E510 */ if (_t19) goto L_0289E514; else goto L_0289E520; L_0289E514: ; // 0x289e514 /* 0289E514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289E518 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E518 */ _t21 = _t20 & 0x00000001u; /* 0289E518 */ if (_t21) goto L_0289E520; else goto L_0289E51C; L_0289E51C: ; // 0x289e51c /* 0289E51C */ cpu->r[12] = 0x00000040u; L_0289E520: ; // 0x289e520 /* 0289E520 */ _t22 = cpu->r[1] + 0x00000018u; /* 0289E520 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]); /* 0289E524 */ cpu->r[6] = cpu->r[25] + cpu->r[12]; /* 0289E528 */ cpu->r[5] = cpu->r[18] - cpu->r[8]; /* 0289E52C */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0289E52C */ rbrew_write32(cpu->mem, _t23, cpu->r[6]); /* 0289E530 */ cpu->r[6] = cpu->r[5] + 0x00000020u; /* 0289E534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000380u); /* 0289E538 */ _t24 = cpu->r[27] + 0x00000000u; /* 0289E538 */ cpu->r[21] = rbrew_read32(cpu->mem, _t24); /* 0289E53C */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E540 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E540 */ _t26 = _t25 & 0x00000001u; /* 0289E540 */ if (_t26) goto L_0289E544; else goto L_0289E550; L_0289E544: ; // 0x289e544 /* 0289E544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289E548 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E548 */ _t28 = _t27 & 0x00000001u; /* 0289E548 */ if (_t28) goto L_0289E550; else goto L_0289E54C; L_0289E54C: ; // 0x289e54c /* 0289E54C */ cpu->r[12] = 0x00000040u; L_0289E550: ; // 0x289e550 /* 0289E550 */ cpu->r[26] = cpu->r[24] - cpu->r[12]; /* 0289E554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000001u); /* 0289E558 */ cpu->r[0] = cpu->r[16] + 0xFFFFFFFFu; /* 0289E55C */ cpu->r[20] = cpu->r[21]; /* 0289E560 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E560 */ _t30 = _t29 & 0x00000001u; /* 0289E560 */ if (_t30) goto L_0289E564; else goto L_0289E58C; L_0289E564: ; // 0x289e564 /* 0289E564 */ cpu->ctr = cpu->r[0]; /* 0289E568 */ cpu->r[9] = cpu->r[27]; L_0289E56C: ; // 0x289e56c /* 0289E56C */ _t31 = cpu->r[9] + 0x00000004u; /* 0289E56C */ cpu->r[6] = rbrew_read32(cpu->mem, _t31); /* 0289E56C */ cpu->r[9] = _t31; /* 0289E570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[21]); /* 0289E574 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E574 */ _t33 = _t32 & 0x00000001u; /* 0289E574 */ if (_t33) goto L_0289E578; else goto L_0289E57C; L_0289E578: ; // 0x289e578 /* 0289E578 */ cpu->r[21] = cpu->r[6]; L_0289E57C: ; // 0x289e57c /* 0289E57C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[20]); /* 0289E580 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E580 */ _t35 = _t34 & 0x00000001u; /* 0289E580 */ if (_t35) goto L_0289E584; else goto L_0289E588; L_0289E584: ; // 0x289e584 /* 0289E584 */ cpu->r[20] = cpu->r[6]; L_0289E588: ; // 0x289e588 /* 0289E588 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289E588 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289E588 */ _t37 = _t36 >> (0x00000002u & 31u); /* 0289E588 */ _t38 = _t37 & 0x00000001u; /* 0289E588 */ if (_t38) goto L_0289E56C; else goto L_0289E58C; L_0289E58C: ; // 0x289e58c /* 0289E58C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[21]); /* 0289E590 */ cpu->r[23] = cpu->r[21]; /* 0289E594 */ cpu->r[22] = cpu->r[20]; /* 0289E598 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E598 */ _t40 = _t39 & 0x00000001u; /* 0289E598 */ if (_t40) goto L_0289E894; else goto L_0289E59C; L_0289E59C: ; // 0x289e59c /* 0289E59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289E5A0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E5A0 */ _t42 = _t41 & 0x00000001u; /* 0289E5A0 */ if (_t42) goto L_0289E5A4; else goto L_0289E5DC; L_0289E5A4: ; // 0x289e5a4 /* 0289E5A4 */ cpu->r[8] = cpu->r[20] - cpu->r[18]; /* 0289E5A8 */ /* nop */ /* 0289E5AC */ cpu->r[9] = cpu->r[8] ^ cpu->r[10]; /* 0289E5B0 */ cpu->r[9] = cpu->r[9] - cpu->r[10]; /* 0289E5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000020u); /* 0289E5B8 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E5B8 */ _t44 = _t43 & 0x00000001u; /* 0289E5B8 */ if (_t44) goto L_0289E5BC; else goto L_0289E714; L_0289E5BC: ; // 0x289e5bc /* 0289E5BC */ cpu->r[11] = cpu->r[21] - cpu->r[19]; /* 0289E5C0 */ /* nop */ /* 0289E5C4 */ cpu->r[5] = cpu->r[11] ^ cpu->r[0]; /* 0289E5C8 */ cpu->r[5] = cpu->r[5] - cpu->r[0]; /* 0289E5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000020u); /* 0289E5D0 */ cpu->r[22] = cpu->r[24]; /* 0289E5D4 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E5D4 */ _t46 = _t45 & 0x00000001u; /* 0289E5D4 */ if (_t46) goto L_0289E5D8; else goto L_0289E730; L_0289E5D8: ; // 0x289e5d8 /* 0289E5D8 */ goto L_0289E72C; L_0289E5DC: ; // 0x289e5dc /* 0289E5DC */ cpu->r[5] = cpu->r[30] + 0xFFFFFFFFu; /* 0289E5E0 */ _t47 = cpu->r[31] + 0x00000018u; /* 0289E5E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47); /* 0289E5E4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000024u); /* 0289E5E8 */ _t48 = cpu->r[31] + 0x00000010u; /* 0289E5E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48); /* 0289E5EC */ cpu->r[14] = cpu->r[31] + cpu->r[10]; /* 0289E5F0 */ /* nop */ /* 0289E5F4 */ _t49 = cpu->r[14] + 0x00000018u; /* 0289E5F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49); /* 0289E5F8 */ cpu->r[11] = cpu->r[0]; /* 0289E5FC */ _t50 = cpu->r[31] + 0x00000002u; /* 0289E5FC */ cpu->r[4] = rbrew_read16(cpu->mem, _t50); /* 0289E600 */ /* nop */ /* 0289E604 */ _t51 = cpu->r[1] + 0x00000014u; /* 0289E604 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51); /* 0289E608 */ cpu->r[5] = cpu->r[9]; /* 0289E60C */ _t52 = cpu->r[14] + 0x00000010u; /* 0289E60C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52); /* 0289E610 */ _t53 = cpu->r[31] + 0x00000000u; /* 0289E610 */ cpu->r[3] = rbrew_read16(cpu->mem, _t53); /* 0289E614 */ _t54 = cpu->r[31] + 0x00000006u; /* 0289E614 */ cpu->r[6] = rbrew_read16(cpu->mem, _t54); /* 0289E618 */ cpu->r[15] = cpu->r[10] + cpu->r[5]; /* 0289E61C */ _t55 = cpu->r[31] + 0x00000004u; /* 0289E61C */ cpu->r[5] = rbrew_read16(cpu->mem, _t55); /* 0289E620 */ cpu->r[17] = cpu->r[12] - cpu->r[11]; /* 0289E624 */ Gambit_fn_0289DEF4(cpu); /* 0289E628 */ _t56 = cpu->r[14] + 0x00000006u; /* 0289E628 */ cpu->r[6] = rbrew_read16(cpu->mem, _t56); /* 0289E62C */ _t57 = cpu->r[14] + 0x00000004u; /* 0289E62C */ cpu->r[5] = rbrew_read16(cpu->mem, _t57); /* 0289E630 */ _t58 = cpu->r[1] + 0x00000010u; /* 0289E630 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]); /* 0289E634 */ _t59 = cpu->r[14] + 0x00000000u; /* 0289E634 */ cpu->r[3] = rbrew_read16(cpu->mem, _t59); /* 0289E638 */ _t60 = cpu->r[1] + 0x00000014u; /* 0289E638 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60); /* 0289E63C */ _t61 = cpu->r[14] + 0x00000002u; /* 0289E63C */ cpu->r[4] = rbrew_read16(cpu->mem, _t61); /* 0289E640 */ Gambit_fn_0289DEF4(cpu); /* 0289E644 */ _t62 = cpu->r[1] + 0x0000000Cu; /* 0289E644 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62); /* 0289E648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]); /* 0289E64C */ _t63 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E64C */ _t64 = _t63 & 0x00000001u; /* 0289E64C */ if (_t64) goto L_0289E650; else goto L_0289E6A0; L_0289E650: ; // 0x289e650 /* 0289E650 */ cpu->r[5] = cpu->r[15] - cpu->r[20]; /* 0289E654 */ /* nop */ /* 0289E658 */ cpu->r[6] = cpu->r[5] ^ cpu->r[7]; /* 0289E65C */ cpu->r[6] = cpu->r[6] - cpu->r[7]; /* 0289E660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000030u); /* 0289E664 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E664 */ _t66 = _t65 & 0x00000001u; /* 0289E664 */ if (_t66) goto L_0289E668; else goto L_0289E6A0; L_0289E668: ; // 0x289e668 /* 0289E668 */ _t67 = cpu->r[1] + 0x00000018u; /* 0289E668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67); /* 0289E66C */ cpu->r[0] = cpu->r[15] - cpu->r[0]; /* 0289E670 */ /* nop */ /* 0289E674 */ cpu->r[12] = cpu->r[0] ^ cpu->r[6]; /* 0289E678 */ cpu->r[12] = cpu->r[12] - cpu->r[6]; /* 0289E67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u); /* 0289E680 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E680 */ _t69 = _t68 & 0x00000001u; /* 0289E680 */ if (_t69) goto L_0289E684; else goto L_0289E6BC; L_0289E684: ; // 0x289e684 /* 0289E684 */ _t70 = cpu->r[1] + 0x00000010u; /* 0289E684 */ cpu->r[7] = rbrew_read32(cpu->mem, _t70); /* 0289E688 */ cpu->r[20] = cpu->r[15]; /* 0289E68C */ _t71 = cpu->r[1] + 0x0000000Cu; /* 0289E68C */ cpu->r[9] = rbrew_read32(cpu->mem, _t71); /* 0289E690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]); /* 0289E694 */ cpu->r[22] = cpu->r[26]; /* 0289E698 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E698 */ _t73 = _t72 & 0x00000001u; /* 0289E698 */ if (_t73) goto L_0289E69C; else goto L_0289E714; L_0289E69C: ; // 0x289e69c /* 0289E69C */ goto L_0289E6CC; L_0289E6A0: ; // 0x289e6a0 /* 0289E6A0 */ cpu->r[8] = cpu->r[20] - cpu->r[18]; /* 0289E6A4 */ /* nop */ /* 0289E6A8 */ cpu->r[10] = cpu->r[8] ^ cpu->r[12]; /* 0289E6AC */ cpu->r[10] = cpu->r[10] - cpu->r[12]; /* 0289E6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000020u); /* 0289E6B4 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E6B4 */ _t75 = _t74 & 0x00000001u; /* 0289E6B4 */ if (_t75) goto L_0289E6B8; else goto L_0289E6BC; L_0289E6B8: ; // 0x289e6b8 /* 0289E6B8 */ cpu->r[22] = cpu->r[24]; L_0289E6BC: ; // 0x289e6bc /* 0289E6BC */ _t76 = cpu->r[1] + 0x00000010u; /* 0289E6BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t76); /* 0289E6C0 */ _t77 = cpu->r[1] + 0x0000000Cu; /* 0289E6C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77); /* 0289E6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]); /* 0289E6C8 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E6C8 */ _t79 = _t78 & 0x00000001u; /* 0289E6C8 */ if (_t79) goto L_0289E6CC; else goto L_0289E714; L_0289E6CC: ; // 0x289e6cc /* 0289E6CC */ cpu->r[0] = cpu->r[17] - cpu->r[21]; /* 0289E6D0 */ /* nop */ /* 0289E6D4 */ cpu->r[7] = cpu->r[0] ^ cpu->r[9]; /* 0289E6D8 */ cpu->r[7] = cpu->r[7] - cpu->r[9]; /* 0289E6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000010u); /* 0289E6E0 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E6E0 */ _t81 = _t80 & 0x00000001u; /* 0289E6E0 */ if (_t81) goto L_0289E6E4; else goto L_0289E714; L_0289E6E4: ; // 0x289e6e4 /* 0289E6E4 */ _t82 = cpu->r[1] + 0x00000008u; /* 0289E6E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82); /* 0289E6E8 */ cpu->r[12] = cpu->r[17] - cpu->r[5]; /* 0289E6EC */ /* nop */ /* 0289E6F0 */ cpu->r[8] = cpu->r[12] ^ cpu->r[0]; /* 0289E6F4 */ cpu->r[8] = cpu->r[8] - cpu->r[0]; /* 0289E6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000020u); /* 0289E6FC */ _t83 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E6FC */ _t84 = _t83 & 0x00000001u; /* 0289E6FC */ if (_t84) goto L_0289E700; else goto L_0289E730; L_0289E700: ; // 0x289e700 /* 0289E700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[22]); /* 0289E704 */ _t85 = cpu->r[1] + 0x0000001Cu; /* 0289E704 */ cpu->r[23] = rbrew_read32(cpu->mem, _t85); /* 0289E708 */ cpu->r[21] = cpu->r[17]; /* 0289E70C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E70C */ _t87 = _t86 & 0x00000001u; /* 0289E70C */ if (_t87) goto L_0289E738; else goto L_0289E710; L_0289E710: ; // 0x289e710 /* 0289E710 */ goto L_0289E740; L_0289E714: ; // 0x289e714 /* 0289E714 */ cpu->r[11] = cpu->r[21] - cpu->r[19]; /* 0289E718 */ /* nop */ /* 0289E71C */ cpu->r[5] = cpu->r[11] ^ cpu->r[0]; /* 0289E720 */ cpu->r[5] = cpu->r[5] - cpu->r[0]; /* 0289E724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000020u); /* 0289E728 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E728 */ _t89 = _t88 & 0x00000001u; /* 0289E728 */ if (_t89) goto L_0289E72C; else goto L_0289E730; L_0289E72C: ; // 0x289e72c /* 0289E72C */ cpu->r[23] = cpu->r[25]; L_0289E730: ; // 0x289e730 /* 0289E730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[22]); /* 0289E734 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E734 */ _t91 = _t90 & 0x00000001u; /* 0289E734 */ if (_t91) goto L_0289E738; else goto L_0289E740; L_0289E738: ; // 0x289e738 /* 0289E738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[23]); /* 0289E73C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E73C */ _t93 = _t92 & 0x00000001u; /* 0289E73C */ if (_t93) goto L_0289E7C8; else goto L_0289E740; L_0289E740: ; // 0x289e740 /* 0289E740 */ cpu->r[5] = 0x00000010u; /* 0289E744 */ cpu->r[4] = cpu->r[20] - cpu->r[21]; /* 0289E748 */ cpu->r[3] = cpu->r[22] - cpu->r[23]; /* 0289E74C */ Gambit_fn_0287B61C(cpu); /* 0289E750 */ cpu->r[19] = cpu->r[16]; /* 0289E750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 0289E754 */ cpu->r[18] = cpu->r[3]; /* 0289E758 */ _t94 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E758 */ _t95 = _t94 & 0x00000001u; /* 0289E758 */ if (_t95) goto L_0289E75C; else goto L_0289E788; L_0289E75C: ; // 0x289e75c /* 0289E75C */ cpu->r[20] = 0x00000000u; L_0289E760: ; // 0x289e760 /* 0289E760 */ _t96 = cpu->r[28] + cpu->r[20]; /* 0289E760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96); /* 0289E764 */ cpu->r[5] = 0x00000010u; /* 0289E768 */ cpu->r[3] = cpu->r[18]; /* 0289E76C */ cpu->r[4] = cpu->r[0] - cpu->r[21]; /* 0289E770 */ Gambit_fn_0287B904(cpu); /* 0289E774 */ cpu->r[11] = cpu->r[23] + cpu->r[3]; /* 0289E778 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu; /* 0289E778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 0289E77C */ _t97 = cpu->r[27] + cpu->r[20]; /* 0289E77C */ rbrew_write32(cpu->mem, _t97, cpu->r[11]); /* 0289E780 */ cpu->r[20] = cpu->r[20] + 0x00000004u; /* 0289E784 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E784 */ _t99 = _t98 & 0x00000001u; /* 0289E784 */ if (_t99) goto L_0289E788; else goto L_0289E760; L_0289E788: ; // 0x289e788 /* 0289E788 */ cpu->r[12] = cpu->r[30]; /* 0289E788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289E78C */ _t100 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E78C */ _t101 = _t100 & 0x00000001u; /* 0289E78C */ if (_t101) goto L_0289E790; else goto L_0289E7C8; L_0289E790: ; // 0x289e790 /* 0289E790 */ cpu->ctr = cpu->r[12]; /* 0289E794 */ cpu->r[6] = cpu->r[31] + 0xFFFFFFDCu; L_0289E798: ; // 0x289e798 /* 0289E798 */ _t102 = cpu->r[6] + 0x00000024u; /* 0289E798 */ cpu->r[5] = rbrew_read16(cpu->mem, _t102); /* 0289E798 */ cpu->r[6] = _t102; /* 0289E79C */ _t103 = cpu->r[6] + 0x00000004u; /* 0289E79C */ cpu->r[8] = rbrew_read16(cpu->mem, _t103); /* 0289E7A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E7A4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E7A8 */ _t104 = cpu->r[12] + cpu->r[27]; /* 0289E7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104); /* 0289E7AC */ _t105 = cpu->r[7] + cpu->r[27]; /* 0289E7AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t105); /* 0289E7B0 */ cpu->r[9] = cpu->r[12] + cpu->r[7]; /* 0289E7B4 */ /* nop */ /* 0289E7B8 */ cpu->r[0] = cpu->r[10]; /* 0289E7BC */ _t106 = cpu->r[6] + 0x00000014u; /* 0289E7BC */ rbrew_write32(cpu->mem, _t106, cpu->r[0]); /* 0289E7C0 */ _t107 = cpu->r[6] + 0x00000010u; /* 0289E7C0 */ rbrew_write32(cpu->mem, _t107, cpu->r[0]); /* 0289E7C4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289E7C4 */ _t108 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289E7C4 */ _t109 = _t108 >> (0x00000002u & 31u); /* 0289E7C4 */ _t110 = _t109 & 0x00000001u; /* 0289E7C4 */ if (_t110) goto L_0289E798; else goto L_0289E7C8; L_0289E7C8: ; // 0x289e7c8 /* 0289E7C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[24]); /* 0289E7CC */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E7CC */ _t112 = _t111 & 0x00000001u; /* 0289E7CC */ if (_t112) goto L_0289E7D8; else goto L_0289E7D0; L_0289E7D0: ; // 0x289e7d0 /* 0289E7D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[25]); /* 0289E7D4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E7D4 */ _t114 = _t113 & 0x00000001u; /* 0289E7D4 */ if (_t114) goto L_0289E7D8; else goto L_0289E880; L_0289E7D8: ; // 0x289e7d8 /* 0289E7D8 */ cpu->r[0] = cpu->r[30]; /* 0289E7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289E7DC */ _t115 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E7DC */ _t116 = _t115 & 0x00000001u; /* 0289E7DC */ if (_t116) goto L_0289E7E0; else goto L_0289E828; L_0289E7E0: ; // 0x289e7e0 /* 0289E7E0 */ cpu->ctr = cpu->r[0]; /* 0289E7E4 */ cpu->r[10] = cpu->r[31]; L_0289E7E8: ; // 0x289e7e8 /* 0289E7E8 */ _t117 = cpu->r[10] + 0x00000018u; /* 0289E7E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t117); /* 0289E7EC */ /* nop */ /* 0289E7F0 */ _t118 = cpu->r[10] + 0x00000010u; /* 0289E7F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t118); /* 0289E7F4 */ cpu->r[12] = cpu->r[12]; /* 0289E7F8 */ _t119 = cpu->r[29] + 0x00000004u; /* 0289E7F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t119); /* 0289E7FC */ cpu->r[17] = cpu->r[8] - cpu->r[12]; /* 0289E800 */ cpu->r[5] = cpu->r[17] - cpu->r[6]; /* 0289E804 */ /* nop */ /* 0289E808 */ cpu->r[7] = cpu->r[5] ^ cpu->r[8]; /* 0289E80C */ cpu->r[7] = cpu->r[7] - cpu->r[8]; /* 0289E810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000020u); /* 0289E814 */ _t120 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E814 */ _t121 = _t120 & 0x00000001u; /* 0289E814 */ if (_t121) goto L_0289E818; else goto L_0289E828; L_0289E818: ; // 0x289e818 /* 0289E818 */ cpu->r[0] = cpu->r[26] + cpu->r[12]; /* 0289E81C */ _t122 = cpu->r[10] + 0x00000014u; /* 0289E81C */ rbrew_write32(cpu->mem, _t122, cpu->r[0]); /* 0289E820 */ cpu->r[10] = cpu->r[10] + 0x00000024u; /* 0289E824 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289E824 */ _t123 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289E824 */ _t124 = _t123 >> (0x00000002u & 31u); /* 0289E824 */ _t125 = _t124 & 0x00000001u; /* 0289E824 */ if (_t125) goto L_0289E7E8; else goto L_0289E828; L_0289E828: ; // 0x289e828 /* 0289E828 */ cpu->r[10] = cpu->r[30] + 0xFFFFFFFFu; /* 0289E828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0289E82C */ cpu->r[11] = cpu->r[30]; /* 0289E830 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E830 */ _t127 = _t126 & 0x00000001u; /* 0289E830 */ if (_t127) goto L_0289E880; else goto L_0289E834; L_0289E834: ; // 0x289e834 /* 0289E834 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000024u); /* 0289E838 */ cpu->ctr = cpu->r[11]; /* 0289E83C */ cpu->r[6] = cpu->r[31] + cpu->r[10]; L_0289E840: ; // 0x289e840 /* 0289E840 */ _t128 = cpu->r[6] + 0x00000018u; /* 0289E840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128); /* 0289E844 */ /* nop */ /* 0289E848 */ _t129 = cpu->r[6] + 0x00000010u; /* 0289E848 */ cpu->r[8] = rbrew_read32(cpu->mem, _t129); /* 0289E84C */ cpu->r[12] = cpu->r[7]; /* 0289E850 */ _t130 = cpu->r[29] + 0x00000004u; /* 0289E850 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130); /* 0289E854 */ cpu->r[15] = cpu->r[8] + cpu->r[12]; /* 0289E858 */ cpu->r[8] = cpu->r[15] - cpu->r[9]; /* 0289E85C */ /* nop */ /* 0289E860 */ cpu->r[11] = cpu->r[8] ^ cpu->r[0]; /* 0289E864 */ cpu->r[11] = cpu->r[11] - cpu->r[0]; /* 0289E868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u); /* 0289E86C */ _t131 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E86C */ _t132 = _t131 & 0x00000001u; /* 0289E86C */ if (_t132) goto L_0289E870; else goto L_0289E880; L_0289E870: ; // 0x289e870 /* 0289E870 */ cpu->r[0] = cpu->r[26] - cpu->r[12]; /* 0289E874 */ _t133 = cpu->r[6] + 0x00000014u; /* 0289E874 */ rbrew_write32(cpu->mem, _t133, cpu->r[0]); /* 0289E878 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFDCu; /* 0289E87C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289E87C */ _t134 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289E87C */ _t135 = _t134 >> (0x00000002u & 31u); /* 0289E87C */ _t136 = _t135 & 0x00000001u; /* 0289E87C */ if (_t136) goto L_0289E840; else goto L_0289E880; L_0289E880: ; // 0x289e880 /* 0289E880 */ cpu->r[6] = 0x00000000u; /* 0289E884 */ cpu->r[5] = rbrew_rlwinm(cpu->r[16], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289E888 */ cpu->r[4] = cpu->r[27]; /* 0289E88C */ cpu->r[3] = cpu->r[28]; /* 0289E890 */ rbrew_dispatch(cpu, 0x02d0a6e8u); L_0289E894: ; // 0x289e894 /* 0289E894 */ /* nop */ /* 0289E898 */ _t137 = cpu->r[1] + 0x0000006Cu; /* 0289E898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t137); /* 0289E89C */ cpu->lr = cpu->r[0]; /* 0289E8A0 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 0289E8A4 */ return; } // fn_0289E8A8 @ 0x289e8a8 void Gambit_fn_0289E8A8(CPUState* cpu) { uint32_t _t0, _t1, _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_0289E8A8: ; // 0x289e8a8 /* 0289E8A8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000024u); /* 0289E8AC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000024u); /* 0289E8B0 */ cpu->r[10] = cpu->r[5] + cpu->r[11]; /* 0289E8B4 */ _t0 = cpu->r[10] + 0x0000001Cu; /* 0289E8B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0289E8B8 */ cpu->r[8] = cpu->r[5] + cpu->r[12]; /* 0289E8BC */ _t1 = cpu->r[8] + 0x00000020u; /* 0289E8BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0289E8C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]); /* 0289E8C4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E8C4 */ _t3 = _t2 & 0x00000001u; /* 0289E8C4 */ if (_t3) goto L_0289E964; else goto L_0289E8C8; L_0289E8C8: ; // 0x289e8c8 /* 0289E8C8 */ _t4 = cpu->r[8] + 0x0000001Cu; /* 0289E8C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0289E8CC */ _t5 = cpu->r[10] + 0x00000020u; /* 0289E8CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0289E8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]); /* 0289E8D4 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E8D4 */ _t7 = _t6 & 0x00000001u; /* 0289E8D4 */ if (_t7) goto L_0289E964; else goto L_0289E8D8; L_0289E8D8: ; // 0x289e8d8 /* 0289E8D8 */ _t8 = cpu->r[10] + 0x00000018u; /* 0289E8D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 0289E8DC */ _t9 = cpu->r[10] + 0x00000020u; /* 0289E8DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 0289E8E0 */ /* nop */ /* 0289E8E4 */ _t10 = cpu->r[10] + 0x00000014u; /* 0289E8E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 0289E8E8 */ cpu->r[9] = cpu->r[12]; /* 0289E8EC */ _t11 = cpu->r[8] + 0x00000018u; /* 0289E8EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 0289E8F0 */ _t12 = cpu->r[10] + 0x0000001Cu; /* 0289E8F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 0289E8F4 */ cpu->r[6] = cpu->r[7] + cpu->r[9]; /* 0289E8F8 */ /* nop */ /* 0289E8FC */ cpu->r[5] = cpu->r[7] - cpu->r[9]; /* 0289E900 */ cpu->r[10] = cpu->r[10]; /* 0289E904 */ _t13 = cpu->r[8] + 0x00000014u; /* 0289E904 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 0289E908 */ cpu->r[9] = cpu->r[7] + cpu->r[10]; /* 0289E90C */ cpu->r[10] = cpu->r[7] - cpu->r[10]; /* 0289E910 */ cpu->r[9] = cpu->r[5] - cpu->r[9]; /* 0289E914 */ cpu->r[10] = cpu->r[10] - cpu->r[6]; /* 0289E918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]); /* 0289E91C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E91C */ _t15 = _t14 & 0x00000001u; /* 0289E91C */ if (_t15) goto L_0289E920; else goto L_0289E924; L_0289E920: ; // 0x289e920 /* 0289E920 */ cpu->r[9] = cpu->r[10]; L_0289E924: ; // 0x289e924 /* 0289E924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]); /* 0289E928 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E928 */ _t17 = _t16 & 0x00000001u; /* 0289E928 */ if (_t17) goto L_0289E92C; else goto L_0289E930; L_0289E92C: ; // 0x289e92c /* 0289E92C */ cpu->r[11] = cpu->r[12]; L_0289E930: ; // 0x289e930 /* 0289E930 */ /* nop */ /* 0289E934 */ _t18 = cpu->r[8] + 0x00000020u; /* 0289E934 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 0289E938 */ cpu->r[10] = cpu->r[12]; /* 0289E93C */ _t19 = cpu->r[8] + 0x0000001Cu; /* 0289E93C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 0289E940 */ cpu->r[11] = cpu->r[11] - cpu->r[3]; /* 0289E944 */ cpu->r[12] = cpu->r[4] - cpu->r[12]; /* 0289E948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]); /* 0289E94C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E94C */ _t21 = _t20 & 0x00000001u; /* 0289E94C */ if (_t21) goto L_0289E950; else goto L_0289E954; L_0289E950: ; // 0x289e950 /* 0289E950 */ cpu->r[12] = cpu->r[11]; L_0289E954: ; // 0x289e954 /* 0289E954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]); /* 0289E958 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E958 */ _t23 = _t22 & 0x00000001u; /* 0289E958 */ if (_t23) goto L_0289E95C; else goto L_0289E96C; L_0289E95C: ; // 0x289e95c /* 0289E95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]); /* 0289E960 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E960 */ _t25 = _t24 & 0x00000001u; /* 0289E960 */ if (_t25) goto L_0289E964; else goto L_0289E96C; L_0289E964: ; // 0x289e964 /* 0289E964 */ cpu->r[3] = 0x00000000u; /* 0289E968 */ return; L_0289E96C: ; // 0x289e96c /* 0289E96C */ cpu->r[3] = 0x00000001u; /* 0289E970 */ return; } // fn_0289E974 @ 0x289e974 void Gambit_fn_0289E974(CPUState* cpu) { uint32_t _t0, _t1; L_0289E974: ; // 0x289e974 /* 0289E974 */ /* nop */ /* 0289E978 */ cpu->r[9] = cpu->r[3] - cpu->r[8]; /* 0289E97C */ cpu->r[10] = cpu->r[3] + cpu->r[8]; /* 0289E980 */ cpu->r[11] = cpu->r[9] + 0x00000020u; /* 0289E984 */ cpu->r[0] = cpu->r[10] + 0x00000020u; /* 0289E988 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E98C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289E990 */ cpu->r[0] = cpu->r[12] - cpu->r[9]; /* 0289E994 */ cpu->r[12] = cpu->r[7] - cpu->r[10]; /* 0289E998 */ /* nop */ /* 0289E99C */ /* nop */ /* 0289E9A0 */ cpu->r[8] = cpu->r[0] ^ cpu->r[9]; /* 0289E9A4 */ cpu->r[10] = cpu->r[12] ^ cpu->r[11]; /* 0289E9A8 */ cpu->r[8] = cpu->r[8] - cpu->r[9]; /* 0289E9AC */ cpu->r[10] = cpu->r[10] - cpu->r[11]; /* 0289E9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[10]); /* 0289E9B4 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289E9B4 */ _t1 = _t0 & 0x00000001u; /* 0289E9B4 */ if (_t1) goto L_0289E9BC; else goto L_0289E9B8; L_0289E9B8: ; // 0x289e9b8 /* 0289E9B8 */ cpu->r[0] = cpu->r[12]; L_0289E9BC: ; // 0x289e9bc /* 0289E9BC */ cpu->r[3] = cpu->r[3] + cpu->r[0]; /* 0289E9C0 */ return; } // fn_0289E9C4 @ 0x289e9c4 void Gambit_fn_0289E9C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289E9C4: ; // 0x289e9c4 /* 0289E9C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]); /* 0289E9C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289E9C8 */ _t1 = _t0 & 0x00000001u; /* 0289E9C8 */ if (_t1) goto L_0289E9CC; else goto L_0289E9D4; L_0289E9CC: ; // 0x289e9cc /* 0289E9CC */ cpu->r[3] = 0x00000000u; /* 0289E9D0 */ return; L_0289E9D4: ; // 0x289e9d4 /* 0289E9D4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000024u); /* 0289E9D8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000024u); /* 0289E9DC */ cpu->r[10] = cpu->r[5] + cpu->r[6]; /* 0289E9E0 */ _t2 = cpu->r[10] + 0x00000014u; /* 0289E9E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0289E9E4 */ cpu->r[9] = cpu->r[5] + cpu->r[0]; /* 0289E9E8 */ _t3 = cpu->r[9] + 0x00000014u; /* 0289E9E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 0289E9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]); /* 0289E9F0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289E9F0 */ _t5 = _t4 & 0x00000001u; /* 0289E9F0 */ if (_t5) goto L_0289E9F4; else goto L_0289EA0C; L_0289E9F4: ; // 0x289e9f4 /* 0289E9F4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000024u); /* 0289E9F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000024u); /* 0289E9FC */ cpu->r[10] = cpu->r[5] + cpu->r[6]; /* 0289EA00 */ _t6 = cpu->r[10] + 0x00000014u; /* 0289EA00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0289EA04 */ cpu->r[9] = cpu->r[5] + cpu->r[0]; /* 0289EA08 */ _t7 = cpu->r[9] + 0x00000014u; /* 0289EA08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); L_0289EA0C: ; // 0x289ea0c /* 0289EA0C */ _t8 = cpu->r[10] + 0x00000018u; /* 0289EA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0289EA10 */ /* nop */ /* 0289EA14 */ cpu->r[10] = cpu->r[6]; /* 0289EA18 */ _t9 = cpu->r[9] + 0x00000018u; /* 0289EA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0289EA1C */ cpu->r[12] = cpu->r[12] + cpu->r[10]; /* 0289EA20 */ /* nop */ /* 0289EA24 */ cpu->r[10] = cpu->r[5]; /* 0289EA28 */ cpu->r[5] = cpu->r[11] - cpu->r[10]; /* 0289EA2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]); /* 0289EA30 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EA30 */ _t11 = _t10 & 0x00000001u; /* 0289EA30 */ if (_t11) goto L_0289EA34; else goto L_0289EA3C; L_0289EA34: ; // 0x289ea34 /* 0289EA34 */ cpu->r[3] = 0x00000001u; /* 0289EA38 */ return; L_0289EA3C: ; // 0x289ea3c /* 0289EA3C */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289EA40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[7]); /* 0289EA44 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289EA48 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EA48 */ _t13 = _t12 & 0x00000001u; /* 0289EA48 */ if (_t13) goto L_0289EA4C; else goto L_0289EA74; L_0289EA4C: ; // 0x289ea4c /* 0289EA4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]); /* 0289EA50 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EA50 */ _t15 = _t14 & 0x00000001u; /* 0289EA50 */ if (_t15) goto L_0289EA54; else goto L_0289EA84; L_0289EA54: ; // 0x289ea54 /* 0289EA54 */ cpu->r[6] = cpu->r[5] - cpu->r[12]; /* 0289EA58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000040u); /* 0289EA5C */ /* nop */ /* 0289EA60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 0289EA64 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 0289EA68 */ cpu->r[12] = rbrew_clz32(cpu->r[0]); /* 0289EA6C */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289EA70 */ return; L_0289EA74: ; // 0x289ea74 /* 0289EA74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]); /* 0289EA78 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EA78 */ _t17 = _t16 & 0x00000001u; /* 0289EA78 */ if (_t17) goto L_0289EA84; else goto L_0289EA7C; L_0289EA7C: ; // 0x289ea7c /* 0289EA7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 0289EA80 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EA80 */ _t19 = _t18 & 0x00000001u; /* 0289EA80 */ if (_t19) goto L_0289EA84; else goto L_0289EAA4; L_0289EA84: ; // 0x289ea84 /* 0289EA84 */ cpu->r[5] = cpu->r[5] - cpu->r[12]; /* 0289EA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000030u); /* 0289EA8C */ /* nop */ /* 0289EA90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 0289EA94 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 0289EA98 */ cpu->r[12] = rbrew_clz32(cpu->r[0]); /* 0289EA9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289EAA0 */ return; L_0289EAA4: ; // 0x289eaa4 /* 0289EAA4 */ cpu->r[9] = cpu->r[7] + 0x00000040u; /* 0289EAA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]); /* 0289EAAC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EAAC */ _t21 = _t20 & 0x00000001u; /* 0289EAAC */ if (_t21) goto L_0289EAB0; else goto L_0289EB08; L_0289EAB0: ; // 0x289eab0 /* 0289EAB0 */ cpu->r[10] = cpu->r[12] - cpu->r[7]; /* 0289EAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000010u); /* 0289EAB8 */ /* nop */ /* 0289EABC */ cpu->r[8] = cpu->r[5] - cpu->r[8]; /* 0289EAC0 */ cpu->r[0] = 0x00000001u; /* 0289EAC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x0000001Fu, 0x0000001Fu); /* 0289EAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000030u); /* 0289EACC */ cpu->r[12] = cpu->r[12] ^ 0x00000001u; /* 0289EAD0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EAD0 */ _t23 = _t22 & 0x00000001u; /* 0289EAD0 */ if (_t23) goto L_0289EAD4; else goto L_0289EAE0; L_0289EAD4: ; // 0x289ead4 /* 0289EAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289EAD8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EAD8 */ _t25 = _t24 & 0x00000001u; /* 0289EAD8 */ if (_t25) goto L_0289EADC; else goto L_0289EAE0; L_0289EADC: ; // 0x289eadc /* 0289EADC */ cpu->r[0] = 0x00000000u; L_0289EAE0: ; // 0x289eae0 /* 0289EAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000028u); /* 0289EAE4 */ cpu->r[7] = 0x00000000u; /* 0289EAE8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EAE8 */ _t27 = _t26 & 0x00000001u; /* 0289EAE8 */ if (_t27) goto L_0289EAF8; else goto L_0289EAEC; L_0289EAEC: ; // 0x289eaec /* 0289EAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000018u); /* 0289EAF0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EAF0 */ _t29 = _t28 & 0x00000001u; /* 0289EAF0 */ if (_t29) goto L_0289EAF8; else goto L_0289EAF4; L_0289EAF4: ; // 0x289eaf4 /* 0289EAF4 */ cpu->r[7] = 0x00000001u; L_0289EAF8: ; // 0x289eaf8 /* 0289EAF8 */ cpu->r[0] = cpu->r[0] | cpu->r[7]; /* 0289EAFC */ cpu->r[12] = rbrew_clz32(cpu->r[0]); /* 0289EB00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289EB04 */ return; L_0289EB08: ; // 0x289eb08 /* 0289EB08 */ cpu->r[3] = 0x00000000u; /* 0289EB0C */ return; } // fn_0289EB10 @ 0x289eb10 void Gambit_fn_0289EB10(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289EB10: ; // 0x289eb10 /* 0289EB10 */ cpu->r[0] = cpu->lr; /* 0289EB14 */ cpu->r[12] = 0x00000008u; /* 0289EB18 */ cpu->ctr = cpu->r[12]; /* 0289EB1C */ cpu->r[10] = 0x00000000u; /* 0289EB20 */ _t0 = cpu->r[1] + 0xFFFFFCE8u; /* 0289EB20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289EB20 */ cpu->r[1] = _t0; /* 0289EB24 */ _t1 = cpu->r[1] + 0x0000031Cu; /* 0289EB24 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289EB28 */ cpu->r[11] = cpu->r[1] + 0x00000048u; /* 0289EB2C */ /* nop */ /* 0289EB30 */ cpu->r[14] = cpu->r[3]; /* 0289EB34 */ cpu->r[28] = cpu->r[5]; /* 0289EB38 */ cpu->r[29] = cpu->r[6]; /* 0289EB3C */ cpu->r[30] = cpu->r[7]; /* 0289EB40 */ cpu->r[31] = cpu->r[8]; L_0289EB44: ; // 0x289eb44 /* 0289EB44 */ _t2 = cpu->r[11] + 0x00000004u; /* 0289EB44 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]); /* 0289EB48 */ _t3 = cpu->r[11] + 0x00000008u; /* 0289EB48 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 0289EB4C */ _t4 = cpu->r[11] + 0x0000000Cu; /* 0289EB4C */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 0289EB50 */ _t5 = cpu->r[11] + 0x00000010u; /* 0289EB50 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 0289EB50 */ cpu->r[11] = _t5; /* 0289EB54 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289EB54 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289EB54 */ _t7 = _t6 >> (0x00000002u & 31u); /* 0289EB54 */ _t8 = _t7 & 0x00000001u; /* 0289EB54 */ if (_t8) goto L_0289EB44; else goto L_0289EB58; L_0289EB58: ; // 0x289eb58 /* 0289EB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EB5C */ cpu->r[25] = 0x00000000u; /* 0289EB60 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EB60 */ _t10 = _t9 & 0x00000001u; /* 0289EB60 */ if (_t10) goto L_0289EB64; else goto L_0289EB8C; L_0289EB64: ; // 0x289eb64 /* 0289EB64 */ cpu->r[0] = cpu->r[1] + 0x000000CCu; L_0289EB68: ; // 0x289eb68 /* 0289EB68 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EB6C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u); /* 0289EB70 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EB74 */ cpu->r[5] = cpu->r[29] + cpu->r[12]; /* 0289EB78 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EB7C */ _t11 = cpu->r[5] + 0x00000014u; /* 0289EB7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0289EB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[28]); /* 0289EB84 */ _t12 = cpu->r[10] + cpu->r[0]; /* 0289EB84 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 0289EB88 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EB88 */ _t14 = _t13 & 0x00000001u; /* 0289EB88 */ if (_t14) goto L_0289EB68; else goto L_0289EB8C; L_0289EB8C: ; // 0x289eb8c /* 0289EB8C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000024u); /* 0289EB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EB94 */ cpu->r[25] = 0x00000000u; /* 0289EB98 */ cpu->r[23] = cpu->r[25]; /* 0289EB9C */ cpu->r[12] = cpu->r[29] + cpu->r[9]; /* 0289EBA0 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EBA0 */ _t16 = _t15 & 0x00000001u; /* 0289EBA0 */ if (_t16) goto L_0289EBA4; else goto L_0289EC20; L_0289EBA4: ; // 0x289eba4 /* 0289EBA4 */ _t17 = cpu->r[12] + 0x00000000u; /* 0289EBA4 */ cpu->r[6] = rbrew_read16(cpu->mem, _t17); /* 0289EBA8 */ cpu->r[4] = cpu->r[1] + 0x0000004Cu; L_0289EBAC: ; // 0x289ebac /* 0289EBAC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u); /* 0289EBB0 */ _t18 = cpu->r[29] + cpu->r[11]; /* 0289EBB0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t18); /* 0289EBB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 0289EBB8 */ cpu->r[10] = cpu->r[29] + cpu->r[11]; /* 0289EBBC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EBBC */ _t20 = _t19 & 0x00000001u; /* 0289EBBC */ if (_t20) goto L_0289EC00; else goto L_0289EBC0; L_0289EBC0: ; // 0x289ebc0 /* 0289EBC0 */ _t21 = cpu->r[12] + 0x00000004u; /* 0289EBC0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t21); /* 0289EBC4 */ _t22 = cpu->r[10] + 0x00000004u; /* 0289EBC4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t22); /* 0289EBC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]); /* 0289EBCC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EBCC */ _t24 = _t23 & 0x00000001u; /* 0289EBCC */ if (_t24) goto L_0289EC00; else goto L_0289EBD0; L_0289EBD0: ; // 0x289ebd0 /* 0289EBD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 0289EBD4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EBD4 */ _t26 = _t25 & 0x00000001u; /* 0289EBD4 */ if (_t26) goto L_0289EC00; else goto L_0289EBD8; L_0289EBD8: ; // 0x289ebd8 /* 0289EBD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 0289EBDC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EBDC */ _t28 = _t27 & 0x00000001u; /* 0289EBDC */ if (_t28) goto L_0289EC00; else goto L_0289EBE0; L_0289EBE0: ; // 0x289ebe0 /* 0289EBE0 */ _t29 = cpu->r[12] + 0x00000010u; /* 0289EBE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29); /* 0289EBE4 */ _t30 = cpu->r[10] + 0x00000010u; /* 0289EBE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30); /* 0289EBE8 */ cpu->r[0] = cpu->r[5] - cpu->r[7]; /* 0289EBEC */ /* nop */ /* 0289EBF0 */ cpu->r[9] = cpu->r[0] ^ cpu->r[10]; /* 0289EBF4 */ cpu->r[9] = cpu->r[9] - cpu->r[10]; /* 0289EBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000010u); /* 0289EBFC */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EBFC */ _t32 = _t31 & 0x00000001u; /* 0289EBFC */ if (_t32) goto L_0289EC00; else goto L_0289EC10; L_0289EC00: ; // 0x289ec00 /* 0289EC00 */ cpu->r[11] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289EC04 */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 0289EC08 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EC0C */ _t33 = cpu->r[11] + cpu->r[4]; /* 0289EC0C */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[25]); L_0289EC10: ; // 0x289ec10 /* 0289EC10 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EC14 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[28]); /* 0289EC1C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EC1C */ _t35 = _t34 & 0x00000001u; /* 0289EC1C */ if (_t35) goto L_0289EBAC; else goto L_0289EC20; L_0289EC20: ; // 0x289ec20 /* 0289EC20 */ cpu->r[3] = 0x00000001u; /* 0289EC24 */ cpu->r[27] = 0x10130000u; /* 0289EC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EC2C */ cpu->r[25] = 0x00000000u; /* 0289EC30 */ cpu->r[27] = cpu->r[27] + 0x00007874u; /* 0289EC34 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EC34 */ _t37 = _t36 & 0x00000001u; /* 0289EC34 */ if (_t37) goto L_0289EC38; else goto L_0289EFB0; L_0289EC38: ; // 0x289ec38 /* 0289EC38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[23]); /* 0289EC3C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EC3C */ _t39 = _t38 & 0x00000001u; /* 0289EC3C */ if (_t39) goto L_0289EC40; else goto L_0289EFF0; L_0289EC40: ; // 0x289ec40 /* 0289EC40 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000024u); /* 0289EC44 */ cpu->r[24] = cpu->r[1] + 0x0000000Cu; /* 0289EC48 */ cpu->r[22] = cpu->r[1] + 0x000001CCu; /* 0289EC4C */ cpu->r[12] = cpu->r[29] + cpu->r[0]; /* 0289EC50 */ cpu->r[26] = cpu->r[28] + 0xFFFFFFFFu; /* 0289EC54 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFDCu; /* 0289EC58 */ cpu->r[17] = cpu->r[1] + 0x0000004Cu; /* 0289EC5C */ _t40 = cpu->r[1] + 0x00000008u; /* 0289EC5C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]); L_0289EC60: ; // 0x289ec60 /* 0289EC60 */ cpu->r[7] = 0x00000004u; /* 0289EC64 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289EC68 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0289EC6C */ cpu->ctr = cpu->r[7]; /* 0289EC70 */ _t41 = cpu->r[4] + cpu->r[17]; /* 0289EC70 */ cpu->r[21] = rbrew_read16(cpu->mem, _t41); /* 0289EC74 */ cpu->r[5] = cpu->r[27] + 0xFFFFFFFCu; /* 0289EC78 */ cpu->r[20] = 0x00000000u; L_0289EC7C: ; // 0x289ec7c /* 0289EC7C */ _t42 = cpu->r[5] + 0x00000004u; /* 0289EC7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t42); /* 0289EC80 */ _t43 = cpu->r[6] + 0x00000004u; /* 0289EC80 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]); /* 0289EC84 */ _t44 = cpu->r[5] + 0x00000008u; /* 0289EC84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44); /* 0289EC88 */ _t45 = cpu->r[6] + 0x00000008u; /* 0289EC88 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]); /* 0289EC8C */ _t46 = cpu->r[5] + 0x0000000Cu; /* 0289EC8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t46); /* 0289EC90 */ _t47 = cpu->r[6] + 0x0000000Cu; /* 0289EC90 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]); /* 0289EC94 */ _t48 = cpu->r[5] + 0x00000010u; /* 0289EC94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48); /* 0289EC94 */ cpu->r[5] = _t48; /* 0289EC98 */ _t49 = cpu->r[6] + 0x00000010u; /* 0289EC98 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]); /* 0289EC98 */ cpu->r[6] = _t49; /* 0289EC9C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289EC9C */ _t50 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289EC9C */ _t51 = _t50 >> (0x00000002u & 31u); /* 0289EC9C */ _t52 = _t51 & 0x00000001u; /* 0289EC9C */ if (_t52) goto L_0289EC7C; else goto L_0289ECA0; L_0289ECA0: ; // 0x289eca0 /* 0289ECA0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x00000024u); /* 0289ECA4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000024u); /* 0289ECA8 */ cpu->r[19] = cpu->r[29] + cpu->r[12]; /* 0289ECAC */ _t53 = cpu->r[19] + 0x00000010u; /* 0289ECAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t53); /* 0289ECB0 */ cpu->r[4] = cpu->r[29] + cpu->r[0]; /* 0289ECB4 */ _t54 = cpu->r[4] + 0x00000010u; /* 0289ECB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t54); /* 0289ECB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]); /* 0289ECBC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289ECBC */ _t56 = _t55 & 0x00000001u; /* 0289ECBC */ if (_t56) goto L_0289ECC0; else goto L_0289ECDC; L_0289ECC0: ; // 0x289ecc0 /* 0289ECC0 */ cpu->r[3] = 0x00000000u; /* 0289ECC4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289ECC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289ECCC */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289ECD0 */ cpu->r[25] = 0x00000000u; /* 0289ECD4 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289ECD4 */ _t58 = _t57 & 0x00000001u; /* 0289ECD4 */ if (_t58) goto L_0289EFC8; else goto L_0289ECD8; L_0289ECD8: ; // 0x289ecd8 /* 0289ECD8 */ goto L_0289EFF0; L_0289ECDC: ; // 0x289ecdc /* 0289ECDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289ECE0 */ cpu->r[9] = cpu->r[28]; /* 0289ECE4 */ cpu->r[18] = 0x00000000u; /* 0289ECE8 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289ECE8 */ _t60 = _t59 & 0x00000001u; /* 0289ECE8 */ if (_t60) goto L_0289ECF0; else goto L_0289ECEC; L_0289ECEC: ; // 0x289ecec /* 0289ECEC */ cpu->r[9] = 0x00000001u; L_0289ECF0: ; // 0x289ecf0 /* 0289ECF0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[18] * (int32_t)0x00000024u); /* 0289ECF4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[18], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289ECF8 */ cpu->ctr = cpu->r[9]; /* 0289ECFC */ cpu->r[12] = cpu->r[22] + cpu->r[8]; /* 0289ED00 */ cpu->r[11] = cpu->r[29] + cpu->r[7]; /* 0289ED04 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289ED08 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFDCu; L_0289ED0C: ; // 0x289ed0c /* 0289ED0C */ _t61 = cpu->r[11] + 0x00000038u; /* 0289ED0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t61); /* 0289ED10 */ cpu->r[11] = cpu->r[11] + 0x00000024u; /* 0289ED14 */ _t62 = cpu->r[12] + 0x00000004u; /* 0289ED14 */ rbrew_write32(cpu->mem, _t62, cpu->r[9]); /* 0289ED14 */ cpu->r[12] = _t62; /* 0289ED18 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289ED18 */ _t63 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289ED18 */ _t64 = _t63 >> (0x00000002u & 31u); /* 0289ED18 */ _t65 = _t64 & 0x00000001u; /* 0289ED18 */ if (_t65) goto L_0289ED0C; else goto L_0289ED1C; L_0289ED1C: ; // 0x289ed1c /* 0289ED1C */ _t66 = cpu->r[19] + 0x00000018u; /* 0289ED1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66); /* 0289ED20 */ cpu->r[0] = cpu->r[10] + 0x00000001u; /* 0289ED24 */ /* nop */ /* 0289ED28 */ cpu->r[0] = cpu->r[0]; /* 0289ED2C */ _t67 = cpu->r[19] + 0x00000014u; /* 0289ED2C */ cpu->r[18] = rbrew_read32(cpu->mem, _t67); /* 0289ED30 */ cpu->r[12] = cpu->r[18] + cpu->r[0]; /* 0289ED34 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289ED38 */ cpu->r[11] = cpu->r[12] - cpu->r[9]; /* 0289ED3C */ /* nop */ /* 0289ED40 */ cpu->r[7] = cpu->r[11] ^ cpu->r[8]; /* 0289ED44 */ cpu->r[7] = cpu->r[7] - cpu->r[8]; /* 0289ED48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u); /* 0289ED4C */ cpu->r[4] = cpu->r[18] - cpu->r[0]; /* 0289ED50 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289ED50 */ _t69 = _t68 & 0x00000001u; /* 0289ED50 */ if (_t69) goto L_0289ED54; else goto L_0289ED70; L_0289ED54: ; // 0x289ed54 /* 0289ED54 */ cpu->r[9] = cpu->r[4] + 0x0000003Fu; /* 0289ED58 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289ED5C */ cpu->r[11] = cpu->r[10] - cpu->r[4]; /* 0289ED5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0289ED60 */ cpu->r[18] = cpu->r[18] + cpu->r[11]; /* 0289ED64 */ cpu->r[12] = cpu->r[18]; /* 0289ED68 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289ED68 */ _t71 = _t70 & 0x00000001u; /* 0289ED68 */ if (_t71) goto L_0289EDA4; else goto L_0289ED6C; L_0289ED6C: ; // 0x289ed6c /* 0289ED6C */ goto L_0289ED88; L_0289ED70: ; // 0x289ed70 /* 0289ED70 */ cpu->r[9] = cpu->r[12] + 0x0000003Fu; /* 0289ED74 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289ED78 */ cpu->r[11] = cpu->r[10] - cpu->r[12]; /* 0289ED78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0289ED7C */ cpu->r[18] = cpu->r[18] + cpu->r[11]; /* 0289ED80 */ cpu->r[12] = cpu->r[18]; /* 0289ED84 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289ED84 */ _t73 = _t72 & 0x00000001u; /* 0289ED84 */ if (_t73) goto L_0289EDA4; else goto L_0289ED88; L_0289ED88: ; // 0x289ed88 /* 0289ED88 */ cpu->r[5] = cpu->r[29]; /* 0289ED8C */ cpu->r[3] = cpu->r[14]; /* 0289ED90 */ cpu->r[4] = cpu->r[21]; /* 0289ED94 */ _t74 = cpu->r[19] + 0x00000014u; /* 0289ED94 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]); /* 0289ED98 */ Gambit_fn_0289E9C4(cpu); /* 0289ED9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EDA0 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EDA0 */ _t76 = _t75 & 0x00000001u; /* 0289EDA0 */ if (_t76) goto L_0289EDB4; else goto L_0289EDA4; L_0289EDA4: ; // 0x289eda4 /* 0289EDA4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EDA8 */ _t77 = cpu->r[8] + cpu->r[22]; /* 0289EDA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t77); /* 0289EDAC */ cpu->r[18] = cpu->r[10] + 0x00000040u; /* 0289EDB0 */ _t78 = cpu->r[19] + 0x00000014u; /* 0289EDB0 */ rbrew_write32(cpu->mem, _t78, cpu->r[18]); L_0289EDB4: ; // 0x289edb4 /* 0289EDB4 */ _t79 = cpu->r[19] + 0x00000010u; /* 0289EDB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79); /* 0289EDB8 */ cpu->r[11] = cpu->r[18] - cpu->r[12]; /* 0289EDBC */ /* nop */ /* 0289EDC0 */ cpu->r[4] = cpu->r[11] ^ cpu->r[5]; /* 0289EDC4 */ cpu->r[4] = cpu->r[4] - cpu->r[5]; /* 0289EDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000060u); /* 0289EDCC */ _t80 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EDCC */ _t81 = _t80 & 0x00000001u; /* 0289EDCC */ if (_t81) goto L_0289EDE0; else goto L_0289EDD0; L_0289EDD0: ; // 0x289edd0 /* 0289EDD0 */ _t82 = cpu->r[1] + 0x00000008u; /* 0289EDD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82); /* 0289EDD4 */ _t83 = cpu->r[5] + 0x00000014u; /* 0289EDD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t83); /* 0289EDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[6]); /* 0289EDDC */ _t84 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EDDC */ _t85 = _t84 & 0x00000001u; /* 0289EDDC */ if (_t85) goto L_0289EDE0; else goto L_0289EE08; L_0289EDE0: ; // 0x289ede0 /* 0289EDE0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EDE4 */ _t86 = cpu->r[7] + cpu->r[22]; /* 0289EDE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t86); /* 0289EDE8 */ cpu->r[3] = 0x00000000u; /* 0289EDEC */ _t87 = cpu->r[19] + 0x00000014u; /* 0289EDEC */ rbrew_write32(cpu->mem, _t87, cpu->r[8]); /* 0289EDF0 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EDF8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EDFC */ cpu->r[25] = 0x00000000u; /* 0289EE00 */ _t88 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EE00 */ _t89 = _t88 & 0x00000001u; /* 0289EE00 */ if (_t89) goto L_0289EFC8; else goto L_0289EE04; L_0289EE04: ; // 0x289ee04 /* 0289EE04 */ goto L_0289EFF0; L_0289EE08: ; // 0x289ee08 /* 0289EE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EE0C */ cpu->r[11] = cpu->r[28]; /* 0289EE10 */ cpu->r[18] = 0x00000000u; /* 0289EE14 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EE14 */ _t91 = _t90 & 0x00000001u; /* 0289EE14 */ if (_t91) goto L_0289EE1C; else goto L_0289EE18; L_0289EE18: ; // 0x289ee18 /* 0289EE18 */ cpu->r[11] = 0x00000001u; L_0289EE1C: ; // 0x289ee1c /* 0289EE1C */ cpu->r[19] = cpu->r[24] + cpu->r[18]; /* 0289EE20 */ cpu->r[16] = cpu->r[11]; /* 0289EE24 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu; L_0289EE28: ; // 0x289ee28 /* 0289EE28 */ cpu->r[5] = cpu->r[29]; /* 0289EE2C */ cpu->r[3] = cpu->r[21]; /* 0289EE30 */ cpu->r[4] = cpu->r[18]; /* 0289EE34 */ cpu->r[15] = 0x00000000u; /* 0289EE38 */ Gambit_fn_0289E9C4(cpu); /* 0289EE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EE40 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EE40 */ _t93 = _t92 & 0x00000001u; /* 0289EE40 */ if (_t93) goto L_0289EE68; else goto L_0289EE44; L_0289EE44: ; // 0x289ee44 /* 0289EE44 */ cpu->r[7] = cpu->r[31]; /* 0289EE48 */ cpu->r[6] = cpu->r[30]; /* 0289EE4C */ cpu->r[5] = cpu->r[29]; /* 0289EE50 */ cpu->r[4] = cpu->r[18]; /* 0289EE54 */ cpu->r[3] = cpu->r[21]; /* 0289EE58 */ Gambit_fn_0289E8A8(cpu); /* 0289EE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EE60 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EE60 */ _t95 = _t94 & 0x00000001u; /* 0289EE60 */ if (_t95) goto L_0289EE68; else goto L_0289EE64; L_0289EE64: ; // 0x289ee64 /* 0289EE64 */ cpu->r[15] = 0x00000001u; L_0289EE68: ; // 0x289ee68 /* 0289EE68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[15], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0289EE6C */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 0289EE70 */ cpu->r[16] = cpu->r[16] + 0xFFFFFFFFu; /* 0289EE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u); /* 0289EE74 */ cpu->r[20] = cpu->r[20] | cpu->r[0]; /* 0289EE78 */ _t96 = cpu->r[19] + 0x00000001u; /* 0289EE78 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[0]); /* 0289EE78 */ cpu->r[19] = _t96; /* 0289EE7C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EE7C */ _t98 = _t97 & 0x00000001u; /* 0289EE7C */ if (_t98) goto L_0289EE80; else goto L_0289EE28; L_0289EE80: ; // 0x289ee80 /* 0289EE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0289EE84 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EE84 */ _t100 = _t99 & 0x00000001u; /* 0289EE84 */ if (_t100) goto L_0289EEE0; else goto L_0289EE88; L_0289EE88: ; // 0x289ee88 /* 0289EE88 */ cpu->r[18] = cpu->r[21] + 0x00000001u; /* 0289EE8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[28]); /* 0289EE90 */ cpu->r[19] = 0x00000001u; /* 0289EE94 */ _t101 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EE94 */ _t102 = _t101 & 0x00000001u; /* 0289EE94 */ if (_t102) goto L_0289EE98; else goto L_0289EEE0; L_0289EE98: ; // 0x289ee98 /* 0289EE98 */ cpu->r[20] = cpu->r[24] + cpu->r[18]; /* 0289EE9C */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu; L_0289EEA0: ; // 0x289eea0 /* 0289EEA0 */ _t103 = cpu->r[20] + 0x00000001u; /* 0289EEA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t103); /* 0289EEA0 */ cpu->r[20] = _t103; /* 0289EEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289EEA8 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EEA8 */ _t105 = _t104 & 0x00000001u; /* 0289EEA8 */ if (_t105) goto L_0289EECC; else goto L_0289EEAC; L_0289EEAC: ; // 0x289eeac /* 0289EEAC */ cpu->r[8] = cpu->r[31]; /* 0289EEB0 */ cpu->r[7] = cpu->r[30]; /* 0289EEB4 */ cpu->r[6] = cpu->r[29]; /* 0289EEB8 */ cpu->r[5] = cpu->r[28]; /* 0289EEBC */ cpu->r[4] = cpu->r[18]; /* 0289EEC0 */ cpu->r[3] = cpu->r[21]; /* 0289EEC4 */ Gambit_fn_0289EB10(cpu); /* 0289EEC8 */ cpu->r[19] = cpu->r[19] & cpu->r[3]; L_0289EECC: ; // 0x289eecc /* 0289EECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 0289EED0 */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 0289EED4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EED4 */ _t107 = _t106 & 0x00000001u; /* 0289EED4 */ if (_t107) goto L_0289EEF8; else goto L_0289EED8; L_0289EED8: ; // 0x289eed8 /* 0289EED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[28]); /* 0289EEDC */ _t108 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EEDC */ _t109 = _t108 & 0x00000001u; /* 0289EEDC */ if (_t109) goto L_0289EEA0; else goto L_0289EEE0; L_0289EEE0: ; // 0x289eee0 /* 0289EEE0 */ cpu->r[3] = 0x00000001u; /* 0289EEE4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EEEC */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EEF0 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EEF0 */ _t111 = _t110 & 0x00000001u; /* 0289EEF0 */ if (_t111) goto L_0289EFBC; else goto L_0289EEF4; L_0289EEF4: ; // 0x289eef4 /* 0289EEF4 */ goto L_0289EF4C; L_0289EEF8: ; // 0x289eef8 /* 0289EEF8 */ cpu->r[4] = cpu->r[26] - cpu->r[21]; /* 0289EEFC */ cpu->r[18] = cpu->r[21]; /* 0289EF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[28]); /* 0289EF04 */ cpu->r[7] = cpu->r[4] + 0x00000001u; /* 0289EF08 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EF08 */ _t113 = _t112 & 0x00000001u; /* 0289EF08 */ if (_t113) goto L_0289EF0C; else goto L_0289EF38; L_0289EF0C: ; // 0x289ef0c /* 0289EF0C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[18] * (int32_t)0x00000024u); /* 0289EF10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[18], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EF14 */ cpu->ctr = cpu->r[7]; /* 0289EF18 */ cpu->r[10] = cpu->r[22] + cpu->r[0]; /* 0289EF1C */ cpu->r[9] = cpu->r[29] + cpu->r[5]; /* 0289EF20 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 0289EF24 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFDCu; L_0289EF28: ; // 0x289ef28 /* 0289EF28 */ _t114 = cpu->r[10] + 0x00000004u; /* 0289EF28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t114); /* 0289EF28 */ cpu->r[10] = _t114; /* 0289EF2C */ _t115 = cpu->r[9] + 0x00000038u; /* 0289EF2C */ rbrew_write32(cpu->mem, _t115, cpu->r[6]); /* 0289EF30 */ cpu->r[9] = cpu->r[9] + 0x00000024u; /* 0289EF34 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289EF34 */ _t116 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289EF34 */ _t117 = _t116 >> (0x00000002u & 31u); /* 0289EF34 */ _t118 = _t117 & 0x00000001u; /* 0289EF34 */ if (_t118) goto L_0289EF28; else goto L_0289EF38; L_0289EF38: ; // 0x289ef38 /* 0289EF38 */ cpu->r[3] = 0x00000000u; /* 0289EF3C */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EF44 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EF48 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EF48 */ _t120 = _t119 & 0x00000001u; /* 0289EF48 */ if (_t120) goto L_0289EFBC; else goto L_0289EF4C; L_0289EF4C: ; // 0x289ef4c /* 0289EF4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[23]); /* 0289EF50 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EF50 */ _t122 = _t121 & 0x00000001u; /* 0289EF50 */ if (_t122) goto L_0289EC60; else goto L_0289EF54; L_0289EF54: ; // 0x289ef54 /* 0289EF54 */ /* nop */ /* 0289EF58 */ _t123 = cpu->r[1] + 0x0000031Cu; /* 0289EF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123); /* 0289EF5C */ cpu->lr = cpu->r[0]; /* 0289EF60 */ cpu->r[1] = cpu->r[1] + 0x00000318u; /* 0289EF64 */ return; L_0289EF68: ; // 0x289ef68 /* 0289EF68 */ cpu->r[11] = 0x00000004u; /* 0289EF6C */ cpu->r[7] = cpu->r[27] + 0xFFFFFFFCu; /* 0289EF70 */ cpu->ctr = cpu->r[11]; /* 0289EF74 */ cpu->r[9] = cpu->r[1] + 0x00000008u; L_0289EF78: ; // 0x289ef78 /* 0289EF78 */ _t124 = cpu->r[7] + 0x00000004u; /* 0289EF78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 0289EF7C */ _t125 = cpu->r[9] + 0x00000004u; /* 0289EF7C */ rbrew_write32(cpu->mem, _t125, cpu->r[0]); /* 0289EF80 */ _t126 = cpu->r[7] + 0x00000008u; /* 0289EF80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126); /* 0289EF84 */ _t127 = cpu->r[9] + 0x00000008u; /* 0289EF84 */ rbrew_write32(cpu->mem, _t127, cpu->r[6]); /* 0289EF88 */ _t128 = cpu->r[7] + 0x0000000Cu; /* 0289EF88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t128); /* 0289EF8C */ _t129 = cpu->r[9] + 0x0000000Cu; /* 0289EF8C */ rbrew_write32(cpu->mem, _t129, cpu->r[8]); /* 0289EF90 */ _t130 = cpu->r[7] + 0x00000010u; /* 0289EF90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t130); /* 0289EF90 */ cpu->r[7] = _t130; /* 0289EF94 */ _t131 = cpu->r[9] + 0x00000010u; /* 0289EF94 */ rbrew_write32(cpu->mem, _t131, cpu->r[10]); /* 0289EF94 */ cpu->r[9] = _t131; /* 0289EF98 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289EF98 */ _t132 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289EF98 */ _t133 = _t132 >> (0x00000002u & 31u); /* 0289EF98 */ _t134 = _t133 & 0x00000001u; /* 0289EF98 */ if (_t134) goto L_0289EF78; else goto L_0289EF9C; L_0289EF9C: ; // 0x289ef9c /* 0289EF9C */ cpu->r[3] = 0x00000000u; /* 0289EFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EFA4 */ cpu->r[25] = cpu->r[3]; /* 0289EFA8 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EFA8 */ _t136 = _t135 & 0x00000001u; /* 0289EFA8 */ if (_t136) goto L_0289EFC8; else goto L_0289EFAC; L_0289EFAC: ; // 0x289efac /* 0289EFAC */ goto L_0289EFF0; L_0289EFB0: ; // 0x289efb0 /* 0289EFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 0289EFB4 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EFB4 */ _t138 = _t137 & 0x00000001u; /* 0289EFB4 */ if (_t138) goto L_0289EFB8; else goto L_0289EF68; L_0289EFB8: ; // 0x289efb8 /* 0289EFB8 */ goto L_0289EFF0; L_0289EFBC: ; // 0x289efbc /* 0289EFBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EFC0 */ cpu->r[25] = 0x00000000u; /* 0289EFC4 */ _t139 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EFC4 */ _t140 = _t139 & 0x00000001u; /* 0289EFC4 */ if (_t140) goto L_0289EFC8; else goto L_0289EFF0; L_0289EFC8: ; // 0x289efc8 /* 0289EFC8 */ cpu->r[0] = cpu->r[1] + 0x000000CCu; L_0289EFCC: ; // 0x289efcc /* 0289EFCC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u); /* 0289EFD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EFD4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EFD8 */ _t141 = cpu->r[6] + cpu->r[0]; /* 0289EFD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t141); /* 0289EFDC */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EFE0 */ cpu->r[4] = cpu->r[29] + cpu->r[12]; /* 0289EFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[28]); /* 0289EFE8 */ _t142 = cpu->r[4] + 0x00000014u; /* 0289EFE8 */ rbrew_write32(cpu->mem, _t142, cpu->r[8]); /* 0289EFEC */ _t143 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EFEC */ _t144 = _t143 & 0x00000001u; /* 0289EFEC */ if (_t144) goto L_0289EFCC; else goto L_0289EFF0; L_0289EFF0: ; // 0x289eff0 /* 0289EFF0 */ /* nop */ /* 0289EFF4 */ _t145 = cpu->r[1] + 0x0000031Cu; /* 0289EFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145); /* 0289EFF8 */ cpu->lr = cpu->r[0]; /* 0289EFFC */ cpu->r[1] = cpu->r[1] + 0x00000318u; /* 0289F000 */ return; } // fn_0289EB20 @ 0x289eb20 void Gambit_fn_0289EB20(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289EB20: ; // 0x289eb20 /* 0289EB20 */ _t0 = cpu->r[1] + 0xFFFFFCE8u; /* 0289EB20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289EB20 */ cpu->r[1] = _t0; /* 0289EB24 */ _t1 = cpu->r[1] + 0x0000031Cu; /* 0289EB24 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289EB28 */ cpu->r[11] = cpu->r[1] + 0x00000048u; /* 0289EB2C */ /* nop */ /* 0289EB30 */ cpu->r[14] = cpu->r[3]; /* 0289EB34 */ cpu->r[28] = cpu->r[5]; /* 0289EB38 */ cpu->r[29] = cpu->r[6]; /* 0289EB3C */ cpu->r[30] = cpu->r[7]; /* 0289EB40 */ cpu->r[31] = cpu->r[8]; L_0289EB44: ; // 0x289eb44 /* 0289EB44 */ _t2 = cpu->r[11] + 0x00000004u; /* 0289EB44 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]); /* 0289EB48 */ _t3 = cpu->r[11] + 0x00000008u; /* 0289EB48 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 0289EB4C */ _t4 = cpu->r[11] + 0x0000000Cu; /* 0289EB4C */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 0289EB50 */ _t5 = cpu->r[11] + 0x00000010u; /* 0289EB50 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 0289EB50 */ cpu->r[11] = _t5; /* 0289EB54 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289EB54 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289EB54 */ _t7 = _t6 >> (0x00000002u & 31u); /* 0289EB54 */ _t8 = _t7 & 0x00000001u; /* 0289EB54 */ if (_t8) goto L_0289EB44; else goto L_0289EB58; L_0289EB58: ; // 0x289eb58 /* 0289EB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EB5C */ cpu->r[25] = 0x00000000u; /* 0289EB60 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EB60 */ _t10 = _t9 & 0x00000001u; /* 0289EB60 */ if (_t10) goto L_0289EB64; else goto L_0289EB8C; L_0289EB64: ; // 0x289eb64 /* 0289EB64 */ cpu->r[0] = cpu->r[1] + 0x000000CCu; L_0289EB68: ; // 0x289eb68 /* 0289EB68 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EB6C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u); /* 0289EB70 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EB74 */ cpu->r[5] = cpu->r[29] + cpu->r[12]; /* 0289EB78 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EB7C */ _t11 = cpu->r[5] + 0x00000014u; /* 0289EB7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0289EB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[28]); /* 0289EB84 */ _t12 = cpu->r[10] + cpu->r[0]; /* 0289EB84 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 0289EB88 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EB88 */ _t14 = _t13 & 0x00000001u; /* 0289EB88 */ if (_t14) goto L_0289EB68; else goto L_0289EB8C; L_0289EB8C: ; // 0x289eb8c /* 0289EB8C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000024u); /* 0289EB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EB94 */ cpu->r[25] = 0x00000000u; /* 0289EB98 */ cpu->r[23] = cpu->r[25]; /* 0289EB9C */ cpu->r[12] = cpu->r[29] + cpu->r[9]; /* 0289EBA0 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EBA0 */ _t16 = _t15 & 0x00000001u; /* 0289EBA0 */ if (_t16) goto L_0289EBA4; else goto L_0289EC20; L_0289EBA4: ; // 0x289eba4 /* 0289EBA4 */ _t17 = cpu->r[12] + 0x00000000u; /* 0289EBA4 */ cpu->r[6] = rbrew_read16(cpu->mem, _t17); /* 0289EBA8 */ cpu->r[4] = cpu->r[1] + 0x0000004Cu; L_0289EBAC: ; // 0x289ebac /* 0289EBAC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u); /* 0289EBB0 */ _t18 = cpu->r[29] + cpu->r[11]; /* 0289EBB0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t18); /* 0289EBB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 0289EBB8 */ cpu->r[10] = cpu->r[29] + cpu->r[11]; /* 0289EBBC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EBBC */ _t20 = _t19 & 0x00000001u; /* 0289EBBC */ if (_t20) goto L_0289EC00; else goto L_0289EBC0; L_0289EBC0: ; // 0x289ebc0 /* 0289EBC0 */ _t21 = cpu->r[12] + 0x00000004u; /* 0289EBC0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t21); /* 0289EBC4 */ _t22 = cpu->r[10] + 0x00000004u; /* 0289EBC4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t22); /* 0289EBC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]); /* 0289EBCC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EBCC */ _t24 = _t23 & 0x00000001u; /* 0289EBCC */ if (_t24) goto L_0289EC00; else goto L_0289EBD0; L_0289EBD0: ; // 0x289ebd0 /* 0289EBD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 0289EBD4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EBD4 */ _t26 = _t25 & 0x00000001u; /* 0289EBD4 */ if (_t26) goto L_0289EC00; else goto L_0289EBD8; L_0289EBD8: ; // 0x289ebd8 /* 0289EBD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 0289EBDC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EBDC */ _t28 = _t27 & 0x00000001u; /* 0289EBDC */ if (_t28) goto L_0289EC00; else goto L_0289EBE0; L_0289EBE0: ; // 0x289ebe0 /* 0289EBE0 */ _t29 = cpu->r[12] + 0x00000010u; /* 0289EBE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29); /* 0289EBE4 */ _t30 = cpu->r[10] + 0x00000010u; /* 0289EBE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30); /* 0289EBE8 */ cpu->r[0] = cpu->r[5] - cpu->r[7]; /* 0289EBEC */ /* nop */ /* 0289EBF0 */ cpu->r[9] = cpu->r[0] ^ cpu->r[10]; /* 0289EBF4 */ cpu->r[9] = cpu->r[9] - cpu->r[10]; /* 0289EBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000010u); /* 0289EBFC */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EBFC */ _t32 = _t31 & 0x00000001u; /* 0289EBFC */ if (_t32) goto L_0289EC00; else goto L_0289EC10; L_0289EC00: ; // 0x289ec00 /* 0289EC00 */ cpu->r[11] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289EC04 */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 0289EC08 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EC0C */ _t33 = cpu->r[11] + cpu->r[4]; /* 0289EC0C */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[25]); L_0289EC10: ; // 0x289ec10 /* 0289EC10 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EC14 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[28]); /* 0289EC1C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EC1C */ _t35 = _t34 & 0x00000001u; /* 0289EC1C */ if (_t35) goto L_0289EBAC; else goto L_0289EC20; L_0289EC20: ; // 0x289ec20 /* 0289EC20 */ cpu->r[3] = 0x00000001u; /* 0289EC24 */ cpu->r[27] = 0x10130000u; /* 0289EC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EC2C */ cpu->r[25] = 0x00000000u; /* 0289EC30 */ cpu->r[27] = cpu->r[27] + 0x00007874u; /* 0289EC34 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EC34 */ _t37 = _t36 & 0x00000001u; /* 0289EC34 */ if (_t37) goto L_0289EC38; else goto L_0289EFB0; L_0289EC38: ; // 0x289ec38 /* 0289EC38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[23]); /* 0289EC3C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EC3C */ _t39 = _t38 & 0x00000001u; /* 0289EC3C */ if (_t39) goto L_0289EC40; else goto L_0289EFF0; L_0289EC40: ; // 0x289ec40 /* 0289EC40 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000024u); /* 0289EC44 */ cpu->r[24] = cpu->r[1] + 0x0000000Cu; /* 0289EC48 */ cpu->r[22] = cpu->r[1] + 0x000001CCu; /* 0289EC4C */ cpu->r[12] = cpu->r[29] + cpu->r[0]; /* 0289EC50 */ cpu->r[26] = cpu->r[28] + 0xFFFFFFFFu; /* 0289EC54 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFDCu; /* 0289EC58 */ cpu->r[17] = cpu->r[1] + 0x0000004Cu; /* 0289EC5C */ _t40 = cpu->r[1] + 0x00000008u; /* 0289EC5C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]); L_0289EC60: ; // 0x289ec60 /* 0289EC60 */ cpu->r[7] = 0x00000004u; /* 0289EC64 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289EC68 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0289EC6C */ cpu->ctr = cpu->r[7]; /* 0289EC70 */ _t41 = cpu->r[4] + cpu->r[17]; /* 0289EC70 */ cpu->r[21] = rbrew_read16(cpu->mem, _t41); /* 0289EC74 */ cpu->r[5] = cpu->r[27] + 0xFFFFFFFCu; /* 0289EC78 */ cpu->r[20] = 0x00000000u; L_0289EC7C: ; // 0x289ec7c /* 0289EC7C */ _t42 = cpu->r[5] + 0x00000004u; /* 0289EC7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t42); /* 0289EC80 */ _t43 = cpu->r[6] + 0x00000004u; /* 0289EC80 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]); /* 0289EC84 */ _t44 = cpu->r[5] + 0x00000008u; /* 0289EC84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44); /* 0289EC88 */ _t45 = cpu->r[6] + 0x00000008u; /* 0289EC88 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]); /* 0289EC8C */ _t46 = cpu->r[5] + 0x0000000Cu; /* 0289EC8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t46); /* 0289EC90 */ _t47 = cpu->r[6] + 0x0000000Cu; /* 0289EC90 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]); /* 0289EC94 */ _t48 = cpu->r[5] + 0x00000010u; /* 0289EC94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48); /* 0289EC94 */ cpu->r[5] = _t48; /* 0289EC98 */ _t49 = cpu->r[6] + 0x00000010u; /* 0289EC98 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]); /* 0289EC98 */ cpu->r[6] = _t49; /* 0289EC9C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289EC9C */ _t50 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289EC9C */ _t51 = _t50 >> (0x00000002u & 31u); /* 0289EC9C */ _t52 = _t51 & 0x00000001u; /* 0289EC9C */ if (_t52) goto L_0289EC7C; else goto L_0289ECA0; L_0289ECA0: ; // 0x289eca0 /* 0289ECA0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x00000024u); /* 0289ECA4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000024u); /* 0289ECA8 */ cpu->r[19] = cpu->r[29] + cpu->r[12]; /* 0289ECAC */ _t53 = cpu->r[19] + 0x00000010u; /* 0289ECAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t53); /* 0289ECB0 */ cpu->r[4] = cpu->r[29] + cpu->r[0]; /* 0289ECB4 */ _t54 = cpu->r[4] + 0x00000010u; /* 0289ECB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t54); /* 0289ECB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]); /* 0289ECBC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289ECBC */ _t56 = _t55 & 0x00000001u; /* 0289ECBC */ if (_t56) goto L_0289ECC0; else goto L_0289ECDC; L_0289ECC0: ; // 0x289ecc0 /* 0289ECC0 */ cpu->r[3] = 0x00000000u; /* 0289ECC4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289ECC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289ECCC */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289ECD0 */ cpu->r[25] = 0x00000000u; /* 0289ECD4 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289ECD4 */ _t58 = _t57 & 0x00000001u; /* 0289ECD4 */ if (_t58) goto L_0289EFC8; else goto L_0289ECD8; L_0289ECD8: ; // 0x289ecd8 /* 0289ECD8 */ goto L_0289EFF0; L_0289ECDC: ; // 0x289ecdc /* 0289ECDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289ECE0 */ cpu->r[9] = cpu->r[28]; /* 0289ECE4 */ cpu->r[18] = 0x00000000u; /* 0289ECE8 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289ECE8 */ _t60 = _t59 & 0x00000001u; /* 0289ECE8 */ if (_t60) goto L_0289ECF0; else goto L_0289ECEC; L_0289ECEC: ; // 0x289ecec /* 0289ECEC */ cpu->r[9] = 0x00000001u; L_0289ECF0: ; // 0x289ecf0 /* 0289ECF0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[18] * (int32_t)0x00000024u); /* 0289ECF4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[18], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289ECF8 */ cpu->ctr = cpu->r[9]; /* 0289ECFC */ cpu->r[12] = cpu->r[22] + cpu->r[8]; /* 0289ED00 */ cpu->r[11] = cpu->r[29] + cpu->r[7]; /* 0289ED04 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu; /* 0289ED08 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFDCu; L_0289ED0C: ; // 0x289ed0c /* 0289ED0C */ _t61 = cpu->r[11] + 0x00000038u; /* 0289ED0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t61); /* 0289ED10 */ cpu->r[11] = cpu->r[11] + 0x00000024u; /* 0289ED14 */ _t62 = cpu->r[12] + 0x00000004u; /* 0289ED14 */ rbrew_write32(cpu->mem, _t62, cpu->r[9]); /* 0289ED14 */ cpu->r[12] = _t62; /* 0289ED18 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289ED18 */ _t63 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289ED18 */ _t64 = _t63 >> (0x00000002u & 31u); /* 0289ED18 */ _t65 = _t64 & 0x00000001u; /* 0289ED18 */ if (_t65) goto L_0289ED0C; else goto L_0289ED1C; L_0289ED1C: ; // 0x289ed1c /* 0289ED1C */ _t66 = cpu->r[19] + 0x00000018u; /* 0289ED1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66); /* 0289ED20 */ cpu->r[0] = cpu->r[10] + 0x00000001u; /* 0289ED24 */ /* nop */ /* 0289ED28 */ cpu->r[0] = cpu->r[0]; /* 0289ED2C */ _t67 = cpu->r[19] + 0x00000014u; /* 0289ED2C */ cpu->r[18] = rbrew_read32(cpu->mem, _t67); /* 0289ED30 */ cpu->r[12] = cpu->r[18] + cpu->r[0]; /* 0289ED34 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289ED38 */ cpu->r[11] = cpu->r[12] - cpu->r[9]; /* 0289ED3C */ /* nop */ /* 0289ED40 */ cpu->r[7] = cpu->r[11] ^ cpu->r[8]; /* 0289ED44 */ cpu->r[7] = cpu->r[7] - cpu->r[8]; /* 0289ED48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u); /* 0289ED4C */ cpu->r[4] = cpu->r[18] - cpu->r[0]; /* 0289ED50 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289ED50 */ _t69 = _t68 & 0x00000001u; /* 0289ED50 */ if (_t69) goto L_0289ED54; else goto L_0289ED70; L_0289ED54: ; // 0x289ed54 /* 0289ED54 */ cpu->r[9] = cpu->r[4] + 0x0000003Fu; /* 0289ED58 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289ED5C */ cpu->r[11] = cpu->r[10] - cpu->r[4]; /* 0289ED5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0289ED60 */ cpu->r[18] = cpu->r[18] + cpu->r[11]; /* 0289ED64 */ cpu->r[12] = cpu->r[18]; /* 0289ED68 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289ED68 */ _t71 = _t70 & 0x00000001u; /* 0289ED68 */ if (_t71) goto L_0289EDA4; else goto L_0289ED6C; L_0289ED6C: ; // 0x289ed6c /* 0289ED6C */ goto L_0289ED88; L_0289ED70: ; // 0x289ed70 /* 0289ED70 */ cpu->r[9] = cpu->r[12] + 0x0000003Fu; /* 0289ED74 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289ED78 */ cpu->r[11] = cpu->r[10] - cpu->r[12]; /* 0289ED78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0289ED7C */ cpu->r[18] = cpu->r[18] + cpu->r[11]; /* 0289ED80 */ cpu->r[12] = cpu->r[18]; /* 0289ED84 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289ED84 */ _t73 = _t72 & 0x00000001u; /* 0289ED84 */ if (_t73) goto L_0289EDA4; else goto L_0289ED88; L_0289ED88: ; // 0x289ed88 /* 0289ED88 */ cpu->r[5] = cpu->r[29]; /* 0289ED8C */ cpu->r[3] = cpu->r[14]; /* 0289ED90 */ cpu->r[4] = cpu->r[21]; /* 0289ED94 */ _t74 = cpu->r[19] + 0x00000014u; /* 0289ED94 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]); /* 0289ED98 */ Gambit_fn_0289E9C4(cpu); /* 0289ED9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EDA0 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EDA0 */ _t76 = _t75 & 0x00000001u; /* 0289EDA0 */ if (_t76) goto L_0289EDB4; else goto L_0289EDA4; L_0289EDA4: ; // 0x289eda4 /* 0289EDA4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EDA8 */ _t77 = cpu->r[8] + cpu->r[22]; /* 0289EDA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t77); /* 0289EDAC */ cpu->r[18] = cpu->r[10] + 0x00000040u; /* 0289EDB0 */ _t78 = cpu->r[19] + 0x00000014u; /* 0289EDB0 */ rbrew_write32(cpu->mem, _t78, cpu->r[18]); L_0289EDB4: ; // 0x289edb4 /* 0289EDB4 */ _t79 = cpu->r[19] + 0x00000010u; /* 0289EDB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79); /* 0289EDB8 */ cpu->r[11] = cpu->r[18] - cpu->r[12]; /* 0289EDBC */ /* nop */ /* 0289EDC0 */ cpu->r[4] = cpu->r[11] ^ cpu->r[5]; /* 0289EDC4 */ cpu->r[4] = cpu->r[4] - cpu->r[5]; /* 0289EDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000060u); /* 0289EDCC */ _t80 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EDCC */ _t81 = _t80 & 0x00000001u; /* 0289EDCC */ if (_t81) goto L_0289EDE0; else goto L_0289EDD0; L_0289EDD0: ; // 0x289edd0 /* 0289EDD0 */ _t82 = cpu->r[1] + 0x00000008u; /* 0289EDD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82); /* 0289EDD4 */ _t83 = cpu->r[5] + 0x00000014u; /* 0289EDD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t83); /* 0289EDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[6]); /* 0289EDDC */ _t84 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EDDC */ _t85 = _t84 & 0x00000001u; /* 0289EDDC */ if (_t85) goto L_0289EDE0; else goto L_0289EE08; L_0289EDE0: ; // 0x289ede0 /* 0289EDE0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EDE4 */ _t86 = cpu->r[7] + cpu->r[22]; /* 0289EDE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t86); /* 0289EDE8 */ cpu->r[3] = 0x00000000u; /* 0289EDEC */ _t87 = cpu->r[19] + 0x00000014u; /* 0289EDEC */ rbrew_write32(cpu->mem, _t87, cpu->r[8]); /* 0289EDF0 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EDF8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EDFC */ cpu->r[25] = 0x00000000u; /* 0289EE00 */ _t88 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EE00 */ _t89 = _t88 & 0x00000001u; /* 0289EE00 */ if (_t89) goto L_0289EFC8; else goto L_0289EE04; L_0289EE04: ; // 0x289ee04 /* 0289EE04 */ goto L_0289EFF0; L_0289EE08: ; // 0x289ee08 /* 0289EE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EE0C */ cpu->r[11] = cpu->r[28]; /* 0289EE10 */ cpu->r[18] = 0x00000000u; /* 0289EE14 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EE14 */ _t91 = _t90 & 0x00000001u; /* 0289EE14 */ if (_t91) goto L_0289EE1C; else goto L_0289EE18; L_0289EE18: ; // 0x289ee18 /* 0289EE18 */ cpu->r[11] = 0x00000001u; L_0289EE1C: ; // 0x289ee1c /* 0289EE1C */ cpu->r[19] = cpu->r[24] + cpu->r[18]; /* 0289EE20 */ cpu->r[16] = cpu->r[11]; /* 0289EE24 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu; L_0289EE28: ; // 0x289ee28 /* 0289EE28 */ cpu->r[5] = cpu->r[29]; /* 0289EE2C */ cpu->r[3] = cpu->r[21]; /* 0289EE30 */ cpu->r[4] = cpu->r[18]; /* 0289EE34 */ cpu->r[15] = 0x00000000u; /* 0289EE38 */ Gambit_fn_0289E9C4(cpu); /* 0289EE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EE40 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EE40 */ _t93 = _t92 & 0x00000001u; /* 0289EE40 */ if (_t93) goto L_0289EE68; else goto L_0289EE44; L_0289EE44: ; // 0x289ee44 /* 0289EE44 */ cpu->r[7] = cpu->r[31]; /* 0289EE48 */ cpu->r[6] = cpu->r[30]; /* 0289EE4C */ cpu->r[5] = cpu->r[29]; /* 0289EE50 */ cpu->r[4] = cpu->r[18]; /* 0289EE54 */ cpu->r[3] = cpu->r[21]; /* 0289EE58 */ Gambit_fn_0289E8A8(cpu); /* 0289EE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EE60 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EE60 */ _t95 = _t94 & 0x00000001u; /* 0289EE60 */ if (_t95) goto L_0289EE68; else goto L_0289EE64; L_0289EE64: ; // 0x289ee64 /* 0289EE64 */ cpu->r[15] = 0x00000001u; L_0289EE68: ; // 0x289ee68 /* 0289EE68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[15], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0289EE6C */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 0289EE70 */ cpu->r[16] = cpu->r[16] + 0xFFFFFFFFu; /* 0289EE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u); /* 0289EE74 */ cpu->r[20] = cpu->r[20] | cpu->r[0]; /* 0289EE78 */ _t96 = cpu->r[19] + 0x00000001u; /* 0289EE78 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[0]); /* 0289EE78 */ cpu->r[19] = _t96; /* 0289EE7C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EE7C */ _t98 = _t97 & 0x00000001u; /* 0289EE7C */ if (_t98) goto L_0289EE80; else goto L_0289EE28; L_0289EE80: ; // 0x289ee80 /* 0289EE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0289EE84 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EE84 */ _t100 = _t99 & 0x00000001u; /* 0289EE84 */ if (_t100) goto L_0289EEE0; else goto L_0289EE88; L_0289EE88: ; // 0x289ee88 /* 0289EE88 */ cpu->r[18] = cpu->r[21] + 0x00000001u; /* 0289EE8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[28]); /* 0289EE90 */ cpu->r[19] = 0x00000001u; /* 0289EE94 */ _t101 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EE94 */ _t102 = _t101 & 0x00000001u; /* 0289EE94 */ if (_t102) goto L_0289EE98; else goto L_0289EEE0; L_0289EE98: ; // 0x289ee98 /* 0289EE98 */ cpu->r[20] = cpu->r[24] + cpu->r[18]; /* 0289EE9C */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu; L_0289EEA0: ; // 0x289eea0 /* 0289EEA0 */ _t103 = cpu->r[20] + 0x00000001u; /* 0289EEA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t103); /* 0289EEA0 */ cpu->r[20] = _t103; /* 0289EEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289EEA8 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EEA8 */ _t105 = _t104 & 0x00000001u; /* 0289EEA8 */ if (_t105) goto L_0289EECC; else goto L_0289EEAC; L_0289EEAC: ; // 0x289eeac /* 0289EEAC */ cpu->r[8] = cpu->r[31]; /* 0289EEB0 */ cpu->r[7] = cpu->r[30]; /* 0289EEB4 */ cpu->r[6] = cpu->r[29]; /* 0289EEB8 */ cpu->r[5] = cpu->r[28]; /* 0289EEBC */ cpu->r[4] = cpu->r[18]; /* 0289EEC0 */ cpu->r[3] = cpu->r[21]; /* 0289EEC4 */ Gambit_fn_0289EB10(cpu); /* 0289EEC8 */ cpu->r[19] = cpu->r[19] & cpu->r[3]; L_0289EECC: ; // 0x289eecc /* 0289EECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 0289EED0 */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 0289EED4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EED4 */ _t107 = _t106 & 0x00000001u; /* 0289EED4 */ if (_t107) goto L_0289EEF8; else goto L_0289EED8; L_0289EED8: ; // 0x289eed8 /* 0289EED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[28]); /* 0289EEDC */ _t108 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EEDC */ _t109 = _t108 & 0x00000001u; /* 0289EEDC */ if (_t109) goto L_0289EEA0; else goto L_0289EEE0; L_0289EEE0: ; // 0x289eee0 /* 0289EEE0 */ cpu->r[3] = 0x00000001u; /* 0289EEE4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EEEC */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EEF0 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EEF0 */ _t111 = _t110 & 0x00000001u; /* 0289EEF0 */ if (_t111) goto L_0289EFBC; else goto L_0289EEF4; L_0289EEF4: ; // 0x289eef4 /* 0289EEF4 */ goto L_0289EF4C; L_0289EEF8: ; // 0x289eef8 /* 0289EEF8 */ cpu->r[4] = cpu->r[26] - cpu->r[21]; /* 0289EEFC */ cpu->r[18] = cpu->r[21]; /* 0289EF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[28]); /* 0289EF04 */ cpu->r[7] = cpu->r[4] + 0x00000001u; /* 0289EF08 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EF08 */ _t113 = _t112 & 0x00000001u; /* 0289EF08 */ if (_t113) goto L_0289EF0C; else goto L_0289EF38; L_0289EF0C: ; // 0x289ef0c /* 0289EF0C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[18] * (int32_t)0x00000024u); /* 0289EF10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[18], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EF14 */ cpu->ctr = cpu->r[7]; /* 0289EF18 */ cpu->r[10] = cpu->r[22] + cpu->r[0]; /* 0289EF1C */ cpu->r[9] = cpu->r[29] + cpu->r[5]; /* 0289EF20 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; /* 0289EF24 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFDCu; L_0289EF28: ; // 0x289ef28 /* 0289EF28 */ _t114 = cpu->r[10] + 0x00000004u; /* 0289EF28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t114); /* 0289EF28 */ cpu->r[10] = _t114; /* 0289EF2C */ _t115 = cpu->r[9] + 0x00000038u; /* 0289EF2C */ rbrew_write32(cpu->mem, _t115, cpu->r[6]); /* 0289EF30 */ cpu->r[9] = cpu->r[9] + 0x00000024u; /* 0289EF34 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289EF34 */ _t116 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289EF34 */ _t117 = _t116 >> (0x00000002u & 31u); /* 0289EF34 */ _t118 = _t117 & 0x00000001u; /* 0289EF34 */ if (_t118) goto L_0289EF28; else goto L_0289EF38; L_0289EF38: ; // 0x289ef38 /* 0289EF38 */ cpu->r[3] = 0x00000000u; /* 0289EF3C */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289EF44 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EF48 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EF48 */ _t120 = _t119 & 0x00000001u; /* 0289EF48 */ if (_t120) goto L_0289EFBC; else goto L_0289EF4C; L_0289EF4C: ; // 0x289ef4c /* 0289EF4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[23]); /* 0289EF50 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EF50 */ _t122 = _t121 & 0x00000001u; /* 0289EF50 */ if (_t122) goto L_0289EC60; else goto L_0289EF54; L_0289EF54: ; // 0x289ef54 /* 0289EF54 */ /* nop */ /* 0289EF58 */ _t123 = cpu->r[1] + 0x0000031Cu; /* 0289EF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123); /* 0289EF5C */ cpu->lr = cpu->r[0]; /* 0289EF60 */ cpu->r[1] = cpu->r[1] + 0x00000318u; /* 0289EF64 */ return; L_0289EF68: ; // 0x289ef68 /* 0289EF68 */ cpu->r[11] = 0x00000004u; /* 0289EF6C */ cpu->r[7] = cpu->r[27] + 0xFFFFFFFCu; /* 0289EF70 */ cpu->ctr = cpu->r[11]; /* 0289EF74 */ cpu->r[9] = cpu->r[1] + 0x00000008u; L_0289EF78: ; // 0x289ef78 /* 0289EF78 */ _t124 = cpu->r[7] + 0x00000004u; /* 0289EF78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 0289EF7C */ _t125 = cpu->r[9] + 0x00000004u; /* 0289EF7C */ rbrew_write32(cpu->mem, _t125, cpu->r[0]); /* 0289EF80 */ _t126 = cpu->r[7] + 0x00000008u; /* 0289EF80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126); /* 0289EF84 */ _t127 = cpu->r[9] + 0x00000008u; /* 0289EF84 */ rbrew_write32(cpu->mem, _t127, cpu->r[6]); /* 0289EF88 */ _t128 = cpu->r[7] + 0x0000000Cu; /* 0289EF88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t128); /* 0289EF8C */ _t129 = cpu->r[9] + 0x0000000Cu; /* 0289EF8C */ rbrew_write32(cpu->mem, _t129, cpu->r[8]); /* 0289EF90 */ _t130 = cpu->r[7] + 0x00000010u; /* 0289EF90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t130); /* 0289EF90 */ cpu->r[7] = _t130; /* 0289EF94 */ _t131 = cpu->r[9] + 0x00000010u; /* 0289EF94 */ rbrew_write32(cpu->mem, _t131, cpu->r[10]); /* 0289EF94 */ cpu->r[9] = _t131; /* 0289EF98 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289EF98 */ _t132 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289EF98 */ _t133 = _t132 >> (0x00000002u & 31u); /* 0289EF98 */ _t134 = _t133 & 0x00000001u; /* 0289EF98 */ if (_t134) goto L_0289EF78; else goto L_0289EF9C; L_0289EF9C: ; // 0x289ef9c /* 0289EF9C */ cpu->r[3] = 0x00000000u; /* 0289EFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EFA4 */ cpu->r[25] = cpu->r[3]; /* 0289EFA8 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EFA8 */ _t136 = _t135 & 0x00000001u; /* 0289EFA8 */ if (_t136) goto L_0289EFC8; else goto L_0289EFAC; L_0289EFAC: ; // 0x289efac /* 0289EFAC */ goto L_0289EFF0; L_0289EFB0: ; // 0x289efb0 /* 0289EFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 0289EFB4 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289EFB4 */ _t138 = _t137 & 0x00000001u; /* 0289EFB4 */ if (_t138) goto L_0289EFB8; else goto L_0289EF68; L_0289EFB8: ; // 0x289efb8 /* 0289EFB8 */ goto L_0289EFF0; L_0289EFBC: ; // 0x289efbc /* 0289EFBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289EFC0 */ cpu->r[25] = 0x00000000u; /* 0289EFC4 */ _t139 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289EFC4 */ _t140 = _t139 & 0x00000001u; /* 0289EFC4 */ if (_t140) goto L_0289EFC8; else goto L_0289EFF0; L_0289EFC8: ; // 0x289efc8 /* 0289EFC8 */ cpu->r[0] = cpu->r[1] + 0x000000CCu; L_0289EFCC: ; // 0x289efcc /* 0289EFCC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u); /* 0289EFD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289EFD4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289EFD8 */ _t141 = cpu->r[6] + cpu->r[0]; /* 0289EFD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t141); /* 0289EFDC */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289EFE0 */ cpu->r[4] = cpu->r[29] + cpu->r[12]; /* 0289EFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[28]); /* 0289EFE8 */ _t142 = cpu->r[4] + 0x00000014u; /* 0289EFE8 */ rbrew_write32(cpu->mem, _t142, cpu->r[8]); /* 0289EFEC */ _t143 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289EFEC */ _t144 = _t143 & 0x00000001u; /* 0289EFEC */ if (_t144) goto L_0289EFCC; else goto L_0289EFF0; L_0289EFF0: ; // 0x289eff0 /* 0289EFF0 */ /* nop */ /* 0289EFF4 */ _t145 = cpu->r[1] + 0x0000031Cu; /* 0289EFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145); /* 0289EFF8 */ cpu->lr = cpu->r[0]; /* 0289EFFC */ cpu->r[1] = cpu->r[1] + 0x00000318u; /* 0289F000 */ return; } // fn_0289F004 @ 0x289f004 void Gambit_fn_0289F004(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289F004: ; // 0x289f004 /* 0289F004 */ _t0 = cpu->r[1] + 0xFFFFFCF0u; /* 0289F004 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289F004 */ cpu->r[1] = _t0; /* 0289F008 */ /* nop */ /* 0289F00C */ cpu->r[0] = cpu->lr; /* 0289F010 */ cpu->r[27] = cpu->r[4]; /* 0289F014 */ cpu->r[28] = cpu->r[5]; /* 0289F018 */ cpu->r[30] = cpu->r[7]; /* 0289F01C */ cpu->r[31] = cpu->r[8]; /* 0289F020 */ _t1 = cpu->r[1] + 0x00000314u; /* 0289F020 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289F024 */ cpu->r[0] = 0x00000008u; /* 0289F028 */ cpu->r[9] = 0x00000000u; /* 0289F02C */ cpu->ctr = cpu->r[0]; /* 0289F030 */ cpu->r[29] = cpu->r[6]; /* 0289F034 */ cpu->r[11] = cpu->r[1] + 0x00000044u; L_0289F038: ; // 0x289f038 /* 0289F038 */ _t2 = cpu->r[11] + 0x00000004u; /* 0289F038 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]); /* 0289F03C */ _t3 = cpu->r[11] + 0x00000008u; /* 0289F03C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]); /* 0289F040 */ _t4 = cpu->r[11] + 0x0000000Cu; /* 0289F040 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]); /* 0289F044 */ _t5 = cpu->r[11] + 0x00000010u; /* 0289F044 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 0289F044 */ cpu->r[11] = _t5; /* 0289F048 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289F048 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289F048 */ _t7 = _t6 >> (0x00000002u & 31u); /* 0289F048 */ _t8 = _t7 & 0x00000001u; /* 0289F048 */ if (_t8) goto L_0289F038; else goto L_0289F04C; L_0289F04C: ; // 0x289f04c /* 0289F04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F050 */ cpu->r[14] = 0x00000000u; /* 0289F054 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F054 */ _t10 = _t9 & 0x00000001u; /* 0289F054 */ if (_t10) goto L_0289F058; else goto L_0289F080; L_0289F058: ; // 0x289f058 /* 0289F058 */ cpu->r[9] = cpu->r[1] + 0x000000C8u; L_0289F05C: ; // 0x289f05c /* 0289F05C */ cpu->r[10] = rbrew_rlwinm(cpu->r[14], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F060 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[14] * (int32_t)0x00000024u); /* 0289F064 */ cpu->r[14] = cpu->r[14] + 0x00000001u; /* 0289F068 */ cpu->r[12] = cpu->r[29] + cpu->r[11]; /* 0289F06C */ cpu->r[14] = rbrew_rlwinm(cpu->r[14], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F070 */ _t11 = cpu->r[12] + 0x00000014u; /* 0289F070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0289F074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[28]); /* 0289F078 */ _t12 = cpu->r[10] + cpu->r[9]; /* 0289F078 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 0289F07C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F07C */ _t14 = _t13 & 0x00000001u; /* 0289F07C */ if (_t14) goto L_0289F05C; else goto L_0289F080; L_0289F080: ; // 0x289f080 /* 0289F080 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000024u); /* 0289F084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F088 */ cpu->r[14] = 0x00000000u; /* 0289F08C */ cpu->r[15] = cpu->r[14]; /* 0289F090 */ cpu->r[26] = cpu->r[29] + cpu->r[4]; /* 0289F094 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F094 */ _t16 = _t15 & 0x00000001u; /* 0289F094 */ if (_t16) goto L_0289F098; else goto L_0289F114; L_0289F098: ; // 0x289f098 /* 0289F098 */ _t17 = cpu->r[26] + 0x00000000u; /* 0289F098 */ cpu->r[4] = rbrew_read16(cpu->mem, _t17); /* 0289F09C */ cpu->r[3] = cpu->r[1] + 0x00000048u; L_0289F0A0: ; // 0x289f0a0 /* 0289F0A0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[14] * (int32_t)0x00000024u); /* 0289F0A4 */ _t18 = cpu->r[29] + cpu->r[5]; /* 0289F0A4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t18); /* 0289F0A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]); /* 0289F0AC */ cpu->r[9] = cpu->r[29] + cpu->r[5]; /* 0289F0B0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F0B0 */ _t20 = _t19 & 0x00000001u; /* 0289F0B0 */ if (_t20) goto L_0289F0F4; else goto L_0289F0B4; L_0289F0B4: ; // 0x289f0b4 /* 0289F0B4 */ _t21 = cpu->r[26] + 0x00000004u; /* 0289F0B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t21); /* 0289F0B8 */ _t22 = cpu->r[9] + 0x00000004u; /* 0289F0B8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t22); /* 0289F0BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]); /* 0289F0C0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F0C0 */ _t24 = _t23 & 0x00000001u; /* 0289F0C0 */ if (_t24) goto L_0289F0F4; else goto L_0289F0C4; L_0289F0C4: ; // 0x289f0c4 /* 0289F0C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 0289F0C8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F0C8 */ _t26 = _t25 & 0x00000001u; /* 0289F0C8 */ if (_t26) goto L_0289F0F4; else goto L_0289F0CC; L_0289F0CC: ; // 0x289f0cc /* 0289F0CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0289F0D0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F0D0 */ _t28 = _t27 & 0x00000001u; /* 0289F0D0 */ if (_t28) goto L_0289F0F4; else goto L_0289F0D4; L_0289F0D4: ; // 0x289f0d4 /* 0289F0D4 */ _t29 = cpu->r[26] + 0x00000010u; /* 0289F0D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 0289F0D8 */ _t30 = cpu->r[9] + 0x00000010u; /* 0289F0D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 0289F0DC */ cpu->r[6] = cpu->r[7] - cpu->r[8]; /* 0289F0E0 */ /* nop */ /* 0289F0E4 */ cpu->r[9] = cpu->r[6] ^ cpu->r[0]; /* 0289F0E8 */ cpu->r[9] = cpu->r[9] - cpu->r[0]; /* 0289F0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000010u); /* 0289F0F0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F0F0 */ _t32 = _t31 & 0x00000001u; /* 0289F0F0 */ if (_t32) goto L_0289F0F4; else goto L_0289F104; L_0289F0F4: ; // 0x289f0f4 /* 0289F0F4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[15], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289F0F8 */ cpu->r[15] = cpu->r[15] + 0x00000001u; /* 0289F0FC */ cpu->r[15] = rbrew_rlwinm(cpu->r[15], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F100 */ _t33 = cpu->r[11] + cpu->r[3]; /* 0289F100 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[14]); L_0289F104: ; // 0x289f104 /* 0289F104 */ cpu->r[14] = cpu->r[14] + 0x00000001u; /* 0289F108 */ cpu->r[14] = rbrew_rlwinm(cpu->r[14], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F10C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[28]); /* 0289F110 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F110 */ _t35 = _t34 & 0x00000001u; /* 0289F110 */ if (_t35) goto L_0289F0A0; else goto L_0289F114; L_0289F114: ; // 0x289f114 /* 0289F114 */ cpu->r[3] = 0x00000001u; /* 0289F118 */ cpu->r[26] = 0x10130000u; /* 0289F11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F120 */ cpu->r[14] = 0x00000000u; /* 0289F124 */ cpu->r[26] = cpu->r[26] + 0x000078B4u; /* 0289F128 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F128 */ _t37 = _t36 & 0x00000001u; /* 0289F128 */ if (_t37) goto L_0289F12C; else goto L_0289F450; L_0289F12C: ; // 0x289f12c /* 0289F12C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[15]); /* 0289F130 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F130 */ _t39 = _t38 & 0x00000001u; /* 0289F130 */ if (_t39) goto L_0289F134; else goto L_0289F490; L_0289F134: ; // 0x289f134 /* 0289F134 */ cpu->r[25] = cpu->r[28] + 0xFFFFFFFFu; /* 0289F138 */ cpu->r[24] = cpu->r[1] + 0x00000048u; /* 0289F13C */ cpu->r[23] = cpu->r[1] + 0x00000008u; /* 0289F140 */ cpu->r[22] = cpu->r[1] + 0x000001C8u; L_0289F144: ; // 0x289f144 /* 0289F144 */ cpu->r[6] = 0x00000004u; /* 0289F148 */ cpu->r[12] = rbrew_rlwinm(cpu->r[14], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289F14C */ cpu->r[5] = cpu->r[1] + 0x00000004u; /* 0289F150 */ cpu->ctr = cpu->r[6]; /* 0289F154 */ _t40 = cpu->r[12] + cpu->r[24]; /* 0289F154 */ cpu->r[16] = rbrew_read16(cpu->mem, _t40); /* 0289F158 */ cpu->r[4] = cpu->r[26] + 0xFFFFFFFCu; /* 0289F15C */ cpu->r[18] = 0x00000000u; L_0289F160: ; // 0x289f160 /* 0289F160 */ _t41 = cpu->r[4] + 0x00000004u; /* 0289F160 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41); /* 0289F164 */ _t42 = cpu->r[5] + 0x00000004u; /* 0289F164 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]); /* 0289F168 */ _t43 = cpu->r[4] + 0x00000008u; /* 0289F168 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 0289F16C */ _t44 = cpu->r[5] + 0x00000008u; /* 0289F16C */ rbrew_write32(cpu->mem, _t44, cpu->r[8]); /* 0289F170 */ _t45 = cpu->r[4] + 0x0000000Cu; /* 0289F170 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45); /* 0289F174 */ _t46 = cpu->r[5] + 0x0000000Cu; /* 0289F174 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]); /* 0289F178 */ _t47 = cpu->r[4] + 0x00000010u; /* 0289F178 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47); /* 0289F178 */ cpu->r[4] = _t47; /* 0289F17C */ _t48 = cpu->r[5] + 0x00000010u; /* 0289F17C */ rbrew_write32(cpu->mem, _t48, cpu->r[10]); /* 0289F17C */ cpu->r[5] = _t48; /* 0289F180 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289F180 */ _t49 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289F180 */ _t50 = _t49 >> (0x00000002u & 31u); /* 0289F180 */ _t51 = _t50 & 0x00000001u; /* 0289F180 */ if (_t51) goto L_0289F160; else goto L_0289F184; L_0289F184: ; // 0x289f184 /* 0289F184 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[16] * (int32_t)0x00000024u); /* 0289F188 */ _t52 = cpu->r[29] + 0x00000014u; /* 0289F188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 0289F18C */ cpu->r[21] = cpu->r[29] + cpu->r[11]; /* 0289F190 */ _t53 = cpu->r[21] + 0x00000014u; /* 0289F190 */ cpu->r[20] = rbrew_read32(cpu->mem, _t53); /* 0289F194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[12]); /* 0289F198 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F198 */ _t55 = _t54 & 0x00000001u; /* 0289F198 */ if (_t55) goto L_0289F19C; else goto L_0289F1B8; L_0289F19C: ; // 0x289f19c /* 0289F19C */ cpu->r[3] = 0x00000000u; /* 0289F1A0 */ cpu->r[14] = cpu->r[14] + 0x00000001u; /* 0289F1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F1A8 */ cpu->r[14] = rbrew_rlwinm(cpu->r[14], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F1AC */ cpu->r[14] = 0x00000000u; /* 0289F1B0 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F1B0 */ _t57 = _t56 & 0x00000001u; /* 0289F1B0 */ if (_t57) goto L_0289F468; else goto L_0289F1B4; L_0289F1B4: ; // 0x289f1b4 /* 0289F1B4 */ goto L_0289F490; L_0289F1B8: ; // 0x289f1b8 /* 0289F1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F1BC */ cpu->r[11] = cpu->r[28]; /* 0289F1C0 */ cpu->r[17] = 0x00000000u; /* 0289F1C4 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F1C4 */ _t59 = _t58 & 0x00000001u; /* 0289F1C4 */ if (_t59) goto L_0289F1CC; else goto L_0289F1C8; L_0289F1C8: ; // 0x289f1c8 /* 0289F1C8 */ cpu->r[11] = 0x00000001u; L_0289F1CC: ; // 0x289f1cc /* 0289F1CC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[17] * (int32_t)0x00000024u); /* 0289F1D0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[17], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F1D4 */ cpu->ctr = cpu->r[11]; /* 0289F1D8 */ cpu->r[8] = cpu->r[22] + cpu->r[4]; /* 0289F1DC */ cpu->r[7] = cpu->r[29] + cpu->r[0]; /* 0289F1E0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu; /* 0289F1E4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFDCu; L_0289F1E8: ; // 0x289f1e8 /* 0289F1E8 */ _t60 = cpu->r[7] + 0x00000038u; /* 0289F1E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60); /* 0289F1EC */ cpu->r[7] = cpu->r[7] + 0x00000024u; /* 0289F1F0 */ _t61 = cpu->r[8] + 0x00000004u; /* 0289F1F0 */ rbrew_write32(cpu->mem, _t61, cpu->r[5]); /* 0289F1F0 */ cpu->r[8] = _t61; /* 0289F1F4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289F1F4 */ _t62 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289F1F4 */ _t63 = _t62 >> (0x00000002u & 31u); /* 0289F1F4 */ _t64 = _t63 & 0x00000001u; /* 0289F1F4 */ if (_t64) goto L_0289F1E8; else goto L_0289F1F8; L_0289F1F8: ; // 0x289f1f8 /* 0289F1F8 */ _t65 = cpu->r[21] + 0x00000018u; /* 0289F1F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65); /* 0289F1FC */ cpu->r[6] = cpu->r[7] + 0x00000001u; /* 0289F200 */ /* nop */ /* 0289F204 */ cpu->r[7] = cpu->r[8]; /* 0289F208 */ cpu->r[8] = cpu->r[20] + cpu->r[7]; /* 0289F20C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x00000019u); /* 0289F210 */ cpu->r[10] = cpu->r[8] - cpu->r[9]; /* 0289F214 */ /* nop */ /* 0289F218 */ cpu->r[11] = cpu->r[10] ^ cpu->r[0]; /* 0289F21C */ cpu->r[11] = cpu->r[11] - cpu->r[0]; /* 0289F220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u); /* 0289F224 */ cpu->r[10] = cpu->r[20] - cpu->r[7]; /* 0289F228 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F228 */ _t67 = _t66 & 0x00000001u; /* 0289F228 */ if (_t67) goto L_0289F230; else goto L_0289F22C; L_0289F22C: ; // 0x289f22c /* 0289F22C */ cpu->r[10] = cpu->r[8]; L_0289F230: ; // 0x289f230 /* 0289F230 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Au, 0x0000001Fu); /* 0289F230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0289F234 */ cpu->r[20] = cpu->r[20] - cpu->r[0]; /* 0289F238 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F238 */ _t69 = _t68 & 0x00000001u; /* 0289F238 */ if (_t69) goto L_0289F258; else goto L_0289F23C; L_0289F23C: ; // 0x289f23c /* 0289F23C */ cpu->r[5] = cpu->r[29]; /* 0289F240 */ cpu->r[3] = cpu->r[16]; /* 0289F244 */ cpu->r[4] = cpu->r[27]; /* 0289F248 */ _t70 = cpu->r[21] + 0x00000014u; /* 0289F248 */ rbrew_write32(cpu->mem, _t70, cpu->r[20]); /* 0289F24C */ Gambit_fn_0289E9C4(cpu); /* 0289F250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F254 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F254 */ _t72 = _t71 & 0x00000001u; /* 0289F254 */ if (_t72) goto L_0289F268; else goto L_0289F258; L_0289F258: ; // 0x289f258 /* 0289F258 */ cpu->r[11] = rbrew_rlwinm(cpu->r[16], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F25C */ _t73 = cpu->r[11] + cpu->r[22]; /* 0289F25C */ cpu->r[12] = rbrew_read32(cpu->mem, _t73); /* 0289F260 */ cpu->r[20] = cpu->r[12] + 0xFFFFFFC0u; /* 0289F264 */ _t74 = cpu->r[21] + 0x00000014u; /* 0289F264 */ rbrew_write32(cpu->mem, _t74, cpu->r[20]); L_0289F268: ; // 0x289f268 /* 0289F268 */ _t75 = cpu->r[21] + 0x00000010u; /* 0289F268 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75); /* 0289F26C */ cpu->r[0] = cpu->r[20] - cpu->r[4]; /* 0289F270 */ /* nop */ /* 0289F274 */ cpu->r[5] = cpu->r[0] ^ cpu->r[6]; /* 0289F278 */ cpu->r[5] = cpu->r[5] - cpu->r[6]; /* 0289F27C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000060u); /* 0289F280 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F280 */ _t77 = _t76 & 0x00000001u; /* 0289F280 */ if (_t77) goto L_0289F290; else goto L_0289F284; L_0289F284: ; // 0x289f284 /* 0289F284 */ _t78 = cpu->r[29] + 0x00000010u; /* 0289F284 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78); /* 0289F288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[7]); /* 0289F28C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F28C */ _t80 = _t79 & 0x00000001u; /* 0289F28C */ if (_t80) goto L_0289F290; else goto L_0289F2B8; L_0289F290: ; // 0x289f290 /* 0289F290 */ cpu->r[9] = rbrew_rlwinm(cpu->r[16], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F294 */ _t81 = cpu->r[9] + cpu->r[22]; /* 0289F294 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81); /* 0289F298 */ cpu->r[3] = 0x00000000u; /* 0289F29C */ _t82 = cpu->r[21] + 0x00000014u; /* 0289F29C */ rbrew_write32(cpu->mem, _t82, cpu->r[10]); /* 0289F2A0 */ cpu->r[14] = cpu->r[14] + 0x00000001u; /* 0289F2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F2A8 */ cpu->r[14] = rbrew_rlwinm(cpu->r[14], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F2AC */ cpu->r[14] = 0x00000000u; /* 0289F2B0 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F2B0 */ _t84 = _t83 & 0x00000001u; /* 0289F2B0 */ if (_t84) goto L_0289F468; else goto L_0289F2B4; L_0289F2B4: ; // 0x289f2b4 /* 0289F2B4 */ goto L_0289F490; L_0289F2B8: ; // 0x289f2b8 /* 0289F2B8 */ cpu->r[17] = cpu->r[25]; /* 0289F2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 0289F2BC */ cpu->r[20] = cpu->r[17] + 0x00000001u; /* 0289F2C0 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F2C0 */ _t86 = _t85 & 0x00000001u; /* 0289F2C0 */ if (_t86) goto L_0289F380; else goto L_0289F2C4; L_0289F2C4: ; // 0x289f2c4 /* 0289F2C4 */ cpu->r[21] = cpu->r[23] + cpu->r[17]; /* 0289F2C8 */ cpu->r[21] = cpu->r[21] + 0x00000001u; L_0289F2CC: ; // 0x289f2cc /* 0289F2CC */ cpu->r[5] = cpu->r[29]; /* 0289F2D0 */ cpu->r[3] = cpu->r[16]; /* 0289F2D4 */ cpu->r[4] = cpu->r[17]; /* 0289F2D8 */ cpu->r[19] = 0x00000000u; /* 0289F2DC */ Gambit_fn_0289E9C4(cpu); /* 0289F2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F2E4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F2E4 */ _t88 = _t87 & 0x00000001u; /* 0289F2E4 */ if (_t88) goto L_0289F30C; else goto L_0289F2E8; L_0289F2E8: ; // 0x289f2e8 /* 0289F2E8 */ cpu->r[7] = cpu->r[31]; /* 0289F2EC */ cpu->r[6] = cpu->r[30]; /* 0289F2F0 */ cpu->r[5] = cpu->r[29]; /* 0289F2F4 */ cpu->r[4] = cpu->r[17]; /* 0289F2F8 */ cpu->r[3] = cpu->r[16]; /* 0289F2FC */ Gambit_fn_0289E8A8(cpu); /* 0289F300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F304 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F304 */ _t90 = _t89 & 0x00000001u; /* 0289F304 */ if (_t90) goto L_0289F30C; else goto L_0289F308; L_0289F308: ; // 0x289f308 /* 0289F308 */ cpu->r[19] = 0x00000001u; L_0289F30C: ; // 0x289f30c /* 0289F30C */ cpu->r[0] = rbrew_rlwinm(cpu->r[19], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0289F310 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu; /* 0289F314 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu; /* 0289F314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0289F318 */ cpu->r[18] = cpu->r[18] | cpu->r[0]; /* 0289F31C */ _t91 = cpu->r[21] + 0xFFFFFFFFu; /* 0289F31C */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[0]); /* 0289F31C */ cpu->r[21] = _t91; /* 0289F320 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F320 */ _t93 = _t92 & 0x00000001u; /* 0289F320 */ if (_t93) goto L_0289F324; else goto L_0289F2CC; L_0289F324: ; // 0x289f324 /* 0289F324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 0289F328 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F328 */ _t95 = _t94 & 0x00000001u; /* 0289F328 */ if (_t95) goto L_0289F380; else goto L_0289F32C; L_0289F32C: ; // 0x289f32c /* 0289F32C */ cpu->r[17] = cpu->r[16] + 0xFFFFFFFFu; /* 0289F32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 0289F330 */ cpu->r[20] = 0x00000001u; /* 0289F334 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F334 */ _t97 = _t96 & 0x00000001u; /* 0289F334 */ if (_t97) goto L_0289F380; else goto L_0289F338; L_0289F338: ; // 0x289f338 /* 0289F338 */ cpu->r[21] = cpu->r[23] + cpu->r[17]; /* 0289F33C */ cpu->r[21] = cpu->r[21] + 0x00000001u; L_0289F340: ; // 0x289f340 /* 0289F340 */ _t98 = cpu->r[21] + 0xFFFFFFFFu; /* 0289F340 */ cpu->r[12] = rbrew_read8(cpu->mem, _t98); /* 0289F340 */ cpu->r[21] = _t98; /* 0289F344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289F348 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F348 */ _t100 = _t99 & 0x00000001u; /* 0289F348 */ if (_t100) goto L_0289F36C; else goto L_0289F34C; L_0289F34C: ; // 0x289f34c /* 0289F34C */ cpu->r[8] = cpu->r[31]; /* 0289F350 */ cpu->r[7] = cpu->r[30]; /* 0289F354 */ cpu->r[6] = cpu->r[29]; /* 0289F358 */ cpu->r[5] = cpu->r[28]; /* 0289F35C */ cpu->r[4] = cpu->r[16]; /* 0289F360 */ cpu->r[3] = cpu->r[17]; /* 0289F364 */ Gambit_fn_0289F004(cpu); /* 0289F368 */ cpu->r[20] = cpu->r[20] & cpu->r[3]; L_0289F36C: ; // 0x289f36c /* 0289F36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0289F370 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu; /* 0289F374 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F374 */ _t102 = _t101 & 0x00000001u; /* 0289F374 */ if (_t102) goto L_0289F398; else goto L_0289F378; L_0289F378: ; // 0x289f378 /* 0289F378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 0289F37C */ _t103 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F37C */ _t104 = _t103 & 0x00000001u; /* 0289F37C */ if (_t104) goto L_0289F380; else goto L_0289F340; L_0289F380: ; // 0x289f380 /* 0289F380 */ cpu->r[3] = 0x00000001u; /* 0289F384 */ cpu->r[14] = cpu->r[14] + 0x00000001u; /* 0289F388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F38C */ cpu->r[14] = rbrew_rlwinm(cpu->r[14], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F390 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F390 */ _t106 = _t105 & 0x00000001u; /* 0289F390 */ if (_t106) goto L_0289F45C; else goto L_0289F394; L_0289F394: ; // 0x289f394 /* 0289F394 */ goto L_0289F3EC; L_0289F398: ; // 0x289f398 /* 0289F398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F39C */ cpu->r[8] = cpu->r[28]; /* 0289F3A0 */ cpu->r[17] = 0x00000000u; /* 0289F3A4 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F3A4 */ _t108 = _t107 & 0x00000001u; /* 0289F3A4 */ if (_t108) goto L_0289F3AC; else goto L_0289F3A8; L_0289F3A8: ; // 0x289f3a8 /* 0289F3A8 */ cpu->r[8] = 0x00000001u; L_0289F3AC: ; // 0x289f3ac /* 0289F3AC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[17] * (int32_t)0x00000024u); /* 0289F3B0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[17], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F3B4 */ cpu->ctr = cpu->r[8]; /* 0289F3B8 */ cpu->r[6] = cpu->r[22] + cpu->r[4]; /* 0289F3BC */ cpu->r[4] = cpu->r[29] + cpu->r[0]; /* 0289F3C0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu; /* 0289F3C4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFDCu; L_0289F3C8: ; // 0x289f3c8 /* 0289F3C8 */ _t109 = cpu->r[6] + 0x00000004u; /* 0289F3C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t109); /* 0289F3C8 */ cpu->r[6] = _t109; /* 0289F3CC */ _t110 = cpu->r[4] + 0x00000038u; /* 0289F3CC */ rbrew_write32(cpu->mem, _t110, cpu->r[5]); /* 0289F3D0 */ cpu->r[4] = cpu->r[4] + 0x00000024u; /* 0289F3D4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289F3D4 */ _t111 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289F3D4 */ _t112 = _t111 >> (0x00000002u & 31u); /* 0289F3D4 */ _t113 = _t112 & 0x00000001u; /* 0289F3D4 */ if (_t113) goto L_0289F3C8; else goto L_0289F3D8; L_0289F3D8: ; // 0x289f3d8 /* 0289F3D8 */ cpu->r[3] = 0x00000000u; /* 0289F3DC */ cpu->r[14] = cpu->r[14] + 0x00000001u; /* 0289F3E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F3E4 */ cpu->r[14] = rbrew_rlwinm(cpu->r[14], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F3E8 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F3E8 */ _t115 = _t114 & 0x00000001u; /* 0289F3E8 */ if (_t115) goto L_0289F45C; else goto L_0289F3EC; L_0289F3EC: ; // 0x289f3ec /* 0289F3EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[15]); /* 0289F3F0 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F3F0 */ _t117 = _t116 & 0x00000001u; /* 0289F3F0 */ if (_t117) goto L_0289F144; else goto L_0289F3F4; L_0289F3F4: ; // 0x289f3f4 /* 0289F3F4 */ /* nop */ /* 0289F3F8 */ _t118 = cpu->r[1] + 0x00000314u; /* 0289F3F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118); /* 0289F3FC */ cpu->lr = cpu->r[0]; /* 0289F400 */ cpu->r[1] = cpu->r[1] + 0x00000310u; /* 0289F404 */ return; L_0289F408: ; // 0x289f408 /* 0289F408 */ cpu->r[8] = 0x00000004u; /* 0289F40C */ cpu->r[6] = cpu->r[26] + 0xFFFFFFFCu; /* 0289F410 */ cpu->ctr = cpu->r[8]; /* 0289F414 */ cpu->r[7] = cpu->r[1] + 0x00000004u; L_0289F418: ; // 0x289f418 /* 0289F418 */ _t119 = cpu->r[6] + 0x00000004u; /* 0289F418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t119); /* 0289F41C */ _t120 = cpu->r[7] + 0x00000004u; /* 0289F41C */ rbrew_write32(cpu->mem, _t120, cpu->r[10]); /* 0289F420 */ _t121 = cpu->r[6] + 0x00000008u; /* 0289F420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t121); /* 0289F424 */ _t122 = cpu->r[7] + 0x00000008u; /* 0289F424 */ rbrew_write32(cpu->mem, _t122, cpu->r[12]); /* 0289F428 */ _t123 = cpu->r[6] + 0x0000000Cu; /* 0289F428 */ cpu->r[4] = rbrew_read32(cpu->mem, _t123); /* 0289F42C */ _t124 = cpu->r[7] + 0x0000000Cu; /* 0289F42C */ rbrew_write32(cpu->mem, _t124, cpu->r[4]); /* 0289F430 */ _t125 = cpu->r[6] + 0x00000010u; /* 0289F430 */ cpu->r[5] = rbrew_read32(cpu->mem, _t125); /* 0289F430 */ cpu->r[6] = _t125; /* 0289F434 */ _t126 = cpu->r[7] + 0x00000010u; /* 0289F434 */ rbrew_write32(cpu->mem, _t126, cpu->r[5]); /* 0289F434 */ cpu->r[7] = _t126; /* 0289F438 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0289F438 */ _t127 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0289F438 */ _t128 = _t127 >> (0x00000002u & 31u); /* 0289F438 */ _t129 = _t128 & 0x00000001u; /* 0289F438 */ if (_t129) goto L_0289F418; else goto L_0289F43C; L_0289F43C: ; // 0x289f43c /* 0289F43C */ cpu->r[3] = 0x00000000u; /* 0289F440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F444 */ cpu->r[14] = cpu->r[3]; /* 0289F448 */ _t130 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F448 */ _t131 = _t130 & 0x00000001u; /* 0289F448 */ if (_t131) goto L_0289F468; else goto L_0289F44C; L_0289F44C: ; // 0x289f44c /* 0289F44C */ goto L_0289F490; L_0289F450: ; // 0x289f450 /* 0289F450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000000u); /* 0289F454 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F454 */ _t133 = _t132 & 0x00000001u; /* 0289F454 */ if (_t133) goto L_0289F458; else goto L_0289F408; L_0289F458: ; // 0x289f458 /* 0289F458 */ goto L_0289F490; L_0289F45C: ; // 0x289f45c /* 0289F45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F460 */ cpu->r[14] = 0x00000000u; /* 0289F464 */ _t134 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F464 */ _t135 = _t134 & 0x00000001u; /* 0289F464 */ if (_t135) goto L_0289F468; else goto L_0289F490; L_0289F468: ; // 0x289f468 /* 0289F468 */ cpu->r[0] = cpu->r[1] + 0x000000C8u; L_0289F46C: ; // 0x289f46c /* 0289F46C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[14] * (int32_t)0x00000024u); /* 0289F470 */ cpu->r[8] = rbrew_rlwinm(cpu->r[14], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F474 */ cpu->r[14] = cpu->r[14] + 0x00000001u; /* 0289F478 */ _t136 = cpu->r[8] + cpu->r[0]; /* 0289F478 */ cpu->r[9] = rbrew_read32(cpu->mem, _t136); /* 0289F47C */ cpu->r[14] = rbrew_rlwinm(cpu->r[14], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F480 */ cpu->r[7] = cpu->r[29] + cpu->r[6]; /* 0289F484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[28]); /* 0289F488 */ _t137 = cpu->r[7] + 0x00000014u; /* 0289F488 */ rbrew_write32(cpu->mem, _t137, cpu->r[9]); /* 0289F48C */ _t138 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F48C */ _t139 = _t138 & 0x00000001u; /* 0289F48C */ if (_t139) goto L_0289F46C; else goto L_0289F490; L_0289F490: ; // 0x289f490 /* 0289F490 */ /* nop */ /* 0289F494 */ _t140 = cpu->r[1] + 0x00000314u; /* 0289F494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t140); /* 0289F498 */ cpu->lr = cpu->r[0]; /* 0289F49C */ cpu->r[1] = cpu->r[1] + 0x00000310u; /* 0289F4A0 */ return; } // fn_0289F4A4 @ 0x289f4a4 void Gambit_fn_0289F4A4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289F4A4: ; // 0x289f4a4 /* 0289F4A4 */ cpu->r[0] = cpu->lr; /* 0289F4A8 */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 0289F4A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289F4A8 */ cpu->r[1] = _t0; /* 0289F4AC */ _t1 = cpu->r[1] + 0x0000004Cu; /* 0289F4AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289F4B0 */ /* nop */ /* 0289F4B4 */ cpu->r[24] = cpu->r[4]; /* 0289F4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0289F4B8 */ cpu->r[25] = cpu->r[5]; /* 0289F4BC */ cpu->r[30] = cpu->r[3]; /* 0289F4C0 */ cpu->r[31] = cpu->r[24]; /* 0289F4C4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F4C4 */ _t3 = _t2 & 0x00000001u; /* 0289F4C4 */ if (_t3) goto L_0289F4C8; else goto L_0289F4E8; L_0289F4C8: ; // 0x289f4c8 /* 0289F4C8 */ cpu->r[5] = cpu->r[25] + 0xFFFFFFDCu; L_0289F4CC: ; // 0x289f4cc /* 0289F4CC */ _t4 = cpu->r[5] + 0x00000034u; /* 0289F4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 0289F4D0 */ _t5 = cpu->r[5] + 0x0000003Cu; /* 0289F4D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 0289F4D4 */ Gambit_fn_0289E974(cpu); /* 0289F4D8 */ _t6 = cpu->r[5] + 0x00000038u; /* 0289F4D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 0289F4DC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0289F4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289F4E0 */ cpu->r[5] = cpu->r[5] + 0x00000024u; /* 0289F4E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F4E4 */ _t8 = _t7 & 0x00000001u; /* 0289F4E4 */ if (_t8) goto L_0289F4E8; else goto L_0289F4CC; L_0289F4E8: ; // 0x289f4e8 /* 0289F4E8 */ cpu->r[0] = cpu->r[30] ^ 0x00000078u; /* 0289F4EC */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 0289F4F0 */ cpu->r[22] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289F4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 0289F4F4 */ _t9 = cpu->r[6] + 0x00000000u; /* 0289F4F4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t9); /* 0289F4F8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F4F8 */ _t11 = _t10 & 0x00000001u; /* 0289F4F8 */ if (_t11) goto L_0289F514; else goto L_0289F4FC; L_0289F4FC: ; // 0x289f4fc /* 0289F4FC */ cpu->r[23] = cpu->r[26]; /* 0289F500 */ cpu->r[28] = cpu->r[24]; /* 0289F500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F504 */ cpu->r[22] = 0x00000000u; /* 0289F508 */ _t12 = cpu->r[6] + 0x00000004u; /* 0289F508 */ cpu->r[26] = rbrew_read32(cpu->mem, _t12); /* 0289F50C */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F50C */ _t14 = _t13 & 0x00000001u; /* 0289F50C */ if (_t14) goto L_0289F510; else goto L_0289F6C4; L_0289F510: ; // 0x289f510 /* 0289F510 */ goto L_0289F524; L_0289F514: ; // 0x289f514 /* 0289F514 */ cpu->r[28] = cpu->r[24]; /* 0289F514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F518 */ cpu->r[22] = 0x00000000u; /* 0289F51C */ _t15 = cpu->r[6] + 0x00000004u; /* 0289F51C */ cpu->r[23] = rbrew_read32(cpu->mem, _t15); /* 0289F520 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F520 */ _t17 = _t16 & 0x00000001u; /* 0289F520 */ if (_t17) goto L_0289F524; else goto L_0289F6C4; L_0289F524: ; // 0x289f524 /* 0289F524 */ cpu->r[30] = cpu->r[25]; L_0289F528: ; // 0x289f528 /* 0289F528 */ cpu->r[27] = cpu->r[24]; /* 0289F528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0289F52C */ cpu->r[21] = 0x00000000u; /* 0289F530 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F530 */ _t19 = _t18 & 0x00000001u; /* 0289F530 */ if (_t19) goto L_0289F534; else goto L_0289F6B4; L_0289F534: ; // 0x289f534 /* 0289F534 */ cpu->r[29] = cpu->r[30]; /* 0289F538 */ cpu->r[31] = cpu->r[25]; L_0289F53C: ; // 0x289f53c /* 0289F53C */ _t20 = cpu->r[31] + 0x00000014u; /* 0289F53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289F540 */ _t21 = cpu->r[29] + 0x00000014u; /* 0289F540 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21); /* 0289F544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0289F548 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F548 */ _t23 = _t22 & 0x00000001u; /* 0289F548 */ if (_t23) goto L_0289F6A4; else goto L_0289F54C; L_0289F54C: ; // 0x289f54c /* 0289F54C */ _t24 = cpu->r[31] + 0x0000001Cu; /* 0289F54C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 0289F550 */ _t25 = cpu->r[29] + 0x00000020u; /* 0289F550 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 0289F554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]); /* 0289F558 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F558 */ _t27 = _t26 & 0x00000001u; /* 0289F558 */ if (_t27) goto L_0289F6A4; else goto L_0289F55C; L_0289F55C: ; // 0x289f55c /* 0289F55C */ _t28 = cpu->r[29] + 0x0000001Cu; /* 0289F55C */ cpu->r[5] = rbrew_read32(cpu->mem, _t28); /* 0289F560 */ _t29 = cpu->r[31] + 0x00000020u; /* 0289F560 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29); /* 0289F564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]); /* 0289F568 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F568 */ _t31 = _t30 & 0x00000001u; /* 0289F568 */ if (_t31) goto L_0289F6A4; else goto L_0289F56C; L_0289F56C: ; // 0x289f56c /* 0289F56C */ _t32 = cpu->r[29] + 0x00000018u; /* 0289F56C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 0289F570 */ /* nop */ /* 0289F574 */ cpu->r[7] = cpu->r[9]; /* 0289F578 */ _t33 = cpu->r[31] + 0x00000018u; /* 0289F578 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33); /* 0289F57C */ cpu->r[6] = cpu->r[10] + cpu->r[7]; /* 0289F580 */ /* nop */ /* 0289F584 */ cpu->r[10] = cpu->r[12]; /* 0289F588 */ cpu->r[0] = cpu->r[0] - cpu->r[10]; /* 0289F58C */ cpu->r[4] = cpu->r[0] - cpu->r[6]; /* 0289F590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000080u); /* 0289F594 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F594 */ _t35 = _t34 & 0x00000001u; /* 0289F594 */ if (_t35) goto L_0289F6A4; else goto L_0289F598; L_0289F598: ; // 0x289f598 /* 0289F598 */ cpu->r[7] = cpu->r[26]; /* 0289F59C */ cpu->r[6] = cpu->r[23]; /* 0289F5A0 */ cpu->r[5] = cpu->r[25]; /* 0289F5A4 */ cpu->r[4] = cpu->r[21]; /* 0289F5A8 */ cpu->r[3] = cpu->r[22]; /* 0289F5AC */ Gambit_fn_0289E8A8(cpu); /* 0289F5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F5B4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F5B4 */ _t37 = _t36 & 0x00000001u; /* 0289F5B4 */ if (_t37) goto L_0289F6A4; else goto L_0289F5B8; L_0289F5B8: ; // 0x289f5b8 /* 0289F5B8 */ cpu->r[5] = cpu->r[25]; /* 0289F5BC */ cpu->r[4] = cpu->r[21]; /* 0289F5C0 */ cpu->r[3] = cpu->r[22]; /* 0289F5C4 */ Gambit_fn_0289E9C4(cpu); /* 0289F5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F5CC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F5CC */ _t39 = _t38 & 0x00000001u; /* 0289F5CC */ if (_t39) goto L_0289F6A4; else goto L_0289F5D0; L_0289F5D0: ; // 0x289f5d0 /* 0289F5D0 */ cpu->r[8] = cpu->r[26]; /* 0289F5D4 */ cpu->r[7] = cpu->r[23]; /* 0289F5D8 */ cpu->r[6] = cpu->r[25]; /* 0289F5DC */ cpu->r[5] = cpu->r[24]; /* 0289F5E0 */ cpu->r[4] = cpu->r[21]; /* 0289F5E4 */ cpu->r[3] = cpu->r[22]; /* 0289F5E8 */ Gambit_fn_0289EB10(cpu); /* 0289F5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F5F0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F5F0 */ _t41 = _t40 & 0x00000001u; /* 0289F5F0 */ if (_t41) goto L_0289F5F4; else goto L_0289F6A4; L_0289F5F4: ; // 0x289f5f4 /* 0289F5F4 */ cpu->r[8] = cpu->r[26]; /* 0289F5F8 */ cpu->r[7] = cpu->r[23]; /* 0289F5FC */ cpu->r[6] = cpu->r[25]; /* 0289F600 */ cpu->r[5] = cpu->r[24]; /* 0289F604 */ cpu->r[4] = cpu->r[21]; /* 0289F608 */ cpu->r[3] = cpu->r[22]; /* 0289F60C */ Gambit_fn_0289F004(cpu); /* 0289F610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F614 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F614 */ _t43 = _t42 & 0x00000001u; /* 0289F614 */ if (_t43) goto L_0289F618; else goto L_0289F6A4; L_0289F618: ; // 0x289f618 /* 0289F618 */ _t44 = cpu->r[29] + 0x00000018u; /* 0289F618 */ cpu->r[17] = rbrew_read32(cpu->mem, _t44); /* 0289F61C */ _t45 = cpu->r[29] + 0x00000014u; /* 0289F61C */ cpu->r[19] = rbrew_read32(cpu->mem, _t45); /* 0289F620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000036u); /* 0289F624 */ _t46 = cpu->r[31] + 0x00000018u; /* 0289F624 */ cpu->r[18] = rbrew_read32(cpu->mem, _t46); /* 0289F628 */ _t47 = cpu->r[31] + 0x00000014u; /* 0289F628 */ cpu->r[20] = rbrew_read32(cpu->mem, _t47); /* 0289F62C */ _t48 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F62C */ _t49 = _t48 & 0x00000001u; /* 0289F62C */ if (_t49) goto L_0289F63C; else goto L_0289F630; L_0289F630: ; // 0x289f630 /* 0289F630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000036u); /* 0289F634 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F634 */ _t51 = _t50 & 0x00000001u; /* 0289F634 */ if (_t51) goto L_0289F638; else goto L_0289F6A4; L_0289F638: ; // 0x289f638 /* 0289F638 */ goto L_0289F660; L_0289F63C: ; // 0x289f63c /* 0289F63C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[17] * (int32_t)0x00000007u); /* 0289F640 */ cpu->r[7] = cpu->r[5] + 0x00000004u; /* 0289F644 */ /* nop */ /* 0289F648 */ cpu->r[3] = cpu->r[19]; /* 0289F64C */ _t52 = cpu->r[29] + 0x00000018u; /* 0289F64C */ rbrew_write32(cpu->mem, _t52, cpu->r[4]); /* 0289F650 */ Gambit_fn_0289E974(cpu); /* 0289F654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000036u); /* 0289F658 */ _t53 = cpu->r[29] + 0x00000014u; /* 0289F658 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]); /* 0289F65C */ _t54 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F65C */ _t55 = _t54 & 0x00000001u; /* 0289F65C */ if (_t55) goto L_0289F660; else goto L_0289F67C; L_0289F660: ; // 0x289f660 /* 0289F660 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[18] * (int32_t)0x00000007u); /* 0289F664 */ cpu->r[0] = cpu->r[8] + 0x00000004u; /* 0289F668 */ /* nop */ /* 0289F66C */ cpu->r[3] = cpu->r[20]; /* 0289F670 */ _t56 = cpu->r[31] + 0x00000018u; /* 0289F670 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]); /* 0289F674 */ Gambit_fn_0289E974(cpu); /* 0289F678 */ _t57 = cpu->r[31] + 0x00000014u; /* 0289F678 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]); L_0289F67C: ; // 0x289f67c /* 0289F67C */ cpu->r[5] = cpu->r[25]; /* 0289F680 */ cpu->r[4] = cpu->r[21]; /* 0289F684 */ cpu->r[3] = cpu->r[22]; /* 0289F688 */ Gambit_fn_0289E9C4(cpu); /* 0289F68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F690 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F690 */ _t59 = _t58 & 0x00000001u; /* 0289F690 */ if (_t59) goto L_0289F6A4; else goto L_0289F694; L_0289F694: ; // 0x289f694 /* 0289F694 */ _t60 = cpu->r[29] + 0x00000014u; /* 0289F694 */ rbrew_write32(cpu->mem, _t60, cpu->r[19]); /* 0289F698 */ _t61 = cpu->r[31] + 0x00000014u; /* 0289F698 */ rbrew_write32(cpu->mem, _t61, cpu->r[20]); /* 0289F69C */ _t62 = cpu->r[29] + 0x00000018u; /* 0289F69C */ rbrew_write32(cpu->mem, _t62, cpu->r[17]); /* 0289F6A0 */ _t63 = cpu->r[31] + 0x00000018u; /* 0289F6A0 */ rbrew_write32(cpu->mem, _t63, cpu->r[18]); L_0289F6A4: ; // 0x289f6a4 /* 0289F6A4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 0289F6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0289F6A8 */ cpu->r[21] = cpu->r[21] + 0x00000001u; /* 0289F6AC */ cpu->r[31] = cpu->r[31] + 0x00000024u; /* 0289F6B0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F6B0 */ _t65 = _t64 & 0x00000001u; /* 0289F6B0 */ if (_t65) goto L_0289F6B4; else goto L_0289F53C; L_0289F6B4: ; // 0x289f6b4 /* 0289F6B4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0289F6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F6B8 */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 0289F6BC */ cpu->r[30] = cpu->r[30] + 0x00000024u; /* 0289F6C0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F6C0 */ _t67 = _t66 & 0x00000001u; /* 0289F6C0 */ if (_t67) goto L_0289F6C4; else goto L_0289F528; L_0289F6C4: ; // 0x289f6c4 /* 0289F6C4 */ /* nop */ /* 0289F6C8 */ _t68 = cpu->r[1] + 0x0000004Cu; /* 0289F6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68); /* 0289F6CC */ cpu->lr = cpu->r[0]; /* 0289F6D0 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 0289F6D4 */ return; } // fn_0289F4A8 @ 0x289f4a8 void Gambit_fn_0289F4A8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_0289F4A8: ; // 0x289f4a8 /* 0289F4A8 */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 0289F4A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289F4A8 */ cpu->r[1] = _t0; /* 0289F4AC */ _t1 = cpu->r[1] + 0x0000004Cu; /* 0289F4AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289F4B0 */ /* nop */ /* 0289F4B4 */ cpu->r[24] = cpu->r[4]; /* 0289F4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0289F4B8 */ cpu->r[25] = cpu->r[5]; /* 0289F4BC */ cpu->r[30] = cpu->r[3]; /* 0289F4C0 */ cpu->r[31] = cpu->r[24]; /* 0289F4C4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F4C4 */ _t3 = _t2 & 0x00000001u; /* 0289F4C4 */ if (_t3) goto L_0289F4C8; else goto L_0289F4E8; L_0289F4C8: ; // 0x289f4c8 /* 0289F4C8 */ cpu->r[5] = cpu->r[25] + 0xFFFFFFDCu; L_0289F4CC: ; // 0x289f4cc /* 0289F4CC */ _t4 = cpu->r[5] + 0x00000034u; /* 0289F4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 0289F4D0 */ _t5 = cpu->r[5] + 0x0000003Cu; /* 0289F4D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 0289F4D4 */ Gambit_fn_0289E974(cpu); /* 0289F4D8 */ _t6 = cpu->r[5] + 0x00000038u; /* 0289F4D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 0289F4DC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0289F4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289F4E0 */ cpu->r[5] = cpu->r[5] + 0x00000024u; /* 0289F4E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F4E4 */ _t8 = _t7 & 0x00000001u; /* 0289F4E4 */ if (_t8) goto L_0289F4E8; else goto L_0289F4CC; L_0289F4E8: ; // 0x289f4e8 /* 0289F4E8 */ cpu->r[0] = cpu->r[30] ^ 0x00000078u; /* 0289F4EC */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 0289F4F0 */ cpu->r[22] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0289F4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 0289F4F4 */ _t9 = cpu->r[6] + 0x00000000u; /* 0289F4F4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t9); /* 0289F4F8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F4F8 */ _t11 = _t10 & 0x00000001u; /* 0289F4F8 */ if (_t11) goto L_0289F514; else goto L_0289F4FC; L_0289F4FC: ; // 0x289f4fc /* 0289F4FC */ cpu->r[23] = cpu->r[26]; /* 0289F500 */ cpu->r[28] = cpu->r[24]; /* 0289F500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F504 */ cpu->r[22] = 0x00000000u; /* 0289F508 */ _t12 = cpu->r[6] + 0x00000004u; /* 0289F508 */ cpu->r[26] = rbrew_read32(cpu->mem, _t12); /* 0289F50C */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F50C */ _t14 = _t13 & 0x00000001u; /* 0289F50C */ if (_t14) goto L_0289F510; else goto L_0289F6C4; L_0289F510: ; // 0x289f510 /* 0289F510 */ goto L_0289F524; L_0289F514: ; // 0x289f514 /* 0289F514 */ cpu->r[28] = cpu->r[24]; /* 0289F514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F518 */ cpu->r[22] = 0x00000000u; /* 0289F51C */ _t15 = cpu->r[6] + 0x00000004u; /* 0289F51C */ cpu->r[23] = rbrew_read32(cpu->mem, _t15); /* 0289F520 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F520 */ _t17 = _t16 & 0x00000001u; /* 0289F520 */ if (_t17) goto L_0289F524; else goto L_0289F6C4; L_0289F524: ; // 0x289f524 /* 0289F524 */ cpu->r[30] = cpu->r[25]; L_0289F528: ; // 0x289f528 /* 0289F528 */ cpu->r[27] = cpu->r[24]; /* 0289F528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0289F52C */ cpu->r[21] = 0x00000000u; /* 0289F530 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F530 */ _t19 = _t18 & 0x00000001u; /* 0289F530 */ if (_t19) goto L_0289F534; else goto L_0289F6B4; L_0289F534: ; // 0x289f534 /* 0289F534 */ cpu->r[29] = cpu->r[30]; /* 0289F538 */ cpu->r[31] = cpu->r[25]; L_0289F53C: ; // 0x289f53c /* 0289F53C */ _t20 = cpu->r[31] + 0x00000014u; /* 0289F53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0289F540 */ _t21 = cpu->r[29] + 0x00000014u; /* 0289F540 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21); /* 0289F544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0289F548 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F548 */ _t23 = _t22 & 0x00000001u; /* 0289F548 */ if (_t23) goto L_0289F6A4; else goto L_0289F54C; L_0289F54C: ; // 0x289f54c /* 0289F54C */ _t24 = cpu->r[31] + 0x0000001Cu; /* 0289F54C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 0289F550 */ _t25 = cpu->r[29] + 0x00000020u; /* 0289F550 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 0289F554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]); /* 0289F558 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F558 */ _t27 = _t26 & 0x00000001u; /* 0289F558 */ if (_t27) goto L_0289F6A4; else goto L_0289F55C; L_0289F55C: ; // 0x289f55c /* 0289F55C */ _t28 = cpu->r[29] + 0x0000001Cu; /* 0289F55C */ cpu->r[5] = rbrew_read32(cpu->mem, _t28); /* 0289F560 */ _t29 = cpu->r[31] + 0x00000020u; /* 0289F560 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29); /* 0289F564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]); /* 0289F568 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F568 */ _t31 = _t30 & 0x00000001u; /* 0289F568 */ if (_t31) goto L_0289F6A4; else goto L_0289F56C; L_0289F56C: ; // 0x289f56c /* 0289F56C */ _t32 = cpu->r[29] + 0x00000018u; /* 0289F56C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 0289F570 */ /* nop */ /* 0289F574 */ cpu->r[7] = cpu->r[9]; /* 0289F578 */ _t33 = cpu->r[31] + 0x00000018u; /* 0289F578 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33); /* 0289F57C */ cpu->r[6] = cpu->r[10] + cpu->r[7]; /* 0289F580 */ /* nop */ /* 0289F584 */ cpu->r[10] = cpu->r[12]; /* 0289F588 */ cpu->r[0] = cpu->r[0] - cpu->r[10]; /* 0289F58C */ cpu->r[4] = cpu->r[0] - cpu->r[6]; /* 0289F590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000080u); /* 0289F594 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F594 */ _t35 = _t34 & 0x00000001u; /* 0289F594 */ if (_t35) goto L_0289F6A4; else goto L_0289F598; L_0289F598: ; // 0x289f598 /* 0289F598 */ cpu->r[7] = cpu->r[26]; /* 0289F59C */ cpu->r[6] = cpu->r[23]; /* 0289F5A0 */ cpu->r[5] = cpu->r[25]; /* 0289F5A4 */ cpu->r[4] = cpu->r[21]; /* 0289F5A8 */ cpu->r[3] = cpu->r[22]; /* 0289F5AC */ Gambit_fn_0289E8A8(cpu); /* 0289F5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F5B4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F5B4 */ _t37 = _t36 & 0x00000001u; /* 0289F5B4 */ if (_t37) goto L_0289F6A4; else goto L_0289F5B8; L_0289F5B8: ; // 0x289f5b8 /* 0289F5B8 */ cpu->r[5] = cpu->r[25]; /* 0289F5BC */ cpu->r[4] = cpu->r[21]; /* 0289F5C0 */ cpu->r[3] = cpu->r[22]; /* 0289F5C4 */ Gambit_fn_0289E9C4(cpu); /* 0289F5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F5CC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F5CC */ _t39 = _t38 & 0x00000001u; /* 0289F5CC */ if (_t39) goto L_0289F6A4; else goto L_0289F5D0; L_0289F5D0: ; // 0x289f5d0 /* 0289F5D0 */ cpu->r[8] = cpu->r[26]; /* 0289F5D4 */ cpu->r[7] = cpu->r[23]; /* 0289F5D8 */ cpu->r[6] = cpu->r[25]; /* 0289F5DC */ cpu->r[5] = cpu->r[24]; /* 0289F5E0 */ cpu->r[4] = cpu->r[21]; /* 0289F5E4 */ cpu->r[3] = cpu->r[22]; /* 0289F5E8 */ Gambit_fn_0289EB10(cpu); /* 0289F5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F5F0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F5F0 */ _t41 = _t40 & 0x00000001u; /* 0289F5F0 */ if (_t41) goto L_0289F5F4; else goto L_0289F6A4; L_0289F5F4: ; // 0x289f5f4 /* 0289F5F4 */ cpu->r[8] = cpu->r[26]; /* 0289F5F8 */ cpu->r[7] = cpu->r[23]; /* 0289F5FC */ cpu->r[6] = cpu->r[25]; /* 0289F600 */ cpu->r[5] = cpu->r[24]; /* 0289F604 */ cpu->r[4] = cpu->r[21]; /* 0289F608 */ cpu->r[3] = cpu->r[22]; /* 0289F60C */ Gambit_fn_0289F004(cpu); /* 0289F610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F614 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F614 */ _t43 = _t42 & 0x00000001u; /* 0289F614 */ if (_t43) goto L_0289F618; else goto L_0289F6A4; L_0289F618: ; // 0x289f618 /* 0289F618 */ _t44 = cpu->r[29] + 0x00000018u; /* 0289F618 */ cpu->r[17] = rbrew_read32(cpu->mem, _t44); /* 0289F61C */ _t45 = cpu->r[29] + 0x00000014u; /* 0289F61C */ cpu->r[19] = rbrew_read32(cpu->mem, _t45); /* 0289F620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000036u); /* 0289F624 */ _t46 = cpu->r[31] + 0x00000018u; /* 0289F624 */ cpu->r[18] = rbrew_read32(cpu->mem, _t46); /* 0289F628 */ _t47 = cpu->r[31] + 0x00000014u; /* 0289F628 */ cpu->r[20] = rbrew_read32(cpu->mem, _t47); /* 0289F62C */ _t48 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F62C */ _t49 = _t48 & 0x00000001u; /* 0289F62C */ if (_t49) goto L_0289F63C; else goto L_0289F630; L_0289F630: ; // 0x289f630 /* 0289F630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000036u); /* 0289F634 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F634 */ _t51 = _t50 & 0x00000001u; /* 0289F634 */ if (_t51) goto L_0289F638; else goto L_0289F6A4; L_0289F638: ; // 0x289f638 /* 0289F638 */ goto L_0289F660; L_0289F63C: ; // 0x289f63c /* 0289F63C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[17] * (int32_t)0x00000007u); /* 0289F640 */ cpu->r[7] = cpu->r[5] + 0x00000004u; /* 0289F644 */ /* nop */ /* 0289F648 */ cpu->r[3] = cpu->r[19]; /* 0289F64C */ _t52 = cpu->r[29] + 0x00000018u; /* 0289F64C */ rbrew_write32(cpu->mem, _t52, cpu->r[4]); /* 0289F650 */ Gambit_fn_0289E974(cpu); /* 0289F654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000036u); /* 0289F658 */ _t53 = cpu->r[29] + 0x00000014u; /* 0289F658 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]); /* 0289F65C */ _t54 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F65C */ _t55 = _t54 & 0x00000001u; /* 0289F65C */ if (_t55) goto L_0289F660; else goto L_0289F67C; L_0289F660: ; // 0x289f660 /* 0289F660 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[18] * (int32_t)0x00000007u); /* 0289F664 */ cpu->r[0] = cpu->r[8] + 0x00000004u; /* 0289F668 */ /* nop */ /* 0289F66C */ cpu->r[3] = cpu->r[20]; /* 0289F670 */ _t56 = cpu->r[31] + 0x00000018u; /* 0289F670 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]); /* 0289F674 */ Gambit_fn_0289E974(cpu); /* 0289F678 */ _t57 = cpu->r[31] + 0x00000014u; /* 0289F678 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]); L_0289F67C: ; // 0x289f67c /* 0289F67C */ cpu->r[5] = cpu->r[25]; /* 0289F680 */ cpu->r[4] = cpu->r[21]; /* 0289F684 */ cpu->r[3] = cpu->r[22]; /* 0289F688 */ Gambit_fn_0289E9C4(cpu); /* 0289F68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289F690 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F690 */ _t59 = _t58 & 0x00000001u; /* 0289F690 */ if (_t59) goto L_0289F6A4; else goto L_0289F694; L_0289F694: ; // 0x289f694 /* 0289F694 */ _t60 = cpu->r[29] + 0x00000014u; /* 0289F694 */ rbrew_write32(cpu->mem, _t60, cpu->r[19]); /* 0289F698 */ _t61 = cpu->r[31] + 0x00000014u; /* 0289F698 */ rbrew_write32(cpu->mem, _t61, cpu->r[20]); /* 0289F69C */ _t62 = cpu->r[29] + 0x00000018u; /* 0289F69C */ rbrew_write32(cpu->mem, _t62, cpu->r[17]); /* 0289F6A0 */ _t63 = cpu->r[31] + 0x00000018u; /* 0289F6A0 */ rbrew_write32(cpu->mem, _t63, cpu->r[18]); L_0289F6A4: ; // 0x289f6a4 /* 0289F6A4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 0289F6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0289F6A8 */ cpu->r[21] = cpu->r[21] + 0x00000001u; /* 0289F6AC */ cpu->r[31] = cpu->r[31] + 0x00000024u; /* 0289F6B0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F6B0 */ _t65 = _t64 & 0x00000001u; /* 0289F6B0 */ if (_t65) goto L_0289F6B4; else goto L_0289F53C; L_0289F6B4: ; // 0x289f6b4 /* 0289F6B4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0289F6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0289F6B8 */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 0289F6BC */ cpu->r[30] = cpu->r[30] + 0x00000024u; /* 0289F6C0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F6C0 */ _t67 = _t66 & 0x00000001u; /* 0289F6C0 */ if (_t67) goto L_0289F6C4; else goto L_0289F528; L_0289F6C4: ; // 0x289f6c4 /* 0289F6C4 */ /* nop */ /* 0289F6C8 */ _t68 = cpu->r[1] + 0x0000004Cu; /* 0289F6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68); /* 0289F6CC */ cpu->lr = cpu->r[0]; /* 0289F6D0 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 0289F6D4 */ return; } // fn_0289F6D8 @ 0x289f6d8 void Gambit_fn_0289F6D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289F6D8: ; // 0x289f6d8 /* 0289F6D8 */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 0289F6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289F6D8 */ cpu->r[1] = _t0; /* 0289F6DC */ /* nop */ /* 0289F6E0 */ _t1 = cpu->r[5] + 0x00000000u; /* 0289F6E0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t1); /* 0289F6E4 */ _t2 = cpu->r[5] + 0x00000020u; /* 0289F6E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2); /* 0289F6E8 */ cpu->r[12] = 0x00000000u; /* 0289F6EC */ _t3 = cpu->r[5] + 0x00000028u; /* 0289F6EC */ cpu->r[30] = rbrew_read16(cpu->mem, _t3); /* 0289F6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000078u); /* 0289F6F4 */ _t4 = cpu->r[5] + 0x0000001Cu; /* 0289F6F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4); /* 0289F6F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F6F8 */ _t6 = _t5 & 0x00000001u; /* 0289F6F8 */ if (_t6) goto L_0289F6FC; else goto L_0289F714; L_0289F6FC: ; // 0x289f6fc /* 0289F6FC */ cpu->r[26] = 0x00000000u; /* 0289F700 */ cpu->r[3] = cpu->r[27]; /* 0289F704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]); /* 0289F708 */ _t7 = cpu->r[5] + 0x00000004u; /* 0289F708 */ cpu->r[27] = rbrew_read32(cpu->mem, _t7); /* 0289F70C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F70C */ _t9 = _t8 & 0x00000001u; /* 0289F70C */ if (_t9) goto L_0289F710; else goto L_0289FABC; L_0289F710: ; // 0x289f710 /* 0289F710 */ goto L_0289F724; L_0289F714: ; // 0x289f714 /* 0289F714 */ cpu->r[26] = 0x00000000u; /* 0289F718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]); /* 0289F71C */ _t10 = cpu->r[5] + 0x00000004u; /* 0289F71C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0289F720 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F720 */ _t12 = _t11 & 0x00000001u; /* 0289F720 */ if (_t12) goto L_0289F724; else goto L_0289FABC; L_0289F724: ; // 0x289f724 /* 0289F724 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Cu); /* 0289F728 */ cpu->r[31] = cpu->r[4] + cpu->r[11]; L_0289F72C: ; // 0x289f72c /* 0289F72C */ cpu->r[5] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289F730 */ _t13 = cpu->r[28] + cpu->r[5]; /* 0289F730 */ cpu->r[11] = rbrew_read16(cpu->mem, _t13); /* 0289F734 */ _t14 = cpu->r[29] + cpu->r[5]; /* 0289F734 */ cpu->r[6] = rbrew_read16(cpu->mem, _t14); /* 0289F738 */ cpu->r[9] = cpu->r[11]; /* 0289F73C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]); /* 0289F740 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F740 */ _t16 = _t15 & 0x00000001u; /* 0289F740 */ if (_t16) goto L_0289F90C; else goto L_0289F744; L_0289F744: ; // 0x289f744 /* 0289F744 */ cpu->r[10] = cpu->r[6]; /* 0289F748 */ cpu->r[23] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F74C */ cpu->r[24] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F750 */ _t17 = cpu->r[23] + cpu->r[3]; /* 0289F750 */ cpu->r[23] = rbrew_read32(cpu->mem, _t17); /* 0289F754 */ _t18 = cpu->r[24] + cpu->r[3]; /* 0289F754 */ cpu->r[24] = rbrew_read32(cpu->mem, _t18); /* 0289F758 */ cpu->r[23] = cpu->r[23] - cpu->r[24]; /* 0289F75C */ /* nop */ /* 0289F760 */ cpu->r[23] = cpu->r[23] ^ cpu->r[24]; /* 0289F764 */ cpu->r[23] = cpu->r[23] - cpu->r[24]; /* 0289F768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000003u); /* 0289F76C */ cpu->r[25] = cpu->r[10]; /* 0289F770 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F770 */ _t20 = _t19 & 0x00000001u; /* 0289F770 */ if (_t20) goto L_0289F784; else goto L_0289F774; L_0289F774: ; // 0x289f774 /* 0289F774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]); /* 0289F778 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F778 */ _t22 = _t21 & 0x00000001u; /* 0289F778 */ if (_t22) goto L_0289F780; else goto L_0289F77C; L_0289F77C: ; // 0x289f77c /* 0289F77C */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu; L_0289F780: ; // 0x289f780 /* 0289F780 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu); L_0289F784: ; // 0x289f784 /* 0289F784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]); /* 0289F788 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F788 */ _t24 = _t23 & 0x00000001u; /* 0289F788 */ if (_t24) goto L_0289F78C; else goto L_0289F90C; L_0289F78C: ; // 0x289f78c /* 0289F78C */ cpu->r[24] = 0x00000000u; /* 0289F790 */ cpu->r[6] = cpu->r[31]; L_0289F794: ; // 0x289f794 /* 0289F794 */ cpu->r[23] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F798 */ cpu->r[21] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F79C */ cpu->r[23] = cpu->r[3] + cpu->r[23]; /* 0289F7A0 */ _t25 = cpu->r[3] + cpu->r[21]; /* 0289F7A0 */ cpu->r[19] = rbrew_read32(cpu->mem, _t25); /* 0289F7A4 */ _t26 = cpu->r[23] + 0x00000004u; /* 0289F7A4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t26); /* 0289F7A8 */ cpu->r[22] = cpu->r[23] - cpu->r[19]; /* 0289F7AC */ /* nop */ /* 0289F7B0 */ cpu->r[22] = cpu->r[22] ^ cpu->r[23]; /* 0289F7B4 */ cpu->r[22] = cpu->r[22] - cpu->r[23]; /* 0289F7B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000003u); /* 0289F7BC */ cpu->r[11] = cpu->r[3] + cpu->r[21]; /* 0289F7C0 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F7C0 */ _t28 = _t27 & 0x00000001u; /* 0289F7C0 */ if (_t28) goto L_0289F7FC; else goto L_0289F7C4; L_0289F7C4: ; // 0x289f7c4 /* 0289F7C4 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289F7C8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F7CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]); /* 0289F7D0 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F7D0 */ _t30 = _t29 & 0x00000001u; /* 0289F7D0 */ if (_t30) goto L_0289F7D4; else goto L_0289F7FC; L_0289F7D4: ; // 0x289f7d4 /* 0289F7D4 */ cpu->r[22] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F7D8 */ _t31 = cpu->r[11] + 0x00000000u; /* 0289F7D8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t31); /* 0289F7DC */ cpu->r[20] = cpu->r[3] + cpu->r[22]; /* 0289F7E0 */ _t32 = cpu->r[20] + 0x00000004u; /* 0289F7E0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t32); /* 0289F7E4 */ cpu->r[20] = cpu->r[22] - cpu->r[23]; /* 0289F7E8 */ /* nop */ /* 0289F7EC */ cpu->r[22] = cpu->r[20] ^ cpu->r[23]; /* 0289F7F0 */ cpu->r[22] = cpu->r[22] - cpu->r[23]; /* 0289F7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000003u); /* 0289F7F8 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F7F8 */ _t34 = _t33 & 0x00000001u; /* 0289F7F8 */ if (_t34) goto L_0289F7FC; else goto L_0289F7C4; L_0289F7FC: ; // 0x289f7fc /* 0289F7FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[25]); /* 0289F800 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F800 */ _t36 = _t35 & 0x00000001u; /* 0289F800 */ if (_t36) goto L_0289F8F8; else goto L_0289F804; L_0289F804: ; // 0x289f804 /* 0289F804 */ cpu->r[22] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F808 */ _t37 = cpu->r[3] + cpu->r[22]; /* 0289F808 */ cpu->r[23] = rbrew_read32(cpu->mem, _t37); /* 0289F80C */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 0289F810 */ cpu->r[23] = cpu->r[19] + cpu->r[23]; /* 0289F814 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0289F818 */ /* nop */ /* 0289F81C */ cpu->r[23] = cpu->r[6]; /* 0289F820 */ _t38 = cpu->r[23] + 0x00000002u; /* 0289F820 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[25]); /* 0289F824 */ _t39 = cpu->r[23] + 0x00000000u; /* 0289F824 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[10]); /* 0289F828 */ cpu->r[20] = cpu->r[20]; /* 0289F82C */ _t40 = cpu->r[23] + 0x00000004u; /* 0289F82C */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[26]); /* 0289F830 */ _t41 = cpu->r[23] + 0x00000008u; /* 0289F830 */ rbrew_write32(cpu->mem, _t41, cpu->r[24]); /* 0289F834 */ _t42 = cpu->r[11] + 0x00000000u; /* 0289F834 */ rbrew_write32(cpu->mem, _t42, cpu->r[20]); /* 0289F838 */ _t43 = cpu->r[3] + cpu->r[22]; /* 0289F838 */ rbrew_write32(cpu->mem, _t43, cpu->r[20]); /* 0289F83C */ _t44 = cpu->r[28] + cpu->r[5]; /* 0289F83C */ cpu->r[11] = rbrew_read16(cpu->mem, _t44); /* 0289F840 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 0289F844 */ cpu->r[6] = cpu->r[6] + 0x0000000Cu; /* 0289F848 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F848 */ _t46 = _t45 & 0x00000001u; /* 0289F848 */ if (_t46) goto L_0289F84C; else goto L_0289F85C; L_0289F84C: ; // 0x289f84c /* 0289F84C */ _t47 = cpu->r[29] + cpu->r[5]; /* 0289F84C */ cpu->r[11] = rbrew_read16(cpu->mem, _t47); /* 0289F850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[25]); /* 0289F854 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F854 */ _t49 = _t48 & 0x00000001u; /* 0289F854 */ if (_t49) goto L_0289F8D4; else goto L_0289F858; L_0289F858: ; // 0x289f858 /* 0289F858 */ goto L_0289F86C; L_0289F85C: ; // 0x289f85c /* 0289F85C */ cpu->r[11] = cpu->r[10] + 0x00000001u; /* 0289F860 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[25]); /* 0289F868 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F868 */ _t51 = _t50 & 0x00000001u; /* 0289F868 */ if (_t51) goto L_0289F8D4; else goto L_0289F86C; L_0289F86C: ; // 0x289f86c /* 0289F86C */ _t52 = cpu->r[7] + 0x00000000u; /* 0289F86C */ cpu->r[19] = rbrew_read32(cpu->mem, _t52); /* 0289F870 */ cpu->r[24] = 0x00000000u; L_0289F874: ; // 0x289f874 /* 0289F874 */ _t53 = cpu->r[19] + 0x00000004u; /* 0289F874 */ rbrew_write32(cpu->mem, _t53, cpu->r[24]); /* 0289F878 */ _t54 = cpu->r[19] + 0x00000000u; /* 0289F878 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[11]); /* 0289F87C */ _t55 = cpu->r[7] + 0x00000000u; /* 0289F87C */ cpu->r[10] = rbrew_read32(cpu->mem, _t55); /* 0289F880 */ cpu->r[10] = cpu->r[10] + 0x00000008u; /* 0289F884 */ _t56 = cpu->r[7] + 0x00000000u; /* 0289F884 */ rbrew_write32(cpu->mem, _t56, cpu->r[10]); /* 0289F888 */ _t57 = cpu->r[23] + 0x00000008u; /* 0289F888 */ cpu->r[18] = rbrew_read32(cpu->mem, _t57); /* 0289F88C */ _t58 = cpu->r[19] + 0x00000004u; /* 0289F88C */ rbrew_write32(cpu->mem, _t58, cpu->r[18]); /* 0289F890 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F894 */ _t59 = cpu->r[23] + 0x00000008u; /* 0289F894 */ rbrew_write32(cpu->mem, _t59, cpu->r[19]); /* 0289F898 */ _t60 = cpu->r[10] + cpu->r[3]; /* 0289F898 */ rbrew_write32(cpu->mem, _t60, cpu->r[20]); /* 0289F89C */ _t61 = cpu->r[7] + 0x00000000u; /* 0289F89C */ cpu->r[19] = rbrew_read32(cpu->mem, _t61); /* 0289F8A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[8]); /* 0289F8A4 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F8A4 */ _t63 = _t62 & 0x00000001u; /* 0289F8A4 */ if (_t63) goto L_0289F8A8; else goto L_0289F8D4; L_0289F8A8: ; // 0x289f8a8 /* 0289F8A8 */ _t64 = cpu->r[28] + cpu->r[5]; /* 0289F8A8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t64); /* 0289F8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]); /* 0289F8B0 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F8B0 */ _t66 = _t65 & 0x00000001u; /* 0289F8B0 */ if (_t66) goto L_0289F8B4; else goto L_0289F8C4; L_0289F8B4: ; // 0x289f8b4 /* 0289F8B4 */ _t67 = cpu->r[29] + cpu->r[5]; /* 0289F8B4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t67); /* 0289F8B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[25]); /* 0289F8BC */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F8BC */ _t69 = _t68 & 0x00000001u; /* 0289F8BC */ if (_t69) goto L_0289F8C0; else goto L_0289F874; L_0289F8C0: ; // 0x289f8c0 /* 0289F8C0 */ goto L_0289F8D4; L_0289F8C4: ; // 0x289f8c4 /* 0289F8C4 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0289F8C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F8CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[25]); /* 0289F8D0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F8D0 */ _t71 = _t70 & 0x00000001u; /* 0289F8D0 */ if (_t71) goto L_0289F8D4; else goto L_0289F874; L_0289F8D4: ; // 0x289f8d4 /* 0289F8D4 */ _t72 = cpu->r[27] + cpu->r[22]; /* 0289F8D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72); /* 0289F8D8 */ _t73 = cpu->r[27] + cpu->r[21]; /* 0289F8D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73); /* 0289F8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]); /* 0289F8E0 */ cpu->r[11] = 0xFFFFFFFFu; /* 0289F8E4 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F8E4 */ _t75 = _t74 & 0x00000001u; /* 0289F8E4 */ if (_t75) goto L_0289F8E8; else goto L_0289F8EC; L_0289F8E8: ; // 0x289f8e8 /* 0289F8E8 */ cpu->r[11] = 0x00000001u; L_0289F8EC: ; // 0x289f8ec /* 0289F8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000080u); /* 0289F8F0 */ _t76 = cpu->r[23] + 0x00000006u; /* 0289F8F0 */ rbrew_write16(cpu->mem, _t76, (uint16_t)cpu->r[11]); /* 0289F8F4 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F8F4 */ _t78 = _t77 & 0x00000001u; /* 0289F8F4 */ if (_t78) goto L_0289F90C; else goto L_0289F8F8; L_0289F8F8: ; // 0x289f8f8 /* 0289F8F8 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289F8FC */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]); /* 0289F904 */ cpu->r[10] = cpu->r[25]; /* 0289F908 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F908 */ _t80 = _t79 & 0x00000001u; /* 0289F908 */ if (_t80) goto L_0289F794; else goto L_0289F90C; L_0289F90C: ; // 0x289f90c /* 0289F90C */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289F910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000080u); /* 0289F914 */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289F918 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F918 */ _t82 = _t81 & 0x00000001u; /* 0289F918 */ if (_t82) goto L_0289F948; else goto L_0289F91C; L_0289F91C: ; // 0x289f91c /* 0289F91C */ _t83 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F91C */ _t84 = _t83 & 0x00000001u; /* 0289F91C */ if (_t84) goto L_0289F920; else goto L_0289F934; L_0289F920: ; // 0x289f920 /* 0289F920 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]); /* 0289F924 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F924 */ _t86 = _t85 & 0x00000001u; /* 0289F924 */ if (_t86) goto L_0289F72C; else goto L_0289F928; L_0289F928: ; // 0x289f928 /* 0289F928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289F92C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F92C */ _t88 = _t87 & 0x00000001u; /* 0289F92C */ if (_t88) goto L_0289FABC; else goto L_0289F930; L_0289F930: ; // 0x289f930 /* 0289F930 */ goto L_0289F950; L_0289F934: ; // 0x289f934 /* 0289F934 */ cpu->r[12] = 0x0000007Fu; /* 0289F938 */ cpu->r[31] = 0x0000007Eu; /* 0289F93C */ cpu->r[6] = cpu->r[4]; /* 0289F940 */ cpu->r[7] = 0x00000000u; /* 0289F944 */ goto L_0289F964; L_0289F948: ; // 0x289f948 /* 0289F948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289F94C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289F94C */ _t90 = _t89 & 0x00000001u; /* 0289F94C */ if (_t90) goto L_0289FABC; else goto L_0289F950; L_0289F950: ; // 0x289f950 /* 0289F950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u); /* 0289F954 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu; /* 0289F958 */ _t91 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F958 */ _t92 = _t91 & 0x00000001u; /* 0289F958 */ if (_t92) goto L_0289F95C; else goto L_0289FA14; L_0289F95C: ; // 0x289f95c /* 0289F95C */ cpu->r[7] = 0x00000000u; /* 0289F960 */ cpu->r[6] = cpu->r[4]; L_0289F964: ; // 0x289f964 /* 0289F964 */ cpu->r[30] = cpu->r[7]; /* 0289F968 */ _t93 = cpu->r[6] + 0x0000000Cu; /* 0289F968 */ cpu->r[11] = rbrew_read32(cpu->mem, _t93); /* 0289F968 */ cpu->r[6] = _t93; /* 0289F96C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000000Cu); /* 0289F970 */ _t94 = cpu->r[1] + 0x00000008u; /* 0289F970 */ rbrew_write32(cpu->mem, _t94, cpu->r[11]); /* 0289F974 */ _t95 = cpu->r[6] + 0x00000004u; /* 0289F974 */ cpu->r[9] = rbrew_read32(cpu->mem, _t95); /* 0289F978 */ _t96 = cpu->r[1] + 0x00000008u; /* 0289F978 */ cpu->r[11] = rbrew_read16(cpu->mem, _t96); /* 0289F97C */ cpu->r[10] = cpu->r[4] + cpu->r[5]; /* 0289F980 */ _t97 = cpu->r[1] + 0x0000000Cu; /* 0289F980 */ rbrew_write32(cpu->mem, _t97, cpu->r[9]); /* 0289F984 */ _t98 = cpu->r[6] + 0x00000008u; /* 0289F984 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98); /* 0289F988 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F98C */ cpu->r[10] = cpu->r[10] + 0x0000000Cu; /* 0289F990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289F994 */ _t99 = cpu->r[1] + 0x00000010u; /* 0289F994 */ rbrew_write32(cpu->mem, _t99, cpu->r[9]); /* 0289F998 */ _t100 = cpu->r[11] + cpu->r[3]; /* 0289F998 */ cpu->r[9] = rbrew_read32(cpu->mem, _t100); /* 0289F99C */ _t101 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F99C */ _t102 = _t101 & 0x00000001u; /* 0289F99C */ if (_t102) goto L_0289F9E8; else goto L_0289F9A0; L_0289F9A0: ; // 0x289f9a0 /* 0289F9A0 */ goto L_0289F9D4; L_0289F9A4: ; // 0x289f9a4 /* 0289F9A4 */ _t103 = cpu->r[4] + cpu->r[5]; /* 0289F9A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t103); /* 0289F9A8 */ cpu->r[11] = cpu->r[4] + cpu->r[5]; /* 0289F9AC */ _t104 = cpu->r[10] + 0x00000000u; /* 0289F9AC */ rbrew_write32(cpu->mem, _t104, cpu->r[29]); /* 0289F9B0 */ _t105 = cpu->r[11] + 0x00000004u; /* 0289F9B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t105); /* 0289F9B4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0289F9B8 */ _t106 = cpu->r[10] + 0x00000004u; /* 0289F9B8 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]); /* 0289F9BC */ _t107 = cpu->r[11] + 0x00000008u; /* 0289F9BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t107); /* 0289F9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0289F9C4 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFF4u; /* 0289F9C8 */ _t108 = cpu->r[10] + 0x00000008u; /* 0289F9C8 */ rbrew_write32(cpu->mem, _t108, cpu->r[11]); /* 0289F9CC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFF4u; /* 0289F9D0 */ _t109 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289F9D0 */ _t110 = _t109 & 0x00000001u; /* 0289F9D0 */ if (_t110) goto L_0289F9E8; else goto L_0289F9D4; L_0289F9D4: ; // 0x289f9d4 /* 0289F9D4 */ _t111 = cpu->r[4] + cpu->r[5]; /* 0289F9D4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t111); /* 0289F9D8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289F9DC */ _t112 = cpu->r[8] + cpu->r[3]; /* 0289F9DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t112); /* 0289F9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]); /* 0289F9E4 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289F9E4 */ _t114 = _t113 & 0x00000001u; /* 0289F9E4 */ if (_t114) goto L_0289F9A4; else goto L_0289F9E8; L_0289F9E8: ; // 0x289f9e8 /* 0289F9E8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000000Cu); /* 0289F9EC */ _t115 = cpu->r[1] + 0x00000008u; /* 0289F9EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t115); /* 0289F9F0 */ cpu->r[8] = cpu->r[4] + cpu->r[10]; /* 0289F9F4 */ _t116 = cpu->r[8] + 0x0000000Cu; /* 0289F9F4 */ rbrew_write32(cpu->mem, _t116, cpu->r[11]); /* 0289F9F8 */ _t117 = cpu->r[1] + 0x0000000Cu; /* 0289F9F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t117); /* 0289F9FC */ _t118 = cpu->r[8] + 0x00000010u; /* 0289F9FC */ rbrew_write32(cpu->mem, _t118, cpu->r[10]); /* 0289FA00 */ _t119 = cpu->r[1] + 0x00000010u; /* 0289FA00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t119); /* 0289FA04 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0289FA08 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0289FA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289FA0C */ _t120 = cpu->r[8] + 0x00000014u; /* 0289FA0C */ rbrew_write32(cpu->mem, _t120, cpu->r[11]); /* 0289FA10 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FA10 */ _t122 = _t121 & 0x00000001u; /* 0289FA10 */ if (_t122) goto L_0289FA14; else goto L_0289F964; L_0289FA14: ; // 0x289fa14 /* 0289FA14 */ cpu->r[8] = cpu->r[12]; /* 0289FA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289FA18 */ cpu->r[31] = 0x00000000u; /* 0289FA1C */ _t123 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FA1C */ _t124 = _t123 & 0x00000001u; /* 0289FA1C */ if (_t124) goto L_0289FA20; else goto L_0289FABC; L_0289FA20: ; // 0x289fa20 /* 0289FA20 */ cpu->r[10] = cpu->r[4] + 0xFFFFFFF4u; /* 0289FA24 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu; L_0289FA28: ; // 0x289fa28 /* 0289FA28 */ cpu->r[9] = cpu->r[31] + 0x00000001u; /* 0289FA2C */ _t125 = cpu->r[10] + 0x0000000Cu; /* 0289FA2C */ cpu->r[6] = rbrew_read16(cpu->mem, _t125); /* 0289FA2C */ cpu->r[10] = _t125; /* 0289FA30 */ cpu->r[7] = cpu->r[11] - cpu->r[9]; /* 0289FA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[12]); /* 0289FA38 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FA3C */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0289FA40 */ _t126 = cpu->r[6] + cpu->r[3]; /* 0289FA40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t126); /* 0289FA44 */ _t127 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FA44 */ _t128 = _t127 & 0x00000001u; /* 0289FA44 */ if (_t128) goto L_0289FA48; else goto L_0289FAB0; L_0289FA48: ; // 0x289fa48 /* 0289FA48 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 0289FA4C */ cpu->r[9] = cpu->r[4] + cpu->r[6]; L_0289FA50: ; // 0x289fa50 /* 0289FA50 */ _t129 = cpu->r[9] + 0x00000000u; /* 0289FA50 */ cpu->r[6] = rbrew_read16(cpu->mem, _t129); /* 0289FA54 */ cpu->r[30] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FA58 */ _t130 = cpu->r[30] + cpu->r[3]; /* 0289FA58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t130); /* 0289FA5C */ cpu->r[30] = cpu->r[6] - cpu->r[5]; /* 0289FA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000008u); /* 0289FA64 */ _t131 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FA64 */ _t132 = _t131 & 0x00000001u; /* 0289FA64 */ if (_t132) goto L_0289FAB0; else goto L_0289FA68; L_0289FA68: ; // 0x289fa68 /* 0289FA68 */ _t133 = cpu->r[9] + 0x00000002u; /* 0289FA68 */ cpu->r[6] = rbrew_read16(cpu->mem, _t133); /* 0289FA6C */ _t134 = cpu->r[9] + 0x00000000u; /* 0289FA6C */ cpu->r[29] = rbrew_read16(cpu->mem, _t134); /* 0289FA70 */ cpu->r[30] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FA74 */ _t135 = cpu->r[30] + cpu->r[3]; /* 0289FA74 */ rbrew_write32(cpu->mem, _t135, cpu->r[5]); /* 0289FA78 */ cpu->r[30] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FA7C */ _t136 = cpu->r[30] + cpu->r[3]; /* 0289FA7C */ rbrew_write32(cpu->mem, _t136, cpu->r[5]); /* 0289FA80 */ _t137 = cpu->r[9] + 0x00000008u; /* 0289FA80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t137); /* 0289FA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289FA88 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FA88 */ _t139 = _t138 & 0x00000001u; /* 0289FA88 */ if (_t139) goto L_0289FAA4; else goto L_0289FA8C; L_0289FA8C: ; // 0x289fa8c /* 0289FA8C */ _t140 = cpu->r[6] + 0x00000000u; /* 0289FA8C */ cpu->r[30] = rbrew_read16(cpu->mem, _t140); /* 0289FA90 */ cpu->r[29] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FA94 */ _t141 = cpu->r[29] + cpu->r[3]; /* 0289FA94 */ rbrew_write32(cpu->mem, _t141, cpu->r[5]); /* 0289FA98 */ _t142 = cpu->r[6] + 0x00000004u; /* 0289FA98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t142); /* 0289FA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0289FAA0 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FAA0 */ _t144 = _t143 & 0x00000001u; /* 0289FAA0 */ if (_t144) goto L_0289FAA4; else goto L_0289FA8C; L_0289FAA4: ; // 0x289faa4 /* 0289FAA4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 0289FAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0289FAA8 */ cpu->r[9] = cpu->r[9] + 0x0000000Cu; /* 0289FAAC */ _t145 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FAAC */ _t146 = _t145 & 0x00000001u; /* 0289FAAC */ if (_t146) goto L_0289FAB0; else goto L_0289FA50; L_0289FAB0: ; // 0x289fab0 /* 0289FAB0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 0289FAB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0289FAB4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0289FAB8 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FAB8 */ _t148 = _t147 & 0x00000001u; /* 0289FAB8 */ if (_t148) goto L_0289FABC; else goto L_0289FA28; L_0289FABC: ; // 0x289fabc /* 0289FABC */ /* nop */ /* 0289FAC0 */ cpu->r[3] = cpu->r[12]; /* 0289FAC4 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 0289FAC8 */ return; } // fn_0289FACC @ 0x289facc void Gambit_fn_0289FACC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_0289FACC: ; // 0x289facc /* 0289FACC */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 0289FACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289FACC */ cpu->r[1] = _t0; /* 0289FAD0 */ /* nop */ /* 0289FAD4 */ _t1 = cpu->r[5] + 0x00000000u; /* 0289FAD4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t1); /* 0289FAD8 */ _t2 = cpu->r[5] + 0x00000020u; /* 0289FAD8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2); /* 0289FADC */ cpu->r[12] = 0x00000000u; /* 0289FAE0 */ _t3 = cpu->r[5] + 0x00000028u; /* 0289FAE0 */ cpu->r[30] = rbrew_read16(cpu->mem, _t3); /* 0289FAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000078u); /* 0289FAE8 */ _t4 = cpu->r[5] + 0x0000001Cu; /* 0289FAE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4); /* 0289FAEC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FAEC */ _t6 = _t5 & 0x00000001u; /* 0289FAEC */ if (_t6) goto L_0289FAF0; else goto L_0289FB08; L_0289FAF0: ; // 0x289faf0 /* 0289FAF0 */ cpu->r[26] = 0x00000000u; /* 0289FAF4 */ cpu->r[3] = cpu->r[27]; /* 0289FAF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]); /* 0289FAFC */ _t7 = cpu->r[5] + 0x00000004u; /* 0289FAFC */ cpu->r[27] = rbrew_read32(cpu->mem, _t7); /* 0289FB00 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FB00 */ _t9 = _t8 & 0x00000001u; /* 0289FB00 */ if (_t9) goto L_0289FB04; else goto L_0289FE98; L_0289FB04: ; // 0x289fb04 /* 0289FB04 */ goto L_0289FB18; L_0289FB08: ; // 0x289fb08 /* 0289FB08 */ cpu->r[26] = 0x00000000u; /* 0289FB0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]); /* 0289FB10 */ _t10 = cpu->r[5] + 0x00000004u; /* 0289FB10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0289FB14 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FB14 */ _t12 = _t11 & 0x00000001u; /* 0289FB14 */ if (_t12) goto L_0289FB18; else goto L_0289FE98; L_0289FB18: ; // 0x289fb18 /* 0289FB18 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Cu); /* 0289FB1C */ cpu->r[31] = cpu->r[4] + cpu->r[11]; L_0289FB20: ; // 0x289fb20 /* 0289FB20 */ cpu->r[11] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0289FB24 */ _t13 = cpu->r[29] + cpu->r[11]; /* 0289FB24 */ cpu->r[6] = rbrew_read16(cpu->mem, _t13); /* 0289FB28 */ _t14 = cpu->r[28] + cpu->r[11]; /* 0289FB28 */ cpu->r[9] = rbrew_read16(cpu->mem, _t14); /* 0289FB2C */ cpu->r[10] = cpu->r[6]; /* 0289FB30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]); /* 0289FB34 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FB34 */ _t16 = _t15 & 0x00000001u; /* 0289FB34 */ if (_t16) goto L_0289FD90; else goto L_0289FB38; L_0289FB38: ; // 0x289fb38 /* 0289FB38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]); /* 0289FB3C */ cpu->r[25] = cpu->r[10]; /* 0289FB40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FB40 */ _t18 = _t17 & 0x00000001u; /* 0289FB40 */ if (_t18) goto L_0289FB44; else goto L_0289FB74; L_0289FB44: ; // 0x289fb44 /* 0289FB44 */ cpu->r[24] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FB48 */ cpu->r[23] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FB4C */ cpu->r[5] = cpu->r[3] + cpu->r[24]; /* 0289FB50 */ _t19 = cpu->r[23] + cpu->r[3]; /* 0289FB50 */ cpu->r[24] = rbrew_read32(cpu->mem, _t19); /* 0289FB54 */ _t20 = cpu->r[5] + 0x00000000u; /* 0289FB54 */ cpu->r[23] = rbrew_read32(cpu->mem, _t20); /* 0289FB58 */ cpu->r[22] = cpu->r[23] - cpu->r[24]; /* 0289FB5C */ /* nop */ /* 0289FB60 */ cpu->r[23] = cpu->r[22] ^ cpu->r[24]; /* 0289FB64 */ cpu->r[23] = cpu->r[23] - cpu->r[24]; /* 0289FB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000003u); /* 0289FB6C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FB6C */ _t22 = _t21 & 0x00000001u; /* 0289FB6C */ if (_t22) goto L_0289FBC4; else goto L_0289FB70; L_0289FB70: ; // 0x289fb70 /* 0289FB70 */ goto L_0289FBA4; L_0289FB74: ; // 0x289fb74 /* 0289FB74 */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFFu; /* 0289FB78 */ cpu->r[24] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FB7C */ cpu->r[23] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FB80 */ cpu->r[5] = cpu->r[3] + cpu->r[24]; /* 0289FB84 */ _t23 = cpu->r[23] + cpu->r[3]; /* 0289FB84 */ cpu->r[24] = rbrew_read32(cpu->mem, _t23); /* 0289FB88 */ _t24 = cpu->r[5] + 0x00000000u; /* 0289FB88 */ cpu->r[23] = rbrew_read32(cpu->mem, _t24); /* 0289FB8C */ cpu->r[22] = cpu->r[23] - cpu->r[24]; /* 0289FB90 */ /* nop */ /* 0289FB94 */ cpu->r[23] = cpu->r[22] ^ cpu->r[24]; /* 0289FB98 */ cpu->r[23] = cpu->r[23] - cpu->r[24]; /* 0289FB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000003u); /* 0289FBA0 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FBA0 */ _t26 = _t25 & 0x00000001u; /* 0289FBA0 */ if (_t26) goto L_0289FBC4; else goto L_0289FBA4; L_0289FBA4: ; // 0x289fba4 /* 0289FBA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]); /* 0289FBA8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FBA8 */ _t28 = _t27 & 0x00000001u; /* 0289FBA8 */ if (_t28) goto L_0289FBAC; else goto L_0289FBBC; L_0289FBAC: ; // 0x289fbac /* 0289FBAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]); /* 0289FBB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FBB4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FBB4 */ _t30 = _t29 & 0x00000001u; /* 0289FBB4 */ if (_t30) goto L_0289FBB8; else goto L_0289FD90; L_0289FBB8: ; // 0x289fbb8 /* 0289FBB8 */ goto L_0289FBCC; L_0289FBBC: ; // 0x289fbbc /* 0289FBBC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 0289FBC0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu); L_0289FBC4: ; // 0x289fbc4 /* 0289FBC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]); /* 0289FBC8 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FBC8 */ _t32 = _t31 & 0x00000001u; /* 0289FBC8 */ if (_t32) goto L_0289FBCC; else goto L_0289FD90; L_0289FBCC: ; // 0x289fbcc /* 0289FBCC */ cpu->r[21] = 0x00000000u; /* 0289FBD0 */ cpu->r[22] = cpu->r[31]; /* 0289FBD4 */ _t33 = cpu->r[5] + 0x00000004u; /* 0289FBD4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t33); /* 0289FBD8 */ cpu->r[23] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FBDC */ _t34 = cpu->r[3] + cpu->r[23]; /* 0289FBDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 0289FBE0 */ cpu->r[20] = cpu->r[5] - cpu->r[24]; /* 0289FBE4 */ /* nop */ /* 0289FBE8 */ cpu->r[20] = cpu->r[20] ^ cpu->r[24]; /* 0289FBEC */ cpu->r[20] = cpu->r[20] - cpu->r[24]; /* 0289FBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000003u); /* 0289FBF4 */ cpu->r[6] = cpu->r[3] + cpu->r[23]; /* 0289FBF8 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FBF8 */ _t36 = _t35 & 0x00000001u; /* 0289FBF8 */ if (_t36) goto L_0289FC34; else goto L_0289FBFC; L_0289FBFC: ; // 0x289fbfc /* 0289FBFC */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289FC00 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FC04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]); /* 0289FC08 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FC08 */ _t38 = _t37 & 0x00000001u; /* 0289FC08 */ if (_t38) goto L_0289FC0C; else goto L_0289FC34; L_0289FC0C: ; // 0x289fc0c /* 0289FC0C */ cpu->r[24] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FC10 */ _t39 = cpu->r[6] + 0x00000000u; /* 0289FC10 */ cpu->r[20] = rbrew_read32(cpu->mem, _t39); /* 0289FC14 */ cpu->r[19] = cpu->r[3] + cpu->r[24]; /* 0289FC18 */ _t40 = cpu->r[19] + 0x00000004u; /* 0289FC18 */ cpu->r[24] = rbrew_read32(cpu->mem, _t40); /* 0289FC1C */ cpu->r[20] = cpu->r[20] - cpu->r[24]; /* 0289FC20 */ /* nop */ /* 0289FC24 */ cpu->r[20] = cpu->r[20] ^ cpu->r[24]; /* 0289FC28 */ cpu->r[20] = cpu->r[20] - cpu->r[24]; /* 0289FC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000003u); /* 0289FC30 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FC30 */ _t42 = _t41 & 0x00000001u; /* 0289FC30 */ if (_t42) goto L_0289FC34; else goto L_0289FBFC; L_0289FC34: ; // 0x289fc34 /* 0289FC34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[25]); /* 0289FC38 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FC38 */ _t44 = _t43 & 0x00000001u; /* 0289FC38 */ if (_t44) goto L_0289FD48; else goto L_0289FC3C; L_0289FC3C: ; // 0x289fc3c /* 0289FC3C */ cpu->r[24] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FC40 */ _t45 = cpu->r[3] + cpu->r[24]; /* 0289FC40 */ cpu->r[20] = rbrew_read32(cpu->mem, _t45); /* 0289FC44 */ _t46 = cpu->r[27] + cpu->r[23]; /* 0289FC44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t46); /* 0289FC48 */ cpu->r[19] = cpu->r[20] - cpu->r[5]; /* 0289FC4C */ _t47 = cpu->r[27] + cpu->r[24]; /* 0289FC4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t47); /* 0289FC50 */ /* nop */ /* 0289FC54 */ cpu->r[19] = cpu->r[19] ^ cpu->r[20]; /* 0289FC58 */ cpu->r[18] = cpu->r[5] - cpu->r[6]; /* 0289FC5C */ cpu->r[19] = cpu->r[19] - cpu->r[20]; /* 0289FC60 */ /* nop */ /* 0289FC64 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[19] * (int32_t)0x00000016u); /* 0289FC68 */ cpu->r[18] = cpu->r[18] ^ cpu->r[5]; /* 0289FC6C */ cpu->r[18] = cpu->r[18] - cpu->r[5]; /* 0289FC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[18]); /* 0289FC74 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FC74 */ _t49 = _t48 & 0x00000001u; /* 0289FC74 */ if (_t49) goto L_0289FC78; else goto L_0289FD48; L_0289FC78: ; // 0x289fc78 /* 0289FC78 */ cpu->r[20] = cpu->r[22]; /* 0289FC7C */ _t50 = cpu->r[20] + 0x00000008u; /* 0289FC7C */ rbrew_write32(cpu->mem, _t50, cpu->r[21]); /* 0289FC80 */ _t51 = cpu->r[20] + 0x00000002u; /* 0289FC80 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[25]); /* 0289FC84 */ _t52 = cpu->r[20] + 0x00000000u; /* 0289FC84 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[10]); /* 0289FC88 */ _t53 = cpu->r[20] + 0x00000004u; /* 0289FC88 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[26]); /* 0289FC8C */ _t54 = cpu->r[28] + cpu->r[11]; /* 0289FC8C */ cpu->r[6] = rbrew_read16(cpu->mem, _t54); /* 0289FC90 */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 0289FC94 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0289FC98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]); /* 0289FC9C */ cpu->r[22] = cpu->r[22] + 0x0000000Cu; /* 0289FCA0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FCA0 */ _t56 = _t55 & 0x00000001u; /* 0289FCA0 */ if (_t56) goto L_0289FCA4; else goto L_0289FCB4; L_0289FCA4: ; // 0x289fca4 /* 0289FCA4 */ _t57 = cpu->r[29] + cpu->r[11]; /* 0289FCA4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t57); /* 0289FCA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[25]); /* 0289FCAC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FCAC */ _t59 = _t58 & 0x00000001u; /* 0289FCAC */ if (_t59) goto L_0289FD24; else goto L_0289FCB0; L_0289FCB0: ; // 0x289fcb0 /* 0289FCB0 */ goto L_0289FCC4; L_0289FCB4: ; // 0x289fcb4 /* 0289FCB4 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289FCB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FCBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[25]); /* 0289FCC0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FCC0 */ _t61 = _t60 & 0x00000001u; /* 0289FCC0 */ if (_t61) goto L_0289FD24; else goto L_0289FCC4; L_0289FCC4: ; // 0x289fcc4 /* 0289FCC4 */ _t62 = cpu->r[7] + 0x00000000u; /* 0289FCC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62); /* 0289FCC8 */ cpu->r[5] = 0x00000000u; L_0289FCCC: ; // 0x289fccc /* 0289FCCC */ _t63 = cpu->r[6] + 0x00000000u; /* 0289FCCC */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[10]); /* 0289FCD0 */ _t64 = cpu->r[6] + 0x00000004u; /* 0289FCD0 */ rbrew_write32(cpu->mem, _t64, cpu->r[5]); /* 0289FCD4 */ _t65 = cpu->r[7] + 0x00000000u; /* 0289FCD4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t65); /* 0289FCD8 */ cpu->r[19] = cpu->r[19] + 0x00000008u; /* 0289FCDC */ _t66 = cpu->r[7] + 0x00000000u; /* 0289FCDC */ rbrew_write32(cpu->mem, _t66, cpu->r[19]); /* 0289FCE0 */ _t67 = cpu->r[20] + 0x00000008u; /* 0289FCE0 */ cpu->r[18] = rbrew_read32(cpu->mem, _t67); /* 0289FCE4 */ _t68 = cpu->r[6] + 0x00000004u; /* 0289FCE4 */ rbrew_write32(cpu->mem, _t68, cpu->r[18]); /* 0289FCE8 */ _t69 = cpu->r[20] + 0x00000008u; /* 0289FCE8 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]); /* 0289FCEC */ _t70 = cpu->r[7] + 0x00000000u; /* 0289FCEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t70); /* 0289FCF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 0289FCF4 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FCF4 */ _t72 = _t71 & 0x00000001u; /* 0289FCF4 */ if (_t72) goto L_0289FCF8; else goto L_0289FD24; L_0289FCF8: ; // 0x289fcf8 /* 0289FCF8 */ _t73 = cpu->r[28] + cpu->r[11]; /* 0289FCF8 */ cpu->r[19] = rbrew_read16(cpu->mem, _t73); /* 0289FCFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[19]); /* 0289FD00 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FD00 */ _t75 = _t74 & 0x00000001u; /* 0289FD00 */ if (_t75) goto L_0289FD04; else goto L_0289FD14; L_0289FD04: ; // 0x289fd04 /* 0289FD04 */ _t76 = cpu->r[29] + cpu->r[11]; /* 0289FD04 */ cpu->r[10] = rbrew_read16(cpu->mem, _t76); /* 0289FD08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[25]); /* 0289FD0C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FD0C */ _t78 = _t77 & 0x00000001u; /* 0289FD0C */ if (_t78) goto L_0289FD10; else goto L_0289FCCC; L_0289FD10: ; // 0x289fd10 /* 0289FD10 */ goto L_0289FD24; L_0289FD14: ; // 0x289fd14 /* 0289FD14 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0289FD18 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FD1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[25]); /* 0289FD20 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FD20 */ _t80 = _t79 & 0x00000001u; /* 0289FD20 */ if (_t80) goto L_0289FD24; else goto L_0289FCCC; L_0289FD24: ; // 0x289fd24 /* 0289FD24 */ _t81 = cpu->r[27] + cpu->r[24]; /* 0289FD24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t81); /* 0289FD28 */ _t82 = cpu->r[27] + cpu->r[23]; /* 0289FD28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82); /* 0289FD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0289FD30 */ cpu->r[10] = 0xFFFFFFFFu; /* 0289FD34 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FD34 */ _t84 = _t83 & 0x00000001u; /* 0289FD34 */ if (_t84) goto L_0289FD38; else goto L_0289FD3C; L_0289FD38: ; // 0x289fd38 /* 0289FD38 */ cpu->r[10] = 0x00000001u; L_0289FD3C: ; // 0x289fd3c /* 0289FD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000080u); /* 0289FD40 */ _t85 = cpu->r[20] + 0x00000006u; /* 0289FD40 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[10]); /* 0289FD44 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FD44 */ _t87 = _t86 & 0x00000001u; /* 0289FD44 */ if (_t87) goto L_0289FD90; else goto L_0289FD48; L_0289FD48: ; // 0x289fd48 /* 0289FD48 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0289FD4C */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FD50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]); /* 0289FD54 */ cpu->r[10] = cpu->r[25]; /* 0289FD58 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FD58 */ _t89 = _t88 & 0x00000001u; /* 0289FD58 */ if (_t89) goto L_0289FD5C; else goto L_0289FD90; L_0289FD5C: ; // 0x289fd5c /* 0289FD5C */ cpu->r[24] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FD60 */ cpu->r[5] = cpu->r[3] + cpu->r[24]; /* 0289FD64 */ cpu->r[23] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FD68 */ _t90 = cpu->r[5] + 0x00000004u; /* 0289FD68 */ cpu->r[24] = rbrew_read32(cpu->mem, _t90); /* 0289FD6C */ _t91 = cpu->r[3] + cpu->r[23]; /* 0289FD6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t91); /* 0289FD70 */ cpu->r[20] = cpu->r[5] - cpu->r[24]; /* 0289FD74 */ /* nop */ /* 0289FD78 */ cpu->r[20] = cpu->r[20] ^ cpu->r[24]; /* 0289FD7C */ cpu->r[20] = cpu->r[20] - cpu->r[24]; /* 0289FD80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000003u); /* 0289FD84 */ cpu->r[6] = cpu->r[3] + cpu->r[23]; /* 0289FD88 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FD88 */ _t93 = _t92 & 0x00000001u; /* 0289FD88 */ if (_t93) goto L_0289FC34; else goto L_0289FD8C; L_0289FD8C: ; // 0x289fd8c /* 0289FD8C */ goto L_0289FBFC; L_0289FD90: ; // 0x289fd90 /* 0289FD90 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0289FD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000080u); /* 0289FD98 */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FD9C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FD9C */ _t95 = _t94 & 0x00000001u; /* 0289FD9C */ if (_t95) goto L_0289FDCC; else goto L_0289FDA0; L_0289FDA0: ; // 0x289fda0 /* 0289FDA0 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FDA0 */ _t97 = _t96 & 0x00000001u; /* 0289FDA0 */ if (_t97) goto L_0289FDA4; else goto L_0289FDB8; L_0289FDA4: ; // 0x289fda4 /* 0289FDA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]); /* 0289FDA8 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FDA8 */ _t99 = _t98 & 0x00000001u; /* 0289FDA8 */ if (_t99) goto L_0289FB20; else goto L_0289FDAC; L_0289FDAC: ; // 0x289fdac /* 0289FDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289FDB0 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FDB0 */ _t101 = _t100 & 0x00000001u; /* 0289FDB0 */ if (_t101) goto L_0289FDB4; else goto L_0289FDD4; L_0289FDB4: ; // 0x289fdb4 /* 0289FDB4 */ goto L_0289FE98; L_0289FDB8: ; // 0x289fdb8 /* 0289FDB8 */ cpu->r[12] = 0x0000007Fu; /* 0289FDBC */ cpu->r[31] = 0x0000007Eu; /* 0289FDC0 */ cpu->r[6] = cpu->r[4]; /* 0289FDC4 */ cpu->r[7] = 0x00000000u; /* 0289FDC8 */ goto L_0289FDE8; L_0289FDCC: ; // 0x289fdcc /* 0289FDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289FDD0 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FDD0 */ _t103 = _t102 & 0x00000001u; /* 0289FDD0 */ if (_t103) goto L_0289FE98; else goto L_0289FDD4; L_0289FDD4: ; // 0x289fdd4 /* 0289FDD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u); /* 0289FDD8 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu; /* 0289FDDC */ _t104 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FDDC */ _t105 = _t104 & 0x00000001u; /* 0289FDDC */ if (_t105) goto L_0289FDE0; else goto L_0289FE98; L_0289FDE0: ; // 0x289fde0 /* 0289FDE0 */ cpu->r[7] = 0x00000000u; /* 0289FDE4 */ cpu->r[6] = cpu->r[4]; L_0289FDE8: ; // 0x289fde8 /* 0289FDE8 */ _t106 = cpu->r[6] + 0x0000000Cu; /* 0289FDE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t106); /* 0289FDE8 */ cpu->r[6] = _t106; /* 0289FDEC */ cpu->r[29] = cpu->r[7]; /* 0289FDF0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x0000000Cu); /* 0289FDF4 */ _t107 = cpu->r[1] + 0x00000008u; /* 0289FDF4 */ rbrew_write32(cpu->mem, _t107, cpu->r[11]); /* 0289FDF8 */ _t108 = cpu->r[6] + 0x00000004u; /* 0289FDF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t108); /* 0289FDFC */ _t109 = cpu->r[1] + 0x00000008u; /* 0289FDFC */ cpu->r[11] = rbrew_read16(cpu->mem, _t109); /* 0289FE00 */ cpu->r[10] = cpu->r[4] + cpu->r[5]; /* 0289FE04 */ _t110 = cpu->r[1] + 0x0000000Cu; /* 0289FE04 */ rbrew_write32(cpu->mem, _t110, cpu->r[9]); /* 0289FE08 */ _t111 = cpu->r[6] + 0x00000008u; /* 0289FE08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t111); /* 0289FE0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FE10 */ cpu->r[8] = cpu->r[10] + 0x0000000Cu; /* 0289FE14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0289FE18 */ _t112 = cpu->r[1] + 0x00000010u; /* 0289FE18 */ rbrew_write32(cpu->mem, _t112, cpu->r[9]); /* 0289FE1C */ _t113 = cpu->r[11] + cpu->r[3]; /* 0289FE1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t113); /* 0289FE20 */ _t114 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FE20 */ _t115 = _t114 & 0x00000001u; /* 0289FE20 */ if (_t115) goto L_0289FE6C; else goto L_0289FE24; L_0289FE24: ; // 0x289fe24 /* 0289FE24 */ goto L_0289FE58; L_0289FE28: ; // 0x289fe28 /* 0289FE28 */ _t116 = cpu->r[4] + cpu->r[5]; /* 0289FE28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t116); /* 0289FE2C */ cpu->r[9] = cpu->r[4] + cpu->r[5]; /* 0289FE30 */ _t117 = cpu->r[8] + 0x00000000u; /* 0289FE30 */ rbrew_write32(cpu->mem, _t117, cpu->r[11]); /* 0289FE34 */ _t118 = cpu->r[9] + 0x00000004u; /* 0289FE34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t118); /* 0289FE38 */ _t119 = cpu->r[8] + 0x00000004u; /* 0289FE38 */ rbrew_write32(cpu->mem, _t119, cpu->r[10]); /* 0289FE3C */ _t120 = cpu->r[9] + 0x00000008u; /* 0289FE3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t120); /* 0289FE40 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 0289FE44 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFF4u; /* 0289FE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0289FE4C */ _t121 = cpu->r[8] + 0x00000008u; /* 0289FE4C */ rbrew_write32(cpu->mem, _t121, cpu->r[11]); /* 0289FE50 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFF4u; /* 0289FE54 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FE54 */ _t123 = _t122 & 0x00000001u; /* 0289FE54 */ if (_t123) goto L_0289FE6C; else goto L_0289FE58; L_0289FE58: ; // 0x289fe58 /* 0289FE58 */ _t124 = cpu->r[4] + cpu->r[5]; /* 0289FE58 */ cpu->r[11] = rbrew_read16(cpu->mem, _t124); /* 0289FE5C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FE60 */ _t125 = cpu->r[10] + cpu->r[3]; /* 0289FE60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t125); /* 0289FE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[30]); /* 0289FE68 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FE68 */ _t127 = _t126 & 0x00000001u; /* 0289FE68 */ if (_t127) goto L_0289FE28; else goto L_0289FE6C; L_0289FE6C: ; // 0x289fe6c /* 0289FE6C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x0000000Cu); /* 0289FE70 */ _t128 = cpu->r[1] + 0x00000008u; /* 0289FE70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t128); /* 0289FE74 */ cpu->r[8] = cpu->r[4] + cpu->r[10]; /* 0289FE78 */ _t129 = cpu->r[8] + 0x0000000Cu; /* 0289FE78 */ rbrew_write32(cpu->mem, _t129, cpu->r[11]); /* 0289FE7C */ _t130 = cpu->r[1] + 0x0000000Cu; /* 0289FE7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t130); /* 0289FE80 */ _t131 = cpu->r[8] + 0x00000010u; /* 0289FE80 */ rbrew_write32(cpu->mem, _t131, cpu->r[10]); /* 0289FE84 */ _t132 = cpu->r[1] + 0x00000010u; /* 0289FE84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t132); /* 0289FE88 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0289FE8C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0289FE8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0289FE90 */ _t133 = cpu->r[8] + 0x00000014u; /* 0289FE90 */ rbrew_write32(cpu->mem, _t133, cpu->r[11]); /* 0289FE94 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FE94 */ _t135 = _t134 & 0x00000001u; /* 0289FE94 */ if (_t135) goto L_0289FE98; else goto L_0289FDE8; L_0289FE98: ; // 0x289fe98 /* 0289FE98 */ /* nop */ /* 0289FE9C */ cpu->r[3] = cpu->r[12]; /* 0289FEA0 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 0289FEA4 */ return; } // fn_0289FEA8 @ 0x289fea8 void Gambit_fn_0289FEA8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447; L_0289FEA8: ; // 0x289fea8 /* 0289FEA8 */ _t0 = cpu->r[1] + 0xFFFFFF70u; /* 0289FEA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0289FEA8 */ cpu->r[1] = _t0; /* 0289FEAC */ /* nop */ /* 0289FEB0 */ cpu->r[0] = cpu->lr; /* 0289FEB4 */ _t1 = cpu->r[1] + 0x00000094u; /* 0289FEB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0289FEB8 */ cpu->r[29] = cpu->r[9]; /* 0289FEBC */ cpu->r[30] = cpu->r[10]; /* 0289FEC0 */ cpu->r[24] = cpu->r[8]; /* 0289FEC4 */ cpu->r[28] = cpu->r[6]; /* 0289FEC8 */ cpu->r[23] = cpu->r[5]; /* 0289FECC */ cpu->r[22] = cpu->r[4]; /* 0289FED0 */ _t2 = cpu->r[7] + 0x00000028u; /* 0289FED0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t2); /* 0289FED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000078u); /* 0289FED8 */ _t3 = cpu->r[7] + 0x00000000u; /* 0289FED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0289FEDC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FEDC */ _t5 = _t4 & 0x00000001u; /* 0289FEDC */ if (_t5) goto L_0289FEE0; else goto L_0289FF10; L_0289FEE0: ; // 0x289fee0 /* 0289FEE0 */ _t6 = cpu->r[7] + 0x00000004u; /* 0289FEE0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6); /* 0289FEE4 */ cpu->r[21] = 0x00000001u; /* 0289FEE8 */ cpu->r[27] = 0x00000000u; /* 0289FEEC */ _t7 = cpu->r[10] + 0x00000000u; /* 0289FEEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0289FEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289FEF4 */ cpu->r[0] = cpu->r[27]; /* 0289FEF8 */ _t8 = cpu->r[7] + 0x0000001Cu; /* 0289FEF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0289FEFC */ cpu->r[25] = cpu->r[10]; /* 0289FF00 */ cpu->r[3] = cpu->r[27]; /* 0289FF04 */ _t9 = cpu->r[7] + 0x00000020u; /* 0289FF04 */ cpu->r[20] = rbrew_read32(cpu->mem, _t9); /* 0289FF08 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FF08 */ _t11 = _t10 & 0x00000001u; /* 0289FF08 */ if (_t11) goto L_0289FF0C; else goto L_0289FF3C; L_0289FF0C: ; // 0x289ff0c /* 0289FF0C */ goto L_0289FF94; L_0289FF10: ; // 0x289ff10 /* 0289FF10 */ _t12 = cpu->r[7] + 0x00000004u; /* 0289FF10 */ cpu->r[25] = rbrew_read32(cpu->mem, _t12); /* 0289FF14 */ cpu->r[27] = 0x00000000u; /* 0289FF18 */ cpu->r[21] = 0xFFFFFFFFu; /* 0289FF1C */ _t13 = cpu->r[10] + 0x00000000u; /* 0289FF1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13); /* 0289FF20 */ cpu->r[0] = cpu->r[27]; /* 0289FF24 */ cpu->r[26] = cpu->r[10]; /* 0289FF28 */ _t14 = cpu->r[7] + 0x0000001Cu; /* 0289FF28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0289FF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289FF30 */ cpu->r[3] = cpu->r[27]; /* 0289FF34 */ _t15 = cpu->r[7] + 0x00000020u; /* 0289FF34 */ cpu->r[20] = rbrew_read32(cpu->mem, _t15); /* 0289FF38 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FF38 */ _t17 = _t16 & 0x00000001u; /* 0289FF38 */ if (_t17) goto L_0289FF94; else goto L_0289FF3C; L_0289FF3C: ; // 0x289ff3c /* 0289FF3C */ cpu->r[8] = 0x00000000u; L_0289FF40: ; // 0x289ff40 /* 0289FF40 */ _t18 = cpu->r[31] + cpu->r[8]; /* 0289FF40 */ cpu->r[4] = rbrew_read16(cpu->mem, _t18); /* 0289FF44 */ _t19 = cpu->r[20] + cpu->r[8]; /* 0289FF44 */ cpu->r[11] = rbrew_read16(cpu->mem, _t19); /* 0289FF48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]); /* 0289FF4C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FF4C */ _t21 = _t20 & 0x00000001u; /* 0289FF4C */ if (_t21) goto L_0289FF80; else goto L_0289FF50; L_0289FF50: ; // 0x289ff50 /* 0289FF50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]); /* 0289FF54 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FF54 */ _t23 = _t22 & 0x00000001u; /* 0289FF54 */ if (_t23) goto L_0289FF80; else goto L_0289FF58; L_0289FF58: ; // 0x289ff58 /* 0289FF58 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FF5C */ _t24 = cpu->r[9] + cpu->r[10]; /* 0289FF5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24); /* 0289FF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[5]); /* 0289FF64 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0289FF64 */ _t26 = _t25 & 0x00000001u; /* 0289FF64 */ if (_t26) goto L_0289FF68; else goto L_0289FF70; L_0289FF68: ; // 0x289ff68 /* 0289FF68 */ cpu->r[0] = cpu->r[3]; /* 0289FF6C */ cpu->r[5] = cpu->r[9]; L_0289FF70: ; // 0x289ff70 /* 0289FF70 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0289FF74 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FF78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]); /* 0289FF7C */ _t27 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FF7C */ _t28 = _t27 & 0x00000001u; /* 0289FF7C */ if (_t28) goto L_0289FF80; else goto L_0289FF58; L_0289FF80: ; // 0x289ff80 /* 0289FF80 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 0289FF84 */ cpu->r[8] = cpu->r[8] + 0x00000002u; /* 0289FF88 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 0289FF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0289FF8C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FF90 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FF90 */ _t30 = _t29 & 0x00000001u; /* 0289FF90 */ if (_t30) goto L_0289FF94; else goto L_0289FF40; L_0289FF94: ; // 0x289ff94 /* 0289FF94 */ cpu->r[3] = cpu->r[0]; /* 0289FF98 */ cpu->r[4] = cpu->r[7]; /* 0289FF9C */ Gambit_fn_0289DF70(cpu); /* 0289FFA0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0289FFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0289FFA4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FFA4 */ _t32 = _t31 & 0x00000001u; /* 0289FFA4 */ if (_t32) goto L_0289FFA8; else goto L_0289FFAC; L_0289FFA8: ; // 0x289ffa8 /* 0289FFA8 */ cpu->r[21] = (uint32_t)(-(int32_t)cpu->r[21]); L_0289FFAC: ; // 0x289ffac /* 0289FFAC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x00000024u); /* 0289FFB0 */ cpu->r[31] = 0x00000000u; /* 0289FFB4 */ cpu->r[5] = cpu->r[23]; /* 0289FFB8 */ cpu->r[8] = cpu->r[28] + cpu->r[4]; /* 0289FFBC */ goto L_028A0190; L_0289FFC0: ; // 0x289ffc0 /* 0289FFC0 */ _t33 = cpu->r[5] + 0x00000006u; /* 0289FFC0 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t33); /* 0289FFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[21]); /* 0289FFC8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0289FFC8 */ _t35 = _t34 & 0x00000001u; /* 0289FFC8 */ if (_t35) goto L_0289FFCC; else goto L_028A0188; L_0289FFCC: ; // 0x289ffcc /* 0289FFCC */ _t36 = cpu->r[5] + 0x00000000u; /* 0289FFCC */ cpu->r[9] = rbrew_read16(cpu->mem, _t36); /* 0289FFD0 */ _t37 = cpu->r[5] + 0x00000002u; /* 0289FFD0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t37); /* 0289FFD4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FFD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0289FFDC */ _t38 = cpu->r[7] + cpu->r[26]; /* 0289FFDC */ cpu->r[18] = rbrew_read32(cpu->mem, _t38); /* 0289FFE0 */ _t39 = cpu->r[10] + cpu->r[26]; /* 0289FFE0 */ cpu->r[19] = rbrew_read32(cpu->mem, _t39); /* 0289FFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[19]); /* 0289FFE8 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u); /* 0289FFE8 */ _t41 = _t40 & 0x00000001u; /* 0289FFE8 */ if (_t41) goto L_0289FFEC; else goto L_0289FFF8; L_0289FFEC: ; // 0x289ffec /* 0289FFEC */ cpu->r[7] = cpu->r[18]; /* 0289FFF0 */ cpu->r[18] = cpu->r[19]; /* 0289FFF4 */ cpu->r[19] = cpu->r[7]; L_0289FFF8: ; // 0x289fff8 /* 0289FFF8 */ cpu->r[6] = cpu->r[31] + 0x00000001u; /* 0289FFFC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu); /* 028A0000 */ cpu->r[20] = cpu->r[8]; /* 028A0004 */ cpu->r[7] = cpu->r[23] + cpu->r[12]; /* 028A0008 */ goto L_028A0178; L_028A000C: ; // 0x28a000c /* 028A000C */ _t42 = cpu->r[5] + 0x00000000u; /* 028A000C */ cpu->r[3] = rbrew_read16(cpu->mem, _t42); /* 028A0010 */ _t43 = cpu->r[7] + 0x00000000u; /* 028A0010 */ cpu->r[0] = rbrew_read16(cpu->mem, _t43); /* 028A0014 */ cpu->r[4] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0018 */ _t44 = cpu->r[4] + cpu->r[25]; /* 028A0018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44); /* 028A001C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0020 */ _t45 = cpu->r[25] + cpu->r[4]; /* 028A0020 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45); /* 028A0024 */ cpu->r[11] = cpu->r[9] - cpu->r[10]; /* 028A0028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[24]); /* 028A002C */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A002C */ _t47 = _t46 & 0x00000001u; /* 028A002C */ if (_t47) goto L_028A0188; else goto L_028A0030; L_028A0030: ; // 0x28a0030 /* 028A0030 */ _t48 = cpu->r[7] + 0x00000006u; /* 028A0030 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t48); /* 028A0034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[21]); /* 028A0038 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0038 */ _t50 = _t49 & 0x00000001u; /* 028A0038 */ if (_t50) goto L_028A0170; else goto L_028A003C; L_028A003C: ; // 0x28a003c /* 028A003C */ _t51 = cpu->r[7] + 0x00000002u; /* 028A003C */ cpu->r[0] = rbrew_read16(cpu->mem, _t51); /* 028A0040 */ _t52 = cpu->r[26] + cpu->r[4]; /* 028A0040 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52); /* 028A0044 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0048 */ _t53 = cpu->r[12] + cpu->r[26]; /* 028A0048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 028A004C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 028A0050 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0050 */ _t55 = _t54 & 0x00000001u; /* 028A0050 */ if (_t55) goto L_028A0054; else goto L_028A0060; L_028A0054: ; // 0x28a0054 /* 028A0054 */ cpu->r[9] = cpu->r[4]; /* 028A0058 */ cpu->r[4] = cpu->r[0]; /* 028A005C */ cpu->r[0] = cpu->r[9]; L_028A0060: ; // 0x28a0060 /* 028A0060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[19]); /* 028A0064 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0064 */ _t57 = _t56 & 0x00000001u; /* 028A0064 */ if (_t57) goto L_028A0170; else goto L_028A0068; L_028A0068: ; // 0x28a0068 /* 028A0068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[18]); /* 028A006C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A006C */ _t59 = _t58 & 0x00000001u; /* 028A006C */ if (_t59) goto L_028A0170; else goto L_028A0070; L_028A0070: ; // 0x28a0070 /* 028A0070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[0]); /* 028A0074 */ cpu->r[9] = cpu->r[0]; /* 028A0078 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0078 */ _t61 = _t60 & 0x00000001u; /* 028A0078 */ if (_t61) goto L_028A007C; else goto L_028A0080; L_028A007C: ; // 0x28a007c /* 028A007C */ cpu->r[9] = cpu->r[19]; L_028A0080: ; // 0x28a0080 /* 028A0080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[4]); /* 028A0084 */ cpu->r[10] = cpu->r[4]; /* 028A0088 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0088 */ _t63 = _t62 & 0x00000001u; /* 028A0088 */ if (_t63) goto L_028A008C; else goto L_028A0090; L_028A008C: ; // 0x28a008c /* 028A008C */ cpu->r[10] = cpu->r[18]; L_028A0090: ; // 0x28a0090 /* 028A0090 */ /* nop */ /* 028A0094 */ cpu->r[11] = cpu->r[9] - cpu->r[10]; /* 028A0098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]); /* 028A009C */ _t64 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A009C */ _t65 = _t64 & 0x00000001u; /* 028A009C */ if (_t65) goto L_028A0170; else goto L_028A00A0; L_028A00A0: ; // 0x28a00a0 /* 028A00A0 */ cpu->r[17] = cpu->r[20]; /* 028A00A4 */ _t66 = cpu->r[17] + 0x00000000u; /* 028A00A4 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[3]); /* 028A00A8 */ _t67 = cpu->r[5] + 0x00000002u; /* 028A00A8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t67); /* 028A00AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[4]); /* 028A00B0 */ _t68 = cpu->r[17] + 0x00000002u; /* 028A00B0 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[9]); /* 028A00B4 */ _t69 = cpu->r[7] + 0x00000000u; /* 028A00B4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t69); /* 028A00B8 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A00B8 */ _t71 = _t70 & 0x00000001u; /* 028A00B8 */ if (_t71) goto L_028A00BC; else goto L_028A00C0; L_028A00BC: ; // 0x28a00bc /* 028A00BC */ cpu->r[4] = cpu->r[18]; L_028A00C0: ; // 0x28a00c0 /* 028A00C0 */ _t72 = cpu->r[17] + 0x00000004u; /* 028A00C0 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[10]); /* 028A00C4 */ _t73 = cpu->r[7] + 0x00000002u; /* 028A00C4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t73); /* 028A00C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[0]); /* 028A00CC */ _t74 = cpu->r[17] + 0x0000001Cu; /* 028A00CC */ rbrew_write32(cpu->mem, _t74, cpu->r[4]); /* 028A00D0 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A00D0 */ _t76 = _t75 & 0x00000001u; /* 028A00D0 */ if (_t76) goto L_028A00D4; else goto L_028A00D8; L_028A00D4: ; // 0x28a00d4 /* 028A00D4 */ cpu->r[0] = cpu->r[19]; L_028A00D8: ; // 0x28a00d8 /* 028A00D8 */ _t77 = cpu->r[17] + 0x00000006u; /* 028A00D8 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[11]); /* 028A00DC */ cpu->r[4] = cpu->r[29]; /* 028A00E0 */ _t78 = cpu->r[17] + 0x00000020u; /* 028A00E0 */ rbrew_write32(cpu->mem, _t78, cpu->r[0]); /* 028A00E4 */ _t79 = cpu->r[5] + 0x00000008u; /* 028A00E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79); /* 028A00E8 */ cpu->r[8] = cpu->r[8] + 0x00000024u; /* 028A00EC */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 028A00F0 */ Gambit_fn_0289DEAC(cpu); /* 028A00F4 */ _t80 = cpu->r[17] + 0x00000008u; /* 028A00F4 */ rbrew_write32(cpu->mem, _t80, cpu->r[3]); /* 028A00F8 */ _t81 = cpu->r[29] + 0x00000000u; /* 028A00F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81); /* 028A00FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]); /* 028A0100 */ cpu->r[20] = cpu->r[20] + 0x00000024u; /* 028A0104 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0104 */ _t83 = _t82 & 0x00000001u; /* 028A0104 */ if (_t83) goto L_028A0108; else goto L_028A06E8; L_028A0108: ; // 0x28a0108 /* 028A0108 */ _t84 = cpu->r[7] + 0x00000008u; /* 028A0108 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84); /* 028A010C */ cpu->r[4] = cpu->r[29]; /* 028A0110 */ Gambit_fn_0289DEAC(cpu); /* 028A0114 */ _t85 = cpu->r[17] + 0x0000000Cu; /* 028A0114 */ rbrew_write32(cpu->mem, _t85, cpu->r[3]); /* 028A0118 */ _t86 = cpu->r[29] + 0x00000000u; /* 028A0118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 028A011C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]); /* 028A0120 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0120 */ _t88 = _t87 & 0x00000001u; /* 028A0120 */ if (_t88) goto L_028A0124; else goto L_028A06E8; L_028A0124: ; // 0x28a0124 /* 028A0124 */ _t89 = cpu->r[5] + 0x00000000u; /* 028A0124 */ cpu->r[0] = rbrew_read16(cpu->mem, _t89); /* 028A0128 */ _t90 = cpu->r[7] + 0x00000000u; /* 028A0128 */ cpu->r[9] = rbrew_read16(cpu->mem, _t90); /* 028A012C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0130 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0134 */ _t91 = cpu->r[4] + cpu->r[25]; /* 028A0134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t91); /* 028A0138 */ _t92 = cpu->r[12] + cpu->r[25]; /* 028A0138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t92); /* 028A013C */ cpu->r[10] = cpu->r[11] + cpu->r[12]; /* 028A0140 */ /* nop */ /* 028A0144 */ cpu->r[0] = cpu->r[4]; /* 028A0148 */ _t93 = cpu->r[17] + 0x00000010u; /* 028A0148 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]); /* 028A014C */ _t94 = cpu->r[17] + 0x00000014u; /* 028A014C */ rbrew_write32(cpu->mem, _t94, cpu->r[0]); /* 028A0150 */ _t95 = cpu->r[7] + 0x00000000u; /* 028A0150 */ cpu->r[10] = rbrew_read16(cpu->mem, _t95); /* 028A0154 */ _t96 = cpu->r[5] + 0x00000000u; /* 028A0154 */ cpu->r[12] = rbrew_read16(cpu->mem, _t96); /* 028A0158 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A015C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0160 */ _t97 = cpu->r[9] + cpu->r[25]; /* 028A0160 */ cpu->r[4] = rbrew_read32(cpu->mem, _t97); /* 028A0164 */ _t98 = cpu->r[11] + cpu->r[25]; /* 028A0164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98); /* 028A0168 */ cpu->r[0] = cpu->r[4] - cpu->r[0]; /* 028A016C */ _t99 = cpu->r[17] + 0x00000018u; /* 028A016C */ rbrew_write32(cpu->mem, _t99, cpu->r[0]); L_028A0170: ; // 0x28a0170 /* 028A0170 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A0174 */ cpu->r[7] = cpu->r[7] + 0x0000000Cu; L_028A0178: ; // 0x28a0178 /* 028A0178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[22]); /* 028A017C */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A017C */ _t101 = _t100 & 0x00000001u; /* 028A017C */ if (_t101) goto L_028A0180; else goto L_028A0188; L_028A0180: ; // 0x28a0180 /* 028A0180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000040u); /* 028A0184 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0184 */ _t103 = _t102 & 0x00000001u; /* 028A0184 */ if (_t103) goto L_028A000C; else goto L_028A0188; L_028A0188: ; // 0x28a0188 /* 028A0188 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A018C */ cpu->r[5] = cpu->r[5] + 0x0000000Cu; L_028A0190: ; // 0x28a0190 /* 028A0190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[22]); /* 028A0194 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0194 */ _t105 = _t104 & 0x00000001u; /* 028A0194 */ if (_t105) goto L_028A0198; else goto L_028A01A0; L_028A0198: ; // 0x28a0198 /* 028A0198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000040u); /* 028A019C */ _t106 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A019C */ _t107 = _t106 & 0x00000001u; /* 028A019C */ if (_t107) goto L_0289FFC0; else goto L_028A01A0; L_028A01A0: ; // 0x28a01a0 /* 028A01A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000001u); /* 028A01A4 */ cpu->r[11] = cpu->r[27] + 0xFFFFFFFFu; /* 028A01A8 */ _t108 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A01A8 */ _t109 = _t108 & 0x00000001u; /* 028A01A8 */ if (_t109) goto L_028A01AC; else goto L_028A0290; L_028A01AC: ; // 0x28a01ac /* 028A01AC */ cpu->r[5] = 0x00000000u; /* 028A01B0 */ cpu->r[12] = cpu->r[28]; L_028A01B4: ; // 0x28a01b4 /* 028A01B4 */ cpu->r[6] = 0x00000003u; /* 028A01B8 */ cpu->r[12] = cpu->r[12] + 0x00000024u; /* 028A01BC */ cpu->r[4] = cpu->r[1] + 0x00000028u; /* 028A01C0 */ cpu->ctr = cpu->r[6]; /* 028A01C4 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFCu; L_028A01C8: ; // 0x28a01c8 /* 028A01C8 */ _t110 = cpu->r[10] + 0x00000004u; /* 028A01C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t110); /* 028A01CC */ _t111 = cpu->r[4] + 0x00000004u; /* 028A01CC */ rbrew_write32(cpu->mem, _t111, cpu->r[7]); /* 028A01D0 */ _t112 = cpu->r[10] + 0x00000008u; /* 028A01D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112); /* 028A01D4 */ _t113 = cpu->r[4] + 0x00000008u; /* 028A01D4 */ rbrew_write32(cpu->mem, _t113, cpu->r[0]); /* 028A01D8 */ _t114 = cpu->r[10] + 0x0000000Cu; /* 028A01D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114); /* 028A01D8 */ cpu->r[10] = _t114; /* 028A01DC */ _t115 = cpu->r[4] + 0x0000000Cu; /* 028A01DC */ rbrew_write32(cpu->mem, _t115, cpu->r[0]); /* 028A01DC */ cpu->r[4] = _t115; /* 028A01E0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A01E0 */ _t116 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A01E0 */ _t117 = _t116 >> (0x00000002u & 31u); /* 028A01E0 */ _t118 = _t117 & 0x00000001u; /* 028A01E0 */ if (_t118) goto L_028A01C8; else goto L_028A01E4; L_028A01E4: ; // 0x28a01e4 /* 028A01E4 */ cpu->r[6] = cpu->r[5]; /* 028A01E8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000024u); /* 028A01EC */ cpu->r[10] = cpu->r[28] + cpu->r[4]; /* 028A01F0 */ _t119 = cpu->r[1] + 0x0000003Cu; /* 028A01F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t119); /* 028A01F4 */ cpu->r[7] = cpu->r[10] + 0x00000024u; /* 028A01F8 */ goto L_028A0238; L_028A01FC: ; // 0x28a01fc /* 028A01FC */ cpu->r[0] = 0x00000003u; /* 028A0200 */ cpu->r[3] = cpu->r[7] + 0xFFFFFFFCu; /* 028A0204 */ cpu->r[10] = cpu->r[28] + cpu->r[4]; /* 028A0208 */ cpu->ctr = cpu->r[0]; /* 028A020C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; L_028A0210: ; // 0x28a0210 /* 028A0210 */ _t120 = cpu->r[10] + 0x00000004u; /* 028A0210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120); /* 028A0214 */ _t121 = cpu->r[3] + 0x00000004u; /* 028A0214 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]); /* 028A0218 */ _t122 = cpu->r[10] + 0x00000008u; /* 028A0218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t122); /* 028A021C */ _t123 = cpu->r[3] + 0x00000008u; /* 028A021C */ rbrew_write32(cpu->mem, _t123, cpu->r[8]); /* 028A0220 */ _t124 = cpu->r[10] + 0x0000000Cu; /* 028A0220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 028A0220 */ cpu->r[10] = _t124; /* 028A0224 */ _t125 = cpu->r[3] + 0x0000000Cu; /* 028A0224 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]); /* 028A0224 */ cpu->r[3] = _t125; /* 028A0228 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A0228 */ _t126 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A0228 */ _t127 = _t126 >> (0x00000002u & 31u); /* 028A0228 */ _t128 = _t127 & 0x00000001u; /* 028A0228 */ if (_t128) goto L_028A0210; else goto L_028A022C; L_028A022C: ; // 0x28a022c /* 028A022C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028A0230 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFDCu; /* 028A0234 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFDCu; L_028A0238: ; // 0x28a0238 /* 028A0238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A023C */ _t129 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A023C */ _t130 = _t129 & 0x00000001u; /* 028A023C */ if (_t130) goto L_028A0250; else goto L_028A0240; L_028A0240: ; // 0x28a0240 /* 028A0240 */ cpu->r[10] = cpu->r[28] + cpu->r[4]; /* 028A0244 */ _t131 = cpu->r[10] + 0x00000010u; /* 028A0244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131); /* 028A0248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]); /* 028A024C */ _t132 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A024C */ _t133 = _t132 & 0x00000001u; /* 028A024C */ if (_t133) goto L_028A01FC; else goto L_028A0250; L_028A0250: ; // 0x28a0250 /* 028A0250 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000024u); /* 028A0254 */ cpu->r[6] = 0x00000003u; /* 028A0258 */ cpu->ctr = cpu->r[6]; /* 028A025C */ cpu->r[9] = cpu->r[28] + cpu->r[0]; /* 028A0260 */ cpu->r[10] = cpu->r[1] + 0x00000028u; /* 028A0264 */ cpu->r[4] = cpu->r[9] + 0x00000020u; L_028A0268: ; // 0x28a0268 /* 028A0268 */ _t134 = cpu->r[10] + 0x00000004u; /* 028A0268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t134); /* 028A026C */ _t135 = cpu->r[4] + 0x00000004u; /* 028A026C */ rbrew_write32(cpu->mem, _t135, cpu->r[0]); /* 028A0270 */ _t136 = cpu->r[10] + 0x00000008u; /* 028A0270 */ cpu->r[8] = rbrew_read32(cpu->mem, _t136); /* 028A0274 */ _t137 = cpu->r[4] + 0x00000008u; /* 028A0274 */ rbrew_write32(cpu->mem, _t137, cpu->r[8]); /* 028A0278 */ _t138 = cpu->r[10] + 0x0000000Cu; /* 028A0278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t138); /* 028A0278 */ cpu->r[10] = _t138; /* 028A027C */ _t139 = cpu->r[4] + 0x0000000Cu; /* 028A027C */ rbrew_write32(cpu->mem, _t139, cpu->r[0]); /* 028A027C */ cpu->r[4] = _t139; /* 028A0280 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A0280 */ _t140 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A0280 */ _t141 = _t140 >> (0x00000002u & 31u); /* 028A0280 */ _t142 = _t141 & 0x00000001u; /* 028A0280 */ if (_t142) goto L_028A0268; else goto L_028A0284; L_028A0284: ; // 0x28a0284 /* 028A0284 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028A0284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A0288 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 028A028C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A028C */ _t144 = _t143 & 0x00000001u; /* 028A028C */ if (_t144) goto L_028A0290; else goto L_028A01B4; L_028A0290: ; // 0x28a0290 /* 028A0290 */ cpu->r[31] = 0x00000000u; /* 028A0294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[27]); /* 028A0298 */ _t145 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0298 */ _t146 = _t145 & 0x00000001u; /* 028A0298 */ if (_t146) goto L_028A029C; else goto L_028A07A4; L_028A029C: ; // 0x28a029c /* 028A029C */ cpu->r[0] = 0x80000000u; /* 028A02A0 */ cpu->r[8] = cpu->r[28]; /* 028A02A4 */ cpu->r[0] = cpu->r[0] | 0x00000001u; L_028A02A8: ; // 0x28a02a8 /* 028A02A8 */ cpu->r[6] = cpu->r[31] + 0x00000001u; /* 028A02AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A02B0 */ cpu->r[7] = cpu->r[8]; /* 028A02B4 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A02B4 */ _t148 = _t147 & 0x00000001u; /* 028A02B4 */ if (_t148) goto L_028A02B8; else goto L_028A0794; L_028A02B8: ; // 0x28a02b8 /* 028A02B8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000024u); /* 028A02BC */ cpu->r[11] = 0x00000000u; /* 028A02C0 */ cpu->r[5] = cpu->r[28] + cpu->r[10]; L_028A02C4: ; // 0x28a02c4 /* 028A02C4 */ _t149 = cpu->r[5] + 0x00000010u; /* 028A02C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t149); /* 028A02C8 */ _t150 = cpu->r[7] + 0x00000010u; /* 028A02C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t150); /* 028A02CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]); /* 028A02D0 */ _t151 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A02D0 */ _t152 = _t151 & 0x00000001u; /* 028A02D0 */ if (_t152) goto L_028A0794; else goto L_028A02D4; L_028A02D4: ; // 0x28a02d4 /* 028A02D4 */ _t153 = cpu->r[7] + 0x00000018u; /* 028A02D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t153); /* 028A02D8 */ _t154 = cpu->r[5] + 0x00000018u; /* 028A02D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t154); /* 028A02DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]); /* 028A02E0 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A02E0 */ _t156 = _t155 & 0x00000001u; /* 028A02E0 */ if (_t156) goto L_028A02E4; else goto L_028A0784; L_028A02E4: ; // 0x28a02e4 /* 028A02E4 */ cpu->r[9] = 0x00000003u; /* 028A02E8 */ cpu->r[12] = 0x00000000u; /* 028A02EC */ cpu->ctr = cpu->r[9]; /* 028A02F0 */ cpu->r[4] = cpu->r[1] + 0x00000004u; L_028A02F4: ; // 0x28a02f4 /* 028A02F4 */ _t157 = cpu->r[4] + 0x00000004u; /* 028A02F4 */ rbrew_write32(cpu->mem, _t157, cpu->r[12]); /* 028A02F8 */ _t158 = cpu->r[4] + 0x00000008u; /* 028A02F8 */ rbrew_write32(cpu->mem, _t158, cpu->r[12]); /* 028A02FC */ _t159 = cpu->r[4] + 0x0000000Cu; /* 028A02FC */ rbrew_write32(cpu->mem, _t159, cpu->r[12]); /* 028A02FC */ cpu->r[4] = _t159; /* 028A0300 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A0300 */ _t160 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A0300 */ _t161 = _t160 >> (0x00000002u & 31u); /* 028A0300 */ _t162 = _t161 & 0x00000001u; /* 028A0300 */ if (_t162) goto L_028A02F4; else goto L_028A0304; L_028A0304: ; // 0x28a0304 /* 028A0304 */ _t163 = cpu->r[7] + 0x00000000u; /* 028A0304 */ cpu->r[12] = rbrew_read16(cpu->mem, _t163); /* 028A0308 */ _t164 = cpu->r[7] + 0x00000002u; /* 028A0308 */ cpu->r[9] = rbrew_read16(cpu->mem, _t164); /* 028A030C */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0310 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0314 */ _t165 = cpu->r[3] + cpu->r[26]; /* 028A0314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t165); /* 028A0318 */ _t166 = cpu->r[10] + cpu->r[26]; /* 028A0318 */ cpu->r[4] = rbrew_read32(cpu->mem, _t166); /* 028A031C */ _t167 = cpu->r[5] + 0x00000000u; /* 028A031C */ cpu->r[10] = rbrew_read16(cpu->mem, _t167); /* 028A0320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 028A0324 */ _t168 = cpu->r[5] + 0x00000002u; /* 028A0324 */ cpu->r[3] = rbrew_read16(cpu->mem, _t168); /* 028A0328 */ _t169 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0328 */ _t170 = _t169 & 0x00000001u; /* 028A0328 */ if (_t170) goto L_028A032C; else goto L_028A0338; L_028A032C: ; // 0x28a032c /* 028A032C */ cpu->r[20] = cpu->r[12]; /* 028A0330 */ cpu->r[12] = cpu->r[9]; /* 028A0334 */ cpu->r[9] = cpu->r[20]; L_028A0338: ; // 0x28a0338 /* 028A0338 */ cpu->r[21] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A033C */ cpu->r[23] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0340 */ _t171 = cpu->r[26] + cpu->r[21]; /* 028A0340 */ cpu->r[21] = rbrew_read32(cpu->mem, _t171); /* 028A0344 */ _t172 = cpu->r[26] + cpu->r[23]; /* 028A0344 */ cpu->r[22] = rbrew_read32(cpu->mem, _t172); /* 028A0348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[22]); /* 028A034C */ _t173 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A034C */ _t174 = _t173 & 0x00000001u; /* 028A034C */ if (_t174) goto L_028A0350; else goto L_028A036C; L_028A0350: ; // 0x28a0350 /* 028A0350 */ cpu->r[20] = cpu->r[10]; /* 028A0354 */ cpu->r[10] = cpu->r[3]; /* 028A0358 */ cpu->r[3] = cpu->r[20]; /* 028A035C */ cpu->r[21] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0360 */ cpu->r[23] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0364 */ _t175 = cpu->r[26] + cpu->r[21]; /* 028A0364 */ cpu->r[21] = rbrew_read32(cpu->mem, _t175); /* 028A0368 */ _t176 = cpu->r[26] + cpu->r[23]; /* 028A0368 */ cpu->r[22] = rbrew_read32(cpu->mem, _t176); L_028A036C: ; // 0x28a036c /* 028A036C */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0370 */ _t177 = cpu->r[4] + cpu->r[26]; /* 028A0370 */ cpu->r[4] = rbrew_read32(cpu->mem, _t177); /* 028A0374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[21]); /* 028A0378 */ _t178 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0378 */ _t179 = _t178 & 0x00000001u; /* 028A0378 */ if (_t179) goto L_028A037C; else goto L_028A0390; L_028A037C: ; // 0x28a037c /* 028A037C */ cpu->r[20] = cpu->r[12]; /* 028A0380 */ cpu->r[12] = cpu->r[10]; /* 028A0384 */ cpu->r[10] = cpu->r[20]; /* 028A0388 */ cpu->r[21] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A038C */ _t180 = cpu->r[26] + cpu->r[21]; /* 028A038C */ cpu->r[21] = rbrew_read32(cpu->mem, _t180); L_028A0390: ; // 0x28a0390 /* 028A0390 */ cpu->r[23] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0394 */ _t181 = cpu->r[26] + cpu->r[23]; /* 028A0394 */ cpu->r[23] = rbrew_read32(cpu->mem, _t181); /* 028A0398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[22]); /* 028A039C */ _t182 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A039C */ _t183 = _t182 & 0x00000001u; /* 028A039C */ if (_t183) goto L_028A03A0; else goto L_028A03B4; L_028A03A0: ; // 0x28a03a0 /* 028A03A0 */ cpu->r[20] = cpu->r[9]; /* 028A03A4 */ cpu->r[9] = cpu->r[3]; /* 028A03A8 */ cpu->r[23] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A03AC */ _t184 = cpu->r[26] + cpu->r[23]; /* 028A03AC */ cpu->r[23] = rbrew_read32(cpu->mem, _t184); /* 028A03B0 */ cpu->r[3] = cpu->r[20]; L_028A03B4: ; // 0x28a03b4 /* 028A03B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[21]); /* 028A03B8 */ _t185 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A03B8 */ _t186 = _t185 & 0x00000001u; /* 028A03B8 */ if (_t186) goto L_028A03BC; else goto L_028A03C8; L_028A03BC: ; // 0x28a03bc /* 028A03BC */ cpu->r[20] = cpu->r[9]; /* 028A03C0 */ cpu->r[9] = cpu->r[10]; /* 028A03C4 */ cpu->r[10] = cpu->r[20]; L_028A03C8: ; // 0x28a03c8 /* 028A03C8 */ cpu->r[24] = cpu->r[12]; /* 028A03CC */ cpu->r[4] = cpu->r[3]; /* 028A03D0 */ _t187 = cpu->r[1] + 0x00000008u; /* 028A03D0 */ rbrew_write16(cpu->mem, _t187, (uint16_t)cpu->r[24]); /* 028A03D4 */ _t188 = cpu->r[1] + 0x0000000Au; /* 028A03D4 */ rbrew_write16(cpu->mem, _t188, (uint16_t)cpu->r[4]); /* 028A03D8 */ _t189 = cpu->r[7] + 0x00000008u; /* 028A03D8 */ cpu->r[22] = rbrew_read32(cpu->mem, _t189); /* 028A03DC */ cpu->r[23] = cpu->r[22]; /* 028A03DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A03E0 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A03E0 */ _t191 = _t190 & 0x00000001u; /* 028A03E0 */ if (_t191) goto L_028A0418; else goto L_028A03E4; L_028A03E4: ; // 0x28a03e4 /* 028A03E4 */ _t192 = cpu->r[22] + 0x00000004u; /* 028A03E4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t192); /* 028A03E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A03EC */ _t193 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A03EC */ _t194 = _t193 & 0x00000001u; /* 028A03EC */ if (_t194) goto L_028A0400; else goto L_028A03F0; L_028A03F0: ; // 0x28a03f0 /* 028A03F0 */ cpu->r[22] = cpu->r[21]; /* 028A03F4 */ _t195 = cpu->r[22] + 0x00000004u; /* 028A03F4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t195); /* 028A03F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A03FC */ _t196 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A03FC */ _t197 = _t196 & 0x00000001u; /* 028A03FC */ if (_t197) goto L_028A0400; else goto L_028A03F0; L_028A0400: ; // 0x28a0400 /* 028A0400 */ _t198 = cpu->r[5] + 0x00000008u; /* 028A0400 */ cpu->r[21] = rbrew_read32(cpu->mem, _t198); /* 028A0404 */ _t199 = cpu->r[22] + 0x00000004u; /* 028A0404 */ rbrew_write32(cpu->mem, _t199, cpu->r[21]); /* 028A0408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]); /* 028A040C */ _t200 = cpu->r[5] + 0x00000008u; /* 028A040C */ rbrew_write32(cpu->mem, _t200, cpu->r[11]); /* 028A0410 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0410 */ _t202 = _t201 & 0x00000001u; /* 028A0410 */ if (_t202) goto L_028A0450; else goto L_028A0414; L_028A0414: ; // 0x28a0414 /* 028A0414 */ goto L_028A0428; L_028A0418: ; // 0x28a0418 /* 028A0418 */ _t203 = cpu->r[5] + 0x00000008u; /* 028A0418 */ cpu->r[23] = rbrew_read32(cpu->mem, _t203); /* 028A041C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]); /* 028A0420 */ _t204 = cpu->r[5] + 0x00000008u; /* 028A0420 */ rbrew_write32(cpu->mem, _t204, cpu->r[11]); /* 028A0424 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0424 */ _t206 = _t205 & 0x00000001u; /* 028A0424 */ if (_t206) goto L_028A0450; else goto L_028A0428; L_028A0428: ; // 0x28a0428 /* 028A0428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[3]); /* 028A042C */ _t207 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A042C */ _t208 = _t207 & 0x00000001u; /* 028A042C */ if (_t208) goto L_028A0450; else goto L_028A0430; L_028A0430: ; // 0x28a0430 /* 028A0430 */ _t209 = cpu->r[29] + 0x00000000u; /* 028A0430 */ cpu->r[22] = rbrew_read32(cpu->mem, _t209); /* 028A0434 */ _t210 = cpu->r[22] + 0x00000000u; /* 028A0434 */ rbrew_write16(cpu->mem, _t210, (uint16_t)cpu->r[9]); /* 028A0438 */ _t211 = cpu->r[22] + 0x00000004u; /* 028A0438 */ rbrew_write32(cpu->mem, _t211, cpu->r[11]); /* 028A043C */ _t212 = cpu->r[29] + 0x00000000u; /* 028A043C */ cpu->r[9] = rbrew_read32(cpu->mem, _t212); /* 028A0440 */ cpu->r[9] = cpu->r[9] + 0x00000008u; /* 028A0444 */ _t213 = cpu->r[29] + 0x00000000u; /* 028A0444 */ rbrew_write32(cpu->mem, _t213, cpu->r[9]); /* 028A0448 */ _t214 = cpu->r[22] + 0x00000004u; /* 028A0448 */ rbrew_write32(cpu->mem, _t214, cpu->r[23]); /* 028A044C */ cpu->r[23] = cpu->r[22]; L_028A0450: ; // 0x28a0450 /* 028A0450 */ _t215 = cpu->r[29] + 0x00000000u; /* 028A0450 */ cpu->r[9] = rbrew_read32(cpu->mem, _t215); /* 028A0454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]); /* 028A0458 */ _t216 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0458 */ _t217 = _t216 & 0x00000001u; /* 028A0458 */ if (_t217) goto L_028A0474; else goto L_028A045C; L_028A045C: ; // 0x28a045c /* 028A045C */ /* nop */ /* 028A0460 */ _t218 = cpu->r[1] + 0x00000094u; /* 028A0460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t218); /* 028A0464 */ cpu->lr = cpu->r[0]; /* 028A0468 */ cpu->r[1] = cpu->r[1] + 0x00000090u; /* 028A046C */ cpu->r[3] = 0x00000000u; /* 028A0470 */ return; L_028A0474: ; // 0x28a0474 /* 028A0474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 028A0478 */ _t219 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0478 */ _t220 = _t219 & 0x00000001u; /* 028A0478 */ if (_t220) goto L_028A0484; else goto L_028A047C; L_028A047C: ; // 0x28a047c /* 028A047C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]); /* 028A0480 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0480 */ _t222 = _t221 & 0x00000001u; /* 028A0480 */ if (_t222) goto L_028A0484; else goto L_028A04B4; L_028A0484: ; // 0x28a0484 /* 028A0484 */ _t223 = cpu->r[1] + 0x00000010u; /* 028A0484 */ rbrew_write32(cpu->mem, _t223, cpu->r[23]); /* 028A0488 */ _t224 = cpu->r[7] + 0x00000004u; /* 028A0488 */ cpu->r[12] = rbrew_read16(cpu->mem, _t224); /* 028A048C */ _t225 = cpu->r[7] + 0x00000006u; /* 028A048C */ cpu->r[9] = rbrew_read16(cpu->mem, _t225); /* 028A0490 */ cpu->r[23] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0494 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0498 */ _t226 = cpu->r[23] + cpu->r[26]; /* 028A0498 */ cpu->r[23] = rbrew_read32(cpu->mem, _t226); /* 028A049C */ _t227 = cpu->r[10] + cpu->r[26]; /* 028A049C */ cpu->r[3] = rbrew_read32(cpu->mem, _t227); /* 028A04A0 */ _t228 = cpu->r[5] + 0x00000004u; /* 028A04A0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t228); /* 028A04A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[3]); /* 028A04A8 */ _t229 = cpu->r[5] + 0x00000006u; /* 028A04A8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t229); /* 028A04AC */ _t230 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A04AC */ _t231 = _t230 & 0x00000001u; /* 028A04AC */ if (_t231) goto L_028A04B0; else goto L_028A0510; L_028A04B0: ; // 0x28a04b0 /* 028A04B0 */ goto L_028A0504; L_028A04B4: ; // 0x28a04b4 /* 028A04B4 */ _t232 = cpu->r[9] + 0x00000000u; /* 028A04B4 */ rbrew_write16(cpu->mem, _t232, (uint16_t)cpu->r[10]); /* 028A04B8 */ _t233 = cpu->r[9] + 0x00000004u; /* 028A04B8 */ rbrew_write32(cpu->mem, _t233, cpu->r[11]); /* 028A04BC */ _t234 = cpu->r[29] + 0x00000000u; /* 028A04BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t234); /* 028A04C0 */ cpu->r[12] = cpu->r[12] + 0x00000008u; /* 028A04C4 */ _t235 = cpu->r[29] + 0x00000000u; /* 028A04C4 */ rbrew_write32(cpu->mem, _t235, cpu->r[12]); /* 028A04C8 */ _t236 = cpu->r[9] + 0x00000004u; /* 028A04C8 */ rbrew_write32(cpu->mem, _t236, cpu->r[23]); /* 028A04CC */ _t237 = cpu->r[1] + 0x00000010u; /* 028A04CC */ rbrew_write32(cpu->mem, _t237, cpu->r[9]); /* 028A04D0 */ _t238 = cpu->r[29] + 0x00000000u; /* 028A04D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t238); /* 028A04D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]); /* 028A04D8 */ _t239 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A04D8 */ _t240 = _t239 & 0x00000001u; /* 028A04D8 */ if (_t240) goto L_028A04DC; else goto L_028A06E8; L_028A04DC: ; // 0x28a04dc /* 028A04DC */ _t241 = cpu->r[7] + 0x00000004u; /* 028A04DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t241); /* 028A04E0 */ _t242 = cpu->r[7] + 0x00000006u; /* 028A04E0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t242); /* 028A04E4 */ cpu->r[23] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A04E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A04EC */ _t243 = cpu->r[23] + cpu->r[26]; /* 028A04EC */ cpu->r[23] = rbrew_read32(cpu->mem, _t243); /* 028A04F0 */ _t244 = cpu->r[10] + cpu->r[26]; /* 028A04F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t244); /* 028A04F4 */ _t245 = cpu->r[5] + 0x00000004u; /* 028A04F4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t245); /* 028A04F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[3]); /* 028A04FC */ _t246 = cpu->r[5] + 0x00000006u; /* 028A04FC */ cpu->r[3] = rbrew_read16(cpu->mem, _t246); /* 028A0500 */ _t247 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0500 */ _t248 = _t247 & 0x00000001u; /* 028A0500 */ if (_t248) goto L_028A0504; else goto L_028A0510; L_028A0504: ; // 0x28a0504 /* 028A0504 */ cpu->r[20] = cpu->r[12]; /* 028A0508 */ cpu->r[12] = cpu->r[9]; /* 028A050C */ cpu->r[9] = cpu->r[20]; L_028A0510: ; // 0x28a0510 /* 028A0510 */ cpu->r[21] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0514 */ cpu->r[23] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0518 */ _t249 = cpu->r[26] + cpu->r[21]; /* 028A0518 */ cpu->r[21] = rbrew_read32(cpu->mem, _t249); /* 028A051C */ _t250 = cpu->r[26] + cpu->r[23]; /* 028A051C */ cpu->r[22] = rbrew_read32(cpu->mem, _t250); /* 028A0520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[22]); /* 028A0524 */ _t251 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0524 */ _t252 = _t251 & 0x00000001u; /* 028A0524 */ if (_t252) goto L_028A0528; else goto L_028A0544; L_028A0528: ; // 0x28a0528 /* 028A0528 */ cpu->r[20] = cpu->r[10]; /* 028A052C */ cpu->r[10] = cpu->r[3]; /* 028A0530 */ cpu->r[3] = cpu->r[20]; /* 028A0534 */ cpu->r[21] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0538 */ cpu->r[23] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A053C */ _t253 = cpu->r[26] + cpu->r[21]; /* 028A053C */ cpu->r[21] = rbrew_read32(cpu->mem, _t253); /* 028A0540 */ _t254 = cpu->r[26] + cpu->r[23]; /* 028A0540 */ cpu->r[22] = rbrew_read32(cpu->mem, _t254); L_028A0544: ; // 0x28a0544 /* 028A0544 */ cpu->r[23] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0548 */ _t255 = cpu->r[23] + cpu->r[26]; /* 028A0548 */ cpu->r[23] = rbrew_read32(cpu->mem, _t255); /* 028A054C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[21]); /* 028A0550 */ _t256 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0550 */ _t257 = _t256 & 0x00000001u; /* 028A0550 */ if (_t257) goto L_028A0554; else goto L_028A0568; L_028A0554: ; // 0x28a0554 /* 028A0554 */ cpu->r[20] = cpu->r[12]; /* 028A0558 */ cpu->r[12] = cpu->r[10]; /* 028A055C */ cpu->r[10] = cpu->r[20]; /* 028A0560 */ cpu->r[21] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0564 */ _t258 = cpu->r[26] + cpu->r[21]; /* 028A0564 */ cpu->r[21] = rbrew_read32(cpu->mem, _t258); L_028A0568: ; // 0x28a0568 /* 028A0568 */ cpu->r[23] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A056C */ _t259 = cpu->r[26] + cpu->r[23]; /* 028A056C */ cpu->r[23] = rbrew_read32(cpu->mem, _t259); /* 028A0570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[22]); /* 028A0574 */ _t260 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0574 */ _t261 = _t260 & 0x00000001u; /* 028A0574 */ if (_t261) goto L_028A0578; else goto L_028A058C; L_028A0578: ; // 0x28a0578 /* 028A0578 */ cpu->r[20] = cpu->r[9]; /* 028A057C */ cpu->r[9] = cpu->r[3]; /* 028A0580 */ cpu->r[23] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0584 */ _t262 = cpu->r[26] + cpu->r[23]; /* 028A0584 */ cpu->r[23] = rbrew_read32(cpu->mem, _t262); /* 028A0588 */ cpu->r[3] = cpu->r[20]; L_028A058C: ; // 0x28a058c /* 028A058C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[21]); /* 028A0590 */ _t263 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0590 */ _t264 = _t263 & 0x00000001u; /* 028A0590 */ if (_t264) goto L_028A0594; else goto L_028A05A0; L_028A0594: ; // 0x28a0594 /* 028A0594 */ cpu->r[20] = cpu->r[9]; /* 028A0598 */ cpu->r[9] = cpu->r[10]; /* 028A059C */ cpu->r[10] = cpu->r[20]; L_028A05A0: ; // 0x28a05a0 /* 028A05A0 */ _t265 = cpu->r[1] + 0x0000000Eu; /* 028A05A0 */ rbrew_write16(cpu->mem, _t265, (uint16_t)cpu->r[3]); /* 028A05A4 */ _t266 = cpu->r[1] + 0x0000000Cu; /* 028A05A4 */ rbrew_write16(cpu->mem, _t266, (uint16_t)cpu->r[12]); /* 028A05A8 */ _t267 = cpu->r[7] + 0x0000000Cu; /* 028A05A8 */ cpu->r[22] = rbrew_read32(cpu->mem, _t267); /* 028A05AC */ cpu->r[23] = cpu->r[22]; /* 028A05AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A05B0 */ _t268 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A05B0 */ _t269 = _t268 & 0x00000001u; /* 028A05B0 */ if (_t269) goto L_028A05E8; else goto L_028A05B4; L_028A05B4: ; // 0x28a05b4 /* 028A05B4 */ _t270 = cpu->r[22] + 0x00000004u; /* 028A05B4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t270); /* 028A05B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A05BC */ _t271 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A05BC */ _t272 = _t271 & 0x00000001u; /* 028A05BC */ if (_t272) goto L_028A05D0; else goto L_028A05C0; L_028A05C0: ; // 0x28a05c0 /* 028A05C0 */ cpu->r[22] = cpu->r[21]; /* 028A05C4 */ _t273 = cpu->r[22] + 0x00000004u; /* 028A05C4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t273); /* 028A05C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A05CC */ _t274 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A05CC */ _t275 = _t274 & 0x00000001u; /* 028A05CC */ if (_t275) goto L_028A05D0; else goto L_028A05C0; L_028A05D0: ; // 0x28a05d0 /* 028A05D0 */ _t276 = cpu->r[5] + 0x0000000Cu; /* 028A05D0 */ cpu->r[21] = rbrew_read32(cpu->mem, _t276); /* 028A05D4 */ _t277 = cpu->r[22] + 0x00000004u; /* 028A05D4 */ rbrew_write32(cpu->mem, _t277, cpu->r[21]); /* 028A05D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]); /* 028A05DC */ _t278 = cpu->r[5] + 0x0000000Cu; /* 028A05DC */ rbrew_write32(cpu->mem, _t278, cpu->r[11]); /* 028A05E0 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A05E0 */ _t280 = _t279 & 0x00000001u; /* 028A05E0 */ if (_t280) goto L_028A0620; else goto L_028A05E4; L_028A05E4: ; // 0x28a05e4 /* 028A05E4 */ goto L_028A05F8; L_028A05E8: ; // 0x28a05e8 /* 028A05E8 */ _t281 = cpu->r[5] + 0x0000000Cu; /* 028A05E8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t281); /* 028A05EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]); /* 028A05F0 */ _t282 = cpu->r[5] + 0x0000000Cu; /* 028A05F0 */ rbrew_write32(cpu->mem, _t282, cpu->r[11]); /* 028A05F4 */ _t283 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A05F4 */ _t284 = _t283 & 0x00000001u; /* 028A05F4 */ if (_t284) goto L_028A0620; else goto L_028A05F8; L_028A05F8: ; // 0x28a05f8 /* 028A05F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[3]); /* 028A05FC */ _t285 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A05FC */ _t286 = _t285 & 0x00000001u; /* 028A05FC */ if (_t286) goto L_028A0620; else goto L_028A0600; L_028A0600: ; // 0x28a0600 /* 028A0600 */ _t287 = cpu->r[29] + 0x00000000u; /* 028A0600 */ cpu->r[22] = rbrew_read32(cpu->mem, _t287); /* 028A0604 */ _t288 = cpu->r[22] + 0x00000000u; /* 028A0604 */ rbrew_write16(cpu->mem, _t288, (uint16_t)cpu->r[9]); /* 028A0608 */ _t289 = cpu->r[22] + 0x00000004u; /* 028A0608 */ rbrew_write32(cpu->mem, _t289, cpu->r[11]); /* 028A060C */ _t290 = cpu->r[29] + 0x00000000u; /* 028A060C */ cpu->r[9] = rbrew_read32(cpu->mem, _t290); /* 028A0610 */ cpu->r[9] = cpu->r[9] + 0x00000008u; /* 028A0614 */ _t291 = cpu->r[29] + 0x00000000u; /* 028A0614 */ rbrew_write32(cpu->mem, _t291, cpu->r[9]); /* 028A0618 */ _t292 = cpu->r[22] + 0x00000004u; /* 028A0618 */ rbrew_write32(cpu->mem, _t292, cpu->r[23]); /* 028A061C */ cpu->r[23] = cpu->r[22]; L_028A0620: ; // 0x28a0620 /* 028A0620 */ _t293 = cpu->r[29] + 0x00000000u; /* 028A0620 */ cpu->r[9] = rbrew_read32(cpu->mem, _t293); /* 028A0624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]); /* 028A0628 */ _t294 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0628 */ _t295 = _t294 & 0x00000001u; /* 028A0628 */ if (_t295) goto L_028A0644; else goto L_028A062C; L_028A062C: ; // 0x28a062c /* 028A062C */ /* nop */ /* 028A0630 */ _t296 = cpu->r[1] + 0x00000094u; /* 028A0630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t296); /* 028A0634 */ cpu->lr = cpu->r[0]; /* 028A0638 */ cpu->r[1] = cpu->r[1] + 0x00000090u; /* 028A063C */ cpu->r[3] = 0x00000000u; /* 028A0640 */ return; L_028A0644: ; // 0x28a0644 /* 028A0644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 028A0648 */ _t297 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0648 */ _t298 = _t297 & 0x00000001u; /* 028A0648 */ if (_t298) goto L_028A0654; else goto L_028A064C; L_028A064C: ; // 0x28a064c /* 028A064C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]); /* 028A0650 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0650 */ _t300 = _t299 & 0x00000001u; /* 028A0650 */ if (_t300) goto L_028A0654; else goto L_028A06C0; L_028A0654: ; // 0x28a0654 /* 028A0654 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0658 */ _t301 = cpu->r[1] + 0x00000014u; /* 028A0658 */ rbrew_write32(cpu->mem, _t301, cpu->r[23]); /* 028A065C */ cpu->r[10] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0660 */ _t302 = cpu->r[9] + cpu->r[26]; /* 028A0660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t302); /* 028A0664 */ _t303 = cpu->r[10] + cpu->r[26]; /* 028A0664 */ cpu->r[10] = rbrew_read32(cpu->mem, _t303); /* 028A0668 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A066C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]); /* 028A0670 */ _t304 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0670 */ _t305 = _t304 & 0x00000001u; /* 028A0670 */ if (_t305) goto L_028A0674; else goto L_028A0678; L_028A0674: ; // 0x28a0674 /* 028A0674 */ cpu->r[9] = cpu->r[10]; L_028A0678: ; // 0x28a0678 /* 028A0678 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A067C */ _t306 = cpu->r[1] + 0x00000024u; /* 028A067C */ rbrew_write32(cpu->mem, _t306, cpu->r[9]); /* 028A0680 */ _t307 = cpu->r[12] + cpu->r[26]; /* 028A0680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t307); /* 028A0684 */ _t308 = cpu->r[10] + cpu->r[26]; /* 028A0684 */ cpu->r[4] = rbrew_read32(cpu->mem, _t308); /* 028A0688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 028A068C */ _t309 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A068C */ _t310 = _t309 & 0x00000001u; /* 028A068C */ if (_t310) goto L_028A0690; else goto L_028A0694; L_028A0690: ; // 0x28a0690 /* 028A0690 */ cpu->r[12] = cpu->r[4]; L_028A0694: ; // 0x28a0694 /* 028A0694 */ cpu->r[10] = 0x00000003u; /* 028A0698 */ _t311 = cpu->r[1] + 0x00000028u; /* 028A0698 */ rbrew_write32(cpu->mem, _t311, cpu->r[12]); /* 028A069C */ _t312 = cpu->r[7] + 0x00000010u; /* 028A069C */ cpu->r[4] = rbrew_read32(cpu->mem, _t312); /* 028A06A0 */ cpu->ctr = cpu->r[10]; /* 028A06A4 */ _t313 = cpu->r[1] + 0x0000001Cu; /* 028A06A4 */ rbrew_write32(cpu->mem, _t313, cpu->r[4]); /* 028A06A8 */ _t314 = cpu->r[1] + 0x00000018u; /* 028A06A8 */ rbrew_write32(cpu->mem, _t314, cpu->r[4]); /* 028A06AC */ _t315 = cpu->r[7] + 0x00000018u; /* 028A06AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t315); /* 028A06B0 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFCu; /* 028A06B4 */ cpu->r[3] = cpu->r[1] + 0x00000004u; /* 028A06B8 */ _t316 = cpu->r[1] + 0x00000020u; /* 028A06B8 */ rbrew_write32(cpu->mem, _t316, cpu->r[9]); /* 028A06BC */ goto L_028A0764; L_028A06C0: ; // 0x28a06c0 /* 028A06C0 */ _t317 = cpu->r[9] + 0x00000000u; /* 028A06C0 */ rbrew_write16(cpu->mem, _t317, (uint16_t)cpu->r[10]); /* 028A06C4 */ _t318 = cpu->r[9] + 0x00000004u; /* 028A06C4 */ rbrew_write32(cpu->mem, _t318, cpu->r[11]); /* 028A06C8 */ _t319 = cpu->r[29] + 0x00000000u; /* 028A06C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t319); /* 028A06CC */ cpu->r[10] = cpu->r[10] + 0x00000008u; /* 028A06D0 */ _t320 = cpu->r[29] + 0x00000000u; /* 028A06D0 */ rbrew_write32(cpu->mem, _t320, cpu->r[10]); /* 028A06D4 */ _t321 = cpu->r[9] + 0x00000004u; /* 028A06D4 */ rbrew_write32(cpu->mem, _t321, cpu->r[23]); /* 028A06D8 */ _t322 = cpu->r[1] + 0x00000014u; /* 028A06D8 */ rbrew_write32(cpu->mem, _t322, cpu->r[9]); /* 028A06DC */ _t323 = cpu->r[29] + 0x00000000u; /* 028A06DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t323); /* 028A06E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]); /* 028A06E4 */ _t324 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A06E4 */ _t325 = _t324 & 0x00000001u; /* 028A06E4 */ if (_t325) goto L_028A0700; else goto L_028A06E8; L_028A06E8: ; // 0x28a06e8 /* 028A06E8 */ /* nop */ /* 028A06EC */ _t326 = cpu->r[1] + 0x00000094u; /* 028A06EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t326); /* 028A06F0 */ cpu->lr = cpu->r[0]; /* 028A06F4 */ cpu->r[1] = cpu->r[1] + 0x00000090u; /* 028A06F8 */ cpu->r[3] = 0x00000000u; /* 028A06FC */ return; L_028A0700: ; // 0x28a0700 /* 028A0700 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0704 */ cpu->r[10] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0708 */ _t327 = cpu->r[9] + cpu->r[26]; /* 028A0708 */ cpu->r[9] = rbrew_read32(cpu->mem, _t327); /* 028A070C */ _t328 = cpu->r[10] + cpu->r[26]; /* 028A070C */ cpu->r[10] = rbrew_read32(cpu->mem, _t328); /* 028A0710 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]); /* 028A0718 */ _t329 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0718 */ _t330 = _t329 & 0x00000001u; /* 028A0718 */ if (_t330) goto L_028A071C; else goto L_028A0720; L_028A071C: ; // 0x28a071c /* 028A071C */ cpu->r[9] = cpu->r[10]; L_028A0720: ; // 0x28a0720 /* 028A0720 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0724 */ _t331 = cpu->r[1] + 0x00000024u; /* 028A0724 */ rbrew_write32(cpu->mem, _t331, cpu->r[9]); /* 028A0728 */ _t332 = cpu->r[12] + cpu->r[26]; /* 028A0728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t332); /* 028A072C */ _t333 = cpu->r[10] + cpu->r[26]; /* 028A072C */ cpu->r[4] = rbrew_read32(cpu->mem, _t333); /* 028A0730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]); /* 028A0734 */ _t334 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0734 */ _t335 = _t334 & 0x00000001u; /* 028A0734 */ if (_t335) goto L_028A0738; else goto L_028A073C; L_028A0738: ; // 0x28a0738 /* 028A0738 */ cpu->r[12] = cpu->r[4]; L_028A073C: ; // 0x28a073c /* 028A073C */ cpu->r[10] = 0x00000003u; /* 028A0740 */ _t336 = cpu->r[1] + 0x00000028u; /* 028A0740 */ rbrew_write32(cpu->mem, _t336, cpu->r[12]); /* 028A0744 */ _t337 = cpu->r[7] + 0x00000010u; /* 028A0744 */ cpu->r[4] = rbrew_read32(cpu->mem, _t337); /* 028A0748 */ cpu->ctr = cpu->r[10]; /* 028A074C */ _t338 = cpu->r[1] + 0x0000001Cu; /* 028A074C */ rbrew_write32(cpu->mem, _t338, cpu->r[4]); /* 028A0750 */ _t339 = cpu->r[1] + 0x00000018u; /* 028A0750 */ rbrew_write32(cpu->mem, _t339, cpu->r[4]); /* 028A0754 */ _t340 = cpu->r[7] + 0x00000018u; /* 028A0754 */ cpu->r[9] = rbrew_read32(cpu->mem, _t340); /* 028A0758 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFCu; /* 028A075C */ cpu->r[3] = cpu->r[1] + 0x00000004u; /* 028A0760 */ _t341 = cpu->r[1] + 0x00000020u; /* 028A0760 */ rbrew_write32(cpu->mem, _t341, cpu->r[9]); L_028A0764: ; // 0x28a0764 /* 028A0764 */ _t342 = cpu->r[3] + 0x00000004u; /* 028A0764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t342); /* 028A0768 */ _t343 = cpu->r[10] + 0x00000004u; /* 028A0768 */ rbrew_write32(cpu->mem, _t343, cpu->r[12]); /* 028A076C */ _t344 = cpu->r[3] + 0x00000008u; /* 028A076C */ cpu->r[4] = rbrew_read32(cpu->mem, _t344); /* 028A0770 */ _t345 = cpu->r[10] + 0x00000008u; /* 028A0770 */ rbrew_write32(cpu->mem, _t345, cpu->r[4]); /* 028A0774 */ _t346 = cpu->r[3] + 0x0000000Cu; /* 028A0774 */ cpu->r[9] = rbrew_read32(cpu->mem, _t346); /* 028A0774 */ cpu->r[3] = _t346; /* 028A0778 */ _t347 = cpu->r[10] + 0x0000000Cu; /* 028A0778 */ rbrew_write32(cpu->mem, _t347, cpu->r[9]); /* 028A0778 */ cpu->r[10] = _t347; /* 028A077C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A077C */ _t348 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A077C */ _t349 = _t348 >> (0x00000002u & 31u); /* 028A077C */ _t350 = _t349 & 0x00000001u; /* 028A077C */ if (_t350) goto L_028A0764; else goto L_028A0780; L_028A0780: ; // 0x28a0780 /* 028A0780 */ _t351 = cpu->r[5] + 0x00000018u; /* 028A0780 */ rbrew_write32(cpu->mem, _t351, cpu->r[0]); L_028A0784: ; // 0x28a0784 /* 028A0784 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A0788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A078C */ cpu->r[5] = cpu->r[5] + 0x00000024u; /* 028A0790 */ _t352 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0790 */ _t353 = _t352 & 0x00000001u; /* 028A0790 */ if (_t353) goto L_028A02C4; else goto L_028A0794; L_028A0794: ; // 0x28a0794 /* 028A0794 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A0798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[27]); /* 028A079C */ cpu->r[8] = cpu->r[8] + 0x00000024u; /* 028A07A0 */ _t354 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A07A0 */ _t355 = _t354 & 0x00000001u; /* 028A07A0 */ if (_t355) goto L_028A02A8; else goto L_028A07A4; L_028A07A4: ; // 0x28a07a4 /* 028A07A4 */ cpu->r[20] = cpu->r[27]; /* 028A07A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 028A07A8 */ cpu->r[31] = 0x00000000u; /* 028A07AC */ _t356 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A07AC */ _t357 = _t356 & 0x00000001u; /* 028A07AC */ if (_t357) goto L_028A07B0; else goto L_028A0940; L_028A07B0: ; // 0x28a07b0 /* 028A07B0 */ cpu->r[29] = 0x80000000u; /* 028A07B4 */ cpu->r[30] = cpu->r[28]; /* 028A07B8 */ cpu->r[21] = cpu->r[27] + 0xFFFFFFFFu; /* 028A07BC */ cpu->r[29] = cpu->r[29] + 0x00000001u; L_028A07C0: ; // 0x28a07c0 /* 028A07C0 */ _t358 = cpu->r[30] + 0x00000018u; /* 028A07C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t358); /* 028A07C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]); /* 028A07C8 */ cpu->r[23] = cpu->r[30] + 0x00000018u; /* 028A07CC */ _t359 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A07CC */ _t360 = _t359 & 0x00000001u; /* 028A07CC */ if (_t360) goto L_028A0930; else goto L_028A07D0; L_028A07D0: ; // 0x28a07d0 /* 028A07D0 */ cpu->r[6] = cpu->r[31] + 0x00000001u; /* 028A07D4 */ cpu->r[11] = cpu->r[21] - cpu->r[6]; /* 028A07D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A07DC */ cpu->r[19] = cpu->r[11] + 0x00000001u; /* 028A07E0 */ _t361 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A07E0 */ _t362 = _t361 & 0x00000001u; /* 028A07E0 */ if (_t362) goto L_028A07E4; else goto L_028A0930; L_028A07E4: ; // 0x28a07e4 /* 028A07E4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000024u); /* 028A07E8 */ cpu->r[24] = cpu->r[28] + cpu->r[12]; L_028A07EC: ; // 0x28a07ec /* 028A07EC */ _t363 = cpu->r[24] + 0x00000018u; /* 028A07EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t363); /* 028A07F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]); /* 028A07F4 */ cpu->r[22] = cpu->r[24] + 0x00000018u; /* 028A07F8 */ _t364 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A07F8 */ _t365 = _t364 & 0x00000001u; /* 028A07F8 */ if (_t365) goto L_028A0924; else goto L_028A07FC; L_028A07FC: ; // 0x28a07fc /* 028A07FC */ _t366 = cpu->r[23] + 0x00000000u; /* 028A07FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t366); /* 028A0800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 028A0804 */ _t367 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0804 */ _t368 = _t367 & 0x00000001u; /* 028A0804 */ if (_t368) goto L_028A0924; else goto L_028A0808; L_028A0808: ; // 0x28a0808 /* 028A0808 */ _t369 = cpu->r[30] + 0x00000000u; /* 028A0808 */ cpu->r[3] = rbrew_read16(cpu->mem, _t369); /* 028A080C */ _t370 = cpu->r[24] + 0x00000000u; /* 028A080C */ cpu->r[18] = rbrew_read16(cpu->mem, _t370); /* 028A0810 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0814 */ cpu->r[8] = rbrew_rlwinm(cpu->r[18], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0818 */ _t371 = cpu->r[6] + cpu->r[25]; /* 028A0818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t371); /* 028A081C */ _t372 = cpu->r[8] + cpu->r[25]; /* 028A081C */ cpu->r[6] = rbrew_read32(cpu->mem, _t372); /* 028A0820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]); /* 028A0824 */ _t373 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0824 */ _t374 = _t373 & 0x00000001u; /* 028A0824 */ if (_t374) goto L_028A0828; else goto L_028A0844; L_028A0828: ; // 0x28a0828 /* 028A0828 */ _t375 = cpu->r[30] + 0x00000002u; /* 028A0828 */ cpu->r[10] = rbrew_read16(cpu->mem, _t375); /* 028A082C */ cpu->r[0] = cpu->r[3]; /* 028A0830 */ cpu->r[12] = cpu->r[18]; /* 028A0834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 028A0838 */ _t376 = cpu->r[24] + 0x00000002u; /* 028A0838 */ cpu->r[11] = rbrew_read16(cpu->mem, _t376); /* 028A083C */ _t377 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A083C */ _t378 = _t377 & 0x00000001u; /* 028A083C */ if (_t378) goto L_028A0840; else goto L_028A08C0; L_028A0840: ; // 0x28a0840 /* 028A0840 */ goto L_028A08B4; L_028A0844: ; // 0x28a0844 /* 028A0844 */ _t379 = cpu->r[24] + 0x00000004u; /* 028A0844 */ cpu->r[12] = rbrew_read16(cpu->mem, _t379); /* 028A0848 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A084C */ _t380 = cpu->r[9] + cpu->r[25]; /* 028A084C */ cpu->r[7] = rbrew_read32(cpu->mem, _t380); /* 028A0850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 028A0854 */ _t381 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0854 */ _t382 = _t381 & 0x00000001u; /* 028A0854 */ if (_t382) goto L_028A0858; else goto L_028A0870; L_028A0858: ; // 0x28a0858 /* 028A0858 */ _t383 = cpu->r[30] + 0x00000002u; /* 028A0858 */ cpu->r[10] = rbrew_read16(cpu->mem, _t383); /* 028A085C */ cpu->r[0] = cpu->r[3]; /* 028A0860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 028A0864 */ _t384 = cpu->r[24] + 0x00000006u; /* 028A0864 */ cpu->r[11] = rbrew_read16(cpu->mem, _t384); /* 028A0868 */ _t385 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0868 */ _t386 = _t385 & 0x00000001u; /* 028A0868 */ if (_t386) goto L_028A086C; else goto L_028A08C0; L_028A086C: ; // 0x28a086c /* 028A086C */ goto L_028A08B4; L_028A0870: ; // 0x28a0870 /* 028A0870 */ _t387 = cpu->r[30] + 0x00000004u; /* 028A0870 */ cpu->r[0] = rbrew_read16(cpu->mem, _t387); /* 028A0874 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0878 */ _t388 = cpu->r[10] + cpu->r[25]; /* 028A0878 */ cpu->r[8] = rbrew_read32(cpu->mem, _t388); /* 028A087C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]); /* 028A0880 */ _t389 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0880 */ _t390 = _t389 & 0x00000001u; /* 028A0880 */ if (_t390) goto L_028A0884; else goto L_028A089C; L_028A0884: ; // 0x28a0884 /* 028A0884 */ _t391 = cpu->r[30] + 0x00000006u; /* 028A0884 */ cpu->r[10] = rbrew_read16(cpu->mem, _t391); /* 028A0888 */ cpu->r[12] = cpu->r[18]; /* 028A088C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 028A0890 */ _t392 = cpu->r[24] + 0x00000002u; /* 028A0890 */ cpu->r[11] = rbrew_read16(cpu->mem, _t392); /* 028A0894 */ _t393 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0894 */ _t394 = _t393 & 0x00000001u; /* 028A0894 */ if (_t394) goto L_028A0898; else goto L_028A08C0; L_028A0898: ; // 0x28a0898 /* 028A0898 */ goto L_028A08B4; L_028A089C: ; // 0x28a089c /* 028A089C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]); /* 028A08A0 */ _t395 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A08A0 */ _t396 = _t395 & 0x00000001u; /* 028A08A0 */ if (_t396) goto L_028A08A4; else goto L_028A0924; L_028A08A4: ; // 0x28a08a4 /* 028A08A4 */ _t397 = cpu->r[30] + 0x00000006u; /* 028A08A4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t397); /* 028A08A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 028A08AC */ _t398 = cpu->r[24] + 0x00000006u; /* 028A08AC */ cpu->r[11] = rbrew_read16(cpu->mem, _t398); /* 028A08B0 */ _t399 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A08B0 */ _t400 = _t399 & 0x00000001u; /* 028A08B0 */ if (_t400) goto L_028A08B4; else goto L_028A08C0; L_028A08B4: ; // 0x28a08b4 /* 028A08B4 */ cpu->r[8] = cpu->r[0]; /* 028A08B8 */ cpu->r[0] = cpu->r[10]; /* 028A08BC */ cpu->r[10] = cpu->r[8]; L_028A08C0: ; // 0x28a08c0 /* 028A08C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]); /* 028A08C4 */ _t401 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A08C4 */ _t402 = _t401 & 0x00000001u; /* 028A08C4 */ if (_t402) goto L_028A08C8; else goto L_028A08D4; L_028A08C8: ; // 0x28a08c8 /* 028A08C8 */ cpu->r[8] = cpu->r[12]; /* 028A08CC */ cpu->r[12] = cpu->r[11]; /* 028A08D0 */ cpu->r[11] = cpu->r[8]; L_028A08D4: ; // 0x28a08d4 /* 028A08D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[12]); /* 028A08D8 */ _t403 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A08D8 */ _t404 = _t403 & 0x00000001u; /* 028A08D8 */ if (_t404) goto L_028A0924; else goto L_028A08DC; L_028A08DC: ; // 0x28a08dc /* 028A08DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 028A08E0 */ _t405 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A08E0 */ _t406 = _t405 & 0x00000001u; /* 028A08E0 */ if (_t406) goto L_028A0924; else goto L_028A08E4; L_028A08E4: ; // 0x28a08e4 /* 028A08E4 */ _t407 = cpu->r[30] + 0x00000002u; /* 028A08E4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t407); /* 028A08E8 */ cpu->r[7] = cpu->r[26]; /* 028A08EC */ _t408 = cpu->r[30] + 0x00000004u; /* 028A08EC */ cpu->r[5] = rbrew_read16(cpu->mem, _t408); /* 028A08F0 */ _t409 = cpu->r[30] + 0x00000006u; /* 028A08F0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t409); /* 028A08F4 */ Gambit_fn_0289DEF4(cpu); /* 028A08F8 */ _t410 = cpu->r[24] + 0x00000004u; /* 028A08F8 */ cpu->r[5] = rbrew_read16(cpu->mem, _t410); /* 028A08FC */ cpu->r[17] = cpu->r[3]; /* 028A0900 */ _t411 = cpu->r[24] + 0x00000006u; /* 028A0900 */ cpu->r[6] = rbrew_read16(cpu->mem, _t411); /* 028A0904 */ cpu->r[7] = cpu->r[26]; /* 028A0908 */ _t412 = cpu->r[24] + 0x00000002u; /* 028A0908 */ cpu->r[4] = rbrew_read16(cpu->mem, _t412); /* 028A090C */ cpu->r[3] = cpu->r[18]; /* 028A0910 */ Gambit_fn_0289DEF4(cpu); /* 028A0914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[3]); /* 028A0918 */ _t413 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0918 */ _t414 = _t413 & 0x00000001u; /* 028A0918 */ if (_t414) goto L_028A091C; else goto L_028A0920; L_028A091C: ; // 0x28a091c /* 028A091C */ cpu->r[22] = cpu->r[23]; L_028A0920: ; // 0x28a0920 /* 028A0920 */ _t415 = cpu->r[22] + 0x00000000u; /* 028A0920 */ rbrew_write32(cpu->mem, _t415, cpu->r[29]); L_028A0924: ; // 0x28a0924 /* 028A0924 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu; /* 028A0924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 028A0928 */ cpu->r[24] = cpu->r[24] + 0x00000024u; /* 028A092C */ _t416 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A092C */ _t417 = _t416 & 0x00000001u; /* 028A092C */ if (_t417) goto L_028A0930; else goto L_028A07EC; L_028A0930: ; // 0x28a0930 /* 028A0930 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu; /* 028A0930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 028A0934 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A0938 */ cpu->r[30] = cpu->r[30] + 0x00000024u; /* 028A093C */ _t418 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A093C */ _t419 = _t418 & 0x00000001u; /* 028A093C */ if (_t419) goto L_028A0940; else goto L_028A07C0; L_028A0940: ; // 0x28a0940 /* 028A0940 */ cpu->r[31] = 0x00000000u; /* 028A0944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[27]); /* 028A0948 */ _t420 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0948 */ _t421 = _t420 & 0x00000001u; /* 028A0948 */ if (_t421) goto L_028A094C; else goto L_028A0A00; L_028A094C: ; // 0x28a094c /* 028A094C */ cpu->r[0] = 0x80000000u; /* 028A0950 */ cpu->r[0] = cpu->r[0] | 0x00000001u; L_028A0954: ; // 0x28a0954 /* 028A0954 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000024u); /* 028A0958 */ cpu->r[5] = cpu->r[28] + cpu->r[11]; /* 028A095C */ _t422 = cpu->r[5] + 0x00000018u; /* 028A095C */ cpu->r[4] = rbrew_read32(cpu->mem, _t422); /* 028A0960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 028A0964 */ _t423 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0964 */ _t424 = _t423 & 0x00000001u; /* 028A0964 */ if (_t424) goto L_028A0984; else goto L_028A0968; L_028A0968: ; // 0x28a0968 /* 028A0968 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A096C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[27]); /* 028A0970 */ cpu->r[5] = cpu->r[5] + 0x00000024u; /* 028A0974 */ _t425 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0974 */ _t426 = _t425 & 0x00000001u; /* 028A0974 */ if (_t426) goto L_028A0978; else goto L_028A0984; L_028A0978: ; // 0x28a0978 /* 028A0978 */ _t427 = cpu->r[5] + 0x00000018u; /* 028A0978 */ cpu->r[6] = rbrew_read32(cpu->mem, _t427); /* 028A097C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 028A0980 */ _t428 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0980 */ _t429 = _t428 & 0x00000001u; /* 028A0980 */ if (_t429) goto L_028A0984; else goto L_028A0968; L_028A0984: ; // 0x28a0984 /* 028A0984 */ cpu->r[6] = cpu->r[31] + 0x00000001u; /* 028A0988 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000024u); /* 028A098C */ cpu->r[8] = cpu->r[28] + cpu->r[7]; /* 028A0990 */ goto L_028A099C; L_028A0994: ; // 0x28a0994 /* 028A0994 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A0998 */ cpu->r[8] = cpu->r[8] + 0x00000024u; L_028A099C: ; // 0x28a099c /* 028A099C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A09A0 */ _t430 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A09A0 */ _t431 = _t430 & 0x00000001u; /* 028A09A0 */ if (_t431) goto L_028A09A4; else goto L_028A0A00; L_028A09A4: ; // 0x28a09a4 /* 028A09A4 */ _t432 = cpu->r[8] + 0x00000018u; /* 028A09A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t432); /* 028A09A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 028A09AC */ _t433 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A09AC */ _t434 = _t433 & 0x00000001u; /* 028A09AC */ if (_t434) goto L_028A0994; else goto L_028A09B0; L_028A09B0: ; // 0x28a09b0 /* 028A09B0 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000024u); /* 028A09B4 */ cpu->r[6] = 0x00000003u; /* 028A09B8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000024u); /* 028A09BC */ cpu->r[7] = cpu->r[28] + cpu->r[10]; /* 028A09C0 */ cpu->ctr = cpu->r[6]; /* 028A09C4 */ cpu->r[8] = cpu->r[12] + cpu->r[28]; /* 028A09C8 */ cpu->r[4] = cpu->r[7] + 0xFFFFFFFCu; /* 028A09CC */ cpu->r[5] = cpu->r[8] + 0xFFFFFFFCu; L_028A09D0: ; // 0x28a09d0 /* 028A09D0 */ _t435 = cpu->r[4] + 0x00000004u; /* 028A09D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t435); /* 028A09D4 */ _t436 = cpu->r[5] + 0x00000004u; /* 028A09D4 */ rbrew_write32(cpu->mem, _t436, cpu->r[9]); /* 028A09D8 */ _t437 = cpu->r[4] + 0x00000008u; /* 028A09D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t437); /* 028A09DC */ _t438 = cpu->r[5] + 0x00000008u; /* 028A09DC */ rbrew_write32(cpu->mem, _t438, cpu->r[11]); /* 028A09E0 */ _t439 = cpu->r[4] + 0x0000000Cu; /* 028A09E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t439); /* 028A09E0 */ cpu->r[4] = _t439; /* 028A09E4 */ _t440 = cpu->r[5] + 0x0000000Cu; /* 028A09E4 */ rbrew_write32(cpu->mem, _t440, cpu->r[12]); /* 028A09E4 */ cpu->r[5] = _t440; /* 028A09E8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A09E8 */ _t441 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A09E8 */ _t442 = _t441 >> (0x00000002u & 31u); /* 028A09E8 */ _t443 = _t442 & 0x00000001u; /* 028A09E8 */ if (_t443) goto L_028A09D0; else goto L_028A09EC; L_028A09EC: ; // 0x28a09ec /* 028A09EC */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A09F0 */ cpu->r[4] = cpu->r[28] + cpu->r[10]; /* 028A09F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[27]); /* 028A09F8 */ _t444 = cpu->r[4] + 0x00000018u; /* 028A09F8 */ rbrew_write32(cpu->mem, _t444, cpu->r[0]); /* 028A09FC */ _t445 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A09FC */ _t446 = _t445 & 0x00000001u; /* 028A09FC */ if (_t446) goto L_028A0954; else goto L_028A0A00; L_028A0A00: ; // 0x28a0a00 /* 028A0A00 */ cpu->r[3] = cpu->r[31]; /* 028A0A04 */ /* nop */ /* 028A0A08 */ _t447 = cpu->r[1] + 0x00000094u; /* 028A0A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t447); /* 028A0A0C */ cpu->lr = cpu->r[0]; /* 028A0A10 */ cpu->r[1] = cpu->r[1] + 0x00000090u; /* 028A0A14 */ return; } // fn_028A0A18 @ 0x28a0a18 void Gambit_fn_028A0A18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507; L_028A0A18: ; // 0x28a0a18 /* 028A0A18 */ _t0 = cpu->r[1] + 0xFFFFFF68u; /* 028A0A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A0A18 */ cpu->r[1] = _t0; /* 028A0A1C */ /* nop */ /* 028A0A20 */ cpu->r[0] = cpu->lr; /* 028A0A24 */ _t1 = cpu->r[1] + 0x0000009Cu; /* 028A0A24 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A0A28 */ cpu->r[29] = cpu->r[8]; /* 028A0A2C */ cpu->r[31] = cpu->r[10]; /* 028A0A30 */ cpu->r[30] = cpu->r[9]; /* 028A0A34 */ cpu->r[28] = cpu->r[6]; /* 028A0A38 */ cpu->r[27] = cpu->r[5]; /* 028A0A3C */ cpu->r[25] = cpu->r[4]; /* 028A0A40 */ _t2 = cpu->r[7] + 0x00000028u; /* 028A0A40 */ cpu->r[11] = rbrew_read16(cpu->mem, _t2); /* 028A0A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000078u); /* 028A0A48 */ _t3 = cpu->r[7] + 0x00000000u; /* 028A0A48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 028A0A4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0A4C */ _t5 = _t4 & 0x00000001u; /* 028A0A4C */ if (_t5) goto L_028A0A50; else goto L_028A0A80; L_028A0A50: ; // 0x28a0a50 /* 028A0A50 */ _t6 = cpu->r[7] + 0x00000004u; /* 028A0A50 */ cpu->r[24] = rbrew_read32(cpu->mem, _t6); /* 028A0A54 */ cpu->r[22] = 0x00000001u; /* 028A0A58 */ cpu->r[26] = 0x00000000u; /* 028A0A5C */ _t7 = cpu->r[12] + 0x00000000u; /* 028A0A5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 028A0A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A0A64 */ cpu->r[0] = cpu->r[26]; /* 028A0A68 */ _t8 = cpu->r[7] + 0x0000001Cu; /* 028A0A68 */ cpu->r[21] = rbrew_read32(cpu->mem, _t8); /* 028A0A6C */ cpu->r[23] = cpu->r[12]; /* 028A0A70 */ cpu->r[3] = cpu->r[26]; /* 028A0A74 */ _t9 = cpu->r[7] + 0x00000020u; /* 028A0A74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9); /* 028A0A78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0A78 */ _t11 = _t10 & 0x00000001u; /* 028A0A78 */ if (_t11) goto L_028A0A7C; else goto L_028A0AAC; L_028A0A7C: ; // 0x28a0a7c /* 028A0A7C */ goto L_028A0AFC; L_028A0A80: ; // 0x28a0a80 /* 028A0A80 */ _t12 = cpu->r[7] + 0x00000004u; /* 028A0A80 */ cpu->r[23] = rbrew_read32(cpu->mem, _t12); /* 028A0A84 */ cpu->r[26] = 0x00000000u; /* 028A0A88 */ cpu->r[22] = 0xFFFFFFFFu; /* 028A0A8C */ _t13 = cpu->r[12] + 0x00000000u; /* 028A0A8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 028A0A90 */ cpu->r[0] = cpu->r[26]; /* 028A0A94 */ cpu->r[24] = cpu->r[12]; /* 028A0A98 */ _t14 = cpu->r[7] + 0x0000001Cu; /* 028A0A98 */ cpu->r[21] = rbrew_read32(cpu->mem, _t14); /* 028A0A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A0AA0 */ cpu->r[3] = cpu->r[26]; /* 028A0AA4 */ _t15 = cpu->r[7] + 0x00000020u; /* 028A0AA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15); /* 028A0AA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0AA8 */ _t17 = _t16 & 0x00000001u; /* 028A0AA8 */ if (_t17) goto L_028A0AFC; else goto L_028A0AAC; L_028A0AAC: ; // 0x28a0aac /* 028A0AAC */ cpu->r[8] = 0x00000000u; L_028A0AB0: ; // 0x28a0ab0 /* 028A0AB0 */ _t18 = cpu->r[6] + cpu->r[8]; /* 028A0AB0 */ cpu->r[5] = rbrew_read16(cpu->mem, _t18); /* 028A0AB4 */ _t19 = cpu->r[21] + cpu->r[8]; /* 028A0AB4 */ cpu->r[20] = rbrew_read16(cpu->mem, _t19); /* 028A0AB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[5]); /* 028A0ABC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0ABC */ _t21 = _t20 & 0x00000001u; /* 028A0ABC */ if (_t21) goto L_028A0AE8; else goto L_028A0AC0; L_028A0AC0: ; // 0x28a0ac0 /* 028A0AC0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[20], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0AC4 */ _t22 = cpu->r[10] + cpu->r[12]; /* 028A0AC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 028A0AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[4]); /* 028A0ACC */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0ACC */ _t24 = _t23 & 0x00000001u; /* 028A0ACC */ if (_t24) goto L_028A0AD0; else goto L_028A0AD8; L_028A0AD0: ; // 0x28a0ad0 /* 028A0AD0 */ cpu->r[0] = cpu->r[3]; /* 028A0AD4 */ cpu->r[4] = cpu->r[9]; L_028A0AD8: ; // 0x28a0ad8 /* 028A0AD8 */ cpu->r[20] = cpu->r[20] + 0x00000001u; /* 028A0ADC */ cpu->r[20] = rbrew_rlwinm(cpu->r[20], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A0AE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[5]); /* 028A0AE4 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0AE4 */ _t26 = _t25 & 0x00000001u; /* 028A0AE4 */ if (_t26) goto L_028A0AE8; else goto L_028A0AC0; L_028A0AE8: ; // 0x28a0ae8 /* 028A0AE8 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028A0AEC */ cpu->r[8] = cpu->r[8] + 0x00000002u; /* 028A0AF0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028A0AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A0AF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A0AF8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0AF8 */ _t28 = _t27 & 0x00000001u; /* 028A0AF8 */ if (_t28) goto L_028A0AFC; else goto L_028A0AB0; L_028A0AFC: ; // 0x28a0afc /* 028A0AFC */ cpu->r[3] = cpu->r[0]; /* 028A0B00 */ cpu->r[4] = cpu->r[7]; /* 028A0B04 */ Gambit_fn_0289DF70(cpu); /* 028A0B08 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A0B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A0B0C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0B0C */ _t30 = _t29 & 0x00000001u; /* 028A0B0C */ if (_t30) goto L_028A0B10; else goto L_028A0B14; L_028A0B10: ; // 0x28a0b10 /* 028A0B10 */ cpu->r[22] = (uint32_t)(-(int32_t)cpu->r[22]); L_028A0B14: ; // 0x28a0b14 /* 028A0B14 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000024u); /* 028A0B18 */ cpu->r[8] = 0x00000000u; /* 028A0B1C */ cpu->r[5] = cpu->r[27]; /* 028A0B20 */ cpu->r[6] = cpu->r[28] + cpu->r[12]; /* 028A0B24 */ goto L_028A0CD8; L_028A0B28: ; // 0x28a0b28 /* 028A0B28 */ _t31 = cpu->r[5] + 0x00000006u; /* 028A0B28 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t31); /* 028A0B2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]); /* 028A0B30 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0B30 */ _t33 = _t32 & 0x00000001u; /* 028A0B30 */ if (_t33) goto L_028A0B34; else goto L_028A0CD0; L_028A0B34: ; // 0x28a0b34 /* 028A0B34 */ _t34 = cpu->r[5] + 0x00000002u; /* 028A0B34 */ cpu->r[9] = rbrew_read16(cpu->mem, _t34); /* 028A0B38 */ cpu->r[21] = cpu->r[8] + 0x00000001u; /* 028A0B3C */ _t35 = cpu->r[5] + 0x00000000u; /* 028A0B3C */ cpu->r[12] = rbrew_read16(cpu->mem, _t35); /* 028A0B40 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0B44 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x0000000Cu); /* 028A0B48 */ _t36 = cpu->r[7] + cpu->r[24]; /* 028A0B48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36); /* 028A0B4C */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0B50 */ _t37 = cpu->r[4] + cpu->r[24]; /* 028A0B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A0B54 */ cpu->r[19] = cpu->r[6]; /* 028A0B58 */ cpu->r[18] = cpu->r[7]; /* 028A0B5C */ cpu->r[20] = cpu->r[27] + cpu->r[11]; /* 028A0B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 028A0B64 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0B64 */ _t39 = _t38 & 0x00000001u; /* 028A0B64 */ if (_t39) goto L_028A0B68; else goto L_028A0B6C; L_028A0B68: ; // 0x28a0b68 /* 028A0B68 */ cpu->r[18] = cpu->r[0]; L_028A0B6C: ; // 0x28a0b6c /* 028A0B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 028A0B70 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0B70 */ _t41 = _t40 & 0x00000001u; /* 028A0B70 */ if (_t41) goto L_028A0B74; else goto L_028A0B78; L_028A0B74: ; // 0x28a0b74 /* 028A0B74 */ cpu->r[7] = cpu->r[0]; L_028A0B78: ; // 0x28a0b78 /* 028A0B78 */ goto L_028A0CC0; L_028A0B7C: ; // 0x28a0b7c /* 028A0B7C */ _t42 = cpu->r[5] + 0x00000000u; /* 028A0B7C */ cpu->r[12] = rbrew_read16(cpu->mem, _t42); /* 028A0B80 */ _t43 = cpu->r[20] + 0x00000000u; /* 028A0B80 */ cpu->r[4] = rbrew_read16(cpu->mem, _t43); /* 028A0B84 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0B88 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0B8C */ _t44 = cpu->r[9] + cpu->r[23]; /* 028A0B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 028A0B90 */ _t45 = cpu->r[23] + cpu->r[11]; /* 028A0B90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 028A0B94 */ cpu->r[0] = cpu->r[10] - cpu->r[0]; /* 028A0B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[29]); /* 028A0B9C */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0B9C */ _t47 = _t46 & 0x00000001u; /* 028A0B9C */ if (_t47) goto L_028A0CD0; else goto L_028A0BA0; L_028A0BA0: ; // 0x28a0ba0 /* 028A0BA0 */ _t48 = cpu->r[20] + 0x00000006u; /* 028A0BA0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t48); /* 028A0BA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[22]); /* 028A0BA8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0BA8 */ _t50 = _t49 & 0x00000001u; /* 028A0BA8 */ if (_t50) goto L_028A0CB8; else goto L_028A0BAC; L_028A0BAC: ; // 0x28a0bac /* 028A0BAC */ _t51 = cpu->r[20] + 0x00000002u; /* 028A0BAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t51); /* 028A0BB0 */ _t52 = cpu->r[24] + cpu->r[11]; /* 028A0BB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52); /* 028A0BB4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0BB8 */ _t53 = cpu->r[11] + cpu->r[24]; /* 028A0BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 028A0BBC */ cpu->r[4] = cpu->r[0]; /* 028A0BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 028A0BC4 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0BC4 */ _t55 = _t54 & 0x00000001u; /* 028A0BC4 */ if (_t55) goto L_028A0BC8; else goto L_028A0BCC; L_028A0BC8: ; // 0x28a0bc8 /* 028A0BC8 */ cpu->r[4] = cpu->r[10]; L_028A0BCC: ; // 0x28a0bcc /* 028A0BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 028A0BD0 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0BD0 */ _t57 = _t56 & 0x00000001u; /* 028A0BD0 */ if (_t57) goto L_028A0BD4; else goto L_028A0BD8; L_028A0BD4: ; // 0x28a0bd4 /* 028A0BD4 */ cpu->r[0] = cpu->r[10]; L_028A0BD8: ; // 0x28a0bd8 /* 028A0BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 028A0BDC */ _t58 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0BDC */ _t59 = _t58 & 0x00000001u; /* 028A0BDC */ if (_t59) goto L_028A0CB8; else goto L_028A0BE0; L_028A0BE0: ; // 0x28a0be0 /* 028A0BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[18]); /* 028A0BE4 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0BE4 */ _t61 = _t60 & 0x00000001u; /* 028A0BE4 */ if (_t61) goto L_028A0CB8; else goto L_028A0BE8; L_028A0BE8: ; // 0x28a0be8 /* 028A0BE8 */ cpu->r[17] = cpu->r[19]; /* 028A0BEC */ _t62 = cpu->r[17] + 0x00000000u; /* 028A0BEC */ rbrew_write16(cpu->mem, _t62, (uint16_t)cpu->r[12]); /* 028A0BF0 */ _t63 = cpu->r[5] + 0x00000002u; /* 028A0BF0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t63); /* 028A0BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[4]); /* 028A0BF8 */ _t64 = cpu->r[17] + 0x00000002u; /* 028A0BF8 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[10]); /* 028A0BFC */ _t65 = cpu->r[20] + 0x00000000u; /* 028A0BFC */ cpu->r[11] = rbrew_read16(cpu->mem, _t65); /* 028A0C00 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0C00 */ _t67 = _t66 & 0x00000001u; /* 028A0C00 */ if (_t67) goto L_028A0C04; else goto L_028A0C08; L_028A0C04: ; // 0x28a0c04 /* 028A0C04 */ cpu->r[4] = cpu->r[18]; L_028A0C08: ; // 0x28a0c08 /* 028A0C08 */ _t68 = cpu->r[17] + 0x00000004u; /* 028A0C08 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[11]); /* 028A0C0C */ _t69 = cpu->r[20] + 0x00000002u; /* 028A0C0C */ cpu->r[12] = rbrew_read16(cpu->mem, _t69); /* 028A0C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 028A0C14 */ _t70 = cpu->r[17] + 0x0000001Cu; /* 028A0C14 */ rbrew_write32(cpu->mem, _t70, cpu->r[4]); /* 028A0C18 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0C18 */ _t72 = _t71 & 0x00000001u; /* 028A0C18 */ if (_t72) goto L_028A0C1C; else goto L_028A0C20; L_028A0C1C: ; // 0x28a0c1c /* 028A0C1C */ cpu->r[0] = cpu->r[7]; L_028A0C20: ; // 0x28a0c20 /* 028A0C20 */ _t73 = cpu->r[17] + 0x00000006u; /* 028A0C20 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[12]); /* 028A0C24 */ cpu->r[4] = cpu->r[30]; /* 028A0C28 */ _t74 = cpu->r[17] + 0x00000020u; /* 028A0C28 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]); /* 028A0C2C */ _t75 = cpu->r[5] + 0x00000008u; /* 028A0C2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t75); /* 028A0C30 */ cpu->r[6] = cpu->r[6] + 0x00000024u; /* 028A0C34 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 028A0C38 */ Gambit_fn_0289DEAC(cpu); /* 028A0C3C */ _t76 = cpu->r[17] + 0x00000008u; /* 028A0C3C */ rbrew_write32(cpu->mem, _t76, cpu->r[3]); /* 028A0C40 */ _t77 = cpu->r[30] + 0x00000000u; /* 028A0C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 028A0C44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 028A0C48 */ cpu->r[19] = cpu->r[19] + 0x00000024u; /* 028A0C4C */ _t78 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0C4C */ _t79 = _t78 & 0x00000001u; /* 028A0C4C */ if (_t79) goto L_028A0C50; else goto L_028A1508; L_028A0C50: ; // 0x28a0c50 /* 028A0C50 */ _t80 = cpu->r[20] + 0x00000008u; /* 028A0C50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80); /* 028A0C54 */ cpu->r[4] = cpu->r[30]; /* 028A0C58 */ Gambit_fn_0289DEAC(cpu); /* 028A0C5C */ _t81 = cpu->r[17] + 0x0000000Cu; /* 028A0C5C */ rbrew_write32(cpu->mem, _t81, cpu->r[3]); /* 028A0C60 */ _t82 = cpu->r[30] + 0x00000000u; /* 028A0C60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t82); /* 028A0C64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]); /* 028A0C68 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0C68 */ _t84 = _t83 & 0x00000001u; /* 028A0C68 */ if (_t84) goto L_028A0C6C; else goto L_028A1508; L_028A0C6C: ; // 0x28a0c6c /* 028A0C6C */ _t85 = cpu->r[5] + 0x00000000u; /* 028A0C6C */ cpu->r[10] = rbrew_read16(cpu->mem, _t85); /* 028A0C70 */ _t86 = cpu->r[20] + 0x00000000u; /* 028A0C70 */ cpu->r[12] = rbrew_read16(cpu->mem, _t86); /* 028A0C74 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0C78 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0C7C */ _t87 = cpu->r[9] + cpu->r[23]; /* 028A0C7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t87); /* 028A0C80 */ _t88 = cpu->r[11] + cpu->r[23]; /* 028A0C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 028A0C84 */ cpu->r[0] = cpu->r[4] + cpu->r[0]; /* 028A0C88 */ /* nop */ /* 028A0C8C */ cpu->r[0] = cpu->r[0]; /* 028A0C90 */ _t89 = cpu->r[17] + 0x00000010u; /* 028A0C90 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]); /* 028A0C94 */ _t90 = cpu->r[17] + 0x00000014u; /* 028A0C94 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]); /* 028A0C98 */ _t91 = cpu->r[20] + 0x00000000u; /* 028A0C98 */ cpu->r[10] = rbrew_read16(cpu->mem, _t91); /* 028A0C9C */ _t92 = cpu->r[5] + 0x00000000u; /* 028A0C9C */ cpu->r[12] = rbrew_read16(cpu->mem, _t92); /* 028A0CA0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0CA4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0CA8 */ _t93 = cpu->r[9] + cpu->r[23]; /* 028A0CA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t93); /* 028A0CAC */ _t94 = cpu->r[11] + cpu->r[23]; /* 028A0CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t94); /* 028A0CB0 */ cpu->r[0] = cpu->r[4] - cpu->r[0]; /* 028A0CB4 */ _t95 = cpu->r[17] + 0x00000018u; /* 028A0CB4 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]); L_028A0CB8: ; // 0x28a0cb8 /* 028A0CB8 */ cpu->r[21] = cpu->r[21] + 0x00000001u; /* 028A0CBC */ cpu->r[20] = cpu->r[20] + 0x0000000Cu; L_028A0CC0: ; // 0x28a0cc0 /* 028A0CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[25]); /* 028A0CC4 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0CC4 */ _t97 = _t96 & 0x00000001u; /* 028A0CC4 */ if (_t97) goto L_028A0CC8; else goto L_028A0CD0; L_028A0CC8: ; // 0x28a0cc8 /* 028A0CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000040u); /* 028A0CCC */ _t98 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0CCC */ _t99 = _t98 & 0x00000001u; /* 028A0CCC */ if (_t99) goto L_028A0B7C; else goto L_028A0CD0; L_028A0CD0: ; // 0x28a0cd0 /* 028A0CD0 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A0CD4 */ cpu->r[5] = cpu->r[5] + 0x0000000Cu; L_028A0CD8: ; // 0x28a0cd8 /* 028A0CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[25]); /* 028A0CDC */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0CDC */ _t101 = _t100 & 0x00000001u; /* 028A0CDC */ if (_t101) goto L_028A0CE0; else goto L_028A0CE8; L_028A0CE0: ; // 0x28a0ce0 /* 028A0CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000040u); /* 028A0CE4 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0CE4 */ _t103 = _t102 & 0x00000001u; /* 028A0CE4 */ if (_t103) goto L_028A0B28; else goto L_028A0CE8; L_028A0CE8: ; // 0x28a0ce8 /* 028A0CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000001u); /* 028A0CEC */ cpu->r[4] = cpu->r[26] + 0xFFFFFFFFu; /* 028A0CF0 */ _t104 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0CF0 */ _t105 = _t104 & 0x00000001u; /* 028A0CF0 */ if (_t105) goto L_028A0CF4; else goto L_028A0DD8; L_028A0CF4: ; // 0x28a0cf4 /* 028A0CF4 */ cpu->r[6] = 0x00000000u; /* 028A0CF8 */ cpu->r[5] = cpu->r[28]; L_028A0CFC: ; // 0x28a0cfc /* 028A0CFC */ cpu->r[11] = 0x00000003u; /* 028A0D00 */ cpu->r[5] = cpu->r[5] + 0x00000024u; /* 028A0D04 */ cpu->r[10] = cpu->r[1] + 0x00000030u; /* 028A0D08 */ cpu->ctr = cpu->r[11]; /* 028A0D0C */ cpu->r[9] = cpu->r[5] + 0xFFFFFFFCu; L_028A0D10: ; // 0x28a0d10 /* 028A0D10 */ _t106 = cpu->r[9] + 0x00000004u; /* 028A0D10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t106); /* 028A0D14 */ _t107 = cpu->r[10] + 0x00000004u; /* 028A0D14 */ rbrew_write32(cpu->mem, _t107, cpu->r[12]); /* 028A0D18 */ _t108 = cpu->r[9] + 0x00000008u; /* 028A0D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108); /* 028A0D1C */ _t109 = cpu->r[10] + 0x00000008u; /* 028A0D1C */ rbrew_write32(cpu->mem, _t109, cpu->r[0]); /* 028A0D20 */ _t110 = cpu->r[9] + 0x0000000Cu; /* 028A0D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110); /* 028A0D20 */ cpu->r[9] = _t110; /* 028A0D24 */ _t111 = cpu->r[10] + 0x0000000Cu; /* 028A0D24 */ rbrew_write32(cpu->mem, _t111, cpu->r[0]); /* 028A0D24 */ cpu->r[10] = _t111; /* 028A0D28 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A0D28 */ _t112 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A0D28 */ _t113 = _t112 >> (0x00000002u & 31u); /* 028A0D28 */ _t114 = _t113 & 0x00000001u; /* 028A0D28 */ if (_t114) goto L_028A0D10; else goto L_028A0D2C; L_028A0D2C: ; // 0x28a0d2c /* 028A0D2C */ cpu->r[21] = cpu->r[6]; /* 028A0D30 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x00000024u); /* 028A0D34 */ cpu->r[9] = cpu->r[28] + cpu->r[10]; /* 028A0D38 */ _t115 = cpu->r[1] + 0x00000044u; /* 028A0D38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t115); /* 028A0D3C */ cpu->r[12] = cpu->r[9] + 0x00000024u; /* 028A0D40 */ goto L_028A0D80; L_028A0D44: ; // 0x28a0d44 /* 028A0D44 */ cpu->r[9] = 0x00000003u; /* 028A0D48 */ cpu->r[3] = cpu->r[12] + 0xFFFFFFFCu; /* 028A0D4C */ cpu->r[11] = cpu->r[28] + cpu->r[10]; /* 028A0D50 */ cpu->ctr = cpu->r[9]; /* 028A0D54 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; L_028A0D58: ; // 0x28a0d58 /* 028A0D58 */ _t116 = cpu->r[11] + 0x00000004u; /* 028A0D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116); /* 028A0D5C */ _t117 = cpu->r[3] + 0x00000004u; /* 028A0D5C */ rbrew_write32(cpu->mem, _t117, cpu->r[0]); /* 028A0D60 */ _t118 = cpu->r[11] + 0x00000008u; /* 028A0D60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t118); /* 028A0D64 */ _t119 = cpu->r[3] + 0x00000008u; /* 028A0D64 */ rbrew_write32(cpu->mem, _t119, cpu->r[7]); /* 028A0D68 */ _t120 = cpu->r[11] + 0x0000000Cu; /* 028A0D68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t120); /* 028A0D68 */ cpu->r[11] = _t120; /* 028A0D6C */ _t121 = cpu->r[3] + 0x0000000Cu; /* 028A0D6C */ rbrew_write32(cpu->mem, _t121, cpu->r[8]); /* 028A0D6C */ cpu->r[3] = _t121; /* 028A0D70 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A0D70 */ _t122 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A0D70 */ _t123 = _t122 >> (0x00000002u & 31u); /* 028A0D70 */ _t124 = _t123 & 0x00000001u; /* 028A0D70 */ if (_t124) goto L_028A0D58; else goto L_028A0D74; L_028A0D74: ; // 0x28a0d74 /* 028A0D74 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu; /* 028A0D78 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFDCu; /* 028A0D7C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFDCu; L_028A0D80: ; // 0x28a0d80 /* 028A0D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A0D84 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0D84 */ _t126 = _t125 & 0x00000001u; /* 028A0D84 */ if (_t126) goto L_028A0D98; else goto L_028A0D88; L_028A0D88: ; // 0x28a0d88 /* 028A0D88 */ cpu->r[9] = cpu->r[28] + cpu->r[10]; /* 028A0D8C */ _t127 = cpu->r[9] + 0x00000010u; /* 028A0D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t127); /* 028A0D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[29]); /* 028A0D94 */ _t128 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0D94 */ _t129 = _t128 & 0x00000001u; /* 028A0D94 */ if (_t129) goto L_028A0D44; else goto L_028A0D98; L_028A0D98: ; // 0x28a0d98 /* 028A0D98 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x00000024u); /* 028A0D9C */ cpu->r[0] = 0x00000003u; /* 028A0DA0 */ cpu->ctr = cpu->r[0]; /* 028A0DA4 */ cpu->r[7] = cpu->r[28] + cpu->r[12]; /* 028A0DA8 */ cpu->r[8] = cpu->r[1] + 0x00000030u; /* 028A0DAC */ cpu->r[9] = cpu->r[7] + 0x00000020u; L_028A0DB0: ; // 0x28a0db0 /* 028A0DB0 */ _t130 = cpu->r[8] + 0x00000004u; /* 028A0DB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t130); /* 028A0DB4 */ _t131 = cpu->r[9] + 0x00000004u; /* 028A0DB4 */ rbrew_write32(cpu->mem, _t131, cpu->r[10]); /* 028A0DB8 */ _t132 = cpu->r[8] + 0x00000008u; /* 028A0DB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t132); /* 028A0DBC */ _t133 = cpu->r[9] + 0x00000008u; /* 028A0DBC */ rbrew_write32(cpu->mem, _t133, cpu->r[11]); /* 028A0DC0 */ _t134 = cpu->r[8] + 0x0000000Cu; /* 028A0DC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t134); /* 028A0DC0 */ cpu->r[8] = _t134; /* 028A0DC4 */ _t135 = cpu->r[9] + 0x0000000Cu; /* 028A0DC4 */ rbrew_write32(cpu->mem, _t135, cpu->r[12]); /* 028A0DC4 */ cpu->r[9] = _t135; /* 028A0DC8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A0DC8 */ _t136 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A0DC8 */ _t137 = _t136 >> (0x00000002u & 31u); /* 028A0DC8 */ _t138 = _t137 & 0x00000001u; /* 028A0DC8 */ if (_t138) goto L_028A0DB0; else goto L_028A0DCC; L_028A0DCC: ; // 0x28a0dcc /* 028A0DCC */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; /* 028A0DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A0DD0 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A0DD4 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0DD4 */ _t140 = _t139 & 0x00000001u; /* 028A0DD4 */ if (_t140) goto L_028A0DD8; else goto L_028A0CFC; L_028A0DD8: ; // 0x28a0dd8 /* 028A0DD8 */ cpu->r[25] = cpu->r[26]; /* 028A0DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A0DDC */ cpu->r[8] = 0x00000000u; /* 028A0DE0 */ _t141 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0DE0 */ _t142 = _t141 & 0x00000001u; /* 028A0DE0 */ if (_t142) goto L_028A0DE4; else goto L_028A10B4; L_028A0DE4: ; // 0x28a0de4 /* 028A0DE4 */ cpu->r[6] = 0x80000000u; /* 028A0DE8 */ cpu->r[4] = cpu->r[28]; /* 028A0DEC */ cpu->r[27] = cpu->r[26] + 0xFFFFFFFFu; /* 028A0DF0 */ cpu->r[6] = cpu->r[6] + 0x00000001u; L_028A0DF4: ; // 0x28a0df4 /* 028A0DF4 */ _t143 = cpu->r[4] + 0x00000018u; /* 028A0DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143); /* 028A0DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]); /* 028A0DFC */ cpu->r[29] = cpu->r[4] + 0x00000018u; /* 028A0E00 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0E00 */ _t145 = _t144 & 0x00000001u; /* 028A0E00 */ if (_t145) goto L_028A10A4; else goto L_028A0E04; L_028A0E04: ; // 0x28a0e04 /* 028A0E04 */ cpu->r[21] = cpu->r[8] + 0x00000001u; /* 028A0E08 */ cpu->r[10] = cpu->r[27] - cpu->r[21]; /* 028A0E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[26]); /* 028A0E10 */ cpu->r[0] = cpu->r[10] + 0x00000001u; /* 028A0E14 */ _t146 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0E14 */ _t147 = _t146 & 0x00000001u; /* 028A0E14 */ if (_t147) goto L_028A0E18; else goto L_028A10A4; L_028A0E18: ; // 0x28a0e18 /* 028A0E18 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x00000024u); /* 028A0E1C */ cpu->ctr = cpu->r[0]; /* 028A0E20 */ cpu->r[23] = cpu->r[28] + cpu->r[11]; L_028A0E24: ; // 0x28a0e24 /* 028A0E24 */ _t148 = cpu->r[23] + 0x00000018u; /* 028A0E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148); /* 028A0E28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]); /* 028A0E2C */ cpu->r[9] = cpu->r[23] + 0x00000018u; /* 028A0E30 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0E30 */ _t150 = _t149 & 0x00000001u; /* 028A0E30 */ if (_t150) goto L_028A109C; else goto L_028A0E34; L_028A0E34: ; // 0x28a0e34 /* 028A0E34 */ _t151 = cpu->r[29] + 0x00000000u; /* 028A0E34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t151); /* 028A0E38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 028A0E3C */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0E3C */ _t153 = _t152 & 0x00000001u; /* 028A0E3C */ if (_t153) goto L_028A109C; else goto L_028A0E40; L_028A0E40: ; // 0x28a0e40 /* 028A0E40 */ _t154 = cpu->r[4] + 0x00000000u; /* 028A0E40 */ cpu->r[0] = rbrew_read16(cpu->mem, _t154); /* 028A0E44 */ _t155 = cpu->r[23] + 0x00000000u; /* 028A0E44 */ cpu->r[20] = rbrew_read16(cpu->mem, _t155); /* 028A0E48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[20]); /* 028A0E4C */ _t156 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0E4C */ _t157 = _t156 & 0x00000001u; /* 028A0E4C */ if (_t157) goto L_028A0E50; else goto L_028A0F70; L_028A0E50: ; // 0x28a0e50 /* 028A0E50 */ _t158 = cpu->r[4] + 0x00000002u; /* 028A0E50 */ cpu->r[7] = rbrew_read16(cpu->mem, _t158); /* 028A0E54 */ _t159 = cpu->r[23] + 0x00000002u; /* 028A0E54 */ cpu->r[10] = rbrew_read16(cpu->mem, _t159); /* 028A0E58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]); /* 028A0E5C */ _t160 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0E5C */ _t161 = _t160 & 0x00000001u; /* 028A0E5C */ if (_t161) goto L_028A0E60; else goto L_028A0F70; L_028A0E60: ; // 0x28a0e60 /* 028A0E60 */ _t162 = cpu->r[4] + 0x00000004u; /* 028A0E60 */ cpu->r[12] = rbrew_read16(cpu->mem, _t162); /* 028A0E64 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0E68 */ _t163 = cpu->r[4] + 0x00000006u; /* 028A0E68 */ cpu->r[11] = rbrew_read16(cpu->mem, _t163); /* 028A0E6C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0E70 */ _t164 = cpu->r[7] + cpu->r[24]; /* 028A0E70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t164); /* 028A0E74 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0E78 */ _t165 = cpu->r[5] + cpu->r[24]; /* 028A0E78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t165); /* 028A0E7C */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0E80 */ _t166 = cpu->r[12] + cpu->r[24]; /* 028A0E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166); /* 028A0E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]); /* 028A0E88 */ _t167 = cpu->r[7] + cpu->r[24]; /* 028A0E88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t167); /* 028A0E8C */ _t168 = cpu->r[23] + 0x00000006u; /* 028A0E8C */ cpu->r[21] = rbrew_read16(cpu->mem, _t168); /* 028A0E90 */ cpu->r[11] = cpu->r[3]; /* 028A0E94 */ cpu->r[20] = rbrew_rlwinm(cpu->r[20], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0E98 */ _t169 = cpu->r[23] + 0x00000004u; /* 028A0E98 */ cpu->r[22] = rbrew_read16(cpu->mem, _t169); /* 028A0E9C */ _t170 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0E9C */ _t171 = _t170 & 0x00000001u; /* 028A0E9C */ if (_t171) goto L_028A0EA0; else goto L_028A0EA4; L_028A0EA0: ; // 0x28a0ea0 /* 028A0EA0 */ cpu->r[11] = cpu->r[5]; L_028A0EA4: ; // 0x28a0ea4 /* 028A0EA4 */ cpu->r[12] = cpu->r[7]; /* 028A0EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 028A0EAC */ _t172 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0EAC */ _t173 = _t172 & 0x00000001u; /* 028A0EAC */ if (_t173) goto L_028A0EB0; else goto L_028A0EB4; L_028A0EB0: ; // 0x28a0eb0 /* 028A0EB0 */ cpu->r[12] = cpu->r[0]; L_028A0EB4: ; // 0x28a0eb4 /* 028A0EB4 */ cpu->r[19] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]); /* 028A0EBC */ _t174 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0EBC */ _t175 = _t174 & 0x00000001u; /* 028A0EBC */ if (_t175) goto L_028A0EC0; else goto L_028A0EC4; L_028A0EC0: ; // 0x28a0ec0 /* 028A0EC0 */ cpu->r[12] = cpu->r[11]; L_028A0EC4: ; // 0x28a0ec4 /* 028A0EC4 */ cpu->r[10] = cpu->r[3]; /* 028A0EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]); /* 028A0ECC */ _t176 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0ECC */ _t177 = _t176 & 0x00000001u; /* 028A0ECC */ if (_t177) goto L_028A0ED0; else goto L_028A0ED4; L_028A0ED0: ; // 0x28a0ed0 /* 028A0ED0 */ cpu->r[10] = cpu->r[5]; L_028A0ED4: ; // 0x28a0ed4 /* 028A0ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 028A0ED8 */ _t178 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0ED8 */ _t179 = _t178 & 0x00000001u; /* 028A0ED8 */ if (_t179) goto L_028A0EDC; else goto L_028A0EE0; L_028A0EDC: ; // 0x28a0edc /* 028A0EDC */ cpu->r[0] = cpu->r[7]; L_028A0EE0: ; // 0x28a0ee0 /* 028A0EE0 */ _t180 = cpu->r[20] + cpu->r[24]; /* 028A0EE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t180); /* 028A0EE4 */ _t181 = cpu->r[19] + cpu->r[24]; /* 028A0EE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t181); /* 028A0EE8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0EEC */ cpu->r[11] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 028A0EF4 */ _t182 = cpu->r[7] + cpu->r[24]; /* 028A0EF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t182); /* 028A0EF8 */ _t183 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0EF8 */ _t184 = _t183 & 0x00000001u; /* 028A0EF8 */ if (_t184) goto L_028A0EFC; else goto L_028A0F00; L_028A0EFC: ; // 0x28a0efc /* 028A0EFC */ cpu->r[10] = cpu->r[0]; L_028A0F00: ; // 0x28a0f00 /* 028A0F00 */ cpu->r[22] = cpu->r[3]; /* 028A0F04 */ _t185 = cpu->r[11] + cpu->r[24]; /* 028A0F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t185); /* 028A0F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]); /* 028A0F0C */ _t186 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0F0C */ _t187 = _t186 & 0x00000001u; /* 028A0F0C */ if (_t187) goto L_028A0F10; else goto L_028A0F14; L_028A0F10: ; // 0x28a0f10 /* 028A0F10 */ cpu->r[22] = cpu->r[5]; L_028A0F14: ; // 0x28a0f14 /* 028A0F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 028A0F18 */ cpu->r[11] = cpu->r[7]; /* 028A0F1C */ _t188 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0F1C */ _t189 = _t188 & 0x00000001u; /* 028A0F1C */ if (_t189) goto L_028A0F20; else goto L_028A0F24; L_028A0F20: ; // 0x28a0f20 /* 028A0F20 */ cpu->r[11] = cpu->r[0]; L_028A0F24: ; // 0x28a0f24 /* 028A0F24 */ cpu->r[21] = cpu->r[12] - cpu->r[10]; /* 028A0F28 */ cpu->r[12] = cpu->r[11]; /* 028A0F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[11]); /* 028A0F30 */ _t190 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0F30 */ _t191 = _t190 & 0x00000001u; /* 028A0F30 */ if (_t191) goto L_028A0F34; else goto L_028A0F38; L_028A0F34: ; // 0x28a0f34 /* 028A0F34 */ cpu->r[12] = cpu->r[22]; L_028A0F38: ; // 0x28a0f38 /* 028A0F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]); /* 028A0F3C */ _t192 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0F3C */ _t193 = _t192 & 0x00000001u; /* 028A0F3C */ if (_t193) goto L_028A0F40; else goto L_028A0F44; L_028A0F40: ; // 0x28a0f40 /* 028A0F40 */ cpu->r[5] = cpu->r[3]; L_028A0F44: ; // 0x28a0f44 /* 028A0F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 028A0F48 */ _t194 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0F48 */ _t195 = _t194 & 0x00000001u; /* 028A0F48 */ if (_t195) goto L_028A0F4C; else goto L_028A0F50; L_028A0F4C: ; // 0x28a0f4c /* 028A0F4C */ cpu->r[0] = cpu->r[7]; L_028A0F50: ; // 0x28a0f50 /* 028A0F50 */ cpu->r[10] = cpu->r[0]; /* 028A0F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 028A0F58 */ _t196 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0F58 */ _t197 = _t196 & 0x00000001u; /* 028A0F58 */ if (_t197) goto L_028A0F5C; else goto L_028A0F60; L_028A0F5C: ; // 0x28a0f5c /* 028A0F5C */ cpu->r[10] = cpu->r[5]; L_028A0F60: ; // 0x28a0f60 /* 028A0F60 */ cpu->r[0] = cpu->r[12] - cpu->r[10]; /* 028A0F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 028A0F68 */ _t198 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0F68 */ _t199 = _t198 & 0x00000001u; /* 028A0F68 */ if (_t199) goto L_028A1094; else goto L_028A0F6C; L_028A0F6C: ; // 0x28a0f6c /* 028A0F6C */ goto L_028A1098; L_028A0F70: ; // 0x28a0f70 /* 028A0F70 */ _t200 = cpu->r[4] + 0x00000004u; /* 028A0F70 */ cpu->r[12] = rbrew_read16(cpu->mem, _t200); /* 028A0F74 */ _t201 = cpu->r[23] + 0x00000004u; /* 028A0F74 */ cpu->r[22] = rbrew_read16(cpu->mem, _t201); /* 028A0F78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[22]); /* 028A0F7C */ _t202 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0F7C */ _t203 = _t202 & 0x00000001u; /* 028A0F7C */ if (_t203) goto L_028A0F80; else goto L_028A109C; L_028A0F80: ; // 0x28a0f80 /* 028A0F80 */ _t204 = cpu->r[4] + 0x00000006u; /* 028A0F80 */ cpu->r[11] = rbrew_read16(cpu->mem, _t204); /* 028A0F84 */ _t205 = cpu->r[23] + 0x00000006u; /* 028A0F84 */ cpu->r[21] = rbrew_read16(cpu->mem, _t205); /* 028A0F88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[21]); /* 028A0F8C */ _t206 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A0F8C */ _t207 = _t206 & 0x00000001u; /* 028A0F8C */ if (_t207) goto L_028A0F90; else goto L_028A109C; L_028A0F90: ; // 0x28a0f90 /* 028A0F90 */ _t208 = cpu->r[4] + 0x00000002u; /* 028A0F90 */ cpu->r[7] = rbrew_read16(cpu->mem, _t208); /* 028A0F94 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0F98 */ _t209 = cpu->r[23] + 0x00000002u; /* 028A0F98 */ cpu->r[10] = rbrew_read16(cpu->mem, _t209); /* 028A0F9C */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0FA0 */ _t210 = cpu->r[5] + cpu->r[24]; /* 028A0FA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t210); /* 028A0FA4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0FA8 */ _t211 = cpu->r[7] + cpu->r[24]; /* 028A0FA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t211); /* 028A0FAC */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0FB0 */ _t212 = cpu->r[12] + cpu->r[24]; /* 028A0FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t212); /* 028A0FB4 */ cpu->r[20] = rbrew_rlwinm(cpu->r[20], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0FB8 */ cpu->r[11] = cpu->r[3]; /* 028A0FBC */ _t213 = cpu->r[7] + cpu->r[24]; /* 028A0FBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t213); /* 028A0FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]); /* 028A0FC4 */ _t214 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0FC4 */ _t215 = _t214 & 0x00000001u; /* 028A0FC4 */ if (_t215) goto L_028A0FC8; else goto L_028A0FCC; L_028A0FC8: ; // 0x28a0fc8 /* 028A0FC8 */ cpu->r[11] = cpu->r[5]; L_028A0FCC: ; // 0x28a0fcc /* 028A0FCC */ cpu->r[12] = cpu->r[7]; /* 028A0FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 028A0FD4 */ _t216 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A0FD4 */ _t217 = _t216 & 0x00000001u; /* 028A0FD4 */ if (_t217) goto L_028A0FD8; else goto L_028A0FDC; L_028A0FD8: ; // 0x28a0fd8 /* 028A0FD8 */ cpu->r[12] = cpu->r[0]; L_028A0FDC: ; // 0x28a0fdc /* 028A0FDC */ cpu->r[19] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A0FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]); /* 028A0FE4 */ _t218 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0FE4 */ _t219 = _t218 & 0x00000001u; /* 028A0FE4 */ if (_t219) goto L_028A0FE8; else goto L_028A0FEC; L_028A0FE8: ; // 0x28a0fe8 /* 028A0FE8 */ cpu->r[12] = cpu->r[11]; L_028A0FEC: ; // 0x28a0fec /* 028A0FEC */ cpu->r[10] = cpu->r[3]; /* 028A0FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]); /* 028A0FF4 */ _t220 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A0FF4 */ _t221 = _t220 & 0x00000001u; /* 028A0FF4 */ if (_t221) goto L_028A0FF8; else goto L_028A0FFC; L_028A0FF8: ; // 0x28a0ff8 /* 028A0FF8 */ cpu->r[10] = cpu->r[5]; L_028A0FFC: ; // 0x28a0ffc /* 028A0FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 028A1000 */ _t222 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1000 */ _t223 = _t222 & 0x00000001u; /* 028A1000 */ if (_t223) goto L_028A1004; else goto L_028A1008; L_028A1004: ; // 0x28a1004 /* 028A1004 */ cpu->r[0] = cpu->r[7]; L_028A1008: ; // 0x28a1008 /* 028A1008 */ _t224 = cpu->r[20] + cpu->r[24]; /* 028A1008 */ cpu->r[5] = rbrew_read32(cpu->mem, _t224); /* 028A100C */ cpu->r[7] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 028A1014 */ _t225 = cpu->r[19] + cpu->r[24]; /* 028A1014 */ cpu->r[3] = rbrew_read32(cpu->mem, _t225); /* 028A1018 */ cpu->r[11] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A101C */ _t226 = cpu->r[7] + cpu->r[24]; /* 028A101C */ cpu->r[7] = rbrew_read32(cpu->mem, _t226); /* 028A1020 */ _t227 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1020 */ _t228 = _t227 & 0x00000001u; /* 028A1020 */ if (_t228) goto L_028A1024; else goto L_028A1028; L_028A1024: ; // 0x28a1024 /* 028A1024 */ cpu->r[10] = cpu->r[0]; L_028A1028: ; // 0x28a1028 /* 028A1028 */ cpu->r[22] = cpu->r[3]; /* 028A102C */ _t229 = cpu->r[11] + cpu->r[24]; /* 028A102C */ cpu->r[0] = rbrew_read32(cpu->mem, _t229); /* 028A1030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]); /* 028A1034 */ _t230 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1034 */ _t231 = _t230 & 0x00000001u; /* 028A1034 */ if (_t231) goto L_028A1038; else goto L_028A103C; L_028A1038: ; // 0x28a1038 /* 028A1038 */ cpu->r[22] = cpu->r[5]; L_028A103C: ; // 0x28a103c /* 028A103C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 028A1040 */ cpu->r[11] = cpu->r[7]; /* 028A1044 */ _t232 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1044 */ _t233 = _t232 & 0x00000001u; /* 028A1044 */ if (_t233) goto L_028A1048; else goto L_028A104C; L_028A1048: ; // 0x28a1048 /* 028A1048 */ cpu->r[11] = cpu->r[0]; L_028A104C: ; // 0x28a104c /* 028A104C */ cpu->r[21] = cpu->r[12] - cpu->r[10]; /* 028A1050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[11]); /* 028A1054 */ cpu->r[12] = cpu->r[11]; /* 028A1058 */ _t234 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1058 */ _t235 = _t234 & 0x00000001u; /* 028A1058 */ if (_t235) goto L_028A105C; else goto L_028A1060; L_028A105C: ; // 0x28a105c /* 028A105C */ cpu->r[12] = cpu->r[22]; L_028A1060: ; // 0x28a1060 /* 028A1060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]); /* 028A1064 */ _t236 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1064 */ _t237 = _t236 & 0x00000001u; /* 028A1064 */ if (_t237) goto L_028A1068; else goto L_028A106C; L_028A1068: ; // 0x28a1068 /* 028A1068 */ cpu->r[5] = cpu->r[3]; L_028A106C: ; // 0x28a106c /* 028A106C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 028A1070 */ _t238 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1070 */ _t239 = _t238 & 0x00000001u; /* 028A1070 */ if (_t239) goto L_028A1074; else goto L_028A1078; L_028A1074: ; // 0x28a1074 /* 028A1074 */ cpu->r[0] = cpu->r[7]; L_028A1078: ; // 0x28a1078 /* 028A1078 */ cpu->r[10] = cpu->r[0]; /* 028A107C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 028A1080 */ _t240 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1080 */ _t241 = _t240 & 0x00000001u; /* 028A1080 */ if (_t241) goto L_028A1084; else goto L_028A1088; L_028A1084: ; // 0x28a1084 /* 028A1084 */ cpu->r[10] = cpu->r[5]; L_028A1088: ; // 0x28a1088 /* 028A1088 */ cpu->r[0] = cpu->r[12] - cpu->r[10]; /* 028A108C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[0]); /* 028A1090 */ _t242 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1090 */ _t243 = _t242 & 0x00000001u; /* 028A1090 */ if (_t243) goto L_028A1094; else goto L_028A1098; L_028A1094: ; // 0x28a1094 /* 028A1094 */ cpu->r[9] = cpu->r[29]; L_028A1098: ; // 0x28a1098 /* 028A1098 */ _t244 = cpu->r[9] + 0x00000000u; /* 028A1098 */ rbrew_write32(cpu->mem, _t244, cpu->r[6]); L_028A109C: ; // 0x28a109c /* 028A109C */ cpu->r[23] = cpu->r[23] + 0x00000024u; /* 028A10A0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A10A0 */ _t245 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A10A0 */ _t246 = _t245 >> (0x00000002u & 31u); /* 028A10A0 */ _t247 = _t246 & 0x00000001u; /* 028A10A0 */ if (_t247) goto L_028A0E24; else goto L_028A10A4; L_028A10A4: ; // 0x28a10a4 /* 028A10A4 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 028A10A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A10A8 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A10AC */ cpu->r[4] = cpu->r[4] + 0x00000024u; /* 028A10B0 */ _t248 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A10B0 */ _t249 = _t248 & 0x00000001u; /* 028A10B0 */ if (_t249) goto L_028A10B4; else goto L_028A0DF4; L_028A10B4: ; // 0x28a10b4 /* 028A10B4 */ cpu->r[8] = 0x00000000u; /* 028A10B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[26]); /* 028A10BC */ _t250 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A10BC */ _t251 = _t250 & 0x00000001u; /* 028A10BC */ if (_t251) goto L_028A10C0; else goto L_028A15C4; L_028A10C0: ; // 0x28a10c0 /* 028A10C0 */ cpu->r[0] = 0x80000000u; /* 028A10C4 */ cpu->r[12] = cpu->r[28]; /* 028A10C8 */ cpu->r[0] = cpu->r[0] | 0x00000001u; L_028A10CC: ; // 0x28a10cc /* 028A10CC */ _t252 = cpu->r[12] + 0x00000018u; /* 028A10CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t252); /* 028A10D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 028A10D4 */ _t253 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A10D4 */ _t254 = _t253 & 0x00000001u; /* 028A10D4 */ if (_t254) goto L_028A15B4; else goto L_028A10D8; L_028A10D8: ; // 0x28a10d8 /* 028A10D8 */ cpu->r[21] = cpu->r[8] + 0x00000001u; /* 028A10DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[26]); /* 028A10E0 */ _t255 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A10E0 */ _t256 = _t255 & 0x00000001u; /* 028A10E0 */ if (_t256) goto L_028A10E4; else goto L_028A15B4; L_028A10E4: ; // 0x28a10e4 /* 028A10E4 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x00000024u); /* 028A10E8 */ cpu->r[3] = 0x00000000u; /* 028A10EC */ cpu->r[29] = cpu->r[1] + 0x00000008u; /* 028A10F0 */ cpu->r[27] = cpu->r[28] + cpu->r[5]; L_028A10F4: ; // 0x28a10f4 /* 028A10F4 */ _t257 = cpu->r[27] + 0x00000010u; /* 028A10F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t257); /* 028A10F8 */ _t258 = cpu->r[12] + 0x00000010u; /* 028A10F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t258); /* 028A10FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]); /* 028A1100 */ _t259 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1100 */ _t260 = _t259 & 0x00000001u; /* 028A1100 */ if (_t260) goto L_028A15B4; else goto L_028A1104; L_028A1104: ; // 0x28a1104 /* 028A1104 */ _t261 = cpu->r[27] + 0x00000018u; /* 028A1104 */ cpu->r[11] = rbrew_read32(cpu->mem, _t261); /* 028A1108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 028A110C */ _t262 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A110C */ _t263 = _t262 & 0x00000001u; /* 028A110C */ if (_t263) goto L_028A15A4; else goto L_028A1110; L_028A1110: ; // 0x28a1110 /* 028A1110 */ _t264 = cpu->r[12] + 0x00000018u; /* 028A1110 */ cpu->r[10] = rbrew_read32(cpu->mem, _t264); /* 028A1114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 028A1118 */ _t265 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1118 */ _t266 = _t265 & 0x00000001u; /* 028A1118 */ if (_t266) goto L_028A111C; else goto L_028A15A4; L_028A111C: ; // 0x28a111c /* 028A111C */ cpu->r[7] = 0x00000003u; /* 028A1120 */ cpu->r[5] = 0x00000000u; /* 028A1124 */ cpu->ctr = cpu->r[7]; /* 028A1128 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu; L_028A112C: ; // 0x28a112c /* 028A112C */ _t267 = cpu->r[6] + 0x00000004u; /* 028A112C */ rbrew_write32(cpu->mem, _t267, cpu->r[5]); /* 028A1130 */ _t268 = cpu->r[6] + 0x00000008u; /* 028A1130 */ rbrew_write32(cpu->mem, _t268, cpu->r[5]); /* 028A1134 */ _t269 = cpu->r[6] + 0x0000000Cu; /* 028A1134 */ rbrew_write32(cpu->mem, _t269, cpu->r[5]); /* 028A1134 */ cpu->r[6] = _t269; /* 028A1138 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A1138 */ _t270 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A1138 */ _t271 = _t270 >> (0x00000002u & 31u); /* 028A1138 */ _t272 = _t271 & 0x00000001u; /* 028A1138 */ if (_t272) goto L_028A112C; else goto L_028A113C; L_028A113C: ; // 0x28a113c /* 028A113C */ _t273 = cpu->r[12] + 0x00000002u; /* 028A113C */ cpu->r[9] = rbrew_read16(cpu->mem, _t273); /* 028A1140 */ _t274 = cpu->r[27] + 0x00000002u; /* 028A1140 */ cpu->r[6] = rbrew_read16(cpu->mem, _t274); /* 028A1144 */ _t275 = cpu->r[1] + 0x0000000Au; /* 028A1144 */ rbrew_write16(cpu->mem, _t275, (uint16_t)cpu->r[9]); /* 028A1148 */ cpu->r[10] = cpu->r[1] + 0x0000000Au; /* 028A114C */ _t276 = cpu->r[27] + 0x00000000u; /* 028A114C */ cpu->r[7] = rbrew_read16(cpu->mem, _t276); /* 028A1150 */ cpu->r[25] = 0x00000003u; /* 028A1154 */ _t277 = cpu->r[12] + 0x00000000u; /* 028A1154 */ cpu->r[9] = rbrew_read16(cpu->mem, _t277); /* 028A1158 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028A115C */ _t278 = cpu->r[1] + 0x0000000Cu; /* 028A115C */ rbrew_write16(cpu->mem, _t278, (uint16_t)cpu->r[7]); /* 028A1160 */ cpu->r[11] = 0x00000000u; /* 028A1164 */ _t279 = cpu->r[29] + 0x00000000u; /* 028A1164 */ rbrew_write16(cpu->mem, _t279, (uint16_t)cpu->r[9]); /* 028A1168 */ cpu->r[7] = cpu->r[4]; /* 028A116C */ _t280 = cpu->r[1] + 0x0000000Eu; /* 028A116C */ rbrew_write16(cpu->mem, _t280, (uint16_t)cpu->r[6]); L_028A1170: ; // 0x28a1170 /* 028A1170 */ _t281 = cpu->r[7] + 0x00000002u; /* 028A1170 */ cpu->r[22] = rbrew_read16(cpu->mem, _t281); /* 028A1170 */ cpu->r[7] = _t281; /* 028A1174 */ cpu->r[20] = cpu->r[11]; /* 028A1178 */ cpu->r[6] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A117C */ cpu->r[9] = rbrew_rlwinm(cpu->r[20], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A1180 */ _t282 = cpu->r[6] + cpu->r[24]; /* 028A1180 */ cpu->r[23] = rbrew_read32(cpu->mem, _t282); /* 028A1184 */ cpu->r[6] = cpu->r[4] + cpu->r[9]; /* 028A1188 */ goto L_028A1198; L_028A118C: ; // 0x28a118c /* 028A118C */ _t283 = cpu->r[6] + 0x00000002u; /* 028A118C */ rbrew_write16(cpu->mem, _t283, (uint16_t)cpu->r[9]); /* 028A1190 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu; /* 028A1194 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFEu; L_028A1198: ; // 0x28a1198 /* 028A1198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 028A119C */ _t284 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A119C */ _t285 = _t284 & 0x00000001u; /* 028A119C */ if (_t285) goto L_028A11B4; else goto L_028A11A0; L_028A11A0: ; // 0x28a11a0 /* 028A11A0 */ _t286 = cpu->r[6] + 0x00000000u; /* 028A11A0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t286); /* 028A11A4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A11A8 */ _t287 = cpu->r[5] + cpu->r[24]; /* 028A11A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t287); /* 028A11AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[23]); /* 028A11B0 */ _t288 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A11B0 */ _t289 = _t288 & 0x00000001u; /* 028A11B0 */ if (_t289) goto L_028A118C; else goto L_028A11B4; L_028A11B4: ; // 0x28a11b4 /* 028A11B4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[20], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A11B8 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A11BC */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 028A11BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A11C0 */ _t290 = cpu->r[5] + cpu->r[10]; /* 028A11C0 */ rbrew_write16(cpu->mem, _t290, (uint16_t)cpu->r[22]); /* 028A11C4 */ _t291 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A11C4 */ _t292 = _t291 & 0x00000001u; /* 028A11C4 */ if (_t292) goto L_028A11C8; else goto L_028A1170; L_028A11C8: ; // 0x28a11c8 /* 028A11C8 */ _t293 = cpu->r[1] + 0x0000000Eu; /* 028A11C8 */ cpu->r[25] = rbrew_read16(cpu->mem, _t293); /* 028A11CC */ _t294 = cpu->r[29] + 0x00000000u; /* 028A11CC */ cpu->r[7] = rbrew_read16(cpu->mem, _t294); /* 028A11D0 */ _t295 = cpu->r[1] + 0x0000000Au; /* 028A11D0 */ cpu->r[5] = rbrew_read16(cpu->mem, _t295); /* 028A11D4 */ cpu->r[9] = cpu->r[25]; /* 028A11D8 */ cpu->r[11] = 0x00000000u; /* 028A11DC */ _t296 = cpu->r[1] + 0x00000010u; /* 028A11DC */ rbrew_write16(cpu->mem, _t296, (uint16_t)cpu->r[7]); /* 028A11E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[7]); /* 028A11E4 */ _t297 = cpu->r[1] + 0x00000012u; /* 028A11E4 */ rbrew_write16(cpu->mem, _t297, (uint16_t)cpu->r[9]); /* 028A11E8 */ _t298 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A11E8 */ _t299 = _t298 & 0x00000001u; /* 028A11E8 */ if (_t299) goto L_028A1210; else goto L_028A11EC; L_028A11EC: ; // 0x28a11ec /* 028A11EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[25]); /* 028A11F0 */ _t300 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A11F0 */ _t301 = _t300 & 0x00000001u; /* 028A11F0 */ if (_t301) goto L_028A1210; else goto L_028A11F4; L_028A11F4: ; // 0x28a11f4 /* 028A11F4 */ _t302 = cpu->r[30] + 0x00000000u; /* 028A11F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t302); /* 028A11F8 */ _t303 = cpu->r[11] + 0x00000000u; /* 028A11F8 */ rbrew_write16(cpu->mem, _t303, (uint16_t)cpu->r[5]); /* 028A11FC */ _t304 = cpu->r[11] + 0x00000004u; /* 028A11FC */ rbrew_write32(cpu->mem, _t304, cpu->r[3]); /* 028A1200 */ _t305 = cpu->r[30] + 0x00000000u; /* 028A1200 */ cpu->r[6] = rbrew_read32(cpu->mem, _t305); /* 028A1204 */ cpu->r[6] = cpu->r[6] + 0x00000008u; /* 028A1208 */ _t306 = cpu->r[30] + 0x00000000u; /* 028A1208 */ rbrew_write32(cpu->mem, _t306, cpu->r[6]); /* 028A120C */ _t307 = cpu->r[11] + 0x00000004u; /* 028A120C */ rbrew_write32(cpu->mem, _t307, cpu->r[3]); L_028A1210: ; // 0x28a1210 /* 028A1210 */ _t308 = cpu->r[30] + 0x00000000u; /* 028A1210 */ cpu->r[6] = rbrew_read32(cpu->mem, _t308); /* 028A1214 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A1218 */ _t309 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1218 */ _t310 = _t309 & 0x00000001u; /* 028A1218 */ if (_t310) goto L_028A121C; else goto L_028A12A8; L_028A121C: ; // 0x28a121c /* 028A121C */ _t311 = cpu->r[1] + 0x0000000Cu; /* 028A121C */ cpu->r[4] = rbrew_read16(cpu->mem, _t311); /* 028A1220 */ _t312 = cpu->r[29] + 0x00000000u; /* 028A1220 */ cpu->r[10] = rbrew_read16(cpu->mem, _t312); /* 028A1224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 028A1228 */ _t313 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1228 */ _t314 = _t313 & 0x00000001u; /* 028A1228 */ if (_t314) goto L_028A1260; else goto L_028A122C; L_028A122C: ; // 0x28a122c /* 028A122C */ _t315 = cpu->r[1] + 0x0000000Eu; /* 028A122C */ cpu->r[5] = rbrew_read16(cpu->mem, _t315); /* 028A1230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]); /* 028A1234 */ _t316 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1234 */ _t317 = _t316 & 0x00000001u; /* 028A1234 */ if (_t317) goto L_028A1260; else goto L_028A1238; L_028A1238: ; // 0x28a1238 /* 028A1238 */ _t318 = cpu->r[6] + 0x00000000u; /* 028A1238 */ rbrew_write16(cpu->mem, _t318, (uint16_t)cpu->r[4]); /* 028A123C */ _t319 = cpu->r[6] + 0x00000004u; /* 028A123C */ rbrew_write32(cpu->mem, _t319, cpu->r[3]); /* 028A1240 */ _t320 = cpu->r[30] + 0x00000000u; /* 028A1240 */ cpu->r[5] = rbrew_read32(cpu->mem, _t320); /* 028A1244 */ cpu->r[5] = cpu->r[5] + 0x00000008u; /* 028A1248 */ _t321 = cpu->r[30] + 0x00000000u; /* 028A1248 */ rbrew_write32(cpu->mem, _t321, cpu->r[5]); /* 028A124C */ _t322 = cpu->r[6] + 0x00000004u; /* 028A124C */ rbrew_write32(cpu->mem, _t322, cpu->r[11]); /* 028A1250 */ cpu->r[11] = cpu->r[6]; /* 028A1254 */ _t323 = cpu->r[30] + 0x00000000u; /* 028A1254 */ cpu->r[6] = rbrew_read32(cpu->mem, _t323); /* 028A1258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A125C */ _t324 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A125C */ _t325 = _t324 & 0x00000001u; /* 028A125C */ if (_t325) goto L_028A1260; else goto L_028A12A8; L_028A1260: ; // 0x28a1260 /* 028A1260 */ _t326 = cpu->r[12] + 0x00000008u; /* 028A1260 */ cpu->r[5] = rbrew_read32(cpu->mem, _t326); /* 028A1264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A1268 */ _t327 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1268 */ _t328 = _t327 & 0x00000001u; /* 028A1268 */ if (_t328) goto L_028A12C0; else goto L_028A126C; L_028A126C: ; // 0x28a126c /* 028A126C */ cpu->r[4] = 0x00000000u; L_028A1270: ; // 0x28a1270 /* 028A1270 */ _t329 = cpu->r[5] + 0x00000000u; /* 028A1270 */ cpu->r[10] = rbrew_read16(cpu->mem, _t329); /* 028A1274 */ _t330 = cpu->r[6] + 0x00000004u; /* 028A1274 */ rbrew_write32(cpu->mem, _t330, cpu->r[4]); /* 028A1278 */ _t331 = cpu->r[6] + 0x00000000u; /* 028A1278 */ rbrew_write16(cpu->mem, _t331, (uint16_t)cpu->r[10]); /* 028A127C */ _t332 = cpu->r[30] + 0x00000000u; /* 028A127C */ cpu->r[10] = rbrew_read32(cpu->mem, _t332); /* 028A1280 */ cpu->r[10] = cpu->r[10] + 0x00000008u; /* 028A1284 */ _t333 = cpu->r[30] + 0x00000000u; /* 028A1284 */ rbrew_write32(cpu->mem, _t333, cpu->r[10]); /* 028A1288 */ _t334 = cpu->r[6] + 0x00000004u; /* 028A1288 */ rbrew_write32(cpu->mem, _t334, cpu->r[11]); /* 028A128C */ _t335 = cpu->r[5] + 0x00000004u; /* 028A128C */ cpu->r[5] = rbrew_read32(cpu->mem, _t335); /* 028A1290 */ cpu->r[11] = cpu->r[6]; /* 028A1294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A1298 */ _t336 = cpu->r[30] + 0x00000000u; /* 028A1298 */ cpu->r[6] = rbrew_read32(cpu->mem, _t336); /* 028A129C */ _t337 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A129C */ _t338 = _t337 & 0x00000001u; /* 028A129C */ if (_t338) goto L_028A12A0; else goto L_028A1270; L_028A12A0: ; // 0x28a12a0 /* 028A12A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A12A4 */ _t339 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A12A4 */ _t340 = _t339 & 0x00000001u; /* 028A12A4 */ if (_t340) goto L_028A12C0; else goto L_028A12A8; L_028A12A8: ; // 0x28a12a8 /* 028A12A8 */ /* nop */ /* 028A12AC */ _t341 = cpu->r[1] + 0x0000009Cu; /* 028A12AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t341); /* 028A12B0 */ cpu->lr = cpu->r[0]; /* 028A12B4 */ cpu->r[1] = cpu->r[1] + 0x00000098u; /* 028A12B8 */ cpu->r[3] = 0x00000000u; /* 028A12BC */ return; L_028A12C0: ; // 0x28a12c0 /* 028A12C0 */ _t342 = cpu->r[27] + 0x00000008u; /* 028A12C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t342); /* 028A12C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A12C8 */ _t343 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A12C8 */ _t344 = _t343 & 0x00000001u; /* 028A12C8 */ if (_t344) goto L_028A12CC; else goto L_028A12DC; L_028A12CC: ; // 0x28a12cc /* 028A12CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A12D0 */ _t345 = cpu->r[1] + 0x00000018u; /* 028A12D0 */ rbrew_write32(cpu->mem, _t345, cpu->r[11]); /* 028A12D4 */ _t346 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A12D4 */ _t347 = _t346 & 0x00000001u; /* 028A12D4 */ if (_t347) goto L_028A1324; else goto L_028A12D8; L_028A12D8: ; // 0x28a12d8 /* 028A12D8 */ goto L_028A1508; L_028A12DC: ; // 0x28a12dc /* 028A12DC */ cpu->r[10] = 0x00000000u; L_028A12E0: ; // 0x28a12e0 /* 028A12E0 */ _t348 = cpu->r[5] + 0x00000000u; /* 028A12E0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t348); /* 028A12E4 */ _t349 = cpu->r[6] + 0x00000004u; /* 028A12E4 */ rbrew_write32(cpu->mem, _t349, cpu->r[10]); /* 028A12E8 */ _t350 = cpu->r[6] + 0x00000000u; /* 028A12E8 */ rbrew_write16(cpu->mem, _t350, (uint16_t)cpu->r[4]); /* 028A12EC */ _t351 = cpu->r[30] + 0x00000000u; /* 028A12EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t351); /* 028A12F0 */ cpu->r[4] = cpu->r[4] + 0x00000008u; /* 028A12F4 */ _t352 = cpu->r[30] + 0x00000000u; /* 028A12F4 */ rbrew_write32(cpu->mem, _t352, cpu->r[4]); /* 028A12F8 */ _t353 = cpu->r[6] + 0x00000004u; /* 028A12F8 */ rbrew_write32(cpu->mem, _t353, cpu->r[11]); /* 028A12FC */ _t354 = cpu->r[5] + 0x00000004u; /* 028A12FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t354); /* 028A1300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A1304 */ cpu->r[11] = cpu->r[6]; /* 028A1308 */ _t355 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1308 */ _t356 = _t355 & 0x00000001u; /* 028A1308 */ if (_t356) goto L_028A1314; else goto L_028A130C; L_028A130C: ; // 0x28a130c /* 028A130C */ _t357 = cpu->r[30] + 0x00000000u; /* 028A130C */ cpu->r[6] = rbrew_read32(cpu->mem, _t357); /* 028A1310 */ goto L_028A12E0; L_028A1314: ; // 0x28a1314 /* 028A1314 */ _t358 = cpu->r[30] + 0x00000000u; /* 028A1314 */ cpu->r[6] = rbrew_read32(cpu->mem, _t358); /* 028A1318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A131C */ _t359 = cpu->r[1] + 0x00000018u; /* 028A131C */ rbrew_write32(cpu->mem, _t359, cpu->r[11]); /* 028A1320 */ _t360 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1320 */ _t361 = _t360 & 0x00000001u; /* 028A1320 */ if (_t361) goto L_028A1324; else goto L_028A1508; L_028A1324: ; // 0x28a1324 /* 028A1324 */ _t362 = cpu->r[12] + 0x00000006u; /* 028A1324 */ cpu->r[4] = rbrew_read16(cpu->mem, _t362); /* 028A1328 */ _t363 = cpu->r[27] + 0x00000004u; /* 028A1328 */ cpu->r[11] = rbrew_read16(cpu->mem, _t363); /* 028A132C */ _t364 = cpu->r[1] + 0x0000000Au; /* 028A132C */ rbrew_write16(cpu->mem, _t364, (uint16_t)cpu->r[4]); /* 028A1330 */ _t365 = cpu->r[12] + 0x00000004u; /* 028A1330 */ cpu->r[5] = rbrew_read16(cpu->mem, _t365); /* 028A1334 */ _t366 = cpu->r[27] + 0x00000006u; /* 028A1334 */ cpu->r[10] = rbrew_read16(cpu->mem, _t366); /* 028A1338 */ cpu->r[23] = 0x00000003u; /* 028A133C */ _t367 = cpu->r[1] + 0x0000000Cu; /* 028A133C */ rbrew_write16(cpu->mem, _t367, (uint16_t)cpu->r[11]); /* 028A1340 */ cpu->r[29] = cpu->r[1] + 0x00000008u; /* 028A1344 */ cpu->r[22] = 0x00000000u; /* 028A1348 */ _t368 = cpu->r[1] + 0x00000008u; /* 028A1348 */ rbrew_write16(cpu->mem, _t368, (uint16_t)cpu->r[5]); /* 028A134C */ cpu->r[20] = cpu->r[29]; /* 028A1350 */ cpu->r[25] = cpu->r[1] + 0x0000000Au; /* 028A1354 */ _t369 = cpu->r[1] + 0x0000000Eu; /* 028A1354 */ rbrew_write16(cpu->mem, _t369, (uint16_t)cpu->r[10]); L_028A1358: ; // 0x28a1358 /* 028A1358 */ _t370 = cpu->r[20] + 0x00000002u; /* 028A1358 */ cpu->r[19] = rbrew_read16(cpu->mem, _t370); /* 028A1358 */ cpu->r[20] = _t370; /* 028A135C */ cpu->r[18] = cpu->r[22]; /* 028A1360 */ cpu->r[5] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1364 */ cpu->r[11] = rbrew_rlwinm(cpu->r[18], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A1368 */ _t371 = cpu->r[5] + cpu->r[24]; /* 028A1368 */ cpu->r[17] = rbrew_read32(cpu->mem, _t371); /* 028A136C */ cpu->r[4] = cpu->r[29] + cpu->r[11]; /* 028A1370 */ goto L_028A1380; L_028A1374: ; // 0x28a1374 /* 028A1374 */ _t372 = cpu->r[4] + 0x00000002u; /* 028A1374 */ rbrew_write16(cpu->mem, _t372, (uint16_t)cpu->r[10]); /* 028A1378 */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu; /* 028A137C */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFEu; L_028A1380: ; // 0x28a1380 /* 028A1380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 028A1384 */ _t373 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1384 */ _t374 = _t373 & 0x00000001u; /* 028A1384 */ if (_t374) goto L_028A139C; else goto L_028A1388; L_028A1388: ; // 0x28a1388 /* 028A1388 */ _t375 = cpu->r[4] + 0x00000000u; /* 028A1388 */ cpu->r[10] = rbrew_read16(cpu->mem, _t375); /* 028A138C */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1390 */ _t376 = cpu->r[5] + cpu->r[24]; /* 028A1390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t376); /* 028A1394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[17]); /* 028A1398 */ _t377 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1398 */ _t378 = _t377 & 0x00000001u; /* 028A1398 */ if (_t378) goto L_028A1374; else goto L_028A139C; L_028A139C: ; // 0x28a139c /* 028A139C */ cpu->r[4] = rbrew_rlwinm(cpu->r[18], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A13A0 */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 028A13A4 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu; /* 028A13A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A13A8 */ _t379 = cpu->r[4] + cpu->r[25]; /* 028A13A8 */ rbrew_write16(cpu->mem, _t379, (uint16_t)cpu->r[19]); /* 028A13AC */ _t380 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A13AC */ _t381 = _t380 & 0x00000001u; /* 028A13AC */ if (_t381) goto L_028A13B0; else goto L_028A1358; L_028A13B0: ; // 0x28a13b0 /* 028A13B0 */ _t382 = cpu->r[1] + 0x0000000Au; /* 028A13B0 */ cpu->r[5] = rbrew_read16(cpu->mem, _t382); /* 028A13B4 */ _t383 = cpu->r[29] + 0x00000000u; /* 028A13B4 */ cpu->r[23] = rbrew_read16(cpu->mem, _t383); /* 028A13B8 */ _t384 = cpu->r[1] + 0x0000000Eu; /* 028A13B8 */ cpu->r[25] = rbrew_read16(cpu->mem, _t384); /* 028A13BC */ cpu->r[10] = 0x00000000u; /* 028A13C0 */ _t385 = cpu->r[1] + 0x00000014u; /* 028A13C0 */ rbrew_write16(cpu->mem, _t385, (uint16_t)cpu->r[23]); /* 028A13C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[23]); /* 028A13C8 */ _t386 = cpu->r[1] + 0x00000016u; /* 028A13C8 */ rbrew_write16(cpu->mem, _t386, (uint16_t)cpu->r[25]); /* 028A13CC */ _t387 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A13CC */ _t388 = _t387 & 0x00000001u; /* 028A13CC */ if (_t388) goto L_028A13F8; else goto L_028A13D0; L_028A13D0: ; // 0x28a13d0 /* 028A13D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[25]); /* 028A13D4 */ _t389 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A13D4 */ _t390 = _t389 & 0x00000001u; /* 028A13D4 */ if (_t390) goto L_028A13F8; else goto L_028A13D8; L_028A13D8: ; // 0x28a13d8 /* 028A13D8 */ _t391 = cpu->r[6] + 0x00000000u; /* 028A13D8 */ rbrew_write16(cpu->mem, _t391, (uint16_t)cpu->r[5]); /* 028A13DC */ _t392 = cpu->r[6] + 0x00000004u; /* 028A13DC */ rbrew_write32(cpu->mem, _t392, cpu->r[3]); /* 028A13E0 */ _t393 = cpu->r[30] + 0x00000000u; /* 028A13E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t393); /* 028A13E4 */ cpu->r[5] = cpu->r[5] + 0x00000008u; /* 028A13E8 */ _t394 = cpu->r[30] + 0x00000000u; /* 028A13E8 */ rbrew_write32(cpu->mem, _t394, cpu->r[5]); /* 028A13EC */ cpu->r[10] = cpu->r[6]; /* 028A13F0 */ _t395 = cpu->r[6] + 0x00000004u; /* 028A13F0 */ rbrew_write32(cpu->mem, _t395, cpu->r[3]); /* 028A13F4 */ _t396 = cpu->r[30] + 0x00000000u; /* 028A13F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t396); L_028A13F8: ; // 0x28a13f8 /* 028A13F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A13FC */ _t397 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A13FC */ _t398 = _t397 & 0x00000001u; /* 028A13FC */ if (_t398) goto L_028A1400; else goto L_028A148C; L_028A1400: ; // 0x28a1400 /* 028A1400 */ _t399 = cpu->r[1] + 0x0000000Cu; /* 028A1400 */ cpu->r[4] = rbrew_read16(cpu->mem, _t399); /* 028A1404 */ _t400 = cpu->r[29] + 0x00000000u; /* 028A1404 */ cpu->r[11] = rbrew_read16(cpu->mem, _t400); /* 028A1408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]); /* 028A140C */ _t401 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A140C */ _t402 = _t401 & 0x00000001u; /* 028A140C */ if (_t402) goto L_028A1444; else goto L_028A1410; L_028A1410: ; // 0x28a1410 /* 028A1410 */ _t403 = cpu->r[1] + 0x0000000Eu; /* 028A1410 */ cpu->r[11] = rbrew_read16(cpu->mem, _t403); /* 028A1414 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]); /* 028A1418 */ _t404 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1418 */ _t405 = _t404 & 0x00000001u; /* 028A1418 */ if (_t405) goto L_028A1444; else goto L_028A141C; L_028A141C: ; // 0x28a141c /* 028A141C */ _t406 = cpu->r[6] + 0x00000000u; /* 028A141C */ rbrew_write16(cpu->mem, _t406, (uint16_t)cpu->r[4]); /* 028A1420 */ _t407 = cpu->r[6] + 0x00000004u; /* 028A1420 */ rbrew_write32(cpu->mem, _t407, cpu->r[3]); /* 028A1424 */ _t408 = cpu->r[30] + 0x00000000u; /* 028A1424 */ cpu->r[5] = rbrew_read32(cpu->mem, _t408); /* 028A1428 */ cpu->r[5] = cpu->r[5] + 0x00000008u; /* 028A142C */ _t409 = cpu->r[30] + 0x00000000u; /* 028A142C */ rbrew_write32(cpu->mem, _t409, cpu->r[5]); /* 028A1430 */ _t410 = cpu->r[6] + 0x00000004u; /* 028A1430 */ rbrew_write32(cpu->mem, _t410, cpu->r[10]); /* 028A1434 */ cpu->r[10] = cpu->r[6]; /* 028A1438 */ _t411 = cpu->r[30] + 0x00000000u; /* 028A1438 */ cpu->r[6] = rbrew_read32(cpu->mem, _t411); /* 028A143C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A1440 */ _t412 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1440 */ _t413 = _t412 & 0x00000001u; /* 028A1440 */ if (_t413) goto L_028A1444; else goto L_028A148C; L_028A1444: ; // 0x28a1444 /* 028A1444 */ _t414 = cpu->r[12] + 0x0000000Cu; /* 028A1444 */ cpu->r[5] = rbrew_read32(cpu->mem, _t414); /* 028A1448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A144C */ _t415 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A144C */ _t416 = _t415 & 0x00000001u; /* 028A144C */ if (_t416) goto L_028A14A4; else goto L_028A1450; L_028A1450: ; // 0x28a1450 /* 028A1450 */ cpu->r[4] = 0x00000000u; L_028A1454: ; // 0x28a1454 /* 028A1454 */ _t417 = cpu->r[5] + 0x00000000u; /* 028A1454 */ cpu->r[11] = rbrew_read16(cpu->mem, _t417); /* 028A1458 */ _t418 = cpu->r[6] + 0x00000004u; /* 028A1458 */ rbrew_write32(cpu->mem, _t418, cpu->r[4]); /* 028A145C */ _t419 = cpu->r[6] + 0x00000000u; /* 028A145C */ rbrew_write16(cpu->mem, _t419, (uint16_t)cpu->r[11]); /* 028A1460 */ _t420 = cpu->r[30] + 0x00000000u; /* 028A1460 */ cpu->r[11] = rbrew_read32(cpu->mem, _t420); /* 028A1464 */ cpu->r[11] = cpu->r[11] + 0x00000008u; /* 028A1468 */ _t421 = cpu->r[30] + 0x00000000u; /* 028A1468 */ rbrew_write32(cpu->mem, _t421, cpu->r[11]); /* 028A146C */ _t422 = cpu->r[6] + 0x00000004u; /* 028A146C */ rbrew_write32(cpu->mem, _t422, cpu->r[10]); /* 028A1470 */ _t423 = cpu->r[5] + 0x00000004u; /* 028A1470 */ cpu->r[5] = rbrew_read32(cpu->mem, _t423); /* 028A1474 */ cpu->r[10] = cpu->r[6]; /* 028A1478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A147C */ _t424 = cpu->r[30] + 0x00000000u; /* 028A147C */ cpu->r[6] = rbrew_read32(cpu->mem, _t424); /* 028A1480 */ _t425 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1480 */ _t426 = _t425 & 0x00000001u; /* 028A1480 */ if (_t426) goto L_028A1484; else goto L_028A1454; L_028A1484: ; // 0x28a1484 /* 028A1484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A1488 */ _t427 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1488 */ _t428 = _t427 & 0x00000001u; /* 028A1488 */ if (_t428) goto L_028A14A4; else goto L_028A148C; L_028A148C: ; // 0x28a148c /* 028A148C */ /* nop */ /* 028A1490 */ _t429 = cpu->r[1] + 0x0000009Cu; /* 028A1490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t429); /* 028A1494 */ cpu->lr = cpu->r[0]; /* 028A1498 */ cpu->r[1] = cpu->r[1] + 0x00000098u; /* 028A149C */ cpu->r[3] = 0x00000000u; /* 028A14A0 */ return; L_028A14A4: ; // 0x28a14a4 /* 028A14A4 */ _t430 = cpu->r[27] + 0x0000000Cu; /* 028A14A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t430); /* 028A14A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A14AC */ _t431 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A14AC */ _t432 = _t431 & 0x00000001u; /* 028A14AC */ if (_t432) goto L_028A14B0; else goto L_028A14C0; L_028A14B0: ; // 0x28a14b0 /* 028A14B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A14B4 */ _t433 = cpu->r[1] + 0x0000001Cu; /* 028A14B4 */ rbrew_write32(cpu->mem, _t433, cpu->r[10]); /* 028A14B8 */ _t434 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A14B8 */ _t435 = _t434 & 0x00000001u; /* 028A14B8 */ if (_t435) goto L_028A1520; else goto L_028A14BC; L_028A14BC: ; // 0x28a14bc /* 028A14BC */ goto L_028A1508; L_028A14C0: ; // 0x28a14c0 /* 028A14C0 */ cpu->r[11] = 0x00000000u; L_028A14C4: ; // 0x28a14c4 /* 028A14C4 */ _t436 = cpu->r[5] + 0x00000000u; /* 028A14C4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t436); /* 028A14C8 */ _t437 = cpu->r[6] + 0x00000004u; /* 028A14C8 */ rbrew_write32(cpu->mem, _t437, cpu->r[11]); /* 028A14CC */ _t438 = cpu->r[6] + 0x00000000u; /* 028A14CC */ rbrew_write16(cpu->mem, _t438, (uint16_t)cpu->r[4]); /* 028A14D0 */ _t439 = cpu->r[30] + 0x00000000u; /* 028A14D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t439); /* 028A14D4 */ cpu->r[4] = cpu->r[4] + 0x00000008u; /* 028A14D8 */ _t440 = cpu->r[30] + 0x00000000u; /* 028A14D8 */ rbrew_write32(cpu->mem, _t440, cpu->r[4]); /* 028A14DC */ _t441 = cpu->r[6] + 0x00000004u; /* 028A14DC */ rbrew_write32(cpu->mem, _t441, cpu->r[10]); /* 028A14E0 */ _t442 = cpu->r[5] + 0x00000004u; /* 028A14E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t442); /* 028A14E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A14E8 */ cpu->r[10] = cpu->r[6]; /* 028A14EC */ _t443 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A14EC */ _t444 = _t443 & 0x00000001u; /* 028A14EC */ if (_t444) goto L_028A14F8; else goto L_028A14F0; L_028A14F0: ; // 0x28a14f0 /* 028A14F0 */ _t445 = cpu->r[30] + 0x00000000u; /* 028A14F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t445); /* 028A14F4 */ goto L_028A14C4; L_028A14F8: ; // 0x28a14f8 /* 028A14F8 */ _t446 = cpu->r[30] + 0x00000000u; /* 028A14F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t446); /* 028A14FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 028A1500 */ _t447 = cpu->r[1] + 0x0000001Cu; /* 028A1500 */ rbrew_write32(cpu->mem, _t447, cpu->r[10]); /* 028A1504 */ _t448 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1504 */ _t449 = _t448 & 0x00000001u; /* 028A1504 */ if (_t449) goto L_028A1520; else goto L_028A1508; L_028A1508: ; // 0x28a1508 /* 028A1508 */ /* nop */ /* 028A150C */ _t450 = cpu->r[1] + 0x0000009Cu; /* 028A150C */ cpu->r[0] = rbrew_read32(cpu->mem, _t450); /* 028A1510 */ cpu->lr = cpu->r[0]; /* 028A1514 */ cpu->r[1] = cpu->r[1] + 0x00000098u; /* 028A1518 */ cpu->r[3] = 0x00000000u; /* 028A151C */ return; L_028A1520: ; // 0x28a1520 /* 028A1520 */ cpu->r[6] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1524 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1528 */ _t451 = cpu->r[6] + cpu->r[24]; /* 028A1528 */ cpu->r[6] = rbrew_read32(cpu->mem, _t451); /* 028A152C */ cpu->r[5] = 0x00000003u; /* 028A1530 */ _t452 = cpu->r[10] + cpu->r[24]; /* 028A1530 */ cpu->r[7] = rbrew_read32(cpu->mem, _t452); /* 028A1534 */ cpu->ctr = cpu->r[5]; /* 028A1538 */ cpu->r[11] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A153C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]); /* 028A1540 */ _t453 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1540 */ _t454 = _t453 & 0x00000001u; /* 028A1540 */ if (_t454) goto L_028A1544; else goto L_028A1548; L_028A1544: ; // 0x28a1544 /* 028A1544 */ cpu->r[6] = cpu->r[7]; L_028A1548: ; // 0x28a1548 /* 028A1548 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A154C */ _t455 = cpu->r[1] + 0x0000002Cu; /* 028A154C */ rbrew_write32(cpu->mem, _t455, cpu->r[6]); /* 028A1550 */ _t456 = cpu->r[4] + cpu->r[24]; /* 028A1550 */ cpu->r[4] = rbrew_read32(cpu->mem, _t456); /* 028A1554 */ _t457 = cpu->r[11] + cpu->r[24]; /* 028A1554 */ cpu->r[11] = rbrew_read32(cpu->mem, _t457); /* 028A1558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]); /* 028A155C */ _t458 = cpu->r[12] + 0x00000010u; /* 028A155C */ cpu->r[7] = rbrew_read32(cpu->mem, _t458); /* 028A1560 */ _t459 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1560 */ _t460 = _t459 & 0x00000001u; /* 028A1560 */ if (_t460) goto L_028A1564; else goto L_028A1568; L_028A1564: ; // 0x28a1564 /* 028A1564 */ cpu->r[11] = cpu->r[4]; L_028A1568: ; // 0x28a1568 /* 028A1568 */ _t461 = cpu->r[12] + 0x00000018u; /* 028A1568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t461); /* 028A156C */ _t462 = cpu->r[1] + 0x00000030u; /* 028A156C */ rbrew_write32(cpu->mem, _t462, cpu->r[11]); /* 028A1570 */ _t463 = cpu->r[1] + 0x00000028u; /* 028A1570 */ rbrew_write32(cpu->mem, _t463, cpu->r[10]); /* 028A1574 */ cpu->r[4] = cpu->r[12] + 0xFFFFFFFCu; /* 028A1578 */ _t464 = cpu->r[1] + 0x00000024u; /* 028A1578 */ rbrew_write32(cpu->mem, _t464, cpu->r[7]); /* 028A157C */ cpu->r[11] = cpu->r[1] + 0x0000000Cu; /* 028A1580 */ _t465 = cpu->r[1] + 0x00000020u; /* 028A1580 */ rbrew_write32(cpu->mem, _t465, cpu->r[7]); L_028A1584: ; // 0x28a1584 /* 028A1584 */ _t466 = cpu->r[11] + 0x00000004u; /* 028A1584 */ cpu->r[7] = rbrew_read32(cpu->mem, _t466); /* 028A1588 */ _t467 = cpu->r[4] + 0x00000004u; /* 028A1588 */ rbrew_write32(cpu->mem, _t467, cpu->r[7]); /* 028A158C */ _t468 = cpu->r[11] + 0x00000008u; /* 028A158C */ cpu->r[9] = rbrew_read32(cpu->mem, _t468); /* 028A1590 */ _t469 = cpu->r[4] + 0x00000008u; /* 028A1590 */ rbrew_write32(cpu->mem, _t469, cpu->r[9]); /* 028A1594 */ _t470 = cpu->r[11] + 0x0000000Cu; /* 028A1594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t470); /* 028A1594 */ cpu->r[11] = _t470; /* 028A1598 */ _t471 = cpu->r[4] + 0x0000000Cu; /* 028A1598 */ rbrew_write32(cpu->mem, _t471, cpu->r[10]); /* 028A1598 */ cpu->r[4] = _t471; /* 028A159C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A159C */ _t472 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A159C */ _t473 = _t472 >> (0x00000002u & 31u); /* 028A159C */ _t474 = _t473 & 0x00000001u; /* 028A159C */ if (_t474) goto L_028A1584; else goto L_028A15A0; L_028A15A0: ; // 0x28a15a0 /* 028A15A0 */ _t475 = cpu->r[27] + 0x00000018u; /* 028A15A0 */ rbrew_write32(cpu->mem, _t475, cpu->r[0]); L_028A15A4: ; // 0x28a15a4 /* 028A15A4 */ cpu->r[21] = cpu->r[21] + 0x00000001u; /* 028A15A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[26]); /* 028A15AC */ cpu->r[27] = cpu->r[27] + 0x00000024u; /* 028A15B0 */ _t476 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A15B0 */ _t477 = _t476 & 0x00000001u; /* 028A15B0 */ if (_t477) goto L_028A10F4; else goto L_028A15B4; L_028A15B4: ; // 0x28a15b4 /* 028A15B4 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A15B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[26]); /* 028A15BC */ cpu->r[12] = cpu->r[12] + 0x00000024u; /* 028A15C0 */ _t478 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A15C0 */ _t479 = _t478 & 0x00000001u; /* 028A15C0 */ if (_t479) goto L_028A10CC; else goto L_028A15C4; L_028A15C4: ; // 0x28a15c4 /* 028A15C4 */ cpu->r[8] = 0x00000000u; /* 028A15C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[26]); /* 028A15CC */ _t480 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A15CC */ _t481 = _t480 & 0x00000001u; /* 028A15CC */ if (_t481) goto L_028A15D0; else goto L_028A1684; L_028A15D0: ; // 0x28a15d0 /* 028A15D0 */ cpu->r[7] = 0x80000000u; /* 028A15D4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; L_028A15D8: ; // 0x28a15d8 /* 028A15D8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000024u); /* 028A15DC */ cpu->r[6] = cpu->r[28] + cpu->r[0]; /* 028A15E0 */ _t482 = cpu->r[6] + 0x00000018u; /* 028A15E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t482); /* 028A15E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]); /* 028A15E8 */ _t483 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A15E8 */ _t484 = _t483 & 0x00000001u; /* 028A15E8 */ if (_t484) goto L_028A1608; else goto L_028A15EC; L_028A15EC: ; // 0x28a15ec /* 028A15EC */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A15F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[26]); /* 028A15F4 */ cpu->r[6] = cpu->r[6] + 0x00000024u; /* 028A15F8 */ _t485 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A15F8 */ _t486 = _t485 & 0x00000001u; /* 028A15F8 */ if (_t486) goto L_028A15FC; else goto L_028A1608; L_028A15FC: ; // 0x28a15fc /* 028A15FC */ _t487 = cpu->r[6] + 0x00000018u; /* 028A15FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t487); /* 028A1600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[7]); /* 028A1604 */ _t488 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1604 */ _t489 = _t488 & 0x00000001u; /* 028A1604 */ if (_t489) goto L_028A1608; else goto L_028A15EC; L_028A1608: ; // 0x28a1608 /* 028A1608 */ cpu->r[21] = cpu->r[8] + 0x00000001u; /* 028A160C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x00000024u); /* 028A1610 */ cpu->r[10] = cpu->r[28] + cpu->r[6]; /* 028A1614 */ goto L_028A1620; L_028A1618: ; // 0x28a1618 /* 028A1618 */ cpu->r[21] = cpu->r[21] + 0x00000001u; /* 028A161C */ cpu->r[10] = cpu->r[10] + 0x00000024u; L_028A1620: ; // 0x28a1620 /* 028A1620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[26]); /* 028A1624 */ _t490 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1624 */ _t491 = _t490 & 0x00000001u; /* 028A1624 */ if (_t491) goto L_028A1628; else goto L_028A1684; L_028A1628: ; // 0x28a1628 /* 028A1628 */ _t492 = cpu->r[10] + 0x00000018u; /* 028A1628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t492); /* 028A162C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 028A1630 */ _t493 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1630 */ _t494 = _t493 & 0x00000001u; /* 028A1630 */ if (_t494) goto L_028A1618; else goto L_028A1634; L_028A1634: ; // 0x28a1634 /* 028A1634 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x00000024u); /* 028A1638 */ cpu->r[0] = 0x00000003u; /* 028A163C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000024u); /* 028A1640 */ cpu->r[11] = cpu->r[28] + cpu->r[3]; /* 028A1644 */ cpu->ctr = cpu->r[0]; /* 028A1648 */ cpu->r[12] = cpu->r[10] + cpu->r[28]; /* 028A164C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 028A1650 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFFCu; L_028A1654: ; // 0x28a1654 /* 028A1654 */ _t495 = cpu->r[11] + 0x00000004u; /* 028A1654 */ cpu->r[4] = rbrew_read32(cpu->mem, _t495); /* 028A1658 */ _t496 = cpu->r[9] + 0x00000004u; /* 028A1658 */ rbrew_write32(cpu->mem, _t496, cpu->r[4]); /* 028A165C */ _t497 = cpu->r[11] + 0x00000008u; /* 028A165C */ cpu->r[5] = rbrew_read32(cpu->mem, _t497); /* 028A1660 */ _t498 = cpu->r[9] + 0x00000008u; /* 028A1660 */ rbrew_write32(cpu->mem, _t498, cpu->r[5]); /* 028A1664 */ _t499 = cpu->r[11] + 0x0000000Cu; /* 028A1664 */ cpu->r[6] = rbrew_read32(cpu->mem, _t499); /* 028A1664 */ cpu->r[11] = _t499; /* 028A1668 */ _t500 = cpu->r[9] + 0x0000000Cu; /* 028A1668 */ rbrew_write32(cpu->mem, _t500, cpu->r[6]); /* 028A1668 */ cpu->r[9] = _t500; /* 028A166C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A166C */ _t501 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A166C */ _t502 = _t501 >> (0x00000002u & 31u); /* 028A166C */ _t503 = _t502 & 0x00000001u; /* 028A166C */ if (_t503) goto L_028A1654; else goto L_028A1670; L_028A1670: ; // 0x28a1670 /* 028A1670 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A1674 */ cpu->r[9] = cpu->r[28] + cpu->r[3]; /* 028A1678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[26]); /* 028A167C */ _t504 = cpu->r[9] + 0x00000018u; /* 028A167C */ rbrew_write32(cpu->mem, _t504, cpu->r[7]); /* 028A1680 */ _t505 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1680 */ _t506 = _t505 & 0x00000001u; /* 028A1680 */ if (_t506) goto L_028A15D8; else goto L_028A1684; L_028A1684: ; // 0x28a1684 /* 028A1684 */ /* nop */ /* 028A1688 */ _t507 = cpu->r[1] + 0x0000009Cu; /* 028A1688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t507); /* 028A168C */ cpu->lr = cpu->r[0]; /* 028A1690 */ cpu->r[1] = cpu->r[1] + 0x00000098u; /* 028A1694 */ cpu->r[3] = cpu->r[8]; /* 028A1698 */ return; } // fn_028A169C @ 0x28a169c void Gambit_fn_028A169C(CPUState* cpu) { uint32_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_028A169C: ; // 0x28a169c /* 028A169C */ _t0 = cpu->r[4] + 0x00000020u; /* 028A169C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 028A16A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000078u); /* 028A16A4 */ _t1 = cpu->r[4] + 0x00000028u; /* 028A16A4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1); /* 028A16A8 */ _t2 = cpu->r[4] + 0x0000001Cu; /* 028A16A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 028A16AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A16AC */ _t4 = _t3 & 0x00000001u; /* 028A16AC */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A16AC */ goto L_028A16B0; L_028A16B0: ; // 0x28a16b0 /* 028A16B0 */ _t5 = cpu->r[4] + 0x00000004u; /* 028A16B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 028A16B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A16B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A16B8 */ _t7 = _t6 & 0x00000001u; /* 028A16B8 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A16B8 */ goto L_028A16BC; L_028A16BC: ; // 0x28a16bc /* 028A16BC */ cpu->ctr = cpu->r[0]; /* 028A16C0 */ cpu->r[7] = 0x00000000u; L_028A16C4: ; // 0x28a16c4 /* 028A16C4 */ _t8 = cpu->r[10] + cpu->r[7]; /* 028A16C4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t8); /* 028A16C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A16CC */ _t9 = cpu->r[9] + cpu->r[7]; /* 028A16CC */ cpu->r[8] = rbrew_read16(cpu->mem, _t9); /* 028A16D0 */ cpu->r[12] = cpu->r[6] + cpu->r[0]; /* 028A16D4 */ _t10 = cpu->r[6] + cpu->r[0]; /* 028A16D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A16D8 */ _t11 = cpu->r[12] + 0xFFFFFFFCu; /* 028A16D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A16DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 028A16E0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A16E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A16E4 */ _t13 = _t12 & 0x00000001u; /* 028A16E4 */ if (_t13) goto L_028A16E8; else goto L_028A16F8; L_028A16E8: ; // 0x28a16e8 /* 028A16E8 */ _t14 = cpu->r[8] + cpu->r[6]; /* 028A16E8 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]); /* 028A16EC */ cpu->r[7] = cpu->r[7] + 0x00000002u; /* 028A16F0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A16F0 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A16F0 */ _t16 = _t15 >> (0x00000002u & 31u); /* 028A16F0 */ _t17 = _t16 & 0x00000001u; /* 028A16F0 */ if (_t17) goto L_028A16C4; else goto L_028A16F4; L_028A16F4: ; // 0x28a16f4 /* 028A16F4 */ return; L_028A16F8: ; // 0x28a16f8 /* 028A16F8 */ _t18 = cpu->r[8] + cpu->r[6]; /* 028A16F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 028A16FC */ cpu->r[7] = cpu->r[7] + 0x00000002u; /* 028A1700 */ _t19 = cpu->r[12] + 0x00000000u; /* 028A1700 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]); /* 028A1704 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A1704 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A1704 */ _t21 = _t20 >> (0x00000002u & 31u); /* 028A1704 */ _t22 = _t21 & 0x00000001u; /* 028A1704 */ if (_t22) goto L_028A16C4; else goto L_028A1708; L_028A1708: ; // 0x28a1708 /* 028A1708 */ return; } // fn_028A170C @ 0x28a170c void Gambit_fn_028A170C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513; L_028A170C: ; // 0x28a170c /* 028A170C */ _t0 = cpu->r[1] + 0xFFFFFF58u; /* 028A170C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A170C */ cpu->r[1] = _t0; /* 028A1710 */ /* nop */ /* 028A1714 */ _t1 = cpu->r[1] + 0x00000018u; /* 028A1714 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[3]); /* 028A1718 */ cpu->r[0] = cpu->lr; /* 028A171C */ _t2 = cpu->r[1] + 0x000000ACu; /* 028A171C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A1720 */ cpu->r[29] = cpu->r[4]; /* 028A1724 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A1724 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]); /* 028A1728 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028A172C */ _t4 = cpu->r[1] + 0x00000010u; /* 028A172C */ rbrew_write32(cpu->mem, _t4, cpu->r[8]); /* 028A1730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000078u); /* 028A1734 */ cpu->r[30] = cpu->r[6]; /* 028A1738 */ _t5 = cpu->r[7] + 0x00000024u; /* 028A1738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 028A173C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A173C */ _t7 = _t6 & 0x00000001u; /* 028A173C */ if (_t7) goto L_028A1740; else goto L_028A1758; L_028A1740: ; // 0x28a1740 /* 028A1740 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A1740 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 028A1744 */ cpu->r[26] = cpu->r[5]; /* 028A1744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A1748 */ cpu->r[6] = 0x00000001u; /* 028A174C */ _t9 = cpu->r[9] + 0x00000000u; /* 028A174C */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 028A1750 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1750 */ _t11 = _t10 & 0x00000001u; /* 028A1750 */ if (_t11) goto L_028A1754; else goto L_028A1798; L_028A1754: ; // 0x28a1754 /* 028A1754 */ goto L_028A176C; L_028A1758: ; // 0x28a1758 /* 028A1758 */ _t12 = cpu->r[1] + 0x00000014u; /* 028A1758 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 028A175C */ cpu->r[26] = cpu->r[5]; /* 028A175C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A1760 */ cpu->r[6] = 0x00000002u; /* 028A1764 */ _t13 = cpu->r[11] + 0x00000004u; /* 028A1764 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13); /* 028A1768 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1768 */ _t15 = _t14 & 0x00000001u; /* 028A1768 */ if (_t15) goto L_028A176C; else goto L_028A1798; L_028A176C: ; // 0x28a176c /* 028A176C */ cpu->r[27] = cpu->r[30]; L_028A1770: ; // 0x28a1770 /* 028A1770 */ _t16 = cpu->r[27] + 0x00000010u; /* 028A1770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028A1774 */ _t17 = cpu->r[27] + 0x00000014u; /* 028A1774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 028A1778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 028A177C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A177C */ _t19 = _t18 & 0x00000001u; /* 028A177C */ if (_t19) goto L_028A1780; else goto L_028A178C; L_028A1780: ; // 0x28a1780 /* 028A1780 */ _t20 = cpu->r[27] + 0x00000018u; /* 028A1780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20); /* 028A1784 */ Gambit_fn_0289E974(cpu); /* 028A1788 */ _t21 = cpu->r[27] + 0x00000014u; /* 028A1788 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]); L_028A178C: ; // 0x28a178c /* 028A178C */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 028A178C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A1790 */ cpu->r[27] = cpu->r[27] + 0x00000024u; /* 028A1794 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1794 */ _t23 = _t22 & 0x00000001u; /* 028A1794 */ if (_t23) goto L_028A1798; else goto L_028A1770; L_028A1798: ; // 0x28a1798 /* 028A1798 */ cpu->r[3] = cpu->r[5]; /* 028A1798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A179C */ _t24 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A179C */ _t25 = _t24 & 0x00000001u; /* 028A179C */ if (_t25) goto L_028A17A0; else goto L_028A18C0; L_028A17A0: ; // 0x28a17a0 /* 028A17A0 */ cpu->r[10] = cpu->r[30] + 0xFFFFFFDCu; L_028A17A4: ; // 0x28a17a4 /* 028A17A4 */ _t26 = cpu->r[10] + 0x00000024u; /* 028A17A4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t26); /* 028A17A4 */ cpu->r[10] = _t26; /* 028A17A8 */ _t27 = cpu->r[10] + 0x00000002u; /* 028A17A8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t27); /* 028A17AC */ _t28 = cpu->r[31] + cpu->r[4]; /* 028A17AC */ cpu->r[9] = rbrew_read8(cpu->mem, _t28); /* 028A17B0 */ _t29 = cpu->r[31] + cpu->r[12]; /* 028A17B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t29); /* 028A17B4 */ _t30 = cpu->r[10] + 0x00000004u; /* 028A17B4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t30); /* 028A17B8 */ _t31 = cpu->r[10] + 0x00000006u; /* 028A17B8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t31); /* 028A17BC */ _t32 = cpu->r[31] + cpu->r[8]; /* 028A17BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t32); /* 028A17C0 */ cpu->r[7] = cpu->r[9] | cpu->r[7]; /* 028A17C4 */ _t33 = cpu->r[31] + cpu->r[11]; /* 028A17C4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t33); /* 028A17C8 */ cpu->r[9] = cpu->r[7] | cpu->r[0]; /* 028A17CC */ cpu->r[7] = cpu->r[9] | cpu->r[8]; /* 028A17D0 */ cpu->r[9] = cpu->r[7] & cpu->r[6]; /* 028A17D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A17D4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A17D4 */ _t35 = _t34 & 0x00000001u; /* 028A17D4 */ if (_t35) goto L_028A17D8; else goto L_028A18B8; L_028A17D8: ; // 0x28a17d8 /* 028A17D8 */ _t36 = cpu->r[10] + 0x00000018u; /* 028A17D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 028A17DC */ /* nop */ /* 028A17E0 */ cpu->r[11] = cpu->r[0]; /* 028A17E4 */ _t37 = cpu->r[10] + 0x00000014u; /* 028A17E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A17E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A17EC */ cpu->r[0] = cpu->r[0] - cpu->r[11]; /* 028A17F0 */ _t38 = cpu->r[8] + cpu->r[28]; /* 028A17F0 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]); /* 028A17F4 */ _t39 = cpu->r[31] + cpu->r[4]; /* 028A17F4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t39); /* 028A17F8 */ cpu->r[9] = cpu->r[9] | cpu->r[6]; /* 028A17FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1800 */ _t40 = cpu->r[31] + cpu->r[4]; /* 028A1800 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[9]); /* 028A1804 */ _t41 = cpu->r[11] + cpu->r[28]; /* 028A1804 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]); /* 028A1808 */ _t42 = cpu->r[31] + cpu->r[12]; /* 028A1808 */ cpu->r[4] = rbrew_read8(cpu->mem, _t42); /* 028A180C */ cpu->r[4] = cpu->r[4] | cpu->r[6]; /* 028A1810 */ _t43 = cpu->r[31] + cpu->r[12]; /* 028A1810 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[4]); /* 028A1814 */ _t44 = cpu->r[10] + 0x00000008u; /* 028A1814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44); /* 028A1818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A181C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A181C */ _t46 = _t45 & 0x00000001u; /* 028A181C */ if (_t46) goto L_028A1844; else goto L_028A1820; L_028A1820: ; // 0x28a1820 /* 028A1820 */ _t47 = cpu->r[11] + 0x00000000u; /* 028A1820 */ cpu->r[9] = rbrew_read16(cpu->mem, _t47); /* 028A1824 */ _t48 = cpu->r[31] + cpu->r[9]; /* 028A1824 */ cpu->r[8] = rbrew_read8(cpu->mem, _t48); /* 028A1828 */ cpu->r[8] = cpu->r[8] | cpu->r[6]; /* 028A182C */ _t49 = cpu->r[31] + cpu->r[9]; /* 028A182C */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[8]); /* 028A1830 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1834 */ _t50 = cpu->r[4] + cpu->r[28]; /* 028A1834 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]); /* 028A1838 */ _t51 = cpu->r[11] + 0x00000004u; /* 028A1838 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51); /* 028A183C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A1840 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1840 */ _t53 = _t52 & 0x00000001u; /* 028A1840 */ if (_t53) goto L_028A1844; else goto L_028A1820; L_028A1844: ; // 0x28a1844 /* 028A1844 */ _t54 = cpu->r[10] + 0x00000018u; /* 028A1844 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54); /* 028A1848 */ _t55 = cpu->r[10] + 0x00000004u; /* 028A1848 */ cpu->r[8] = rbrew_read16(cpu->mem, _t55); /* 028A184C */ /* nop */ /* 028A1850 */ _t56 = cpu->r[10] + 0x00000014u; /* 028A1850 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56); /* 028A1854 */ cpu->r[0] = cpu->r[9]; /* 028A1858 */ _t57 = cpu->r[10] + 0x00000006u; /* 028A1858 */ cpu->r[11] = rbrew_read16(cpu->mem, _t57); /* 028A185C */ cpu->r[0] = cpu->r[4] + cpu->r[0]; /* 028A1860 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1864 */ _t58 = cpu->r[7] + cpu->r[28]; /* 028A1864 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); /* 028A1868 */ _t59 = cpu->r[31] + cpu->r[8]; /* 028A1868 */ cpu->r[9] = rbrew_read8(cpu->mem, _t59); /* 028A186C */ cpu->r[9] = cpu->r[9] | cpu->r[6]; /* 028A1870 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1874 */ _t60 = cpu->r[31] + cpu->r[8]; /* 028A1874 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[9]); /* 028A1878 */ _t61 = cpu->r[4] + cpu->r[28]; /* 028A1878 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]); /* 028A187C */ _t62 = cpu->r[31] + cpu->r[11]; /* 028A187C */ cpu->r[9] = rbrew_read8(cpu->mem, _t62); /* 028A1880 */ cpu->r[9] = cpu->r[9] | cpu->r[6]; /* 028A1884 */ _t63 = cpu->r[31] + cpu->r[11]; /* 028A1884 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[9]); /* 028A1888 */ _t64 = cpu->r[10] + 0x0000000Cu; /* 028A1888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64); /* 028A188C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A1890 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1890 */ _t66 = _t65 & 0x00000001u; /* 028A1890 */ if (_t66) goto L_028A18B8; else goto L_028A1894; L_028A1894: ; // 0x28a1894 /* 028A1894 */ _t67 = cpu->r[11] + 0x00000000u; /* 028A1894 */ cpu->r[9] = rbrew_read16(cpu->mem, _t67); /* 028A1898 */ _t68 = cpu->r[31] + cpu->r[9]; /* 028A1898 */ cpu->r[12] = rbrew_read8(cpu->mem, _t68); /* 028A189C */ cpu->r[12] = cpu->r[12] | cpu->r[6]; /* 028A18A0 */ _t69 = cpu->r[31] + cpu->r[9]; /* 028A18A0 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[12]); /* 028A18A4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A18A8 */ _t70 = cpu->r[4] + cpu->r[28]; /* 028A18A8 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]); /* 028A18AC */ _t71 = cpu->r[11] + 0x00000004u; /* 028A18AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t71); /* 028A18B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A18B4 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A18B4 */ _t73 = _t72 & 0x00000001u; /* 028A18B4 */ if (_t73) goto L_028A18B8; else goto L_028A1894; L_028A18B8: ; // 0x28a18b8 /* 028A18B8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 028A18B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A18BC */ _t74 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A18BC */ _t75 = _t74 & 0x00000001u; /* 028A18BC */ if (_t75) goto L_028A18C0; else goto L_028A17A4; L_028A18C0: ; // 0x28a18c0 /* 028A18C0 */ _t76 = cpu->r[1] + 0x00000014u; /* 028A18C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76); /* 028A18C4 */ _t77 = cpu->r[8] + 0x00000028u; /* 028A18C4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t77); /* 028A18C8 */ _t78 = cpu->r[8] + 0x00000020u; /* 028A18C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78); /* 028A18CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A18D0 */ _t79 = cpu->r[8] + 0x00000024u; /* 028A18D0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t79); /* 028A18D4 */ cpu->r[10] = cpu->r[12] + cpu->r[0]; /* 028A18D8 */ _t80 = cpu->r[1] + 0x00000018u; /* 028A18D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t80); /* 028A18DC */ _t81 = cpu->r[10] + 0xFFFFFFFEu; /* 028A18DC */ cpu->r[7] = rbrew_read16(cpu->mem, _t81); /* 028A18E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000078u); /* 028A18E4 */ _t82 = cpu->r[8] + 0x0000000Cu; /* 028A18E4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t82); /* 028A18E8 */ cpu->r[9] = cpu->r[7] + 0x00000001u; /* 028A18EC */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A18EC */ _t84 = _t83 & 0x00000001u; /* 028A18EC */ if (_t84) goto L_028A18F0; else goto L_028A1930; L_028A18F0: ; // 0x28a18f0 /* 028A18F0 */ _t85 = cpu->r[1] + 0x00000014u; /* 028A18F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t85); /* 028A18F4 */ cpu->r[26] = 0x00000001u; /* 028A18F8 */ _t86 = cpu->r[7] + 0x00000008u; /* 028A18F8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t86); /* 028A18FC */ cpu->r[4] = 0x00000000u; /* 028A1900 */ _t87 = cpu->r[7] + 0x00000000u; /* 028A1900 */ cpu->r[28] = rbrew_read32(cpu->mem, _t87); /* 028A1904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u); /* 028A1908 */ _t88 = cpu->r[24] + 0x00000000u; /* 028A1908 */ cpu->r[11] = rbrew_read32(cpu->mem, _t88); /* 028A190C */ cpu->r[8] = cpu->r[26]; /* 028A1910 */ cpu->r[10] = cpu->r[4]; /* 028A1914 */ _t89 = cpu->r[25] + 0x00000000u; /* 028A1914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89); /* 028A1918 */ cpu->r[3] = cpu->r[11]; /* 028A191C */ cpu->r[31] = cpu->r[10]; /* 028A1920 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 028A1924 */ cpu->r[6] = cpu->r[7]; /* 028A1928 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1928 */ _t91 = _t90 & 0x00000001u; /* 028A1928 */ if (_t91) goto L_028A1970; else goto L_028A192C; L_028A192C: ; // 0x28a192c /* 028A192C */ goto L_028A1A34; L_028A1930: ; // 0x28a1930 /* 028A1930 */ cpu->r[24] = cpu->r[25]; /* 028A1934 */ _t92 = cpu->r[1] + 0x00000014u; /* 028A1934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t92); /* 028A1938 */ cpu->r[26] = 0x00000002u; /* 028A193C */ _t93 = cpu->r[24] + 0x00000000u; /* 028A193C */ cpu->r[11] = rbrew_read32(cpu->mem, _t93); /* 028A1940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u); /* 028A1944 */ cpu->r[4] = 0x00000000u; /* 028A1948 */ _t94 = cpu->r[12] + 0x00000008u; /* 028A1948 */ cpu->r[25] = rbrew_read32(cpu->mem, _t94); /* 028A194C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 028A1950 */ cpu->r[10] = cpu->r[4]; /* 028A1954 */ cpu->r[8] = 0x00000001u; /* 028A1958 */ _t95 = cpu->r[25] + 0x00000000u; /* 028A1958 */ cpu->r[7] = rbrew_read32(cpu->mem, _t95); /* 028A195C */ cpu->r[31] = cpu->r[10]; /* 028A1960 */ cpu->r[3] = cpu->r[11]; /* 028A1964 */ _t96 = cpu->r[12] + 0x00000004u; /* 028A1964 */ cpu->r[28] = rbrew_read32(cpu->mem, _t96); /* 028A1968 */ cpu->r[6] = cpu->r[7]; /* 028A196C */ _t97 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A196C */ _t98 = _t97 & 0x00000001u; /* 028A196C */ if (_t98) goto L_028A1970; else goto L_028A1A34; L_028A1970: ; // 0x28a1970 /* 028A1970 */ cpu->ctr = cpu->r[9]; /* 028A1974 */ cpu->r[12] = 0x00000004u; L_028A1978: ; // 0x28a1978 /* 028A1978 */ _t99 = cpu->r[25] + cpu->r[12]; /* 028A1978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99); /* 028A197C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 028A1980 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1980 */ _t101 = _t100 & 0x00000001u; /* 028A1980 */ if (_t101) goto L_028A1984; else goto L_028A1998; L_028A1984: ; // 0x28a1984 /* 028A1984 */ cpu->r[7] = cpu->r[0]; /* 028A1988 */ _t102 = cpu->r[24] + cpu->r[12]; /* 028A1988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 028A198C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]); /* 028A1990 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1990 */ _t104 = _t103 & 0x00000001u; /* 028A1990 */ if (_t104) goto L_028A19B0; else goto L_028A1994; L_028A1994: ; // 0x28a1994 /* 028A1994 */ goto L_028A19D0; L_028A1998: ; // 0x28a1998 /* 028A1998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]); /* 028A199C */ _t105 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A199C */ _t106 = _t105 & 0x00000001u; /* 028A199C */ if (_t106) goto L_028A19A0; else goto L_028A19A4; L_028A19A0: ; // 0x28a19a0 /* 028A19A0 */ cpu->r[6] = cpu->r[0]; L_028A19A4: ; // 0x28a19a4 /* 028A19A4 */ _t107 = cpu->r[24] + cpu->r[12]; /* 028A19A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107); /* 028A19A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]); /* 028A19AC */ _t108 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A19AC */ _t109 = _t108 & 0x00000001u; /* 028A19AC */ if (_t109) goto L_028A19B0; else goto L_028A19D0; L_028A19B0: ; // 0x28a19b0 /* 028A19B0 */ _t110 = cpu->r[27] + cpu->r[8]; /* 028A19B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t110); /* 028A19B4 */ cpu->r[9] = cpu->r[9] & cpu->r[26]; /* 028A19B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A19B8 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A19B8 */ _t112 = _t111 & 0x00000001u; /* 028A19B8 */ if (_t112) goto L_028A19D0; else goto L_028A19BC; L_028A19BC: ; // 0x28a19bc /* 028A19BC */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028A19C0 */ cpu->r[31] = cpu->r[8]; /* 028A19C4 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A19C8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A19C8 */ _t113 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A19C8 */ _t114 = _t113 >> (0x00000002u & 31u); /* 028A19C8 */ _t115 = _t114 & 0x00000001u; /* 028A19C8 */ if (_t115) goto L_028A1978; else goto L_028A19CC; L_028A19CC: ; // 0x28a19cc /* 028A19CC */ goto L_028A1A34; L_028A19D0: ; // 0x28a19d0 /* 028A19D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]); /* 028A19D4 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A19D4 */ _t117 = _t116 & 0x00000001u; /* 028A19D4 */ if (_t117) goto L_028A19D8; else goto L_028A19F8; L_028A19D8: ; // 0x28a19d8 /* 028A19D8 */ _t118 = cpu->r[27] + cpu->r[8]; /* 028A19D8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t118); /* 028A19DC */ cpu->r[9] = cpu->r[9] & cpu->r[26]; /* 028A19DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A19E0 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A19E0 */ _t120 = _t119 & 0x00000001u; /* 028A19E0 */ if (_t120) goto L_028A19F8; else goto L_028A19E4; L_028A19E4: ; // 0x28a19e4 /* 028A19E4 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028A19E8 */ cpu->r[10] = cpu->r[8]; /* 028A19EC */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A19F0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A19F0 */ _t121 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A19F0 */ _t122 = _t121 >> (0x00000002u & 31u); /* 028A19F0 */ _t123 = _t122 & 0x00000001u; /* 028A19F0 */ if (_t123) goto L_028A1978; else goto L_028A19F4; L_028A19F4: ; // 0x28a19f4 /* 028A19F4 */ goto L_028A1A34; L_028A19F8: ; // 0x28a19f8 /* 028A19F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 028A19FC */ _t124 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A19FC */ _t125 = _t124 & 0x00000001u; /* 028A19FC */ if (_t125) goto L_028A1A00; else goto L_028A1A18; L_028A1A00: ; // 0x28a1a00 /* 028A1A00 */ cpu->r[11] = cpu->r[0]; /* 028A1A04 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028A1A08 */ cpu->r[31] = cpu->r[8]; /* 028A1A0C */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A1A10 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A1A10 */ _t126 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A1A10 */ _t127 = _t126 >> (0x00000002u & 31u); /* 028A1A10 */ _t128 = _t127 & 0x00000001u; /* 028A1A10 */ if (_t128) goto L_028A1978; else goto L_028A1A14; L_028A1A14: ; // 0x28a1a14 /* 028A1A14 */ goto L_028A1A34; L_028A1A18: ; // 0x28a1a18 /* 028A1A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]); /* 028A1A1C */ _t129 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1A1C */ _t130 = _t129 & 0x00000001u; /* 028A1A1C */ if (_t130) goto L_028A1A20; else goto L_028A1A28; L_028A1A20: ; // 0x28a1a20 /* 028A1A20 */ cpu->r[10] = cpu->r[8]; /* 028A1A24 */ cpu->r[3] = cpu->r[0]; L_028A1A28: ; // 0x28a1a28 /* 028A1A28 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028A1A2C */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A1A30 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A1A30 */ _t131 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A1A30 */ _t132 = _t131 >> (0x00000002u & 31u); /* 028A1A30 */ _t133 = _t132 & 0x00000001u; /* 028A1A30 */ if (_t133) goto L_028A1978; else goto L_028A1A34; L_028A1A34: ; // 0x28a1a34 /* 028A1A34 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000024u); /* 028A1A38 */ cpu->r[9] = cpu->r[30] + cpu->r[0]; /* 028A1A3C */ _t134 = cpu->r[9] + 0x00000006u; /* 028A1A3C */ rbrew_write16(cpu->mem, _t134, (uint16_t)cpu->r[31]); /* 028A1A40 */ _t135 = cpu->r[9] + 0x00000002u; /* 028A1A40 */ rbrew_write16(cpu->mem, _t135, (uint16_t)cpu->r[31]); /* 028A1A44 */ _t136 = cpu->r[9] + 0x00000000u; /* 028A1A44 */ rbrew_write16(cpu->mem, _t136, (uint16_t)cpu->r[31]); /* 028A1A48 */ _t137 = cpu->r[9] + 0x00000004u; /* 028A1A48 */ rbrew_write16(cpu->mem, _t137, (uint16_t)cpu->r[31]); /* 028A1A4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1A50 */ _t138 = cpu->r[9] + 0x00000010u; /* 028A1A50 */ rbrew_write32(cpu->mem, _t138, cpu->r[11]); /* 028A1A54 */ _t139 = cpu->r[12] + cpu->r[28]; /* 028A1A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139); /* 028A1A58 */ _t140 = cpu->r[9] + 0x00000008u; /* 028A1A58 */ rbrew_write32(cpu->mem, _t140, cpu->r[4]); /* 028A1A5C */ cpu->r[11] = 0x00000001u; /* 028A1A60 */ _t141 = cpu->r[9] + 0x00000014u; /* 028A1A60 */ rbrew_write32(cpu->mem, _t141, cpu->r[0]); /* 028A1A64 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 028A1A68 */ _t142 = cpu->r[9] + 0x00000018u; /* 028A1A68 */ rbrew_write32(cpu->mem, _t142, cpu->r[11]); /* 028A1A6C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000024u); /* 028A1A70 */ _t143 = cpu->r[9] + 0x0000000Cu; /* 028A1A70 */ rbrew_write32(cpu->mem, _t143, cpu->r[4]); /* 028A1A74 */ _t144 = cpu->r[9] + 0x0000001Cu; /* 028A1A74 */ rbrew_write32(cpu->mem, _t144, cpu->r[7]); /* 028A1A78 */ _t145 = cpu->r[9] + 0x00000020u; /* 028A1A78 */ rbrew_write32(cpu->mem, _t145, cpu->r[6]); /* 028A1A7C */ cpu->r[9] = cpu->r[30] + cpu->r[0]; /* 028A1A80 */ _t146 = cpu->r[9] + 0x00000000u; /* 028A1A80 */ rbrew_write16(cpu->mem, _t146, (uint16_t)cpu->r[10]); /* 028A1A84 */ _t147 = cpu->r[9] + 0x00000006u; /* 028A1A84 */ rbrew_write16(cpu->mem, _t147, (uint16_t)cpu->r[10]); /* 028A1A88 */ _t148 = cpu->r[9] + 0x00000004u; /* 028A1A88 */ rbrew_write16(cpu->mem, _t148, (uint16_t)cpu->r[10]); /* 028A1A8C */ _t149 = cpu->r[9] + 0x00000002u; /* 028A1A8C */ rbrew_write16(cpu->mem, _t149, (uint16_t)cpu->r[10]); /* 028A1A90 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1A94 */ _t150 = cpu->r[9] + 0x00000010u; /* 028A1A94 */ rbrew_write32(cpu->mem, _t150, cpu->r[3]); /* 028A1A98 */ _t151 = cpu->r[10] + cpu->r[28]; /* 028A1A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t151); /* 028A1A9C */ _t152 = cpu->r[9] + 0x00000008u; /* 028A1A9C */ rbrew_write32(cpu->mem, _t152, cpu->r[4]); /* 028A1AA0 */ _t153 = cpu->r[9] + 0x00000014u; /* 028A1AA0 */ rbrew_write32(cpu->mem, _t153, cpu->r[12]); /* 028A1AA4 */ _t154 = cpu->r[9] + 0x0000000Cu; /* 028A1AA4 */ rbrew_write32(cpu->mem, _t154, cpu->r[4]); /* 028A1AA8 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 028A1AAC */ _t155 = cpu->r[9] + 0x00000020u; /* 028A1AAC */ rbrew_write32(cpu->mem, _t155, cpu->r[6]); /* 028A1AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u); /* 028A1AB4 */ _t156 = cpu->r[9] + 0x00000018u; /* 028A1AB4 */ rbrew_write32(cpu->mem, _t156, cpu->r[11]); /* 028A1AB8 */ cpu->r[12] = cpu->r[5] + 0xFFFFFFFFu; /* 028A1ABC */ _t157 = cpu->r[9] + 0x0000001Cu; /* 028A1ABC */ rbrew_write32(cpu->mem, _t157, cpu->r[7]); /* 028A1AC0 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1AC0 */ _t159 = _t158 & 0x00000001u; /* 028A1AC0 */ if (_t159) goto L_028A1AC4; else goto L_028A1BA8; L_028A1AC4: ; // 0x28a1ac4 /* 028A1AC4 */ cpu->r[10] = 0x00000000u; /* 028A1AC8 */ cpu->r[9] = cpu->r[30]; L_028A1ACC: ; // 0x28a1acc /* 028A1ACC */ cpu->r[4] = 0x00000003u; /* 028A1AD0 */ cpu->r[9] = cpu->r[9] + 0x00000024u; /* 028A1AD4 */ cpu->r[11] = cpu->r[1] + 0x00000034u; /* 028A1AD8 */ cpu->ctr = cpu->r[4]; /* 028A1ADC */ cpu->r[8] = cpu->r[9] + 0xFFFFFFFCu; L_028A1AE0: ; // 0x28a1ae0 /* 028A1AE0 */ _t160 = cpu->r[8] + 0x00000004u; /* 028A1AE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t160); /* 028A1AE4 */ _t161 = cpu->r[11] + 0x00000004u; /* 028A1AE4 */ rbrew_write32(cpu->mem, _t161, cpu->r[6]); /* 028A1AE8 */ _t162 = cpu->r[8] + 0x00000008u; /* 028A1AE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t162); /* 028A1AEC */ _t163 = cpu->r[11] + 0x00000008u; /* 028A1AEC */ rbrew_write32(cpu->mem, _t163, cpu->r[7]); /* 028A1AF0 */ _t164 = cpu->r[8] + 0x0000000Cu; /* 028A1AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164); /* 028A1AF0 */ cpu->r[8] = _t164; /* 028A1AF4 */ _t165 = cpu->r[11] + 0x0000000Cu; /* 028A1AF4 */ rbrew_write32(cpu->mem, _t165, cpu->r[0]); /* 028A1AF4 */ cpu->r[11] = _t165; /* 028A1AF8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A1AF8 */ _t166 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A1AF8 */ _t167 = _t166 >> (0x00000002u & 31u); /* 028A1AF8 */ _t168 = _t167 & 0x00000001u; /* 028A1AF8 */ if (_t168) goto L_028A1AE0; else goto L_028A1AFC; L_028A1AFC: ; // 0x28a1afc /* 028A1AFC */ cpu->r[28] = cpu->r[10]; /* 028A1B00 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000024u); /* 028A1B04 */ cpu->r[8] = cpu->r[30] + cpu->r[4]; /* 028A1B08 */ _t169 = cpu->r[1] + 0x00000048u; /* 028A1B08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t169); /* 028A1B0C */ cpu->r[7] = cpu->r[8] + 0x00000024u; /* 028A1B10 */ goto L_028A1B50; L_028A1B14: ; // 0x28a1b14 /* 028A1B14 */ cpu->r[6] = 0x00000003u; /* 028A1B18 */ cpu->r[3] = cpu->r[7] + 0xFFFFFFFCu; /* 028A1B1C */ cpu->r[8] = cpu->r[30] + cpu->r[4]; /* 028A1B20 */ cpu->ctr = cpu->r[6]; /* 028A1B24 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu; L_028A1B28: ; // 0x28a1b28 /* 028A1B28 */ _t170 = cpu->r[8] + 0x00000004u; /* 028A1B28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t170); /* 028A1B2C */ _t171 = cpu->r[3] + 0x00000004u; /* 028A1B2C */ rbrew_write32(cpu->mem, _t171, cpu->r[11]); /* 028A1B30 */ _t172 = cpu->r[8] + 0x00000008u; /* 028A1B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t172); /* 028A1B34 */ _t173 = cpu->r[3] + 0x00000008u; /* 028A1B34 */ rbrew_write32(cpu->mem, _t173, cpu->r[0]); /* 028A1B38 */ _t174 = cpu->r[8] + 0x0000000Cu; /* 028A1B38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t174); /* 028A1B38 */ cpu->r[8] = _t174; /* 028A1B3C */ _t175 = cpu->r[3] + 0x0000000Cu; /* 028A1B3C */ rbrew_write32(cpu->mem, _t175, cpu->r[6]); /* 028A1B3C */ cpu->r[3] = _t175; /* 028A1B40 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A1B40 */ _t176 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A1B40 */ _t177 = _t176 >> (0x00000002u & 31u); /* 028A1B40 */ _t178 = _t177 & 0x00000001u; /* 028A1B40 */ if (_t178) goto L_028A1B28; else goto L_028A1B44; L_028A1B44: ; // 0x28a1b44 /* 028A1B44 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 028A1B48 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFDCu; /* 028A1B4C */ cpu->r[4] = cpu->r[4] + 0xFFFFFFDCu; L_028A1B50: ; // 0x28a1b50 /* 028A1B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028A1B54 */ _t179 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1B54 */ _t180 = _t179 & 0x00000001u; /* 028A1B54 */ if (_t180) goto L_028A1B68; else goto L_028A1B58; L_028A1B58: ; // 0x28a1b58 /* 028A1B58 */ cpu->r[8] = cpu->r[30] + cpu->r[4]; /* 028A1B5C */ _t181 = cpu->r[8] + 0x00000010u; /* 028A1B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t181); /* 028A1B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[31]); /* 028A1B64 */ _t182 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1B64 */ _t183 = _t182 & 0x00000001u; /* 028A1B64 */ if (_t183) goto L_028A1B14; else goto L_028A1B68; L_028A1B68: ; // 0x28a1b68 /* 028A1B68 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000024u); /* 028A1B6C */ cpu->r[7] = 0x00000003u; /* 028A1B70 */ cpu->ctr = cpu->r[7]; /* 028A1B74 */ cpu->r[6] = cpu->r[30] + cpu->r[0]; /* 028A1B78 */ cpu->r[7] = cpu->r[1] + 0x00000034u; /* 028A1B7C */ cpu->r[4] = cpu->r[6] + 0x00000020u; L_028A1B80: ; // 0x28a1b80 /* 028A1B80 */ _t184 = cpu->r[7] + 0x00000004u; /* 028A1B80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t184); /* 028A1B84 */ _t185 = cpu->r[4] + 0x00000004u; /* 028A1B84 */ rbrew_write32(cpu->mem, _t185, cpu->r[8]); /* 028A1B88 */ _t186 = cpu->r[7] + 0x00000008u; /* 028A1B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186); /* 028A1B8C */ _t187 = cpu->r[4] + 0x00000008u; /* 028A1B8C */ rbrew_write32(cpu->mem, _t187, cpu->r[0]); /* 028A1B90 */ _t188 = cpu->r[7] + 0x0000000Cu; /* 028A1B90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t188); /* 028A1B90 */ cpu->r[7] = _t188; /* 028A1B94 */ _t189 = cpu->r[4] + 0x0000000Cu; /* 028A1B94 */ rbrew_write32(cpu->mem, _t189, cpu->r[11]); /* 028A1B94 */ cpu->r[4] = _t189; /* 028A1B98 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A1B98 */ _t190 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A1B98 */ _t191 = _t190 >> (0x00000002u & 31u); /* 028A1B98 */ _t192 = _t191 & 0x00000001u; /* 028A1B98 */ if (_t192) goto L_028A1B80; else goto L_028A1B9C; L_028A1B9C: ; // 0x28a1b9c /* 028A1B9C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028A1B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A1BA0 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 028A1BA4 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1BA4 */ _t194 = _t193 & 0x00000001u; /* 028A1BA4 */ if (_t194) goto L_028A1BA8; else goto L_028A1ACC; L_028A1BA8: ; // 0x28a1ba8 /* 028A1BA8 */ _t195 = cpu->r[1] + 0x00000014u; /* 028A1BA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t195); /* 028A1BAC */ _t196 = cpu->r[11] + 0x00000020u; /* 028A1BAC */ cpu->r[22] = rbrew_read32(cpu->mem, _t196); /* 028A1BB0 */ _t197 = cpu->r[11] + 0x0000001Cu; /* 028A1BB0 */ cpu->r[14] = rbrew_read32(cpu->mem, _t197); /* 028A1BB4 */ _t198 = cpu->r[11] + 0x00000024u; /* 028A1BB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t198); /* 028A1BB8 */ _t199 = cpu->r[11] + 0x0000000Cu; /* 028A1BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t199); /* 028A1BBC */ cpu->r[31] = cpu->r[5]; /* 028A1BC0 */ _t200 = cpu->r[11] + 0x00000028u; /* 028A1BC0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t200); /* 028A1BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000007u); /* 028A1BC8 */ _t201 = cpu->r[1] + 0x0000001Cu; /* 028A1BC8 */ rbrew_write32(cpu->mem, _t201, cpu->r[0]); /* 028A1BCC */ _t202 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1BCC */ _t203 = _t202 & 0x00000001u; /* 028A1BCC */ if (_t203) goto L_028A1BD0; else goto L_028A1E44; L_028A1BD0: ; // 0x28a1bd0 /* 028A1BD0 */ _t204 = cpu->r[1] + 0x00000018u; /* 028A1BD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t204); /* 028A1BD4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A1BD8 */ _t205 = cpu->r[1] + 0x0000001Cu; /* 028A1BD8 */ cpu->r[15] = rbrew_read32(cpu->mem, _t205); /* 028A1BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000078u); /* 028A1BE0 */ _t206 = cpu->r[1] + 0x00000008u; /* 028A1BE0 */ rbrew_write32(cpu->mem, _t206, cpu->r[22]); /* 028A1BE4 */ cpu->r[23] = cpu->r[9]; /* 028A1BE8 */ _t207 = cpu->r[1] + 0x0000000Cu; /* 028A1BE8 */ rbrew_write32(cpu->mem, _t207, cpu->r[14]); /* 028A1BEC */ _t208 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1BEC */ _t209 = _t208 & 0x00000001u; /* 028A1BEC */ if (_t209) goto L_028A1BF0; else goto L_028A1C10; L_028A1BF0: ; // 0x28a1bf0 /* 028A1BF0 */ _t210 = cpu->r[1] + 0x00000014u; /* 028A1BF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t210); /* 028A1BF4 */ _t211 = cpu->r[1] + 0x00000020u; /* 028A1BF4 */ rbrew_write32(cpu->mem, _t211, cpu->r[7]); /* 028A1BF8 */ cpu->r[24] = 0x00000001u; /* 028A1BFC */ _t212 = cpu->r[8] + 0x00000000u; /* 028A1BFC */ cpu->r[22] = rbrew_read32(cpu->mem, _t212); /* 028A1C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A1C04 */ _t213 = cpu->r[8] + 0x00000008u; /* 028A1C04 */ cpu->r[21] = rbrew_read32(cpu->mem, _t213); /* 028A1C08 */ _t214 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1C08 */ _t215 = _t214 & 0x00000001u; /* 028A1C08 */ if (_t215) goto L_028A1C0C; else goto L_028A1C30; L_028A1C0C: ; // 0x28a1c0c /* 028A1C0C */ goto L_028A1E1C; L_028A1C10: ; // 0x28a1c10 /* 028A1C10 */ _t216 = cpu->r[1] + 0x00000014u; /* 028A1C10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t216); /* 028A1C14 */ _t217 = cpu->r[1] + 0x00000020u; /* 028A1C14 */ rbrew_write32(cpu->mem, _t217, cpu->r[7]); /* 028A1C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A1C1C */ _t218 = cpu->r[8] + 0x00000004u; /* 028A1C1C */ cpu->r[22] = rbrew_read32(cpu->mem, _t218); /* 028A1C20 */ cpu->r[24] = 0x00000002u; /* 028A1C24 */ cpu->r[21] = cpu->r[15]; /* 028A1C28 */ _t219 = cpu->r[8] + 0x00000008u; /* 028A1C28 */ cpu->r[15] = rbrew_read32(cpu->mem, _t219); /* 028A1C2C */ _t220 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1C2C */ _t221 = _t220 & 0x00000001u; /* 028A1C2C */ if (_t221) goto L_028A1E1C; else goto L_028A1C30; L_028A1C30: ; // 0x28a1c30 /* 028A1C30 */ cpu->r[0] = cpu->r[1] + 0x00000024u; /* 028A1C34 */ cpu->r[29] = cpu->r[31] + 0xFFFFFFFFu; /* 028A1C38 */ cpu->r[14] = 0x00000000u; /* 028A1C3C */ _t222 = cpu->r[1] + 0x0000001Cu; /* 028A1C3C */ rbrew_write32(cpu->mem, _t222, cpu->r[0]); L_028A1C40: ; // 0x28a1c40 /* 028A1C40 */ _t223 = cpu->r[1] + 0x00000008u; /* 028A1C40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t223); /* 028A1C44 */ _t224 = cpu->r[1] + 0x0000000Cu; /* 028A1C44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t224); /* 028A1C48 */ _t225 = cpu->r[8] + cpu->r[14]; /* 028A1C48 */ cpu->r[0] = rbrew_read16(cpu->mem, _t225); /* 028A1C4C */ _t226 = cpu->r[6] + cpu->r[14]; /* 028A1C4C */ cpu->r[5] = rbrew_read16(cpu->mem, _t226); /* 028A1C50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 028A1C54 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1C54 */ _t228 = _t227 & 0x00000001u; /* 028A1C54 */ if (_t228) goto L_028A1E08; else goto L_028A1C58; L_028A1C58: ; // 0x28a1c58 /* 028A1C58 */ cpu->r[11] = cpu->r[5]; /* 028A1C5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 028A1C60 */ cpu->r[10] = cpu->r[5]; /* 028A1C64 */ _t229 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1C64 */ _t230 = _t229 & 0x00000001u; /* 028A1C64 */ if (_t230) goto L_028A1CBC; else goto L_028A1C68; L_028A1C68: ; // 0x28a1c68 /* 028A1C68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1C6C */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1C70 */ _t231 = cpu->r[12] + cpu->r[21]; /* 028A1C70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t231); /* 028A1C74 */ _t232 = cpu->r[4] + cpu->r[21]; /* 028A1C74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t232); /* 028A1C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]); /* 028A1C7C */ _t233 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1C7C */ _t234 = _t233 & 0x00000001u; /* 028A1C7C */ if (_t234) goto L_028A1C80; else goto L_028A1C98; L_028A1C80: ; // 0x28a1c80 /* 028A1C80 */ cpu->r[5] = cpu->r[11]; /* 028A1C84 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A1C88 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A1C8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 028A1C90 */ _t235 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1C90 */ _t236 = _t235 & 0x00000001u; /* 028A1C90 */ if (_t236) goto L_028A1C94; else goto L_028A1C68; L_028A1C94: ; // 0x28a1c94 /* 028A1C94 */ goto L_028A1CBC; L_028A1C98: ; // 0x28a1c98 /* 028A1C98 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1C9C */ _t237 = cpu->r[7] + cpu->r[21]; /* 028A1C9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t237); /* 028A1CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]); /* 028A1CA4 */ _t238 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1CA4 */ _t239 = _t238 & 0x00000001u; /* 028A1CA4 */ if (_t239) goto L_028A1CA8; else goto L_028A1CAC; L_028A1CA8: ; // 0x28a1ca8 /* 028A1CA8 */ cpu->r[10] = cpu->r[11]; L_028A1CAC: ; // 0x28a1cac /* 028A1CAC */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A1CB0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A1CB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 028A1CB8 */ _t240 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1CB8 */ _t241 = _t240 & 0x00000001u; /* 028A1CB8 */ if (_t241) goto L_028A1CBC; else goto L_028A1C68; L_028A1CBC: ; // 0x28a1cbc /* 028A1CBC */ _t242 = cpu->r[1] + 0x0000001Cu; /* 028A1CBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t242); /* 028A1CC0 */ cpu->r[27] = 0x00000002u; /* 028A1CC4 */ _t243 = cpu->r[1] + 0x00000026u; /* 028A1CC4 */ rbrew_write16(cpu->mem, _t243, (uint16_t)cpu->r[5]); /* 028A1CC8 */ cpu->r[16] = cpu->r[1] + 0x00000022u; /* 028A1CCC */ _t244 = cpu->r[4] + 0x00000000u; /* 028A1CCC */ rbrew_write16(cpu->mem, _t244, (uint16_t)cpu->r[10]); L_028A1CD0: ; // 0x28a1cd0 /* 028A1CD0 */ _t245 = cpu->r[16] + 0x00000002u; /* 028A1CD0 */ cpu->r[19] = rbrew_read16(cpu->mem, _t245); /* 028A1CD0 */ cpu->r[16] = _t245; /* 028A1CD4 */ _t246 = cpu->r[23] + cpu->r[19]; /* 028A1CD4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t246); /* 028A1CD8 */ cpu->r[0] = cpu->r[9] & cpu->r[24]; /* 028A1CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A1CDC */ _t247 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1CDC */ _t248 = _t247 & 0x00000001u; /* 028A1CDC */ if (_t248) goto L_028A1CE0; else goto L_028A1E00; L_028A1CE0: ; // 0x28a1ce0 /* 028A1CE0 */ cpu->r[7] = cpu->r[29]; /* 028A1CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A1CE4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1CE8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u); /* 028A1CEC */ _t249 = cpu->r[15] + cpu->r[4]; /* 028A1CEC */ cpu->r[20] = rbrew_read32(cpu->mem, _t249); /* 028A1CF0 */ _t250 = cpu->r[21] + cpu->r[4]; /* 028A1CF0 */ cpu->r[18] = rbrew_read32(cpu->mem, _t250); /* 028A1CF4 */ cpu->r[25] = cpu->r[30] + cpu->r[10]; /* 028A1CF8 */ _t251 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1CF8 */ _t252 = _t251 & 0x00000001u; /* 028A1CF8 */ if (_t252) goto L_028A1E00; else goto L_028A1CFC; L_028A1CFC: ; // 0x28a1cfc /* 028A1CFC */ cpu->r[25] = cpu->r[25] + 0x00000024u; /* 028A1D00 */ cpu->r[28] = cpu->r[22] + cpu->r[4]; L_028A1D04: ; // 0x28a1d04 /* 028A1D04 */ _t253 = cpu->r[25] + 0xFFFFFFDCu; /* 028A1D04 */ cpu->r[12] = rbrew_read16(cpu->mem, _t253); /* 028A1D04 */ cpu->r[25] = _t253; /* 028A1D08 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1D0C */ _t254 = cpu->r[11] + cpu->r[21]; /* 028A1D0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t254); /* 028A1D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[4]); /* 028A1D14 */ _t255 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1D14 */ _t256 = _t255 & 0x00000001u; /* 028A1D14 */ if (_t256) goto L_028A1DF8; else goto L_028A1D18; L_028A1D18: ; // 0x28a1d18 /* 028A1D18 */ _t257 = cpu->r[25] + 0x0000001Cu; /* 028A1D18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t257); /* 028A1D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[5]); /* 028A1D20 */ _t258 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1D20 */ _t259 = _t258 & 0x00000001u; /* 028A1D20 */ if (_t259) goto L_028A1DF8; else goto L_028A1D24; L_028A1D24: ; // 0x28a1d24 /* 028A1D24 */ _t260 = cpu->r[25] + 0x00000020u; /* 028A1D24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t260); /* 028A1D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[6]); /* 028A1D2C */ _t261 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1D2C */ _t262 = _t261 & 0x00000001u; /* 028A1D2C */ if (_t262) goto L_028A1DF8; else goto L_028A1D30; L_028A1D30: ; // 0x28a1d30 /* 028A1D30 */ cpu->r[6] = cpu->r[7] + 0x00000001u; /* 028A1D34 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000024u); /* 028A1D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[31]); /* 028A1D3C */ cpu->r[26] = cpu->r[30] + cpu->r[11]; /* 028A1D40 */ _t263 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1D40 */ _t264 = _t263 & 0x00000001u; /* 028A1D40 */ if (_t264) goto L_028A1D44; else goto L_028A1DF8; L_028A1D44: ; // 0x28a1d44 /* 028A1D44 */ _t265 = cpu->r[26] + 0x00000004u; /* 028A1D44 */ cpu->r[0] = rbrew_read16(cpu->mem, _t265); /* 028A1D48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1D4C */ _t266 = cpu->r[12] + cpu->r[21]; /* 028A1D4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t266); /* 028A1D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[8]); /* 028A1D54 */ _t267 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1D54 */ _t268 = _t267 & 0x00000001u; /* 028A1D54 */ if (_t268) goto L_028A1DE8; else goto L_028A1D58; L_028A1D58: ; // 0x28a1d58 /* 028A1D58 */ _t269 = cpu->r[26] + 0x0000001Cu; /* 028A1D58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t269); /* 028A1D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[9]); /* 028A1D60 */ _t270 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1D60 */ _t271 = _t270 & 0x00000001u; /* 028A1D60 */ if (_t271) goto L_028A1DE8; else goto L_028A1D64; L_028A1D64: ; // 0x28a1d64 /* 028A1D64 */ _t272 = cpu->r[26] + 0x00000020u; /* 028A1D64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t272); /* 028A1D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[10]); /* 028A1D6C */ _t273 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1D6C */ _t274 = _t273 & 0x00000001u; /* 028A1D6C */ if (_t274) goto L_028A1DE8; else goto L_028A1D70; L_028A1D70: ; // 0x28a1d70 /* 028A1D70 */ _t275 = cpu->r[25] + 0x00000000u; /* 028A1D70 */ cpu->r[4] = rbrew_read16(cpu->mem, _t275); /* 028A1D74 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1D78 */ _t276 = cpu->r[11] + cpu->r[21]; /* 028A1D78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t276); /* 028A1D7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1D80 */ _t277 = cpu->r[11] + cpu->r[22]; /* 028A1D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t277); /* 028A1D84 */ _t278 = cpu->r[22] + cpu->r[0]; /* 028A1D84 */ cpu->r[17] = rbrew_read32(cpu->mem, _t278); /* 028A1D88 */ _t279 = cpu->r[21] + cpu->r[0]; /* 028A1D88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t279); /* 028A1D8C */ cpu->r[3] = cpu->r[12] - cpu->r[17]; /* 028A1D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A1D90 */ cpu->r[5] = cpu->r[5] - cpu->r[4]; /* 028A1D94 */ cpu->r[4] = cpu->r[18] - cpu->r[4]; /* 028A1D98 */ _t280 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1D98 */ _t281 = _t280 & 0x00000001u; /* 028A1D98 */ if (_t281) goto L_028A1DAC; else goto L_028A1D9C; L_028A1D9C: ; // 0x28a1d9c /* 028A1D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A1DA0 */ _t282 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1DA0 */ _t283 = _t282 & 0x00000001u; /* 028A1DA0 */ if (_t283) goto L_028A1DAC; else goto L_028A1DA4; L_028A1DA4: ; // 0x28a1da4 /* 028A1DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A1DA8 */ _t284 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1DA8 */ _t285 = _t284 & 0x00000001u; /* 028A1DA8 */ if (_t285) goto L_028A1DAC; else goto L_028A1DC8; L_028A1DAC: ; // 0x28a1dac /* 028A1DAC */ _t286 = cpu->r[28] + 0x00000000u; /* 028A1DAC */ rbrew_write32(cpu->mem, _t286, cpu->r[17]); /* 028A1DB0 */ _t287 = cpu->r[23] + cpu->r[19]; /* 028A1DB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t287); /* 028A1DB4 */ cpu->r[6] = cpu->r[31]; /* 028A1DB8 */ cpu->r[0] = cpu->r[0] | cpu->r[24]; /* 028A1DBC */ cpu->r[7] = 0xFFFFFFFFu; /* 028A1DC0 */ _t288 = cpu->r[23] + cpu->r[19]; /* 028A1DC0 */ rbrew_write8(cpu->mem, _t288, (uint8_t)cpu->r[0]); /* 028A1DC4 */ goto L_028A1DE8; L_028A1DC8: ; // 0x28a1dc8 /* 028A1DC8 */ Gambit_fn_0287B768(cpu); /* 028A1DCC */ cpu->r[7] = cpu->r[17] + cpu->r[3]; /* 028A1DD0 */ _t289 = cpu->r[28] + 0x00000000u; /* 028A1DD0 */ rbrew_write32(cpu->mem, _t289, cpu->r[7]); /* 028A1DD4 */ _t290 = cpu->r[23] + cpu->r[19]; /* 028A1DD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t290); /* 028A1DD8 */ cpu->r[6] = cpu->r[31]; /* 028A1DDC */ cpu->r[0] = cpu->r[0] | cpu->r[24]; /* 028A1DE0 */ cpu->r[7] = 0xFFFFFFFFu; /* 028A1DE4 */ _t291 = cpu->r[23] + cpu->r[19]; /* 028A1DE4 */ rbrew_write8(cpu->mem, _t291, (uint8_t)cpu->r[0]); L_028A1DE8: ; // 0x28a1de8 /* 028A1DE8 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A1DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[31]); /* 028A1DF0 */ cpu->r[26] = cpu->r[26] + 0x00000024u; /* 028A1DF4 */ _t292 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1DF4 */ _t293 = _t292 & 0x00000001u; /* 028A1DF4 */ if (_t293) goto L_028A1D44; else goto L_028A1DF8; L_028A1DF8: ; // 0x28a1df8 /* 028A1DF8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028A1DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A1DFC */ _t294 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1DFC */ _t295 = _t294 & 0x00000001u; /* 028A1DFC */ if (_t295) goto L_028A1E00; else goto L_028A1D04; L_028A1E00: ; // 0x28a1e00 /* 028A1E00 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 028A1E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A1E04 */ _t296 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1E04 */ _t297 = _t296 & 0x00000001u; /* 028A1E04 */ if (_t297) goto L_028A1E08; else goto L_028A1CD0; L_028A1E08: ; // 0x28a1e08 /* 028A1E08 */ _t298 = cpu->r[1] + 0x00000020u; /* 028A1E08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t298); /* 028A1E0C */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu; /* 028A1E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A1E10 */ cpu->r[14] = cpu->r[14] + 0x00000002u; /* 028A1E14 */ _t299 = cpu->r[1] + 0x00000020u; /* 028A1E14 */ rbrew_write32(cpu->mem, _t299, cpu->r[0]); /* 028A1E18 */ _t300 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1E18 */ _t301 = _t300 & 0x00000001u; /* 028A1E18 */ if (_t301) goto L_028A1E1C; else goto L_028A1C40; L_028A1E1C: ; // 0x28a1e1c /* 028A1E1C */ _t302 = cpu->r[1] + 0x00000010u; /* 028A1E1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t302); /* 028A1E20 */ _t303 = cpu->r[8] + 0x00000024u; /* 028A1E20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t303); /* 028A1E24 */ _t304 = cpu->r[7] + 0x00000152u; /* 028A1E24 */ cpu->r[8] = rbrew_read16(cpu->mem, _t304); /* 028A1E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000007u); /* 028A1E2C */ _t305 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1E2C */ _t306 = _t305 & 0x00000001u; /* 028A1E2C */ if (_t306) goto L_028A1E30; else goto L_028A2354; L_028A1E30: ; // 0x28a1e30 /* 028A1E30 */ _t307 = cpu->r[1] + 0x00000018u; /* 028A1E30 */ cpu->r[3] = rbrew_read8(cpu->mem, _t307); /* 028A1E34 */ _t308 = cpu->r[1] + 0x00000014u; /* 028A1E34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t308); /* 028A1E38 */ Gambit_fn_028A169C(cpu); /* 028A1E3C */ cpu->r[3] = cpu->r[31]; /* 028A1E40 */ goto L_028A2358; L_028A1E44: ; // 0x28a1e44 /* 028A1E44 */ _t309 = cpu->r[1] + 0x00000010u; /* 028A1E44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t309); /* 028A1E48 */ _t310 = cpu->r[6] + 0x00000024u; /* 028A1E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t310); /* 028A1E4C */ _t311 = cpu->r[1] + 0x00000018u; /* 028A1E4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t311); /* 028A1E50 */ cpu->r[6] = 0x80000000u; /* 028A1E54 */ _t312 = cpu->r[12] + 0x0000012Cu; /* 028A1E54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t312); /* 028A1E58 */ cpu->r[10] = 0x00000000u; /* 028A1E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000078u); /* 028A1E60 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028A1E64 */ _t313 = cpu->r[1] + 0x00000008u; /* 028A1E64 */ rbrew_write32(cpu->mem, _t313, cpu->r[10]); /* 028A1E68 */ _t314 = cpu->r[1] + 0x0000000Cu; /* 028A1E68 */ rbrew_write32(cpu->mem, _t314, cpu->r[6]); /* 028A1E6C */ cpu->r[26] = cpu->r[9]; /* 028A1E70 */ _t315 = cpu->r[1] + 0x00000010u; /* 028A1E70 */ rbrew_write32(cpu->mem, _t315, cpu->r[6]); /* 028A1E74 */ _t316 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1E74 */ _t317 = _t316 & 0x00000001u; /* 028A1E74 */ if (_t317) goto L_028A1E78; else goto L_028A1E98; L_028A1E78: ; // 0x28a1e78 /* 028A1E78 */ _t318 = cpu->r[1] + 0x00000014u; /* 028A1E78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t318); /* 028A1E7C */ _t319 = cpu->r[6] + 0x00000000u; /* 028A1E7C */ cpu->r[27] = rbrew_read32(cpu->mem, _t319); /* 028A1E80 */ cpu->r[25] = 0x00000001u; /* 028A1E84 */ _t320 = cpu->r[6] + 0x00000008u; /* 028A1E84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t320); /* 028A1E88 */ cpu->r[6] = cpu->r[31]; /* 028A1E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A1E8C */ cpu->r[24] = 0x00000000u; /* 028A1E90 */ _t321 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1E90 */ _t322 = _t321 & 0x00000001u; /* 028A1E90 */ if (_t322) goto L_028A1E94; else goto L_028A1F38; L_028A1E94: ; // 0x28a1e94 /* 028A1E94 */ goto L_028A1EBC; L_028A1E98: ; // 0x28a1e98 /* 028A1E98 */ _t323 = cpu->r[1] + 0x00000014u; /* 028A1E98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t323); /* 028A1E9C */ _t324 = cpu->r[1] + 0x0000001Cu; /* 028A1E9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t324); /* 028A1EA0 */ _t325 = cpu->r[6] + 0x00000008u; /* 028A1EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t325); /* 028A1EA4 */ cpu->r[25] = 0x00000002u; /* 028A1EA8 */ _t326 = cpu->r[6] + 0x00000004u; /* 028A1EA8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t326); /* 028A1EAC */ cpu->r[6] = cpu->r[31]; /* 028A1EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A1EB0 */ cpu->r[24] = 0x00000000u; /* 028A1EB4 */ _t327 = cpu->r[1] + 0x0000001Cu; /* 028A1EB4 */ rbrew_write32(cpu->mem, _t327, cpu->r[0]); /* 028A1EB8 */ _t328 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1EB8 */ _t329 = _t328 & 0x00000001u; /* 028A1EB8 */ if (_t329) goto L_028A1EBC; else goto L_028A1F38; L_028A1EBC: ; // 0x28a1ebc /* 028A1EBC */ cpu->ctr = cpu->r[6]; /* 028A1EC0 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFDCu; L_028A1EC4: ; // 0x28a1ec4 /* 028A1EC4 */ _t330 = cpu->r[8] + 0x00000024u; /* 028A1EC4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t330); /* 028A1EC4 */ cpu->r[8] = _t330; /* 028A1EC8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[24], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A1ECC */ _t331 = cpu->r[4] + cpu->r[29]; /* 028A1ECC */ rbrew_write16(cpu->mem, _t331, (uint16_t)cpu->r[0]); /* 028A1ECC */ cpu->r[4] = _t331; /* 028A1ED0 */ _t332 = cpu->r[8] + 0x00000000u; /* 028A1ED0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t332); /* 028A1ED4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1ED8 */ _t333 = cpu->r[5] + cpu->r[28]; /* 028A1ED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t333); /* 028A1EDC */ _t334 = cpu->r[4] + 0x00000004u; /* 028A1EDC */ rbrew_write32(cpu->mem, _t334, cpu->r[10]); /* 028A1EE0 */ _t335 = cpu->r[8] + 0x0000001Cu; /* 028A1EE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t335); /* 028A1EE4 */ _t336 = cpu->r[4] + 0x00000008u; /* 028A1EE4 */ rbrew_write32(cpu->mem, _t336, cpu->r[11]); /* 028A1EE8 */ _t337 = cpu->r[8] + 0x00000020u; /* 028A1EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t337); /* 028A1EEC */ _t338 = cpu->r[4] + 0x0000000Cu; /* 028A1EEC */ rbrew_write32(cpu->mem, _t338, cpu->r[0]); /* 028A1EF0 */ _t339 = cpu->r[8] + 0x00000004u; /* 028A1EF0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t339); /* 028A1EF4 */ _t340 = cpu->r[8] + 0x00000000u; /* 028A1EF4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t340); /* 028A1EF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[9]); /* 028A1EFC */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 028A1F00 */ _t341 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1F00 */ _t342 = _t341 & 0x00000001u; /* 028A1F00 */ if (_t342) goto L_028A1F34; else goto L_028A1F04; L_028A1F04: ; // 0x28a1f04 /* 028A1F04 */ cpu->r[6] = rbrew_rlwinm(cpu->r[24], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A1F08 */ _t343 = cpu->r[29] + cpu->r[6]; /* 028A1F08 */ rbrew_write16(cpu->mem, _t343, (uint16_t)cpu->r[9]); /* 028A1F0C */ _t344 = cpu->r[8] + 0x00000004u; /* 028A1F0C */ cpu->r[0] = rbrew_read16(cpu->mem, _t344); /* 028A1F10 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A1F14 */ _t345 = cpu->r[10] + cpu->r[28]; /* 028A1F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t345); /* 028A1F18 */ cpu->r[4] = cpu->r[29] + cpu->r[6]; /* 028A1F1C */ _t346 = cpu->r[4] + 0x00000004u; /* 028A1F1C */ rbrew_write32(cpu->mem, _t346, cpu->r[0]); /* 028A1F20 */ _t347 = cpu->r[8] + 0x0000001Cu; /* 028A1F20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t347); /* 028A1F24 */ _t348 = cpu->r[4] + 0x00000008u; /* 028A1F24 */ rbrew_write32(cpu->mem, _t348, cpu->r[11]); /* 028A1F28 */ _t349 = cpu->r[8] + 0x00000020u; /* 028A1F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t349); /* 028A1F2C */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 028A1F30 */ _t350 = cpu->r[4] + 0x0000000Cu; /* 028A1F30 */ rbrew_write32(cpu->mem, _t350, cpu->r[0]); L_028A1F34: ; // 0x28a1f34 /* 028A1F34 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A1F34 */ _t351 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A1F34 */ _t352 = _t351 >> (0x00000002u & 31u); /* 028A1F34 */ _t353 = _t352 & 0x00000001u; /* 028A1F34 */ if (_t353) goto L_028A1EC4; else goto L_028A1F38; L_028A1F38: ; // 0x28a1f38 /* 028A1F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000001u); /* 028A1F3C */ cpu->r[3] = cpu->r[24] + 0xFFFFFFFFu; /* 028A1F40 */ _t354 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1F40 */ _t355 = _t354 & 0x00000001u; /* 028A1F40 */ if (_t355) goto L_028A1F44; else goto L_028A1FFC; L_028A1F44: ; // 0x28a1f44 /* 028A1F44 */ cpu->r[11] = 0x00000000u; /* 028A1F48 */ cpu->r[10] = cpu->r[29]; L_028A1F4C: ; // 0x28a1f4c /* 028A1F4C */ _t356 = cpu->r[10] + 0x00000010u; /* 028A1F4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t356); /* 028A1F4C */ cpu->r[10] = _t356; /* 028A1F50 */ cpu->r[30] = cpu->r[11]; /* 028A1F54 */ _t357 = cpu->r[1] + 0x00000028u; /* 028A1F54 */ rbrew_write32(cpu->mem, _t357, cpu->r[5]); /* 028A1F58 */ _t358 = cpu->r[10] + 0x00000004u; /* 028A1F58 */ cpu->r[23] = rbrew_read32(cpu->mem, _t358); /* 028A1F5C */ cpu->r[4] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A1F60 */ _t359 = cpu->r[1] + 0x0000002Cu; /* 028A1F60 */ rbrew_write32(cpu->mem, _t359, cpu->r[23]); /* 028A1F64 */ _t360 = cpu->r[10] + 0x00000008u; /* 028A1F64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t360); /* 028A1F68 */ cpu->r[9] = cpu->r[29] + cpu->r[4]; /* 028A1F6C */ _t361 = cpu->r[1] + 0x00000030u; /* 028A1F6C */ rbrew_write32(cpu->mem, _t361, cpu->r[8]); /* 028A1F70 */ _t362 = cpu->r[10] + 0x0000000Cu; /* 028A1F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t362); /* 028A1F74 */ cpu->r[8] = cpu->r[9] + 0x00000010u; /* 028A1F78 */ _t363 = cpu->r[1] + 0x00000034u; /* 028A1F78 */ rbrew_write32(cpu->mem, _t363, cpu->r[0]); /* 028A1F7C */ goto L_028A1FB0; L_028A1F80: ; // 0x28a1f80 /* 028A1F80 */ _t364 = cpu->r[29] + cpu->r[4]; /* 028A1F80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t364); /* 028A1F84 */ cpu->r[12] = cpu->r[29] + cpu->r[4]; /* 028A1F88 */ _t365 = cpu->r[8] + 0x00000000u; /* 028A1F88 */ rbrew_write32(cpu->mem, _t365, cpu->r[5]); /* 028A1F8C */ _t366 = cpu->r[12] + 0x00000004u; /* 028A1F8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t366); /* 028A1F90 */ _t367 = cpu->r[8] + 0x00000004u; /* 028A1F90 */ rbrew_write32(cpu->mem, _t367, cpu->r[6]); /* 028A1F94 */ _t368 = cpu->r[12] + 0x00000008u; /* 028A1F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t368); /* 028A1F98 */ _t369 = cpu->r[8] + 0x00000008u; /* 028A1F98 */ rbrew_write32(cpu->mem, _t369, cpu->r[0]); /* 028A1F9C */ _t370 = cpu->r[12] + 0x0000000Cu; /* 028A1F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t370); /* 028A1FA0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 028A1FA4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFF0u; /* 028A1FA8 */ _t371 = cpu->r[8] + 0x0000000Cu; /* 028A1FA8 */ rbrew_write32(cpu->mem, _t371, cpu->r[0]); /* 028A1FAC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFF0u; L_028A1FB0: ; // 0x28a1fb0 /* 028A1FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A1FB4 */ _t372 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A1FB4 */ _t373 = _t372 & 0x00000001u; /* 028A1FB4 */ if (_t373) goto L_028A1FC8; else goto L_028A1FB8; L_028A1FB8: ; // 0x28a1fb8 /* 028A1FB8 */ cpu->r[9] = cpu->r[29] + cpu->r[4]; /* 028A1FBC */ _t374 = cpu->r[9] + 0x00000004u; /* 028A1FBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t374); /* 028A1FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[23]); /* 028A1FC4 */ _t375 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A1FC4 */ _t376 = _t375 & 0x00000001u; /* 028A1FC4 */ if (_t376) goto L_028A1F80; else goto L_028A1FC8; L_028A1FC8: ; // 0x28a1fc8 /* 028A1FC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A1FCC */ _t377 = cpu->r[1] + 0x00000028u; /* 028A1FCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t377); /* 028A1FD0 */ cpu->r[5] = cpu->r[29] + cpu->r[0]; /* 028A1FD4 */ _t378 = cpu->r[5] + 0x00000010u; /* 028A1FD4 */ rbrew_write32(cpu->mem, _t378, cpu->r[12]); /* 028A1FD8 */ _t379 = cpu->r[1] + 0x0000002Cu; /* 028A1FD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t379); /* 028A1FDC */ _t380 = cpu->r[5] + 0x00000014u; /* 028A1FDC */ rbrew_write32(cpu->mem, _t380, cpu->r[6]); /* 028A1FE0 */ _t381 = cpu->r[1] + 0x00000030u; /* 028A1FE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t381); /* 028A1FE4 */ _t382 = cpu->r[5] + 0x00000018u; /* 028A1FE4 */ rbrew_write32(cpu->mem, _t382, cpu->r[8]); /* 028A1FE8 */ _t383 = cpu->r[1] + 0x00000034u; /* 028A1FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t383); /* 028A1FEC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 028A1FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A1FF0 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A1FF4 */ _t384 = cpu->r[5] + 0x0000001Cu; /* 028A1FF4 */ rbrew_write32(cpu->mem, _t384, cpu->r[0]); /* 028A1FF8 */ _t385 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A1FF8 */ _t386 = _t385 & 0x00000001u; /* 028A1FF8 */ if (_t386) goto L_028A1FFC; else goto L_028A1F4C; L_028A1FFC: ; // 0x28a1ffc /* 028A1FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A2000 */ _t387 = cpu->r[1] + 0x00000014u; /* 028A2000 */ rbrew_write32(cpu->mem, _t387, cpu->r[7]); /* 028A2004 */ _t388 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2004 */ _t389 = _t388 & 0x00000001u; /* 028A2004 */ if (_t389) goto L_028A2354; else goto L_028A2008; L_028A2008: ; // 0x28a2008 /* 028A2008 */ cpu->r[20] = 0x80000000u; /* 028A200C */ /* nop */ /* 028A2010 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu; /* 028A2014 */ cpu->r[18] = cpu->r[11]; /* 028A2018 */ cpu->r[21] = cpu->r[24] + 0xFFFFFFFFu; /* 028A201C */ cpu->r[19] = 0x00000000u; L_028A2020: ; // 0x28a2020 /* 028A2020 */ _t390 = cpu->r[14] + cpu->r[19]; /* 028A2020 */ cpu->r[0] = rbrew_read16(cpu->mem, _t390); /* 028A2024 */ _t391 = cpu->r[22] + cpu->r[19]; /* 028A2024 */ cpu->r[11] = rbrew_read16(cpu->mem, _t391); /* 028A2028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]); /* 028A202C */ _t392 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A202C */ _t393 = _t392 & 0x00000001u; /* 028A202C */ if (_t393) goto L_028A2340; else goto L_028A2030; L_028A2030: ; // 0x28a2030 /* 028A2030 */ cpu->r[17] = cpu->r[0]; /* 028A2034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[11]); /* 028A2038 */ _t394 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2038 */ _t395 = _t394 & 0x00000001u; /* 028A2038 */ if (_t395) goto L_028A2340; else goto L_028A203C; L_028A203C: ; // 0x28a203c /* 028A203C */ _t396 = cpu->r[22] + cpu->r[19]; /* 028A203C */ cpu->r[12] = rbrew_read16(cpu->mem, _t396); L_028A2040: ; // 0x28a2040 /* 028A2040 */ _t397 = cpu->r[26] + cpu->r[17]; /* 028A2040 */ cpu->r[0] = rbrew_read8(cpu->mem, _t397); /* 028A2044 */ cpu->r[4] = cpu->r[0] & cpu->r[25]; /* 028A2044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A2048 */ _t398 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2048 */ _t399 = _t398 & 0x00000001u; /* 028A2048 */ if (_t399) goto L_028A204C; else goto L_028A232C; L_028A204C: ; // 0x28a204c /* 028A204C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[12]); /* 028A2050 */ _t400 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2050 */ _t401 = _t400 & 0x00000001u; /* 028A2050 */ if (_t401) goto L_028A2054; else goto L_028A2080; L_028A2054: ; // 0x28a2054 /* 028A2054 */ _t402 = cpu->r[14] + cpu->r[19]; /* 028A2054 */ cpu->r[6] = rbrew_read16(cpu->mem, _t402); /* 028A2058 */ cpu->r[30] = rbrew_rlwinm(cpu->r[17], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A205C */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2060 */ _t403 = cpu->r[28] + cpu->r[30]; /* 028A2060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t403); /* 028A2064 */ _t404 = cpu->r[5] + cpu->r[28]; /* 028A2064 */ cpu->r[15] = rbrew_read32(cpu->mem, _t404); /* 028A2068 */ cpu->r[5] = cpu->r[0]; /* 028A206C */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000000Eu, 0x0000001Du); /* 028A2070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], cpu->r[5]); /* 028A2074 */ _t405 = cpu->r[6] + cpu->r[28]; /* 028A2074 */ cpu->r[6] = rbrew_read32(cpu->mem, _t405); /* 028A2078 */ _t406 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2078 */ _t407 = _t406 & 0x00000001u; /* 028A2078 */ if (_t407) goto L_028A207C; else goto L_028A20A8; L_028A207C: ; // 0x28a207c /* 028A207C */ goto L_028A20B0; L_028A2080: ; // 0x28a2080 /* 028A2080 */ cpu->r[30] = rbrew_rlwinm(cpu->r[17], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2084 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2088 */ _t408 = cpu->r[28] + cpu->r[30]; /* 028A2088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t408); /* 028A208C */ _t409 = cpu->r[5] + cpu->r[28]; /* 028A208C */ cpu->r[15] = rbrew_read32(cpu->mem, _t409); /* 028A2090 */ cpu->r[6] = cpu->r[17] + 0x00000001u; /* 028A2094 */ cpu->r[5] = cpu->r[0]; /* 028A2098 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000000Eu, 0x0000001Du); /* 028A209C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], cpu->r[5]); /* 028A20A0 */ _t410 = cpu->r[6] + cpu->r[28]; /* 028A20A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t410); /* 028A20A4 */ _t411 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A20A4 */ _t412 = _t411 & 0x00000001u; /* 028A20A4 */ if (_t412) goto L_028A20B0; else goto L_028A20A8; L_028A20A8: ; // 0x28a20a8 /* 028A20A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]); /* 028A20AC */ _t413 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A20AC */ _t414 = _t413 & 0x00000001u; /* 028A20AC */ if (_t414) goto L_028A20C0; else goto L_028A20B0; L_028A20B0: ; // 0x28a20b0 /* 028A20B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], cpu->r[5]); /* 028A20B4 */ _t415 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A20B4 */ _t416 = _t415 & 0x00000001u; /* 028A20B4 */ if (_t416) goto L_028A232C; else goto L_028A20B8; L_028A20B8: ; // 0x28a20b8 /* 028A20B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]); /* 028A20BC */ _t417 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A20BC */ _t418 = _t417 & 0x00000001u; /* 028A20BC */ if (_t418) goto L_028A20C0; else goto L_028A232C; L_028A20C0: ; // 0x28a20c0 /* 028A20C0 */ cpu->r[3] = cpu->r[18]; /* 028A20C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A20C8 */ cpu->r[7] = cpu->r[29] + cpu->r[9]; /* 028A20CC */ _t419 = cpu->r[7] + 0x00000004u; /* 028A20CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t419); /* 028A20D0 */ cpu->r[4] = 0xFFFFFFFFu; /* 028A20D4 */ _t420 = cpu->r[1] + 0x0000001Cu; /* 028A20D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t420); /* 028A20D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]); /* 028A20DC */ cpu->r[8] = cpu->r[29]; /* 028A20E0 */ cpu->r[6] = cpu->r[20]; /* 028A20E4 */ _t421 = cpu->r[7] + cpu->r[30]; /* 028A20E4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t421); /* 028A20E8 */ _t422 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A20E8 */ _t423 = _t422 & 0x00000001u; /* 028A20E8 */ if (_t423) goto L_028A20F4; else goto L_028A20EC; L_028A20EC: ; // 0x28a20ec /* 028A20EC */ cpu->r[3] = 0x00000000u; /* 028A20F0 */ cpu->r[9] = cpu->r[3]; L_028A20F4: ; // 0x28a20f4 /* 028A20F4 */ cpu->r[5] = cpu->r[8] + cpu->r[9]; /* 028A20F8 */ _t424 = cpu->r[5] + 0x00000004u; /* 028A20F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t424); /* 028A20FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 028A2100 */ _t425 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2100 */ _t426 = _t425 & 0x00000001u; /* 028A2100 */ if (_t426) goto L_028A2104; else goto L_028A2120; L_028A2104: ; // 0x28a2104 /* 028A2104 */ cpu->r[11] = cpu->r[5]; L_028A2108: ; // 0x28a2108 /* 028A2108 */ _t427 = cpu->r[11] + 0x00000014u; /* 028A2108 */ cpu->r[9] = rbrew_read32(cpu->mem, _t427); /* 028A210C */ cpu->r[11] = cpu->r[11] + 0x00000010u; /* 028A2110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 028A2114 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028A2118 */ _t428 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2118 */ _t429 = _t428 & 0x00000001u; /* 028A2118 */ if (_t429) goto L_028A2108; else goto L_028A211C; L_028A211C: ; // 0x28a211c /* 028A211C */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000004u, 0x00000000u, 0x0000001Bu); L_028A2120: ; // 0x28a2120 /* 028A2120 */ cpu->r[10] = cpu->r[3] + 0x00000001u; /* 028A2124 */ cpu->r[7] = cpu->r[21] - cpu->r[3]; /* 028A2128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[24]); /* 028A212C */ cpu->r[11] = cpu->r[7] + 0x00000001u; /* 028A2130 */ cpu->r[7] = cpu->r[3]; /* 028A2134 */ _t430 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2134 */ _t431 = _t430 & 0x00000001u; /* 028A2134 */ if (_t431) goto L_028A213C; else goto L_028A2138; L_028A2138: ; // 0x28a2138 /* 028A2138 */ cpu->r[11] = 0x00000001u; L_028A213C: ; // 0x28a213c /* 028A213C */ cpu->ctr = cpu->r[11]; /* 028A2140 */ cpu->r[9] = cpu->r[29] + cpu->r[9]; L_028A2144: ; // 0x28a2144 /* 028A2144 */ cpu->r[8] = cpu->r[9]; /* 028A2148 */ _t432 = cpu->r[8] + 0x00000004u; /* 028A2148 */ cpu->r[5] = rbrew_read32(cpu->mem, _t432); /* 028A214C */ cpu->r[5] = cpu->r[5] - cpu->r[0]; /* 028A2150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]); /* 028A2154 */ _t433 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2154 */ _t434 = _t433 & 0x00000001u; /* 028A2154 */ if (_t434) goto L_028A2158; else goto L_028A21A8; L_028A2158: ; // 0x28a2158 /* 028A2158 */ _t435 = cpu->r[8] + 0x00000008u; /* 028A2158 */ cpu->r[11] = rbrew_read32(cpu->mem, _t435); /* 028A215C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[11]); /* 028A2160 */ _t436 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2160 */ _t437 = _t436 & 0x00000001u; /* 028A2160 */ if (_t437) goto L_028A2164; else goto L_028A2178; L_028A2164: ; // 0x28a2164 /* 028A2164 */ cpu->r[8] = cpu->r[11] - cpu->r[23]; /* 028A2168 */ cpu->r[5] = cpu->r[5] + cpu->r[8]; /* 028A216C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]); /* 028A2170 */ _t438 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2170 */ _t439 = _t438 & 0x00000001u; /* 028A2170 */ if (_t439) goto L_028A2174; else goto L_028A219C; L_028A2174: ; // 0x28a2174 /* 028A2174 */ goto L_028A2194; L_028A2178: ; // 0x28a2178 /* 028A2178 */ _t440 = cpu->r[8] + 0x0000000Cu; /* 028A2178 */ cpu->r[10] = rbrew_read32(cpu->mem, _t440); /* 028A217C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[10]); /* 028A2180 */ _t441 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2180 */ _t442 = _t441 & 0x00000001u; /* 028A2180 */ if (_t442) goto L_028A2184; else goto L_028A2194; L_028A2184: ; // 0x28a2184 /* 028A2184 */ cpu->r[8] = cpu->r[23] - cpu->r[10]; /* 028A2188 */ cpu->r[5] = cpu->r[5] + cpu->r[8]; /* 028A218C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]); /* 028A2190 */ _t443 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2190 */ _t444 = _t443 & 0x00000001u; /* 028A2190 */ if (_t444) goto L_028A2194; else goto L_028A219C; L_028A2194: ; // 0x28a2194 /* 028A2194 */ cpu->r[4] = cpu->r[3]; /* 028A2198 */ cpu->r[6] = cpu->r[5]; L_028A219C: ; // 0x28a219c /* 028A219C */ cpu->r[9] = cpu->r[9] + 0x00000010u; /* 028A21A0 */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 028A21A4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A21A4 */ _t445 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A21A4 */ _t446 = _t445 >> (0x00000002u & 31u); /* 028A21A4 */ _t447 = _t446 & 0x00000001u; /* 028A21A4 */ if (_t447) goto L_028A2144; else goto L_028A21A8; L_028A21A8: ; // 0x28a21a8 /* 028A21A8 */ cpu->r[3] = cpu->r[7]; /* 028A21AC */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A21B0 */ cpu->r[5] = cpu->r[29] + cpu->r[9]; /* 028A21B4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A21B8 */ _t448 = cpu->r[5] + 0x00000004u; /* 028A21B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t448); /* 028A21BC */ _t449 = cpu->r[10] + cpu->r[29]; /* 028A21BC */ cpu->r[4] = rbrew_read16(cpu->mem, _t449); /* 028A21C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 028A21C4 */ cpu->r[7] = cpu->r[20]; /* 028A21C8 */ cpu->r[6] = 0xFFFFFFFFu; /* 028A21CC */ _t450 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A21CC */ _t451 = _t450 & 0x00000001u; /* 028A21CC */ if (_t451) goto L_028A21D0; else goto L_028A21EC; L_028A21D0: ; // 0x28a21d0 /* 028A21D0 */ cpu->r[9] = cpu->r[5]; L_028A21D4: ; // 0x28a21d4 /* 028A21D4 */ _t452 = cpu->r[9] + 0xFFFFFFF4u; /* 028A21D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t452); /* 028A21D8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFF0u; /* 028A21DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]); /* 028A21E0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 028A21E4 */ _t453 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A21E4 */ _t454 = _t453 & 0x00000001u; /* 028A21E4 */ if (_t454) goto L_028A21D4; else goto L_028A21E8; L_028A21E8: ; // 0x28a21e8 /* 028A21E8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000004u, 0x00000000u, 0x0000001Bu); L_028A21EC: ; // 0x28a21ec /* 028A21EC */ cpu->r[8] = cpu->r[3] + 0xFFFFFFFFu; /* 028A21EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A21F0 */ cpu->r[10] = cpu->r[3] + 0x00000001u; /* 028A21F4 */ _t455 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A21F4 */ _t456 = _t455 & 0x00000001u; /* 028A21F4 */ if (_t456) goto L_028A21F8; else goto L_028A21FC; L_028A21F8: ; // 0x28a21f8 /* 028A21F8 */ cpu->r[10] = 0x00000001u; L_028A21FC: ; // 0x28a21fc /* 028A21FC */ cpu->ctr = cpu->r[10]; /* 028A2200 */ cpu->r[8] = cpu->r[29] + cpu->r[9]; L_028A2204: ; // 0x28a2204 /* 028A2204 */ _t457 = cpu->r[8] + 0x00000004u; /* 028A2204 */ cpu->r[10] = rbrew_read32(cpu->mem, _t457); /* 028A2208 */ cpu->r[5] = cpu->r[0] - cpu->r[10]; /* 028A220C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[7]); /* 028A2210 */ _t458 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2210 */ _t459 = _t458 & 0x00000001u; /* 028A2210 */ if (_t459) goto L_028A2214; else goto L_028A2264; L_028A2214: ; // 0x28a2214 /* 028A2214 */ _t460 = cpu->r[8] + 0x00000008u; /* 028A2214 */ cpu->r[11] = rbrew_read32(cpu->mem, _t460); /* 028A2218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[11]); /* 028A221C */ _t461 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A221C */ _t462 = _t461 & 0x00000001u; /* 028A221C */ if (_t462) goto L_028A2220; else goto L_028A2234; L_028A2220: ; // 0x28a2220 /* 028A2220 */ cpu->r[11] = cpu->r[11] - cpu->r[23]; /* 028A2224 */ cpu->r[5] = cpu->r[5] + cpu->r[11]; /* 028A2228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[7]); /* 028A222C */ _t463 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A222C */ _t464 = _t463 & 0x00000001u; /* 028A222C */ if (_t464) goto L_028A2230; else goto L_028A2258; L_028A2230: ; // 0x28a2230 /* 028A2230 */ goto L_028A2250; L_028A2234: ; // 0x28a2234 /* 028A2234 */ _t465 = cpu->r[8] + 0x0000000Cu; /* 028A2234 */ cpu->r[10] = rbrew_read32(cpu->mem, _t465); /* 028A2238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[10]); /* 028A223C */ _t466 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A223C */ _t467 = _t466 & 0x00000001u; /* 028A223C */ if (_t467) goto L_028A2240; else goto L_028A2250; L_028A2240: ; // 0x28a2240 /* 028A2240 */ cpu->r[11] = cpu->r[23] - cpu->r[10]; /* 028A2244 */ cpu->r[5] = cpu->r[5] + cpu->r[11]; /* 028A2248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[7]); /* 028A224C */ _t468 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A224C */ _t469 = _t468 & 0x00000001u; /* 028A224C */ if (_t469) goto L_028A2250; else goto L_028A2258; L_028A2250: ; // 0x28a2250 /* 028A2250 */ cpu->r[6] = cpu->r[3]; /* 028A2254 */ cpu->r[7] = cpu->r[5]; L_028A2258: ; // 0x28a2258 /* 028A2258 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFF0u; /* 028A225C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 028A2260 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A2260 */ _t470 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A2260 */ _t471 = _t470 >> (0x00000002u & 31u); /* 028A2260 */ _t472 = _t471 & 0x00000001u; /* 028A2260 */ if (_t472) goto L_028A2204; else goto L_028A2264; L_028A2264: ; // 0x28a2264 /* 028A2264 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A2268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A226C */ _t473 = cpu->r[5] + cpu->r[29]; /* 028A226C */ cpu->r[11] = rbrew_read16(cpu->mem, _t473); /* 028A2270 */ _t474 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2270 */ _t475 = _t474 & 0x00000001u; /* 028A2270 */ if (_t475) goto L_028A232C; else goto L_028A2274; L_028A2274: ; // 0x28a2274 /* 028A2274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A2278 */ _t476 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2278 */ _t477 = _t476 & 0x00000001u; /* 028A2278 */ if (_t477) goto L_028A232C; else goto L_028A227C; L_028A227C: ; // 0x28a227c /* 028A227C */ cpu->r[23] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2280 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2284 */ _t478 = cpu->r[27] + cpu->r[23]; /* 028A2284 */ cpu->r[16] = rbrew_read32(cpu->mem, _t478); /* 028A2288 */ _t479 = cpu->r[6] + cpu->r[27]; /* 028A2288 */ cpu->r[7] = rbrew_read32(cpu->mem, _t479); /* 028A228C */ _t480 = cpu->r[28] + cpu->r[23]; /* 028A228C */ cpu->r[8] = rbrew_read32(cpu->mem, _t480); /* 028A2290 */ _t481 = cpu->r[6] + cpu->r[28]; /* 028A2290 */ cpu->r[10] = rbrew_read32(cpu->mem, _t481); /* 028A2294 */ cpu->r[5] = cpu->r[7] - cpu->r[16]; /* 028A2298 */ cpu->r[15] = cpu->r[0] - cpu->r[8]; /* 028A2298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000000u); /* 028A229C */ cpu->r[6] = cpu->r[10] - cpu->r[8]; /* 028A22A0 */ _t482 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A22A0 */ _t483 = _t482 & 0x00000001u; /* 028A22A0 */ if (_t483) goto L_028A22B4; else goto L_028A22A4; L_028A22A4: ; // 0x28a22a4 /* 028A22A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A22A8 */ _t484 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A22A8 */ _t485 = _t484 & 0x00000001u; /* 028A22A8 */ if (_t485) goto L_028A22B4; else goto L_028A22AC; L_028A22AC: ; // 0x28a22ac /* 028A22AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A22B0 */ _t486 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A22B0 */ _t487 = _t486 & 0x00000001u; /* 028A22B0 */ if (_t487) goto L_028A22B4; else goto L_028A22CC; L_028A22B4: ; // 0x28a22b4 /* 028A22B4 */ _t488 = cpu->r[27] + cpu->r[30]; /* 028A22B4 */ rbrew_write32(cpu->mem, _t488, cpu->r[16]); /* 028A22B8 */ _t489 = cpu->r[26] + cpu->r[17]; /* 028A22B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t489); /* 028A22BC */ cpu->r[12] = cpu->r[12] | cpu->r[25]; /* 028A22C0 */ _t490 = cpu->r[26] + cpu->r[17]; /* 028A22C0 */ rbrew_write8(cpu->mem, _t490, (uint8_t)cpu->r[12]); /* 028A22C4 */ _t491 = cpu->r[22] + cpu->r[19]; /* 028A22C4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t491); /* 028A22C8 */ goto L_028A232C; L_028A22CC: ; // 0x28a22cc /* 028A22CC */ _t492 = cpu->r[1] + 0x00000010u; /* 028A22CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t492); /* 028A22D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]); /* 028A22D4 */ _t493 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A22D4 */ _t494 = _t493 & 0x00000001u; /* 028A22D4 */ if (_t494) goto L_028A22D8; else goto L_028A22E4; L_028A22D8: ; // 0x28a22d8 /* 028A22D8 */ _t495 = cpu->r[1] + 0x0000000Cu; /* 028A22D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t495); /* 028A22DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 028A22E0 */ _t496 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A22E0 */ _t497 = _t496 & 0x00000001u; /* 028A22E0 */ if (_t497) goto L_028A2304; else goto L_028A22E4; L_028A22E4: ; // 0x28a22e4 /* 028A22E4 */ cpu->r[3] = cpu->r[5]; /* 028A22E8 */ _t498 = cpu->r[1] + 0x00000010u; /* 028A22E8 */ rbrew_write32(cpu->mem, _t498, cpu->r[4]); /* 028A22EC */ cpu->r[4] = cpu->r[6]; /* 028A22F0 */ cpu->r[5] = 0x00000010u; /* 028A22F4 */ _t499 = cpu->r[1] + 0x0000000Cu; /* 028A22F4 */ rbrew_write32(cpu->mem, _t499, cpu->r[11]); /* 028A22F8 */ Gambit_fn_0287B61C(cpu); /* 028A22FC */ _t500 = cpu->r[27] + cpu->r[23]; /* 028A22FC */ cpu->r[16] = rbrew_read32(cpu->mem, _t500); /* 028A2300 */ _t501 = cpu->r[1] + 0x00000008u; /* 028A2300 */ rbrew_write32(cpu->mem, _t501, cpu->r[3]); L_028A2304: ; // 0x28a2304 /* 028A2304 */ _t502 = cpu->r[1] + 0x00000008u; /* 028A2304 */ cpu->r[4] = rbrew_read32(cpu->mem, _t502); /* 028A2308 */ cpu->r[5] = 0x00000010u; /* 028A230C */ cpu->r[3] = cpu->r[15]; /* 028A2310 */ Gambit_fn_0287B904(cpu); /* 028A2314 */ cpu->r[10] = cpu->r[16] + cpu->r[3]; /* 028A2318 */ _t503 = cpu->r[27] + cpu->r[30]; /* 028A2318 */ rbrew_write32(cpu->mem, _t503, cpu->r[10]); /* 028A231C */ _t504 = cpu->r[26] + cpu->r[17]; /* 028A231C */ cpu->r[12] = rbrew_read8(cpu->mem, _t504); /* 028A2320 */ cpu->r[12] = cpu->r[12] | cpu->r[25]; /* 028A2324 */ _t505 = cpu->r[26] + cpu->r[17]; /* 028A2324 */ rbrew_write8(cpu->mem, _t505, (uint8_t)cpu->r[12]); /* 028A2328 */ _t506 = cpu->r[22] + cpu->r[19]; /* 028A2328 */ cpu->r[12] = rbrew_read16(cpu->mem, _t506); L_028A232C: ; // 0x28a232c /* 028A232C */ cpu->r[11] = cpu->r[17]; /* 028A2330 */ cpu->r[17] = cpu->r[17] + 0x00000001u; /* 028A2334 */ cpu->r[17] = rbrew_rlwinm(cpu->r[17], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A2338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[12]); /* 028A233C */ _t507 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A233C */ _t508 = _t507 & 0x00000001u; /* 028A233C */ if (_t508) goto L_028A2340; else goto L_028A2040; L_028A2340: ; // 0x28a2340 /* 028A2340 */ _t509 = cpu->r[1] + 0x00000014u; /* 028A2340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t509); /* 028A2344 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 028A2344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A2348 */ cpu->r[19] = cpu->r[19] + 0x00000002u; /* 028A234C */ _t510 = cpu->r[1] + 0x00000014u; /* 028A234C */ rbrew_write32(cpu->mem, _t510, cpu->r[0]); /* 028A2350 */ _t511 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2350 */ _t512 = _t511 & 0x00000001u; /* 028A2350 */ if (_t512) goto L_028A2354; else goto L_028A2020; L_028A2354: ; // 0x28a2354 /* 028A2354 */ cpu->r[3] = cpu->r[31]; L_028A2358: ; // 0x28a2358 /* 028A2358 */ /* nop */ /* 028A235C */ _t513 = cpu->r[1] + 0x000000ACu; /* 028A235C */ cpu->r[0] = rbrew_read32(cpu->mem, _t513); /* 028A2360 */ cpu->lr = cpu->r[0]; /* 028A2364 */ cpu->r[1] = cpu->r[1] + 0x000000A8u; /* 028A2368 */ return; } // fn_028A236C @ 0x28a236c void Gambit_fn_028A236C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028A236C: ; // 0x28a236c /* 028A236C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 028A2370 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2370 */ _t1 = _t0 & 0x00000001u; /* 028A2370 */ if (_t1) goto L_028A237C; else goto L_028A2374; L_028A2374: ; // 0x28a2374 /* 028A2374 */ cpu->r[3] = 0x00000000u; /* 028A2378 */ return; L_028A237C: ; // 0x28a237c /* 028A237C */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A2380 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A2384 */ cpu->r[0] = cpu->r[4] + 0x0000003Fu; /* 028A2388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]); /* 028A238C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A2390 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2390 */ _t3 = _t2 & 0x00000001u; /* 028A2390 */ if (_t3) goto L_028A2394; else goto L_028A23B4; L_028A2394: ; // 0x28a2394 /* 028A2394 */ cpu->r[7] = cpu->r[3] - cpu->r[12]; /* 028A2398 */ cpu->r[3] = 0x00000000u; /* 028A239C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000010u); /* 028A23A0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A23A0 */ _t5 = _t4 & 0x00000001u; /* 028A23A0 */ _t6 = _t5 ^ 0x00000001u; /* 028A23A0 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A23A0 */ goto L_028A23A4; L_028A23A4: ; // 0x28a23a4 /* 028A23A4 */ cpu->r[9] = cpu->r[10] - cpu->r[4]; /* 028A23A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000010u); /* 028A23AC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A23AC */ _t8 = _t7 & 0x00000001u; /* 028A23AC */ _t9 = _t8 ^ 0x00000001u; /* 028A23AC */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A23AC */ goto L_028A23B0; L_028A23B0: ; // 0x28a23b0 /* 028A23B0 */ goto L_028A23DC; L_028A23B4: ; // 0x28a23b4 /* 028A23B4 */ cpu->r[11] = cpu->r[12] + 0x00000040u; /* 028A23B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 028A23BC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A23BC */ _t11 = _t10 & 0x00000001u; /* 028A23BC */ if (_t11) goto L_028A23C0; else goto L_028A23DC; L_028A23C0: ; // 0x28a23c0 /* 028A23C0 */ cpu->r[12] = cpu->r[3] - cpu->r[12]; /* 028A23C4 */ cpu->r[3] = 0x00000000u; /* 028A23C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u); /* 028A23CC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A23CC */ _t13 = _t12 & 0x00000001u; /* 028A23CC */ _t14 = _t13 ^ 0x00000001u; /* 028A23CC */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A23CC */ goto L_028A23D0; L_028A23D0: ; // 0x28a23d0 /* 028A23D0 */ cpu->r[0] = cpu->r[10] - cpu->r[4]; /* 028A23D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u); /* 028A23D8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A23D8 */ _t16 = _t15 & 0x00000001u; /* 028A23D8 */ _t17 = _t16 ^ 0x00000001u; /* 028A23D8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A23D8 */ goto L_028A23DC; L_028A23DC: ; // 0x28a23dc /* 028A23DC */ cpu->r[3] = 0x00000001u; /* 028A23E0 */ return; } // fn_028A23E4 @ 0x28a23e4 void Gambit_fn_028A23E4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577, _t578, _t579, _t580, _t581, _t582, _t583, _t584, _t585, _t586, _t587, _t588, _t589, _t590, _t591, _t592, _t593, _t594, _t595, _t596, _t597, _t598, _t599, _t600, _t601, _t602, _t603, _t604, _t605, _t606, _t607, _t608, _t609, _t610, _t611, _t612, _t613, _t614, _t615, _t616, _t617, _t618, _t619, _t620, _t621, _t622, _t623, _t624, _t625, _t626, _t627, _t628, _t629, _t630, _t631, _t632, _t633, _t634, _t635, _t636, _t637, _t638, _t639, _t640, _t641, _t642, _t643, _t644, _t645, _t646, _t647, _t648, _t649, _t650, _t651, _t652, _t653, _t654, _t655, _t656, _t657, _t658, _t659, _t660, _t661, _t662, _t663, _t664, _t665, _t666, _t667, _t668, _t669, _t670, _t671, _t672, _t673, _t674, _t675, _t676, _t677, _t678, _t679, _t680, _t681, _t682, _t683, _t684, _t685, _t686, _t687, _t688, _t689, _t690, _t691, _t692, _t693, _t694, _t695, _t696, _t697, _t698, _t699, _t700, _t701, _t702, _t703, _t704, _t705, _t706, _t707, _t708, _t709, _t710, _t711, _t712, _t713, _t714, _t715, _t716, _t717, _t718, _t719, _t720, _t721, _t722, _t723, _t724, _t725, _t726, _t727, _t728, _t729, _t730, _t731, _t732, _t733, _t734, _t735, _t736, _t737, _t738, _t739, _t740, _t741, _t742, _t743, _t744, _t745, _t746, _t747, _t748, _t749, _t750, _t751, _t752, _t753, _t754, _t755, _t756, _t757, _t758, _t759, _t760, _t761, _t762, _t763, _t764, _t765, _t766, _t767, _t768, _t769, _t770, _t771, _t772, _t773, _t774, _t775, _t776, _t777, _t778, _t779, _t780, _t781, _t782, _t783, _t784, _t785, _t786, _t787, _t788, _t789, _t790, _t791, _t792, _t793, _t794, _t795, _t796, _t797, _t798, _t799, _t800, _t801, _t802, _t803, _t804, _t805, _t806, _t807, _t808, _t809, _t810, _t811, _t812, _t813, _t814, _t815, _t816, _t817, _t818, _t819, _t820, _t821, _t822, _t823, _t824, _t825, _t826, _t827, _t828, _t829, _t830, _t831, _t832, _t833, _t834, _t835, _t836, _t837, _t838, _t839, _t840, _t841, _t842, _t843, _t844, _t845, _t846, _t847, _t848, _t849, _t850, _t851, _t852, _t853, _t854, _t855, _t856, _t857, _t858, _t859, _t860, _t861, _t862, _t863, _t864, _t865, _t866, _t867, _t868, _t869, _t870, _t871, _t872, _t873, _t874, _t875, _t876, _t877, _t878, _t879, _t880, _t881, _t882, _t883, _t884, _t885, _t886, _t887, _t888, _t889, _t890, _t891, _t892, _t893, _t894, _t895, _t896, _t897, _t898, _t899, _t900, _t901, _t902, _t903, _t904, _t905, _t906, _t907, _t908, _t909, _t910, _t911, _t912, _t913, _t914, _t915, _t916, _t917, _t918, _t919, _t920, _t921; L_028A23E4: ; // 0x28a23e4 /* 028A23E4 */ _t0 = cpu->r[1] + 0xFFFFFE18u; /* 028A23E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A23E4 */ cpu->r[1] = _t0; /* 028A23E8 */ /* nop */ /* 028A23EC */ cpu->r[0] = cpu->lr; /* 028A23F0 */ _t1 = cpu->r[1] + 0x000001ECu; /* 028A23F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A23F4 */ _t2 = cpu->r[3] + 0x00000024u; /* 028A23F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 028A23F8 */ _t3 = cpu->r[6] + 0x00000140u; /* 028A23F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 028A23FC */ _t4 = cpu->r[6] + 0x0000011Cu; /* 028A23FC */ cpu->r[17] = rbrew_read32(cpu->mem, _t4); /* 028A2400 */ _t5 = cpu->r[1] + 0x00000020u; /* 028A2400 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 028A2404 */ _t6 = cpu->r[6] + 0x00000012u; /* 028A2404 */ cpu->r[24] = rbrew_read16(cpu->mem, _t6); /* 028A2408 */ cpu->r[12] = 0x00000000u; /* 028A240C */ _t7 = cpu->r[6] + 0x00000114u; /* 028A240C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 028A2410 */ _t8 = cpu->r[3] + 0x00000000u; /* 028A2410 */ cpu->r[15] = rbrew_read32(cpu->mem, _t8); /* 028A2414 */ _t9 = cpu->r[6] + 0x00000118u; /* 028A2414 */ cpu->r[25] = rbrew_read32(cpu->mem, _t9); /* 028A2418 */ _t10 = cpu->r[1] + 0x00000034u; /* 028A2418 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 028A241C */ _t11 = cpu->r[15] + 0x00000028u; /* 028A241C */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11); /* 028A2420 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 028A2420 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 028A2424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A2428 */ cpu->r[14] = cpu->r[4] + 0x00000028u; /* 028A242C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A242C */ _t14 = _t13 & 0x00000001u; /* 028A242C */ if (_t14) goto L_028A51F4; else goto L_028A2430; L_028A2430: ; // 0x28a2430 /* 028A2430 */ _t15 = cpu->r[6] + 0x00000124u; /* 028A2430 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 028A2434 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000009u, 0x00000009u); /* 028A2434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A2438 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2438 */ _t17 = _t16 & 0x00000001u; /* 028A2438 */ if (_t17) goto L_028A51F4; else goto L_028A243C; L_028A243C: ; // 0x28a243c /* 028A243C */ _t18 = cpu->r[6] + 0x00000120u; /* 028A243C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028A2440 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028A2440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A2444 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2444 */ _t20 = _t19 & 0x00000001u; /* 028A2444 */ if (_t20) goto L_028A2448; else goto L_028A51F4; L_028A2448: ; // 0x28a2448 /* 028A2448 */ cpu->r[3] = cpu->r[1] + 0x00000188u; /* 028A244C */ cpu->r[4] = cpu->r[14]; /* 028A2450 */ cpu->r[5] = 0x00000018u; /* 028A2454 */ cpu->r[6] = 0x00000000u; /* 028A2458 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A245C */ _t21 = cpu->r[1] + 0x0000001Cu; /* 028A245C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 028A2460 */ _t22 = cpu->r[12] + 0x00000024u; /* 028A2460 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22); /* 028A2464 */ _t23 = cpu->r[1] + 0x00000020u; /* 028A2464 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 028A2468 */ _t24 = cpu->r[4] + 0x00000120u; /* 028A2468 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24); /* 028A246C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u); /* 028A2470 */ cpu->r[4] = 0x00000001u; /* 028A2474 */ cpu->r[18] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000016u, 0x00000016u); /* 028A2478 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2478 */ _t26 = _t25 & 0x00000001u; /* 028A2478 */ if (_t26) goto L_028A248C; else goto L_028A247C; L_028A247C: ; // 0x28a247c /* 028A247C */ _t27 = cpu->r[1] + 0x00000020u; /* 028A247C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 028A2480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000006u); /* 028A2484 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2484 */ _t29 = _t28 & 0x00000001u; /* 028A2484 */ if (_t29) goto L_028A248C; else goto L_028A2488; L_028A2488: ; // 0x28a2488 /* 028A2488 */ cpu->r[4] = 0x00000000u; L_028A248C: ; // 0x28a248c /* 028A248C */ _t30 = cpu->r[1] + 0x00000020u; /* 028A248C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 028A2490 */ cpu->r[7] = 0x00000001u; /* 028A2494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000005u); /* 028A2498 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 028A2498 */ rbrew_write32(cpu->mem, _t31, cpu->r[4]); /* 028A249C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A249C */ _t33 = _t32 & 0x00000001u; /* 028A249C */ if (_t33) goto L_028A24B0; else goto L_028A24A0; L_028A24A0: ; // 0x28a24a0 /* 028A24A0 */ _t34 = cpu->r[1] + 0x00000020u; /* 028A24A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 028A24A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000004u); /* 028A24A8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A24A8 */ _t36 = _t35 & 0x00000001u; /* 028A24A8 */ if (_t36) goto L_028A24B0; else goto L_028A24AC; L_028A24AC: ; // 0x28a24ac /* 028A24AC */ cpu->r[7] = 0x00000000u; L_028A24B0: ; // 0x28a24b0 /* 028A24B0 */ _t37 = cpu->r[1] + 0x00000020u; /* 028A24B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37); /* 028A24B4 */ cpu->r[6] = cpu->r[12] + 0xFFFFFFFFu; /* 028A24B8 */ _t38 = cpu->r[1] + 0x00000008u; /* 028A24B8 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]); /* 028A24BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u); /* 028A24C0 */ cpu->r[12] = 0x00000001u; /* 028A24C4 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A24C4 */ _t40 = _t39 & 0x00000001u; /* 028A24C4 */ if (_t40) goto L_028A24C8; else goto L_028A24CC; L_028A24C8: ; // 0x28a24c8 /* 028A24C8 */ cpu->r[12] = 0x00000000u; L_028A24CC: ; // 0x28a24cc /* 028A24CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A24D0 */ _t41 = cpu->r[1] + 0x00000010u; /* 028A24D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]); /* 028A24D4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A24D4 */ _t43 = _t42 & 0x00000001u; /* 028A24D4 */ if (_t43) goto L_028A2644; else goto L_028A24D8; L_028A24D8: ; // 0x28a24d8 /* 028A24D8 */ _t44 = cpu->r[14] + 0x00000000u; /* 028A24D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 028A24DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A24E0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A24E0 */ _t46 = _t45 & 0x00000001u; /* 028A24E0 */ if (_t46) goto L_028A24E4; else goto L_028A251C; L_028A24E4: ; // 0x28a24e4 /* 028A24E4 */ cpu->r[12] = 0x00000000u; /* 028A24E8 */ _t47 = cpu->r[1] + 0x00000010u; /* 028A24E8 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]); /* 028A24EC */ _t48 = cpu->r[15] + 0x00000028u; /* 028A24EC */ cpu->r[5] = rbrew_read16(cpu->mem, _t48); /* 028A24F0 */ _t49 = cpu->r[15] + 0x00000018u; /* 028A24F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49); /* 028A24F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A24F8 */ _t50 = cpu->r[15] + 0x0000001Cu; /* 028A24F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50); /* 028A24FC */ cpu->r[7] = cpu->r[5]; /* 028A2500 */ _t51 = cpu->r[15] + 0x00000004u; /* 028A2500 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51); /* 028A2504 */ _t52 = cpu->r[15] + 0x00000008u; /* 028A2504 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52); /* 028A2508 */ _t53 = cpu->r[15] + 0x0000000Cu; /* 028A2508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53); /* 028A250C */ _t54 = cpu->r[15] + 0x00000020u; /* 028A250C */ cpu->r[12] = rbrew_read32(cpu->mem, _t54); /* 028A2510 */ _t55 = cpu->r[15] + 0x00000000u; /* 028A2510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55); /* 028A2514 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2514 */ _t57 = _t56 & 0x00000001u; /* 028A2514 */ if (_t57) goto L_028A2518; else goto L_028A2670; L_028A2518: ; // 0x28a2518 /* 028A2518 */ goto L_028A2B80; L_028A251C: ; // 0x28a251c /* 028A251C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000013u); /* 028A2520 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2520 */ _t59 = _t58 & 0x00000001u; /* 028A2520 */ if (_t59) goto L_028A2524; else goto L_028A2644; L_028A2524: ; // 0x28a2524 /* 028A2524 */ _t60 = cpu->r[15] + 0x00000028u; /* 028A2524 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t60); /* 028A2528 */ _t61 = cpu->r[15] + 0x00000020u; /* 028A2528 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61); /* 028A252C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A2530 */ _t62 = cpu->r[14] + 0x0000000Cu; /* 028A2530 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62); /* 028A2534 */ cpu->r[8] = cpu->r[9] + cpu->r[7]; /* 028A2538 */ _t63 = cpu->r[8] + 0xFFFFFFFEu; /* 028A2538 */ cpu->r[10] = rbrew_read16(cpu->mem, _t63); /* 028A253C */ cpu->r[3] = cpu->r[4] + 0x00000008u; /* 028A2540 */ cpu->r[5] = 0x00000010u; /* 028A2544 */ cpu->r[26] = cpu->r[10] + 0x00000001u; /* 028A2548 */ Gambit_fn_0287B61C(cpu); /* 028A254C */ _t64 = cpu->r[15] + 0x00000004u; /* 028A254C */ cpu->r[28] = rbrew_read32(cpu->mem, _t64); /* 028A2550 */ _t65 = cpu->r[15] + 0x00000000u; /* 028A2550 */ cpu->r[29] = rbrew_read32(cpu->mem, _t65); /* 028A2554 */ cpu->r[23] = cpu->r[14] + 0xFFFFFFFCu; /* 028A2558 */ _t66 = cpu->r[15] + 0x00000008u; /* 028A2558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66); /* 028A255C */ cpu->r[27] = cpu->r[3]; /* 028A2560 */ _t67 = cpu->r[15] + 0x0000000Cu; /* 028A2560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t67); /* 028A2564 */ cpu->r[22] = 0x00000006u; L_028A2568: ; // 0x28a2568 /* 028A2568 */ _t68 = cpu->r[23] + 0x00000004u; /* 028A2568 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68); /* 028A2568 */ cpu->r[23] = _t68; /* 028A256C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A2570 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2570 */ _t70 = _t69 & 0x00000001u; /* 028A2570 */ if (_t70) goto L_028A2574; else goto L_028A2584; L_028A2574: ; // 0x28a2574 /* 028A2574 */ cpu->r[5] = 0x00000010u; /* 028A2578 */ cpu->r[3] = cpu->r[27]; /* 028A257C */ Gambit_fn_0287B904(cpu); /* 028A2580 */ _t71 = cpu->r[23] + 0x00000000u; /* 028A2580 */ rbrew_write32(cpu->mem, _t71, cpu->r[3]); L_028A2584: ; // 0x28a2584 /* 028A2584 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu; /* 028A2584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A2588 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2588 */ _t73 = _t72 & 0x00000001u; /* 028A2588 */ if (_t73) goto L_028A258C; else goto L_028A2568; L_028A258C: ; // 0x28a258c /* 028A258C */ _t74 = cpu->r[14] + 0x0000000Cu; /* 028A258C */ cpu->r[5] = rbrew_read32(cpu->mem, _t74); /* 028A2590 */ _t75 = cpu->r[14] + 0x00000008u; /* 028A2590 */ cpu->r[22] = rbrew_read32(cpu->mem, _t75); /* 028A2594 */ cpu->r[6] = cpu->r[5] + 0x00000020u; /* 028A2598 */ cpu->r[7] = cpu->r[22] + 0x00000020u; /* 028A259C */ cpu->r[8] = cpu->r[6] ^ cpu->r[7]; /* 028A25A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A25A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A25A4 */ _t76 = cpu->r[14] + 0x00000000u; /* 028A25A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76); /* 028A25A8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A25A8 */ _t78 = _t77 & 0x00000001u; /* 028A25A8 */ if (_t78) goto L_028A25B4; else goto L_028A25AC; L_028A25AC: ; // 0x28a25ac /* 028A25AC */ cpu->r[22] = cpu->r[5]; /* 028A25B0 */ _t79 = cpu->r[14] + 0x00000008u; /* 028A25B0 */ rbrew_write32(cpu->mem, _t79, cpu->r[22]); L_028A25B4: ; // 0x28a25b4 /* 028A25B4 */ cpu->r[10] = cpu->r[4] - cpu->r[22]; /* 028A25B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000080u); /* 028A25BC */ _t80 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A25BC */ _t81 = _t80 & 0x00000001u; /* 028A25BC */ if (_t81) goto L_028A25C0; else goto L_028A25C8; L_028A25C0: ; // 0x28a25c0 /* 028A25C0 */ cpu->r[5] = cpu->r[22] + 0x00000080u; /* 028A25C4 */ _t82 = cpu->r[14] + 0x00000000u; /* 028A25C4 */ rbrew_write32(cpu->mem, _t82, cpu->r[5]); L_028A25C8: ; // 0x28a25c8 /* 028A25C8 */ cpu->r[22] = cpu->r[26]; /* 028A25C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A25CC */ _t83 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A25CC */ _t84 = _t83 & 0x00000001u; /* 028A25CC */ if (_t84) goto L_028A25D0; else goto L_028A2618; L_028A25D0: ; // 0x28a25d0 /* 028A25D0 */ cpu->r[23] = 0x00000000u; L_028A25D4: ; // 0x28a25d4 /* 028A25D4 */ _t85 = cpu->r[31] + cpu->r[23]; /* 028A25D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t85); /* 028A25D8 */ cpu->r[5] = 0x00000010u; /* 028A25DC */ cpu->r[3] = cpu->r[27]; /* 028A25E0 */ Gambit_fn_0287B904(cpu); /* 028A25E4 */ _t86 = cpu->r[31] + cpu->r[23]; /* 028A25E4 */ rbrew_write32(cpu->mem, _t86, cpu->r[3]); /* 028A25E8 */ _t87 = cpu->r[29] + cpu->r[23]; /* 028A25E8 */ rbrew_write32(cpu->mem, _t87, cpu->r[3]); /* 028A25EC */ _t88 = cpu->r[30] + cpu->r[23]; /* 028A25EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t88); /* 028A25F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A25F4 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A25F4 */ _t90 = _t89 & 0x00000001u; /* 028A25F4 */ if (_t90) goto L_028A25F8; else goto L_028A260C; L_028A25F8: ; // 0x28a25f8 /* 028A25F8 */ cpu->r[5] = 0x00000010u; /* 028A25FC */ cpu->r[3] = cpu->r[27]; /* 028A2600 */ Gambit_fn_0287B904(cpu); /* 028A2604 */ _t91 = cpu->r[30] + cpu->r[23]; /* 028A2604 */ rbrew_write32(cpu->mem, _t91, cpu->r[3]); /* 028A2608 */ _t92 = cpu->r[28] + cpu->r[23]; /* 028A2608 */ rbrew_write32(cpu->mem, _t92, cpu->r[3]); L_028A260C: ; // 0x28a260c /* 028A260C */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu; /* 028A260C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A2610 */ cpu->r[23] = cpu->r[23] + 0x00000004u; /* 028A2614 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2614 */ _t94 = _t93 & 0x00000001u; /* 028A2614 */ if (_t94) goto L_028A2618; else goto L_028A25D4; L_028A2618: ; // 0x28a2618 /* 028A2618 */ cpu->r[30] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A261C */ cpu->r[31] = cpu->r[31] + cpu->r[30]; /* 028A2620 */ cpu->r[3] = cpu->r[27]; /* 028A2624 */ _t95 = cpu->r[31] + 0x00000004u; /* 028A2624 */ cpu->r[4] = rbrew_read32(cpu->mem, _t95); /* 028A2628 */ cpu->r[5] = 0x00000010u; /* 028A262C */ Gambit_fn_0287B904(cpu); /* 028A2630 */ cpu->r[0] = cpu->r[3] + 0x00000020u; /* 028A2634 */ cpu->r[7] = cpu->r[29] + cpu->r[30]; /* 028A2638 */ _t96 = cpu->r[31] + 0x00000004u; /* 028A2638 */ rbrew_write32(cpu->mem, _t96, cpu->r[3]); /* 028A263C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A2640 */ _t97 = cpu->r[7] + 0x00000004u; /* 028A2640 */ rbrew_write32(cpu->mem, _t97, cpu->r[8]); L_028A2644: ; // 0x28a2644 /* 028A2644 */ _t98 = cpu->r[15] + 0x00000028u; /* 028A2644 */ cpu->r[5] = rbrew_read16(cpu->mem, _t98); /* 028A2648 */ _t99 = cpu->r[15] + 0x00000008u; /* 028A2648 */ cpu->r[4] = rbrew_read32(cpu->mem, _t99); /* 028A264C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A2650 */ _t100 = cpu->r[15] + 0x0000001Cu; /* 028A2650 */ cpu->r[11] = rbrew_read32(cpu->mem, _t100); /* 028A2654 */ cpu->r[7] = cpu->r[5]; /* 028A2658 */ _t101 = cpu->r[15] + 0x00000020u; /* 028A2658 */ cpu->r[12] = rbrew_read32(cpu->mem, _t101); /* 028A265C */ _t102 = cpu->r[15] + 0x0000000Cu; /* 028A265C */ cpu->r[31] = rbrew_read32(cpu->mem, _t102); /* 028A2660 */ _t103 = cpu->r[15] + 0x00000018u; /* 028A2660 */ cpu->r[6] = rbrew_read32(cpu->mem, _t103); /* 028A2664 */ _t104 = cpu->r[15] + 0x00000004u; /* 028A2664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104); /* 028A2668 */ _t105 = cpu->r[15] + 0x00000000u; /* 028A2668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t105); /* 028A266C */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A266C */ _t107 = _t106 & 0x00000001u; /* 028A266C */ if (_t107) goto L_028A2B80; else goto L_028A2670; L_028A2670: ; // 0x28a2670 /* 028A2670 */ cpu->r[8] = 0x00000000u; L_028A2674: ; // 0x28a2674 /* 028A2674 */ _t108 = cpu->r[11] + cpu->r[8]; /* 028A2674 */ cpu->r[0] = rbrew_read16(cpu->mem, _t108); /* 028A2678 */ _t109 = cpu->r[12] + cpu->r[8]; /* 028A2678 */ cpu->r[22] = rbrew_read16(cpu->mem, _t109); /* 028A267C */ cpu->r[10] = cpu->r[0]; /* 028A2680 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]); /* 028A2684 */ cpu->r[26] = cpu->r[22]; /* 028A2688 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2688 */ _t111 = _t110 & 0x00000001u; /* 028A2688 */ if (_t111) goto L_028A2B74; else goto L_028A268C; L_028A268C: ; // 0x28a268c /* 028A268C */ cpu->r[20] = cpu->r[10] + 0x00000001u; /* 028A2690 */ cpu->r[23] = cpu->r[10]; /* 028A2694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[26]); /* 028A2698 */ cpu->r[28] = cpu->r[10]; /* 028A269C */ cpu->r[21] = cpu->r[10]; /* 028A26A0 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A26A0 */ _t113 = _t112 & 0x00000001u; /* 028A26A0 */ if (_t113) goto L_028A273C; else goto L_028A26A4; L_028A26A4: ; // 0x28a26a4 /* 028A26A4 */ cpu->r[27] = rbrew_rlwinm(cpu->r[20], 0x00000002u, 0x00000000u, 0x0000001Du); L_028A26A8: ; // 0x28a26a8 /* 028A26A8 */ _t114 = cpu->r[3] + cpu->r[27]; /* 028A26A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t114); /* 028A26AC */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A26B0 */ _t115 = cpu->r[9] + cpu->r[3]; /* 028A26B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t115); /* 028A26B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]); /* 028A26B8 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A26B8 */ _t117 = _t116 & 0x00000001u; /* 028A26B8 */ if (_t117) goto L_028A26BC; else goto L_028A26D8; L_028A26BC: ; // 0x28a26bc /* 028A26BC */ _t118 = cpu->r[30] + cpu->r[27]; /* 028A26BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t118); /* 028A26C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A26C4 */ _t119 = cpu->r[9] + cpu->r[30]; /* 028A26C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t119); /* 028A26C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]); /* 028A26CC */ cpu->r[10] = cpu->r[20]; /* 028A26D0 */ _t120 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A26D0 */ _t121 = _t120 & 0x00000001u; /* 028A26D0 */ if (_t121) goto L_028A2700; else goto L_028A26D4; L_028A26D4: ; // 0x28a26d4 /* 028A26D4 */ goto L_028A2718; L_028A26D8: ; // 0x28a26d8 /* 028A26D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A26DC */ _t122 = cpu->r[9] + cpu->r[3]; /* 028A26DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t122); /* 028A26E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]); /* 028A26E4 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A26E4 */ _t124 = _t123 & 0x00000001u; /* 028A26E4 */ if (_t124) goto L_028A26E8; else goto L_028A26EC; L_028A26E8: ; // 0x28a26e8 /* 028A26E8 */ cpu->r[21] = cpu->r[20]; L_028A26EC: ; // 0x28a26ec /* 028A26EC */ _t125 = cpu->r[30] + cpu->r[27]; /* 028A26EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t125); /* 028A26F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A26F4 */ _t126 = cpu->r[9] + cpu->r[30]; /* 028A26F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t126); /* 028A26F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]); /* 028A26FC */ _t127 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A26FC */ _t128 = _t127 & 0x00000001u; /* 028A26FC */ if (_t128) goto L_028A2700; else goto L_028A2718; L_028A2700: ; // 0x28a2700 /* 028A2700 */ cpu->r[23] = cpu->r[20]; /* 028A2704 */ cpu->r[20] = cpu->r[20] + 0x00000001u; /* 028A2708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[26]); /* 028A270C */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028A2710 */ _t129 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2710 */ _t130 = _t129 & 0x00000001u; /* 028A2710 */ if (_t130) goto L_028A2714; else goto L_028A26A8; L_028A2714: ; // 0x28a2714 /* 028A2714 */ goto L_028A273C; L_028A2718: ; // 0x28a2718 /* 028A2718 */ cpu->r[9] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A271C */ _t131 = cpu->r[9] + cpu->r[30]; /* 028A271C */ cpu->r[9] = rbrew_read32(cpu->mem, _t131); /* 028A2720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]); /* 028A2724 */ _t132 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2724 */ _t133 = _t132 & 0x00000001u; /* 028A2724 */ if (_t133) goto L_028A2728; else goto L_028A272C; L_028A2728: ; // 0x28a2728 /* 028A2728 */ cpu->r[28] = cpu->r[20]; L_028A272C: ; // 0x28a272c /* 028A272C */ cpu->r[20] = cpu->r[20] + 0x00000001u; /* 028A2730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[26]); /* 028A2734 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028A2738 */ _t134 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2738 */ _t135 = _t134 & 0x00000001u; /* 028A2738 */ if (_t135) goto L_028A273C; else goto L_028A26A8; L_028A273C: ; // 0x28a273c /* 028A273C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]); /* 028A2740 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2740 */ _t137 = _t136 & 0x00000001u; /* 028A2740 */ if (_t137) goto L_028A2744; else goto L_028A2758; L_028A2744: ; // 0x28a2744 /* 028A2744 */ cpu->r[29] = cpu->r[22]; /* 028A2748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[22]); /* 028A274C */ _t138 = cpu->r[6] + cpu->r[10]; /* 028A274C */ cpu->r[27] = rbrew_read8(cpu->mem, _t138); /* 028A2750 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2750 */ _t140 = _t139 & 0x00000001u; /* 028A2750 */ if (_t140) goto L_028A2768; else goto L_028A2754; L_028A2754: ; // 0x28a2754 /* 028A2754 */ goto L_028A2778; L_028A2758: ; // 0x28a2758 /* 028A2758 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu; /* 028A275C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[22]); /* 028A2760 */ _t141 = cpu->r[6] + cpu->r[10]; /* 028A2760 */ cpu->r[27] = rbrew_read8(cpu->mem, _t141); /* 028A2764 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2764 */ _t143 = _t142 & 0x00000001u; /* 028A2764 */ if (_t143) goto L_028A2768; else goto L_028A2778; L_028A2768: ; // 0x28a2768 /* 028A2768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A276C */ cpu->r[9] = cpu->r[0]; /* 028A2770 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2770 */ _t145 = _t144 & 0x00000001u; /* 028A2770 */ if (_t145) goto L_028A279C; else goto L_028A2774; L_028A2774: ; // 0x28a2774 /* 028A2774 */ goto L_028A2784; L_028A2778: ; // 0x28a2778 /* 028A2778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A277C */ cpu->r[9] = cpu->r[10] + 0x00000001u; /* 028A2780 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2780 */ _t147 = _t146 & 0x00000001u; /* 028A2780 */ if (_t147) goto L_028A279C; else goto L_028A2784; L_028A2784: ; // 0x28a2784 /* 028A2784 */ _t148 = cpu->r[6] + cpu->r[29]; /* 028A2784 */ cpu->r[27] = rbrew_read8(cpu->mem, _t148); /* 028A2788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A278C */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A278C */ _t150 = _t149 & 0x00000001u; /* 028A278C */ if (_t150) goto L_028A2790; else goto L_028A284C; L_028A2790: ; // 0x28a2790 /* 028A2790 */ _t151 = cpu->r[6] + cpu->r[9]; /* 028A2790 */ cpu->r[27] = rbrew_read8(cpu->mem, _t151); /* 028A2794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A2798 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2798 */ _t153 = _t152 & 0x00000001u; /* 028A2798 */ if (_t153) goto L_028A279C; else goto L_028A284C; L_028A279C: ; // 0x28a279c /* 028A279C */ cpu->r[26] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A27A0 */ cpu->r[20] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A27A4 */ _t154 = cpu->r[3] + cpu->r[26]; /* 028A27A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t154); /* 028A27A8 */ _t155 = cpu->r[3] + cpu->r[20]; /* 028A27A8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t155); /* 028A27AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[27]); /* 028A27B0 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A27B0 */ _t157 = _t156 & 0x00000001u; /* 028A27B0 */ if (_t157) goto L_028A284C; else goto L_028A27B4; L_028A27B4: ; // 0x28a27b4 /* 028A27B4 */ cpu->r[29] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A27B8 */ _t158 = cpu->r[3] + cpu->r[29]; /* 028A27B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t158); /* 028A27BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[9]); /* 028A27C0 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A27C0 */ _t160 = _t159 & 0x00000001u; /* 028A27C0 */ if (_t160) goto L_028A284C; else goto L_028A27C4; L_028A27C4: ; // 0x28a27c4 /* 028A27C4 */ cpu->r[0] = cpu->r[27] - cpu->r[10]; /* 028A27C8 */ _t161 = cpu->r[30] + cpu->r[20]; /* 028A27C8 */ cpu->r[19] = rbrew_read32(cpu->mem, _t161); /* 028A27CC */ /* nop */ /* 028A27D0 */ _t162 = cpu->r[30] + cpu->r[26]; /* 028A27D0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t162); /* 028A27D4 */ cpu->r[0] = cpu->r[0] ^ cpu->r[10]; /* 028A27D8 */ cpu->r[22] = cpu->r[19] - cpu->r[22]; /* 028A27DC */ cpu->r[0] = cpu->r[0] - cpu->r[10]; /* 028A27E0 */ /* nop */ /* 028A27E4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000016u); /* 028A27E8 */ cpu->r[22] = cpu->r[22] ^ cpu->r[10]; /* 028A27EC */ cpu->r[22] = cpu->r[22] - cpu->r[10]; /* 028A27F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[22]); /* 028A27F4 */ _t163 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A27F4 */ _t164 = _t163 & 0x00000001u; /* 028A27F4 */ if (_t164) goto L_028A27F8; else goto L_028A280C; L_028A27F8: ; // 0x28a27f8 /* 028A27F8 */ _t165 = cpu->r[3] + cpu->r[26]; /* 028A27F8 */ rbrew_write32(cpu->mem, _t165, cpu->r[27]); /* 028A27FC */ _t166 = cpu->r[4] + cpu->r[26]; /* 028A27FC */ rbrew_write32(cpu->mem, _t166, cpu->r[27]); /* 028A2800 */ _t167 = cpu->r[3] + cpu->r[29]; /* 028A2800 */ cpu->r[9] = rbrew_read32(cpu->mem, _t167); /* 028A2804 */ _t168 = cpu->r[30] + cpu->r[20]; /* 028A2804 */ cpu->r[19] = rbrew_read32(cpu->mem, _t168); /* 028A2808 */ _t169 = cpu->r[3] + cpu->r[20]; /* 028A2808 */ cpu->r[27] = rbrew_read32(cpu->mem, _t169); L_028A280C: ; // 0x28a280c /* 028A280C */ cpu->r[0] = cpu->r[27] - cpu->r[9]; /* 028A2810 */ _t170 = cpu->r[30] + cpu->r[29]; /* 028A2810 */ cpu->r[9] = rbrew_read32(cpu->mem, _t170); /* 028A2814 */ /* nop */ /* 028A2818 */ cpu->r[0] = cpu->r[0] ^ cpu->r[10]; /* 028A281C */ cpu->r[22] = cpu->r[19] - cpu->r[9]; /* 028A2820 */ cpu->r[0] = cpu->r[0] - cpu->r[10]; /* 028A2824 */ /* nop */ /* 028A2828 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000016u); /* 028A282C */ cpu->r[22] = cpu->r[22] ^ cpu->r[10]; /* 028A2830 */ cpu->r[22] = cpu->r[22] - cpu->r[10]; /* 028A2834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[22]); /* 028A2838 */ _t171 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2838 */ _t172 = _t171 & 0x00000001u; /* 028A2838 */ if (_t172) goto L_028A283C; else goto L_028A2844; L_028A283C: ; // 0x28a283c /* 028A283C */ _t173 = cpu->r[3] + cpu->r[29]; /* 028A283C */ rbrew_write32(cpu->mem, _t173, cpu->r[27]); /* 028A2840 */ _t174 = cpu->r[4] + cpu->r[29]; /* 028A2840 */ rbrew_write32(cpu->mem, _t174, cpu->r[27]); L_028A2844: ; // 0x28a2844 /* 028A2844 */ _t175 = cpu->r[12] + cpu->r[8]; /* 028A2844 */ cpu->r[22] = rbrew_read16(cpu->mem, _t175); /* 028A2848 */ _t176 = cpu->r[11] + cpu->r[8]; /* 028A2848 */ cpu->r[0] = rbrew_read16(cpu->mem, _t176); L_028A284C: ; // 0x28a284c /* 028A284C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[0]); /* 028A2850 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2850 */ _t178 = _t177 & 0x00000001u; /* 028A2850 */ if (_t178) goto L_028A2854; else goto L_028A2868; L_028A2854: ; // 0x28a2854 /* 028A2854 */ cpu->r[29] = cpu->r[22]; /* 028A2858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[22]); /* 028A285C */ _t179 = cpu->r[6] + cpu->r[21]; /* 028A285C */ cpu->r[10] = rbrew_read8(cpu->mem, _t179); /* 028A2860 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2860 */ _t181 = _t180 & 0x00000001u; /* 028A2860 */ if (_t181) goto L_028A2878; else goto L_028A2864; L_028A2864: ; // 0x28a2864 /* 028A2864 */ goto L_028A2888; L_028A2868: ; // 0x28a2868 /* 028A2868 */ cpu->r[29] = cpu->r[21] + 0xFFFFFFFFu; /* 028A286C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[22]); /* 028A2870 */ _t182 = cpu->r[6] + cpu->r[21]; /* 028A2870 */ cpu->r[10] = rbrew_read8(cpu->mem, _t182); /* 028A2874 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2874 */ _t184 = _t183 & 0x00000001u; /* 028A2874 */ if (_t184) goto L_028A2878; else goto L_028A2888; L_028A2878: ; // 0x28a2878 /* 028A2878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A287C */ cpu->r[9] = cpu->r[0]; /* 028A2880 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2880 */ _t186 = _t185 & 0x00000001u; /* 028A2880 */ if (_t186) goto L_028A28AC; else goto L_028A2884; L_028A2884: ; // 0x28a2884 /* 028A2884 */ goto L_028A2894; L_028A2888: ; // 0x28a2888 /* 028A2888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A288C */ cpu->r[9] = cpu->r[21] + 0x00000001u; /* 028A2890 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2890 */ _t188 = _t187 & 0x00000001u; /* 028A2890 */ if (_t188) goto L_028A28AC; else goto L_028A2894; L_028A2894: ; // 0x28a2894 /* 028A2894 */ _t189 = cpu->r[6] + cpu->r[29]; /* 028A2894 */ cpu->r[10] = rbrew_read8(cpu->mem, _t189); /* 028A2898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A289C */ _t190 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A289C */ _t191 = _t190 & 0x00000001u; /* 028A289C */ if (_t191) goto L_028A28A0; else goto L_028A295C; L_028A28A0: ; // 0x28a28a0 /* 028A28A0 */ _t192 = cpu->r[6] + cpu->r[9]; /* 028A28A0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t192); /* 028A28A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A28A8 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A28A8 */ _t194 = _t193 & 0x00000001u; /* 028A28A8 */ if (_t194) goto L_028A28AC; else goto L_028A295C; L_028A28AC: ; // 0x28a28ac /* 028A28AC */ cpu->r[26] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A28B0 */ cpu->r[21] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A28B4 */ _t195 = cpu->r[3] + cpu->r[26]; /* 028A28B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t195); /* 028A28B8 */ _t196 = cpu->r[3] + cpu->r[21]; /* 028A28B8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t196); /* 028A28BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[27]); /* 028A28C0 */ _t197 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A28C0 */ _t198 = _t197 & 0x00000001u; /* 028A28C0 */ if (_t198) goto L_028A295C; else goto L_028A28C4; L_028A28C4: ; // 0x28a28c4 /* 028A28C4 */ cpu->r[29] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A28C8 */ _t199 = cpu->r[3] + cpu->r[29]; /* 028A28C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t199); /* 028A28CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[9]); /* 028A28D0 */ _t200 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A28D0 */ _t201 = _t200 & 0x00000001u; /* 028A28D0 */ if (_t201) goto L_028A295C; else goto L_028A28D4; L_028A28D4: ; // 0x28a28d4 /* 028A28D4 */ cpu->r[0] = cpu->r[27] - cpu->r[10]; /* 028A28D8 */ _t202 = cpu->r[30] + cpu->r[21]; /* 028A28D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t202); /* 028A28DC */ /* nop */ /* 028A28E0 */ _t203 = cpu->r[30] + cpu->r[26]; /* 028A28E0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t203); /* 028A28E4 */ cpu->r[0] = cpu->r[0] ^ cpu->r[20]; /* 028A28E8 */ cpu->r[22] = cpu->r[10] - cpu->r[22]; /* 028A28EC */ cpu->r[0] = cpu->r[0] - cpu->r[20]; /* 028A28F0 */ /* nop */ /* 028A28F4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000016u); /* 028A28F8 */ cpu->r[22] = cpu->r[22] ^ cpu->r[20]; /* 028A28FC */ cpu->r[22] = cpu->r[22] - cpu->r[20]; /* 028A2900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[22]); /* 028A2904 */ _t204 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2904 */ _t205 = _t204 & 0x00000001u; /* 028A2904 */ if (_t205) goto L_028A2908; else goto L_028A291C; L_028A2908: ; // 0x28a2908 /* 028A2908 */ _t206 = cpu->r[3] + cpu->r[26]; /* 028A2908 */ rbrew_write32(cpu->mem, _t206, cpu->r[27]); /* 028A290C */ _t207 = cpu->r[4] + cpu->r[26]; /* 028A290C */ rbrew_write32(cpu->mem, _t207, cpu->r[27]); /* 028A2910 */ _t208 = cpu->r[3] + cpu->r[29]; /* 028A2910 */ cpu->r[9] = rbrew_read32(cpu->mem, _t208); /* 028A2914 */ _t209 = cpu->r[30] + cpu->r[21]; /* 028A2914 */ cpu->r[10] = rbrew_read32(cpu->mem, _t209); /* 028A2918 */ _t210 = cpu->r[3] + cpu->r[21]; /* 028A2918 */ cpu->r[27] = rbrew_read32(cpu->mem, _t210); L_028A291C: ; // 0x28a291c /* 028A291C */ cpu->r[0] = cpu->r[27] - cpu->r[9]; /* 028A2920 */ _t211 = cpu->r[30] + cpu->r[29]; /* 028A2920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t211); /* 028A2924 */ /* nop */ /* 028A2928 */ cpu->r[0] = cpu->r[0] ^ cpu->r[26]; /* 028A292C */ cpu->r[22] = cpu->r[10] - cpu->r[9]; /* 028A2930 */ cpu->r[0] = cpu->r[0] - cpu->r[26]; /* 028A2934 */ /* nop */ /* 028A2938 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000016u); /* 028A293C */ cpu->r[22] = cpu->r[22] ^ cpu->r[10]; /* 028A2940 */ cpu->r[22] = cpu->r[22] - cpu->r[10]; /* 028A2944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[22]); /* 028A2948 */ _t212 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2948 */ _t213 = _t212 & 0x00000001u; /* 028A2948 */ if (_t213) goto L_028A294C; else goto L_028A2954; L_028A294C: ; // 0x28a294c /* 028A294C */ _t214 = cpu->r[3] + cpu->r[29]; /* 028A294C */ rbrew_write32(cpu->mem, _t214, cpu->r[27]); /* 028A2950 */ _t215 = cpu->r[4] + cpu->r[29]; /* 028A2950 */ rbrew_write32(cpu->mem, _t215, cpu->r[27]); L_028A2954: ; // 0x28a2954 /* 028A2954 */ _t216 = cpu->r[12] + cpu->r[8]; /* 028A2954 */ cpu->r[22] = rbrew_read16(cpu->mem, _t216); /* 028A2958 */ _t217 = cpu->r[11] + cpu->r[8]; /* 028A2958 */ cpu->r[0] = rbrew_read16(cpu->mem, _t217); L_028A295C: ; // 0x28a295c /* 028A295C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]); /* 028A2960 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2960 */ _t219 = _t218 & 0x00000001u; /* 028A2960 */ if (_t219) goto L_028A2964; else goto L_028A2978; L_028A2964: ; // 0x28a2964 /* 028A2964 */ cpu->r[29] = cpu->r[22]; /* 028A2968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[22]); /* 028A296C */ _t220 = cpu->r[6] + cpu->r[23]; /* 028A296C */ cpu->r[10] = rbrew_read8(cpu->mem, _t220); /* 028A2970 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2970 */ _t222 = _t221 & 0x00000001u; /* 028A2970 */ if (_t222) goto L_028A2988; else goto L_028A2974; L_028A2974: ; // 0x28a2974 /* 028A2974 */ goto L_028A2998; L_028A2978: ; // 0x28a2978 /* 028A2978 */ cpu->r[29] = cpu->r[23] + 0xFFFFFFFFu; /* 028A297C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[22]); /* 028A2980 */ _t223 = cpu->r[6] + cpu->r[23]; /* 028A2980 */ cpu->r[10] = rbrew_read8(cpu->mem, _t223); /* 028A2984 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2984 */ _t225 = _t224 & 0x00000001u; /* 028A2984 */ if (_t225) goto L_028A2988; else goto L_028A2998; L_028A2988: ; // 0x28a2988 /* 028A2988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A298C */ cpu->r[9] = cpu->r[0]; /* 028A2990 */ _t226 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2990 */ _t227 = _t226 & 0x00000001u; /* 028A2990 */ if (_t227) goto L_028A29BC; else goto L_028A2994; L_028A2994: ; // 0x28a2994 /* 028A2994 */ goto L_028A29A4; L_028A2998: ; // 0x28a2998 /* 028A2998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A299C */ cpu->r[9] = cpu->r[23] + 0x00000001u; /* 028A29A0 */ _t228 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A29A0 */ _t229 = _t228 & 0x00000001u; /* 028A29A0 */ if (_t229) goto L_028A29BC; else goto L_028A29A4; L_028A29A4: ; // 0x28a29a4 /* 028A29A4 */ _t230 = cpu->r[6] + cpu->r[29]; /* 028A29A4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t230); /* 028A29A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A29AC */ _t231 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A29AC */ _t232 = _t231 & 0x00000001u; /* 028A29AC */ if (_t232) goto L_028A29B0; else goto L_028A2A6C; L_028A29B0: ; // 0x28a29b0 /* 028A29B0 */ _t233 = cpu->r[6] + cpu->r[9]; /* 028A29B0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t233); /* 028A29B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A29B8 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A29B8 */ _t235 = _t234 & 0x00000001u; /* 028A29B8 */ if (_t235) goto L_028A29BC; else goto L_028A2A6C; L_028A29BC: ; // 0x28a29bc /* 028A29BC */ cpu->r[26] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A29C0 */ cpu->r[21] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A29C4 */ _t236 = cpu->r[30] + cpu->r[26]; /* 028A29C4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t236); /* 028A29C8 */ _t237 = cpu->r[30] + cpu->r[21]; /* 028A29C8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t237); /* 028A29CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[23]); /* 028A29D0 */ _t238 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A29D0 */ _t239 = _t238 & 0x00000001u; /* 028A29D0 */ if (_t239) goto L_028A2A6C; else goto L_028A29D4; L_028A29D4: ; // 0x28a29d4 /* 028A29D4 */ cpu->r[29] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A29D8 */ _t240 = cpu->r[30] + cpu->r[29]; /* 028A29D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t240); /* 028A29DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[10]); /* 028A29E0 */ _t241 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A29E0 */ _t242 = _t241 & 0x00000001u; /* 028A29E0 */ if (_t242) goto L_028A2A6C; else goto L_028A29E4; L_028A29E4: ; // 0x28a29e4 /* 028A29E4 */ _t243 = cpu->r[3] + cpu->r[21]; /* 028A29E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t243); /* 028A29E8 */ _t244 = cpu->r[3] + cpu->r[26]; /* 028A29E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t244); /* 028A29EC */ cpu->r[0] = cpu->r[9] - cpu->r[0]; /* 028A29F0 */ cpu->r[22] = cpu->r[23] - cpu->r[27]; /* 028A29F4 */ /* nop */ /* 028A29F8 */ /* nop */ /* 028A29FC */ cpu->r[22] = cpu->r[22] ^ cpu->r[27]; /* 028A2A00 */ cpu->r[22] = cpu->r[22] - cpu->r[27]; /* 028A2A04 */ cpu->r[0] = cpu->r[0] ^ cpu->r[20]; /* 028A2A08 */ cpu->r[27] = (uint32_t)((int32_t)cpu->r[22] * (int32_t)0x00000016u); /* 028A2A0C */ cpu->r[0] = cpu->r[0] - cpu->r[20]; /* 028A2A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]); /* 028A2A14 */ _t245 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2A14 */ _t246 = _t245 & 0x00000001u; /* 028A2A14 */ if (_t246) goto L_028A2A18; else goto L_028A2A2C; L_028A2A18: ; // 0x28a2a18 /* 028A2A18 */ _t247 = cpu->r[30] + cpu->r[26]; /* 028A2A18 */ rbrew_write32(cpu->mem, _t247, cpu->r[23]); /* 028A2A1C */ _t248 = cpu->r[31] + cpu->r[26]; /* 028A2A1C */ rbrew_write32(cpu->mem, _t248, cpu->r[23]); /* 028A2A20 */ _t249 = cpu->r[30] + cpu->r[29]; /* 028A2A20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t249); /* 028A2A24 */ _t250 = cpu->r[3] + cpu->r[21]; /* 028A2A24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t250); /* 028A2A28 */ _t251 = cpu->r[30] + cpu->r[21]; /* 028A2A28 */ cpu->r[23] = rbrew_read32(cpu->mem, _t251); L_028A2A2C: ; // 0x28a2a2c /* 028A2A2C */ _t252 = cpu->r[3] + cpu->r[29]; /* 028A2A2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t252); /* 028A2A30 */ cpu->r[0] = cpu->r[9] - cpu->r[0]; /* 028A2A34 */ cpu->r[22] = cpu->r[23] - cpu->r[10]; /* 028A2A38 */ /* nop */ /* 028A2A3C */ /* nop */ /* 028A2A40 */ cpu->r[22] = cpu->r[22] ^ cpu->r[9]; /* 028A2A44 */ cpu->r[22] = cpu->r[22] - cpu->r[9]; /* 028A2A48 */ cpu->r[0] = cpu->r[0] ^ cpu->r[27]; /* 028A2A4C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[22] * (int32_t)0x00000016u); /* 028A2A50 */ cpu->r[0] = cpu->r[0] - cpu->r[27]; /* 028A2A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 028A2A58 */ _t253 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2A58 */ _t254 = _t253 & 0x00000001u; /* 028A2A58 */ if (_t254) goto L_028A2A5C; else goto L_028A2A64; L_028A2A5C: ; // 0x28a2a5c /* 028A2A5C */ _t255 = cpu->r[30] + cpu->r[29]; /* 028A2A5C */ rbrew_write32(cpu->mem, _t255, cpu->r[23]); /* 028A2A60 */ _t256 = cpu->r[31] + cpu->r[29]; /* 028A2A60 */ rbrew_write32(cpu->mem, _t256, cpu->r[23]); L_028A2A64: ; // 0x28a2a64 /* 028A2A64 */ _t257 = cpu->r[12] + cpu->r[8]; /* 028A2A64 */ cpu->r[22] = rbrew_read16(cpu->mem, _t257); /* 028A2A68 */ _t258 = cpu->r[11] + cpu->r[8]; /* 028A2A68 */ cpu->r[0] = rbrew_read16(cpu->mem, _t258); L_028A2A6C: ; // 0x28a2a6c /* 028A2A6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 028A2A70 */ _t259 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2A70 */ _t260 = _t259 & 0x00000001u; /* 028A2A70 */ if (_t260) goto L_028A2A74; else goto L_028A2A88; L_028A2A74: ; // 0x28a2a74 /* 028A2A74 */ cpu->r[29] = cpu->r[22]; /* 028A2A78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[22]); /* 028A2A7C */ _t261 = cpu->r[6] + cpu->r[28]; /* 028A2A7C */ cpu->r[10] = rbrew_read8(cpu->mem, _t261); /* 028A2A80 */ _t262 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2A80 */ _t263 = _t262 & 0x00000001u; /* 028A2A80 */ if (_t263) goto L_028A2A98; else goto L_028A2A84; L_028A2A84: ; // 0x28a2a84 /* 028A2A84 */ goto L_028A2AA8; L_028A2A88: ; // 0x28a2a88 /* 028A2A88 */ cpu->r[29] = cpu->r[28] + 0xFFFFFFFFu; /* 028A2A8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[22]); /* 028A2A90 */ _t264 = cpu->r[6] + cpu->r[28]; /* 028A2A90 */ cpu->r[10] = rbrew_read8(cpu->mem, _t264); /* 028A2A94 */ _t265 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2A94 */ _t266 = _t265 & 0x00000001u; /* 028A2A94 */ if (_t266) goto L_028A2A98; else goto L_028A2AA8; L_028A2A98: ; // 0x28a2a98 /* 028A2A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A2A9C */ cpu->r[9] = cpu->r[0]; /* 028A2AA0 */ _t267 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2AA0 */ _t268 = _t267 & 0x00000001u; /* 028A2AA0 */ if (_t268) goto L_028A2ACC; else goto L_028A2AA4; L_028A2AA4: ; // 0x28a2aa4 /* 028A2AA4 */ goto L_028A2AB4; L_028A2AA8: ; // 0x28a2aa8 /* 028A2AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A2AAC */ cpu->r[9] = cpu->r[28] + 0x00000001u; /* 028A2AB0 */ _t269 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2AB0 */ _t270 = _t269 & 0x00000001u; /* 028A2AB0 */ if (_t270) goto L_028A2ACC; else goto L_028A2AB4; L_028A2AB4: ; // 0x28a2ab4 /* 028A2AB4 */ _t271 = cpu->r[6] + cpu->r[29]; /* 028A2AB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t271); /* 028A2AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A2ABC */ _t272 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2ABC */ _t273 = _t272 & 0x00000001u; /* 028A2ABC */ if (_t273) goto L_028A2AC0; else goto L_028A2B74; L_028A2AC0: ; // 0x28a2ac0 /* 028A2AC0 */ _t274 = cpu->r[6] + cpu->r[9]; /* 028A2AC0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t274); /* 028A2AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A2AC8 */ _t275 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2AC8 */ _t276 = _t275 & 0x00000001u; /* 028A2AC8 */ if (_t276) goto L_028A2ACC; else goto L_028A2B74; L_028A2ACC: ; // 0x28a2acc /* 028A2ACC */ cpu->r[26] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2AD0 */ cpu->r[23] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2AD4 */ _t277 = cpu->r[30] + cpu->r[26]; /* 028A2AD4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t277); /* 028A2AD8 */ _t278 = cpu->r[30] + cpu->r[23]; /* 028A2AD8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t278); /* 028A2ADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]); /* 028A2AE0 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2AE0 */ _t280 = _t279 & 0x00000001u; /* 028A2AE0 */ if (_t280) goto L_028A2B74; else goto L_028A2AE4; L_028A2AE4: ; // 0x28a2ae4 /* 028A2AE4 */ cpu->r[29] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2AE8 */ _t281 = cpu->r[30] + cpu->r[29]; /* 028A2AE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t281); /* 028A2AEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]); /* 028A2AF0 */ _t282 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2AF0 */ _t283 = _t282 & 0x00000001u; /* 028A2AF0 */ if (_t283) goto L_028A2B74; else goto L_028A2AF4; L_028A2AF4: ; // 0x28a2af4 /* 028A2AF4 */ _t284 = cpu->r[3] + cpu->r[23]; /* 028A2AF4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t284); /* 028A2AF8 */ _t285 = cpu->r[3] + cpu->r[26]; /* 028A2AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t285); /* 028A2AFC */ cpu->r[0] = cpu->r[21] - cpu->r[0]; /* 028A2B00 */ cpu->r[22] = cpu->r[28] - cpu->r[27]; /* 028A2B04 */ /* nop */ /* 028A2B08 */ /* nop */ /* 028A2B0C */ cpu->r[22] = cpu->r[22] ^ cpu->r[9]; /* 028A2B10 */ cpu->r[22] = cpu->r[22] - cpu->r[9]; /* 028A2B14 */ cpu->r[0] = cpu->r[0] ^ cpu->r[27]; /* 028A2B18 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[22] * (int32_t)0x00000016u); /* 028A2B1C */ cpu->r[0] = cpu->r[0] - cpu->r[27]; /* 028A2B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 028A2B24 */ _t286 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2B24 */ _t287 = _t286 & 0x00000001u; /* 028A2B24 */ if (_t287) goto L_028A2B28; else goto L_028A2B3C; L_028A2B28: ; // 0x28a2b28 /* 028A2B28 */ _t288 = cpu->r[30] + cpu->r[26]; /* 028A2B28 */ rbrew_write32(cpu->mem, _t288, cpu->r[28]); /* 028A2B2C */ _t289 = cpu->r[31] + cpu->r[26]; /* 028A2B2C */ rbrew_write32(cpu->mem, _t289, cpu->r[28]); /* 028A2B30 */ _t290 = cpu->r[30] + cpu->r[23]; /* 028A2B30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t290); /* 028A2B34 */ _t291 = cpu->r[3] + cpu->r[23]; /* 028A2B34 */ cpu->r[21] = rbrew_read32(cpu->mem, _t291); /* 028A2B38 */ _t292 = cpu->r[30] + cpu->r[29]; /* 028A2B38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t292); L_028A2B3C: ; // 0x28a2b3c /* 028A2B3C */ _t293 = cpu->r[3] + cpu->r[29]; /* 028A2B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t293); /* 028A2B40 */ cpu->r[0] = cpu->r[21] - cpu->r[0]; /* 028A2B44 */ cpu->r[22] = cpu->r[28] - cpu->r[10]; /* 028A2B48 */ /* nop */ /* 028A2B4C */ /* nop */ /* 028A2B50 */ cpu->r[22] = cpu->r[22] ^ cpu->r[10]; /* 028A2B54 */ cpu->r[22] = cpu->r[22] - cpu->r[10]; /* 028A2B58 */ cpu->r[0] = cpu->r[0] ^ cpu->r[27]; /* 028A2B5C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[22] * (int32_t)0x00000016u); /* 028A2B60 */ cpu->r[0] = cpu->r[0] - cpu->r[27]; /* 028A2B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 028A2B68 */ _t294 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2B68 */ _t295 = _t294 & 0x00000001u; /* 028A2B68 */ if (_t295) goto L_028A2B6C; else goto L_028A2B74; L_028A2B6C: ; // 0x28a2b6c /* 028A2B6C */ _t296 = cpu->r[30] + cpu->r[29]; /* 028A2B6C */ rbrew_write32(cpu->mem, _t296, cpu->r[28]); /* 028A2B70 */ _t297 = cpu->r[31] + cpu->r[29]; /* 028A2B70 */ rbrew_write32(cpu->mem, _t297, cpu->r[28]); L_028A2B74: ; // 0x28a2b74 /* 028A2B74 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028A2B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A2B78 */ cpu->r[8] = cpu->r[8] + 0x00000002u; /* 028A2B7C */ _t298 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2B7C */ _t299 = _t298 & 0x00000001u; /* 028A2B7C */ if (_t299) goto L_028A2B80; else goto L_028A2674; L_028A2B80: ; // 0x28a2b80 /* 028A2B80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A2B84 */ cpu->r[9] = cpu->r[12] + cpu->r[0]; /* 028A2B88 */ _t300 = cpu->r[9] + 0xFFFFFFFEu; /* 028A2B88 */ cpu->r[10] = rbrew_read16(cpu->mem, _t300); /* 028A2B8C */ cpu->r[0] = cpu->r[10] + 0x00000001u; /* 028A2B90 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2B94 */ cpu->r[6] = 0x00000000u; /* 028A2B98 */ cpu->r[5] = cpu->r[29]; /* 028A2B9C */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A2BA0 */ cpu->r[6] = 0x00000000u; /* 028A2BA4 */ cpu->r[5] = cpu->r[29]; /* 028A2BA8 */ cpu->r[4] = cpu->r[31]; /* 028A2BAC */ cpu->r[3] = cpu->r[30]; /* 028A2BB0 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A2BB4 */ _t301 = cpu->r[1] + 0x0000000Cu; /* 028A2BB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t301); /* 028A2BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A2BBC */ cpu->r[0] = 0x00000016u; /* 028A2BC0 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2BC0 */ _t303 = _t302 & 0x00000001u; /* 028A2BC0 */ if (_t303) goto L_028A2BC8; else goto L_028A2BC4; L_028A2BC4: ; // 0x28a2bc4 /* 028A2BC4 */ cpu->r[0] = 0x0000000Au; L_028A2BC8: ; // 0x28a2bc8 /* 028A2BC8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[24]); /* 028A2BCC */ cpu->r[7] = 0x51EC0000u; /* 028A2BD0 */ cpu->r[7] = cpu->r[7] + 0xFFFF851Fu; /* 028A2BD4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000006u, 0x00000000u, 0x00000019u); /* 028A2BD8 */ cpu->r[0] = cpu->r[5] + 0x00000032u; /* 028A2BDC */ cpu->r[28] = (uint32_t)(((int64_t)(int32_t)cpu->r[7] * (int64_t)(int32_t)cpu->r[0]) >> 32); /* 028A2BE0 */ /* nop */ /* 028A2BE4 */ /* nop */ /* 028A2BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 028A2BEC */ cpu->r[28] = cpu->r[28] - cpu->r[6]; /* 028A2BF0 */ _t304 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2BF0 */ _t305 = _t304 & 0x00000001u; /* 028A2BF0 */ if (_t305) goto L_028A2C00; else goto L_028A2BF4; L_028A2BF4: ; // 0x28a2bf4 /* 028A2BF4 */ _t306 = cpu->r[14] + 0x0000001Cu; /* 028A2BF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t306); /* 028A2BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A2BFC */ _t307 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2BFC */ _t308 = _t307 & 0x00000001u; /* 028A2BFC */ if (_t308) goto L_028A2C00; else goto L_028A32A0; L_028A2C00: ; // 0x28a2c00 /* 028A2C00 */ _t309 = cpu->r[1] + 0x0000001Cu; /* 028A2C00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t309); /* 028A2C04 */ _t310 = cpu->r[12] + 0x00000024u; /* 028A2C04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t310); /* 028A2C08 */ _t311 = cpu->r[6] + 0x00000128u; /* 028A2C08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t311); /* 028A2C0C */ cpu->r[4] = cpu->r[25]; /* 028A2C10 */ _t312 = cpu->r[1] + 0x00000020u; /* 028A2C10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t312); /* 028A2C14 */ cpu->r[5] = cpu->r[15]; /* 028A2C18 */ _t313 = cpu->r[1] + 0x00000034u; /* 028A2C18 */ rbrew_write32(cpu->mem, _t313, cpu->r[9]); /* 028A2C1C */ _t314 = cpu->r[6] + 0x0000012Cu; /* 028A2C1C */ cpu->r[18] = rbrew_read32(cpu->mem, _t314); /* 028A2C20 */ cpu->r[6] = cpu->r[28]; /* 028A2C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u); /* 028A2C28 */ cpu->r[3] = 0x00000078u; /* 028A2C2C */ cpu->r[8] = cpu->r[18]; /* 028A2C30 */ _t315 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2C30 */ _t316 = _t315 & 0x00000001u; /* 028A2C30 */ if (_t316) goto L_028A2C34; else goto L_028A2C74; L_028A2C34: ; // 0x28a2c34 /* 028A2C34 */ cpu->r[7] = cpu->r[1] + 0x00000034u; /* 028A2C38 */ Gambit_fn_0289FACC(cpu); /* 028A2C3C */ cpu->r[4] = cpu->r[3]; /* 028A2C40 */ cpu->r[8] = cpu->r[28]; /* 028A2C44 */ cpu->r[10] = cpu->r[18]; /* 028A2C48 */ cpu->r[3] = 0x00000078u; /* 028A2C4C */ cpu->r[9] = cpu->r[1] + 0x00000034u; /* 028A2C50 */ cpu->r[7] = cpu->r[15]; /* 028A2C54 */ cpu->r[6] = cpu->r[17]; /* 028A2C58 */ cpu->r[5] = cpu->r[25]; /* 028A2C5C */ Gambit_fn_028A0A18(cpu); /* 028A2C60 */ _t317 = cpu->r[14] + 0x0000001Cu; /* 028A2C60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t317); /* 028A2C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A2C68 */ cpu->r[31] = cpu->r[3]; /* 028A2C6C */ _t318 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2C6C */ _t319 = _t318 & 0x00000001u; /* 028A2C6C */ if (_t319) goto L_028A2C70; else goto L_028A2E30; L_028A2C70: ; // 0x28a2c70 /* 028A2C70 */ goto L_028A2CB0; L_028A2C74: ; // 0x28a2c74 /* 028A2C74 */ cpu->r[7] = cpu->r[1] + 0x00000034u; /* 028A2C78 */ Gambit_fn_0289F6D8(cpu); /* 028A2C7C */ cpu->r[4] = cpu->r[3]; /* 028A2C80 */ cpu->r[8] = cpu->r[28]; /* 028A2C84 */ cpu->r[10] = cpu->r[18]; /* 028A2C88 */ cpu->r[3] = 0x00000078u; /* 028A2C8C */ cpu->r[9] = cpu->r[1] + 0x00000034u; /* 028A2C90 */ cpu->r[7] = cpu->r[15]; /* 028A2C94 */ cpu->r[6] = cpu->r[17]; /* 028A2C98 */ cpu->r[5] = cpu->r[25]; /* 028A2C9C */ Gambit_fn_0289FEA8(cpu); /* 028A2CA0 */ _t320 = cpu->r[14] + 0x0000001Cu; /* 028A2CA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t320); /* 028A2CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A2CA8 */ cpu->r[31] = cpu->r[3]; /* 028A2CAC */ _t321 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2CAC */ _t322 = _t321 & 0x00000001u; /* 028A2CAC */ if (_t322) goto L_028A2CB0; else goto L_028A2E30; L_028A2CB0: ; // 0x28a2cb0 /* 028A2CB0 */ _t323 = cpu->r[15] + 0x00000028u; /* 028A2CB0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t323); /* 028A2CB4 */ _t324 = cpu->r[15] + 0x00000020u; /* 028A2CB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t324); /* 028A2CB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A2CBC */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 028A2CC0 */ _t325 = cpu->r[4] + 0xFFFFFFFEu; /* 028A2CC0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t325); /* 028A2CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A2CC8 */ cpu->r[11] = cpu->r[6] + 0x00000001u; /* 028A2CCC */ cpu->r[5] = 0x00000000u; /* 028A2CD0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A2CD4 */ _t326 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2CD4 */ _t327 = _t326 & 0x00000001u; /* 028A2CD4 */ if (_t327) goto L_028A2CD8; else goto L_028A2D48; L_028A2CD8: ; // 0x28a2cd8 /* 028A2CD8 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000024u); /* 028A2CDC */ cpu->r[12] = 0x00000000u; /* 028A2CE0 */ _t328 = cpu->r[17] + 0x00000018u; /* 028A2CE0 */ rbrew_write32(cpu->mem, _t328, cpu->r[12]); /* 028A2CE4 */ cpu->r[4] = cpu->r[17] + cpu->r[7]; /* 028A2CE8 */ _t329 = cpu->r[17] + 0x00000010u; /* 028A2CE8 */ rbrew_write32(cpu->mem, _t329, cpu->r[12]); /* 028A2CEC */ _t330 = cpu->r[4] + 0x00000018u; /* 028A2CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t330); /* 028A2CF0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2CF4 */ _t331 = cpu->r[4] + 0x00000010u; /* 028A2CF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t331); /* 028A2CF8 */ /* nop */ /* 028A2CFC */ _t332 = cpu->r[15] + 0x00000000u; /* 028A2CFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t332); /* 028A2D00 */ cpu->r[5] = cpu->r[8]; /* 028A2D04 */ cpu->r[10] = cpu->r[4] + cpu->r[9]; /* 028A2D08 */ _t333 = cpu->r[9] + cpu->r[4]; /* 028A2D08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t333); /* 028A2D0C */ cpu->r[6] = cpu->r[7] - cpu->r[5]; /* 028A2D10 */ _t334 = cpu->r[10] + 0x00000004u; /* 028A2D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t334); /* 028A2D14 */ cpu->r[5] = cpu->r[7] + cpu->r[5]; /* 028A2D18 */ cpu->r[7] = cpu->r[6] - cpu->r[8]; /* 028A2D1C */ cpu->r[5] = cpu->r[0] - cpu->r[5]; /* 028A2D20 */ cpu->r[9] = cpu->r[7] + cpu->r[5]; /* 028A2D24 */ cpu->r[10] = cpu->r[9] + 0x00000020u; /* 028A2D28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A2D2C */ /* nop */ /* 028A2D30 */ cpu->r[4] = cpu->r[5]; /* 028A2D34 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A2D38 */ cpu->r[5] = cpu->r[0] - cpu->r[10]; /* 028A2D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000040u); /* 028A2D40 */ _t335 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2D40 */ _t336 = _t335 & 0x00000001u; /* 028A2D40 */ if (_t336) goto L_028A2D44; else goto L_028A2DF0; L_028A2D44: ; // 0x28a2d44 /* 028A2D44 */ goto L_028A2DEC; L_028A2D48: ; // 0x28a2d48 /* 028A2D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u); /* 028A2D4C */ _t337 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2D4C */ _t338 = _t337 & 0x00000001u; /* 028A2D4C */ if (_t338) goto L_028A2D8C; else goto L_028A2D50; L_028A2D50: ; // 0x28a2d50 /* 028A2D50 */ _t339 = cpu->r[17] + 0x00000018u; /* 028A2D50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t339); /* 028A2D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u); /* 028A2D58 */ cpu->r[9] = cpu->r[31] + 0xFFFFFFFFu; /* 028A2D5C */ cpu->r[6] = 0x00000001u; /* 028A2D60 */ _t340 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2D60 */ _t341 = _t340 & 0x00000001u; /* 028A2D60 */ if (_t341) goto L_028A2D64; else goto L_028A2D8C; L_028A2D64: ; // 0x28a2d64 /* 028A2D64 */ cpu->ctr = cpu->r[9]; /* 028A2D68 */ cpu->r[7] = cpu->r[17] + 0x00000024u; L_028A2D6C: ; // 0x28a2d6c /* 028A2D6C */ _t342 = cpu->r[7] + 0x00000018u; /* 028A2D6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t342); /* 028A2D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[4]); /* 028A2D74 */ _t343 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2D74 */ _t344 = _t343 & 0x00000001u; /* 028A2D74 */ if (_t344) goto L_028A2D78; else goto L_028A2D80; L_028A2D78: ; // 0x28a2d78 /* 028A2D78 */ cpu->r[5] = cpu->r[6]; /* 028A2D7C */ cpu->r[8] = cpu->r[4]; L_028A2D80: ; // 0x28a2d80 /* 028A2D80 */ cpu->r[7] = cpu->r[7] + 0x00000024u; /* 028A2D84 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A2D88 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A2D88 */ _t345 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A2D88 */ _t346 = _t345 >> (0x00000002u & 31u); /* 028A2D88 */ _t347 = _t346 & 0x00000001u; /* 028A2D88 */ if (_t347) goto L_028A2D6C; else goto L_028A2D8C; L_028A2D8C: ; // 0x28a2d8c /* 028A2D8C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000024u); /* 028A2D90 */ cpu->r[4] = cpu->r[17] + cpu->r[7]; /* 028A2D94 */ _t348 = cpu->r[4] + 0x00000018u; /* 028A2D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t348); /* 028A2D98 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2D9C */ _t349 = cpu->r[4] + 0x00000010u; /* 028A2D9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t349); /* 028A2DA0 */ /* nop */ /* 028A2DA4 */ _t350 = cpu->r[15] + 0x00000000u; /* 028A2DA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t350); /* 028A2DA8 */ cpu->r[5] = cpu->r[8]; /* 028A2DAC */ cpu->r[10] = cpu->r[4] + cpu->r[9]; /* 028A2DB0 */ _t351 = cpu->r[9] + cpu->r[4]; /* 028A2DB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t351); /* 028A2DB4 */ cpu->r[6] = cpu->r[7] - cpu->r[5]; /* 028A2DB8 */ _t352 = cpu->r[10] + 0x00000004u; /* 028A2DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t352); /* 028A2DBC */ cpu->r[5] = cpu->r[7] + cpu->r[5]; /* 028A2DC0 */ cpu->r[7] = cpu->r[6] - cpu->r[8]; /* 028A2DC4 */ cpu->r[5] = cpu->r[0] - cpu->r[5]; /* 028A2DC8 */ cpu->r[9] = cpu->r[7] + cpu->r[5]; /* 028A2DCC */ cpu->r[10] = cpu->r[9] + 0x00000020u; /* 028A2DD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A2DD4 */ /* nop */ /* 028A2DD8 */ cpu->r[4] = cpu->r[5]; /* 028A2DDC */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A2DE0 */ cpu->r[5] = cpu->r[0] - cpu->r[10]; /* 028A2DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000040u); /* 028A2DE8 */ _t353 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2DE8 */ _t354 = _t353 & 0x00000001u; /* 028A2DE8 */ if (_t354) goto L_028A2DEC; else goto L_028A2DF0; L_028A2DEC: ; // 0x28a2dec /* 028A2DEC */ cpu->r[5] = 0x00000040u; L_028A2DF0: ; // 0x28a2df0 /* 028A2DF0 */ _t355 = cpu->r[14] + 0x00000018u; /* 028A2DF0 */ rbrew_write32(cpu->mem, _t355, cpu->r[10]); /* 028A2DF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000032u); /* 028A2DF8 */ _t356 = cpu->r[14] + 0x0000001Cu; /* 028A2DF8 */ rbrew_write32(cpu->mem, _t356, cpu->r[5]); /* 028A2DFC */ _t357 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2DFC */ _t358 = _t357 & 0x00000001u; /* 028A2DFC */ if (_t358) goto L_028A2E00; else goto L_028A2E30; L_028A2E00: ; // 0x28a2e00 /* 028A2E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u); /* 028A2E04 */ _t359 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2E04 */ _t360 = _t359 & 0x00000001u; /* 028A2E04 */ if (_t360) goto L_028A2E08; else goto L_028A2E30; L_028A2E08: ; // 0x28a2e08 /* 028A2E08 */ _t361 = cpu->r[1] + 0x0000001Cu; /* 028A2E08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t361); /* 028A2E0C */ cpu->r[12] = 0x00000000u; /* 028A2E10 */ _t362 = cpu->r[11] + 0x00000024u; /* 028A2E10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t362); /* 028A2E14 */ cpu->r[5] = 0x00000006u; /* 028A2E18 */ cpu->r[3] = cpu->r[14]; /* 028A2E1C */ cpu->r[4] = cpu->r[1] + 0x00000188u; /* 028A2E20 */ _t363 = cpu->r[6] + 0x00000150u; /* 028A2E20 */ rbrew_write16(cpu->mem, _t363, (uint16_t)cpu->r[12]); /* 028A2E24 */ cpu->r[6] = cpu->r[12]; /* 028A2E28 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A2E2C */ goto L_028A51F4; L_028A2E30: ; // 0x28a2e30 /* 028A2E30 */ _t364 = cpu->r[1] + 0x0000001Cu; /* 028A2E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t364); /* 028A2E34 */ _t365 = cpu->r[12] + 0x00000024u; /* 028A2E34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t365); /* 028A2E38 */ _t366 = cpu->r[6] + 0x00000124u; /* 028A2E38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t366); /* 028A2E3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000006u, 0x00000006u); /* 028A2E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A2E40 */ _t367 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2E40 */ _t368 = _t367 & 0x00000001u; /* 028A2E40 */ if (_t368) goto L_028A2E44; else goto L_028A32A8; L_028A2E44: ; // 0x28a2e44 /* 028A2E44 */ _t369 = cpu->r[1] + 0x00000010u; /* 028A2E44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t369); /* 028A2E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A2E4C */ _t370 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2E4C */ _t371 = _t370 & 0x00000001u; /* 028A2E4C */ if (_t371) goto L_028A3248; else goto L_028A2E50; L_028A2E50: ; // 0x28a2e50 /* 028A2E50 */ _t372 = cpu->r[15] + 0x00000028u; /* 028A2E50 */ cpu->r[8] = rbrew_read16(cpu->mem, _t372); /* 028A2E54 */ _t373 = cpu->r[15] + 0x00000020u; /* 028A2E54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t373); /* 028A2E58 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A2E5C */ _t374 = cpu->r[6] + 0x00000144u; /* 028A2E5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t374); /* 028A2E60 */ cpu->r[10] = cpu->r[4] + cpu->r[9]; /* 028A2E64 */ _t375 = cpu->r[10] + 0xFFFFFFFEu; /* 028A2E64 */ cpu->r[6] = rbrew_read16(cpu->mem, _t375); /* 028A2E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A2E6C */ _t376 = cpu->r[15] + 0x00000000u; /* 028A2E6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t376); /* 028A2E70 */ cpu->r[26] = cpu->r[6] + 0x00000001u; /* 028A2E74 */ _t377 = cpu->r[15] + 0x00000008u; /* 028A2E74 */ cpu->r[27] = rbrew_read32(cpu->mem, _t377); /* 028A2E78 */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A2E7C */ _t378 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2E7C */ _t379 = _t378 & 0x00000001u; /* 028A2E7C */ if (_t379) goto L_028A3164; else goto L_028A2E80; L_028A2E80: ; // 0x28a2e80 /* 028A2E80 */ _t380 = cpu->r[14] + 0x00000018u; /* 028A2E80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t380); /* 028A2E84 */ cpu->r[0] = cpu->r[8] + cpu->r[5]; /* 028A2E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000080u); /* 028A2E8C */ _t381 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2E8C */ _t382 = _t381 & 0x00000001u; /* 028A2E8C */ if (_t382) goto L_028A3164; else goto L_028A2E90; L_028A2E90: ; // 0x28a2e90 /* 028A2E90 */ _t383 = cpu->r[30] + 0x00000000u; /* 028A2E90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t383); /* 028A2E94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A2E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000001u); /* 028A2E9C */ cpu->r[9] = cpu->r[30] + cpu->r[7]; /* 028A2EA0 */ cpu->r[7] = cpu->r[6]; /* 028A2EA4 */ cpu->r[0] = cpu->r[26] + 0xFFFFFFFFu; /* 028A2EA8 */ _t384 = cpu->r[9] + 0x00000004u; /* 028A2EA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t384); /* 028A2EAC */ _t385 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2EAC */ _t386 = _t385 & 0x00000001u; /* 028A2EAC */ if (_t386) goto L_028A2EB0; else goto L_028A2ED8; L_028A2EB0: ; // 0x28a2eb0 /* 028A2EB0 */ cpu->ctr = cpu->r[0]; /* 028A2EB4 */ cpu->r[10] = cpu->r[30]; L_028A2EB8: ; // 0x28a2eb8 /* 028A2EB8 */ _t387 = cpu->r[10] + 0x00000004u; /* 028A2EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t387); /* 028A2EB8 */ cpu->r[10] = _t387; /* 028A2EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]); /* 028A2EC0 */ _t388 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2EC0 */ _t389 = _t388 & 0x00000001u; /* 028A2EC0 */ if (_t389) goto L_028A2EC4; else goto L_028A2EC8; L_028A2EC4: ; // 0x28a2ec4 /* 028A2EC4 */ cpu->r[6] = cpu->r[0]; L_028A2EC8: ; // 0x28a2ec8 /* 028A2EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]); /* 028A2ECC */ _t390 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2ECC */ _t391 = _t390 & 0x00000001u; /* 028A2ECC */ if (_t391) goto L_028A2ED0; else goto L_028A2ED4; L_028A2ED0: ; // 0x28a2ed0 /* 028A2ED0 */ cpu->r[7] = cpu->r[0]; L_028A2ED4: ; // 0x28a2ed4 /* 028A2ED4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A2ED4 */ _t392 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A2ED4 */ _t393 = _t392 >> (0x00000002u & 31u); /* 028A2ED4 */ _t394 = _t393 & 0x00000001u; /* 028A2ED4 */ if (_t394) goto L_028A2EB8; else goto L_028A2ED8; L_028A2ED8: ; // 0x28a2ed8 /* 028A2ED8 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu; /* 028A2EDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A2EE0 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000024u); /* 028A2EE4 */ _t395 = cpu->r[17] + 0x00000018u; /* 028A2EE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t395); /* 028A2EE8 */ cpu->r[12] = cpu->r[17] + cpu->r[10]; /* 028A2EEC */ /* nop */ /* 028A2EF0 */ _t396 = cpu->r[17] + 0x00000010u; /* 028A2EF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t396); /* 028A2EF4 */ _t397 = cpu->r[12] + 0x00000018u; /* 028A2EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t397); /* 028A2EF8 */ cpu->r[3] = cpu->r[10]; /* 028A2EFC */ _t398 = cpu->r[12] + 0x00000010u; /* 028A2EFC */ cpu->r[23] = rbrew_read32(cpu->mem, _t398); /* 028A2F00 */ /* nop */ /* 028A2F04 */ cpu->r[9] = cpu->r[11] - cpu->r[23]; /* 028A2F08 */ cpu->r[12] = cpu->r[0]; /* 028A2F0C */ /* nop */ /* 028A2F10 */ cpu->r[22] = cpu->r[11] - cpu->r[3]; /* 028A2F14 */ cpu->r[10] = cpu->r[9] ^ cpu->r[0]; /* 028A2F18 */ cpu->r[21] = cpu->r[22] - cpu->r[7]; /* 028A2F1C */ cpu->r[10] = cpu->r[10] - cpu->r[0]; /* 028A2F20 */ cpu->r[23] = cpu->r[23] + cpu->r[12]; /* 028A2F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000020u); /* 028A2F28 */ cpu->r[0] = cpu->r[4] - cpu->r[23]; /* 028A2F2C */ _t399 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2F2C */ _t400 = _t399 & 0x00000001u; /* 028A2F2C */ if (_t400) goto L_028A2F30; else goto L_028A3008; L_028A2F30: ; // 0x28a2f30 /* 028A2F30 */ cpu->r[23] = cpu->r[11] + cpu->r[3]; /* 028A2F34 */ cpu->r[10] = cpu->r[6] - cpu->r[23]; /* 028A2F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[10]); /* 028A2F3C */ cpu->r[12] = 0x00000000u; /* 028A2F40 */ _t401 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2F40 */ _t402 = _t401 & 0x00000001u; /* 028A2F40 */ if (_t402) goto L_028A2F68; else goto L_028A2F44; L_028A2F44: ; // 0x28a2f44 /* 028A2F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000040u); /* 028A2F48 */ _t403 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2F48 */ _t404 = _t403 & 0x00000001u; /* 028A2F48 */ if (_t404) goto L_028A2F4C; else goto L_028A2F68; L_028A2F4C: ; // 0x28a2f4c /* 028A2F4C */ cpu->r[6] = cpu->r[8] - cpu->r[22]; /* 028A2F50 */ /* nop */ /* 028A2F54 */ cpu->r[7] = cpu->r[6] ^ cpu->r[9]; /* 028A2F58 */ cpu->r[7] = cpu->r[7] - cpu->r[9]; /* 028A2F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000040u); /* 028A2F60 */ _t405 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2F60 */ _t406 = _t405 & 0x00000001u; /* 028A2F60 */ if (_t406) goto L_028A2F68; else goto L_028A2F64; L_028A2F64: ; // 0x28a2f64 /* 028A2F64 */ cpu->r[12] = cpu->r[8] - cpu->r[22]; L_028A2F68: ; // 0x28a2f68 /* 028A2F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[21]); /* 028A2F6C */ _t407 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2F6C */ _t408 = _t407 & 0x00000001u; /* 028A2F6C */ if (_t408) goto L_028A2F98; else goto L_028A2F70; L_028A2F70: ; // 0x28a2f70 /* 028A2F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000040u); /* 028A2F74 */ _t409 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2F74 */ _t410 = _t409 & 0x00000001u; /* 028A2F74 */ if (_t410) goto L_028A2F78; else goto L_028A2F98; L_028A2F78: ; // 0x28a2f78 /* 028A2F78 */ cpu->r[10] = cpu->r[5] - cpu->r[0]; /* 028A2F7C */ /* nop */ /* 028A2F80 */ cpu->r[6] = cpu->r[10] ^ cpu->r[0]; /* 028A2F84 */ cpu->r[6] = cpu->r[6] - cpu->r[0]; /* 028A2F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000040u); /* 028A2F8C */ _t411 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2F8C */ _t412 = _t411 & 0x00000001u; /* 028A2F8C */ if (_t412) goto L_028A2F98; else goto L_028A2F90; L_028A2F90: ; // 0x28a2f90 /* 028A2F90 */ cpu->r[20] = cpu->r[4] - cpu->r[5]; /* 028A2F94 */ cpu->r[12] = cpu->r[20] - cpu->r[23]; L_028A2F98: ; // 0x28a2f98 /* 028A2F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A2F9C */ _t413 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2F9C */ _t414 = _t413 & 0x00000001u; /* 028A2F9C */ if (_t414) goto L_028A3164; else goto L_028A2FA0; L_028A2FA0: ; // 0x28a2fa0 /* 028A2FA0 */ cpu->r[6] = cpu->r[26]; /* 028A2FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A2FA4 */ _t415 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A2FA4 */ _t416 = _t415 & 0x00000001u; /* 028A2FA4 */ if (_t416) goto L_028A2FC8; else goto L_028A2FA8; L_028A2FA8: ; // 0x28a2fa8 /* 028A2FA8 */ cpu->ctr = cpu->r[6]; /* 028A2FAC */ cpu->r[9] = 0x00000000u; L_028A2FB0: ; // 0x28a2fb0 /* 028A2FB0 */ _t417 = cpu->r[30] + cpu->r[9]; /* 028A2FB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t417); /* 028A2FB4 */ cpu->r[7] = cpu->r[7] + cpu->r[12]; /* 028A2FB8 */ _t418 = cpu->r[30] + cpu->r[9]; /* 028A2FB8 */ rbrew_write32(cpu->mem, _t418, cpu->r[7]); /* 028A2FBC */ _t419 = cpu->r[27] + cpu->r[9]; /* 028A2FBC */ rbrew_write32(cpu->mem, _t419, cpu->r[7]); /* 028A2FC0 */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 028A2FC4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A2FC4 */ _t420 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A2FC4 */ _t421 = _t420 >> (0x00000002u & 31u); /* 028A2FC4 */ _t422 = _t421 & 0x00000001u; /* 028A2FC4 */ if (_t422) goto L_028A2FB0; else goto L_028A2FC8; L_028A2FC8: ; // 0x28a2fc8 /* 028A2FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A2FCC */ cpu->r[11] = 0x00000000u; /* 028A2FD0 */ _t423 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A2FD0 */ _t424 = _t423 & 0x00000001u; /* 028A2FD0 */ if (_t424) goto L_028A2FD4; else goto L_028A3164; L_028A2FD4: ; // 0x28a2fd4 /* 028A2FD4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000024u); /* 028A2FD8 */ cpu->r[5] = cpu->r[17] + cpu->r[8]; /* 028A2FDC */ _t425 = cpu->r[5] + 0x00000010u; /* 028A2FDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t425); /* 028A2FE0 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A2FE4 */ cpu->r[0] = cpu->r[9] + cpu->r[12]; /* 028A2FE8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A2FEC */ _t426 = cpu->r[5] + 0x00000014u; /* 028A2FEC */ rbrew_write32(cpu->mem, _t426, cpu->r[0]); /* 028A2FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[31]); /* 028A2FF4 */ _t427 = cpu->r[5] + 0x00000010u; /* 028A2FF4 */ rbrew_write32(cpu->mem, _t427, cpu->r[0]); /* 028A2FF8 */ _t428 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A2FF8 */ _t429 = _t428 & 0x00000001u; /* 028A2FF8 */ if (_t429) goto L_028A2FD4; else goto L_028A2FFC; L_028A2FFC: ; // 0x28a2ffc /* 028A2FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000069u); /* 028A3000 */ _t430 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3000 */ _t431 = _t430 & 0x00000001u; /* 028A3000 */ if (_t431) goto L_028A3004; else goto L_028A316C; L_028A3004: ; // 0x28a3004 /* 028A3004 */ goto L_028A3174; L_028A3008: ; // 0x28a3008 /* 028A3008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000040u); /* 028A300C */ cpu->r[21] = cpu->r[22]; /* 028A3010 */ _t432 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A3010 */ _t433 = _t432 & 0x00000001u; /* 028A3010 */ if (_t433) goto L_028A3014; else goto L_028A3030; L_028A3014: ; // 0x28a3014 /* 028A3014 */ cpu->r[10] = cpu->r[8] - cpu->r[22]; /* 028A3018 */ /* nop */ /* 028A301C */ cpu->r[7] = cpu->r[10] ^ cpu->r[9]; /* 028A3020 */ cpu->r[7] = cpu->r[7] - cpu->r[9]; /* 028A3024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000048u); /* 028A3028 */ _t434 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A3028 */ _t435 = _t434 & 0x00000001u; /* 028A3028 */ if (_t435) goto L_028A3030; else goto L_028A302C; L_028A302C: ; // 0x28a302c /* 028A302C */ cpu->r[21] = cpu->r[8]; L_028A3030: ; // 0x28a3030 /* 028A3030 */ cpu->r[10] = cpu->r[6] - cpu->r[23]; /* 028A3034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000040u); /* 028A3038 */ cpu->r[20] = cpu->r[23]; /* 028A303C */ _t436 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A303C */ _t437 = _t436 & 0x00000001u; /* 028A303C */ if (_t437) goto L_028A3040; else goto L_028A305C; L_028A3040: ; // 0x28a3040 /* 028A3040 */ cpu->r[10] = cpu->r[5] - cpu->r[0]; /* 028A3044 */ /* nop */ /* 028A3048 */ cpu->r[6] = cpu->r[10] ^ cpu->r[7]; /* 028A304C */ cpu->r[6] = cpu->r[6] - cpu->r[7]; /* 028A3050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000048u); /* 028A3054 */ _t438 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A3054 */ _t439 = _t438 & 0x00000001u; /* 028A3054 */ if (_t439) goto L_028A305C; else goto L_028A3058; L_028A3058: ; // 0x28a3058 /* 028A3058 */ cpu->r[20] = cpu->r[4] - cpu->r[5]; L_028A305C: ; // 0x28a305c /* 028A305C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[22]); /* 028A3060 */ _t440 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3060 */ _t441 = _t440 & 0x00000001u; /* 028A3060 */ if (_t441) goto L_028A3064; else goto L_028A306C; L_028A3064: ; // 0x28a3064 /* 028A3064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[23]); /* 028A3068 */ _t442 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3068 */ _t443 = _t442 & 0x00000001u; /* 028A3068 */ if (_t443) goto L_028A3164; else goto L_028A306C; L_028A306C: ; // 0x28a306c /* 028A306C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[22]); /* 028A3070 */ cpu->r[18] = 0x00400000u; /* 028A3074 */ _t444 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3074 */ _t445 = _t444 & 0x00000001u; /* 028A3074 */ if (_t445) goto L_028A308C; else goto L_028A3078; L_028A3078: ; // 0x28a3078 /* 028A3078 */ cpu->r[5] = 0x00000010u; /* 028A307C */ cpu->r[4] = cpu->r[23] - cpu->r[22]; /* 028A3080 */ cpu->r[3] = cpu->r[20] - cpu->r[21]; /* 028A3084 */ Gambit_fn_0287B61C(cpu); /* 028A3088 */ cpu->r[18] = cpu->r[3]; L_028A308C: ; // 0x28a308c /* 028A308C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A3090 */ cpu->r[19] = cpu->r[21] - cpu->r[22]; /* 028A3094 */ _t446 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3094 */ _t447 = _t446 & 0x00000001u; /* 028A3094 */ if (_t447) goto L_028A3114; else goto L_028A3098; L_028A3098: ; // 0x28a3098 /* 028A3098 */ cpu->r[20] = cpu->r[20] - cpu->r[23]; /* 028A309C */ cpu->r[16] = 0x00000000u; L_028A30A0: ; // 0x28a30a0 /* 028A30A0 */ _t448 = cpu->r[30] + cpu->r[16]; /* 028A30A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t448); /* 028A30A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[22]); /* 028A30A8 */ _t449 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A30A8 */ _t450 = _t449 & 0x00000001u; /* 028A30A8 */ if (_t450) goto L_028A30AC; else goto L_028A30C8; L_028A30AC: ; // 0x28a30ac /* 028A30AC */ cpu->r[6] = cpu->r[6] + cpu->r[19]; /* 028A30B0 */ _t451 = cpu->r[30] + cpu->r[16]; /* 028A30B0 */ rbrew_write32(cpu->mem, _t451, cpu->r[6]); /* 028A30B4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 028A30B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A30B8 */ _t452 = cpu->r[27] + cpu->r[16]; /* 028A30B8 */ rbrew_write32(cpu->mem, _t452, cpu->r[6]); /* 028A30BC */ cpu->r[16] = cpu->r[16] + 0x00000004u; /* 028A30C0 */ _t453 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A30C0 */ _t454 = _t453 & 0x00000001u; /* 028A30C0 */ if (_t454) goto L_028A30C4; else goto L_028A30A0; L_028A30C4: ; // 0x28a30c4 /* 028A30C4 */ goto L_028A3114; L_028A30C8: ; // 0x28a30c8 /* 028A30C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[23]); /* 028A30CC */ _t455 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A30CC */ _t456 = _t455 & 0x00000001u; /* 028A30CC */ if (_t456) goto L_028A30FC; else goto L_028A30D0; L_028A30D0: ; // 0x28a30d0 /* 028A30D0 */ cpu->r[5] = 0x00000010u; /* 028A30D4 */ cpu->r[4] = cpu->r[6] - cpu->r[22]; /* 028A30D8 */ cpu->r[3] = cpu->r[18]; /* 028A30DC */ Gambit_fn_0287B904(cpu); /* 028A30E0 */ cpu->r[6] = cpu->r[21] + cpu->r[3]; /* 028A30E4 */ _t457 = cpu->r[30] + cpu->r[16]; /* 028A30E4 */ rbrew_write32(cpu->mem, _t457, cpu->r[6]); /* 028A30E8 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 028A30E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A30EC */ _t458 = cpu->r[27] + cpu->r[16]; /* 028A30EC */ rbrew_write32(cpu->mem, _t458, cpu->r[6]); /* 028A30F0 */ cpu->r[16] = cpu->r[16] + 0x00000004u; /* 028A30F4 */ _t459 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A30F4 */ _t460 = _t459 & 0x00000001u; /* 028A30F4 */ if (_t460) goto L_028A30F8; else goto L_028A30A0; L_028A30F8: ; // 0x28a30f8 /* 028A30F8 */ goto L_028A3114; L_028A30FC: ; // 0x28a30fc /* 028A30FC */ cpu->r[6] = cpu->r[6] + cpu->r[20]; /* 028A3100 */ _t461 = cpu->r[30] + cpu->r[16]; /* 028A3100 */ rbrew_write32(cpu->mem, _t461, cpu->r[6]); /* 028A3104 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 028A3104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A3108 */ _t462 = cpu->r[27] + cpu->r[16]; /* 028A3108 */ rbrew_write32(cpu->mem, _t462, cpu->r[6]); /* 028A310C */ cpu->r[16] = cpu->r[16] + 0x00000004u; /* 028A3110 */ _t463 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3110 */ _t464 = _t463 & 0x00000001u; /* 028A3110 */ if (_t464) goto L_028A3114; else goto L_028A30A0; L_028A3114: ; // 0x28a3114 /* 028A3114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A3118 */ cpu->r[11] = 0x00000000u; /* 028A311C */ _t465 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A311C */ _t466 = _t465 & 0x00000001u; /* 028A311C */ if (_t466) goto L_028A3120; else goto L_028A3164; L_028A3120: ; // 0x28a3120 /* 028A3120 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000024u); /* 028A3124 */ _t467 = cpu->r[17] + cpu->r[0]; /* 028A3124 */ cpu->r[9] = rbrew_read16(cpu->mem, _t467); /* 028A3128 */ cpu->r[12] = cpu->r[17] + cpu->r[0]; /* 028A312C */ _t468 = cpu->r[12] + 0x00000004u; /* 028A312C */ cpu->r[4] = rbrew_read16(cpu->mem, _t468); /* 028A3130 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A3134 */ _t469 = cpu->r[8] + cpu->r[30]; /* 028A3134 */ cpu->r[6] = rbrew_read32(cpu->mem, _t469); /* 028A3138 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A313C */ _t470 = cpu->r[10] + cpu->r[30]; /* 028A313C */ cpu->r[7] = rbrew_read32(cpu->mem, _t470); /* 028A3140 */ cpu->r[5] = cpu->r[6] + cpu->r[7]; /* 028A3144 */ /* nop */ /* 028A3148 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A314C */ cpu->r[0] = cpu->r[8]; /* 028A3150 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A3154 */ _t471 = cpu->r[12] + 0x00000014u; /* 028A3154 */ rbrew_write32(cpu->mem, _t471, cpu->r[0]); /* 028A3158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[31]); /* 028A315C */ _t472 = cpu->r[12] + 0x00000010u; /* 028A315C */ rbrew_write32(cpu->mem, _t472, cpu->r[0]); /* 028A3160 */ _t473 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A3160 */ _t474 = _t473 & 0x00000001u; /* 028A3160 */ if (_t474) goto L_028A3120; else goto L_028A3164; L_028A3164: ; // 0x28a3164 /* 028A3164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000069u); /* 028A3168 */ _t475 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3168 */ _t476 = _t475 & 0x00000001u; /* 028A3168 */ if (_t476) goto L_028A3174; else goto L_028A316C; L_028A316C: ; // 0x28a316c /* 028A316C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000006Au); /* 028A3170 */ _t477 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3170 */ _t478 = _t477 & 0x00000001u; /* 028A3170 */ if (_t478) goto L_028A3174; else goto L_028A3248; L_028A3174: ; // 0x28a3174 /* 028A3174 */ cpu->r[11] = 0x00050000u; /* 028A3178 */ cpu->r[3] = 0x00000000u; /* 028A317C */ cpu->r[12] = 0xFFFFFFFFu; /* 028A3180 */ cpu->r[11] = cpu->r[11] + 0xFFFF93E0u; /* 028A3184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u); /* 028A3188 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu; /* 028A318C */ cpu->r[30] = 0x00000001u; /* 028A3190 */ _t479 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A3190 */ _t480 = _t479 & 0x00000001u; /* 028A3190 */ if (_t480) goto L_028A3194; else goto L_028A31C4; L_028A3194: ; // 0x28a3194 /* 028A3194 */ cpu->ctr = cpu->r[0]; /* 028A3198 */ cpu->r[8] = cpu->r[17]; L_028A319C: ; // 0x28a319c /* 028A319C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000024u); /* 028A31A0 */ _t481 = cpu->r[8] + 0x00000044u; /* 028A31A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t481); /* 028A31A4 */ cpu->r[9] = cpu->r[17] + cpu->r[0]; /* 028A31A8 */ _t482 = cpu->r[9] + 0x00000020u; /* 028A31A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t482); /* 028A31AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[4]); /* 028A31B0 */ cpu->r[8] = cpu->r[8] + 0x00000024u; /* 028A31B4 */ _t483 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A31B4 */ _t484 = _t483 & 0x00000001u; /* 028A31B4 */ if (_t484) goto L_028A31B8; else goto L_028A31BC; L_028A31B8: ; // 0x28a31b8 /* 028A31B8 */ cpu->r[3] = cpu->r[30]; L_028A31BC: ; // 0x28a31bc /* 028A31BC */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A31C0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A31C0 */ _t485 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A31C0 */ _t486 = _t485 >> (0x00000002u & 31u); /* 028A31C0 */ _t487 = _t486 & 0x00000001u; /* 028A31C0 */ if (_t487) goto L_028A319C; else goto L_028A31C4; L_028A31C4: ; // 0x28a31c4 /* 028A31C4 */ cpu->r[0] = cpu->r[31]; /* 028A31C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A31C8 */ cpu->r[30] = 0x00000000u; /* 028A31CC */ _t488 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A31CC */ _t489 = _t488 & 0x00000001u; /* 028A31CC */ if (_t489) goto L_028A31D0; else goto L_028A3248; L_028A31D0: ; // 0x28a31d0 /* 028A31D0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000024u); /* 028A31D4 */ cpu->ctr = cpu->r[0]; /* 028A31D8 */ cpu->r[5] = cpu->r[17] + cpu->r[5]; /* 028A31DC */ _t490 = cpu->r[5] + 0x00000010u; /* 028A31DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t490); /* 028A31E0 */ cpu->r[4] = cpu->r[17] + 0xFFFFFFDCu; L_028A31E4: ; // 0x28a31e4 /* 028A31E4 */ _t491 = cpu->r[4] + 0x00000034u; /* 028A31E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t491); /* 028A31E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]); /* 028A31EC */ cpu->r[4] = cpu->r[4] + 0x00000024u; /* 028A31F0 */ cpu->r[0] = cpu->r[10] - cpu->r[6]; /* 028A31F4 */ _t492 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A31F4 */ _t493 = _t492 & 0x00000001u; /* 028A31F4 */ if (_t493) goto L_028A321C; else goto L_028A31F8; L_028A31F8: ; // 0x28a31f8 /* 028A31F8 */ /* nop */ /* 028A31FC */ cpu->r[0] = cpu->r[0] ^ cpu->r[7]; /* 028A3200 */ cpu->r[0] = cpu->r[0] - cpu->r[7]; /* 028A3204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 028A3208 */ _t494 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A3208 */ _t495 = _t494 & 0x00000001u; /* 028A3208 */ if (_t495) goto L_028A320C; else goto L_028A321C; L_028A320C: ; // 0x28a320c /* 028A320C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000010u); /* 028A3210 */ _t496 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A3210 */ _t497 = _t496 & 0x00000001u; /* 028A3210 */ if (_t497) goto L_028A3214; else goto L_028A321C; L_028A3214: ; // 0x28a3214 /* 028A3214 */ cpu->r[12] = cpu->r[30]; /* 028A3218 */ cpu->r[11] = cpu->r[0]; L_028A321C: ; // 0x28a321c /* 028A321C */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A3220 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A3220 */ _t498 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A3220 */ _t499 = _t498 >> (0x00000002u & 31u); /* 028A3220 */ _t500 = _t499 & 0x00000001u; /* 028A3220 */ if (_t500) goto L_028A31E4; else goto L_028A3224; L_028A3224: ; // 0x28a3224 /* 028A3224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu); /* 028A3228 */ _t501 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3228 */ _t502 = _t501 & 0x00000001u; /* 028A3228 */ if (_t502) goto L_028A3248; else goto L_028A322C; L_028A322C: ; // 0x28a322c /* 028A322C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000024u); /* 028A3230 */ cpu->r[6] = cpu->r[17] + cpu->r[8]; /* 028A3234 */ _t503 = cpu->r[6] + 0x00000010u; /* 028A3234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t503); /* 028A3238 */ _t504 = cpu->r[6] + 0x00000018u; /* 028A3238 */ cpu->r[4] = rbrew_read32(cpu->mem, _t504); /* 028A323C */ Gambit_fn_0289E974(cpu); /* 028A3240 */ _t505 = cpu->r[5] + 0x00000014u; /* 028A3240 */ rbrew_write32(cpu->mem, _t505, cpu->r[3]); /* 028A3244 */ _t506 = cpu->r[6] + 0x00000014u; /* 028A3244 */ rbrew_write32(cpu->mem, _t506, cpu->r[3]); L_028A3248: ; // 0x28a3248 /* 028A3248 */ _t507 = cpu->r[1] + 0x0000000Cu; /* 028A3248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t507); /* 028A324C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A3250 */ _t508 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3250 */ _t509 = _t508 & 0x00000001u; /* 028A3250 */ if (_t509) goto L_028A3268; else goto L_028A3254; L_028A3254: ; // 0x28a3254 /* 028A3254 */ cpu->r[4] = cpu->r[31]; /* 028A3258 */ cpu->r[5] = cpu->r[17]; /* 028A325C */ cpu->r[3] = 0x00000078u; /* 028A3260 */ cpu->r[6] = cpu->r[15]; /* 028A3264 */ Gambit_fn_0289F4A4(cpu); L_028A3268: ; // 0x28a3268 /* 028A3268 */ _t510 = cpu->r[1] + 0x00000020u; /* 028A3268 */ cpu->r[4] = rbrew_read32(cpu->mem, _t510); /* 028A326C */ cpu->r[5] = cpu->r[31]; /* 028A3270 */ cpu->r[3] = 0x00000078u; /* 028A3274 */ _t511 = cpu->r[1] + 0x0000001Cu; /* 028A3274 */ cpu->r[8] = rbrew_read32(cpu->mem, _t511); /* 028A3278 */ cpu->r[7] = cpu->r[15]; /* 028A327C */ cpu->r[6] = cpu->r[17]; /* 028A3280 */ Gambit_fn_028A170C(cpu); /* 028A3284 */ _t512 = cpu->r[1] + 0x00000020u; /* 028A3284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t512); /* 028A3288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u); /* 028A328C */ _t513 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A328C */ _t514 = _t513 & 0x00000001u; /* 028A328C */ if (_t514) goto L_028A32A0; else goto L_028A3290; L_028A3290: ; // 0x28a3290 /* 028A3290 */ _t515 = cpu->r[1] + 0x0000001Cu; /* 028A3290 */ cpu->r[3] = rbrew_read32(cpu->mem, _t515); /* 028A3294 */ cpu->r[9] = 0x00000001u; /* 028A3298 */ _t516 = cpu->r[3] + 0x0000003Au; /* 028A3298 */ rbrew_write8(cpu->mem, _t516, (uint8_t)cpu->r[9]); /* 028A329C */ Gambit_fn_028989A4(cpu); L_028A32A0: ; // 0x28a32a0 /* 028A32A0 */ _t517 = cpu->r[1] + 0x0000001Cu; /* 028A32A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t517); /* 028A32A4 */ _t518 = cpu->r[12] + 0x00000024u; /* 028A32A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t518); L_028A32A8: ; // 0x28a32a8 /* 028A32A8 */ _t519 = cpu->r[6] + 0x00000128u; /* 028A32A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t519); /* 028A32AC */ cpu->r[4] = cpu->r[25]; /* 028A32B0 */ _t520 = cpu->r[1] + 0x00000020u; /* 028A32B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t520); /* 028A32B4 */ cpu->r[5] = cpu->r[15]; /* 028A32B8 */ _t521 = cpu->r[1] + 0x00000034u; /* 028A32B8 */ rbrew_write32(cpu->mem, _t521, cpu->r[0]); /* 028A32BC */ _t522 = cpu->r[6] + 0x0000012Cu; /* 028A32BC */ cpu->r[18] = rbrew_read32(cpu->mem, _t522); /* 028A32C0 */ cpu->r[6] = cpu->r[28]; /* 028A32C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u); /* 028A32C8 */ cpu->r[3] = 0x00000079u; /* 028A32CC */ cpu->r[8] = cpu->r[18]; /* 028A32D0 */ _t523 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A32D0 */ _t524 = _t523 & 0x00000001u; /* 028A32D0 */ if (_t524) goto L_028A32D4; else goto L_028A330C; L_028A32D4: ; // 0x28a32d4 /* 028A32D4 */ cpu->r[7] = cpu->r[1] + 0x00000034u; /* 028A32D8 */ Gambit_fn_0289FACC(cpu); /* 028A32DC */ cpu->r[4] = cpu->r[3]; /* 028A32E0 */ cpu->r[8] = cpu->r[28]; /* 028A32E4 */ cpu->r[10] = cpu->r[18]; /* 028A32E8 */ cpu->r[3] = 0x00000079u; /* 028A32EC */ cpu->r[9] = cpu->r[1] + 0x00000034u; /* 028A32F0 */ cpu->r[7] = cpu->r[15]; /* 028A32F4 */ cpu->r[6] = cpu->r[17]; /* 028A32F8 */ cpu->r[5] = cpu->r[25]; /* 028A32FC */ Gambit_fn_028A0A18(cpu); /* 028A3300 */ cpu->r[31] = cpu->r[3]; /* 028A3300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A3304 */ _t525 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A3304 */ _t526 = _t525 & 0x00000001u; /* 028A3304 */ if (_t526) goto L_028A3398; else goto L_028A3308; L_028A3308: ; // 0x28a3308 /* 028A3308 */ goto L_028A3340; L_028A330C: ; // 0x28a330c /* 028A330C */ cpu->r[7] = cpu->r[1] + 0x00000034u; /* 028A3310 */ Gambit_fn_0289F6D8(cpu); /* 028A3314 */ cpu->r[4] = cpu->r[3]; /* 028A3318 */ cpu->r[8] = cpu->r[28]; /* 028A331C */ cpu->r[10] = cpu->r[18]; /* 028A3320 */ cpu->r[3] = 0x00000079u; /* 028A3324 */ cpu->r[9] = cpu->r[1] + 0x00000034u; /* 028A3328 */ cpu->r[7] = cpu->r[15]; /* 028A332C */ cpu->r[6] = cpu->r[17]; /* 028A3330 */ cpu->r[5] = cpu->r[25]; /* 028A3334 */ Gambit_fn_0289FEA8(cpu); /* 028A3338 */ cpu->r[31] = cpu->r[3]; /* 028A3338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A333C */ _t527 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A333C */ _t528 = _t527 & 0x00000001u; /* 028A333C */ if (_t528) goto L_028A3398; else goto L_028A3340; L_028A3340: ; // 0x28a3340 /* 028A3340 */ _t529 = cpu->r[17] + 0x00000010u; /* 028A3340 */ cpu->r[3] = rbrew_read32(cpu->mem, _t529); /* 028A3344 */ _t530 = cpu->r[17] + 0x00000018u; /* 028A3344 */ cpu->r[4] = rbrew_read32(cpu->mem, _t530); /* 028A3348 */ Gambit_fn_0289E974(cpu); /* 028A334C */ _t531 = cpu->r[17] + 0x00000018u; /* 028A334C */ cpu->r[5] = rbrew_read32(cpu->mem, _t531); /* 028A3350 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000024u); /* 028A3354 */ /* nop */ /* 028A3358 */ _t532 = cpu->r[1] + 0x0000001Cu; /* 028A3358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t532); /* 028A335C */ cpu->r[4] = cpu->r[6]; /* 028A3360 */ _t533 = cpu->r[12] + 0x00000024u; /* 028A3360 */ cpu->r[10] = rbrew_read32(cpu->mem, _t533); /* 028A3364 */ cpu->r[7] = cpu->r[3] - cpu->r[4]; /* 028A3368 */ cpu->r[6] = cpu->r[17] + cpu->r[8]; /* 028A336C */ _t534 = cpu->r[10] + 0x0000014Cu; /* 028A336C */ rbrew_write32(cpu->mem, _t534, cpu->r[7]); /* 028A3370 */ _t535 = cpu->r[6] + 0xFFFFFFECu; /* 028A3370 */ cpu->r[3] = rbrew_read32(cpu->mem, _t535); /* 028A3374 */ _t536 = cpu->r[6] + 0xFFFFFFF4u; /* 028A3374 */ cpu->r[4] = rbrew_read32(cpu->mem, _t536); /* 028A3378 */ Gambit_fn_0289E974(cpu); /* 028A337C */ _t537 = cpu->r[6] + 0xFFFFFFF4u; /* 028A337C */ cpu->r[10] = rbrew_read32(cpu->mem, _t537); /* 028A3380 */ /* nop */ /* 028A3384 */ _t538 = cpu->r[1] + 0x0000001Cu; /* 028A3384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t538); /* 028A3388 */ cpu->r[0] = cpu->r[4]; /* 028A338C */ _t539 = cpu->r[12] + 0x00000024u; /* 028A338C */ cpu->r[9] = rbrew_read32(cpu->mem, _t539); /* 028A3390 */ cpu->r[5] = cpu->r[3] + cpu->r[0]; /* 028A3394 */ _t540 = cpu->r[9] + 0x00000148u; /* 028A3394 */ rbrew_write32(cpu->mem, _t540, cpu->r[5]); L_028A3398: ; // 0x28a3398 /* 028A3398 */ _t541 = cpu->r[1] + 0x00000020u; /* 028A3398 */ cpu->r[6] = rbrew_read32(cpu->mem, _t541); /* 028A339C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000013u); /* 028A33A0 */ _t542 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A33A0 */ _t543 = _t542 & 0x00000001u; /* 028A33A0 */ if (_t543) goto L_028A477C; else goto L_028A33A4; L_028A33A4: ; // 0x28a33a4 /* 028A33A4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A33A8 */ cpu->r[7] = cpu->r[6] + 0x028A0000u; /* 028A33AC */ cpu->r[7] = cpu->r[7] + 0x000033B8u; /* 028A33B0 */ cpu->ctr = cpu->r[7]; /* 028A33B4 */ rbrew_dispatch(cpu, cpu->ctr); return; L_028A477C: ; // 0x28a477c /* 028A477C */ _t544 = cpu->r[1] + 0x0000000Cu; /* 028A477C */ cpu->r[12] = rbrew_read32(cpu->mem, _t544); /* 028A4780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A4784 */ _t545 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4784 */ _t546 = _t545 & 0x00000001u; /* 028A4784 */ if (_t546) goto L_028A479C; else goto L_028A4788; L_028A4788: ; // 0x28a4788 /* 028A4788 */ cpu->r[4] = cpu->r[31]; /* 028A478C */ cpu->r[5] = cpu->r[17]; /* 028A4790 */ cpu->r[3] = 0x00000079u; /* 028A4794 */ cpu->r[6] = cpu->r[15]; /* 028A4798 */ Gambit_fn_0289F4A4(cpu); L_028A479C: ; // 0x28a479c /* 028A479C */ _t547 = cpu->r[1] + 0x00000020u; /* 028A479C */ cpu->r[4] = rbrew_read32(cpu->mem, _t547); /* 028A47A0 */ cpu->r[5] = cpu->r[31]; /* 028A47A4 */ cpu->r[3] = 0x00000079u; /* 028A47A8 */ _t548 = cpu->r[1] + 0x0000001Cu; /* 028A47A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t548); /* 028A47AC */ cpu->r[7] = cpu->r[15]; /* 028A47B0 */ cpu->r[6] = cpu->r[17]; /* 028A47B4 */ Gambit_fn_028A170C(cpu); /* 028A47B8 */ _t549 = cpu->r[1] + 0x00000020u; /* 028A47B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t549); /* 028A47BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u); /* 028A47C0 */ _t550 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A47C0 */ _t551 = _t550 & 0x00000001u; /* 028A47C0 */ if (_t551) goto L_028A47F4; else goto L_028A47C4; L_028A47C4: ; // 0x28a47c4 /* 028A47C4 */ _t552 = cpu->r[1] + 0x0000001Cu; /* 028A47C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t552); /* 028A47C8 */ cpu->r[12] = 0x00000000u; /* 028A47CC */ _t553 = cpu->r[3] + 0x0000003Au; /* 028A47CC */ rbrew_write8(cpu->mem, _t553, (uint8_t)cpu->r[12]); /* 028A47D0 */ Gambit_fn_028989A4(cpu); /* 028A47D4 */ _t554 = cpu->r[1] + 0x0000001Cu; /* 028A47D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t554); /* 028A47D8 */ _t555 = cpu->r[12] + 0x00000024u; /* 028A47D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t555); /* 028A47DC */ _t556 = cpu->r[6] + 0x00000152u; /* 028A47DC */ cpu->r[0] = rbrew_read16(cpu->mem, _t556); /* 028A47E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000007u); /* 028A47E4 */ _t557 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A47E4 */ _t558 = _t557 & 0x00000001u; /* 028A47E4 */ if (_t558) goto L_028A47E8; else goto L_028A47F4; L_028A47E8: ; // 0x28a47e8 /* 028A47E8 */ cpu->r[3] = 0x00000079u; /* 028A47EC */ cpu->r[4] = cpu->r[15]; /* 028A47F0 */ Gambit_fn_028A169C(cpu); L_028A47F4: ; // 0x28a47f4 /* 028A47F4 */ _t559 = cpu->r[1] + 0x00000008u; /* 028A47F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t559); /* 028A47F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A47FC */ _t560 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A47FC */ _t561 = _t560 & 0x00000001u; /* 028A47FC */ if (_t561) goto L_028A51E0; else goto L_028A4800; L_028A4800: ; // 0x28a4800 /* 028A4800 */ _t562 = cpu->r[15] + 0x00000020u; /* 028A4800 */ cpu->r[25] = rbrew_read32(cpu->mem, _t562); /* 028A4804 */ _t563 = cpu->r[15] + 0x00000004u; /* 028A4804 */ cpu->r[5] = rbrew_read32(cpu->mem, _t563); /* 028A4808 */ _t564 = cpu->r[15] + 0x00000024u; /* 028A4808 */ cpu->r[4] = rbrew_read32(cpu->mem, _t564); /* 028A480C */ _t565 = cpu->r[15] + 0x0000001Cu; /* 028A480C */ cpu->r[26] = rbrew_read32(cpu->mem, _t565); /* 028A4810 */ _t566 = cpu->r[15] + 0x00000028u; /* 028A4810 */ cpu->r[10] = rbrew_read16(cpu->mem, _t566); /* 028A4814 */ _t567 = cpu->r[15] + 0x00000008u; /* 028A4814 */ cpu->r[29] = rbrew_read32(cpu->mem, _t567); /* 028A4818 */ cpu->r[27] = 0x00000000u; /* 028A481C */ _t568 = cpu->r[15] + 0x0000000Cu; /* 028A481C */ cpu->r[28] = rbrew_read32(cpu->mem, _t568); /* 028A4820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A4824 */ _t569 = cpu->r[15] + 0x00000000u; /* 028A4824 */ cpu->r[30] = rbrew_read32(cpu->mem, _t569); /* 028A4828 */ _t570 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4828 */ _t571 = _t570 & 0x00000001u; /* 028A4828 */ if (_t571) goto L_028A51E0; else goto L_028A482C; L_028A482C: ; // 0x28a482c /* 028A482C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A4830 */ cpu->r[31] = 0x00000000u; /* 028A4834 */ _t572 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4834 */ _t573 = _t572 & 0x00000001u; /* 028A4834 */ if (_t573) goto L_028A51E0; else goto L_028A4838; L_028A4838: ; // 0x28a4838 /* 028A4838 */ cpu->r[24] = cpu->r[1] + 0x00000088u; /* 028A483C */ cpu->r[12] = 0x00000000u; /* 028A4840 */ cpu->r[11] = cpu->r[24]; L_028A4844: ; // 0x28a4844 /* 028A4844 */ _t574 = cpu->r[26] + cpu->r[12]; /* 028A4844 */ cpu->r[9] = rbrew_read16(cpu->mem, _t574); /* 028A4848 */ _t575 = cpu->r[25] + cpu->r[12]; /* 028A4848 */ cpu->r[0] = rbrew_read16(cpu->mem, _t575); /* 028A484C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 028A4850 */ _t576 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4850 */ _t577 = _t576 & 0x00000001u; /* 028A4850 */ if (_t577) goto L_028A4984; else goto L_028A4854; L_028A4854: ; // 0x28a4854 /* 028A4854 */ cpu->r[6] = cpu->r[9] + 0x00000001u; /* 028A4858 */ cpu->r[23] = cpu->r[9]; /* 028A485C */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4860 */ cpu->r[21] = 0x00000000u; /* 028A4864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 028A4868 */ cpu->r[3] = cpu->r[9]; /* 028A486C */ cpu->r[22] = cpu->r[9]; /* 028A4870 */ _t578 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4870 */ _t579 = _t578 & 0x00000001u; /* 028A4870 */ if (_t579) goto L_028A48F0; else goto L_028A4874; L_028A4874: ; // 0x28a4874 /* 028A4874 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4878 */ cpu->r[20] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A487C */ _t580 = cpu->r[29] + cpu->r[8]; /* 028A487C */ cpu->r[7] = rbrew_read32(cpu->mem, _t580); /* 028A4880 */ _t581 = cpu->r[20] + cpu->r[29]; /* 028A4880 */ cpu->r[20] = rbrew_read32(cpu->mem, _t581); /* 028A4884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[20]); /* 028A4888 */ _t582 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4888 */ _t583 = _t582 & 0x00000001u; /* 028A4888 */ if (_t583) goto L_028A488C; else goto L_028A4890; L_028A488C: ; // 0x28a488c /* 028A488C */ cpu->r[23] = cpu->r[6]; L_028A4890: ; // 0x28a4890 /* 028A4890 */ cpu->r[20] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4894 */ _t584 = cpu->r[20] + cpu->r[29]; /* 028A4894 */ cpu->r[20] = rbrew_read32(cpu->mem, _t584); /* 028A4898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[20]); /* 028A489C */ _t585 = cpu->r[28] + cpu->r[8]; /* 028A489C */ cpu->r[8] = rbrew_read32(cpu->mem, _t585); /* 028A48A0 */ _t586 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A48A0 */ _t587 = _t586 & 0x00000001u; /* 028A48A0 */ if (_t587) goto L_028A48A4; else goto L_028A48A8; L_028A48A4: ; // 0x28a48a4 /* 028A48A4 */ cpu->r[9] = cpu->r[6]; L_028A48A8: ; // 0x28a48a8 /* 028A48A8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A48AC */ _t588 = cpu->r[7] + cpu->r[28]; /* 028A48AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t588); /* 028A48B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]); /* 028A48B4 */ _t589 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A48B4 */ _t590 = _t589 & 0x00000001u; /* 028A48B4 */ if (_t590) goto L_028A48B8; else goto L_028A48BC; L_028A48B8: ; // 0x28a48b8 /* 028A48B8 */ cpu->r[3] = cpu->r[6]; L_028A48BC: ; // 0x28a48bc /* 028A48BC */ cpu->r[7] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A48C0 */ _t591 = cpu->r[7] + cpu->r[28]; /* 028A48C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t591); /* 028A48C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]); /* 028A48C8 */ _t592 = cpu->r[4] + cpu->r[6]; /* 028A48C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t592); /* 028A48CC */ _t593 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A48CC */ _t594 = _t593 & 0x00000001u; /* 028A48CC */ if (_t594) goto L_028A48D0; else goto L_028A48D4; L_028A48D0: ; // 0x28a48d0 /* 028A48D0 */ cpu->r[22] = cpu->r[6]; L_028A48D4: ; // 0x28a48d4 /* 028A48D4 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A48D8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A48DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 028A48E0 */ cpu->r[21] = cpu->r[21] | cpu->r[8]; /* 028A48E4 */ _t595 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A48E4 */ _t596 = _t595 & 0x00000001u; /* 028A48E4 */ if (_t596) goto L_028A48E8; else goto L_028A4874; L_028A48E8: ; // 0x28a48e8 /* 028A48E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A48EC */ _t597 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A48EC */ _t598 = _t597 & 0x00000001u; /* 028A48EC */ if (_t598) goto L_028A48F0; else goto L_028A4984; L_028A48F0: ; // 0x28a48f0 /* 028A48F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A48F4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A48F8 */ _t599 = cpu->r[29] + cpu->r[8]; /* 028A48F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t599); /* 028A48FC */ _t600 = cpu->r[29] + cpu->r[7]; /* 028A48FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t600); /* 028A4900 */ cpu->r[0] = cpu->r[6] - cpu->r[0]; /* 028A4904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000C0u); /* 028A4908 */ _t601 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4908 */ _t602 = _t601 & 0x00000001u; /* 028A4908 */ if (_t602) goto L_028A490C; else goto L_028A4984; L_028A490C: ; // 0x28a490c /* 028A490C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4910 */ cpu->r[6] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4914 */ _t603 = cpu->r[28] + cpu->r[0]; /* 028A4914 */ cpu->r[20] = rbrew_read32(cpu->mem, _t603); /* 028A4918 */ _t604 = cpu->r[28] + cpu->r[6]; /* 028A4918 */ cpu->r[21] = rbrew_read32(cpu->mem, _t604); /* 028A491C */ cpu->r[21] = cpu->r[20] - cpu->r[21]; /* 028A4920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x000000C0u); /* 028A4924 */ _t605 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4924 */ _t606 = _t605 & 0x00000001u; /* 028A4924 */ if (_t606) goto L_028A4928; else goto L_028A4984; L_028A4928: ; // 0x28a4928 /* 028A4928 */ _t607 = cpu->r[11] + 0x00000002u; /* 028A4928 */ rbrew_write16(cpu->mem, _t607, (uint16_t)cpu->r[9]); /* 028A492C */ _t608 = cpu->r[11] + 0x00000000u; /* 028A492C */ rbrew_write16(cpu->mem, _t608, (uint16_t)cpu->r[31]); /* 028A4930 */ _t609 = cpu->r[11] + 0x00000004u; /* 028A4930 */ rbrew_write16(cpu->mem, _t609, (uint16_t)cpu->r[23]); /* 028A4934 */ _t610 = cpu->r[29] + cpu->r[8]; /* 028A4934 */ cpu->r[9] = rbrew_read32(cpu->mem, _t610); /* 028A4938 */ _t611 = cpu->r[29] + cpu->r[7]; /* 028A4938 */ cpu->r[7] = rbrew_read32(cpu->mem, _t611); /* 028A493C */ cpu->r[8] = cpu->r[9] + cpu->r[7]; /* 028A4940 */ /* nop */ /* 028A4944 */ _t612 = cpu->r[11] + 0x00000008u; /* 028A4944 */ rbrew_write16(cpu->mem, _t612, (uint16_t)cpu->r[3]); /* 028A4948 */ cpu->r[8] = cpu->r[8]; /* 028A494C */ _t613 = cpu->r[11] + 0x00000006u; /* 028A494C */ rbrew_write16(cpu->mem, _t613, (uint16_t)cpu->r[22]); /* 028A4950 */ _t614 = cpu->r[11] + 0x0000000Cu; /* 028A4950 */ rbrew_write32(cpu->mem, _t614, cpu->r[8]); /* 028A4954 */ _t615 = cpu->r[11] + 0x00000014u; /* 028A4954 */ rbrew_write32(cpu->mem, _t615, cpu->r[8]); /* 028A4958 */ _t616 = cpu->r[28] + cpu->r[0]; /* 028A4958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t616); /* 028A495C */ _t617 = cpu->r[28] + cpu->r[6]; /* 028A495C */ cpu->r[0] = rbrew_read32(cpu->mem, _t617); /* 028A4960 */ cpu->r[0] = cpu->r[9] + cpu->r[0]; /* 028A4964 */ /* nop */ /* 028A4968 */ cpu->r[8] = cpu->r[0]; /* 028A496C */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 028A4970 */ _t618 = cpu->r[11] + 0x00000018u; /* 028A4970 */ rbrew_write32(cpu->mem, _t618, cpu->r[8]); /* 028A4974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000004u); /* 028A4978 */ _t619 = cpu->r[11] + 0x00000010u; /* 028A4978 */ rbrew_write32(cpu->mem, _t619, cpu->r[8]); /* 028A497C */ cpu->r[11] = cpu->r[11] + 0x0000001Cu; /* 028A4980 */ _t620 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4980 */ _t621 = _t620 & 0x00000001u; /* 028A4980 */ if (_t621) goto L_028A51E0; else goto L_028A4984; L_028A4984: ; // 0x28a4984 /* 028A4984 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A4988 */ cpu->r[12] = cpu->r[12] + 0x00000002u; /* 028A498C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028A498C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A4990 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4994 */ _t622 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4994 */ _t623 = _t622 & 0x00000001u; /* 028A4994 */ if (_t623) goto L_028A4998; else goto L_028A4844; L_028A4998: ; // 0x28a4998 /* 028A4998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A499C */ _t624 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A499C */ _t625 = _t624 & 0x00000001u; /* 028A499C */ if (_t625) goto L_028A51E0; else goto L_028A49A0; L_028A49A0: ; // 0x28a49a0 /* 028A49A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000004u); /* 028A49A4 */ _t626 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A49A4 */ _t627 = _t626 & 0x00000001u; /* 028A49A4 */ if (_t627) goto L_028A49A8; else goto L_028A51E0; L_028A49A8: ; // 0x28a49a8 /* 028A49A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A49AC */ cpu->r[6] = 0x00000000u; /* 028A49B0 */ _t628 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A49B0 */ _t629 = _t628 & 0x00000001u; /* 028A49B0 */ if (_t629) goto L_028A49B4; else goto L_028A4A48; L_028A49B4: ; // 0x28a49b4 /* 028A49B4 */ cpu->r[8] = cpu->r[27] + 0xFFFFFFFFu; /* 028A49B8 */ cpu->r[10] = cpu->r[24]; L_028A49BC: ; // 0x28a49bc /* 028A49BC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 028A49C0 */ cpu->r[12] = cpu->r[6] + 0x00000001u; /* 028A49C4 */ cpu->r[7] = cpu->r[8] - cpu->r[12]; /* 028A49C8 */ cpu->r[9] = cpu->r[10] + cpu->r[0]; /* 028A49CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[27]); /* 028A49D0 */ _t630 = cpu->r[9] + 0x00000018u; /* 028A49D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t630); /* 028A49D4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028A49D8 */ _t631 = cpu->r[9] + 0x00000014u; /* 028A49D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t631); /* 028A49DC */ _t632 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A49DC */ _t633 = _t632 & 0x00000001u; /* 028A49DC */ if (_t633) goto L_028A49E0; else goto L_028A4A38; L_028A49E0: ; // 0x28a49e0 /* 028A49E0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 028A49E4 */ cpu->ctr = cpu->r[7]; /* 028A49E8 */ cpu->r[7] = cpu->r[10] + cpu->r[0]; /* 028A49EC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFE4u; L_028A49F0: ; // 0x28a49f0 /* 028A49F0 */ _t634 = cpu->r[7] + 0x00000030u; /* 028A49F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t634); /* 028A49F4 */ cpu->r[9] = cpu->r[3] - cpu->r[0]; /* 028A49F8 */ /* nop */ /* 028A49FC */ cpu->r[9] = cpu->r[9] ^ cpu->r[0]; /* 028A4A00 */ cpu->r[9] = cpu->r[9] - cpu->r[0]; /* 028A4A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000020u); /* 028A4A08 */ _t635 = cpu->r[7] + 0x00000034u; /* 028A4A08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t635); /* 028A4A0C */ cpu->r[7] = cpu->r[7] + 0x0000001Cu; /* 028A4A10 */ _t636 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4A10 */ _t637 = _t636 & 0x00000001u; /* 028A4A10 */ if (_t637) goto L_028A4A14; else goto L_028A4A18; L_028A4A14: ; // 0x28a4a14 /* 028A4A14 */ _t638 = cpu->r[7] + 0x00000014u; /* 028A4A14 */ rbrew_write32(cpu->mem, _t638, cpu->r[3]); L_028A4A18: ; // 0x28a4a18 /* 028A4A18 */ cpu->r[9] = cpu->r[11] - cpu->r[9]; /* 028A4A1C */ /* nop */ /* 028A4A20 */ cpu->r[9] = cpu->r[9] ^ cpu->r[0]; /* 028A4A24 */ cpu->r[9] = cpu->r[9] - cpu->r[0]; /* 028A4A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000020u); /* 028A4A2C */ _t639 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4A2C */ _t640 = _t639 & 0x00000001u; /* 028A4A2C */ if (_t640) goto L_028A4A30; else goto L_028A4A34; L_028A4A30: ; // 0x28a4a30 /* 028A4A30 */ _t641 = cpu->r[7] + 0x00000018u; /* 028A4A30 */ rbrew_write32(cpu->mem, _t641, cpu->r[11]); L_028A4A34: ; // 0x28a4a34 /* 028A4A34 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A4A34 */ _t642 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A4A34 */ _t643 = _t642 >> (0x00000002u & 31u); /* 028A4A34 */ _t644 = _t643 & 0x00000001u; /* 028A4A34 */ if (_t644) goto L_028A49F0; else goto L_028A4A38; L_028A4A38: ; // 0x28a4a38 /* 028A4A38 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A4A3C */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A4A44 */ _t645 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4A44 */ _t646 = _t645 & 0x00000001u; /* 028A4A44 */ if (_t646) goto L_028A49BC; else goto L_028A4A48; L_028A4A48: ; // 0x28a4a48 /* 028A4A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A4A4C */ cpu->r[6] = 0x00000000u; /* 028A4A50 */ _t647 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4A50 */ _t648 = _t647 & 0x00000001u; /* 028A4A50 */ if (_t648) goto L_028A4A54; else goto L_028A4A90; L_028A4A54: ; // 0x28a4a54 /* 028A4A54 */ cpu->r[7] = cpu->r[24]; L_028A4A58: ; // 0x28a4a58 /* 028A4A58 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 028A4A5C */ cpu->r[8] = cpu->r[7] + cpu->r[0]; /* 028A4A60 */ _t649 = cpu->r[8] + 0x00000014u; /* 028A4A60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t649); /* 028A4A64 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A4A68 */ cpu->r[10] = cpu->r[9] + 0x00000020u; /* 028A4A6C */ _t650 = cpu->r[8] + 0x00000014u; /* 028A4A6C */ rbrew_write32(cpu->mem, _t650, cpu->r[10]); /* 028A4A70 */ _t651 = cpu->r[8] + 0x00000018u; /* 028A4A70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t651); /* 028A4A74 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A4A78 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u); /* 028A4A7C */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4A80 */ cpu->r[10] = cpu->r[10] + 0x00000020u; /* 028A4A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A4A88 */ _t652 = cpu->r[8] + 0x00000018u; /* 028A4A88 */ rbrew_write32(cpu->mem, _t652, cpu->r[10]); /* 028A4A8C */ _t653 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4A8C */ _t654 = _t653 & 0x00000001u; /* 028A4A8C */ if (_t654) goto L_028A4A58; else goto L_028A4A90; L_028A4A90: ; // 0x28a4a90 /* 028A4A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A4A94 */ cpu->r[6] = 0x00000000u; /* 028A4A98 */ _t655 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4A98 */ _t656 = _t655 & 0x00000001u; /* 028A4A98 */ if (_t656) goto L_028A4A9C; else goto L_028A4B2C; L_028A4A9C: ; // 0x28a4a9c /* 028A4A9C */ cpu->r[10] = cpu->r[24]; L_028A4AA0: ; // 0x28a4aa0 /* 028A4AA0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 028A4AA4 */ cpu->r[9] = cpu->r[10] + cpu->r[0]; /* 028A4AA8 */ _t657 = cpu->r[10] + cpu->r[0]; /* 028A4AA8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t657); /* 028A4AAC */ _t658 = cpu->r[9] + 0x0000000Cu; /* 028A4AAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t658); /* 028A4AB0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A4AB4 */ _t659 = cpu->r[9] + 0x00000010u; /* 028A4AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t659); /* 028A4AB8 */ _t660 = cpu->r[9] + 0x00000018u; /* 028A4AB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t660); /* 028A4ABC */ _t661 = cpu->r[9] + 0x00000014u; /* 028A4ABC */ cpu->r[11] = rbrew_read32(cpu->mem, _t661); /* 028A4AC0 */ _t662 = cpu->r[8] + cpu->r[26]; /* 028A4AC0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t662); /* 028A4AC4 */ cpu->r[3] = cpu->r[7] - cpu->r[0]; /* 028A4AC8 */ _t663 = cpu->r[8] + cpu->r[25]; /* 028A4AC8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t663); /* 028A4ACC */ cpu->r[12] = cpu->r[11] - cpu->r[12]; /* 028A4AD0 */ cpu->r[11] = cpu->r[9]; /* 028A4AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 028A4AD8 */ cpu->r[9] = cpu->r[0] - cpu->r[9]; /* 028A4ADC */ cpu->r[0] = cpu->r[9] + 0x00000001u; /* 028A4AE0 */ _t664 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4AE0 */ _t665 = _t664 & 0x00000001u; /* 028A4AE0 */ if (_t665) goto L_028A4B1C; else goto L_028A4AE4; L_028A4AE4: ; // 0x28a4ae4 /* 028A4AE4 */ cpu->ctr = cpu->r[0]; /* 028A4AE8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); L_028A4AEC: ; // 0x28a4aec /* 028A4AEC */ _t666 = cpu->r[29] + cpu->r[9]; /* 028A4AEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t666); /* 028A4AF0 */ cpu->r[0] = cpu->r[8] + cpu->r[12]; /* 028A4AF4 */ _t667 = cpu->r[30] + cpu->r[9]; /* 028A4AF4 */ rbrew_write32(cpu->mem, _t667, cpu->r[0]); /* 028A4AF8 */ _t668 = cpu->r[28] + cpu->r[9]; /* 028A4AF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t668); /* 028A4AFC */ cpu->r[7] = cpu->r[8] + cpu->r[3]; /* 028A4B00 */ _t669 = cpu->r[5] + cpu->r[9]; /* 028A4B00 */ rbrew_write32(cpu->mem, _t669, cpu->r[7]); /* 028A4B04 */ _t670 = cpu->r[4] + cpu->r[11]; /* 028A4B04 */ cpu->r[8] = rbrew_read8(cpu->mem, _t670); /* 028A4B08 */ cpu->r[8] = cpu->r[8] | 0x00000003u; /* 028A4B0C */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 028A4B10 */ _t671 = cpu->r[4] + cpu->r[11]; /* 028A4B10 */ rbrew_write8(cpu->mem, _t671, (uint8_t)cpu->r[8]); /* 028A4B14 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A4B18 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A4B18 */ _t672 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A4B18 */ _t673 = _t672 >> (0x00000002u & 31u); /* 028A4B18 */ _t674 = _t673 & 0x00000001u; /* 028A4B18 */ if (_t674) goto L_028A4AEC; else goto L_028A4B1C; L_028A4B1C: ; // 0x28a4b1c /* 028A4B1C */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A4B20 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A4B28 */ _t675 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4B28 */ _t676 = _t675 & 0x00000001u; /* 028A4B28 */ if (_t676) goto L_028A4AA0; else goto L_028A4B2C; L_028A4B2C: ; // 0x28a4b2c /* 028A4B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000002u); /* 028A4B30 */ _t677 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4B30 */ _t678 = _t677 & 0x00000001u; /* 028A4B30 */ if (_t678) goto L_028A51E0; else goto L_028A4B34; L_028A4B34: ; // 0x28a4b34 /* 028A4B34 */ cpu->r[6] = 0x00000030u; /* 028A4B38 */ cpu->r[8] = 0x00000007u; /* 028A4B3C */ _t679 = cpu->r[1] + 0x0000006Cu; /* 028A4B3C */ rbrew_write32(cpu->mem, _t679, cpu->r[6]); /* 028A4B40 */ cpu->r[7] = 0x00000015u; /* 028A4B44 */ _t680 = cpu->r[1] + 0x00000074u; /* 028A4B44 */ rbrew_write32(cpu->mem, _t680, cpu->r[8]); /* 028A4B48 */ cpu->r[4] = 0x00000070u; /* 028A4B4C */ _t681 = cpu->r[1] + 0x00000070u; /* 028A4B4C */ rbrew_write32(cpu->mem, _t681, cpu->r[7]); /* 028A4B50 */ cpu->r[0] = 0x00000001u; /* 028A4B54 */ _t682 = cpu->r[1] + 0x00000068u; /* 028A4B54 */ rbrew_write32(cpu->mem, _t682, cpu->r[4]); /* 028A4B58 */ cpu->r[7] = cpu->r[27]; /* 028A4B5C */ cpu->r[9] = 0x00000003u; /* 028A4B60 */ _t683 = cpu->r[1] + 0x0000007Cu; /* 028A4B60 */ rbrew_write32(cpu->mem, _t683, cpu->r[0]); /* 028A4B64 */ cpu->r[4] = cpu->r[1] + 0x00000064u; /* 028A4B68 */ cpu->r[11] = 0x00000006u; /* 028A4B6C */ _t684 = cpu->r[1] + 0x00000078u; /* 028A4B6C */ rbrew_write32(cpu->mem, _t684, cpu->r[9]); L_028A4B70: ; // 0x28a4b70 /* 028A4B70 */ _t685 = cpu->r[4] + 0x00000004u; /* 028A4B70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t685); /* 028A4B70 */ cpu->r[4] = _t685; /* 028A4B74 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]); /* 028A4B7C */ _t686 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4B7C */ _t687 = _t686 & 0x00000001u; /* 028A4B7C */ if (_t687) goto L_028A4B80; else goto L_028A4CA4; L_028A4B80: ; // 0x28a4b80 /* 028A4B80 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000001Cu); /* 028A4B84 */ cpu->r[8] = cpu->r[24]; L_028A4B88: ; // 0x28a4b88 /* 028A4B88 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 028A4B8C */ cpu->r[19] = cpu->r[10] + cpu->r[8]; /* 028A4B90 */ _t688 = cpu->r[19] + 0x00000008u; /* 028A4B90 */ cpu->r[18] = rbrew_read32(cpu->mem, _t688); /* 028A4B94 */ _t689 = cpu->r[19] + 0x00000000u; /* 028A4B94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t689); /* 028A4B98 */ _t690 = cpu->r[1] + 0x00000050u; /* 028A4B98 */ rbrew_write32(cpu->mem, _t690, cpu->r[18]); /* 028A4B9C */ cpu->r[22] = cpu->r[6]; /* 028A4BA0 */ _t691 = cpu->r[1] + 0x00000048u; /* 028A4BA0 */ rbrew_write32(cpu->mem, _t691, cpu->r[10]); /* 028A4BA4 */ cpu->r[10] = cpu->r[22] - cpu->r[3]; /* 028A4BA8 */ _t692 = cpu->r[19] + 0x00000004u; /* 028A4BA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t692); /* 028A4BAC */ _t693 = cpu->r[19] + 0x00000010u; /* 028A4BAC */ cpu->r[23] = rbrew_read32(cpu->mem, _t693); /* 028A4BB0 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000001Cu); /* 028A4BB4 */ _t694 = cpu->r[1] + 0x0000004Cu; /* 028A4BB4 */ rbrew_write32(cpu->mem, _t694, cpu->r[12]); /* 028A4BB8 */ _t695 = cpu->r[1] + 0x0000004Cu; /* 028A4BB8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t695); /* 028A4BBC */ _t696 = cpu->r[19] + 0x0000000Cu; /* 028A4BBC */ cpu->r[20] = rbrew_read32(cpu->mem, _t696); /* 028A4BC0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[22] * (int32_t)0x0000001Cu); /* 028A4BC4 */ _t697 = cpu->r[1] + 0x00000058u; /* 028A4BC4 */ rbrew_write32(cpu->mem, _t697, cpu->r[23]); /* 028A4BC8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4BCC */ _t698 = cpu->r[1] + 0x00000054u; /* 028A4BCC */ rbrew_write32(cpu->mem, _t698, cpu->r[20]); /* 028A4BD0 */ cpu->r[12] = cpu->r[8] + cpu->r[31]; /* 028A4BD4 */ _t699 = cpu->r[19] + 0x00000018u; /* 028A4BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t699); /* 028A4BD8 */ _t700 = cpu->r[19] + 0x00000014u; /* 028A4BD8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t700); /* 028A4BDC */ cpu->r[9] = cpu->r[8] + cpu->r[9]; /* 028A4BE0 */ _t701 = cpu->r[1] + 0x00000060u; /* 028A4BE0 */ rbrew_write32(cpu->mem, _t701, cpu->r[31]); /* 028A4BE4 */ cpu->r[10] = cpu->r[30] + cpu->r[10]; /* 028A4BE8 */ _t702 = cpu->r[1] + 0x0000005Cu; /* 028A4BE8 */ rbrew_write32(cpu->mem, _t702, cpu->r[20]); /* 028A4BEC */ goto L_028A4C34; L_028A4BF0: ; // 0x28a4bf0 /* 028A4BF0 */ _t703 = cpu->r[12] + 0x00000000u; /* 028A4BF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t703); /* 028A4BF4 */ _t704 = cpu->r[9] + 0x00000000u; /* 028A4BF4 */ rbrew_write32(cpu->mem, _t704, cpu->r[31]); /* 028A4BF8 */ _t705 = cpu->r[12] + 0x00000004u; /* 028A4BF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t705); /* 028A4BFC */ _t706 = cpu->r[9] + 0x00000004u; /* 028A4BFC */ rbrew_write32(cpu->mem, _t706, cpu->r[31]); /* 028A4C00 */ _t707 = cpu->r[12] + 0x00000008u; /* 028A4C00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t707); /* 028A4C04 */ _t708 = cpu->r[9] + 0x00000008u; /* 028A4C04 */ rbrew_write32(cpu->mem, _t708, cpu->r[31]); /* 028A4C08 */ _t709 = cpu->r[12] + 0x0000000Cu; /* 028A4C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t709); /* 028A4C0C */ _t710 = cpu->r[9] + 0x0000000Cu; /* 028A4C0C */ rbrew_write32(cpu->mem, _t710, cpu->r[31]); /* 028A4C10 */ _t711 = cpu->r[12] + 0x00000010u; /* 028A4C10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t711); /* 028A4C14 */ _t712 = cpu->r[9] + 0x00000010u; /* 028A4C14 */ rbrew_write32(cpu->mem, _t712, cpu->r[31]); /* 028A4C18 */ _t713 = cpu->r[12] + 0x00000014u; /* 028A4C18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t713); /* 028A4C1C */ _t714 = cpu->r[9] + 0x00000014u; /* 028A4C1C */ rbrew_write32(cpu->mem, _t714, cpu->r[31]); /* 028A4C20 */ _t715 = cpu->r[12] + 0x00000018u; /* 028A4C20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t715); /* 028A4C24 */ cpu->r[12] = cpu->r[12] - cpu->r[0]; /* 028A4C28 */ cpu->r[22] = cpu->r[22] - cpu->r[3]; /* 028A4C2C */ _t716 = cpu->r[9] + 0x00000018u; /* 028A4C2C */ rbrew_write32(cpu->mem, _t716, cpu->r[31]); /* 028A4C30 */ cpu->r[9] = cpu->r[9] - cpu->r[0]; L_028A4C34: ; // 0x28a4c34 /* 028A4C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[3]); /* 028A4C38 */ _t717 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4C38 */ _t718 = _t717 & 0x00000001u; /* 028A4C38 */ if (_t718) goto L_028A4C54; else goto L_028A4C3C; L_028A4C3C: ; // 0x28a4c3c /* 028A4C3C */ _t719 = cpu->r[12] + 0x00000004u; /* 028A4C3C */ cpu->r[23] = rbrew_read16(cpu->mem, _t719); /* 028A4C40 */ _t720 = cpu->r[10] + 0x00000000u; /* 028A4C40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t720); /* 028A4C44 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4C48 */ _t721 = cpu->r[23] + cpu->r[30]; /* 028A4C48 */ cpu->r[23] = rbrew_read32(cpu->mem, _t721); /* 028A4C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[31]); /* 028A4C50 */ _t722 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4C50 */ _t723 = _t722 & 0x00000001u; /* 028A4C50 */ if (_t723) goto L_028A4BF0; else goto L_028A4C54; L_028A4C54: ; // 0x28a4c54 /* 028A4C54 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[22] * (int32_t)0x0000001Cu); /* 028A4C58 */ _t724 = cpu->r[1] + 0x00000048u; /* 028A4C58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t724); /* 028A4C5C */ cpu->r[12] = cpu->r[9] + cpu->r[8]; /* 028A4C60 */ _t725 = cpu->r[1] + 0x0000005Cu; /* 028A4C60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t725); /* 028A4C64 */ _t726 = cpu->r[12] + 0x00000000u; /* 028A4C64 */ rbrew_write32(cpu->mem, _t726, cpu->r[10]); /* 028A4C68 */ _t727 = cpu->r[12] + 0x00000014u; /* 028A4C68 */ rbrew_write32(cpu->mem, _t727, cpu->r[9]); /* 028A4C6C */ _t728 = cpu->r[1] + 0x0000004Cu; /* 028A4C6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t728); /* 028A4C70 */ _t729 = cpu->r[1] + 0x00000050u; /* 028A4C70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t729); /* 028A4C74 */ _t730 = cpu->r[12] + 0x00000004u; /* 028A4C74 */ rbrew_write32(cpu->mem, _t730, cpu->r[9]); /* 028A4C78 */ _t731 = cpu->r[12] + 0x00000008u; /* 028A4C78 */ rbrew_write32(cpu->mem, _t731, cpu->r[10]); /* 028A4C7C */ _t732 = cpu->r[1] + 0x00000058u; /* 028A4C7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t732); /* 028A4C80 */ _t733 = cpu->r[1] + 0x00000054u; /* 028A4C80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t733); /* 028A4C84 */ _t734 = cpu->r[12] + 0x00000010u; /* 028A4C84 */ rbrew_write32(cpu->mem, _t734, cpu->r[10]); /* 028A4C88 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A4C8C */ _t735 = cpu->r[1] + 0x00000060u; /* 028A4C8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t735); /* 028A4C90 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4C94 */ _t736 = cpu->r[12] + 0x0000000Cu; /* 028A4C94 */ rbrew_write32(cpu->mem, _t736, cpu->r[9]); /* 028A4C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]); /* 028A4C9C */ _t737 = cpu->r[12] + 0x00000018u; /* 028A4C9C */ rbrew_write32(cpu->mem, _t737, cpu->r[10]); /* 028A4CA0 */ _t738 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4CA0 */ _t739 = _t738 & 0x00000001u; /* 028A4CA0 */ if (_t739) goto L_028A4B88; else goto L_028A4CA4; L_028A4CA4: ; // 0x28a4ca4 /* 028A4CA4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028A4CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A4CA8 */ _t740 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4CA8 */ _t741 = _t740 & 0x00000001u; /* 028A4CA8 */ if (_t741) goto L_028A4CAC; else goto L_028A4B70; L_028A4CAC: ; // 0x28a4cac /* 028A4CAC */ cpu->r[31] = 0x00000000u; L_028A4CB0: ; // 0x28a4cb0 /* 028A4CB0 */ cpu->r[6] = cpu->r[31] + 0x00000001u; /* 028A4CB4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A4CBC */ _t742 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4CBC */ _t743 = _t742 & 0x00000001u; /* 028A4CBC */ if (_t743) goto L_028A4CC0; else goto L_028A4D60; L_028A4CC0: ; // 0x28a4cc0 /* 028A4CC0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000001Cu); /* 028A4CC4 */ cpu->r[23] = cpu->r[24] + cpu->r[0]; L_028A4CC8: ; // 0x28a4cc8 /* 028A4CC8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 028A4CCC */ _t744 = cpu->r[23] + 0x00000004u; /* 028A4CCC */ cpu->r[7] = rbrew_read16(cpu->mem, _t744); /* 028A4CD0 */ cpu->r[22] = cpu->r[24] + cpu->r[0]; /* 028A4CD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4CD8 */ _t745 = cpu->r[22] + 0x00000002u; /* 028A4CD8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t745); /* 028A4CDC */ _t746 = cpu->r[29] + cpu->r[0]; /* 028A4CDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t746); /* 028A4CE0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4CE4 */ _t747 = cpu->r[29] + cpu->r[9]; /* 028A4CE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t747); /* 028A4CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[4]); /* 028A4CEC */ _t748 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4CEC */ _t749 = _t748 & 0x00000001u; /* 028A4CEC */ if (_t749) goto L_028A4CF0; else goto L_028A4D50; L_028A4CF0: ; // 0x28a4cf0 /* 028A4CF0 */ _t750 = cpu->r[30] + cpu->r[0]; /* 028A4CF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t750); /* 028A4CF4 */ _t751 = cpu->r[30] + cpu->r[9]; /* 028A4CF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t751); /* 028A4CF8 */ Gambit_fn_028A236C(cpu); /* 028A4CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A4D00 */ _t752 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4D00 */ _t753 = _t752 & 0x00000001u; /* 028A4D00 */ if (_t753) goto L_028A4D04; else goto L_028A4D50; L_028A4D04: ; // 0x28a4d04 /* 028A4D04 */ _t754 = cpu->r[22] + 0x00000000u; /* 028A4D04 */ cpu->r[0] = rbrew_read16(cpu->mem, _t754); /* 028A4D08 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A4D0C */ _t755 = cpu->r[7] + cpu->r[26]; /* 028A4D0C */ cpu->r[10] = rbrew_read16(cpu->mem, _t755); /* 028A4D10 */ _t756 = cpu->r[7] + cpu->r[25]; /* 028A4D10 */ cpu->r[0] = rbrew_read16(cpu->mem, _t756); /* 028A4D14 */ cpu->r[4] = cpu->r[0] - cpu->r[10]; /* 028A4D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 028A4D1C */ cpu->r[0] = cpu->r[4] + 0x00000001u; /* 028A4D20 */ _t757 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4D20 */ _t758 = _t757 & 0x00000001u; /* 028A4D20 */ if (_t758) goto L_028A4D44; else goto L_028A4D24; L_028A4D24: ; // 0x28a4d24 /* 028A4D24 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4D28 */ cpu->r[8] = cpu->r[30] + cpu->r[8]; /* 028A4D2C */ cpu->ctr = cpu->r[0]; /* 028A4D30 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu; L_028A4D34: ; // 0x28a4d34 /* 028A4D34 */ _t759 = cpu->r[8] + 0x00000004u; /* 028A4D34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t759); /* 028A4D34 */ cpu->r[8] = _t759; /* 028A4D38 */ cpu->r[9] = cpu->r[9] + 0x00000040u; /* 028A4D3C */ _t760 = cpu->r[8] + 0x00000000u; /* 028A4D3C */ rbrew_write32(cpu->mem, _t760, cpu->r[9]); /* 028A4D40 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A4D40 */ _t761 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A4D40 */ _t762 = _t761 >> (0x00000002u & 31u); /* 028A4D40 */ _t763 = _t762 & 0x00000001u; /* 028A4D40 */ if (_t763) goto L_028A4D34; else goto L_028A4D44; L_028A4D44: ; // 0x28a4d44 /* 028A4D44 */ _t764 = cpu->r[22] + 0x00000014u; /* 028A4D44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t764); /* 028A4D48 */ cpu->r[10] = cpu->r[10] + 0x00000040u; /* 028A4D4C */ _t765 = cpu->r[22] + 0x00000014u; /* 028A4D4C */ rbrew_write32(cpu->mem, _t765, cpu->r[10]); L_028A4D50: ; // 0x28a4d50 /* 028A4D50 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A4D54 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A4D5C */ _t766 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4D5C */ _t767 = _t766 & 0x00000001u; /* 028A4D5C */ if (_t767) goto L_028A4CC8; else goto L_028A4D60; L_028A4D60: ; // 0x28a4d60 /* 028A4D60 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A4D64 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[27]); /* 028A4D6C */ _t768 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4D6C */ _t769 = _t768 & 0x00000001u; /* 028A4D6C */ if (_t769) goto L_028A4CB0; else goto L_028A4D70; L_028A4D70: ; // 0x28a4d70 /* 028A4D70 */ cpu->r[6] = 0x00000030u; /* 028A4D74 */ cpu->r[4] = 0x00000070u; /* 028A4D78 */ _t770 = cpu->r[1] + 0x0000006Cu; /* 028A4D78 */ rbrew_write32(cpu->mem, _t770, cpu->r[6]); /* 028A4D7C */ cpu->r[9] = 0x00000007u; /* 028A4D80 */ _t771 = cpu->r[1] + 0x00000068u; /* 028A4D80 */ rbrew_write32(cpu->mem, _t771, cpu->r[4]); /* 028A4D84 */ cpu->r[0] = 0x00000015u; /* 028A4D88 */ _t772 = cpu->r[1] + 0x00000074u; /* 028A4D88 */ rbrew_write32(cpu->mem, _t772, cpu->r[9]); /* 028A4D8C */ cpu->r[10] = 0x00000003u; /* 028A4D90 */ _t773 = cpu->r[1] + 0x00000070u; /* 028A4D90 */ rbrew_write32(cpu->mem, _t773, cpu->r[0]); /* 028A4D94 */ cpu->r[0] = 0x00000001u; /* 028A4D98 */ cpu->r[11] = 0x00000006u; /* 028A4D9C */ _t774 = cpu->r[1] + 0x00000078u; /* 028A4D9C */ rbrew_write32(cpu->mem, _t774, cpu->r[10]); /* 028A4DA0 */ cpu->r[4] = cpu->r[27]; /* 028A4DA4 */ cpu->r[9] = cpu->r[1] + 0x00000064u; /* 028A4DA8 */ _t775 = cpu->r[1] + 0x0000007Cu; /* 028A4DA8 */ rbrew_write32(cpu->mem, _t775, cpu->r[0]); L_028A4DAC: ; // 0x28a4dac /* 028A4DAC */ _t776 = cpu->r[9] + 0x00000004u; /* 028A4DAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t776); /* 028A4DAC */ cpu->r[9] = _t776; /* 028A4DB0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[4]); /* 028A4DB8 */ _t777 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4DB8 */ _t778 = _t777 & 0x00000001u; /* 028A4DB8 */ if (_t778) goto L_028A4DBC; else goto L_028A4EE8; L_028A4DBC: ; // 0x28a4dbc /* 028A4DBC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000001Cu); /* 028A4DC0 */ cpu->r[7] = cpu->r[24]; L_028A4DC4: ; // 0x28a4dc4 /* 028A4DC4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 028A4DC8 */ _t779 = cpu->r[8] + cpu->r[7]; /* 028A4DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t779); /* 028A4DCC */ cpu->r[20] = cpu->r[8] + cpu->r[7]; /* 028A4DD0 */ _t780 = cpu->r[20] + 0x00000004u; /* 028A4DD0 */ cpu->r[19] = rbrew_read32(cpu->mem, _t780); /* 028A4DD4 */ _t781 = cpu->r[1] + 0x00000048u; /* 028A4DD4 */ rbrew_write32(cpu->mem, _t781, cpu->r[0]); /* 028A4DD8 */ _t782 = cpu->r[20] + 0x0000000Cu; /* 028A4DD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t782); /* 028A4DDC */ cpu->r[31] = cpu->r[6]; /* 028A4DE0 */ _t783 = cpu->r[20] + 0x00000010u; /* 028A4DE0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t783); /* 028A4DE4 */ cpu->r[0] = cpu->r[31] - cpu->r[3]; /* 028A4DE8 */ _t784 = cpu->r[20] + 0x00000008u; /* 028A4DE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t784); /* 028A4DEC */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 028A4DF0 */ _t785 = cpu->r[1] + 0x00000054u; /* 028A4DF0 */ rbrew_write32(cpu->mem, _t785, cpu->r[8]); /* 028A4DF4 */ _t786 = cpu->r[1] + 0x0000004Cu; /* 028A4DF4 */ rbrew_write32(cpu->mem, _t786, cpu->r[19]); /* 028A4DF8 */ _t787 = cpu->r[1] + 0x00000050u; /* 028A4DF8 */ rbrew_write32(cpu->mem, _t787, cpu->r[12]); /* 028A4DFC */ _t788 = cpu->r[1] + 0x00000050u; /* 028A4DFC */ cpu->r[12] = rbrew_read16(cpu->mem, _t788); /* 028A4E00 */ cpu->r[29] = cpu->r[7] + cpu->r[29]; /* 028A4E04 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000001Cu); /* 028A4E08 */ _t789 = cpu->r[20] + 0x00000014u; /* 028A4E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t789); /* 028A4E0C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4E10 */ _t790 = cpu->r[20] + 0x00000018u; /* 028A4E10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t790); /* 028A4E14 */ _t791 = cpu->r[1] + 0x0000005Cu; /* 028A4E14 */ rbrew_write32(cpu->mem, _t791, cpu->r[0]); /* 028A4E18 */ cpu->r[8] = cpu->r[5] + cpu->r[8]; /* 028A4E1C */ _t792 = cpu->r[1] + 0x00000060u; /* 028A4E1C */ rbrew_write32(cpu->mem, _t792, cpu->r[12]); /* 028A4E20 */ cpu->r[12] = cpu->r[7] + cpu->r[23]; /* 028A4E24 */ _t793 = cpu->r[1] + 0x00000058u; /* 028A4E24 */ rbrew_write32(cpu->mem, _t793, cpu->r[22]); /* 028A4E28 */ goto L_028A4E70; L_028A4E2C: ; // 0x28a4e2c /* 028A4E2C */ _t794 = cpu->r[29] + 0x00000000u; /* 028A4E2C */ cpu->r[23] = rbrew_read32(cpu->mem, _t794); /* 028A4E30 */ _t795 = cpu->r[12] + 0x00000000u; /* 028A4E30 */ rbrew_write32(cpu->mem, _t795, cpu->r[23]); /* 028A4E34 */ _t796 = cpu->r[29] + 0x00000004u; /* 028A4E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t796); /* 028A4E38 */ _t797 = cpu->r[12] + 0x00000004u; /* 028A4E38 */ rbrew_write32(cpu->mem, _t797, cpu->r[0]); /* 028A4E3C */ _t798 = cpu->r[29] + 0x00000008u; /* 028A4E3C */ cpu->r[23] = rbrew_read32(cpu->mem, _t798); /* 028A4E40 */ _t799 = cpu->r[12] + 0x00000008u; /* 028A4E40 */ rbrew_write32(cpu->mem, _t799, cpu->r[23]); /* 028A4E44 */ _t800 = cpu->r[29] + 0x0000000Cu; /* 028A4E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t800); /* 028A4E48 */ _t801 = cpu->r[12] + 0x0000000Cu; /* 028A4E48 */ rbrew_write32(cpu->mem, _t801, cpu->r[0]); /* 028A4E4C */ _t802 = cpu->r[29] + 0x00000010u; /* 028A4E4C */ cpu->r[23] = rbrew_read32(cpu->mem, _t802); /* 028A4E50 */ _t803 = cpu->r[12] + 0x00000010u; /* 028A4E50 */ rbrew_write32(cpu->mem, _t803, cpu->r[23]); /* 028A4E54 */ _t804 = cpu->r[29] + 0x00000014u; /* 028A4E54 */ cpu->r[23] = rbrew_read32(cpu->mem, _t804); /* 028A4E58 */ _t805 = cpu->r[12] + 0x00000014u; /* 028A4E58 */ rbrew_write32(cpu->mem, _t805, cpu->r[23]); /* 028A4E5C */ _t806 = cpu->r[29] + 0x00000018u; /* 028A4E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t806); /* 028A4E60 */ cpu->r[29] = cpu->r[29] - cpu->r[10]; /* 028A4E64 */ cpu->r[31] = cpu->r[31] - cpu->r[3]; /* 028A4E68 */ _t807 = cpu->r[12] + 0x00000018u; /* 028A4E68 */ rbrew_write32(cpu->mem, _t807, cpu->r[0]); /* 028A4E6C */ cpu->r[12] = cpu->r[12] - cpu->r[10]; L_028A4E70: ; // 0x28a4e70 /* 028A4E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]); /* 028A4E74 */ _t808 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4E74 */ _t809 = _t808 & 0x00000001u; /* 028A4E74 */ if (_t809) goto L_028A4E90; else goto L_028A4E78; L_028A4E78: ; // 0x28a4e78 /* 028A4E78 */ _t810 = cpu->r[29] + 0x00000008u; /* 028A4E78 */ cpu->r[23] = rbrew_read16(cpu->mem, _t810); /* 028A4E7C */ _t811 = cpu->r[8] + 0x00000000u; /* 028A4E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t811); /* 028A4E80 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4E84 */ _t812 = cpu->r[23] + cpu->r[5]; /* 028A4E84 */ cpu->r[23] = rbrew_read32(cpu->mem, _t812); /* 028A4E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[0]); /* 028A4E8C */ _t813 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4E8C */ _t814 = _t813 & 0x00000001u; /* 028A4E8C */ if (_t814) goto L_028A4E2C; else goto L_028A4E90; L_028A4E90: ; // 0x28a4e90 /* 028A4E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u); /* 028A4E94 */ _t815 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4E94 */ _t816 = _t815 & 0x00000001u; /* 028A4E94 */ if (_t816) goto L_028A4E98; else goto L_028A4ED8; L_028A4E98: ; // 0x28a4e98 /* 028A4E98 */ _t817 = cpu->r[1] + 0x00000048u; /* 028A4E98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t817); /* 028A4E9C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000001Cu); /* 028A4EA0 */ _t818 = cpu->r[1] + 0x0000004Cu; /* 028A4EA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t818); /* 028A4EA4 */ _t819 = cpu->r[12] + cpu->r[7]; /* 028A4EA4 */ rbrew_write32(cpu->mem, _t819, cpu->r[8]); /* 028A4EA8 */ cpu->r[29] = cpu->r[12] + cpu->r[7]; /* 028A4EAC */ _t820 = cpu->r[1] + 0x0000005Cu; /* 028A4EAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t820); /* 028A4EB0 */ _t821 = cpu->r[1] + 0x00000050u; /* 028A4EB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t821); /* 028A4EB4 */ _t822 = cpu->r[29] + 0x00000014u; /* 028A4EB4 */ rbrew_write32(cpu->mem, _t822, cpu->r[8]); /* 028A4EB8 */ _t823 = cpu->r[1] + 0x00000058u; /* 028A4EB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t823); /* 028A4EBC */ _t824 = cpu->r[29] + 0x00000008u; /* 028A4EBC */ rbrew_write32(cpu->mem, _t824, cpu->r[12]); /* 028A4EC0 */ _t825 = cpu->r[29] + 0x00000010u; /* 028A4EC0 */ rbrew_write32(cpu->mem, _t825, cpu->r[8]); /* 028A4EC4 */ _t826 = cpu->r[1] + 0x00000060u; /* 028A4EC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t826); /* 028A4EC8 */ _t827 = cpu->r[1] + 0x00000054u; /* 028A4EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t827); /* 028A4ECC */ _t828 = cpu->r[29] + 0x00000018u; /* 028A4ECC */ rbrew_write32(cpu->mem, _t828, cpu->r[8]); /* 028A4ED0 */ _t829 = cpu->r[29] + 0x0000000Cu; /* 028A4ED0 */ rbrew_write32(cpu->mem, _t829, cpu->r[0]); /* 028A4ED4 */ _t830 = cpu->r[29] + 0x00000004u; /* 028A4ED4 */ rbrew_write32(cpu->mem, _t830, cpu->r[31]); L_028A4ED8: ; // 0x28a4ed8 /* 028A4ED8 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A4EDC */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[4]); /* 028A4EE4 */ _t831 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4EE4 */ _t832 = _t831 & 0x00000001u; /* 028A4EE4 */ if (_t832) goto L_028A4DC4; else goto L_028A4EE8; L_028A4EE8: ; // 0x28a4ee8 /* 028A4EE8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028A4EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A4EEC */ _t833 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4EEC */ _t834 = _t833 & 0x00000001u; /* 028A4EEC */ if (_t834) goto L_028A4EF0; else goto L_028A4DAC; L_028A4EF0: ; // 0x28a4ef0 /* 028A4EF0 */ cpu->r[29] = cpu->r[24]; /* 028A4EF4 */ cpu->r[31] = 0x00000000u; L_028A4EF8: ; // 0x28a4ef8 /* 028A4EF8 */ cpu->r[6] = cpu->r[31] + 0x00000001u; /* 028A4EFC */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A4F04 */ _t835 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4F04 */ _t836 = _t835 & 0x00000001u; /* 028A4F04 */ if (_t836) goto L_028A4F08; else goto L_028A4FAC; L_028A4F08: ; // 0x28a4f08 /* 028A4F08 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000001Cu); /* 028A4F0C */ cpu->r[29] = cpu->r[24]; /* 028A4F10 */ cpu->r[23] = cpu->r[29] + cpu->r[9]; L_028A4F14: ; // 0x28a4f14 /* 028A4F14 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 028A4F18 */ _t837 = cpu->r[23] + 0x00000008u; /* 028A4F18 */ cpu->r[8] = rbrew_read16(cpu->mem, _t837); /* 028A4F1C */ cpu->r[22] = cpu->r[29] + cpu->r[0]; /* 028A4F20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4F24 */ _t838 = cpu->r[22] + 0x00000006u; /* 028A4F24 */ cpu->r[9] = rbrew_read16(cpu->mem, _t838); /* 028A4F28 */ _t839 = cpu->r[28] + cpu->r[0]; /* 028A4F28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t839); /* 028A4F2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4F30 */ _t840 = cpu->r[28] + cpu->r[10]; /* 028A4F30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t840); /* 028A4F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]); /* 028A4F38 */ _t841 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4F38 */ _t842 = _t841 & 0x00000001u; /* 028A4F38 */ if (_t842) goto L_028A4F3C; else goto L_028A4F9C; L_028A4F3C: ; // 0x28a4f3c /* 028A4F3C */ _t843 = cpu->r[5] + cpu->r[0]; /* 028A4F3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t843); /* 028A4F40 */ _t844 = cpu->r[5] + cpu->r[10]; /* 028A4F40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t844); /* 028A4F44 */ Gambit_fn_028A236C(cpu); /* 028A4F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A4F4C */ _t845 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4F4C */ _t846 = _t845 & 0x00000001u; /* 028A4F4C */ if (_t846) goto L_028A4F50; else goto L_028A4F9C; L_028A4F50: ; // 0x28a4f50 /* 028A4F50 */ _t847 = cpu->r[22] + 0x00000000u; /* 028A4F50 */ cpu->r[0] = rbrew_read16(cpu->mem, _t847); /* 028A4F54 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A4F58 */ _t848 = cpu->r[8] + cpu->r[26]; /* 028A4F58 */ cpu->r[10] = rbrew_read16(cpu->mem, _t848); /* 028A4F5C */ _t849 = cpu->r[8] + cpu->r[25]; /* 028A4F5C */ cpu->r[0] = rbrew_read16(cpu->mem, _t849); /* 028A4F60 */ cpu->r[4] = cpu->r[0] - cpu->r[10]; /* 028A4F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 028A4F68 */ cpu->r[0] = cpu->r[4] + 0x00000001u; /* 028A4F6C */ _t850 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A4F6C */ _t851 = _t850 & 0x00000001u; /* 028A4F6C */ if (_t851) goto L_028A4F90; else goto L_028A4F70; L_028A4F70: ; // 0x28a4f70 /* 028A4F70 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A4F74 */ cpu->r[10] = cpu->r[5] + cpu->r[8]; /* 028A4F78 */ cpu->ctr = cpu->r[0]; /* 028A4F7C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; L_028A4F80: ; // 0x28a4f80 /* 028A4F80 */ _t852 = cpu->r[10] + 0x00000004u; /* 028A4F80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t852); /* 028A4F80 */ cpu->r[10] = _t852; /* 028A4F84 */ cpu->r[9] = cpu->r[9] + 0x00000040u; /* 028A4F88 */ _t853 = cpu->r[10] + 0x00000000u; /* 028A4F88 */ rbrew_write32(cpu->mem, _t853, cpu->r[9]); /* 028A4F8C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A4F8C */ _t854 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A4F8C */ _t855 = _t854 >> (0x00000002u & 31u); /* 028A4F8C */ _t856 = _t855 & 0x00000001u; /* 028A4F8C */ if (_t856) goto L_028A4F80; else goto L_028A4F90; L_028A4F90: ; // 0x28a4f90 /* 028A4F90 */ _t857 = cpu->r[22] + 0x00000018u; /* 028A4F90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t857); /* 028A4F94 */ cpu->r[10] = cpu->r[10] + 0x00000040u; /* 028A4F98 */ _t858 = cpu->r[22] + 0x00000018u; /* 028A4F98 */ rbrew_write32(cpu->mem, _t858, cpu->r[10]); L_028A4F9C: ; // 0x28a4f9c /* 028A4F9C */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 028A4FA0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[27]); /* 028A4FA8 */ _t859 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4FA8 */ _t860 = _t859 & 0x00000001u; /* 028A4FA8 */ if (_t860) goto L_028A4F14; else goto L_028A4FAC; L_028A4FAC: ; // 0x28a4fac /* 028A4FAC */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A4FB0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028A4FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[27]); /* 028A4FB8 */ _t861 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4FB8 */ _t862 = _t861 & 0x00000001u; /* 028A4FB8 */ if (_t862) goto L_028A4EF8; else goto L_028A4FBC; L_028A4FBC: ; // 0x28a4fbc /* 028A4FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000003u); /* 028A4FC0 */ _t863 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A4FC0 */ _t864 = _t863 & 0x00000001u; /* 028A4FC0 */ if (_t864) goto L_028A4FC4; else goto L_028A51E0; L_028A4FC4: ; // 0x28a4fc4 /* 028A4FC4 */ _t865 = cpu->r[24] + 0x00000028u; /* 028A4FC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t865); /* 028A4FC8 */ _t866 = cpu->r[24] + 0x00000044u; /* 028A4FC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t866); /* 028A4FCC */ cpu->r[0] = cpu->r[8] + cpu->r[9]; /* 028A4FD0 */ /* nop */ /* 028A4FD4 */ cpu->r[0] = cpu->r[6]; /* 028A4FD8 */ _t867 = cpu->r[24] + 0x0000000Cu; /* 028A4FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t867); /* 028A4FDC */ cpu->r[7] = cpu->r[10] - cpu->r[0]; /* 028A4FE0 */ /* nop */ /* 028A4FE4 */ cpu->r[7] = cpu->r[7] ^ cpu->r[4]; /* 028A4FE8 */ cpu->r[7] = cpu->r[7] - cpu->r[4]; /* 028A4FEC */ cpu->r[4] = 0x00000000u; /* 028A4FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000020u); /* 028A4FF4 */ cpu->r[12] = cpu->r[4]; /* 028A4FF8 */ _t868 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A4FF8 */ _t869 = _t868 & 0x00000001u; /* 028A4FF8 */ if (_t869) goto L_028A4FFC; else goto L_028A5064; L_028A4FFC: ; // 0x28a4ffc /* 028A4FFC */ _t870 = cpu->r[24] + 0x00000030u; /* 028A4FFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t870); /* 028A5000 */ _t871 = cpu->r[24] + 0x0000004Cu; /* 028A5000 */ cpu->r[7] = rbrew_read32(cpu->mem, _t871); /* 028A5004 */ cpu->r[0] = cpu->r[6] + cpu->r[7]; /* 028A5008 */ /* nop */ /* 028A500C */ cpu->r[7] = cpu->r[5]; /* 028A5010 */ _t872 = cpu->r[24] + 0x00000014u; /* 028A5010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t872); /* 028A5014 */ cpu->r[0] = cpu->r[11] - cpu->r[7]; /* 028A5018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u); /* 028A501C */ _t873 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A501C */ _t874 = _t873 & 0x00000001u; /* 028A501C */ if (_t874) goto L_028A5020; else goto L_028A5050; L_028A5020: ; // 0x28a5020 /* 028A5020 */ cpu->r[5] = cpu->r[10] + cpu->r[9]; /* 028A5024 */ /* nop */ /* 028A5028 */ cpu->r[0] = cpu->r[6]; /* 028A502C */ cpu->r[0] = cpu->r[8] - cpu->r[0]; /* 028A5030 */ /* nop */ /* 028A5034 */ cpu->r[0] = cpu->r[0] ^ cpu->r[7]; /* 028A5038 */ cpu->r[0] = cpu->r[0] - cpu->r[7]; /* 028A503C */ cpu->r[4] = 0x00000000u; /* 028A5040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u); /* 028A5044 */ cpu->r[12] = 0xFFFFFFC0u; /* 028A5048 */ _t875 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5048 */ _t876 = _t875 & 0x00000001u; /* 028A5048 */ if (_t876) goto L_028A5088; else goto L_028A504C; L_028A504C: ; // 0x28a504c /* 028A504C */ goto L_028A50F0; L_028A5050: ; // 0x28a5050 /* 028A5050 */ cpu->r[7] = cpu->r[7] - cpu->r[11]; /* 028A5054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000020u); /* 028A5058 */ _t877 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A5058 */ _t878 = _t877 & 0x00000001u; /* 028A5058 */ if (_t878) goto L_028A505C; else goto L_028A5064; L_028A505C: ; // 0x28a505c /* 028A505C */ cpu->r[12] = 0x00000040u; /* 028A5060 */ cpu->r[4] = 0x00000000u; L_028A5064: ; // 0x28a5064 /* 028A5064 */ cpu->r[5] = cpu->r[10] + cpu->r[9]; /* 028A5068 */ /* nop */ /* 028A506C */ cpu->r[0] = cpu->r[6]; /* 028A5070 */ cpu->r[0] = cpu->r[8] - cpu->r[0]; /* 028A5074 */ /* nop */ /* 028A5078 */ cpu->r[0] = cpu->r[0] ^ cpu->r[7]; /* 028A507C */ cpu->r[0] = cpu->r[0] - cpu->r[7]; /* 028A5080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u); /* 028A5084 */ _t879 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5084 */ _t880 = _t879 & 0x00000001u; /* 028A5084 */ if (_t880) goto L_028A5088; else goto L_028A50F0; L_028A5088: ; // 0x28a5088 /* 028A5088 */ _t881 = cpu->r[24] + 0x00000014u; /* 028A5088 */ cpu->r[7] = rbrew_read32(cpu->mem, _t881); /* 028A508C */ _t882 = cpu->r[24] + 0x0000004Cu; /* 028A508C */ cpu->r[0] = rbrew_read32(cpu->mem, _t882); /* 028A5090 */ cpu->r[6] = cpu->r[7] + cpu->r[0]; /* 028A5094 */ /* nop */ /* 028A5098 */ cpu->r[7] = cpu->r[5]; /* 028A509C */ _t883 = cpu->r[24] + 0x00000030u; /* 028A509C */ cpu->r[11] = rbrew_read32(cpu->mem, _t883); /* 028A50A0 */ cpu->r[0] = cpu->r[11] - cpu->r[7]; /* 028A50A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u); /* 028A50A8 */ _t884 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A50A8 */ _t885 = _t884 & 0x00000001u; /* 028A50A8 */ if (_t885) goto L_028A50AC; else goto L_028A50DC; L_028A50AC: ; // 0x28a50ac /* 028A50AC */ cpu->r[6] = cpu->r[10] + cpu->r[8]; /* 028A50B0 */ /* nop */ /* 028A50B4 */ cpu->r[0] = cpu->r[7]; /* 028A50B8 */ cpu->r[8] = cpu->r[9] - cpu->r[0]; /* 028A50BC */ /* nop */ /* 028A50C0 */ cpu->r[10] = cpu->r[8] ^ cpu->r[0]; /* 028A50C4 */ cpu->r[10] = cpu->r[10] - cpu->r[0]; /* 028A50C8 */ cpu->r[4] = 0x00000001u; /* 028A50CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000020u); /* 028A50D0 */ cpu->r[12] = 0xFFFFFFC0u; /* 028A50D4 */ _t886 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A50D4 */ _t887 = _t886 & 0x00000001u; /* 028A50D4 */ if (_t887) goto L_028A5114; else goto L_028A50D8; L_028A50D8: ; // 0x28a50d8 /* 028A50D8 */ goto L_028A5194; L_028A50DC: ; // 0x28a50dc /* 028A50DC */ cpu->r[7] = cpu->r[7] - cpu->r[11]; /* 028A50E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000020u); /* 028A50E4 */ _t888 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A50E4 */ _t889 = _t888 & 0x00000001u; /* 028A50E4 */ if (_t889) goto L_028A50E8; else goto L_028A50F0; L_028A50E8: ; // 0x28a50e8 /* 028A50E8 */ cpu->r[12] = 0x00000040u; /* 028A50EC */ cpu->r[4] = 0x00000001u; L_028A50F0: ; // 0x28a50f0 /* 028A50F0 */ cpu->r[6] = cpu->r[10] + cpu->r[8]; /* 028A50F4 */ /* nop */ /* 028A50F8 */ cpu->r[0] = cpu->r[7]; /* 028A50FC */ cpu->r[8] = cpu->r[9] - cpu->r[0]; /* 028A5100 */ /* nop */ /* 028A5104 */ cpu->r[10] = cpu->r[8] ^ cpu->r[0]; /* 028A5108 */ cpu->r[10] = cpu->r[10] - cpu->r[0]; /* 028A510C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000020u); /* 028A5110 */ _t890 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5110 */ _t891 = _t890 & 0x00000001u; /* 028A5110 */ if (_t891) goto L_028A5114; else goto L_028A5194; L_028A5114: ; // 0x28a5114 /* 028A5114 */ _t892 = cpu->r[24] + 0x00000014u; /* 028A5114 */ cpu->r[6] = rbrew_read32(cpu->mem, _t892); /* 028A5118 */ _t893 = cpu->r[24] + 0x00000030u; /* 028A5118 */ cpu->r[7] = rbrew_read32(cpu->mem, _t893); /* 028A511C */ cpu->r[5] = cpu->r[6] + cpu->r[7]; /* 028A5120 */ /* nop */ /* 028A5124 */ cpu->r[7] = cpu->r[9]; /* 028A5128 */ _t894 = cpu->r[24] + 0x0000004Cu; /* 028A5128 */ cpu->r[11] = rbrew_read32(cpu->mem, _t894); /* 028A512C */ cpu->r[0] = cpu->r[11] - cpu->r[7]; /* 028A5130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u); /* 028A5134 */ _t895 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A5134 */ _t896 = _t895 & 0x00000001u; /* 028A5134 */ if (_t896) goto L_028A5138; else goto L_028A5160; L_028A5138: ; // 0x28a5138 /* 028A5138 */ _t897 = cpu->r[24] + 0x00000038u; /* 028A5138 */ cpu->r[8] = rbrew_read16(cpu->mem, _t897); /* 028A513C */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A5140 */ _t898 = cpu->r[5] + cpu->r[26]; /* 028A5140 */ cpu->r[8] = rbrew_read16(cpu->mem, _t898); /* 028A5144 */ _t899 = cpu->r[5] + cpu->r[25]; /* 028A5144 */ cpu->r[0] = rbrew_read16(cpu->mem, _t899); /* 028A5148 */ cpu->r[12] = 0xFFFFFFC0u; /* 028A514C */ cpu->r[6] = cpu->r[0] - cpu->r[8]; /* 028A5150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]); /* 028A5154 */ cpu->r[7] = cpu->r[6] + 0x00000001u; /* 028A5158 */ _t900 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A5158 */ _t901 = _t900 & 0x00000001u; /* 028A5158 */ if (_t901) goto L_028A515C; else goto L_028A51C0; L_028A515C: ; // 0x28a515c /* 028A515C */ goto L_028A51E0; L_028A5160: ; // 0x28a5160 /* 028A5160 */ cpu->r[0] = cpu->r[7] - cpu->r[11]; /* 028A5164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u); /* 028A5168 */ _t902 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A5168 */ _t903 = _t902 & 0x00000001u; /* 028A5168 */ if (_t903) goto L_028A516C; else goto L_028A5194; L_028A516C: ; // 0x28a516c /* 028A516C */ _t904 = cpu->r[24] + 0x00000038u; /* 028A516C */ cpu->r[8] = rbrew_read16(cpu->mem, _t904); /* 028A5170 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A5174 */ _t905 = cpu->r[5] + cpu->r[26]; /* 028A5174 */ cpu->r[8] = rbrew_read16(cpu->mem, _t905); /* 028A5178 */ _t906 = cpu->r[5] + cpu->r[25]; /* 028A5178 */ cpu->r[0] = rbrew_read16(cpu->mem, _t906); /* 028A517C */ cpu->r[12] = 0x00000040u; /* 028A5180 */ cpu->r[6] = cpu->r[0] - cpu->r[8]; /* 028A5184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]); /* 028A5188 */ cpu->r[7] = cpu->r[6] + 0x00000001u; /* 028A518C */ _t907 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A518C */ _t908 = _t907 & 0x00000001u; /* 028A518C */ if (_t908) goto L_028A5190; else goto L_028A51C0; L_028A5190: ; // 0x28a5190 /* 028A5190 */ goto L_028A51E0; L_028A5194: ; // 0x28a5194 /* 028A5194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A5198 */ _t909 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5198 */ _t910 = _t909 & 0x00000001u; /* 028A5198 */ if (_t910) goto L_028A51E0; else goto L_028A519C; L_028A519C: ; // 0x28a519c /* 028A519C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000001Cu); /* 028A51A0 */ _t911 = cpu->r[4] + cpu->r[24]; /* 028A51A0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t911); /* 028A51A4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028A51A8 */ _t912 = cpu->r[5] + cpu->r[26]; /* 028A51A8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t912); /* 028A51AC */ _t913 = cpu->r[5] + cpu->r[25]; /* 028A51AC */ cpu->r[0] = rbrew_read16(cpu->mem, _t913); /* 028A51B0 */ cpu->r[6] = cpu->r[0] - cpu->r[8]; /* 028A51B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]); /* 028A51B8 */ cpu->r[7] = cpu->r[6] + 0x00000001u; /* 028A51BC */ _t914 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A51BC */ _t915 = _t914 & 0x00000001u; /* 028A51BC */ if (_t915) goto L_028A51E0; else goto L_028A51C0; L_028A51C0: ; // 0x28a51c0 /* 028A51C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A51C4 */ cpu->r[8] = cpu->r[30] + cpu->r[0]; /* 028A51C8 */ cpu->ctr = cpu->r[7]; /* 028A51CC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu; L_028A51D0: ; // 0x28a51d0 /* 028A51D0 */ _t916 = cpu->r[8] + 0x00000004u; /* 028A51D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t916); /* 028A51D0 */ cpu->r[8] = _t916; /* 028A51D4 */ cpu->r[7] = cpu->r[7] + cpu->r[12]; /* 028A51D8 */ _t917 = cpu->r[8] + 0x00000000u; /* 028A51D8 */ rbrew_write32(cpu->mem, _t917, cpu->r[7]); /* 028A51DC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A51DC */ _t918 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A51DC */ _t919 = _t918 >> (0x00000002u & 31u); /* 028A51DC */ _t920 = _t919 & 0x00000001u; /* 028A51DC */ if (_t920) goto L_028A51D0; else goto L_028A51E0; L_028A51E0: ; // 0x28a51e0 /* 028A51E0 */ cpu->r[6] = 0x00000000u; /* 028A51E4 */ cpu->r[4] = cpu->r[1] + 0x00000188u; /* 028A51E8 */ cpu->r[3] = cpu->r[14]; /* 028A51EC */ cpu->r[5] = 0x00000018u; /* 028A51F0 */ rbrew_dispatch(cpu, 0x02d0a6e8u); L_028A51F4: ; // 0x28a51f4 /* 028A51F4 */ /* nop */ /* 028A51F8 */ _t921 = cpu->r[1] + 0x000001ECu; /* 028A51F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t921); /* 028A51FC */ cpu->lr = cpu->r[0]; /* 028A5200 */ cpu->r[1] = cpu->r[1] + 0x000001E8u; /* 028A5204 */ return; } // fn_028A5208 @ 0x28a5208 void Gambit_fn_028A5208(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A5208: ; // 0x28a5208 /* 028A5208 */ cpu->r[0] = cpu->lr; /* 028A520C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A520C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A520C */ cpu->r[1] = _t0; /* 028A5210 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A5210 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A5214 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A5214 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A5218 */ _t3 = cpu->r[1] + 0x00000010u; /* 028A5218 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028A521C */ cpu->r[31] = cpu->r[3]; /* 028A521C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5220 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A5220 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A5224 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5224 */ _t6 = _t5 & 0x00000001u; /* 028A5224 */ if (_t6) goto L_028A5228; else goto L_028A5238; L_028A5228: ; // 0x28a5228 /* 028A5228 */ cpu->r[3] = 0x00000054u; /* 028A522C */ Gambit_fn_02801A78(cpu); /* 028A5230 */ cpu->r[31] = cpu->r[3]; /* 028A5230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5234 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5234 */ _t8 = _t7 & 0x00000001u; /* 028A5234 */ if (_t8) goto L_028A5310; else goto L_028A5238; L_028A5238: ; // 0x28a5238 /* 028A5238 */ cpu->r[10] = 0x10130000u; /* 028A523C */ cpu->r[10] = cpu->r[10] + 0x000078F4u; /* 028A5240 */ cpu->r[3] = cpu->r[31]; /* 028A5240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5244 */ _t9 = cpu->r[31] + 0x00000050u; /* 028A5244 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 028A5248 */ cpu->r[29] = 0x00000000u; /* 028A524C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A524C */ _t11 = _t10 & 0x00000001u; /* 028A524C */ if (_t11) goto L_028A5250; else goto L_028A5260; L_028A5250: ; // 0x28a5250 /* 028A5250 */ cpu->r[3] = 0x00000004u; /* 028A5254 */ Gambit_fn_02801A78(cpu); /* 028A5258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A525C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A525C */ _t13 = _t12 & 0x00000001u; /* 028A525C */ if (_t13) goto L_028A5264; else goto L_028A5260; L_028A5260: ; // 0x28a5260 /* 028A5260 */ _t14 = cpu->r[3] + 0x00000000u; /* 028A5260 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]); L_028A5264: ; // 0x28a5264 /* 028A5264 */ _t15 = cpu->r[31] + 0x0000000Cu; /* 028A5264 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); /* 028A5268 */ cpu->r[30] = cpu->r[31] + 0x0000002Cu; /* 028A5268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A526C */ _t16 = cpu->r[31] + 0x00000004u; /* 028A526C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); /* 028A5270 */ _t17 = cpu->r[31] + 0x00000008u; /* 028A5270 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 028A5274 */ _t18 = cpu->r[31] + 0x00000028u; /* 028A5274 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]); /* 028A5278 */ _t19 = cpu->r[31] + 0x00000020u; /* 028A5278 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]); /* 028A527C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A527C */ _t21 = _t20 & 0x00000001u; /* 028A527C */ if (_t21) goto L_028A5280; else goto L_028A5290; L_028A5280: ; // 0x28a5280 /* 028A5280 */ cpu->r[3] = 0x00000010u; /* 028A5284 */ Gambit_fn_02801A78(cpu); /* 028A5288 */ cpu->r[30] = cpu->r[3]; /* 028A5288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A528C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A528C */ _t23 = _t22 & 0x00000001u; /* 028A528C */ if (_t23) goto L_028A52BC; else goto L_028A5290; L_028A5290: ; // 0x28a5290 /* 028A5290 */ cpu->r[3] = cpu->r[30]; /* 028A5290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5294 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5294 */ _t25 = _t24 & 0x00000001u; /* 028A5294 */ if (_t25) goto L_028A5298; else goto L_028A52A8; L_028A5298: ; // 0x28a5298 /* 028A5298 */ cpu->r[3] = 0x0000000Cu; /* 028A529C */ Gambit_fn_02801A78(cpu); /* 028A52A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A52A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52A4 */ _t27 = _t26 & 0x00000001u; /* 028A52A4 */ if (_t27) goto L_028A52B4; else goto L_028A52A8; L_028A52A8: ; // 0x28a52a8 /* 028A52A8 */ _t28 = cpu->r[3] + 0x00000004u; /* 028A52A8 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]); /* 028A52AC */ _t29 = cpu->r[3] + 0x00000008u; /* 028A52AC */ rbrew_write32(cpu->mem, _t29, cpu->r[29]); /* 028A52B0 */ _t30 = cpu->r[3] + 0x00000000u; /* 028A52B0 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]); L_028A52B4: ; // 0x28a52b4 /* 028A52B4 */ cpu->r[0] = 0xFFFFFFFFu; /* 028A52B8 */ _t31 = cpu->r[30] + 0x0000000Cu; /* 028A52B8 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]); L_028A52BC: ; // 0x28a52bc /* 028A52BC */ cpu->r[30] = cpu->r[31] + 0x0000003Cu; /* 028A52BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A52C0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52C0 */ _t33 = _t32 & 0x00000001u; /* 028A52C0 */ if (_t33) goto L_028A52C4; else goto L_028A52D4; L_028A52C4: ; // 0x28a52c4 /* 028A52C4 */ cpu->r[3] = 0x00000010u; /* 028A52C8 */ Gambit_fn_02801A78(cpu); /* 028A52CC */ cpu->r[30] = cpu->r[3]; /* 028A52CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A52D0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52D0 */ _t35 = _t34 & 0x00000001u; /* 028A52D0 */ if (_t35) goto L_028A5300; else goto L_028A52D4; L_028A52D4: ; // 0x28a52d4 /* 028A52D4 */ cpu->r[3] = cpu->r[30]; /* 028A52D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A52D8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52D8 */ _t37 = _t36 & 0x00000001u; /* 028A52D8 */ if (_t37) goto L_028A52DC; else goto L_028A52EC; L_028A52DC: ; // 0x28a52dc /* 028A52DC */ cpu->r[3] = 0x0000000Cu; /* 028A52E0 */ Gambit_fn_02801A78(cpu); /* 028A52E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A52E8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52E8 */ _t39 = _t38 & 0x00000001u; /* 028A52E8 */ if (_t39) goto L_028A52F8; else goto L_028A52EC; L_028A52EC: ; // 0x28a52ec /* 028A52EC */ _t40 = cpu->r[3] + 0x00000004u; /* 028A52EC */ rbrew_write32(cpu->mem, _t40, cpu->r[3]); /* 028A52F0 */ _t41 = cpu->r[3] + 0x00000008u; /* 028A52F0 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]); /* 028A52F4 */ _t42 = cpu->r[3] + 0x00000000u; /* 028A52F4 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]); L_028A52F8: ; // 0x28a52f8 /* 028A52F8 */ cpu->r[0] = 0xFFFFFFFFu; /* 028A52FC */ _t43 = cpu->r[30] + 0x0000000Cu; /* 028A52FC */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); L_028A5300: ; // 0x28a5300 /* 028A5300 */ _t44 = cpu->r[31] + 0x00000048u; /* 028A5300 */ rbrew_write32(cpu->mem, _t44, cpu->r[29]); /* 028A5304 */ cpu->r[0] = 0x000000FFu; /* 028A5308 */ _t45 = cpu->r[31] + 0x00000038u; /* 028A5308 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]); /* 028A530C */ _t46 = cpu->r[31] + 0x0000004Eu; /* 028A530C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]); L_028A5310: ; // 0x28a5310 /* 028A5310 */ _t47 = cpu->r[1] + 0x0000000Cu; /* 028A5310 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47); /* 028A5314 */ _t48 = cpu->r[1] + 0x0000001Cu; /* 028A5314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 028A5318 */ cpu->r[3] = cpu->r[31]; /* 028A531C */ _t49 = cpu->r[1] + 0x00000010u; /* 028A531C */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 028A5320 */ cpu->lr = cpu->r[0]; /* 028A5324 */ _t50 = cpu->r[1] + 0x00000014u; /* 028A5324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50); /* 028A5328 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A532C */ return; } // fn_028A520C @ 0x28a520c void Gambit_fn_028A520C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A520C: ; // 0x28a520c /* 028A520C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A520C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A520C */ cpu->r[1] = _t0; /* 028A5210 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A5210 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A5214 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A5214 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A5218 */ _t3 = cpu->r[1] + 0x00000010u; /* 028A5218 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028A521C */ cpu->r[31] = cpu->r[3]; /* 028A521C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5220 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A5220 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A5224 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5224 */ _t6 = _t5 & 0x00000001u; /* 028A5224 */ if (_t6) goto L_028A5228; else goto L_028A5238; L_028A5228: ; // 0x28a5228 /* 028A5228 */ cpu->r[3] = 0x00000054u; /* 028A522C */ Gambit_fn_02801A78(cpu); /* 028A5230 */ cpu->r[31] = cpu->r[3]; /* 028A5230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5234 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5234 */ _t8 = _t7 & 0x00000001u; /* 028A5234 */ if (_t8) goto L_028A5310; else goto L_028A5238; L_028A5238: ; // 0x28a5238 /* 028A5238 */ cpu->r[10] = 0x10130000u; /* 028A523C */ cpu->r[10] = cpu->r[10] + 0x000078F4u; /* 028A5240 */ cpu->r[3] = cpu->r[31]; /* 028A5240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5244 */ _t9 = cpu->r[31] + 0x00000050u; /* 028A5244 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 028A5248 */ cpu->r[29] = 0x00000000u; /* 028A524C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A524C */ _t11 = _t10 & 0x00000001u; /* 028A524C */ if (_t11) goto L_028A5250; else goto L_028A5260; L_028A5250: ; // 0x28a5250 /* 028A5250 */ cpu->r[3] = 0x00000004u; /* 028A5254 */ Gambit_fn_02801A78(cpu); /* 028A5258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A525C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A525C */ _t13 = _t12 & 0x00000001u; /* 028A525C */ if (_t13) goto L_028A5264; else goto L_028A5260; L_028A5260: ; // 0x28a5260 /* 028A5260 */ _t14 = cpu->r[3] + 0x00000000u; /* 028A5260 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]); L_028A5264: ; // 0x28a5264 /* 028A5264 */ _t15 = cpu->r[31] + 0x0000000Cu; /* 028A5264 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); /* 028A5268 */ cpu->r[30] = cpu->r[31] + 0x0000002Cu; /* 028A5268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A526C */ _t16 = cpu->r[31] + 0x00000004u; /* 028A526C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); /* 028A5270 */ _t17 = cpu->r[31] + 0x00000008u; /* 028A5270 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 028A5274 */ _t18 = cpu->r[31] + 0x00000028u; /* 028A5274 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]); /* 028A5278 */ _t19 = cpu->r[31] + 0x00000020u; /* 028A5278 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]); /* 028A527C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A527C */ _t21 = _t20 & 0x00000001u; /* 028A527C */ if (_t21) goto L_028A5280; else goto L_028A5290; L_028A5280: ; // 0x28a5280 /* 028A5280 */ cpu->r[3] = 0x00000010u; /* 028A5284 */ Gambit_fn_02801A78(cpu); /* 028A5288 */ cpu->r[30] = cpu->r[3]; /* 028A5288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A528C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A528C */ _t23 = _t22 & 0x00000001u; /* 028A528C */ if (_t23) goto L_028A52BC; else goto L_028A5290; L_028A5290: ; // 0x28a5290 /* 028A5290 */ cpu->r[3] = cpu->r[30]; /* 028A5290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5294 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5294 */ _t25 = _t24 & 0x00000001u; /* 028A5294 */ if (_t25) goto L_028A5298; else goto L_028A52A8; L_028A5298: ; // 0x28a5298 /* 028A5298 */ cpu->r[3] = 0x0000000Cu; /* 028A529C */ Gambit_fn_02801A78(cpu); /* 028A52A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A52A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52A4 */ _t27 = _t26 & 0x00000001u; /* 028A52A4 */ if (_t27) goto L_028A52B4; else goto L_028A52A8; L_028A52A8: ; // 0x28a52a8 /* 028A52A8 */ _t28 = cpu->r[3] + 0x00000004u; /* 028A52A8 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]); /* 028A52AC */ _t29 = cpu->r[3] + 0x00000008u; /* 028A52AC */ rbrew_write32(cpu->mem, _t29, cpu->r[29]); /* 028A52B0 */ _t30 = cpu->r[3] + 0x00000000u; /* 028A52B0 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]); L_028A52B4: ; // 0x28a52b4 /* 028A52B4 */ cpu->r[0] = 0xFFFFFFFFu; /* 028A52B8 */ _t31 = cpu->r[30] + 0x0000000Cu; /* 028A52B8 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]); L_028A52BC: ; // 0x28a52bc /* 028A52BC */ cpu->r[30] = cpu->r[31] + 0x0000003Cu; /* 028A52BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A52C0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52C0 */ _t33 = _t32 & 0x00000001u; /* 028A52C0 */ if (_t33) goto L_028A52C4; else goto L_028A52D4; L_028A52C4: ; // 0x28a52c4 /* 028A52C4 */ cpu->r[3] = 0x00000010u; /* 028A52C8 */ Gambit_fn_02801A78(cpu); /* 028A52CC */ cpu->r[30] = cpu->r[3]; /* 028A52CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A52D0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52D0 */ _t35 = _t34 & 0x00000001u; /* 028A52D0 */ if (_t35) goto L_028A5300; else goto L_028A52D4; L_028A52D4: ; // 0x28a52d4 /* 028A52D4 */ cpu->r[3] = cpu->r[30]; /* 028A52D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A52D8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52D8 */ _t37 = _t36 & 0x00000001u; /* 028A52D8 */ if (_t37) goto L_028A52DC; else goto L_028A52EC; L_028A52DC: ; // 0x28a52dc /* 028A52DC */ cpu->r[3] = 0x0000000Cu; /* 028A52E0 */ Gambit_fn_02801A78(cpu); /* 028A52E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A52E8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A52E8 */ _t39 = _t38 & 0x00000001u; /* 028A52E8 */ if (_t39) goto L_028A52F8; else goto L_028A52EC; L_028A52EC: ; // 0x28a52ec /* 028A52EC */ _t40 = cpu->r[3] + 0x00000004u; /* 028A52EC */ rbrew_write32(cpu->mem, _t40, cpu->r[3]); /* 028A52F0 */ _t41 = cpu->r[3] + 0x00000008u; /* 028A52F0 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]); /* 028A52F4 */ _t42 = cpu->r[3] + 0x00000000u; /* 028A52F4 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]); L_028A52F8: ; // 0x28a52f8 /* 028A52F8 */ cpu->r[0] = 0xFFFFFFFFu; /* 028A52FC */ _t43 = cpu->r[30] + 0x0000000Cu; /* 028A52FC */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); L_028A5300: ; // 0x28a5300 /* 028A5300 */ _t44 = cpu->r[31] + 0x00000048u; /* 028A5300 */ rbrew_write32(cpu->mem, _t44, cpu->r[29]); /* 028A5304 */ cpu->r[0] = 0x000000FFu; /* 028A5308 */ _t45 = cpu->r[31] + 0x00000038u; /* 028A5308 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]); /* 028A530C */ _t46 = cpu->r[31] + 0x0000004Eu; /* 028A530C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]); L_028A5310: ; // 0x28a5310 /* 028A5310 */ _t47 = cpu->r[1] + 0x0000000Cu; /* 028A5310 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47); /* 028A5314 */ _t48 = cpu->r[1] + 0x0000001Cu; /* 028A5314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 028A5318 */ cpu->r[3] = cpu->r[31]; /* 028A531C */ _t49 = cpu->r[1] + 0x00000010u; /* 028A531C */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 028A5320 */ cpu->lr = cpu->r[0]; /* 028A5324 */ _t50 = cpu->r[1] + 0x00000014u; /* 028A5324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50); /* 028A5328 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A532C */ return; } // fn_028A5330 @ 0x28a5330 void Gambit_fn_028A5330(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028A5330: ; // 0x28a5330 /* 028A5330 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 028A5330 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]); /* 028A5334 */ cpu->r[0] = 0x00000000u; /* 028A5338 */ _t1 = cpu->r[3] + 0x00000050u; /* 028A5338 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 028A533C */ cpu->r[10] = 0xFFFFFFFFu; /* 028A5340 */ _t2 = cpu->r[3] + 0x00000010u; /* 028A5340 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A5344 */ _t3 = cpu->r[3] + 0x0000001Cu; /* 028A5344 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 028A5348 */ _t4 = cpu->r[3] + 0x00000014u; /* 028A5348 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A534C */ _t5 = cpu->r[3] + 0x00000028u; /* 028A534C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5350 */ _t6 = cpu->r[3] + 0x00000020u; /* 028A5350 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A5354 */ _t7 = cpu->r[3] + 0x00000024u; /* 028A5354 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 028A5358 */ _t8 = cpu->r[3] + 0x00000000u; /* 028A5358 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 028A535C */ _t9 = cpu->r[3] + 0x0000004Du; /* 028A535C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]); /* 028A5360 */ _t10 = cpu->r[3] + 0x0000004Cu; /* 028A5360 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]); /* 028A5364 */ _t11 = cpu->r[11] + 0x00000014u; /* 028A5364 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A5368 */ cpu->ctr = cpu->r[12]; /* 028A536C */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_028A5370 @ 0x28a5370 void Gambit_fn_028A5370(CPUState* 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_028A5370: ; // 0x28a5370 /* 028A5370 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028A5370 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5370 */ cpu->r[1] = _t0; /* 028A5374 */ /* nop */ /* 028A5378 */ cpu->r[0] = cpu->lr; /* 028A537C */ _t1 = cpu->r[1] + 0x00000024u; /* 028A537C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A5380 */ cpu->r[27] = cpu->r[3]; /* 028A5384 */ _t2 = cpu->r[27] + 0x00000028u; /* 028A5384 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 028A5388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A538C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A538C */ _t4 = _t3 & 0x00000001u; /* 028A538C */ if (_t4) goto L_028A53A0; else goto L_028A5390; L_028A5390: ; // 0x28a5390 /* 028A5390 */ _t5 = cpu->r[3] + 0x00000050u; /* 028A5390 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 028A5394 */ _t6 = cpu->r[6] + 0x00000034u; /* 028A5394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A5398 */ cpu->ctr = cpu->r[0]; /* 028A539C */ rbrew_call_indirect(cpu, cpu->ctr); L_028A53A0: ; // 0x28a53a0 /* 028A53A0 */ _t7 = cpu->r[27] + 0x00000048u; /* 028A53A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A53A4 */ cpu->r[26] = cpu->r[27] + 0x0000003Cu; /* 028A53A8 */ _t8 = cpu->r[27] + 0x00000040u; /* 028A53A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8); /* 028A53AC */ cpu->r[31] = cpu->r[26] - cpu->r[0]; /* 028A53B0 */ cpu->r[30] = cpu->r[8] - cpu->r[0]; /* 028A53B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 028A53B8 */ _t9 = cpu->r[8] + 0x00000004u; /* 028A53B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 028A53BC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A53BC */ _t11 = _t10 & 0x00000001u; /* 028A53BC */ if (_t11) goto L_028A5400; else goto L_028A53C0; L_028A53C0: ; // 0x28a53c0 /* 028A53C0 */ cpu->r[28] = cpu->r[0]; L_028A53C4: ; // 0x28a53c4 /* 028A53C4 */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 028A53C8 */ Gambit_fn_02801EDC(cpu); /* 028A53CC */ _t12 = cpu->r[26] + 0x00000008u; /* 028A53CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 028A53D0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028A53D4 */ _t13 = cpu->r[26] + 0x00000008u; /* 028A53D4 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]); /* 028A53D8 */ _t14 = cpu->r[27] + 0x00000010u; /* 028A53D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 028A53DC */ _t15 = cpu->r[10] + 0x0000001Cu; /* 028A53DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 028A53E0 */ cpu->r[4] = cpu->r[30]; /* 028A53E4 */ Gambit_fn_028AA1EC(cpu); /* 028A53E8 */ cpu->r[30] = cpu->r[29] - cpu->r[28]; /* 028A53EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 028A53F0 */ _t16 = cpu->r[29] + 0x00000004u; /* 028A53F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 028A53F4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A53F4 */ _t18 = _t17 & 0x00000001u; /* 028A53F4 */ if (_t18) goto L_028A5400; else goto L_028A53F8; L_028A53F8: ; // 0x28a53f8 /* 028A53F8 */ _t19 = cpu->r[26] + 0x0000000Cu; /* 028A53F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A53FC */ goto L_028A53C4; L_028A5400: ; // 0x28a5400 /* 028A5400 */ /* nop */ /* 028A5404 */ _t20 = cpu->r[1] + 0x00000024u; /* 028A5404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028A5408 */ cpu->lr = cpu->r[0]; /* 028A540C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A5410 */ return; } // fn_028A5414 @ 0x28a5414 void Gambit_fn_028A5414(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028A5414: ; // 0x28a5414 /* 028A5414 */ cpu->r[0] = cpu->lr; /* 028A5418 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A5418 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5418 */ cpu->r[1] = _t0; /* 028A541C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A541C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A5420 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A5420 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A5424 */ _t3 = cpu->r[3] + 0x00000050u; /* 028A5424 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 028A5428 */ _t4 = cpu->r[11] + 0x0000001Cu; /* 028A5428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028A542C */ cpu->ctr = cpu->r[0]; /* 028A5430 */ cpu->r[31] = cpu->r[3]; /* 028A5434 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5438 */ cpu->r[3] = cpu->r[31]; /* 028A543C */ Gambit_fn_028A5370(cpu); /* 028A5440 */ cpu->r[12] = 0x00000000u; /* 028A5444 */ _t5 = cpu->r[31] + 0x0000000Cu; /* 028A5444 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 028A5448 */ _t6 = cpu->r[1] + 0x00000014u; /* 028A5448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A544C */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028A544C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028A5450 */ cpu->lr = cpu->r[0]; /* 028A5454 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5458 */ return; } // fn_028A5418 @ 0x28a5418 void Gambit_fn_028A5418(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028A5418: ; // 0x28a5418 /* 028A5418 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A5418 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5418 */ cpu->r[1] = _t0; /* 028A541C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A541C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A5420 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A5420 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A5424 */ _t3 = cpu->r[3] + 0x00000050u; /* 028A5424 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 028A5428 */ _t4 = cpu->r[11] + 0x0000001Cu; /* 028A5428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028A542C */ cpu->ctr = cpu->r[0]; /* 028A5430 */ cpu->r[31] = cpu->r[3]; /* 028A5434 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5438 */ cpu->r[3] = cpu->r[31]; /* 028A543C */ Gambit_fn_028A5370(cpu); /* 028A5440 */ cpu->r[12] = 0x00000000u; /* 028A5444 */ _t5 = cpu->r[31] + 0x0000000Cu; /* 028A5444 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 028A5448 */ _t6 = cpu->r[1] + 0x00000014u; /* 028A5448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A544C */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028A544C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028A5450 */ cpu->lr = cpu->r[0]; /* 028A5454 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5458 */ return; } // fn_028A545C @ 0x28a545c void Gambit_fn_028A545C(CPUState* cpu) { uint32_t _t0, _t1, _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_028A545C: ; // 0x28a545c /* 028A545C */ cpu->r[0] = cpu->lr; /* 028A5460 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5460 */ cpu->r[1] = _t0; /* 028A5464 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A5464 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5468 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A5468 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A546C */ _t3 = cpu->r[1] + 0x00000008u; /* 028A546C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A5470 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A5470 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A5474 */ cpu->r[28] = cpu->r[3]; /* 028A5478 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A5478 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A547C */ _t6 = cpu->r[28] + 0x00000028u; /* 028A547C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A5480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5484 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5484 */ _t8 = _t7 & 0x00000001u; /* 028A5484 */ if (_t8) goto L_028A5498; else goto L_028A5488; L_028A5488: ; // 0x28a5488 /* 028A5488 */ _t9 = cpu->r[3] + 0x00000050u; /* 028A5488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 028A548C */ _t10 = cpu->r[12] + 0x0000001Cu; /* 028A548C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A5490 */ cpu->ctr = cpu->r[9]; /* 028A5494 */ rbrew_call_indirect(cpu, cpu->ctr); L_028A5498: ; // 0x28a5498 /* 028A5498 */ _t11 = cpu->r[28] + 0x00000048u; /* 028A5498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 028A549C */ cpu->r[11] = cpu->r[28] + 0x0000003Cu; /* 028A54A0 */ _t12 = cpu->r[28] + 0x00000040u; /* 028A54A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 028A54A4 */ cpu->r[31] = cpu->r[11] - cpu->r[30]; /* 028A54A8 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028A54AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A54B0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A54B0 */ _t14 = _t13 & 0x00000001u; /* 028A54B0 */ if (_t14) goto L_028A54DC; else goto L_028A54B4; L_028A54B4: ; // 0x28a54b4 /* 028A54B4 */ _t15 = cpu->r[29] + 0x00000024u; /* 028A54B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 028A54B8 */ _t16 = cpu->r[12] + 0x0000002Cu; /* 028A54B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028A54BC */ cpu->ctr = cpu->r[0]; /* 028A54C0 */ cpu->r[3] = cpu->r[29]; /* 028A54C4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A54C8 */ cpu->r[9] = cpu->r[29] + cpu->r[30]; /* 028A54CC */ _t17 = cpu->r[9] + 0x00000004u; /* 028A54CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A54D0 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028A54D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A54D8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A54D8 */ _t19 = _t18 & 0x00000001u; /* 028A54D8 */ if (_t19) goto L_028A54DC; else goto L_028A54B4; L_028A54DC: ; // 0x28a54dc /* 028A54DC */ cpu->r[0] = 0x00000001u; /* 028A54E0 */ _t20 = cpu->r[28] + 0x0000004Cu; /* 028A54E0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]); /* 028A54E4 */ _t21 = cpu->r[1] + 0x00000008u; /* 028A54E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 028A54E8 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A54E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A54EC */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A54EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A54F0 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A54F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A54F4 */ cpu->lr = cpu->r[0]; /* 028A54F8 */ _t25 = cpu->r[1] + 0x00000014u; /* 028A54F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A54FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5500 */ return; } // fn_028A5460 @ 0x28a5460 void Gambit_fn_028A5460(CPUState* cpu) { uint32_t _t0, _t1, _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_028A5460: ; // 0x28a5460 /* 028A5460 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5460 */ cpu->r[1] = _t0; /* 028A5464 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A5464 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5468 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A5468 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A546C */ _t3 = cpu->r[1] + 0x00000008u; /* 028A546C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A5470 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A5470 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A5474 */ cpu->r[28] = cpu->r[3]; /* 028A5478 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A5478 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A547C */ _t6 = cpu->r[28] + 0x00000028u; /* 028A547C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A5480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5484 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5484 */ _t8 = _t7 & 0x00000001u; /* 028A5484 */ if (_t8) goto L_028A5498; else goto L_028A5488; L_028A5488: ; // 0x28a5488 /* 028A5488 */ _t9 = cpu->r[3] + 0x00000050u; /* 028A5488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 028A548C */ _t10 = cpu->r[12] + 0x0000001Cu; /* 028A548C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A5490 */ cpu->ctr = cpu->r[9]; /* 028A5494 */ rbrew_call_indirect(cpu, cpu->ctr); L_028A5498: ; // 0x28a5498 /* 028A5498 */ _t11 = cpu->r[28] + 0x00000048u; /* 028A5498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 028A549C */ cpu->r[11] = cpu->r[28] + 0x0000003Cu; /* 028A54A0 */ _t12 = cpu->r[28] + 0x00000040u; /* 028A54A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 028A54A4 */ cpu->r[31] = cpu->r[11] - cpu->r[30]; /* 028A54A8 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028A54AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A54B0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A54B0 */ _t14 = _t13 & 0x00000001u; /* 028A54B0 */ if (_t14) goto L_028A54DC; else goto L_028A54B4; L_028A54B4: ; // 0x28a54b4 /* 028A54B4 */ _t15 = cpu->r[29] + 0x00000024u; /* 028A54B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 028A54B8 */ _t16 = cpu->r[12] + 0x0000002Cu; /* 028A54B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028A54BC */ cpu->ctr = cpu->r[0]; /* 028A54C0 */ cpu->r[3] = cpu->r[29]; /* 028A54C4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A54C8 */ cpu->r[9] = cpu->r[29] + cpu->r[30]; /* 028A54CC */ _t17 = cpu->r[9] + 0x00000004u; /* 028A54CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A54D0 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028A54D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A54D8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A54D8 */ _t19 = _t18 & 0x00000001u; /* 028A54D8 */ if (_t19) goto L_028A54DC; else goto L_028A54B4; L_028A54DC: ; // 0x28a54dc /* 028A54DC */ cpu->r[0] = 0x00000001u; /* 028A54E0 */ _t20 = cpu->r[28] + 0x0000004Cu; /* 028A54E0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]); /* 028A54E4 */ _t21 = cpu->r[1] + 0x00000008u; /* 028A54E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 028A54E8 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A54E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A54EC */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A54EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A54F0 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A54F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A54F4 */ cpu->lr = cpu->r[0]; /* 028A54F8 */ _t25 = cpu->r[1] + 0x00000014u; /* 028A54F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A54FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5500 */ return; } // fn_028A5504 @ 0x28a5504 void Gambit_fn_028A5504(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A5504: ; // 0x28a5504 /* 028A5504 */ cpu->r[0] = cpu->lr; /* 028A5508 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5508 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5508 */ cpu->r[1] = _t0; /* 028A550C */ _t1 = cpu->r[1] + 0x00000010u; /* 028A550C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5510 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A5510 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 028A5514 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5514 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A5518 */ cpu->r[30] = cpu->r[5]; /* 028A551C */ cpu->r[28] = cpu->r[3]; /* 028A5520 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A5520 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 028A5524 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A5524 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5528 */ cpu->r[29] = cpu->r[4]; /* 028A552C */ cpu->r[31] = cpu->r[6]; /* 028A5530 */ _t6 = cpu->r[28] + 0x00000014u; /* 028A5530 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]); /* 028A5534 */ _t7 = cpu->r[28] + 0x00000018u; /* 028A5534 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 028A5538 */ _t8 = cpu->r[28] + 0x00000010u; /* 028A5538 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]); /* 028A553C */ _t9 = cpu->r[29] + 0x0000005Cu; /* 028A553C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 028A5540 */ _t10 = cpu->r[12] + 0x00000014u; /* 028A5540 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 028A5544 */ cpu->ctr = cpu->r[10]; /* 028A5548 */ cpu->r[3] = cpu->r[29]; /* 028A554C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5550 */ _t11 = cpu->r[28] + 0x0000004Eu; /* 028A5550 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[3]); /* 028A5554 */ cpu->r[3] = cpu->r[28]; /* 028A5558 */ cpu->r[4] = cpu->r[29]; /* 028A555C */ _t12 = cpu->r[28] + 0x0000000Cu; /* 028A555C */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 028A5560 */ cpu->r[5] = cpu->r[30]; /* 028A5564 */ cpu->r[7] = cpu->r[31]; /* 028A5568 */ Gambit_fn_028A5D78(cpu); /* 028A556C */ cpu->r[31] = cpu->r[3]; /* 028A556C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5570 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5570 */ _t14 = _t13 & 0x00000001u; /* 028A5570 */ if (_t14) goto L_028A560C; else goto L_028A5574; L_028A5574: ; // 0x28a5574 /* 028A5574 */ _t15 = cpu->r[31] + 0x00000050u; /* 028A5574 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 028A5578 */ _t16 = cpu->r[11] + 0x0000002Cu; /* 028A5578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028A557C */ cpu->ctr = cpu->r[0]; /* 028A5580 */ cpu->r[3] = cpu->r[31]; /* 028A5584 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A558C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A558C */ _t18 = _t17 & 0x00000001u; /* 028A558C */ if (_t18) goto L_028A55CC; else goto L_028A5590; L_028A5590: ; // 0x28a5590 /* 028A5590 */ _t19 = cpu->r[28] + 0x00000050u; /* 028A5590 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 028A5594 */ _t20 = cpu->r[28] + 0x00000028u; /* 028A5594 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]); /* 028A5598 */ _t21 = cpu->r[8] + 0x00000024u; /* 028A5598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 028A559C */ cpu->ctr = cpu->r[9]; /* 028A55A0 */ cpu->r[3] = cpu->r[28]; /* 028A55A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A55A8 */ _t22 = cpu->r[1] + 0x00000008u; /* 028A55A8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 028A55AC */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028A55AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 028A55B0 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028A55B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A55B4 */ _t25 = cpu->r[1] + 0x00000010u; /* 028A55B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A55B8 */ cpu->lr = cpu->r[0]; /* 028A55BC */ _t26 = cpu->r[1] + 0x00000014u; /* 028A55BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A55C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A55C4 */ cpu->r[3] = 0x00000001u; /* 028A55C8 */ return; L_028A55CC: ; // 0x28a55cc /* 028A55CC */ _t27 = cpu->r[31] + 0x00000050u; /* 028A55CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27); /* 028A55D0 */ _t28 = cpu->r[11] + 0x00000034u; /* 028A55D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 028A55D4 */ cpu->ctr = cpu->r[12]; /* 028A55D8 */ cpu->r[3] = cpu->r[31]; /* 028A55DC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A55E0 */ cpu->r[0] = 0x00000000u; /* 028A55E4 */ _t29 = cpu->r[28] + 0x00000028u; /* 028A55E4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 028A55E8 */ _t30 = cpu->r[1] + 0x00000008u; /* 028A55E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30); /* 028A55EC */ _t31 = cpu->r[1] + 0x0000000Cu; /* 028A55EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31); /* 028A55F0 */ cpu->r[3] = cpu->r[0]; /* 028A55F4 */ _t32 = cpu->r[1] + 0x0000001Cu; /* 028A55F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A55F8 */ _t33 = cpu->r[1] + 0x00000010u; /* 028A55F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 028A55FC */ cpu->lr = cpu->r[0]; /* 028A5600 */ _t34 = cpu->r[1] + 0x00000014u; /* 028A5600 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 028A5604 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5608 */ return; L_028A560C: ; // 0x28a560c /* 028A560C */ _t35 = cpu->r[1] + 0x00000008u; /* 028A560C */ cpu->r[28] = rbrew_read32(cpu->mem, _t35); /* 028A5610 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 028A5610 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36); /* 028A5614 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 028A5614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A5618 */ _t38 = cpu->r[1] + 0x00000010u; /* 028A5618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38); /* 028A561C */ cpu->lr = cpu->r[0]; /* 028A5620 */ _t39 = cpu->r[1] + 0x00000014u; /* 028A5620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39); /* 028A5624 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5628 */ cpu->r[3] = 0x00000000u; /* 028A562C */ return; } // fn_028A5508 @ 0x28a5508 void Gambit_fn_028A5508(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A5508: ; // 0x28a5508 /* 028A5508 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5508 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5508 */ cpu->r[1] = _t0; /* 028A550C */ _t1 = cpu->r[1] + 0x00000010u; /* 028A550C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5510 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A5510 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 028A5514 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5514 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A5518 */ cpu->r[30] = cpu->r[5]; /* 028A551C */ cpu->r[28] = cpu->r[3]; /* 028A5520 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A5520 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 028A5524 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A5524 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5528 */ cpu->r[29] = cpu->r[4]; /* 028A552C */ cpu->r[31] = cpu->r[6]; /* 028A5530 */ _t6 = cpu->r[28] + 0x00000014u; /* 028A5530 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]); /* 028A5534 */ _t7 = cpu->r[28] + 0x00000018u; /* 028A5534 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 028A5538 */ _t8 = cpu->r[28] + 0x00000010u; /* 028A5538 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]); /* 028A553C */ _t9 = cpu->r[29] + 0x0000005Cu; /* 028A553C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 028A5540 */ _t10 = cpu->r[12] + 0x00000014u; /* 028A5540 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 028A5544 */ cpu->ctr = cpu->r[10]; /* 028A5548 */ cpu->r[3] = cpu->r[29]; /* 028A554C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5550 */ _t11 = cpu->r[28] + 0x0000004Eu; /* 028A5550 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[3]); /* 028A5554 */ cpu->r[3] = cpu->r[28]; /* 028A5558 */ cpu->r[4] = cpu->r[29]; /* 028A555C */ _t12 = cpu->r[28] + 0x0000000Cu; /* 028A555C */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 028A5560 */ cpu->r[5] = cpu->r[30]; /* 028A5564 */ cpu->r[7] = cpu->r[31]; /* 028A5568 */ Gambit_fn_028A5D78(cpu); /* 028A556C */ cpu->r[31] = cpu->r[3]; /* 028A556C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5570 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5570 */ _t14 = _t13 & 0x00000001u; /* 028A5570 */ if (_t14) goto L_028A560C; else goto L_028A5574; L_028A5574: ; // 0x28a5574 /* 028A5574 */ _t15 = cpu->r[31] + 0x00000050u; /* 028A5574 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 028A5578 */ _t16 = cpu->r[11] + 0x0000002Cu; /* 028A5578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028A557C */ cpu->ctr = cpu->r[0]; /* 028A5580 */ cpu->r[3] = cpu->r[31]; /* 028A5584 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A558C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A558C */ _t18 = _t17 & 0x00000001u; /* 028A558C */ if (_t18) goto L_028A55CC; else goto L_028A5590; L_028A5590: ; // 0x28a5590 /* 028A5590 */ _t19 = cpu->r[28] + 0x00000050u; /* 028A5590 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 028A5594 */ _t20 = cpu->r[28] + 0x00000028u; /* 028A5594 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]); /* 028A5598 */ _t21 = cpu->r[8] + 0x00000024u; /* 028A5598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 028A559C */ cpu->ctr = cpu->r[9]; /* 028A55A0 */ cpu->r[3] = cpu->r[28]; /* 028A55A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A55A8 */ _t22 = cpu->r[1] + 0x00000008u; /* 028A55A8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 028A55AC */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028A55AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 028A55B0 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028A55B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A55B4 */ _t25 = cpu->r[1] + 0x00000010u; /* 028A55B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A55B8 */ cpu->lr = cpu->r[0]; /* 028A55BC */ _t26 = cpu->r[1] + 0x00000014u; /* 028A55BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A55C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A55C4 */ cpu->r[3] = 0x00000001u; /* 028A55C8 */ return; L_028A55CC: ; // 0x28a55cc /* 028A55CC */ _t27 = cpu->r[31] + 0x00000050u; /* 028A55CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27); /* 028A55D0 */ _t28 = cpu->r[11] + 0x00000034u; /* 028A55D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 028A55D4 */ cpu->ctr = cpu->r[12]; /* 028A55D8 */ cpu->r[3] = cpu->r[31]; /* 028A55DC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A55E0 */ cpu->r[0] = 0x00000000u; /* 028A55E4 */ _t29 = cpu->r[28] + 0x00000028u; /* 028A55E4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 028A55E8 */ _t30 = cpu->r[1] + 0x00000008u; /* 028A55E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30); /* 028A55EC */ _t31 = cpu->r[1] + 0x0000000Cu; /* 028A55EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31); /* 028A55F0 */ cpu->r[3] = cpu->r[0]; /* 028A55F4 */ _t32 = cpu->r[1] + 0x0000001Cu; /* 028A55F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A55F8 */ _t33 = cpu->r[1] + 0x00000010u; /* 028A55F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 028A55FC */ cpu->lr = cpu->r[0]; /* 028A5600 */ _t34 = cpu->r[1] + 0x00000014u; /* 028A5600 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 028A5604 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5608 */ return; L_028A560C: ; // 0x28a560c /* 028A560C */ _t35 = cpu->r[1] + 0x00000008u; /* 028A560C */ cpu->r[28] = rbrew_read32(cpu->mem, _t35); /* 028A5610 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 028A5610 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36); /* 028A5614 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 028A5614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A5618 */ _t38 = cpu->r[1] + 0x00000010u; /* 028A5618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38); /* 028A561C */ cpu->lr = cpu->r[0]; /* 028A5620 */ _t39 = cpu->r[1] + 0x00000014u; /* 028A5620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39); /* 028A5624 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5628 */ cpu->r[3] = 0x00000000u; /* 028A562C */ return; } // fn_028A5630 @ 0x28a5630 void Gambit_fn_028A5630(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A5630: ; // 0x28a5630 /* 028A5630 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 028A5630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5630 */ cpu->r[1] = _t0; /* 028A5634 */ /* nop */ /* 028A5638 */ cpu->r[0] = cpu->lr; /* 028A563C */ _t1 = cpu->r[1] + 0x0000002Cu; /* 028A563C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A5640 */ _t2 = cpu->r[3] + 0x00000050u; /* 028A5640 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 028A5644 */ _t3 = cpu->r[12] + 0x00000034u; /* 028A5644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A5648 */ cpu->ctr = cpu->r[0]; /* 028A564C */ cpu->r[27] = cpu->r[3]; /* 028A5650 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5654 */ _t4 = cpu->r[27] + 0x00000028u; /* 028A5654 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028A5658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A565C */ cpu->r[25] = 0x00000001u; /* 028A5660 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5660 */ _t6 = _t5 & 0x00000001u; /* 028A5660 */ if (_t6) goto L_028A5698; else goto L_028A5664; L_028A5664: ; // 0x28a5664 /* 028A5664 */ _t7 = cpu->r[3] + 0x00000050u; /* 028A5664 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 028A5668 */ _t8 = cpu->r[9] + 0x0000003Cu; /* 028A5668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A566C */ cpu->ctr = cpu->r[0]; /* 028A5670 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5674 */ cpu->r[25] = cpu->r[3]; /* 028A5674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A5678 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5678 */ _t10 = _t9 & 0x00000001u; /* 028A5678 */ if (_t10) goto L_028A5698; else goto L_028A567C; L_028A567C: ; // 0x28a567c /* 028A567C */ _t11 = cpu->r[27] + 0x00000028u; /* 028A567C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 028A5680 */ _t12 = cpu->r[3] + 0x00000050u; /* 028A5680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028A5684 */ _t13 = cpu->r[12] + 0x00000034u; /* 028A5684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A5688 */ cpu->ctr = cpu->r[0]; /* 028A568C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5690 */ cpu->r[7] = 0x00000000u; /* 028A5694 */ _t14 = cpu->r[27] + 0x00000028u; /* 028A5694 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]); L_028A5698: ; // 0x28a5698 /* 028A5698 */ _t15 = cpu->r[27] + 0x00000044u; /* 028A5698 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 028A569C */ cpu->r[24] = 0x00000000u; /* 028A56A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A56A4 */ cpu->r[26] = cpu->r[27] + 0x0000003Cu; /* 028A56A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A56A8 */ _t17 = _t16 & 0x00000001u; /* 028A56A8 */ if (_t17) goto L_028A56AC; else goto L_028A56C0; L_028A56AC: ; // 0x28a56ac /* 028A56AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A56B0 */ cpu->r[8] = 0x00000000u; /* 028A56B4 */ cpu->r[24] = 0x00000001u; /* 028A56B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A56B8 */ _t19 = _t18 & 0x00000001u; /* 028A56B8 */ if (_t19) goto L_028A574C; else goto L_028A56BC; L_028A56BC: ; // 0x28a56bc /* 028A56BC */ goto L_028A5740; L_028A56C0: ; // 0x28a56c0 /* 028A56C0 */ _t20 = cpu->r[26] + 0x0000000Cu; /* 028A56C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A56C4 */ _t21 = cpu->r[26] + 0x00000004u; /* 028A56C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 028A56C8 */ cpu->r[29] = cpu->r[6] - cpu->r[30]; /* 028A56CC */ cpu->r[28] = cpu->r[26] - cpu->r[30]; /* 028A56D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]); /* 028A56D4 */ _t22 = cpu->r[6] + 0x00000004u; /* 028A56D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 028A56D8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A56D8 */ _t24 = _t23 & 0x00000001u; /* 028A56D8 */ if (_t24) goto L_028A5734; else goto L_028A56DC; L_028A56DC: ; // 0x28a56dc /* 028A56DC */ _t25 = cpu->r[29] + 0x00000024u; /* 028A56DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 028A56E0 */ _t26 = cpu->r[10] + 0x00000014u; /* 028A56E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26); /* 028A56E4 */ cpu->ctr = cpu->r[11]; /* 028A56E8 */ cpu->r[3] = cpu->r[29]; /* 028A56EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A56F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A56F4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A56F4 */ _t28 = _t27 & 0x00000001u; /* 028A56F4 */ if (_t28) goto L_028A5724; else goto L_028A56F8; L_028A56F8: ; // 0x28a56f8 /* 028A56F8 */ _t29 = cpu->r[26] + 0x0000000Cu; /* 028A56F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 028A56FC */ cpu->r[3] = cpu->r[29] + cpu->r[7]; /* 028A5700 */ cpu->r[24] = 0x00000000u; /* 028A5704 */ Gambit_fn_02801EDC(cpu); /* 028A5708 */ _t30 = cpu->r[26] + 0x00000008u; /* 028A5708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30); /* 028A570C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028A5710 */ _t31 = cpu->r[26] + 0x00000008u; /* 028A5710 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]); /* 028A5714 */ _t32 = cpu->r[27] + 0x00000010u; /* 028A5714 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 028A5718 */ _t33 = cpu->r[6] + 0x0000001Cu; /* 028A5718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33); /* 028A571C */ cpu->r[4] = cpu->r[29]; /* 028A5720 */ Gambit_fn_028AA1EC(cpu); L_028A5724: ; // 0x28a5724 /* 028A5724 */ cpu->r[29] = cpu->r[31] - cpu->r[30]; /* 028A5728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]); /* 028A572C */ _t34 = cpu->r[31] + 0x00000004u; /* 028A572C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 028A5730 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5730 */ _t36 = _t35 & 0x00000001u; /* 028A5730 */ if (_t36) goto L_028A5734; else goto L_028A56DC; L_028A5734: ; // 0x28a5734 /* 028A5734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A5738 */ cpu->r[8] = 0x00000000u; /* 028A573C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A573C */ _t38 = _t37 & 0x00000001u; /* 028A573C */ if (_t38) goto L_028A574C; else goto L_028A5740; L_028A5740: ; // 0x28a5740 /* 028A5740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 028A5744 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5744 */ _t40 = _t39 & 0x00000001u; /* 028A5744 */ if (_t40) goto L_028A574C; else goto L_028A5748; L_028A5748: ; // 0x28a5748 /* 028A5748 */ cpu->r[8] = 0x00000001u; L_028A574C: ; // 0x28a574c /* 028A574C */ /* nop */ /* 028A5750 */ _t41 = cpu->r[1] + 0x0000002Cu; /* 028A5750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 028A5754 */ cpu->lr = cpu->r[0]; /* 028A5758 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 028A575C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028A5760 */ return; } // fn_028A5764 @ 0x28a5764 void Gambit_fn_028A5764(CPUState* cpu) { 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_028A5764: ; // 0x28a5764 /* 028A5764 */ cpu->r[0] = cpu->lr; /* 028A5768 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5768 */ cpu->r[1] = _t0; /* 028A576C */ _t1 = cpu->r[1] + 0x00000010u; /* 028A576C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5770 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A5770 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 028A5774 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A5774 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A5778 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A5778 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A577C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A577C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5780 */ _t6 = cpu->r[3] + 0x00000038u; /* 028A5780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 028A5784 */ cpu->r[0] = cpu->r[3] + 0x0000002Cu; /* 028A5788 */ _t7 = cpu->r[3] + 0x00000030u; /* 028A5788 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 028A578C */ cpu->r[31] = cpu->r[0] - cpu->r[30]; /* 028A5790 */ cpu->r[28] = cpu->r[11] - cpu->r[30]; /* 028A5794 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 028A5798 */ cpu->r[29] = 0x00000000u; /* 028A579C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A579C */ _t9 = _t8 & 0x00000001u; /* 028A579C */ if (_t9) goto L_028A57D4; else goto L_028A57A0; L_028A57A0: ; // 0x28a57a0 /* 028A57A0 */ _t10 = cpu->r[28] + 0x00000024u; /* 028A57A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A57A4 */ _t11 = cpu->r[9] + 0x0000001Cu; /* 028A57A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A57A8 */ cpu->ctr = cpu->r[0]; /* 028A57AC */ cpu->r[3] = cpu->r[28]; /* 028A57B0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A57B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A57B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A57B8 */ _t13 = _t12 & 0x00000001u; /* 028A57B8 */ if (_t13) goto L_028A57C0; else goto L_028A57BC; L_028A57BC: ; // 0x28a57bc /* 028A57BC */ cpu->r[29] = cpu->r[29] + 0x00000001u; L_028A57C0: ; // 0x28a57c0 /* 028A57C0 */ cpu->r[8] = cpu->r[28] + cpu->r[30]; /* 028A57C4 */ _t14 = cpu->r[8] + 0x00000004u; /* 028A57C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A57C8 */ cpu->r[28] = cpu->r[12] - cpu->r[30]; /* 028A57CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 028A57D0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A57D0 */ _t16 = _t15 & 0x00000001u; /* 028A57D0 */ if (_t16) goto L_028A57D4; else goto L_028A57A0; L_028A57D4: ; // 0x28a57d4 /* 028A57D4 */ _t17 = cpu->r[1] + 0x00000008u; /* 028A57D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17); /* 028A57D8 */ cpu->r[3] = cpu->r[29]; /* 028A57DC */ _t18 = cpu->r[1] + 0x0000000Cu; /* 028A57DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 028A57E0 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 028A57E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A57E4 */ _t20 = cpu->r[1] + 0x00000010u; /* 028A57E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A57E8 */ cpu->lr = cpu->r[0]; /* 028A57EC */ _t21 = cpu->r[1] + 0x00000014u; /* 028A57EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A57F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A57F4 */ return; } // fn_028A5768 @ 0x28a5768 void Gambit_fn_028A5768(CPUState* cpu) { 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_028A5768: ; // 0x28a5768 /* 028A5768 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5768 */ cpu->r[1] = _t0; /* 028A576C */ _t1 = cpu->r[1] + 0x00000010u; /* 028A576C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5770 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A5770 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 028A5774 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A5774 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A5778 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A5778 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A577C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A577C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5780 */ _t6 = cpu->r[3] + 0x00000038u; /* 028A5780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 028A5784 */ cpu->r[0] = cpu->r[3] + 0x0000002Cu; /* 028A5788 */ _t7 = cpu->r[3] + 0x00000030u; /* 028A5788 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 028A578C */ cpu->r[31] = cpu->r[0] - cpu->r[30]; /* 028A5790 */ cpu->r[28] = cpu->r[11] - cpu->r[30]; /* 028A5794 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 028A5798 */ cpu->r[29] = 0x00000000u; /* 028A579C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A579C */ _t9 = _t8 & 0x00000001u; /* 028A579C */ if (_t9) goto L_028A57D4; else goto L_028A57A0; L_028A57A0: ; // 0x28a57a0 /* 028A57A0 */ _t10 = cpu->r[28] + 0x00000024u; /* 028A57A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A57A4 */ _t11 = cpu->r[9] + 0x0000001Cu; /* 028A57A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A57A8 */ cpu->ctr = cpu->r[0]; /* 028A57AC */ cpu->r[3] = cpu->r[28]; /* 028A57B0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A57B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A57B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A57B8 */ _t13 = _t12 & 0x00000001u; /* 028A57B8 */ if (_t13) goto L_028A57C0; else goto L_028A57BC; L_028A57BC: ; // 0x28a57bc /* 028A57BC */ cpu->r[29] = cpu->r[29] + 0x00000001u; L_028A57C0: ; // 0x28a57c0 /* 028A57C0 */ cpu->r[8] = cpu->r[28] + cpu->r[30]; /* 028A57C4 */ _t14 = cpu->r[8] + 0x00000004u; /* 028A57C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A57C8 */ cpu->r[28] = cpu->r[12] - cpu->r[30]; /* 028A57CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 028A57D0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A57D0 */ _t16 = _t15 & 0x00000001u; /* 028A57D0 */ if (_t16) goto L_028A57D4; else goto L_028A57A0; L_028A57D4: ; // 0x28a57d4 /* 028A57D4 */ _t17 = cpu->r[1] + 0x00000008u; /* 028A57D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17); /* 028A57D8 */ cpu->r[3] = cpu->r[29]; /* 028A57DC */ _t18 = cpu->r[1] + 0x0000000Cu; /* 028A57DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 028A57E0 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 028A57E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A57E4 */ _t20 = cpu->r[1] + 0x00000010u; /* 028A57E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A57E8 */ cpu->lr = cpu->r[0]; /* 028A57EC */ _t21 = cpu->r[1] + 0x00000014u; /* 028A57EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A57F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A57F4 */ return; } // fn_028A57F8 @ 0x28a57f8 void Gambit_fn_028A57F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A57F8: ; // 0x28a57f8 /* 028A57F8 */ cpu->r[0] = cpu->lr; /* 028A57FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A57FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A57FC */ cpu->r[1] = _t0; /* 028A5800 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A5800 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 028A5804 */ cpu->r[28] = cpu->r[3]; /* 028A5808 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A5808 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A580C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A580C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A5810 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A5810 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A5814 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A5814 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5818 */ _t6 = cpu->r[28] + 0x00000038u; /* 028A5818 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 028A581C */ _t7 = cpu->r[28] + 0x00000030u; /* 028A581C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 028A5820 */ cpu->r[10] = cpu->r[28] + 0x0000002Cu; /* 028A5824 */ _t8 = cpu->r[28] + 0x0000001Cu; /* 028A5824 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]); /* 028A5828 */ cpu->r[29] = cpu->r[9] - cpu->r[30]; /* 028A582C */ cpu->r[31] = cpu->r[10] - cpu->r[30]; /* 028A5830 */ _t9 = cpu->r[28] + 0x00000020u; /* 028A5830 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]); /* 028A5834 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A5838 */ _t10 = cpu->r[28] + 0x00000024u; /* 028A5838 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 028A583C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A583C */ _t12 = _t11 & 0x00000001u; /* 028A583C */ if (_t12) goto L_028A587C; else goto L_028A5840; L_028A5840: ; // 0x28a5840 /* 028A5840 */ _t13 = cpu->r[28] + 0x00000020u; /* 028A5840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A5844 */ _t14 = cpu->r[29] + 0x00000024u; /* 028A5844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A5848 */ _t15 = cpu->r[29] + 0x0000001Cu; /* 028A5848 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 028A584C */ _t16 = cpu->r[29] + 0x00000020u; /* 028A584C */ rbrew_write32(cpu->mem, _t16, cpu->r[6]); /* 028A5850 */ _t17 = cpu->r[12] + 0x0000004Cu; /* 028A5850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A5854 */ cpu->ctr = cpu->r[0]; /* 028A5858 */ cpu->r[3] = cpu->r[29]; /* 028A585C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5860 */ cpu->r[11] = cpu->r[29] + cpu->r[30]; /* 028A5864 */ _t18 = cpu->r[11] + 0x00000004u; /* 028A5864 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18); /* 028A5868 */ cpu->r[29] = cpu->r[7] - cpu->r[30]; /* 028A586C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A5870 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5870 */ _t20 = _t19 & 0x00000001u; /* 028A5870 */ if (_t20) goto L_028A587C; else goto L_028A5874; L_028A5874: ; // 0x28a5874 /* 028A5874 */ _t21 = cpu->r[28] + 0x00000024u; /* 028A5874 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 028A5878 */ goto L_028A5840; L_028A587C: ; // 0x28a587c /* 028A587C */ _t22 = cpu->r[28] + 0x00000048u; /* 028A587C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A5880 */ cpu->r[0] = cpu->r[28] + 0x0000003Cu; /* 028A5884 */ _t23 = cpu->r[28] + 0x00000040u; /* 028A5884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23); /* 028A5888 */ cpu->r[30] = cpu->r[0] - cpu->r[29]; /* 028A588C */ cpu->r[31] = cpu->r[9] - cpu->r[29]; /* 028A5890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 028A5894 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5894 */ _t25 = _t24 & 0x00000001u; /* 028A5894 */ if (_t25) goto L_028A58D0; else goto L_028A5898; L_028A5898: ; // 0x28a5898 /* 028A5898 */ _t26 = cpu->r[28] + 0x00000024u; /* 028A5898 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26); /* 028A589C */ _t27 = cpu->r[28] + 0x00000020u; /* 028A589C */ cpu->r[6] = rbrew_read32(cpu->mem, _t27); /* 028A58A0 */ _t28 = cpu->r[31] + 0x00000024u; /* 028A58A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 028A58A4 */ _t29 = cpu->r[31] + 0x0000001Cu; /* 028A58A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]); /* 028A58A8 */ _t30 = cpu->r[31] + 0x00000020u; /* 028A58A8 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]); /* 028A58AC */ _t31 = cpu->r[12] + 0x0000004Cu; /* 028A58AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t31); /* 028A58B0 */ cpu->ctr = cpu->r[6]; /* 028A58B4 */ cpu->r[3] = cpu->r[31]; /* 028A58B8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A58BC */ cpu->r[7] = cpu->r[31] + cpu->r[29]; /* 028A58C0 */ _t32 = cpu->r[7] + 0x00000004u; /* 028A58C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 028A58C4 */ cpu->r[31] = cpu->r[8] - cpu->r[29]; /* 028A58C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 028A58CC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A58CC */ _t34 = _t33 & 0x00000001u; /* 028A58CC */ if (_t34) goto L_028A58D0; else goto L_028A5898; L_028A58D0: ; // 0x28a58d0 /* 028A58D0 */ _t35 = cpu->r[1] + 0x00000008u; /* 028A58D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35); /* 028A58D4 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 028A58D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36); /* 028A58D8 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 028A58D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A58DC */ _t38 = cpu->r[1] + 0x00000010u; /* 028A58DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t38); /* 028A58E0 */ cpu->lr = cpu->r[0]; /* 028A58E4 */ _t39 = cpu->r[1] + 0x00000014u; /* 028A58E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39); /* 028A58E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A58EC */ return; } // fn_028A57FC @ 0x28a57fc void Gambit_fn_028A57FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A57FC: ; // 0x28a57fc /* 028A57FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A57FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A57FC */ cpu->r[1] = _t0; /* 028A5800 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A5800 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 028A5804 */ cpu->r[28] = cpu->r[3]; /* 028A5808 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A5808 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A580C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A580C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A5810 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A5810 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A5814 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A5814 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5818 */ _t6 = cpu->r[28] + 0x00000038u; /* 028A5818 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 028A581C */ _t7 = cpu->r[28] + 0x00000030u; /* 028A581C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 028A5820 */ cpu->r[10] = cpu->r[28] + 0x0000002Cu; /* 028A5824 */ _t8 = cpu->r[28] + 0x0000001Cu; /* 028A5824 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]); /* 028A5828 */ cpu->r[29] = cpu->r[9] - cpu->r[30]; /* 028A582C */ cpu->r[31] = cpu->r[10] - cpu->r[30]; /* 028A5830 */ _t9 = cpu->r[28] + 0x00000020u; /* 028A5830 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]); /* 028A5834 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A5838 */ _t10 = cpu->r[28] + 0x00000024u; /* 028A5838 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 028A583C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A583C */ _t12 = _t11 & 0x00000001u; /* 028A583C */ if (_t12) goto L_028A587C; else goto L_028A5840; L_028A5840: ; // 0x28a5840 /* 028A5840 */ _t13 = cpu->r[28] + 0x00000020u; /* 028A5840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A5844 */ _t14 = cpu->r[29] + 0x00000024u; /* 028A5844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A5848 */ _t15 = cpu->r[29] + 0x0000001Cu; /* 028A5848 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 028A584C */ _t16 = cpu->r[29] + 0x00000020u; /* 028A584C */ rbrew_write32(cpu->mem, _t16, cpu->r[6]); /* 028A5850 */ _t17 = cpu->r[12] + 0x0000004Cu; /* 028A5850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A5854 */ cpu->ctr = cpu->r[0]; /* 028A5858 */ cpu->r[3] = cpu->r[29]; /* 028A585C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5860 */ cpu->r[11] = cpu->r[29] + cpu->r[30]; /* 028A5864 */ _t18 = cpu->r[11] + 0x00000004u; /* 028A5864 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18); /* 028A5868 */ cpu->r[29] = cpu->r[7] - cpu->r[30]; /* 028A586C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A5870 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5870 */ _t20 = _t19 & 0x00000001u; /* 028A5870 */ if (_t20) goto L_028A587C; else goto L_028A5874; L_028A5874: ; // 0x28a5874 /* 028A5874 */ _t21 = cpu->r[28] + 0x00000024u; /* 028A5874 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 028A5878 */ goto L_028A5840; L_028A587C: ; // 0x28a587c /* 028A587C */ _t22 = cpu->r[28] + 0x00000048u; /* 028A587C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A5880 */ cpu->r[0] = cpu->r[28] + 0x0000003Cu; /* 028A5884 */ _t23 = cpu->r[28] + 0x00000040u; /* 028A5884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23); /* 028A5888 */ cpu->r[30] = cpu->r[0] - cpu->r[29]; /* 028A588C */ cpu->r[31] = cpu->r[9] - cpu->r[29]; /* 028A5890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 028A5894 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5894 */ _t25 = _t24 & 0x00000001u; /* 028A5894 */ if (_t25) goto L_028A58D0; else goto L_028A5898; L_028A5898: ; // 0x28a5898 /* 028A5898 */ _t26 = cpu->r[28] + 0x00000024u; /* 028A5898 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26); /* 028A589C */ _t27 = cpu->r[28] + 0x00000020u; /* 028A589C */ cpu->r[6] = rbrew_read32(cpu->mem, _t27); /* 028A58A0 */ _t28 = cpu->r[31] + 0x00000024u; /* 028A58A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 028A58A4 */ _t29 = cpu->r[31] + 0x0000001Cu; /* 028A58A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]); /* 028A58A8 */ _t30 = cpu->r[31] + 0x00000020u; /* 028A58A8 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]); /* 028A58AC */ _t31 = cpu->r[12] + 0x0000004Cu; /* 028A58AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t31); /* 028A58B0 */ cpu->ctr = cpu->r[6]; /* 028A58B4 */ cpu->r[3] = cpu->r[31]; /* 028A58B8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A58BC */ cpu->r[7] = cpu->r[31] + cpu->r[29]; /* 028A58C0 */ _t32 = cpu->r[7] + 0x00000004u; /* 028A58C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 028A58C4 */ cpu->r[31] = cpu->r[8] - cpu->r[29]; /* 028A58C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 028A58CC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A58CC */ _t34 = _t33 & 0x00000001u; /* 028A58CC */ if (_t34) goto L_028A58D0; else goto L_028A5898; L_028A58D0: ; // 0x28a58d0 /* 028A58D0 */ _t35 = cpu->r[1] + 0x00000008u; /* 028A58D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35); /* 028A58D4 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 028A58D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36); /* 028A58D8 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 028A58D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A58DC */ _t38 = cpu->r[1] + 0x00000010u; /* 028A58DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t38); /* 028A58E0 */ cpu->lr = cpu->r[0]; /* 028A58E4 */ _t39 = cpu->r[1] + 0x00000014u; /* 028A58E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39); /* 028A58E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A58EC */ return; } // fn_028A58F0 @ 0x28a58f0 void Gambit_fn_028A58F0(CPUState* cpu) { L_028A58F0: ; // 0x28a58f0 /* 028A58F0 */ return; } // fn_028A58F4 @ 0x28a58f4 void Gambit_fn_028A58F4(CPUState* cpu) { L_028A58F4: ; // 0x28a58f4 /* 028A58F4 */ return; } // fn_028A58F8 @ 0x28a58f8 void Gambit_fn_028A58F8(CPUState* cpu) { L_028A58F8: ; // 0x28a58f8 /* 028A58F8 */ return; } // fn_028A58FC @ 0x28a58fc void Gambit_fn_028A58FC(CPUState* cpu) { L_028A58FC: ; // 0x28a58fc /* 028A58FC */ return; } // fn_028A5900 @ 0x28a5900 void Gambit_fn_028A5900(CPUState* 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_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_028A5900: ; // 0x28a5900 /* 028A5900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5904 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5904 */ _t17 = _t16 & 0x00000001u; /* 028A5904 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A5904 */ goto L_028A5908; L_028A5908: ; // 0x28a5908 /* 028A5908 */ cpu->r[0] = 0x10130000u; /* 028A590C */ cpu->r[0] = cpu->r[0] + 0x0000792Cu; /* 028A5910 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A5910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A5914 */ _t18 = cpu->r[3] + 0x00000050u; /* 028A5914 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]); /* 028A5918 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5918 */ _t20 = _t19 & 0x00000001u; /* 028A5918 */ if (_t20) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A5918 */ goto L_028A591C; L_028A591C: ; // 0x28a591c /* 028A591C */ goto L_02801BB0; } // fn_028A5920 @ 0x28a5920 void Gambit_fn_028A5920(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_028A5920: ; // 0x28a5920 /* 028A5920 */ cpu->r[0] = cpu->lr; /* 028A5924 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5924 */ cpu->r[1] = _t0; /* 028A5928 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A5928 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A592C */ _t2 = cpu->r[1] + 0x00000010u; /* 028A592C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A5930 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5930 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A5934 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A5934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A5938 */ cpu->r[29] = cpu->r[3]; /* 028A593C */ _t5 = cpu->r[29] + 0x00000008u; /* 028A593C */ rbrew_write32(cpu->mem, _t5, cpu->r[4]); /* 028A5940 */ cpu->r[30] = cpu->r[7]; /* 028A5944 */ _t6 = cpu->r[29] + 0x0000000Cu; /* 028A5944 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]); /* 028A5948 */ _t7 = cpu->r[29] + 0x00000010u; /* 028A5948 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 028A594C */ _t8 = cpu->r[29] + 0x0000004Cu; /* 028A594C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 028A5950 */ _t9 = cpu->r[6] + 0x00000020u; /* 028A5950 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 028A5954 */ _t10 = cpu->r[11] + 0x0000000Cu; /* 028A5954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 028A5958 */ _t11 = cpu->r[3] + 0x00000060u; /* 028A5958 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A595C */ _t12 = cpu->r[12] + 0x00000014u; /* 028A595C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A5960 */ cpu->ctr = cpu->r[0]; /* 028A5964 */ cpu->r[31] = cpu->r[8]; /* 028A5968 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A596C */ _t13 = cpu->r[30] + 0x0000000Cu; /* 028A596C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 028A5970 */ _t14 = cpu->r[29] + 0x00000018u; /* 028A5970 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]); /* 028A5974 */ _t15 = cpu->r[29] + 0x00000014u; /* 028A5974 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]); /* 028A5978 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 028A5978 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 028A597C */ _t17 = cpu->r[1] + 0x0000001Cu; /* 028A597C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A5980 */ _t18 = cpu->r[1] + 0x00000014u; /* 028A5980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 028A5984 */ cpu->lr = cpu->r[0]; /* 028A5988 */ _t19 = cpu->r[1] + 0x00000010u; /* 028A5988 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 028A598C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5990 */ cpu->r[3] = 0x00000001u; /* 028A5994 */ return; } // fn_028A5924 @ 0x28a5924 void Gambit_fn_028A5924(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_028A5924: ; // 0x28a5924 /* 028A5924 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5924 */ cpu->r[1] = _t0; /* 028A5928 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A5928 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A592C */ _t2 = cpu->r[1] + 0x00000010u; /* 028A592C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A5930 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5930 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A5934 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A5934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A5938 */ cpu->r[29] = cpu->r[3]; /* 028A593C */ _t5 = cpu->r[29] + 0x00000008u; /* 028A593C */ rbrew_write32(cpu->mem, _t5, cpu->r[4]); /* 028A5940 */ cpu->r[30] = cpu->r[7]; /* 028A5944 */ _t6 = cpu->r[29] + 0x0000000Cu; /* 028A5944 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]); /* 028A5948 */ _t7 = cpu->r[29] + 0x00000010u; /* 028A5948 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 028A594C */ _t8 = cpu->r[29] + 0x0000004Cu; /* 028A594C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 028A5950 */ _t9 = cpu->r[6] + 0x00000020u; /* 028A5950 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 028A5954 */ _t10 = cpu->r[11] + 0x0000000Cu; /* 028A5954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 028A5958 */ _t11 = cpu->r[3] + 0x00000060u; /* 028A5958 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A595C */ _t12 = cpu->r[12] + 0x00000014u; /* 028A595C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A5960 */ cpu->ctr = cpu->r[0]; /* 028A5964 */ cpu->r[31] = cpu->r[8]; /* 028A5968 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A596C */ _t13 = cpu->r[30] + 0x0000000Cu; /* 028A596C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 028A5970 */ _t14 = cpu->r[29] + 0x00000018u; /* 028A5970 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]); /* 028A5974 */ _t15 = cpu->r[29] + 0x00000014u; /* 028A5974 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]); /* 028A5978 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 028A5978 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 028A597C */ _t17 = cpu->r[1] + 0x0000001Cu; /* 028A597C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A5980 */ _t18 = cpu->r[1] + 0x00000014u; /* 028A5980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 028A5984 */ cpu->lr = cpu->r[0]; /* 028A5988 */ _t19 = cpu->r[1] + 0x00000010u; /* 028A5988 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 028A598C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5990 */ cpu->r[3] = 0x00000001u; /* 028A5994 */ return; } // fn_028A5998 @ 0x28a5998 void Gambit_fn_028A5998(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028A5998: ; // 0x28a5998 /* 028A5998 */ cpu->r[0] = cpu->lr; /* 028A599C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A599C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A599C */ cpu->r[1] = _t0; /* 028A59A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A59A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A59A4 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A59A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A59A8 */ _t3 = cpu->r[1] + 0x00000010u; /* 028A59A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028A59AC */ cpu->r[31] = cpu->r[3]; /* 028A59B0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A59B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A59B4 */ _t5 = cpu->r[31] + 0x0000001Cu; /* 028A59B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 028A59B8 */ cpu->r[30] = 0x00000000u; /* 028A59BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]); /* 028A59C0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A59C0 */ _t7 = _t6 & 0x00000001u; /* 028A59C0 */ if (_t7) goto L_028A59C4; else goto L_028A5A14; L_028A59C4: ; // 0x28a59c4 /* 028A59C4 */ cpu->r[29] = 0x00000000u; L_028A59C8: ; // 0x28a59c8 /* 028A59C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]); /* 028A59CC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A59CC */ _t9 = _t8 & 0x00000001u; /* 028A59CC */ if (_t9) goto L_028A59D0; else goto L_028A5A04; L_028A59D0: ; // 0x28a59d0 /* 028A59D0 */ _t10 = cpu->r[31] + 0x00000024u; /* 028A59D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 028A59D4 */ _t11 = cpu->r[10] + cpu->r[29]; /* 028A59D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A59D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A59DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A59DC */ _t13 = _t12 & 0x00000001u; /* 028A59DC */ if (_t13) goto L_028A5A04; else goto L_028A59E0; L_028A59E0: ; // 0x28a59e0 /* 028A59E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]); /* 028A59E4 */ cpu->r[3] = 0x00000000u; /* 028A59E8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A59E8 */ _t15 = _t14 & 0x00000001u; /* 028A59E8 */ if (_t15) goto L_028A59EC; else goto L_028A59F0; L_028A59EC: ; // 0x28a59ec /* 028A59EC */ cpu->r[3] = cpu->r[0]; L_028A59F0: ; // 0x28a59f0 /* 028A59F0 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A59F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 028A59F4 */ _t17 = cpu->r[11] + 0x00000034u; /* 028A59F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028A59F8 */ cpu->ctr = cpu->r[12]; /* 028A59FC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5A00 */ _t18 = cpu->r[31] + 0x0000001Cu; /* 028A5A00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); L_028A5A04: ; // 0x28a5a04 /* 028A5A04 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A5A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]); /* 028A5A0C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028A5A10 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5A10 */ _t20 = _t19 & 0x00000001u; /* 028A5A10 */ if (_t20) goto L_028A59C8; else goto L_028A5A14; L_028A5A14: ; // 0x28a5a14 /* 028A5A14 */ cpu->r[0] = 0x00000000u; /* 028A5A18 */ _t21 = cpu->r[31] + 0x00000048u; /* 028A5A18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 028A5A1C */ cpu->r[3] = cpu->r[31]; /* 028A5A20 */ _t22 = cpu->r[31] + 0x0000001Cu; /* 028A5A20 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A5A24 */ Gambit_fn_028A5D18(cpu); /* 028A5A28 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028A5A28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 028A5A2C */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028A5A2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A5A30 */ _t25 = cpu->r[1] + 0x00000010u; /* 028A5A30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A5A34 */ cpu->lr = cpu->r[0]; /* 028A5A38 */ _t26 = cpu->r[1] + 0x00000014u; /* 028A5A38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A5A3C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5A40 */ return; } // fn_028A599C @ 0x28a599c void Gambit_fn_028A599C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028A599C: ; // 0x28a599c /* 028A599C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A599C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A599C */ cpu->r[1] = _t0; /* 028A59A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A59A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A59A4 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A59A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A59A8 */ _t3 = cpu->r[1] + 0x00000010u; /* 028A59A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028A59AC */ cpu->r[31] = cpu->r[3]; /* 028A59B0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A59B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A59B4 */ _t5 = cpu->r[31] + 0x0000001Cu; /* 028A59B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 028A59B8 */ cpu->r[30] = 0x00000000u; /* 028A59BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]); /* 028A59C0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A59C0 */ _t7 = _t6 & 0x00000001u; /* 028A59C0 */ if (_t7) goto L_028A59C4; else goto L_028A5A14; L_028A59C4: ; // 0x28a59c4 /* 028A59C4 */ cpu->r[29] = 0x00000000u; L_028A59C8: ; // 0x28a59c8 /* 028A59C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]); /* 028A59CC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A59CC */ _t9 = _t8 & 0x00000001u; /* 028A59CC */ if (_t9) goto L_028A59D0; else goto L_028A5A04; L_028A59D0: ; // 0x28a59d0 /* 028A59D0 */ _t10 = cpu->r[31] + 0x00000024u; /* 028A59D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 028A59D4 */ _t11 = cpu->r[10] + cpu->r[29]; /* 028A59D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A59D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A59DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A59DC */ _t13 = _t12 & 0x00000001u; /* 028A59DC */ if (_t13) goto L_028A5A04; else goto L_028A59E0; L_028A59E0: ; // 0x28a59e0 /* 028A59E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]); /* 028A59E4 */ cpu->r[3] = 0x00000000u; /* 028A59E8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A59E8 */ _t15 = _t14 & 0x00000001u; /* 028A59E8 */ if (_t15) goto L_028A59EC; else goto L_028A59F0; L_028A59EC: ; // 0x28a59ec /* 028A59EC */ cpu->r[3] = cpu->r[0]; L_028A59F0: ; // 0x28a59f0 /* 028A59F0 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A59F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 028A59F4 */ _t17 = cpu->r[11] + 0x00000034u; /* 028A59F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028A59F8 */ cpu->ctr = cpu->r[12]; /* 028A59FC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5A00 */ _t18 = cpu->r[31] + 0x0000001Cu; /* 028A5A00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); L_028A5A04: ; // 0x28a5a04 /* 028A5A04 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A5A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]); /* 028A5A0C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028A5A10 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5A10 */ _t20 = _t19 & 0x00000001u; /* 028A5A10 */ if (_t20) goto L_028A59C8; else goto L_028A5A14; L_028A5A14: ; // 0x28a5a14 /* 028A5A14 */ cpu->r[0] = 0x00000000u; /* 028A5A18 */ _t21 = cpu->r[31] + 0x00000048u; /* 028A5A18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 028A5A1C */ cpu->r[3] = cpu->r[31]; /* 028A5A20 */ _t22 = cpu->r[31] + 0x0000001Cu; /* 028A5A20 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A5A24 */ Gambit_fn_028A5D18(cpu); /* 028A5A28 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028A5A28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 028A5A2C */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028A5A2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A5A30 */ _t25 = cpu->r[1] + 0x00000010u; /* 028A5A30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A5A34 */ cpu->lr = cpu->r[0]; /* 028A5A38 */ _t26 = cpu->r[1] + 0x00000014u; /* 028A5A38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A5A3C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5A40 */ return; } // fn_028A5A44 @ 0x28a5a44 void Gambit_fn_028A5A44(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A5A44: ; // 0x28a5a44 /* 028A5A44 */ cpu->r[0] = cpu->lr; /* 028A5A48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A5A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5A48 */ cpu->r[1] = _t0; /* 028A5A4C */ _t1 = cpu->r[1] + 0x00000008u; /* 028A5A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5A50 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A5A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A5A54 */ cpu->r[30] = cpu->r[3]; /* 028A5A58 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5A58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A5A5C */ _t4 = cpu->r[30] + 0x0000004Cu; /* 028A5A5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028A5A60 */ cpu->r[5] = cpu->r[4]; /* 028A5A64 */ _t5 = cpu->r[30] + 0x0000000Cu; /* 028A5A64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 028A5A68 */ _t6 = cpu->r[30] + 0x00000048u; /* 028A5A68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 028A5A6C */ _t7 = cpu->r[30] + 0x00000018u; /* 028A5A6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7); /* 028A5A70 */ Gambit_fn_028A5D78(cpu); /* 028A5A74 */ cpu->r[31] = cpu->r[3]; /* 028A5A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5A78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5A78 */ _t9 = _t8 & 0x00000001u; /* 028A5A78 */ if (_t9) goto L_028A5A7C; else goto L_028A5A98; L_028A5A7C: ; // 0x28a5a7c /* 028A5A7C */ _t10 = cpu->r[1] + 0x00000014u; /* 028A5A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028A5A80 */ _t11 = cpu->r[1] + 0x00000008u; /* 028A5A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 028A5A84 */ cpu->lr = cpu->r[0]; /* 028A5A88 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A5A88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 028A5A8C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5A90 */ cpu->r[3] = 0x00000000u; /* 028A5A94 */ return; L_028A5A98: ; // 0x28a5a98 /* 028A5A98 */ _t13 = cpu->r[31] + 0x00000050u; /* 028A5A98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13); /* 028A5A9C */ _t14 = cpu->r[11] + 0x0000002Cu; /* 028A5A9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A5AA0 */ cpu->ctr = cpu->r[12]; /* 028A5AA4 */ cpu->r[3] = cpu->r[31]; /* 028A5AA8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5AB0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5AB0 */ _t16 = _t15 & 0x00000001u; /* 028A5AB0 */ if (_t16) goto L_028A5AF8; else goto L_028A5AB4; L_028A5AB4: ; // 0x28a5ab4 /* 028A5AB4 */ _t17 = cpu->r[30] + 0x0000001Cu; /* 028A5AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A5AB8 */ _t18 = cpu->r[30] + 0x00000020u; /* 028A5AB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A5ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 028A5AC0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5AC0 */ _t20 = _t19 & 0x00000001u; /* 028A5AC0 */ if (_t20) goto L_028A5AC4; else goto L_028A5ADC; L_028A5AC4: ; // 0x28a5ac4 /* 028A5AC4 */ _t21 = cpu->r[30] + 0x00000024u; /* 028A5AC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 028A5AC8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A5ACC */ _t22 = cpu->r[12] + cpu->r[7]; /* 028A5ACC */ rbrew_write32(cpu->mem, _t22, cpu->r[31]); /* 028A5AD0 */ _t23 = cpu->r[30] + 0x0000001Cu; /* 028A5AD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 028A5AD4 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A5AD8 */ _t24 = cpu->r[30] + 0x0000001Cu; /* 028A5AD8 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]); L_028A5ADC: ; // 0x28a5adc /* 028A5ADC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A5ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A5AE0 */ _t26 = cpu->r[1] + 0x00000008u; /* 028A5AE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A5AE4 */ cpu->lr = cpu->r[0]; /* 028A5AE8 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 028A5AE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A5AEC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5AF0 */ cpu->r[3] = 0x00000001u; /* 028A5AF4 */ return; L_028A5AF8: ; // 0x28a5af8 /* 028A5AF8 */ _t28 = cpu->r[31] + 0x00000050u; /* 028A5AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); /* 028A5AFC */ _t29 = cpu->r[9] + 0x00000034u; /* 028A5AFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t29); /* 028A5B00 */ cpu->ctr = cpu->r[10]; /* 028A5B04 */ cpu->r[3] = cpu->r[31]; /* 028A5B08 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5B0C */ _t30 = cpu->r[1] + 0x00000014u; /* 028A5B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 028A5B10 */ _t31 = cpu->r[1] + 0x00000008u; /* 028A5B10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31); /* 028A5B14 */ cpu->lr = cpu->r[0]; /* 028A5B18 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 028A5B18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 028A5B1C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5B20 */ cpu->r[3] = 0x00000000u; /* 028A5B24 */ return; } // fn_028A5A48 @ 0x28a5a48 void Gambit_fn_028A5A48(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A5A48: ; // 0x28a5a48 /* 028A5A48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A5A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5A48 */ cpu->r[1] = _t0; /* 028A5A4C */ _t1 = cpu->r[1] + 0x00000008u; /* 028A5A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5A50 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A5A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A5A54 */ cpu->r[30] = cpu->r[3]; /* 028A5A58 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5A58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A5A5C */ _t4 = cpu->r[30] + 0x0000004Cu; /* 028A5A5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028A5A60 */ cpu->r[5] = cpu->r[4]; /* 028A5A64 */ _t5 = cpu->r[30] + 0x0000000Cu; /* 028A5A64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 028A5A68 */ _t6 = cpu->r[30] + 0x00000048u; /* 028A5A68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 028A5A6C */ _t7 = cpu->r[30] + 0x00000018u; /* 028A5A6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7); /* 028A5A70 */ Gambit_fn_028A5D78(cpu); /* 028A5A74 */ cpu->r[31] = cpu->r[3]; /* 028A5A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5A78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5A78 */ _t9 = _t8 & 0x00000001u; /* 028A5A78 */ if (_t9) goto L_028A5A7C; else goto L_028A5A98; L_028A5A7C: ; // 0x28a5a7c /* 028A5A7C */ _t10 = cpu->r[1] + 0x00000014u; /* 028A5A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028A5A80 */ _t11 = cpu->r[1] + 0x00000008u; /* 028A5A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 028A5A84 */ cpu->lr = cpu->r[0]; /* 028A5A88 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A5A88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 028A5A8C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5A90 */ cpu->r[3] = 0x00000000u; /* 028A5A94 */ return; L_028A5A98: ; // 0x28a5a98 /* 028A5A98 */ _t13 = cpu->r[31] + 0x00000050u; /* 028A5A98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13); /* 028A5A9C */ _t14 = cpu->r[11] + 0x0000002Cu; /* 028A5A9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A5AA0 */ cpu->ctr = cpu->r[12]; /* 028A5AA4 */ cpu->r[3] = cpu->r[31]; /* 028A5AA8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5AB0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5AB0 */ _t16 = _t15 & 0x00000001u; /* 028A5AB0 */ if (_t16) goto L_028A5AF8; else goto L_028A5AB4; L_028A5AB4: ; // 0x28a5ab4 /* 028A5AB4 */ _t17 = cpu->r[30] + 0x0000001Cu; /* 028A5AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A5AB8 */ _t18 = cpu->r[30] + 0x00000020u; /* 028A5AB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A5ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]); /* 028A5AC0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5AC0 */ _t20 = _t19 & 0x00000001u; /* 028A5AC0 */ if (_t20) goto L_028A5AC4; else goto L_028A5ADC; L_028A5AC4: ; // 0x28a5ac4 /* 028A5AC4 */ _t21 = cpu->r[30] + 0x00000024u; /* 028A5AC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 028A5AC8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A5ACC */ _t22 = cpu->r[12] + cpu->r[7]; /* 028A5ACC */ rbrew_write32(cpu->mem, _t22, cpu->r[31]); /* 028A5AD0 */ _t23 = cpu->r[30] + 0x0000001Cu; /* 028A5AD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 028A5AD4 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028A5AD8 */ _t24 = cpu->r[30] + 0x0000001Cu; /* 028A5AD8 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]); L_028A5ADC: ; // 0x28a5adc /* 028A5ADC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A5ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A5AE0 */ _t26 = cpu->r[1] + 0x00000008u; /* 028A5AE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A5AE4 */ cpu->lr = cpu->r[0]; /* 028A5AE8 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 028A5AE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A5AEC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5AF0 */ cpu->r[3] = 0x00000001u; /* 028A5AF4 */ return; L_028A5AF8: ; // 0x28a5af8 /* 028A5AF8 */ _t28 = cpu->r[31] + 0x00000050u; /* 028A5AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); /* 028A5AFC */ _t29 = cpu->r[9] + 0x00000034u; /* 028A5AFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t29); /* 028A5B00 */ cpu->ctr = cpu->r[10]; /* 028A5B04 */ cpu->r[3] = cpu->r[31]; /* 028A5B08 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5B0C */ _t30 = cpu->r[1] + 0x00000014u; /* 028A5B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 028A5B10 */ _t31 = cpu->r[1] + 0x00000008u; /* 028A5B10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31); /* 028A5B14 */ cpu->lr = cpu->r[0]; /* 028A5B18 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 028A5B18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 028A5B1C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5B20 */ cpu->r[3] = 0x00000000u; /* 028A5B24 */ return; } // fn_028A5B28 @ 0x28a5b28 void Gambit_fn_028A5B28(CPUState* cpu) { uint32_t _t0, _t1, _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_028A5B28: ; // 0x28a5b28 /* 028A5B28 */ cpu->r[0] = cpu->lr; /* 028A5B2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5B2C */ cpu->r[1] = _t0; /* 028A5B30 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A5B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A5B34 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A5B34 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A5B38 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5B38 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A5B3C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A5B3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A5B40 */ cpu->r[29] = cpu->r[3]; /* 028A5B44 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A5B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A5B48 */ cpu->r[30] = 0x00000000u; /* 028A5B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A5B50 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5B50 */ _t7 = _t6 & 0x00000001u; /* 028A5B50 */ if (_t7) goto L_028A5B54; else goto L_028A5BA4; L_028A5B54: ; // 0x28a5b54 /* 028A5B54 */ cpu->r[31] = 0x00000000u; L_028A5B58: ; // 0x28a5b58 /* 028A5B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A5B5C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5B5C */ _t9 = _t8 & 0x00000001u; /* 028A5B5C */ if (_t9) goto L_028A5B60; else goto L_028A5B94; L_028A5B60: ; // 0x28a5b60 /* 028A5B60 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A5B60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A5B64 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A5B64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A5B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A5B6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5B6C */ _t13 = _t12 & 0x00000001u; /* 028A5B6C */ if (_t13) goto L_028A5B94; else goto L_028A5B70; L_028A5B70: ; // 0x28a5b70 /* 028A5B70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A5B74 */ cpu->r[3] = 0x00000000u; /* 028A5B78 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5B78 */ _t15 = _t14 & 0x00000001u; /* 028A5B78 */ if (_t15) goto L_028A5B7C; else goto L_028A5B80; L_028A5B7C: ; // 0x28a5b7c /* 028A5B7C */ cpu->r[3] = cpu->r[8]; L_028A5B80: ; // 0x28a5b80 /* 028A5B80 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A5B80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A5B84 */ _t17 = cpu->r[10] + 0x0000001Cu; /* 028A5B84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A5B88 */ cpu->ctr = cpu->r[11]; /* 028A5B8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5B90 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A5B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A5B94: ; // 0x28a5b94 /* 028A5B94 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A5B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A5B9C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A5BA0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5BA0 */ _t20 = _t19 & 0x00000001u; /* 028A5BA0 */ if (_t20) goto L_028A5B58; else goto L_028A5BA4; L_028A5BA4: ; // 0x28a5ba4 /* 028A5BA4 */ cpu->r[0] = 0x00000000u; /* 028A5BA8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A5BA8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A5BAC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A5BAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A5BB0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A5BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A5BB4 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A5BB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A5BB8 */ cpu->lr = cpu->r[0]; /* 028A5BBC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A5BBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A5BC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5BC4 */ return; } // fn_028A5B2C @ 0x28a5b2c void Gambit_fn_028A5B2C(CPUState* cpu) { uint32_t _t0, _t1, _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_028A5B2C: ; // 0x28a5b2c /* 028A5B2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5B2C */ cpu->r[1] = _t0; /* 028A5B30 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A5B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A5B34 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A5B34 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A5B38 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5B38 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A5B3C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A5B3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A5B40 */ cpu->r[29] = cpu->r[3]; /* 028A5B44 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A5B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A5B48 */ cpu->r[30] = 0x00000000u; /* 028A5B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A5B50 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5B50 */ _t7 = _t6 & 0x00000001u; /* 028A5B50 */ if (_t7) goto L_028A5B54; else goto L_028A5BA4; L_028A5B54: ; // 0x28a5b54 /* 028A5B54 */ cpu->r[31] = 0x00000000u; L_028A5B58: ; // 0x28a5b58 /* 028A5B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A5B5C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5B5C */ _t9 = _t8 & 0x00000001u; /* 028A5B5C */ if (_t9) goto L_028A5B60; else goto L_028A5B94; L_028A5B60: ; // 0x28a5b60 /* 028A5B60 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A5B60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A5B64 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A5B64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A5B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A5B6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5B6C */ _t13 = _t12 & 0x00000001u; /* 028A5B6C */ if (_t13) goto L_028A5B94; else goto L_028A5B70; L_028A5B70: ; // 0x28a5b70 /* 028A5B70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A5B74 */ cpu->r[3] = 0x00000000u; /* 028A5B78 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5B78 */ _t15 = _t14 & 0x00000001u; /* 028A5B78 */ if (_t15) goto L_028A5B7C; else goto L_028A5B80; L_028A5B7C: ; // 0x28a5b7c /* 028A5B7C */ cpu->r[3] = cpu->r[8]; L_028A5B80: ; // 0x28a5b80 /* 028A5B80 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A5B80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A5B84 */ _t17 = cpu->r[10] + 0x0000001Cu; /* 028A5B84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A5B88 */ cpu->ctr = cpu->r[11]; /* 028A5B8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5B90 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A5B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A5B94: ; // 0x28a5b94 /* 028A5B94 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A5B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A5B9C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A5BA0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5BA0 */ _t20 = _t19 & 0x00000001u; /* 028A5BA0 */ if (_t20) goto L_028A5B58; else goto L_028A5BA4; L_028A5BA4: ; // 0x28a5ba4 /* 028A5BA4 */ cpu->r[0] = 0x00000000u; /* 028A5BA8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A5BA8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A5BAC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A5BAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A5BB0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A5BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A5BB4 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A5BB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A5BB8 */ cpu->lr = cpu->r[0]; /* 028A5BBC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A5BBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A5BC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5BC4 */ return; } // fn_028A5BC8 @ 0x28a5bc8 void Gambit_fn_028A5BC8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A5BC8: ; // 0x28a5bc8 /* 028A5BC8 */ cpu->r[0] = cpu->lr; /* 028A5BCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5BCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5BCC */ cpu->r[1] = _t0; /* 028A5BD0 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A5BD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5BD4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A5BD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A5BD8 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A5BD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A5BDC */ _t4 = cpu->r[1] + 0x00000014u; /* 028A5BDC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A5BE0 */ cpu->r[28] = cpu->r[3]; /* 028A5BE4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A5BE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5BE8 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A5BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A5BEC */ cpu->r[29] = 0x00000000u; /* 028A5BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A5BF4 */ cpu->r[30] = cpu->r[4]; /* 028A5BF8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5BF8 */ _t8 = _t7 & 0x00000001u; /* 028A5BF8 */ if (_t8) goto L_028A5BFC; else goto L_028A5C50; L_028A5BFC: ; // 0x28a5bfc /* 028A5BFC */ cpu->r[31] = 0x00000000u; L_028A5C00: ; // 0x28a5c00 /* 028A5C00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A5C04 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5C04 */ _t10 = _t9 & 0x00000001u; /* 028A5C04 */ if (_t10) goto L_028A5C08; else goto L_028A5C40; L_028A5C08: ; // 0x28a5c08 /* 028A5C08 */ _t11 = cpu->r[28] + 0x00000024u; /* 028A5C08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A5C0C */ _t12 = cpu->r[9] + cpu->r[31]; /* 028A5C0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028A5C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A5C14 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5C14 */ _t14 = _t13 & 0x00000001u; /* 028A5C14 */ if (_t14) goto L_028A5C40; else goto L_028A5C18; L_028A5C18: ; // 0x28a5c18 /* 028A5C18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A5C1C */ cpu->r[3] = 0x00000000u; /* 028A5C20 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5C20 */ _t16 = _t15 & 0x00000001u; /* 028A5C20 */ if (_t16) goto L_028A5C24; else goto L_028A5C28; L_028A5C24: ; // 0x28a5c24 /* 028A5C24 */ cpu->r[3] = cpu->r[8]; L_028A5C28: ; // 0x28a5c28 /* 028A5C28 */ _t17 = cpu->r[3] + 0x00000050u; /* 028A5C28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A5C2C */ _t18 = cpu->r[10] + 0x00000024u; /* 028A5C2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A5C30 */ cpu->ctr = cpu->r[11]; /* 028A5C34 */ cpu->r[4] = cpu->r[30]; /* 028A5C38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5C3C */ _t19 = cpu->r[28] + 0x0000001Cu; /* 028A5C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); L_028A5C40: ; // 0x28a5c40 /* 028A5C40 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A5C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A5C48 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A5C4C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5C4C */ _t21 = _t20 & 0x00000001u; /* 028A5C4C */ if (_t21) goto L_028A5C00; else goto L_028A5C50; L_028A5C50: ; // 0x28a5c50 /* 028A5C50 */ cpu->r[0] = 0x00000000u; /* 028A5C54 */ _t22 = cpu->r[28] + 0x00000014u; /* 028A5C54 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A5C58 */ _t23 = cpu->r[1] + 0x00000008u; /* 028A5C58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23); /* 028A5C5C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A5C5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 028A5C60 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 028A5C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A5C64 */ _t26 = cpu->r[1] + 0x00000010u; /* 028A5C64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A5C68 */ cpu->lr = cpu->r[0]; /* 028A5C6C */ _t27 = cpu->r[1] + 0x00000014u; /* 028A5C6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A5C70 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5C74 */ return; } // fn_028A5BCC @ 0x28a5bcc void Gambit_fn_028A5BCC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A5BCC: ; // 0x28a5bcc /* 028A5BCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5BCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5BCC */ cpu->r[1] = _t0; /* 028A5BD0 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A5BD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5BD4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A5BD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A5BD8 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A5BD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A5BDC */ _t4 = cpu->r[1] + 0x00000014u; /* 028A5BDC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A5BE0 */ cpu->r[28] = cpu->r[3]; /* 028A5BE4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A5BE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A5BE8 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A5BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A5BEC */ cpu->r[29] = 0x00000000u; /* 028A5BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A5BF4 */ cpu->r[30] = cpu->r[4]; /* 028A5BF8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5BF8 */ _t8 = _t7 & 0x00000001u; /* 028A5BF8 */ if (_t8) goto L_028A5BFC; else goto L_028A5C50; L_028A5BFC: ; // 0x28a5bfc /* 028A5BFC */ cpu->r[31] = 0x00000000u; L_028A5C00: ; // 0x28a5c00 /* 028A5C00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A5C04 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5C04 */ _t10 = _t9 & 0x00000001u; /* 028A5C04 */ if (_t10) goto L_028A5C08; else goto L_028A5C40; L_028A5C08: ; // 0x28a5c08 /* 028A5C08 */ _t11 = cpu->r[28] + 0x00000024u; /* 028A5C08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A5C0C */ _t12 = cpu->r[9] + cpu->r[31]; /* 028A5C0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028A5C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A5C14 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5C14 */ _t14 = _t13 & 0x00000001u; /* 028A5C14 */ if (_t14) goto L_028A5C40; else goto L_028A5C18; L_028A5C18: ; // 0x28a5c18 /* 028A5C18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A5C1C */ cpu->r[3] = 0x00000000u; /* 028A5C20 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5C20 */ _t16 = _t15 & 0x00000001u; /* 028A5C20 */ if (_t16) goto L_028A5C24; else goto L_028A5C28; L_028A5C24: ; // 0x28a5c24 /* 028A5C24 */ cpu->r[3] = cpu->r[8]; L_028A5C28: ; // 0x28a5c28 /* 028A5C28 */ _t17 = cpu->r[3] + 0x00000050u; /* 028A5C28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A5C2C */ _t18 = cpu->r[10] + 0x00000024u; /* 028A5C2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A5C30 */ cpu->ctr = cpu->r[11]; /* 028A5C34 */ cpu->r[4] = cpu->r[30]; /* 028A5C38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5C3C */ _t19 = cpu->r[28] + 0x0000001Cu; /* 028A5C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); L_028A5C40: ; // 0x28a5c40 /* 028A5C40 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A5C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A5C48 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A5C4C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5C4C */ _t21 = _t20 & 0x00000001u; /* 028A5C4C */ if (_t21) goto L_028A5C00; else goto L_028A5C50; L_028A5C50: ; // 0x28a5c50 /* 028A5C50 */ cpu->r[0] = 0x00000000u; /* 028A5C54 */ _t22 = cpu->r[28] + 0x00000014u; /* 028A5C54 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A5C58 */ _t23 = cpu->r[1] + 0x00000008u; /* 028A5C58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23); /* 028A5C5C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A5C5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 028A5C60 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 028A5C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A5C64 */ _t26 = cpu->r[1] + 0x00000010u; /* 028A5C64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A5C68 */ cpu->lr = cpu->r[0]; /* 028A5C6C */ _t27 = cpu->r[1] + 0x00000014u; /* 028A5C6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A5C70 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5C74 */ return; } // fn_028A5C78 @ 0x28a5c78 void Gambit_fn_028A5C78(CPUState* cpu) { uint32_t _t0, _t1, _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_028A5C78: ; // 0x28a5c78 /* 028A5C78 */ cpu->r[0] = cpu->lr; /* 028A5C7C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5C7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5C7C */ cpu->r[1] = _t0; /* 028A5C80 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A5C80 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A5C84 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A5C84 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A5C88 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A5C8C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A5C8C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A5C90 */ cpu->r[29] = cpu->r[3]; /* 028A5C94 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A5C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A5C98 */ cpu->r[30] = 0x00000000u; /* 028A5C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A5CA0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5CA0 */ _t7 = _t6 & 0x00000001u; /* 028A5CA0 */ if (_t7) goto L_028A5CA4; else goto L_028A5CF4; L_028A5CA4: ; // 0x28a5ca4 /* 028A5CA4 */ cpu->r[31] = 0x00000000u; L_028A5CA8: ; // 0x28a5ca8 /* 028A5CA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A5CAC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5CAC */ _t9 = _t8 & 0x00000001u; /* 028A5CAC */ if (_t9) goto L_028A5CB0; else goto L_028A5CE4; L_028A5CB0: ; // 0x28a5cb0 /* 028A5CB0 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A5CB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A5CB4 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A5CB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A5CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A5CBC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5CBC */ _t13 = _t12 & 0x00000001u; /* 028A5CBC */ if (_t13) goto L_028A5CE4; else goto L_028A5CC0; L_028A5CC0: ; // 0x28a5cc0 /* 028A5CC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A5CC4 */ cpu->r[3] = 0x00000000u; /* 028A5CC8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5CC8 */ _t15 = _t14 & 0x00000001u; /* 028A5CC8 */ if (_t15) goto L_028A5CCC; else goto L_028A5CD0; L_028A5CCC: ; // 0x28a5ccc /* 028A5CCC */ cpu->r[3] = cpu->r[8]; L_028A5CD0: ; // 0x28a5cd0 /* 028A5CD0 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A5CD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A5CD4 */ _t17 = cpu->r[10] + 0x00000044u; /* 028A5CD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A5CD8 */ cpu->ctr = cpu->r[11]; /* 028A5CDC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5CE0 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A5CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A5CE4: ; // 0x28a5ce4 /* 028A5CE4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A5CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A5CEC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A5CF0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5CF0 */ _t20 = _t19 & 0x00000001u; /* 028A5CF0 */ if (_t20) goto L_028A5CA8; else goto L_028A5CF4; L_028A5CF4: ; // 0x28a5cf4 /* 028A5CF4 */ cpu->r[0] = 0x00000000u; /* 028A5CF8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A5CF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A5CFC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A5CFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A5D00 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A5D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A5D04 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A5D04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A5D08 */ cpu->lr = cpu->r[0]; /* 028A5D0C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A5D0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A5D10 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5D14 */ return; } // fn_028A5C7C @ 0x28a5c7c void Gambit_fn_028A5C7C(CPUState* cpu) { uint32_t _t0, _t1, _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_028A5C7C: ; // 0x28a5c7c /* 028A5C7C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A5C7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5C7C */ cpu->r[1] = _t0; /* 028A5C80 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A5C80 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A5C84 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A5C84 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A5C88 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A5C8C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A5C8C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A5C90 */ cpu->r[29] = cpu->r[3]; /* 028A5C94 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A5C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A5C98 */ cpu->r[30] = 0x00000000u; /* 028A5C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A5CA0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5CA0 */ _t7 = _t6 & 0x00000001u; /* 028A5CA0 */ if (_t7) goto L_028A5CA4; else goto L_028A5CF4; L_028A5CA4: ; // 0x28a5ca4 /* 028A5CA4 */ cpu->r[31] = 0x00000000u; L_028A5CA8: ; // 0x28a5ca8 /* 028A5CA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A5CAC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5CAC */ _t9 = _t8 & 0x00000001u; /* 028A5CAC */ if (_t9) goto L_028A5CB0; else goto L_028A5CE4; L_028A5CB0: ; // 0x28a5cb0 /* 028A5CB0 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A5CB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A5CB4 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A5CB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A5CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A5CBC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5CBC */ _t13 = _t12 & 0x00000001u; /* 028A5CBC */ if (_t13) goto L_028A5CE4; else goto L_028A5CC0; L_028A5CC0: ; // 0x28a5cc0 /* 028A5CC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A5CC4 */ cpu->r[3] = 0x00000000u; /* 028A5CC8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5CC8 */ _t15 = _t14 & 0x00000001u; /* 028A5CC8 */ if (_t15) goto L_028A5CCC; else goto L_028A5CD0; L_028A5CCC: ; // 0x28a5ccc /* 028A5CCC */ cpu->r[3] = cpu->r[8]; L_028A5CD0: ; // 0x28a5cd0 /* 028A5CD0 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A5CD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A5CD4 */ _t17 = cpu->r[10] + 0x00000044u; /* 028A5CD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A5CD8 */ cpu->ctr = cpu->r[11]; /* 028A5CDC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5CE0 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A5CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A5CE4: ; // 0x28a5ce4 /* 028A5CE4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A5CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A5CEC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A5CF0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5CF0 */ _t20 = _t19 & 0x00000001u; /* 028A5CF0 */ if (_t20) goto L_028A5CA8; else goto L_028A5CF4; L_028A5CF4: ; // 0x28a5cf4 /* 028A5CF4 */ cpu->r[0] = 0x00000000u; /* 028A5CF8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A5CF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A5CFC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A5CFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A5D00 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A5D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A5D04 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A5D04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A5D08 */ cpu->lr = cpu->r[0]; /* 028A5D0C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A5D0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A5D10 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A5D14 */ return; } // fn_028A5D18 @ 0x28a5d18 void Gambit_fn_028A5D18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A5D18: ; // 0x28a5d18 /* 028A5D18 */ cpu->r[0] = cpu->lr; /* 028A5D1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A5D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5D1C */ cpu->r[1] = _t0; /* 028A5D20 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A5D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5D24 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A5D24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A5D28 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5D28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A5D2C */ _t4 = cpu->r[3] + 0x00000050u; /* 028A5D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 028A5D30 */ _t5 = cpu->r[12] + 0x0000000Cu; /* 028A5D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A5D34 */ cpu->r[31] = cpu->r[4]; /* 028A5D38 */ cpu->ctr = cpu->r[0]; /* 028A5D3C */ cpu->r[30] = cpu->r[3]; /* 028A5D40 */ cpu->r[4] = 0x00000002u; /* 028A5D44 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5D48 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028A5D48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028A5D4C */ _t7 = cpu->r[10] + 0x0000003Cu; /* 028A5D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A5D50 */ cpu->ctr = cpu->r[0]; /* 028A5D54 */ cpu->r[3] = cpu->r[31]; /* 028A5D58 */ cpu->r[4] = cpu->r[30]; /* 028A5D5C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5D60 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A5D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A5D64 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A5D64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A5D68 */ cpu->lr = cpu->r[0]; /* 028A5D6C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A5D6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A5D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5D74 */ return; } // fn_028A5D1C @ 0x28a5d1c void Gambit_fn_028A5D1C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A5D1C: ; // 0x28a5d1c /* 028A5D1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A5D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5D1C */ cpu->r[1] = _t0; /* 028A5D20 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A5D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A5D24 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A5D24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A5D28 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A5D28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A5D2C */ _t4 = cpu->r[3] + 0x00000050u; /* 028A5D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 028A5D30 */ _t5 = cpu->r[12] + 0x0000000Cu; /* 028A5D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A5D34 */ cpu->r[31] = cpu->r[4]; /* 028A5D38 */ cpu->ctr = cpu->r[0]; /* 028A5D3C */ cpu->r[30] = cpu->r[3]; /* 028A5D40 */ cpu->r[4] = 0x00000002u; /* 028A5D44 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5D48 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028A5D48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028A5D4C */ _t7 = cpu->r[10] + 0x0000003Cu; /* 028A5D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A5D50 */ cpu->ctr = cpu->r[0]; /* 028A5D54 */ cpu->r[3] = cpu->r[31]; /* 028A5D58 */ cpu->r[4] = cpu->r[30]; /* 028A5D5C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5D60 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A5D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A5D64 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A5D64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A5D68 */ cpu->lr = cpu->r[0]; /* 028A5D6C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A5D6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A5D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A5D74 */ return; } // fn_028A5D78 @ 0x28a5d78 void Gambit_fn_028A5D78(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028A5D78: ; // 0x28a5d78 /* 028A5D78 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 028A5D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A5D78 */ cpu->r[1] = _t0; /* 028A5D7C */ /* nop */ /* 028A5D80 */ cpu->r[0] = cpu->lr; /* 028A5D84 */ cpu->r[30] = cpu->r[6]; /* 028A5D88 */ cpu->r[28] = cpu->r[4]; /* 028A5D8C */ _t1 = cpu->r[1] + 0x0000003Cu; /* 028A5D8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A5D90 */ cpu->r[29] = cpu->r[5]; /* 028A5D94 */ cpu->r[27] = cpu->r[3]; /* 028A5D98 */ cpu->r[3] = cpu->r[29]; /* 028A5D9C */ cpu->r[25] = cpu->r[7]; /* 028A5DA0 */ Gambit_fn_028A8CA4(cpu); /* 028A5DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5DA8 */ cpu->r[26] = 0x00000005u; /* 028A5DAC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5DAC */ _t3 = _t2 & 0x00000001u; /* 028A5DAC */ if (_t3) goto L_028A5DB4; else goto L_028A5DB0; L_028A5DB0: ; // 0x28a5db0 /* 028A5DB0 */ _t4 = cpu->r[3] + 0x00000000u; /* 028A5DB0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t4); L_028A5DB4: ; // 0x28a5db4 /* 028A5DB4 */ cpu->r[24] = 0x00000000u; /* 028A5DB8 */ cpu->r[23] = 0x10130000u; /* 028A5DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000003u); /* 028A5DC0 */ cpu->r[31] = cpu->r[24]; /* 028A5DC4 */ cpu->r[23] = cpu->r[23] + 0x0000792Cu; /* 028A5DC8 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5DC8 */ _t6 = _t5 & 0x00000001u; /* 028A5DC8 */ if (_t6) goto L_028A5DCC; else goto L_028A5E00; L_028A5DCC: ; // 0x28a5dcc /* 028A5DCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000001u); /* 028A5DD0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5DD0 */ _t8 = _t7 & 0x00000001u; /* 028A5DD0 */ if (_t8) goto L_028A5E38; else goto L_028A5DD4; L_028A5DD4: ; // 0x28a5dd4 /* 028A5DD4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5DD4 */ _t10 = _t9 & 0x00000001u; /* 028A5DD4 */ if (_t10) goto L_028A5F20; else goto L_028A5DD8; L_028A5DD8: ; // 0x28a5dd8 /* 028A5DD8 */ _t11 = cpu->r[25] + 0x0000000Cu; /* 028A5DD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A5DDC */ _t12 = cpu->r[9] + 0x00000034u; /* 028A5DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 028A5DE0 */ cpu->ctr = cpu->r[10]; /* 028A5DE4 */ cpu->r[3] = cpu->r[25]; /* 028A5DE8 */ cpu->r[4] = 0x00000054u; /* 028A5DEC */ cpu->r[5] = 0x00000004u; /* 028A5DF0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5DF8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5DF8 */ _t14 = _t13 & 0x00000001u; /* 028A5DF8 */ if (_t14) goto L_028A634C; else goto L_028A5DFC; L_028A5DFC: ; // 0x28a5dfc /* 028A5DFC */ goto L_028A60BC; L_028A5E00: ; // 0x28a5e00 /* 028A5E00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u); /* 028A5E04 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A5E04 */ _t16 = _t15 & 0x00000001u; /* 028A5E04 */ if (_t16) goto L_028A6150; else goto L_028A5E08; L_028A5E08: ; // 0x28a5e08 /* 028A5E08 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5E08 */ _t18 = _t17 & 0x00000001u; /* 028A5E08 */ if (_t18) goto L_028A5FD8; else goto L_028A5E0C; L_028A5E0C: ; // 0x28a5e0c /* 028A5E0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000005u); /* 028A5E10 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5E10 */ _t20 = _t19 & 0x00000001u; /* 028A5E10 */ if (_t20) goto L_028A6238; else goto L_028A5E14; L_028A5E14: ; // 0x28a5e14 /* 028A5E14 */ _t21 = cpu->r[28] + 0x0000001Cu; /* 028A5E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21); /* 028A5E18 */ cpu->r[6] = 0x10130000u; /* 028A5E1C */ _t22 = cpu->r[29] + 0x00000000u; /* 028A5E1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22); /* 028A5E20 */ cpu->r[6] = cpu->r[6] + 0x00007974u; /* 028A5E24 */ _t23 = cpu->r[28] + 0x00000020u; /* 028A5E24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23); /* 028A5E28 */ cpu->r[4] = 0x00000021u; /* 028A5E2C */ _t24 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A5E2C */ _t25 = _t24 & 0x00000001u; /* 028A5E2C */ if (_t25) goto L_028A5E30; // else: addr-0 trap, fall-through L_028A5E30: ; // 0x28a5e30 /* 028A5E30 */ Gambit_fn_028AA73C(cpu); /* 028A5E34 */ goto L_028A636C; L_028A5E38: ; // 0x28a5e38 /* 028A5E38 */ _t26 = cpu->r[25] + 0x0000000Cu; /* 028A5E38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 028A5E3C */ _t27 = cpu->r[9] + 0x00000034u; /* 028A5E3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t27); /* 028A5E40 */ cpu->ctr = cpu->r[10]; /* 028A5E44 */ cpu->r[3] = cpu->r[25]; /* 028A5E48 */ cpu->r[4] = 0x00000058u; /* 028A5E4C */ cpu->r[5] = 0x00000004u; /* 028A5E50 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5E58 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5E58 */ _t29 = _t28 & 0x00000001u; /* 028A5E58 */ if (_t29) goto L_028A634C; else goto L_028A5E5C; L_028A5E5C: ; // 0x28a5e5c /* 028A5E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5E60 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5E60 */ _t31 = _t30 & 0x00000001u; /* 028A5E60 */ if (_t31) goto L_028A5EF8; else goto L_028A5E64; L_028A5E64: ; // 0x28a5e64 /* 028A5E64 */ cpu->r[31] = cpu->r[3]; /* 028A5E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5E68 */ cpu->r[21] = cpu->r[31]; /* 028A5E6C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5E6C */ _t33 = _t32 & 0x00000001u; /* 028A5E6C */ if (_t33) goto L_028A5E70; else goto L_028A5E80; L_028A5E70: ; // 0x28a5e70 /* 028A5E70 */ cpu->r[3] = 0x00000054u; /* 028A5E74 */ Gambit_fn_02801A78(cpu); /* 028A5E78 */ cpu->r[21] = cpu->r[3]; /* 028A5E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A5E7C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5E7C */ _t35 = _t34 & 0x00000001u; /* 028A5E7C */ if (_t35) goto L_028A5EDC; else goto L_028A5E80; L_028A5E80: ; // 0x28a5e80 /* 028A5E80 */ _t36 = cpu->r[21] + 0x00000000u; /* 028A5E80 */ rbrew_write32(cpu->mem, _t36, cpu->r[24]); /* 028A5E84 */ cpu->r[22] = cpu->r[21] + 0x0000001Cu; /* 028A5E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A5E88 */ _t37 = cpu->r[21] + 0x00000004u; /* 028A5E88 */ rbrew_write32(cpu->mem, _t37, cpu->r[24]); /* 028A5E8C */ _t38 = cpu->r[21] + 0x00000050u; /* 028A5E8C */ rbrew_write32(cpu->mem, _t38, cpu->r[23]); /* 028A5E90 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5E90 */ _t40 = _t39 & 0x00000001u; /* 028A5E90 */ if (_t40) goto L_028A5E94; else goto L_028A5EA4; L_028A5E94: ; // 0x28a5e94 /* 028A5E94 */ cpu->r[3] = 0x0000002Cu; /* 028A5E98 */ Gambit_fn_02801A78(cpu); /* 028A5E9C */ cpu->r[22] = cpu->r[3]; /* 028A5E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A5EA0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5EA0 */ _t42 = _t41 & 0x00000001u; /* 028A5EA0 */ if (_t42) goto L_028A5ED8; else goto L_028A5EA4; L_028A5EA4: ; // 0x28a5ea4 /* 028A5EA4 */ cpu->r[3] = cpu->r[22]; /* 028A5EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5EA8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5EA8 */ _t44 = _t43 & 0x00000001u; /* 028A5EA8 */ if (_t44) goto L_028A5EAC; else goto L_028A5EBC; L_028A5EAC: ; // 0x28a5eac /* 028A5EAC */ cpu->r[3] = 0x0000000Cu; /* 028A5EB0 */ Gambit_fn_02801A78(cpu); /* 028A5EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5EB8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5EB8 */ _t46 = _t45 & 0x00000001u; /* 028A5EB8 */ if (_t46) goto L_028A5EC8; else goto L_028A5EBC; L_028A5EBC: ; // 0x28a5ebc /* 028A5EBC */ _t47 = cpu->r[3] + 0x00000004u; /* 028A5EBC */ rbrew_write32(cpu->mem, _t47, cpu->r[24]); /* 028A5EC0 */ _t48 = cpu->r[3] + 0x00000000u; /* 028A5EC0 */ rbrew_write32(cpu->mem, _t48, cpu->r[24]); /* 028A5EC4 */ _t49 = cpu->r[3] + 0x00000008u; /* 028A5EC4 */ rbrew_write32(cpu->mem, _t49, cpu->r[24]); L_028A5EC8: ; // 0x28a5ec8 /* 028A5EC8 */ cpu->r[4] = 0x00000008u; /* 028A5ECC */ cpu->r[5] = cpu->r[22] + 0x0000000Cu; /* 028A5ED0 */ cpu->r[3] = cpu->r[22]; /* 028A5ED4 */ Gambit_fn_028023A8(cpu); L_028A5ED8: ; // 0x28a5ed8 /* 028A5ED8 */ _t50 = cpu->r[21] + 0x00000048u; /* 028A5ED8 */ rbrew_write32(cpu->mem, _t50, cpu->r[25]); L_028A5EDC: ; // 0x28a5edc /* 028A5EDC */ cpu->r[11] = 0x10130000u; /* 028A5EE0 */ _t51 = cpu->r[31] + 0x00000054u; /* 028A5EE0 */ rbrew_write32(cpu->mem, _t51, cpu->r[24]); /* 028A5EE4 */ cpu->r[11] = cpu->r[11] + 0x00007DB8u; /* 028A5EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5EEC */ _t52 = cpu->r[31] + 0x00000050u; /* 028A5EEC */ rbrew_write32(cpu->mem, _t52, cpu->r[11]); /* 028A5EF0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5EF0 */ _t54 = _t53 & 0x00000001u; /* 028A5EF0 */ if (_t54) goto L_028A634C; else goto L_028A5EF4; L_028A5EF4: ; // 0x28a5ef4 /* 028A5EF4 */ goto L_028A630C; L_028A5EF8: ; // 0x28a5ef8 /* 028A5EF8 */ _t55 = cpu->r[28] + 0x0000001Cu; /* 028A5EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55); /* 028A5EFC */ cpu->r[6] = 0x10130000u; /* 028A5F00 */ _t56 = cpu->r[29] + 0x00000000u; /* 028A5F00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 028A5F04 */ cpu->r[6] = cpu->r[6] + 0x00007974u; /* 028A5F08 */ _t57 = cpu->r[28] + 0x00000020u; /* 028A5F08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57); /* 028A5F0C */ cpu->r[4] = 0x00000021u; /* 028A5F10 */ cpu->r[31] = 0x00000000u; /* 028A5F14 */ _t58 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A5F14 */ _t59 = _t58 & 0x00000001u; /* 028A5F14 */ if (_t59) goto L_028A5F18; // else: addr-0 trap, fall-through L_028A5F18: ; // 0x28a5f18 /* 028A5F18 */ Gambit_fn_028AA73C(cpu); /* 028A5F1C */ goto L_028A636C; L_028A5F20: ; // 0x28a5f20 /* 028A5F20 */ _t60 = cpu->r[25] + 0x0000000Cu; /* 028A5F20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60); /* 028A5F24 */ _t61 = cpu->r[12] + 0x00000034u; /* 028A5F24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61); /* 028A5F28 */ cpu->ctr = cpu->r[0]; /* 028A5F2C */ cpu->r[3] = cpu->r[25]; /* 028A5F30 */ cpu->r[4] = 0x00000054u; /* 028A5F34 */ cpu->r[5] = 0x00000004u; /* 028A5F38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5F40 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5F40 */ _t63 = _t62 & 0x00000001u; /* 028A5F40 */ if (_t63) goto L_028A634C; else goto L_028A5F44; L_028A5F44: ; // 0x28a5f44 /* 028A5F44 */ cpu->r[31] = cpu->r[3]; /* 028A5F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5F48 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5F48 */ _t65 = _t64 & 0x00000001u; /* 028A5F48 */ if (_t65) goto L_028A5FCC; else goto L_028A5F4C; L_028A5F4C: ; // 0x28a5f4c /* 028A5F4C */ cpu->r[21] = cpu->r[31]; /* 028A5F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A5F50 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5F50 */ _t67 = _t66 & 0x00000001u; /* 028A5F50 */ if (_t67) goto L_028A5F54; else goto L_028A5F64; L_028A5F54: ; // 0x28a5f54 /* 028A5F54 */ cpu->r[3] = 0x00000054u; /* 028A5F58 */ Gambit_fn_02801A78(cpu); /* 028A5F5C */ cpu->r[21] = cpu->r[3]; /* 028A5F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A5F60 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5F60 */ _t69 = _t68 & 0x00000001u; /* 028A5F60 */ if (_t69) goto L_028A5FC0; else goto L_028A5F64; L_028A5F64: ; // 0x28a5f64 /* 028A5F64 */ _t70 = cpu->r[21] + 0x00000000u; /* 028A5F64 */ rbrew_write32(cpu->mem, _t70, cpu->r[24]); /* 028A5F68 */ cpu->r[22] = cpu->r[21] + 0x0000001Cu; /* 028A5F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A5F6C */ _t71 = cpu->r[21] + 0x00000004u; /* 028A5F6C */ rbrew_write32(cpu->mem, _t71, cpu->r[24]); /* 028A5F70 */ _t72 = cpu->r[21] + 0x00000050u; /* 028A5F70 */ rbrew_write32(cpu->mem, _t72, cpu->r[23]); /* 028A5F74 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5F74 */ _t74 = _t73 & 0x00000001u; /* 028A5F74 */ if (_t74) goto L_028A5F78; else goto L_028A5F88; L_028A5F78: ; // 0x28a5f78 /* 028A5F78 */ cpu->r[3] = 0x0000002Cu; /* 028A5F7C */ Gambit_fn_02801A78(cpu); /* 028A5F80 */ cpu->r[22] = cpu->r[3]; /* 028A5F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A5F84 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5F84 */ _t76 = _t75 & 0x00000001u; /* 028A5F84 */ if (_t76) goto L_028A5FBC; else goto L_028A5F88; L_028A5F88: ; // 0x28a5f88 /* 028A5F88 */ cpu->r[3] = cpu->r[22]; /* 028A5F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5F8C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5F8C */ _t78 = _t77 & 0x00000001u; /* 028A5F8C */ if (_t78) goto L_028A5F90; else goto L_028A5FA0; L_028A5F90: ; // 0x28a5f90 /* 028A5F90 */ cpu->r[3] = 0x0000000Cu; /* 028A5F94 */ Gambit_fn_02801A78(cpu); /* 028A5F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5F9C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5F9C */ _t80 = _t79 & 0x00000001u; /* 028A5F9C */ if (_t80) goto L_028A5FAC; else goto L_028A5FA0; L_028A5FA0: ; // 0x28a5fa0 /* 028A5FA0 */ _t81 = cpu->r[3] + 0x00000004u; /* 028A5FA0 */ rbrew_write32(cpu->mem, _t81, cpu->r[24]); /* 028A5FA4 */ _t82 = cpu->r[3] + 0x00000000u; /* 028A5FA4 */ rbrew_write32(cpu->mem, _t82, cpu->r[24]); /* 028A5FA8 */ _t83 = cpu->r[3] + 0x00000008u; /* 028A5FA8 */ rbrew_write32(cpu->mem, _t83, cpu->r[24]); L_028A5FAC: ; // 0x28a5fac /* 028A5FAC */ cpu->r[4] = 0x00000008u; /* 028A5FB0 */ cpu->r[5] = cpu->r[22] + 0x0000000Cu; /* 028A5FB4 */ cpu->r[3] = cpu->r[22]; /* 028A5FB8 */ Gambit_fn_028023A8(cpu); L_028A5FBC: ; // 0x28a5fbc /* 028A5FBC */ _t84 = cpu->r[21] + 0x00000048u; /* 028A5FBC */ rbrew_write32(cpu->mem, _t84, cpu->r[25]); L_028A5FC0: ; // 0x28a5fc0 /* 028A5FC0 */ cpu->r[5] = 0x10130000u; /* 028A5FC4 */ cpu->r[5] = cpu->r[5] + 0x00007A74u; /* 028A5FC8 */ _t85 = cpu->r[31] + 0x00000050u; /* 028A5FC8 */ rbrew_write32(cpu->mem, _t85, cpu->r[5]); L_028A5FCC: ; // 0x28a5fcc /* 028A5FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A5FD0 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5FD0 */ _t87 = _t86 & 0x00000001u; /* 028A5FD0 */ if (_t87) goto L_028A634C; else goto L_028A5FD4; L_028A5FD4: ; // 0x28a5fd4 /* 028A5FD4 */ goto L_028A630C; L_028A5FD8: ; // 0x28a5fd8 /* 028A5FD8 */ _t88 = cpu->r[25] + 0x0000000Cu; /* 028A5FD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t88); /* 028A5FDC */ _t89 = cpu->r[6] + 0x00000034u; /* 028A5FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t89); /* 028A5FE0 */ cpu->ctr = cpu->r[0]; /* 028A5FE4 */ cpu->r[3] = cpu->r[25]; /* 028A5FE8 */ cpu->r[4] = 0x00000054u; /* 028A5FEC */ cpu->r[5] = 0x00000004u; /* 028A5FF0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A5FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A5FF8 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A5FF8 */ _t91 = _t90 & 0x00000001u; /* 028A5FF8 */ if (_t91) goto L_028A634C; else goto L_028A5FFC; L_028A5FFC: ; // 0x28a5ffc /* 028A5FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6000 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6000 */ _t93 = _t92 & 0x00000001u; /* 028A6000 */ if (_t93) goto L_028A6094; else goto L_028A6004; L_028A6004: ; // 0x28a6004 /* 028A6004 */ cpu->r[31] = cpu->r[3]; /* 028A6004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6008 */ cpu->r[21] = cpu->r[31]; /* 028A600C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A600C */ _t95 = _t94 & 0x00000001u; /* 028A600C */ if (_t95) goto L_028A6010; else goto L_028A6020; L_028A6010: ; // 0x28a6010 /* 028A6010 */ cpu->r[3] = 0x00000054u; /* 028A6014 */ Gambit_fn_02801A78(cpu); /* 028A6018 */ cpu->r[21] = cpu->r[3]; /* 028A6018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A601C */ _t96 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A601C */ _t97 = _t96 & 0x00000001u; /* 028A601C */ if (_t97) goto L_028A607C; else goto L_028A6020; L_028A6020: ; // 0x28a6020 /* 028A6020 */ _t98 = cpu->r[21] + 0x00000000u; /* 028A6020 */ rbrew_write32(cpu->mem, _t98, cpu->r[24]); /* 028A6024 */ cpu->r[22] = cpu->r[21] + 0x0000001Cu; /* 028A6024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A6028 */ _t99 = cpu->r[21] + 0x00000004u; /* 028A6028 */ rbrew_write32(cpu->mem, _t99, cpu->r[24]); /* 028A602C */ _t100 = cpu->r[21] + 0x00000050u; /* 028A602C */ rbrew_write32(cpu->mem, _t100, cpu->r[23]); /* 028A6030 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6030 */ _t102 = _t101 & 0x00000001u; /* 028A6030 */ if (_t102) goto L_028A6034; else goto L_028A6044; L_028A6034: ; // 0x28a6034 /* 028A6034 */ cpu->r[3] = 0x0000002Cu; /* 028A6038 */ Gambit_fn_02801A78(cpu); /* 028A603C */ cpu->r[22] = cpu->r[3]; /* 028A603C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A6040 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6040 */ _t104 = _t103 & 0x00000001u; /* 028A6040 */ if (_t104) goto L_028A6078; else goto L_028A6044; L_028A6044: ; // 0x28a6044 /* 028A6044 */ cpu->r[3] = cpu->r[22]; /* 028A6044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6048 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6048 */ _t106 = _t105 & 0x00000001u; /* 028A6048 */ if (_t106) goto L_028A604C; else goto L_028A605C; L_028A604C: ; // 0x28a604c /* 028A604C */ cpu->r[3] = 0x0000000Cu; /* 028A6050 */ Gambit_fn_02801A78(cpu); /* 028A6054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6058 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6058 */ _t108 = _t107 & 0x00000001u; /* 028A6058 */ if (_t108) goto L_028A6068; else goto L_028A605C; L_028A605C: ; // 0x28a605c /* 028A605C */ _t109 = cpu->r[3] + 0x00000004u; /* 028A605C */ rbrew_write32(cpu->mem, _t109, cpu->r[24]); /* 028A6060 */ _t110 = cpu->r[3] + 0x00000000u; /* 028A6060 */ rbrew_write32(cpu->mem, _t110, cpu->r[24]); /* 028A6064 */ _t111 = cpu->r[3] + 0x00000008u; /* 028A6064 */ rbrew_write32(cpu->mem, _t111, cpu->r[24]); L_028A6068: ; // 0x28a6068 /* 028A6068 */ cpu->r[4] = 0x00000008u; /* 028A606C */ cpu->r[5] = cpu->r[22] + 0x0000000Cu; /* 028A6070 */ cpu->r[3] = cpu->r[22]; /* 028A6074 */ Gambit_fn_028023A8(cpu); L_028A6078: ; // 0x28a6078 /* 028A6078 */ _t112 = cpu->r[21] + 0x00000048u; /* 028A6078 */ rbrew_write32(cpu->mem, _t112, cpu->r[25]); L_028A607C: ; // 0x28a607c /* 028A607C */ cpu->r[0] = 0x10130000u; /* 028A6080 */ cpu->r[0] = cpu->r[0] + 0x00007ABCu; /* 028A6084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6088 */ _t113 = cpu->r[31] + 0x00000050u; /* 028A6088 */ rbrew_write32(cpu->mem, _t113, cpu->r[0]); /* 028A608C */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A608C */ _t115 = _t114 & 0x00000001u; /* 028A608C */ if (_t115) goto L_028A634C; else goto L_028A6090; L_028A6090: ; // 0x28a6090 /* 028A6090 */ goto L_028A630C; L_028A6094: ; // 0x28a6094 /* 028A6094 */ _t116 = cpu->r[28] + 0x0000001Cu; /* 028A6094 */ cpu->r[3] = rbrew_read32(cpu->mem, _t116); /* 028A6098 */ cpu->r[6] = 0x10130000u; /* 028A609C */ _t117 = cpu->r[29] + 0x00000000u; /* 028A609C */ cpu->r[7] = rbrew_read32(cpu->mem, _t117); /* 028A60A0 */ cpu->r[6] = cpu->r[6] + 0x00007974u; /* 028A60A4 */ _t118 = cpu->r[28] + 0x00000020u; /* 028A60A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118); /* 028A60A8 */ cpu->r[4] = 0x00000021u; /* 028A60AC */ cpu->r[31] = 0x00000000u; /* 028A60B0 */ _t119 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A60B0 */ _t120 = _t119 & 0x00000001u; /* 028A60B0 */ if (_t120) goto L_028A60B4; // else: addr-0 trap, fall-through L_028A60B4: ; // 0x28a60b4 /* 028A60B4 */ Gambit_fn_028AA73C(cpu); /* 028A60B8 */ goto L_028A636C; L_028A60BC: ; // 0x28a60bc /* 028A60BC */ cpu->r[31] = cpu->r[3]; /* 028A60BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A60C0 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A60C0 */ _t122 = _t121 & 0x00000001u; /* 028A60C0 */ if (_t122) goto L_028A6144; else goto L_028A60C4; L_028A60C4: ; // 0x28a60c4 /* 028A60C4 */ cpu->r[21] = cpu->r[31]; /* 028A60C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A60C8 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A60C8 */ _t124 = _t123 & 0x00000001u; /* 028A60C8 */ if (_t124) goto L_028A60CC; else goto L_028A60DC; L_028A60CC: ; // 0x28a60cc /* 028A60CC */ cpu->r[3] = 0x00000054u; /* 028A60D0 */ Gambit_fn_02801A78(cpu); /* 028A60D4 */ cpu->r[21] = cpu->r[3]; /* 028A60D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A60D8 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A60D8 */ _t126 = _t125 & 0x00000001u; /* 028A60D8 */ if (_t126) goto L_028A6138; else goto L_028A60DC; L_028A60DC: ; // 0x28a60dc /* 028A60DC */ _t127 = cpu->r[21] + 0x00000000u; /* 028A60DC */ rbrew_write32(cpu->mem, _t127, cpu->r[24]); /* 028A60E0 */ cpu->r[22] = cpu->r[21] + 0x0000001Cu; /* 028A60E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A60E4 */ _t128 = cpu->r[21] + 0x00000004u; /* 028A60E4 */ rbrew_write32(cpu->mem, _t128, cpu->r[24]); /* 028A60E8 */ _t129 = cpu->r[21] + 0x00000050u; /* 028A60E8 */ rbrew_write32(cpu->mem, _t129, cpu->r[23]); /* 028A60EC */ _t130 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A60EC */ _t131 = _t130 & 0x00000001u; /* 028A60EC */ if (_t131) goto L_028A60F0; else goto L_028A6100; L_028A60F0: ; // 0x28a60f0 /* 028A60F0 */ cpu->r[3] = 0x0000002Cu; /* 028A60F4 */ Gambit_fn_02801A78(cpu); /* 028A60F8 */ cpu->r[22] = cpu->r[3]; /* 028A60F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A60FC */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A60FC */ _t133 = _t132 & 0x00000001u; /* 028A60FC */ if (_t133) goto L_028A6134; else goto L_028A6100; L_028A6100: ; // 0x28a6100 /* 028A6100 */ cpu->r[3] = cpu->r[22]; /* 028A6100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6104 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6104 */ _t135 = _t134 & 0x00000001u; /* 028A6104 */ if (_t135) goto L_028A6108; else goto L_028A6118; L_028A6108: ; // 0x28a6108 /* 028A6108 */ cpu->r[3] = 0x0000000Cu; /* 028A610C */ Gambit_fn_02801A78(cpu); /* 028A6110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6114 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6114 */ _t137 = _t136 & 0x00000001u; /* 028A6114 */ if (_t137) goto L_028A6124; else goto L_028A6118; L_028A6118: ; // 0x28a6118 /* 028A6118 */ _t138 = cpu->r[3] + 0x00000004u; /* 028A6118 */ rbrew_write32(cpu->mem, _t138, cpu->r[24]); /* 028A611C */ _t139 = cpu->r[3] + 0x00000000u; /* 028A611C */ rbrew_write32(cpu->mem, _t139, cpu->r[24]); /* 028A6120 */ _t140 = cpu->r[3] + 0x00000008u; /* 028A6120 */ rbrew_write32(cpu->mem, _t140, cpu->r[24]); L_028A6124: ; // 0x28a6124 /* 028A6124 */ cpu->r[4] = 0x00000008u; /* 028A6128 */ cpu->r[5] = cpu->r[22] + 0x0000000Cu; /* 028A612C */ cpu->r[3] = cpu->r[22]; /* 028A6130 */ Gambit_fn_028023A8(cpu); L_028A6134: ; // 0x28a6134 /* 028A6134 */ _t141 = cpu->r[21] + 0x00000048u; /* 028A6134 */ rbrew_write32(cpu->mem, _t141, cpu->r[25]); L_028A6138: ; // 0x28a6138 /* 028A6138 */ cpu->r[0] = 0x10140000u; /* 028A613C */ cpu->r[0] = cpu->r[0] + 0xFFFF8B98u; /* 028A6140 */ _t142 = cpu->r[31] + 0x00000050u; /* 028A6140 */ rbrew_write32(cpu->mem, _t142, cpu->r[0]); L_028A6144: ; // 0x28a6144 /* 028A6144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6148 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6148 */ _t144 = _t143 & 0x00000001u; /* 028A6148 */ if (_t144) goto L_028A634C; else goto L_028A614C; L_028A614C: ; // 0x28a614c /* 028A614C */ goto L_028A630C; L_028A6150: ; // 0x28a6150 /* 028A6150 */ _t145 = cpu->r[25] + 0x0000000Cu; /* 028A6150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t145); /* 028A6154 */ _t146 = cpu->r[12] + 0x00000034u; /* 028A6154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146); /* 028A6158 */ cpu->ctr = cpu->r[0]; /* 028A615C */ cpu->r[3] = cpu->r[25]; /* 028A6160 */ cpu->r[4] = 0x00000058u; /* 028A6164 */ cpu->r[5] = 0x00000004u; /* 028A6168 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A616C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6170 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6170 */ _t148 = _t147 & 0x00000001u; /* 028A6170 */ if (_t148) goto L_028A634C; else goto L_028A6174; L_028A6174: ; // 0x28a6174 /* 028A6174 */ cpu->r[31] = cpu->r[3]; /* 028A6174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6178 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6178 */ _t150 = _t149 & 0x00000001u; /* 028A6178 */ if (_t150) goto L_028A6210; else goto L_028A617C; L_028A617C: ; // 0x28a617c /* 028A617C */ cpu->r[21] = cpu->r[31]; /* 028A617C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A6180 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6180 */ _t152 = _t151 & 0x00000001u; /* 028A6180 */ if (_t152) goto L_028A6184; else goto L_028A6194; L_028A6184: ; // 0x28a6184 /* 028A6184 */ cpu->r[3] = 0x00000054u; /* 028A6188 */ Gambit_fn_02801A78(cpu); /* 028A618C */ cpu->r[21] = cpu->r[3]; /* 028A618C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A6190 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6190 */ _t154 = _t153 & 0x00000001u; /* 028A6190 */ if (_t154) goto L_028A61F0; else goto L_028A6194; L_028A6194: ; // 0x28a6194 /* 028A6194 */ _t155 = cpu->r[21] + 0x00000000u; /* 028A6194 */ rbrew_write32(cpu->mem, _t155, cpu->r[24]); /* 028A6198 */ cpu->r[22] = cpu->r[21] + 0x0000001Cu; /* 028A6198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A619C */ _t156 = cpu->r[21] + 0x00000004u; /* 028A619C */ rbrew_write32(cpu->mem, _t156, cpu->r[24]); /* 028A61A0 */ _t157 = cpu->r[21] + 0x00000050u; /* 028A61A0 */ rbrew_write32(cpu->mem, _t157, cpu->r[23]); /* 028A61A4 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A61A4 */ _t159 = _t158 & 0x00000001u; /* 028A61A4 */ if (_t159) goto L_028A61A8; else goto L_028A61B8; L_028A61A8: ; // 0x28a61a8 /* 028A61A8 */ cpu->r[3] = 0x0000002Cu; /* 028A61AC */ Gambit_fn_02801A78(cpu); /* 028A61B0 */ cpu->r[22] = cpu->r[3]; /* 028A61B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A61B4 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A61B4 */ _t161 = _t160 & 0x00000001u; /* 028A61B4 */ if (_t161) goto L_028A61EC; else goto L_028A61B8; L_028A61B8: ; // 0x28a61b8 /* 028A61B8 */ cpu->r[3] = cpu->r[22]; /* 028A61B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A61BC */ _t162 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A61BC */ _t163 = _t162 & 0x00000001u; /* 028A61BC */ if (_t163) goto L_028A61C0; else goto L_028A61D0; L_028A61C0: ; // 0x28a61c0 /* 028A61C0 */ cpu->r[3] = 0x0000000Cu; /* 028A61C4 */ Gambit_fn_02801A78(cpu); /* 028A61C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A61CC */ _t164 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A61CC */ _t165 = _t164 & 0x00000001u; /* 028A61CC */ if (_t165) goto L_028A61DC; else goto L_028A61D0; L_028A61D0: ; // 0x28a61d0 /* 028A61D0 */ _t166 = cpu->r[3] + 0x00000004u; /* 028A61D0 */ rbrew_write32(cpu->mem, _t166, cpu->r[24]); /* 028A61D4 */ _t167 = cpu->r[3] + 0x00000000u; /* 028A61D4 */ rbrew_write32(cpu->mem, _t167, cpu->r[24]); /* 028A61D8 */ _t168 = cpu->r[3] + 0x00000008u; /* 028A61D8 */ rbrew_write32(cpu->mem, _t168, cpu->r[24]); L_028A61DC: ; // 0x28a61dc /* 028A61DC */ cpu->r[4] = 0x00000008u; /* 028A61E0 */ cpu->r[5] = cpu->r[22] + 0x0000000Cu; /* 028A61E4 */ cpu->r[3] = cpu->r[22]; /* 028A61E8 */ Gambit_fn_028023A8(cpu); L_028A61EC: ; // 0x28a61ec /* 028A61EC */ _t169 = cpu->r[21] + 0x00000048u; /* 028A61EC */ rbrew_write32(cpu->mem, _t169, cpu->r[25]); L_028A61F0: ; // 0x28a61f0 /* 028A61F0 */ cpu->r[0] = 0x10130000u; /* 028A61F4 */ cpu->r[6] = 0xFFFFFFFFu; /* 028A61F8 */ cpu->r[0] = cpu->r[0] + 0x00007D70u; /* 028A61FC */ _t170 = cpu->r[31] + 0x00000054u; /* 028A61FC */ rbrew_write32(cpu->mem, _t170, cpu->r[6]); /* 028A6200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6204 */ _t171 = cpu->r[31] + 0x00000050u; /* 028A6204 */ rbrew_write32(cpu->mem, _t171, cpu->r[0]); /* 028A6208 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6208 */ _t173 = _t172 & 0x00000001u; /* 028A6208 */ if (_t173) goto L_028A634C; else goto L_028A620C; L_028A620C: ; // 0x28a620c /* 028A620C */ goto L_028A630C; L_028A6210: ; // 0x28a6210 /* 028A6210 */ _t174 = cpu->r[28] + 0x0000001Cu; /* 028A6210 */ cpu->r[3] = rbrew_read32(cpu->mem, _t174); /* 028A6214 */ cpu->r[6] = 0x10130000u; /* 028A6218 */ _t175 = cpu->r[29] + 0x00000000u; /* 028A6218 */ cpu->r[7] = rbrew_read32(cpu->mem, _t175); /* 028A621C */ cpu->r[6] = cpu->r[6] + 0x00007974u; /* 028A6220 */ _t176 = cpu->r[28] + 0x00000020u; /* 028A6220 */ cpu->r[5] = rbrew_read32(cpu->mem, _t176); /* 028A6224 */ cpu->r[4] = 0x00000021u; /* 028A6228 */ cpu->r[31] = 0x00000000u; /* 028A622C */ _t177 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A622C */ _t178 = _t177 & 0x00000001u; /* 028A622C */ if (_t178) goto L_028A6230; // else: addr-0 trap, fall-through L_028A6230: ; // 0x28a6230 /* 028A6230 */ Gambit_fn_028AA73C(cpu); /* 028A6234 */ goto L_028A636C; L_028A6238: ; // 0x28a6238 /* 028A6238 */ _t179 = cpu->r[25] + 0x0000000Cu; /* 028A6238 */ cpu->r[7] = rbrew_read32(cpu->mem, _t179); /* 028A623C */ _t180 = cpu->r[7] + 0x00000034u; /* 028A623C */ cpu->r[0] = rbrew_read32(cpu->mem, _t180); /* 028A6240 */ cpu->ctr = cpu->r[0]; /* 028A6244 */ cpu->r[3] = cpu->r[25]; /* 028A6248 */ cpu->r[4] = 0x00000060u; /* 028A624C */ cpu->r[5] = 0x00000004u; /* 028A6250 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6258 */ _t181 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6258 */ _t182 = _t181 & 0x00000001u; /* 028A6258 */ if (_t182) goto L_028A634C; else goto L_028A625C; L_028A625C: ; // 0x28a625c /* 028A625C */ cpu->r[31] = cpu->r[3]; /* 028A625C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6260 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6260 */ _t184 = _t183 & 0x00000001u; /* 028A6260 */ if (_t184) goto L_028A6300; else goto L_028A6264; L_028A6264: ; // 0x28a6264 /* 028A6264 */ cpu->r[21] = cpu->r[31]; /* 028A6264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A6268 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6268 */ _t186 = _t185 & 0x00000001u; /* 028A6268 */ if (_t186) goto L_028A626C; else goto L_028A627C; L_028A626C: ; // 0x28a626c /* 028A626C */ cpu->r[3] = 0x00000054u; /* 028A6270 */ Gambit_fn_02801A78(cpu); /* 028A6274 */ cpu->r[21] = cpu->r[3]; /* 028A6274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A6278 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6278 */ _t188 = _t187 & 0x00000001u; /* 028A6278 */ if (_t188) goto L_028A62D8; else goto L_028A627C; L_028A627C: ; // 0x28a627c /* 028A627C */ _t189 = cpu->r[21] + 0x00000000u; /* 028A627C */ rbrew_write32(cpu->mem, _t189, cpu->r[24]); /* 028A6280 */ cpu->r[22] = cpu->r[21] + 0x0000001Cu; /* 028A6280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A6284 */ _t190 = cpu->r[21] + 0x00000004u; /* 028A6284 */ rbrew_write32(cpu->mem, _t190, cpu->r[24]); /* 028A6288 */ _t191 = cpu->r[21] + 0x00000050u; /* 028A6288 */ rbrew_write32(cpu->mem, _t191, cpu->r[23]); /* 028A628C */ _t192 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A628C */ _t193 = _t192 & 0x00000001u; /* 028A628C */ if (_t193) goto L_028A6290; else goto L_028A62A0; L_028A6290: ; // 0x28a6290 /* 028A6290 */ cpu->r[3] = 0x0000002Cu; /* 028A6294 */ Gambit_fn_02801A78(cpu); /* 028A6298 */ cpu->r[22] = cpu->r[3]; /* 028A6298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A629C */ _t194 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A629C */ _t195 = _t194 & 0x00000001u; /* 028A629C */ if (_t195) goto L_028A62D4; else goto L_028A62A0; L_028A62A0: ; // 0x28a62a0 /* 028A62A0 */ cpu->r[3] = cpu->r[22]; /* 028A62A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A62A4 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A62A4 */ _t197 = _t196 & 0x00000001u; /* 028A62A4 */ if (_t197) goto L_028A62A8; else goto L_028A62B8; L_028A62A8: ; // 0x28a62a8 /* 028A62A8 */ cpu->r[3] = 0x0000000Cu; /* 028A62AC */ Gambit_fn_02801A78(cpu); /* 028A62B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A62B4 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A62B4 */ _t199 = _t198 & 0x00000001u; /* 028A62B4 */ if (_t199) goto L_028A62C4; else goto L_028A62B8; L_028A62B8: ; // 0x28a62b8 /* 028A62B8 */ _t200 = cpu->r[3] + 0x00000004u; /* 028A62B8 */ rbrew_write32(cpu->mem, _t200, cpu->r[24]); /* 028A62BC */ _t201 = cpu->r[3] + 0x00000000u; /* 028A62BC */ rbrew_write32(cpu->mem, _t201, cpu->r[24]); /* 028A62C0 */ _t202 = cpu->r[3] + 0x00000008u; /* 028A62C0 */ rbrew_write32(cpu->mem, _t202, cpu->r[24]); L_028A62C4: ; // 0x28a62c4 /* 028A62C4 */ cpu->r[4] = 0x00000008u; /* 028A62C8 */ cpu->r[5] = cpu->r[22] + 0x0000000Cu; /* 028A62CC */ cpu->r[3] = cpu->r[22]; /* 028A62D0 */ Gambit_fn_028023A8(cpu); L_028A62D4: ; // 0x28a62d4 /* 028A62D4 */ _t203 = cpu->r[21] + 0x00000048u; /* 028A62D4 */ rbrew_write32(cpu->mem, _t203, cpu->r[25]); L_028A62D8: ; // 0x28a62d8 /* 028A62D8 */ cpu->r[9] = 0x10130000u; /* 028A62DC */ cpu->r[0] = 0xFFFFFFFFu; /* 028A62E0 */ _t204 = cpu->r[31] + 0x00000054u; /* 028A62E0 */ rbrew_write32(cpu->mem, _t204, cpu->r[24]); /* 028A62E4 */ cpu->r[9] = cpu->r[9] + 0x000079FCu; /* 028A62E8 */ _t205 = cpu->r[31] + 0x00000058u; /* 028A62E8 */ rbrew_write32(cpu->mem, _t205, cpu->r[0]); /* 028A62EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A62F0 */ _t206 = cpu->r[31] + 0x0000005Cu; /* 028A62F0 */ rbrew_write32(cpu->mem, _t206, cpu->r[0]); /* 028A62F4 */ _t207 = cpu->r[31] + 0x00000050u; /* 028A62F4 */ rbrew_write32(cpu->mem, _t207, cpu->r[9]); /* 028A62F8 */ _t208 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A62F8 */ _t209 = _t208 & 0x00000001u; /* 028A62F8 */ if (_t209) goto L_028A634C; else goto L_028A62FC; L_028A62FC: ; // 0x28a62fc /* 028A62FC */ goto L_028A630C; L_028A6300: ; // 0x28a6300 /* 028A6300 */ cpu->r[31] = 0x00000000u; /* 028A6304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6308 */ _t210 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6308 */ _t211 = _t210 & 0x00000001u; /* 028A6308 */ if (_t211) goto L_028A634C; else goto L_028A630C; L_028A630C: ; // 0x28a630c /* 028A630C */ _t212 = cpu->r[31] + 0x00000050u; /* 028A630C */ cpu->r[12] = rbrew_read32(cpu->mem, _t212); /* 028A6310 */ _t213 = cpu->r[12] + 0x00000014u; /* 028A6310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t213); /* 028A6314 */ cpu->ctr = cpu->r[0]; /* 028A6318 */ cpu->r[8] = cpu->r[30]; /* 028A631C */ cpu->r[7] = cpu->r[29]; /* 028A6320 */ cpu->r[6] = cpu->r[28]; /* 028A6324 */ cpu->r[5] = cpu->r[27]; /* 028A6328 */ cpu->r[4] = cpu->r[26]; /* 028A632C */ cpu->r[3] = cpu->r[31]; /* 028A6330 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6334 */ cpu->r[3] = cpu->r[31]; /* 028A6338 */ /* nop */ /* 028A633C */ _t214 = cpu->r[1] + 0x0000003Cu; /* 028A633C */ cpu->r[0] = rbrew_read32(cpu->mem, _t214); /* 028A6340 */ cpu->lr = cpu->r[0]; /* 028A6344 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 028A6348 */ return; L_028A634C: ; // 0x28a634c /* 028A634C */ _t215 = cpu->r[28] + 0x0000001Cu; /* 028A634C */ cpu->r[3] = rbrew_read32(cpu->mem, _t215); /* 028A6350 */ cpu->r[6] = 0x10130000u; /* 028A6354 */ _t216 = cpu->r[29] + 0x00000000u; /* 028A6354 */ cpu->r[7] = rbrew_read32(cpu->mem, _t216); /* 028A6358 */ cpu->r[6] = cpu->r[6] + 0x00007974u; /* 028A635C */ _t217 = cpu->r[28] + 0x00000020u; /* 028A635C */ cpu->r[5] = rbrew_read32(cpu->mem, _t217); /* 028A6360 */ cpu->r[4] = 0x00000021u; /* 028A6364 */ _t218 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A6364 */ _t219 = _t218 & 0x00000001u; /* 028A6364 */ if (_t219) goto L_028A6368; // else: addr-0 trap, fall-through L_028A6368: ; // 0x28a6368 /* 028A6368 */ Gambit_fn_028AA73C(cpu); L_028A636C: ; // 0x28a636c /* 028A636C */ cpu->r[3] = cpu->r[31]; /* 028A6370 */ /* nop */ /* 028A6374 */ _t220 = cpu->r[1] + 0x0000003Cu; /* 028A6374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t220); /* 028A6378 */ cpu->lr = cpu->r[0]; /* 028A637C */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 028A6380 */ return; } // fn_028A6384 @ 0x28a6384 void Gambit_fn_028A6384(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A6384: ; // 0x28a6384 /* 028A6384 */ cpu->r[0] = cpu->lr; /* 028A6388 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 028A6388 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6388 */ cpu->r[1] = _t0; /* 028A638C */ _t1 = cpu->r[1] + 0x00000044u; /* 028A638C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A6390 */ /* nop */ /* 028A6394 */ cpu->r[31] = cpu->r[3]; /* 028A6394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6398 */ cpu->r[30] = cpu->r[4]; /* 028A639C */ cpu->r[29] = cpu->r[5]; /* 028A63A0 */ cpu->r[26] = cpu->r[6]; /* 028A63A4 */ cpu->r[27] = cpu->r[7]; /* 028A63A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63A8 */ _t3 = _t2 & 0x00000001u; /* 028A63A8 */ if (_t3) goto L_028A63AC; else goto L_028A63BC; L_028A63AC: ; // 0x28a63ac /* 028A63AC */ cpu->r[3] = 0x00000060u; /* 028A63B0 */ Gambit_fn_02801A78(cpu); /* 028A63B4 */ cpu->r[31] = cpu->r[3]; /* 028A63B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A63B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63B8 */ _t5 = _t4 & 0x00000001u; /* 028A63B8 */ if (_t5) goto L_028A65A8; else goto L_028A63BC; L_028A63BC: ; // 0x28a63bc /* 028A63BC */ cpu->r[23] = cpu->r[31]; /* 028A63BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A63C0 */ cpu->r[25] = 0x00000000u; /* 028A63C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63C4 */ _t7 = _t6 & 0x00000001u; /* 028A63C4 */ if (_t7) goto L_028A63C8; else goto L_028A63D8; L_028A63C8: ; // 0x28a63c8 /* 028A63C8 */ cpu->r[3] = 0x00000054u; /* 028A63CC */ Gambit_fn_02801A78(cpu); /* 028A63D0 */ cpu->r[23] = cpu->r[3]; /* 028A63D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A63D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63D4 */ _t9 = _t8 & 0x00000001u; /* 028A63D4 */ if (_t9) goto L_028A654C; else goto L_028A63D8; L_028A63D8: ; // 0x28a63d8 /* 028A63D8 */ cpu->r[0] = 0x10130000u; /* 028A63DC */ _t10 = cpu->r[1] + 0x00000008u; /* 028A63DC */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 028A63E0 */ cpu->r[0] = cpu->r[0] + 0x00007990u; /* 028A63E4 */ cpu->r[24] = cpu->r[23]; /* 028A63E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 028A63E8 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A63E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028A63EC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63EC */ _t13 = _t12 & 0x00000001u; /* 028A63EC */ if (_t13) goto L_028A63F0; else goto L_028A6400; L_028A63F0: ; // 0x28a63f0 /* 028A63F0 */ cpu->r[3] = 0x0000004Cu; /* 028A63F4 */ Gambit_fn_02801A78(cpu); /* 028A63F8 */ cpu->r[24] = cpu->r[3]; /* 028A63F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 028A63FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63FC */ _t15 = _t14 & 0x00000001u; /* 028A63FC */ if (_t15) goto L_028A6544; else goto L_028A6400; L_028A6400: ; // 0x28a6400 /* 028A6400 */ cpu->r[22] = cpu->r[24]; /* 028A6400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A6404 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6404 */ _t17 = _t16 & 0x00000001u; /* 028A6404 */ if (_t17) goto L_028A6408; else goto L_028A6418; L_028A6408: ; // 0x28a6408 /* 028A6408 */ cpu->r[3] = 0x0000004Cu; /* 028A640C */ Gambit_fn_02801A78(cpu); /* 028A6410 */ cpu->r[22] = cpu->r[3]; /* 028A6410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A6414 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6414 */ _t19 = _t18 & 0x00000001u; /* 028A6414 */ if (_t19) goto L_028A6538; else goto L_028A6418; L_028A6418: ; // 0x28a6418 /* 028A6418 */ cpu->r[3] = cpu->r[22]; /* 028A6418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A641C */ cpu->r[30] = 0x10110000u; /* 028A6420 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6420 */ _t21 = _t20 & 0x00000001u; /* 028A6420 */ if (_t21) goto L_028A6424; else goto L_028A6478; L_028A6424: ; // 0x28a6424 /* 028A6424 */ cpu->r[3] = 0x0000000Cu; /* 028A6428 */ Gambit_fn_02801A78(cpu); /* 028A642C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6430 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6430 */ _t23 = _t22 & 0x00000001u; /* 028A6430 */ if (_t23) goto L_028A6434; else goto L_028A6478; L_028A6434: ; // 0x28a6434 /* 028A6434 */ cpu->r[0] = 0x10130000u; /* 028A6438 */ _t24 = cpu->r[30] + 0x00007399u; /* 028A6438 */ cpu->r[28] = rbrew_read8(cpu->mem, _t24); /* 028A643C */ cpu->r[0] = cpu->r[0] + 0x000079C0u; /* 028A6440 */ _t25 = cpu->r[22] + 0x00000004u; /* 028A6440 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 028A6444 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 028A6444 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26); /* 028A6448 */ _t27 = cpu->r[8] + 0x00000014u; /* 028A6448 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 028A644C */ cpu->ctr = cpu->r[9]; /* 028A6450 */ _t28 = cpu->r[22] + 0x00000000u; /* 028A6450 */ cpu->r[21] = rbrew_read32(cpu->mem, _t28); /* 028A6454 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A6458 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A645C */ _t29 = cpu->r[1] + 0x00000008u; /* 028A645C */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 028A6460 */ _t30 = cpu->r[7] + 0x00000000u; /* 028A6460 */ cpu->r[10] = rbrew_read8(cpu->mem, _t30); /* 028A6464 */ cpu->r[30] = 0x00000000u; /* 028A6468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]); /* 028A646C */ cpu->r[9] = 0x00080000u; /* 028A6470 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6470 */ _t32 = _t31 & 0x00000001u; /* 028A6470 */ if (_t32) goto L_028A6474; else goto L_028A64D8; L_028A6474: ; // 0x28a6474 /* 028A6474 */ goto L_028A64FC; L_028A6478: ; // 0x28a6478 /* 028A6478 */ cpu->r[5] = 0x10130000u; /* 028A647C */ cpu->r[0] = cpu->r[22] + 0x0000000Cu; /* 028A6480 */ cpu->r[5] = cpu->r[5] + 0x000079A8u; /* 028A6484 */ _t33 = cpu->r[3] + 0x00000000u; /* 028A6484 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); /* 028A6488 */ cpu->r[0] = 0x00000040u; /* 028A648C */ _t34 = cpu->r[3] + 0x00000004u; /* 028A648C */ rbrew_write32(cpu->mem, _t34, cpu->r[5]); /* 028A6490 */ _t35 = cpu->r[3] + 0x00000008u; /* 028A6490 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 028A6494 */ cpu->r[0] = 0x10130000u; /* 028A6498 */ _t36 = cpu->r[30] + 0x00007399u; /* 028A6498 */ cpu->r[28] = rbrew_read8(cpu->mem, _t36); /* 028A649C */ cpu->r[0] = cpu->r[0] + 0x000079C0u; /* 028A64A0 */ _t37 = cpu->r[22] + 0x00000004u; /* 028A64A0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 028A64A4 */ _t38 = cpu->r[22] + 0x0000004Bu; /* 028A64A4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[28]); /* 028A64A8 */ _t39 = cpu->r[1] + 0x0000000Cu; /* 028A64A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39); /* 028A64AC */ _t40 = cpu->r[8] + 0x00000014u; /* 028A64AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 028A64B0 */ cpu->ctr = cpu->r[9]; /* 028A64B4 */ _t41 = cpu->r[22] + 0x00000000u; /* 028A64B4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t41); /* 028A64B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A64BC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A64C0 */ _t42 = cpu->r[1] + 0x00000008u; /* 028A64C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42); /* 028A64C4 */ _t43 = cpu->r[7] + 0x00000000u; /* 028A64C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t43); /* 028A64C8 */ cpu->r[30] = 0x00000000u; /* 028A64CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]); /* 028A64D0 */ cpu->r[9] = 0x00080000u; /* 028A64D4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A64D4 */ _t45 = _t44 & 0x00000001u; /* 028A64D4 */ if (_t45) goto L_028A64FC; else goto L_028A64D8; L_028A64D8: ; // 0x28a64d8 /* 028A64D8 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A64DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]); /* 028A64E0 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028A64E4 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A64E4 */ _t47 = _t46 & 0x00000001u; /* 028A64E4 */ if (_t47) goto L_028A64F8; else goto L_028A64E8; L_028A64E8: ; // 0x28a64e8 /* 028A64E8 */ _t48 = cpu->r[7] + 0x00000000u; /* 028A64E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t48); /* 028A64EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[28]); /* 028A64F0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A64F0 */ _t50 = _t49 & 0x00000001u; /* 028A64F0 */ if (_t50) goto L_028A64F4; else goto L_028A64D8; L_028A64F4: ; // 0x28a64f4 /* 028A64F4 */ goto L_028A64FC; L_028A64F8: ; // 0x28a64f8 /* 028A64F8 */ cpu->r[30] = 0x00000000u; L_028A64FC: ; // 0x28a64fc /* 028A64FC */ _t51 = cpu->r[22] + 0x00000008u; /* 028A64FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t51); /* 028A6500 */ _t52 = cpu->r[1] + 0x0000000Cu; /* 028A6500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 028A6504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]); /* 028A6508 */ _t53 = cpu->r[12] + 0x00000014u; /* 028A6508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 028A650C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A650C */ _t55 = _t54 & 0x00000001u; /* 028A650C */ if (_t55) goto L_028A6514; else goto L_028A6510; L_028A6510: ; // 0x28a6510 /* 028A6510 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu; L_028A6514: ; // 0x28a6514 /* 028A6514 */ cpu->ctr = cpu->r[0]; /* 028A6518 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A651C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6520 */ _t56 = cpu->r[1] + 0x00000008u; /* 028A6520 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56); /* 028A6524 */ cpu->r[6] = 0x00000000u; /* 028A6528 */ cpu->r[5] = cpu->r[30]; /* 028A652C */ cpu->r[3] = cpu->r[21]; /* 028A6530 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A6534 */ _t57 = cpu->r[21] + cpu->r[30]; /* 028A6534 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[28]); L_028A6538: ; // 0x28a6538 /* 028A6538 */ cpu->r[5] = 0x10130000u; /* 028A653C */ cpu->r[5] = cpu->r[5] + 0x000079D8u; /* 028A6540 */ _t58 = cpu->r[24] + 0x00000004u; /* 028A6540 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]); L_028A6544: ; // 0x28a6544 /* 028A6544 */ _t59 = cpu->r[23] + 0x00000050u; /* 028A6544 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[27]); /* 028A6548 */ _t60 = cpu->r[23] + 0x0000004Cu; /* 028A6548 */ rbrew_write32(cpu->mem, _t60, cpu->r[25]); L_028A654C: ; // 0x28a654c /* 028A654C */ _t61 = cpu->r[31] + 0x00000054u; /* 028A654C */ rbrew_write32(cpu->mem, _t61, cpu->r[25]); /* 028A6550 */ cpu->r[30] = 0x101D0000u; /* 028A6554 */ _t62 = cpu->r[31] + 0x00000058u; /* 028A6554 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]); /* 028A6558 */ _t63 = cpu->r[30] + 0xFFFFC3D4u; /* 028A6558 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63); /* 028A6558 */ cpu->r[30] = _t63; /* 028A655C */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A6560 */ cpu->r[5] = 0x00000004u; /* 028A6564 */ cpu->r[4] = cpu->r[26]; /* 028A6568 */ cpu->r[3] = cpu->r[6] + cpu->r[8]; /* 028A656C */ Gambit_fn_02801ADC(cpu); /* 028A6570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6574 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6574 */ _t65 = _t64 & 0x00000001u; /* 028A6574 */ if (_t65) goto L_028A65A0; else goto L_028A6578; L_028A6578: ; // 0x28a6578 /* 028A6578 */ cpu->r[6] = 0x028A0000u; /* 028A657C */ _t66 = cpu->r[30] + 0x00000000u; /* 028A657C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66); /* 028A6580 */ cpu->r[5] = 0x00000008u; /* 028A6584 */ cpu->r[6] = cpu->r[6] + 0x000069ACu; /* 028A6588 */ cpu->r[4] = cpu->r[29]; /* 028A658C */ cpu->r[3] = cpu->r[3] + cpu->r[10]; /* 028A6590 */ cpu->r[7] = 0x00000000u; /* 028A6594 */ Gambit_fn_02C82DBC(cpu); /* 028A6598 */ _t67 = cpu->r[31] + 0x0000005Cu; /* 028A6598 */ rbrew_write32(cpu->mem, _t67, cpu->r[3]); /* 028A659C */ goto L_028A65A8; L_028A65A0: ; // 0x28a65a0 /* 028A65A0 */ cpu->r[3] = 0x00000000u; /* 028A65A4 */ _t68 = cpu->r[31] + 0x0000005Cu; /* 028A65A4 */ rbrew_write32(cpu->mem, _t68, cpu->r[3]); L_028A65A8: ; // 0x28a65a8 /* 028A65A8 */ cpu->r[3] = cpu->r[31]; /* 028A65AC */ /* nop */ /* 028A65B0 */ _t69 = cpu->r[1] + 0x00000044u; /* 028A65B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 028A65B4 */ cpu->lr = cpu->r[0]; /* 028A65B8 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028A65BC */ return; } // fn_028A6388 @ 0x28a6388 void Gambit_fn_028A6388(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A6388: ; // 0x28a6388 /* 028A6388 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 028A6388 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6388 */ cpu->r[1] = _t0; /* 028A638C */ _t1 = cpu->r[1] + 0x00000044u; /* 028A638C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A6390 */ /* nop */ /* 028A6394 */ cpu->r[31] = cpu->r[3]; /* 028A6394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6398 */ cpu->r[30] = cpu->r[4]; /* 028A639C */ cpu->r[29] = cpu->r[5]; /* 028A63A0 */ cpu->r[26] = cpu->r[6]; /* 028A63A4 */ cpu->r[27] = cpu->r[7]; /* 028A63A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63A8 */ _t3 = _t2 & 0x00000001u; /* 028A63A8 */ if (_t3) goto L_028A63AC; else goto L_028A63BC; L_028A63AC: ; // 0x28a63ac /* 028A63AC */ cpu->r[3] = 0x00000060u; /* 028A63B0 */ Gambit_fn_02801A78(cpu); /* 028A63B4 */ cpu->r[31] = cpu->r[3]; /* 028A63B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A63B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63B8 */ _t5 = _t4 & 0x00000001u; /* 028A63B8 */ if (_t5) goto L_028A65A8; else goto L_028A63BC; L_028A63BC: ; // 0x28a63bc /* 028A63BC */ cpu->r[23] = cpu->r[31]; /* 028A63BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A63C0 */ cpu->r[25] = 0x00000000u; /* 028A63C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63C4 */ _t7 = _t6 & 0x00000001u; /* 028A63C4 */ if (_t7) goto L_028A63C8; else goto L_028A63D8; L_028A63C8: ; // 0x28a63c8 /* 028A63C8 */ cpu->r[3] = 0x00000054u; /* 028A63CC */ Gambit_fn_02801A78(cpu); /* 028A63D0 */ cpu->r[23] = cpu->r[3]; /* 028A63D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A63D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63D4 */ _t9 = _t8 & 0x00000001u; /* 028A63D4 */ if (_t9) goto L_028A654C; else goto L_028A63D8; L_028A63D8: ; // 0x28a63d8 /* 028A63D8 */ cpu->r[0] = 0x10130000u; /* 028A63DC */ _t10 = cpu->r[1] + 0x00000008u; /* 028A63DC */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 028A63E0 */ cpu->r[0] = cpu->r[0] + 0x00007990u; /* 028A63E4 */ cpu->r[24] = cpu->r[23]; /* 028A63E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 028A63E8 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A63E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028A63EC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63EC */ _t13 = _t12 & 0x00000001u; /* 028A63EC */ if (_t13) goto L_028A63F0; else goto L_028A6400; L_028A63F0: ; // 0x28a63f0 /* 028A63F0 */ cpu->r[3] = 0x0000004Cu; /* 028A63F4 */ Gambit_fn_02801A78(cpu); /* 028A63F8 */ cpu->r[24] = cpu->r[3]; /* 028A63F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 028A63FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A63FC */ _t15 = _t14 & 0x00000001u; /* 028A63FC */ if (_t15) goto L_028A6544; else goto L_028A6400; L_028A6400: ; // 0x28a6400 /* 028A6400 */ cpu->r[22] = cpu->r[24]; /* 028A6400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A6404 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6404 */ _t17 = _t16 & 0x00000001u; /* 028A6404 */ if (_t17) goto L_028A6408; else goto L_028A6418; L_028A6408: ; // 0x28a6408 /* 028A6408 */ cpu->r[3] = 0x0000004Cu; /* 028A640C */ Gambit_fn_02801A78(cpu); /* 028A6410 */ cpu->r[22] = cpu->r[3]; /* 028A6410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u); /* 028A6414 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6414 */ _t19 = _t18 & 0x00000001u; /* 028A6414 */ if (_t19) goto L_028A6538; else goto L_028A6418; L_028A6418: ; // 0x28a6418 /* 028A6418 */ cpu->r[3] = cpu->r[22]; /* 028A6418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A641C */ cpu->r[30] = 0x10110000u; /* 028A6420 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6420 */ _t21 = _t20 & 0x00000001u; /* 028A6420 */ if (_t21) goto L_028A6424; else goto L_028A6478; L_028A6424: ; // 0x28a6424 /* 028A6424 */ cpu->r[3] = 0x0000000Cu; /* 028A6428 */ Gambit_fn_02801A78(cpu); /* 028A642C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6430 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6430 */ _t23 = _t22 & 0x00000001u; /* 028A6430 */ if (_t23) goto L_028A6434; else goto L_028A6478; L_028A6434: ; // 0x28a6434 /* 028A6434 */ cpu->r[0] = 0x10130000u; /* 028A6438 */ _t24 = cpu->r[30] + 0x00007399u; /* 028A6438 */ cpu->r[28] = rbrew_read8(cpu->mem, _t24); /* 028A643C */ cpu->r[0] = cpu->r[0] + 0x000079C0u; /* 028A6440 */ _t25 = cpu->r[22] + 0x00000004u; /* 028A6440 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 028A6444 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 028A6444 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26); /* 028A6448 */ _t27 = cpu->r[8] + 0x00000014u; /* 028A6448 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 028A644C */ cpu->ctr = cpu->r[9]; /* 028A6450 */ _t28 = cpu->r[22] + 0x00000000u; /* 028A6450 */ cpu->r[21] = rbrew_read32(cpu->mem, _t28); /* 028A6454 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A6458 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A645C */ _t29 = cpu->r[1] + 0x00000008u; /* 028A645C */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 028A6460 */ _t30 = cpu->r[7] + 0x00000000u; /* 028A6460 */ cpu->r[10] = rbrew_read8(cpu->mem, _t30); /* 028A6464 */ cpu->r[30] = 0x00000000u; /* 028A6468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]); /* 028A646C */ cpu->r[9] = 0x00080000u; /* 028A6470 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6470 */ _t32 = _t31 & 0x00000001u; /* 028A6470 */ if (_t32) goto L_028A6474; else goto L_028A64D8; L_028A6474: ; // 0x28a6474 /* 028A6474 */ goto L_028A64FC; L_028A6478: ; // 0x28a6478 /* 028A6478 */ cpu->r[5] = 0x10130000u; /* 028A647C */ cpu->r[0] = cpu->r[22] + 0x0000000Cu; /* 028A6480 */ cpu->r[5] = cpu->r[5] + 0x000079A8u; /* 028A6484 */ _t33 = cpu->r[3] + 0x00000000u; /* 028A6484 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); /* 028A6488 */ cpu->r[0] = 0x00000040u; /* 028A648C */ _t34 = cpu->r[3] + 0x00000004u; /* 028A648C */ rbrew_write32(cpu->mem, _t34, cpu->r[5]); /* 028A6490 */ _t35 = cpu->r[3] + 0x00000008u; /* 028A6490 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 028A6494 */ cpu->r[0] = 0x10130000u; /* 028A6498 */ _t36 = cpu->r[30] + 0x00007399u; /* 028A6498 */ cpu->r[28] = rbrew_read8(cpu->mem, _t36); /* 028A649C */ cpu->r[0] = cpu->r[0] + 0x000079C0u; /* 028A64A0 */ _t37 = cpu->r[22] + 0x00000004u; /* 028A64A0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 028A64A4 */ _t38 = cpu->r[22] + 0x0000004Bu; /* 028A64A4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[28]); /* 028A64A8 */ _t39 = cpu->r[1] + 0x0000000Cu; /* 028A64A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39); /* 028A64AC */ _t40 = cpu->r[8] + 0x00000014u; /* 028A64AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 028A64B0 */ cpu->ctr = cpu->r[9]; /* 028A64B4 */ _t41 = cpu->r[22] + 0x00000000u; /* 028A64B4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t41); /* 028A64B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A64BC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A64C0 */ _t42 = cpu->r[1] + 0x00000008u; /* 028A64C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42); /* 028A64C4 */ _t43 = cpu->r[7] + 0x00000000u; /* 028A64C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t43); /* 028A64C8 */ cpu->r[30] = 0x00000000u; /* 028A64CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]); /* 028A64D0 */ cpu->r[9] = 0x00080000u; /* 028A64D4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A64D4 */ _t45 = _t44 & 0x00000001u; /* 028A64D4 */ if (_t45) goto L_028A64FC; else goto L_028A64D8; L_028A64D8: ; // 0x28a64d8 /* 028A64D8 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A64DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]); /* 028A64E0 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028A64E4 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A64E4 */ _t47 = _t46 & 0x00000001u; /* 028A64E4 */ if (_t47) goto L_028A64F8; else goto L_028A64E8; L_028A64E8: ; // 0x28a64e8 /* 028A64E8 */ _t48 = cpu->r[7] + 0x00000000u; /* 028A64E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t48); /* 028A64EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[28]); /* 028A64F0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A64F0 */ _t50 = _t49 & 0x00000001u; /* 028A64F0 */ if (_t50) goto L_028A64F4; else goto L_028A64D8; L_028A64F4: ; // 0x28a64f4 /* 028A64F4 */ goto L_028A64FC; L_028A64F8: ; // 0x28a64f8 /* 028A64F8 */ cpu->r[30] = 0x00000000u; L_028A64FC: ; // 0x28a64fc /* 028A64FC */ _t51 = cpu->r[22] + 0x00000008u; /* 028A64FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t51); /* 028A6500 */ _t52 = cpu->r[1] + 0x0000000Cu; /* 028A6500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 028A6504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]); /* 028A6508 */ _t53 = cpu->r[12] + 0x00000014u; /* 028A6508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 028A650C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A650C */ _t55 = _t54 & 0x00000001u; /* 028A650C */ if (_t55) goto L_028A6514; else goto L_028A6510; L_028A6510: ; // 0x28a6510 /* 028A6510 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu; L_028A6514: ; // 0x28a6514 /* 028A6514 */ cpu->ctr = cpu->r[0]; /* 028A6518 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A651C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6520 */ _t56 = cpu->r[1] + 0x00000008u; /* 028A6520 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56); /* 028A6524 */ cpu->r[6] = 0x00000000u; /* 028A6528 */ cpu->r[5] = cpu->r[30]; /* 028A652C */ cpu->r[3] = cpu->r[21]; /* 028A6530 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A6534 */ _t57 = cpu->r[21] + cpu->r[30]; /* 028A6534 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[28]); L_028A6538: ; // 0x28a6538 /* 028A6538 */ cpu->r[5] = 0x10130000u; /* 028A653C */ cpu->r[5] = cpu->r[5] + 0x000079D8u; /* 028A6540 */ _t58 = cpu->r[24] + 0x00000004u; /* 028A6540 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]); L_028A6544: ; // 0x28a6544 /* 028A6544 */ _t59 = cpu->r[23] + 0x00000050u; /* 028A6544 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[27]); /* 028A6548 */ _t60 = cpu->r[23] + 0x0000004Cu; /* 028A6548 */ rbrew_write32(cpu->mem, _t60, cpu->r[25]); L_028A654C: ; // 0x28a654c /* 028A654C */ _t61 = cpu->r[31] + 0x00000054u; /* 028A654C */ rbrew_write32(cpu->mem, _t61, cpu->r[25]); /* 028A6550 */ cpu->r[30] = 0x101D0000u; /* 028A6554 */ _t62 = cpu->r[31] + 0x00000058u; /* 028A6554 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]); /* 028A6558 */ _t63 = cpu->r[30] + 0xFFFFC3D4u; /* 028A6558 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63); /* 028A6558 */ cpu->r[30] = _t63; /* 028A655C */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A6560 */ cpu->r[5] = 0x00000004u; /* 028A6564 */ cpu->r[4] = cpu->r[26]; /* 028A6568 */ cpu->r[3] = cpu->r[6] + cpu->r[8]; /* 028A656C */ Gambit_fn_02801ADC(cpu); /* 028A6570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6574 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6574 */ _t65 = _t64 & 0x00000001u; /* 028A6574 */ if (_t65) goto L_028A65A0; else goto L_028A6578; L_028A6578: ; // 0x28a6578 /* 028A6578 */ cpu->r[6] = 0x028A0000u; /* 028A657C */ _t66 = cpu->r[30] + 0x00000000u; /* 028A657C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66); /* 028A6580 */ cpu->r[5] = 0x00000008u; /* 028A6584 */ cpu->r[6] = cpu->r[6] + 0x000069ACu; /* 028A6588 */ cpu->r[4] = cpu->r[29]; /* 028A658C */ cpu->r[3] = cpu->r[3] + cpu->r[10]; /* 028A6590 */ cpu->r[7] = 0x00000000u; /* 028A6594 */ Gambit_fn_02C82DBC(cpu); /* 028A6598 */ _t67 = cpu->r[31] + 0x0000005Cu; /* 028A6598 */ rbrew_write32(cpu->mem, _t67, cpu->r[3]); /* 028A659C */ goto L_028A65A8; L_028A65A0: ; // 0x28a65a0 /* 028A65A0 */ cpu->r[3] = 0x00000000u; /* 028A65A4 */ _t68 = cpu->r[31] + 0x0000005Cu; /* 028A65A4 */ rbrew_write32(cpu->mem, _t68, cpu->r[3]); L_028A65A8: ; // 0x28a65a8 /* 028A65A8 */ cpu->r[3] = cpu->r[31]; /* 028A65AC */ /* nop */ /* 028A65B0 */ _t69 = cpu->r[1] + 0x00000044u; /* 028A65B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 028A65B4 */ cpu->lr = cpu->r[0]; /* 028A65B8 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028A65BC */ return; } // fn_028A65C0 @ 0x28a65c0 void Gambit_fn_028A65C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_028A65C0: ; // 0x28a65c0 /* 028A65C0 */ cpu->r[0] = cpu->lr; /* 028A65C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A65C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A65C4 */ cpu->r[1] = _t0; /* 028A65C8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A65C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A65CC */ _t2 = cpu->r[1] + 0x00000008u; /* 028A65CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A65D0 */ cpu->r[30] = cpu->r[3]; /* 028A65D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A65D4 */ cpu->r[31] = cpu->r[4]; /* 028A65D8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A65D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A65DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A65DC */ _t5 = _t4 & 0x00000001u; /* 028A65DC */ if (_t5) goto L_028A661C; else goto L_028A65E0; L_028A65E0: ; // 0x28a65e0 /* 028A65E0 */ _t6 = cpu->r[30] + 0x0000005Cu; /* 028A65E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A65E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A65E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A65E8 */ _t8 = _t7 & 0x00000001u; /* 028A65E8 */ if (_t8) goto L_028A660C; else goto L_028A65EC; L_028A65EC: ; // 0x28a65ec /* 028A65EC */ cpu->r[6] = 0x00000000u; /* 028A65F0 */ cpu->r[7] = 0x00000001u; /* 028A65F4 */ cpu->r[5] = 0x00000008u; /* 028A65F8 */ cpu->r[8] = cpu->r[6]; /* 028A65FC */ cpu->r[4] = 0xFFFFFFFFu; /* 028A6600 */ Gambit_fn_02C82F38(cpu); /* 028A6604 */ cpu->r[12] = 0x00000000u; /* 028A6608 */ _t9 = cpu->r[30] + 0x0000005Cu; /* 028A6608 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); L_028A660C: ; // 0x28a660c /* 028A660C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A660C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6610 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6610 */ _t11 = _t10 & 0x00000001u; /* 028A6610 */ if (_t11) goto L_028A661C; else goto L_028A6614; L_028A6614: ; // 0x28a6614 /* 028A6614 */ cpu->r[3] = cpu->r[30]; /* 028A6618 */ Gambit_fn_02801BB0(cpu); L_028A661C: ; // 0x28a661c /* 028A661C */ _t12 = cpu->r[1] + 0x00000014u; /* 028A661C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A6620 */ _t13 = cpu->r[1] + 0x00000008u; /* 028A6620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 028A6624 */ cpu->lr = cpu->r[0]; /* 028A6628 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 028A6628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 028A662C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A6630 */ return; } // fn_028A65C4 @ 0x28a65c4 void Gambit_fn_028A65C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_028A65C4: ; // 0x28a65c4 /* 028A65C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A65C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A65C4 */ cpu->r[1] = _t0; /* 028A65C8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A65C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A65CC */ _t2 = cpu->r[1] + 0x00000008u; /* 028A65CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A65D0 */ cpu->r[30] = cpu->r[3]; /* 028A65D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A65D4 */ cpu->r[31] = cpu->r[4]; /* 028A65D8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A65D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A65DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A65DC */ _t5 = _t4 & 0x00000001u; /* 028A65DC */ if (_t5) goto L_028A661C; else goto L_028A65E0; L_028A65E0: ; // 0x28a65e0 /* 028A65E0 */ _t6 = cpu->r[30] + 0x0000005Cu; /* 028A65E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A65E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A65E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A65E8 */ _t8 = _t7 & 0x00000001u; /* 028A65E8 */ if (_t8) goto L_028A660C; else goto L_028A65EC; L_028A65EC: ; // 0x28a65ec /* 028A65EC */ cpu->r[6] = 0x00000000u; /* 028A65F0 */ cpu->r[7] = 0x00000001u; /* 028A65F4 */ cpu->r[5] = 0x00000008u; /* 028A65F8 */ cpu->r[8] = cpu->r[6]; /* 028A65FC */ cpu->r[4] = 0xFFFFFFFFu; /* 028A6600 */ Gambit_fn_02C82F38(cpu); /* 028A6604 */ cpu->r[12] = 0x00000000u; /* 028A6608 */ _t9 = cpu->r[30] + 0x0000005Cu; /* 028A6608 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); L_028A660C: ; // 0x28a660c /* 028A660C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A660C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6610 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6610 */ _t11 = _t10 & 0x00000001u; /* 028A6610 */ if (_t11) goto L_028A661C; else goto L_028A6614; L_028A6614: ; // 0x28a6614 /* 028A6614 */ cpu->r[3] = cpu->r[30]; /* 028A6618 */ Gambit_fn_02801BB0(cpu); L_028A661C: ; // 0x28a661c /* 028A661C */ _t12 = cpu->r[1] + 0x00000014u; /* 028A661C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A6620 */ _t13 = cpu->r[1] + 0x00000008u; /* 028A6620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 028A6624 */ cpu->lr = cpu->r[0]; /* 028A6628 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 028A6628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 028A662C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A6630 */ return; } // fn_028A6634 @ 0x28a6634 void Gambit_fn_028A6634(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028A6634: ; // 0x28a6634 /* 028A6634 */ _t0 = cpu->r[3] + 0x00000054u; /* 028A6634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 028A6638 */ cpu->r[10] = 0x00000000u; /* 028A663C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 028A6640 */ _t1 = cpu->r[3] + 0x0000005Cu; /* 028A6640 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1); /* 028A6644 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6644 */ _t3 = _t2 & 0x00000001u; /* 028A6644 */ if (_t3) goto L_028A6674; else goto L_028A6648; L_028A6648: ; // 0x28a6648 /* 028A6648 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A664C */ _t4 = cpu->r[6] + cpu->r[7]; /* 028A664C */ rbrew_write32(cpu->mem, _t4, cpu->r[5]); /* 028A6650 */ _t5 = cpu->r[3] + 0x00000054u; /* 028A6650 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 028A6654 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A6658 */ _t6 = cpu->r[3] + 0x0000005Cu; /* 028A6658 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 028A665C */ cpu->r[6] = cpu->r[8] + cpu->r[7]; /* 028A6660 */ _t7 = cpu->r[6] + 0x00000004u; /* 028A6660 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]); /* 028A6664 */ _t8 = cpu->r[3] + 0x00000054u; /* 028A6664 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 028A6668 */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 028A666C */ _t9 = cpu->r[3] + 0x00000054u; /* 028A666C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 028A6670 */ return; L_028A6674: ; // 0x28a6674 /* 028A6674 */ cpu->r[8] = 0x00000000u; L_028A6678: ; // 0x28a6678 /* 028A6678 */ _t10 = cpu->r[7] + cpu->r[8]; /* 028A6678 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10); /* 028A667C */ cpu->r[12] = cpu->r[5] + 0xFFFFFFFFu; /* 028A6680 */ cpu->r[11] = cpu->r[6] + 0xFFFFFFFFu; L_028A6684: ; // 0x28a6684 /* 028A6684 */ _t11 = cpu->r[11] + 0x00000001u; /* 028A6684 */ cpu->r[6] = rbrew_read8(cpu->mem, _t11); /* 028A6684 */ cpu->r[11] = _t11; /* 028A6688 */ _t12 = cpu->r[12] + 0x00000001u; /* 028A6688 */ cpu->r[9] = rbrew_read8(cpu->mem, _t12); /* 028A6688 */ cpu->r[12] = _t12; /* 028A668C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]); /* 028A6690 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6690 */ _t14 = _t13 & 0x00000001u; /* 028A6690 */ if (_t14) goto L_028A6694; else goto L_028A669C; L_028A6694: ; // 0x28a6694 /* 028A6694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000000u); /* 028A6698 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6698 */ _t16 = _t15 & 0x00000001u; /* 028A6698 */ if (_t16) goto L_028A669C; else goto L_028A6684; L_028A669C: ; // 0x28a669c /* 028A669C */ cpu->r[9] = cpu->r[6] - cpu->r[9]; /* 028A669C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A66A0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A66A0 */ _t18 = _t17 & 0x00000001u; /* 028A66A0 */ if (_t18) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A66A0 */ goto L_028A66A4; L_028A66A4: ; // 0x28a66a4 /* 028A66A4 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 028A66A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 028A66AC */ cpu->r[8] = cpu->r[8] + 0x00000008u; /* 028A66B0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A66B0 */ _t20 = _t19 & 0x00000001u; /* 028A66B0 */ if (_t20) goto L_028A6678; else goto L_028A66B4; L_028A66B4: ; // 0x28a66b4 /* 028A66B4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A66B8 */ _t21 = cpu->r[6] + cpu->r[7]; /* 028A66B8 */ rbrew_write32(cpu->mem, _t21, cpu->r[5]); /* 028A66BC */ _t22 = cpu->r[3] + 0x00000054u; /* 028A66BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 028A66C0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A66C4 */ _t23 = cpu->r[3] + 0x0000005Cu; /* 028A66C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 028A66C8 */ cpu->r[6] = cpu->r[8] + cpu->r[7]; /* 028A66CC */ _t24 = cpu->r[6] + 0x00000004u; /* 028A66CC */ rbrew_write32(cpu->mem, _t24, cpu->r[4]); /* 028A66D0 */ _t25 = cpu->r[3] + 0x00000054u; /* 028A66D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25); /* 028A66D4 */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 028A66D8 */ _t26 = cpu->r[3] + 0x00000054u; /* 028A66D8 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]); /* 028A66DC */ return; } // fn_028A66E0 @ 0x28a66e0 void Gambit_fn_028A66E0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028A66E0: ; // 0x28a66e0 /* 028A66E0 */ _t0 = cpu->r[3] + 0x00000058u; /* 028A66E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t0); /* 028A66E4 */ cpu->r[11] = 0x00000000u; /* 028A66E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[5]); /* 028A66EC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A66EC */ _t2 = _t1 & 0x00000001u; /* 028A66EC */ if (_t2) goto L_028A66F0; else goto L_028A6748; L_028A66F0: ; // 0x28a66f0 /* 028A66F0 */ _t3 = cpu->r[3] + 0x0000005Cu; /* 028A66F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 028A66F4 */ cpu->r[7] = 0x00000000u; L_028A66F8: ; // 0x28a66f8 /* 028A66F8 */ _t4 = cpu->r[8] + cpu->r[7]; /* 028A66F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4); /* 028A66FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A6700 */ cpu->r[10] = cpu->r[8] + cpu->r[7]; /* 028A6704 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6704 */ _t6 = _t5 & 0x00000001u; /* 028A6704 */ if (_t6) goto L_028A6738; else goto L_028A6708; L_028A6708: ; // 0x28a6708 /* 028A6708 */ cpu->r[6] = cpu->r[4] + 0xFFFFFFFFu; /* 028A670C */ cpu->r[12] = cpu->r[9] + 0xFFFFFFFFu; L_028A6710: ; // 0x28a6710 /* 028A6710 */ _t7 = cpu->r[12] + 0x00000001u; /* 028A6710 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7); /* 028A6710 */ cpu->r[12] = _t7; /* 028A6714 */ _t8 = cpu->r[6] + 0x00000001u; /* 028A6714 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8); /* 028A6714 */ cpu->r[6] = _t8; /* 028A6718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 028A671C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A671C */ _t10 = _t9 & 0x00000001u; /* 028A671C */ if (_t10) goto L_028A6720; else goto L_028A6728; L_028A6720: ; // 0x28a6720 /* 028A6720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u); /* 028A6724 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6724 */ _t12 = _t11 & 0x00000001u; /* 028A6724 */ if (_t12) goto L_028A6728; else goto L_028A6710; L_028A6728: ; // 0x28a6728 /* 028A6728 */ cpu->r[0] = cpu->r[9] - cpu->r[0]; /* 028A6728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A672C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A672C */ _t14 = _t13 & 0x00000001u; /* 028A672C */ if (_t14) goto L_028A6730; else goto L_028A6738; L_028A6730: ; // 0x28a6730 /* 028A6730 */ _t15 = cpu->r[10] + 0x00000004u; /* 028A6730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 028A6734 */ return; L_028A6738: ; // 0x28a6738 /* 028A6738 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A673C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[5]); /* 028A6740 */ cpu->r[7] = cpu->r[7] + 0x00000008u; /* 028A6744 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6744 */ _t17 = _t16 & 0x00000001u; /* 028A6744 */ if (_t17) goto L_028A66F8; else goto L_028A6748; L_028A6748: ; // 0x28a6748 /* 028A6748 */ cpu->r[3] = 0xFFFFFFFFu; /* 028A674C */ return; } // fn_028A6750 @ 0x28a6750 void Gambit_fn_028A6750(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64; L_028A6750: ; // 0x28a6750 /* 028A6750 */ cpu->r[0] = cpu->lr; /* 028A6754 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 028A6754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6754 */ cpu->r[1] = _t0; /* 028A6758 */ _t1 = cpu->r[1] + 0x00000044u; /* 028A6758 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A675C */ /* nop */ /* 028A6760 */ cpu->r[29] = cpu->r[3]; /* 028A6760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A6764 */ cpu->r[31] = cpu->r[4]; /* 028A6768 */ cpu->r[26] = cpu->r[5]; /* 028A676C */ cpu->r[27] = cpu->r[6]; /* 028A6770 */ cpu->r[28] = cpu->r[7]; /* 028A6774 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6774 */ _t3 = _t2 & 0x00000001u; /* 028A6774 */ if (_t3) goto L_028A6778; else goto L_028A6788; L_028A6778: ; // 0x28a6778 /* 028A6778 */ cpu->r[3] = 0x00000060u; /* 028A677C */ Gambit_fn_02801A78(cpu); /* 028A6780 */ cpu->r[29] = cpu->r[3]; /* 028A6780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A6784 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6784 */ _t5 = _t4 & 0x00000001u; /* 028A6784 */ if (_t5) goto L_028A6924; else goto L_028A6788; L_028A6788: ; // 0x28a6788 /* 028A6788 */ cpu->r[23] = cpu->r[29]; /* 028A6788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A678C */ cpu->r[24] = 0x00000000u; /* 028A6790 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6790 */ _t7 = _t6 & 0x00000001u; /* 028A6790 */ if (_t7) goto L_028A6794; else goto L_028A67A4; L_028A6794: ; // 0x28a6794 /* 028A6794 */ cpu->r[3] = 0x00000054u; /* 028A6798 */ Gambit_fn_02801A78(cpu); /* 028A679C */ cpu->r[23] = cpu->r[3]; /* 028A679C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A67A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67A0 */ _t9 = _t8 & 0x00000001u; /* 028A67A0 */ if (_t9) goto L_028A6918; else goto L_028A67A4; L_028A67A4: ; // 0x28a67a4 /* 028A67A4 */ cpu->r[0] = 0x10130000u; /* 028A67A8 */ _t10 = cpu->r[1] + 0x00000008u; /* 028A67A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 028A67AC */ cpu->r[0] = cpu->r[0] + 0x00007990u; /* 028A67B0 */ cpu->r[25] = cpu->r[23]; /* 028A67B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A67B4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A67B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028A67B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67B8 */ _t13 = _t12 & 0x00000001u; /* 028A67B8 */ if (_t13) goto L_028A67BC; else goto L_028A67CC; L_028A67BC: ; // 0x28a67bc /* 028A67BC */ cpu->r[3] = 0x0000004Cu; /* 028A67C0 */ Gambit_fn_02801A78(cpu); /* 028A67C4 */ cpu->r[25] = cpu->r[3]; /* 028A67C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A67C8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67C8 */ _t15 = _t14 & 0x00000001u; /* 028A67C8 */ if (_t15) goto L_028A6910; else goto L_028A67CC; L_028A67CC: ; // 0x28a67cc /* 028A67CC */ cpu->r[21] = cpu->r[25]; /* 028A67CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A67D0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67D0 */ _t17 = _t16 & 0x00000001u; /* 028A67D0 */ if (_t17) goto L_028A67D4; else goto L_028A67E4; L_028A67D4: ; // 0x28a67d4 /* 028A67D4 */ cpu->r[3] = 0x0000004Cu; /* 028A67D8 */ Gambit_fn_02801A78(cpu); /* 028A67DC */ cpu->r[21] = cpu->r[3]; /* 028A67DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A67E0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67E0 */ _t19 = _t18 & 0x00000001u; /* 028A67E0 */ if (_t19) goto L_028A6904; else goto L_028A67E4; L_028A67E4: ; // 0x28a67e4 /* 028A67E4 */ cpu->r[3] = cpu->r[21]; /* 028A67E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A67E8 */ cpu->r[31] = 0x10110000u; /* 028A67EC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67EC */ _t21 = _t20 & 0x00000001u; /* 028A67EC */ if (_t21) goto L_028A67F0; else goto L_028A6844; L_028A67F0: ; // 0x28a67f0 /* 028A67F0 */ cpu->r[3] = 0x0000000Cu; /* 028A67F4 */ Gambit_fn_02801A78(cpu); /* 028A67F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A67FC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67FC */ _t23 = _t22 & 0x00000001u; /* 028A67FC */ if (_t23) goto L_028A6800; else goto L_028A6844; L_028A6800: ; // 0x28a6800 /* 028A6800 */ cpu->r[0] = 0x10130000u; /* 028A6804 */ _t24 = cpu->r[31] + 0x00007399u; /* 028A6804 */ cpu->r[30] = rbrew_read8(cpu->mem, _t24); /* 028A6808 */ cpu->r[0] = cpu->r[0] + 0x000079C0u; /* 028A680C */ _t25 = cpu->r[21] + 0x00000004u; /* 028A680C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 028A6810 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 028A6810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26); /* 028A6814 */ _t27 = cpu->r[5] + 0x00000014u; /* 028A6814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 028A6818 */ cpu->ctr = cpu->r[0]; /* 028A681C */ _t28 = cpu->r[21] + 0x00000000u; /* 028A681C */ cpu->r[22] = rbrew_read32(cpu->mem, _t28); /* 028A6820 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A6824 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6828 */ _t29 = cpu->r[1] + 0x00000008u; /* 028A6828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29); /* 028A682C */ _t30 = cpu->r[12] + 0x00000000u; /* 028A682C */ cpu->r[7] = rbrew_read8(cpu->mem, _t30); /* 028A6830 */ cpu->r[31] = 0x00000000u; /* 028A6834 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]); /* 028A6838 */ cpu->r[7] = 0x00080000u; /* 028A683C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A683C */ _t32 = _t31 & 0x00000001u; /* 028A683C */ if (_t32) goto L_028A6840; else goto L_028A68A4; L_028A6840: ; // 0x28a6840 /* 028A6840 */ goto L_028A68C8; L_028A6844: ; // 0x28a6844 /* 028A6844 */ cpu->r[11] = 0x10130000u; /* 028A6848 */ cpu->r[10] = cpu->r[21] + 0x0000000Cu; /* 028A684C */ cpu->r[11] = cpu->r[11] + 0x000079A8u; /* 028A6850 */ _t33 = cpu->r[3] + 0x00000000u; /* 028A6850 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]); /* 028A6854 */ cpu->r[0] = 0x10130000u; /* 028A6858 */ cpu->r[12] = 0x00000040u; /* 028A685C */ _t34 = cpu->r[3] + 0x00000004u; /* 028A685C */ rbrew_write32(cpu->mem, _t34, cpu->r[11]); /* 028A6860 */ cpu->r[0] = cpu->r[0] + 0x000079C0u; /* 028A6864 */ _t35 = cpu->r[3] + 0x00000008u; /* 028A6864 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]); /* 028A6868 */ _t36 = cpu->r[31] + 0x00007399u; /* 028A6868 */ cpu->r[30] = rbrew_read8(cpu->mem, _t36); /* 028A686C */ _t37 = cpu->r[21] + 0x00000004u; /* 028A686C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 028A6870 */ _t38 = cpu->r[21] + 0x0000004Bu; /* 028A6870 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]); /* 028A6874 */ _t39 = cpu->r[1] + 0x0000000Cu; /* 028A6874 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39); /* 028A6878 */ _t40 = cpu->r[5] + 0x00000014u; /* 028A6878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 028A687C */ cpu->ctr = cpu->r[0]; /* 028A6880 */ _t41 = cpu->r[21] + 0x00000000u; /* 028A6880 */ cpu->r[22] = rbrew_read32(cpu->mem, _t41); /* 028A6884 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A6888 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A688C */ _t42 = cpu->r[1] + 0x00000008u; /* 028A688C */ cpu->r[12] = rbrew_read32(cpu->mem, _t42); /* 028A6890 */ _t43 = cpu->r[12] + 0x00000000u; /* 028A6890 */ cpu->r[7] = rbrew_read8(cpu->mem, _t43); /* 028A6894 */ cpu->r[31] = 0x00000000u; /* 028A6898 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]); /* 028A689C */ cpu->r[7] = 0x00080000u; /* 028A68A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A68A0 */ _t45 = _t44 & 0x00000001u; /* 028A68A0 */ if (_t45) goto L_028A68C8; else goto L_028A68A4; L_028A68A4: ; // 0x28a68a4 /* 028A68A4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A68A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]); /* 028A68AC */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028A68B0 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A68B0 */ _t47 = _t46 & 0x00000001u; /* 028A68B0 */ if (_t47) goto L_028A68C4; else goto L_028A68B4; L_028A68B4: ; // 0x28a68b4 /* 028A68B4 */ _t48 = cpu->r[12] + 0x00000000u; /* 028A68B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t48); /* 028A68B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]); /* 028A68BC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A68BC */ _t50 = _t49 & 0x00000001u; /* 028A68BC */ if (_t50) goto L_028A68C0; else goto L_028A68A4; L_028A68C0: ; // 0x28a68c0 /* 028A68C0 */ goto L_028A68C8; L_028A68C4: ; // 0x28a68c4 /* 028A68C4 */ cpu->r[31] = 0x00000000u; L_028A68C8: ; // 0x28a68c8 /* 028A68C8 */ _t51 = cpu->r[21] + 0x00000008u; /* 028A68C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51); /* 028A68CC */ _t52 = cpu->r[1] + 0x0000000Cu; /* 028A68CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t52); /* 028A68D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]); /* 028A68D4 */ _t53 = cpu->r[9] + 0x00000014u; /* 028A68D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53); /* 028A68D8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A68D8 */ _t55 = _t54 & 0x00000001u; /* 028A68D8 */ if (_t55) goto L_028A68E0; else goto L_028A68DC; L_028A68DC: ; // 0x28a68dc /* 028A68DC */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu; L_028A68E0: ; // 0x28a68e0 /* 028A68E0 */ cpu->ctr = cpu->r[10]; /* 028A68E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A68E8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A68EC */ _t56 = cpu->r[1] + 0x00000008u; /* 028A68EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t56); /* 028A68F0 */ cpu->r[6] = 0x00000000u; /* 028A68F4 */ cpu->r[5] = cpu->r[31]; /* 028A68F8 */ cpu->r[3] = cpu->r[22]; /* 028A68FC */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A6900 */ _t57 = cpu->r[22] + cpu->r[31]; /* 028A6900 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[30]); L_028A6904: ; // 0x28a6904 /* 028A6904 */ cpu->r[0] = 0x10130000u; /* 028A6908 */ cpu->r[0] = cpu->r[0] + 0x000079D8u; /* 028A690C */ _t58 = cpu->r[25] + 0x00000004u; /* 028A690C */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); L_028A6910: ; // 0x28a6910 /* 028A6910 */ _t59 = cpu->r[23] + 0x00000050u; /* 028A6910 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[28]); /* 028A6914 */ _t60 = cpu->r[23] + 0x0000004Cu; /* 028A6914 */ rbrew_write32(cpu->mem, _t60, cpu->r[24]); L_028A6918: ; // 0x28a6918 /* 028A6918 */ _t61 = cpu->r[29] + 0x00000058u; /* 028A6918 */ rbrew_write32(cpu->mem, _t61, cpu->r[26]); /* 028A691C */ _t62 = cpu->r[29] + 0x00000054u; /* 028A691C */ rbrew_write32(cpu->mem, _t62, cpu->r[24]); /* 028A6920 */ _t63 = cpu->r[29] + 0x0000005Cu; /* 028A6920 */ rbrew_write32(cpu->mem, _t63, cpu->r[27]); L_028A6924: ; // 0x28a6924 /* 028A6924 */ cpu->r[3] = cpu->r[29]; /* 028A6928 */ /* nop */ /* 028A692C */ _t64 = cpu->r[1] + 0x00000044u; /* 028A692C */ cpu->r[0] = rbrew_read32(cpu->mem, _t64); /* 028A6930 */ cpu->lr = cpu->r[0]; /* 028A6934 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028A6938 */ return; } // fn_028A6754 @ 0x28a6754 void Gambit_fn_028A6754(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64; L_028A6754: ; // 0x28a6754 /* 028A6754 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 028A6754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6754 */ cpu->r[1] = _t0; /* 028A6758 */ _t1 = cpu->r[1] + 0x00000044u; /* 028A6758 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A675C */ /* nop */ /* 028A6760 */ cpu->r[29] = cpu->r[3]; /* 028A6760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A6764 */ cpu->r[31] = cpu->r[4]; /* 028A6768 */ cpu->r[26] = cpu->r[5]; /* 028A676C */ cpu->r[27] = cpu->r[6]; /* 028A6770 */ cpu->r[28] = cpu->r[7]; /* 028A6774 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6774 */ _t3 = _t2 & 0x00000001u; /* 028A6774 */ if (_t3) goto L_028A6778; else goto L_028A6788; L_028A6778: ; // 0x28a6778 /* 028A6778 */ cpu->r[3] = 0x00000060u; /* 028A677C */ Gambit_fn_02801A78(cpu); /* 028A6780 */ cpu->r[29] = cpu->r[3]; /* 028A6780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A6784 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6784 */ _t5 = _t4 & 0x00000001u; /* 028A6784 */ if (_t5) goto L_028A6924; else goto L_028A6788; L_028A6788: ; // 0x28a6788 /* 028A6788 */ cpu->r[23] = cpu->r[29]; /* 028A6788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A678C */ cpu->r[24] = 0x00000000u; /* 028A6790 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6790 */ _t7 = _t6 & 0x00000001u; /* 028A6790 */ if (_t7) goto L_028A6794; else goto L_028A67A4; L_028A6794: ; // 0x28a6794 /* 028A6794 */ cpu->r[3] = 0x00000054u; /* 028A6798 */ Gambit_fn_02801A78(cpu); /* 028A679C */ cpu->r[23] = cpu->r[3]; /* 028A679C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028A67A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67A0 */ _t9 = _t8 & 0x00000001u; /* 028A67A0 */ if (_t9) goto L_028A6918; else goto L_028A67A4; L_028A67A4: ; // 0x28a67a4 /* 028A67A4 */ cpu->r[0] = 0x10130000u; /* 028A67A8 */ _t10 = cpu->r[1] + 0x00000008u; /* 028A67A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 028A67AC */ cpu->r[0] = cpu->r[0] + 0x00007990u; /* 028A67B0 */ cpu->r[25] = cpu->r[23]; /* 028A67B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A67B4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A67B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028A67B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67B8 */ _t13 = _t12 & 0x00000001u; /* 028A67B8 */ if (_t13) goto L_028A67BC; else goto L_028A67CC; L_028A67BC: ; // 0x28a67bc /* 028A67BC */ cpu->r[3] = 0x0000004Cu; /* 028A67C0 */ Gambit_fn_02801A78(cpu); /* 028A67C4 */ cpu->r[25] = cpu->r[3]; /* 028A67C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028A67C8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67C8 */ _t15 = _t14 & 0x00000001u; /* 028A67C8 */ if (_t15) goto L_028A6910; else goto L_028A67CC; L_028A67CC: ; // 0x28a67cc /* 028A67CC */ cpu->r[21] = cpu->r[25]; /* 028A67CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A67D0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67D0 */ _t17 = _t16 & 0x00000001u; /* 028A67D0 */ if (_t17) goto L_028A67D4; else goto L_028A67E4; L_028A67D4: ; // 0x28a67d4 /* 028A67D4 */ cpu->r[3] = 0x0000004Cu; /* 028A67D8 */ Gambit_fn_02801A78(cpu); /* 028A67DC */ cpu->r[21] = cpu->r[3]; /* 028A67DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 028A67E0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67E0 */ _t19 = _t18 & 0x00000001u; /* 028A67E0 */ if (_t19) goto L_028A6904; else goto L_028A67E4; L_028A67E4: ; // 0x28a67e4 /* 028A67E4 */ cpu->r[3] = cpu->r[21]; /* 028A67E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A67E8 */ cpu->r[31] = 0x10110000u; /* 028A67EC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67EC */ _t21 = _t20 & 0x00000001u; /* 028A67EC */ if (_t21) goto L_028A67F0; else goto L_028A6844; L_028A67F0: ; // 0x28a67f0 /* 028A67F0 */ cpu->r[3] = 0x0000000Cu; /* 028A67F4 */ Gambit_fn_02801A78(cpu); /* 028A67F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A67FC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A67FC */ _t23 = _t22 & 0x00000001u; /* 028A67FC */ if (_t23) goto L_028A6800; else goto L_028A6844; L_028A6800: ; // 0x28a6800 /* 028A6800 */ cpu->r[0] = 0x10130000u; /* 028A6804 */ _t24 = cpu->r[31] + 0x00007399u; /* 028A6804 */ cpu->r[30] = rbrew_read8(cpu->mem, _t24); /* 028A6808 */ cpu->r[0] = cpu->r[0] + 0x000079C0u; /* 028A680C */ _t25 = cpu->r[21] + 0x00000004u; /* 028A680C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 028A6810 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 028A6810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26); /* 028A6814 */ _t27 = cpu->r[5] + 0x00000014u; /* 028A6814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 028A6818 */ cpu->ctr = cpu->r[0]; /* 028A681C */ _t28 = cpu->r[21] + 0x00000000u; /* 028A681C */ cpu->r[22] = rbrew_read32(cpu->mem, _t28); /* 028A6820 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A6824 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6828 */ _t29 = cpu->r[1] + 0x00000008u; /* 028A6828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29); /* 028A682C */ _t30 = cpu->r[12] + 0x00000000u; /* 028A682C */ cpu->r[7] = rbrew_read8(cpu->mem, _t30); /* 028A6830 */ cpu->r[31] = 0x00000000u; /* 028A6834 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]); /* 028A6838 */ cpu->r[7] = 0x00080000u; /* 028A683C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A683C */ _t32 = _t31 & 0x00000001u; /* 028A683C */ if (_t32) goto L_028A6840; else goto L_028A68A4; L_028A6840: ; // 0x28a6840 /* 028A6840 */ goto L_028A68C8; L_028A6844: ; // 0x28a6844 /* 028A6844 */ cpu->r[11] = 0x10130000u; /* 028A6848 */ cpu->r[10] = cpu->r[21] + 0x0000000Cu; /* 028A684C */ cpu->r[11] = cpu->r[11] + 0x000079A8u; /* 028A6850 */ _t33 = cpu->r[3] + 0x00000000u; /* 028A6850 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]); /* 028A6854 */ cpu->r[0] = 0x10130000u; /* 028A6858 */ cpu->r[12] = 0x00000040u; /* 028A685C */ _t34 = cpu->r[3] + 0x00000004u; /* 028A685C */ rbrew_write32(cpu->mem, _t34, cpu->r[11]); /* 028A6860 */ cpu->r[0] = cpu->r[0] + 0x000079C0u; /* 028A6864 */ _t35 = cpu->r[3] + 0x00000008u; /* 028A6864 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]); /* 028A6868 */ _t36 = cpu->r[31] + 0x00007399u; /* 028A6868 */ cpu->r[30] = rbrew_read8(cpu->mem, _t36); /* 028A686C */ _t37 = cpu->r[21] + 0x00000004u; /* 028A686C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 028A6870 */ _t38 = cpu->r[21] + 0x0000004Bu; /* 028A6870 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]); /* 028A6874 */ _t39 = cpu->r[1] + 0x0000000Cu; /* 028A6874 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39); /* 028A6878 */ _t40 = cpu->r[5] + 0x00000014u; /* 028A6878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 028A687C */ cpu->ctr = cpu->r[0]; /* 028A6880 */ _t41 = cpu->r[21] + 0x00000000u; /* 028A6880 */ cpu->r[22] = rbrew_read32(cpu->mem, _t41); /* 028A6884 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A6888 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A688C */ _t42 = cpu->r[1] + 0x00000008u; /* 028A688C */ cpu->r[12] = rbrew_read32(cpu->mem, _t42); /* 028A6890 */ _t43 = cpu->r[12] + 0x00000000u; /* 028A6890 */ cpu->r[7] = rbrew_read8(cpu->mem, _t43); /* 028A6894 */ cpu->r[31] = 0x00000000u; /* 028A6898 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]); /* 028A689C */ cpu->r[7] = 0x00080000u; /* 028A68A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A68A0 */ _t45 = _t44 & 0x00000001u; /* 028A68A0 */ if (_t45) goto L_028A68C8; else goto L_028A68A4; L_028A68A4: ; // 0x28a68a4 /* 028A68A4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A68A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]); /* 028A68AC */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028A68B0 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A68B0 */ _t47 = _t46 & 0x00000001u; /* 028A68B0 */ if (_t47) goto L_028A68C4; else goto L_028A68B4; L_028A68B4: ; // 0x28a68b4 /* 028A68B4 */ _t48 = cpu->r[12] + 0x00000000u; /* 028A68B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t48); /* 028A68B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]); /* 028A68BC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A68BC */ _t50 = _t49 & 0x00000001u; /* 028A68BC */ if (_t50) goto L_028A68C0; else goto L_028A68A4; L_028A68C0: ; // 0x28a68c0 /* 028A68C0 */ goto L_028A68C8; L_028A68C4: ; // 0x28a68c4 /* 028A68C4 */ cpu->r[31] = 0x00000000u; L_028A68C8: ; // 0x28a68c8 /* 028A68C8 */ _t51 = cpu->r[21] + 0x00000008u; /* 028A68C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51); /* 028A68CC */ _t52 = cpu->r[1] + 0x0000000Cu; /* 028A68CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t52); /* 028A68D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]); /* 028A68D4 */ _t53 = cpu->r[9] + 0x00000014u; /* 028A68D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53); /* 028A68D8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A68D8 */ _t55 = _t54 & 0x00000001u; /* 028A68D8 */ if (_t55) goto L_028A68E0; else goto L_028A68DC; L_028A68DC: ; // 0x28a68dc /* 028A68DC */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu; L_028A68E0: ; // 0x28a68e0 /* 028A68E0 */ cpu->ctr = cpu->r[10]; /* 028A68E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028A68E8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A68EC */ _t56 = cpu->r[1] + 0x00000008u; /* 028A68EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t56); /* 028A68F0 */ cpu->r[6] = 0x00000000u; /* 028A68F4 */ cpu->r[5] = cpu->r[31]; /* 028A68F8 */ cpu->r[3] = cpu->r[22]; /* 028A68FC */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A6900 */ _t57 = cpu->r[22] + cpu->r[31]; /* 028A6900 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[30]); L_028A6904: ; // 0x28a6904 /* 028A6904 */ cpu->r[0] = 0x10130000u; /* 028A6908 */ cpu->r[0] = cpu->r[0] + 0x000079D8u; /* 028A690C */ _t58 = cpu->r[25] + 0x00000004u; /* 028A690C */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); L_028A6910: ; // 0x28a6910 /* 028A6910 */ _t59 = cpu->r[23] + 0x00000050u; /* 028A6910 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[28]); /* 028A6914 */ _t60 = cpu->r[23] + 0x0000004Cu; /* 028A6914 */ rbrew_write32(cpu->mem, _t60, cpu->r[24]); L_028A6918: ; // 0x28a6918 /* 028A6918 */ _t61 = cpu->r[29] + 0x00000058u; /* 028A6918 */ rbrew_write32(cpu->mem, _t61, cpu->r[26]); /* 028A691C */ _t62 = cpu->r[29] + 0x00000054u; /* 028A691C */ rbrew_write32(cpu->mem, _t62, cpu->r[24]); /* 028A6920 */ _t63 = cpu->r[29] + 0x0000005Cu; /* 028A6920 */ rbrew_write32(cpu->mem, _t63, cpu->r[27]); L_028A6924: ; // 0x28a6924 /* 028A6924 */ cpu->r[3] = cpu->r[29]; /* 028A6928 */ /* nop */ /* 028A692C */ _t64 = cpu->r[1] + 0x00000044u; /* 028A692C */ cpu->r[0] = rbrew_read32(cpu->mem, _t64); /* 028A6930 */ cpu->lr = cpu->r[0]; /* 028A6934 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028A6938 */ return; } // fn_028A693C @ 0x28a693c void Gambit_fn_028A693C(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_028A693C: ; // 0x28a693c /* 028A693C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6940 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6940 */ _t17 = _t16 & 0x00000001u; /* 028A6940 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A6940 */ goto L_028A6944; L_028A6944: ; // 0x28a6944 /* 028A6944 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A6944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6948 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6948 */ _t19 = _t18 & 0x00000001u; /* 028A6948 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A6948 */ goto L_028A694C; L_028A694C: ; // 0x28a694c /* 028A694C */ goto L_02801BB0; } // fn_028A6950 @ 0x28a6950 void Gambit_fn_028A6950(CPUState* cpu) { L_028A6950: ; // 0x28a6950 /* 028A6950 */ return; } // fn_028A6954 @ 0x28a6954 void Gambit_fn_028A6954(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_028A6954: ; // 0x28a6954 /* 028A6954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6958 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6958 */ _t17 = _t16 & 0x00000001u; /* 028A6958 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A6958 */ goto L_028A695C; L_028A695C: ; // 0x28a695c /* 028A695C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A695C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6960 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6960 */ _t19 = _t18 & 0x00000001u; /* 028A6960 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A6960 */ goto L_028A6964; L_028A6964: ; // 0x28a6964 /* 028A6964 */ goto L_02801BB0; } // fn_028A6968 @ 0x28a6968 void Gambit_fn_028A6968(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_028A6968: ; // 0x28a6968 /* 028A6968 */ _t0 = cpu->r[3] + 0x00000000u; /* 028A6968 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 028A696C */ _t1 = cpu->r[3] + 0x00000008u; /* 028A696C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 028A6970 */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 028A6974 */ cpu->r[11] = 0x10110000u; /* 028A6978 */ _t2 = cpu->r[11] + 0x00007399u; /* 028A6978 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 028A697C */ _t3 = cpu->r[12] + 0xFFFFFFFFu; /* 028A697C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]); /* 028A6980 */ return; } // fn_028A6984 @ 0x28a6984 void Gambit_fn_028A6984(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_028A6984: ; // 0x28a6984 /* 028A6984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6988 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6988 */ _t17 = _t16 & 0x00000001u; /* 028A6988 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A6988 */ goto L_028A698C; L_028A698C: ; // 0x28a698c /* 028A698C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A698C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6990 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6990 */ _t19 = _t18 & 0x00000001u; /* 028A6990 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A6990 */ goto L_028A6994; L_028A6994: ; // 0x28a6994 /* 028A6994 */ goto L_02801BB0; } // fn_028A6998 @ 0x28a6998 void Gambit_fn_028A6998(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_028A6998: ; // 0x28a6998 /* 028A6998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A699C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A699C */ _t17 = _t16 & 0x00000001u; /* 028A699C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A699C */ goto L_028A69A0; L_028A69A0: ; // 0x28a69a0 /* 028A69A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A69A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A69A4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A69A4 */ _t19 = _t18 & 0x00000001u; /* 028A69A4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A69A4 */ goto L_028A69A8; L_028A69A8: ; // 0x28a69a8 /* 028A69A8 */ goto L_02801BB0; } // fn_028A69B8 @ 0x28a69b8 void Gambit_fn_028A69B8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028A69B8: ; // 0x28a69b8 /* 028A69B8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028A69B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A69B8 */ cpu->r[1] = _t0; /* 028A69BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A69BC */ _t2 = _t1 & 0x00000001u; /* 028A69BC */ if (_t2) goto L_028A69C0; else goto L_028A69D0; L_028A69C0: ; // 0x28a69c0 /* 028A69C0 */ cpu->r[3] = 0x00000008u; /* 028A69C4 */ Gambit_fn_02801A78(cpu); /* 028A69C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A69CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A69CC */ _t4 = _t3 & 0x00000001u; /* 028A69CC */ if (_t4) goto L_028A69E0; else goto L_028A69D0; L_028A69D0: ; // 0x28a69d0 /* 028A69D0 */ cpu->r[12] = 0x00000000u; /* 028A69D4 */ cpu->r[0] = 0xFFFFFFFFu; /* 028A69D8 */ _t5 = cpu->r[3] + 0x00000000u; /* 028A69D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 028A69DC */ _t6 = cpu->r[3] + 0x00000004u; /* 028A69DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); L_028A69E0: ; // 0x28a69e0 /* 028A69E0 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028A69E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A69E4 */ cpu->lr = cpu->r[0]; /* 028A69E8 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A69EC */ return; } // fn_028A69F0 @ 0x28a69f0 void Gambit_fn_028A69F0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028A69F0: ; // 0x28a69f0 /* 028A69F0 */ cpu->r[0] = cpu->lr; /* 028A69F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A69F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A69F4 */ cpu->r[1] = _t0; /* 028A69F8 */ _t1 = cpu->r[1] + 0x00000014u; /* 028A69F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A69FC */ _t2 = cpu->r[1] + 0x00000010u; /* 028A69FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A6A00 */ cpu->r[30] = cpu->r[5]; /* 028A6A04 */ cpu->r[31] = cpu->r[3]; /* 028A6A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6A08 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A6A08 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A6A0C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A6A0C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A6A10 */ cpu->r[29] = cpu->r[4]; /* 028A6A14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6A14 */ _t6 = _t5 & 0x00000001u; /* 028A6A14 */ if (_t6) goto L_028A6A18; else goto L_028A6A28; L_028A6A18: ; // 0x28a6a18 /* 028A6A18 */ cpu->r[3] = 0x0000000Cu; /* 028A6A1C */ Gambit_fn_02801A78(cpu); /* 028A6A20 */ cpu->r[31] = cpu->r[3]; /* 028A6A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6A24 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6A24 */ _t8 = _t7 & 0x00000001u; /* 028A6A24 */ if (_t8) goto L_028A6A48; else goto L_028A6A28; L_028A6A28: ; // 0x28a6a28 /* 028A6A28 */ _t9 = cpu->r[31] + 0x00000004u; /* 028A6A28 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]); /* 028A6A2C */ cpu->r[0] = 0x00000000u; /* 028A6A30 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A6A34 */ cpu->r[4] = cpu->r[30]; /* 028A6A38 */ _t10 = cpu->r[31] + 0x00000000u; /* 028A6A38 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 028A6A3C */ cpu->r[5] = 0x00000004u; /* 028A6A40 */ Gambit_fn_02801ADC(cpu); /* 028A6A44 */ _t11 = cpu->r[31] + 0x00000008u; /* 028A6A44 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]); L_028A6A48: ; // 0x28a6a48 /* 028A6A48 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A6A48 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12); /* 028A6A4C */ _t13 = cpu->r[1] + 0x0000001Cu; /* 028A6A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A6A50 */ cpu->r[3] = cpu->r[31]; /* 028A6A54 */ _t14 = cpu->r[1] + 0x00000010u; /* 028A6A54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028A6A58 */ cpu->lr = cpu->r[0]; /* 028A6A5C */ _t15 = cpu->r[1] + 0x00000014u; /* 028A6A5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A6A60 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A6A64 */ return; } // fn_028A69F4 @ 0x28a69f4 void Gambit_fn_028A69F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028A69F4: ; // 0x28a69f4 /* 028A69F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A69F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A69F4 */ cpu->r[1] = _t0; /* 028A69F8 */ _t1 = cpu->r[1] + 0x00000014u; /* 028A69F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A69FC */ _t2 = cpu->r[1] + 0x00000010u; /* 028A69FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A6A00 */ cpu->r[30] = cpu->r[5]; /* 028A6A04 */ cpu->r[31] = cpu->r[3]; /* 028A6A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6A08 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A6A08 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A6A0C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A6A0C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A6A10 */ cpu->r[29] = cpu->r[4]; /* 028A6A14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6A14 */ _t6 = _t5 & 0x00000001u; /* 028A6A14 */ if (_t6) goto L_028A6A18; else goto L_028A6A28; L_028A6A18: ; // 0x28a6a18 /* 028A6A18 */ cpu->r[3] = 0x0000000Cu; /* 028A6A1C */ Gambit_fn_02801A78(cpu); /* 028A6A20 */ cpu->r[31] = cpu->r[3]; /* 028A6A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6A24 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6A24 */ _t8 = _t7 & 0x00000001u; /* 028A6A24 */ if (_t8) goto L_028A6A48; else goto L_028A6A28; L_028A6A28: ; // 0x28a6a28 /* 028A6A28 */ _t9 = cpu->r[31] + 0x00000004u; /* 028A6A28 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]); /* 028A6A2C */ cpu->r[0] = 0x00000000u; /* 028A6A30 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A6A34 */ cpu->r[4] = cpu->r[30]; /* 028A6A38 */ _t10 = cpu->r[31] + 0x00000000u; /* 028A6A38 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 028A6A3C */ cpu->r[5] = 0x00000004u; /* 028A6A40 */ Gambit_fn_02801ADC(cpu); /* 028A6A44 */ _t11 = cpu->r[31] + 0x00000008u; /* 028A6A44 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]); L_028A6A48: ; // 0x28a6a48 /* 028A6A48 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A6A48 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12); /* 028A6A4C */ _t13 = cpu->r[1] + 0x0000001Cu; /* 028A6A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A6A50 */ cpu->r[3] = cpu->r[31]; /* 028A6A54 */ _t14 = cpu->r[1] + 0x00000010u; /* 028A6A54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028A6A58 */ cpu->lr = cpu->r[0]; /* 028A6A5C */ _t15 = cpu->r[1] + 0x00000014u; /* 028A6A5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A6A60 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A6A64 */ return; } // fn_028A6A68 @ 0x28a6a68 void Gambit_fn_028A6A68(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028A6A68: ; // 0x28a6a68 /* 028A6A68 */ _t0 = cpu->r[3] + 0x00000000u; /* 028A6A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 028A6A6C */ cpu->r[12] = 0x00000000u; /* 028A6A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 028A6A74 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6A74 */ _t2 = _t1 & 0x00000001u; /* 028A6A74 */ if (_t2) goto L_028A6A78; else goto L_028A6AC8; L_028A6A78: ; // 0x28a6a78 /* 028A6A78 */ _t3 = cpu->r[3] + 0x00000008u; /* 028A6A78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 028A6A7C */ cpu->r[9] = 0x00000000u; L_028A6A80: ; // 0x28a6a80 /* 028A6A80 */ _t4 = cpu->r[10] + cpu->r[9]; /* 028A6A80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 028A6A84 */ cpu->r[8] = cpu->r[4] + 0xFFFFFFFFu; /* 028A6A88 */ cpu->r[11] = cpu->r[10] + cpu->r[9]; /* 028A6A8C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; L_028A6A90: ; // 0x28a6a90 /* 028A6A90 */ _t5 = cpu->r[7] + 0x00000001u; /* 028A6A90 */ cpu->r[5] = rbrew_read8(cpu->mem, _t5); /* 028A6A90 */ cpu->r[7] = _t5; /* 028A6A94 */ _t6 = cpu->r[8] + 0x00000001u; /* 028A6A94 */ cpu->r[6] = rbrew_read8(cpu->mem, _t6); /* 028A6A94 */ cpu->r[8] = _t6; /* 028A6A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]); /* 028A6A9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6A9C */ _t8 = _t7 & 0x00000001u; /* 028A6A9C */ if (_t8) goto L_028A6AA0; else goto L_028A6AA8; L_028A6AA0: ; // 0x28a6aa0 /* 028A6AA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000000u); /* 028A6AA4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6AA4 */ _t10 = _t9 & 0x00000001u; /* 028A6AA4 */ if (_t10) goto L_028A6AA8; else goto L_028A6A90; L_028A6AA8: ; // 0x28a6aa8 /* 028A6AA8 */ cpu->r[8] = cpu->r[5] - cpu->r[6]; /* 028A6AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A6AAC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6AAC */ _t12 = _t11 & 0x00000001u; /* 028A6AAC */ if (_t12) goto L_028A6AB0; else goto L_028A6AB8; L_028A6AB0: ; // 0x28a6ab0 /* 028A6AB0 */ _t13 = cpu->r[11] + 0x00000004u; /* 028A6AB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 028A6AB4 */ return; L_028A6AB8: ; // 0x28a6ab8 /* 028A6AB8 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028A6ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 028A6AC0 */ cpu->r[9] = cpu->r[9] + 0x00000008u; /* 028A6AC4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6AC4 */ _t15 = _t14 & 0x00000001u; /* 028A6AC4 */ if (_t15) goto L_028A6A80; else goto L_028A6AC8; L_028A6AC8: ; // 0x28a6ac8 /* 028A6AC8 */ cpu->r[3] = 0xFFFFFFFFu; /* 028A6ACC */ return; } // fn_028A6AD0 @ 0x28a6ad0 void Gambit_fn_028A6AD0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_028A6AD0: ; // 0x28a6ad0 /* 028A6AD0 */ cpu->r[0] = cpu->lr; /* 028A6AD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A6AD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6AD4 */ cpu->r[1] = _t0; /* 028A6AD8 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A6AD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A6ADC */ cpu->r[30] = cpu->r[3]; /* 028A6AE0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A6AE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A6AE4 */ cpu->r[11] = cpu->r[4] + 0xFFFFFFFFu; /* 028A6AE8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A6AE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); L_028A6AEC: ; // 0x28a6aec /* 028A6AEC */ _t4 = cpu->r[11] + 0x00000001u; /* 028A6AEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 028A6AEC */ cpu->r[11] = _t4; /* 028A6AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6AF4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6AF4 */ _t6 = _t5 & 0x00000001u; /* 028A6AF4 */ if (_t6) goto L_028A6AF8; else goto L_028A6AEC; L_028A6AF8: ; // 0x28a6af8 /* 028A6AF8 */ cpu->r[31] = cpu->r[11] - cpu->r[4]; /* 028A6AFC */ _t7 = cpu->r[30] + 0x00000004u; /* 028A6AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 028A6B00 */ cpu->r[5] = cpu->r[31]; /* 028A6B04 */ cpu->r[6] = 0x00000000u; /* 028A6B08 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A6B0C */ _t8 = cpu->r[30] + 0x00000004u; /* 028A6B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 028A6B10 */ cpu->r[8] = 0x00000000u; /* 028A6B14 */ _t9 = cpu->r[12] + cpu->r[31]; /* 028A6B14 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[8]); /* 028A6B18 */ _t10 = cpu->r[30] + 0x00000004u; /* 028A6B18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 028A6B1C */ _t11 = cpu->r[30] + 0x00000000u; /* 028A6B1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A6B20 */ cpu->r[9] = cpu->r[10] + cpu->r[31]; /* 028A6B24 */ cpu->r[0] = cpu->r[9] + 0x00000001u; /* 028A6B28 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028A6B2C */ _t12 = cpu->r[30] + 0x00000004u; /* 028A6B2C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 028A6B30 */ _t13 = cpu->r[30] + 0x00000000u; /* 028A6B30 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]); /* 028A6B34 */ _t14 = cpu->r[1] + 0x00000014u; /* 028A6B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028A6B38 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A6B38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A6B3C */ cpu->lr = cpu->r[0]; /* 028A6B40 */ _t16 = cpu->r[1] + 0x00000008u; /* 028A6B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 028A6B44 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A6B48 */ return; } // fn_028A6AD4 @ 0x28a6ad4 void Gambit_fn_028A6AD4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_028A6AD4: ; // 0x28a6ad4 /* 028A6AD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A6AD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6AD4 */ cpu->r[1] = _t0; /* 028A6AD8 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A6AD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A6ADC */ cpu->r[30] = cpu->r[3]; /* 028A6AE0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A6AE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A6AE4 */ cpu->r[11] = cpu->r[4] + 0xFFFFFFFFu; /* 028A6AE8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A6AE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); L_028A6AEC: ; // 0x28a6aec /* 028A6AEC */ _t4 = cpu->r[11] + 0x00000001u; /* 028A6AEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 028A6AEC */ cpu->r[11] = _t4; /* 028A6AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6AF4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6AF4 */ _t6 = _t5 & 0x00000001u; /* 028A6AF4 */ if (_t6) goto L_028A6AF8; else goto L_028A6AEC; L_028A6AF8: ; // 0x28a6af8 /* 028A6AF8 */ cpu->r[31] = cpu->r[11] - cpu->r[4]; /* 028A6AFC */ _t7 = cpu->r[30] + 0x00000004u; /* 028A6AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 028A6B00 */ cpu->r[5] = cpu->r[31]; /* 028A6B04 */ cpu->r[6] = 0x00000000u; /* 028A6B08 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028A6B0C */ _t8 = cpu->r[30] + 0x00000004u; /* 028A6B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 028A6B10 */ cpu->r[8] = 0x00000000u; /* 028A6B14 */ _t9 = cpu->r[12] + cpu->r[31]; /* 028A6B14 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[8]); /* 028A6B18 */ _t10 = cpu->r[30] + 0x00000004u; /* 028A6B18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 028A6B1C */ _t11 = cpu->r[30] + 0x00000000u; /* 028A6B1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A6B20 */ cpu->r[9] = cpu->r[10] + cpu->r[31]; /* 028A6B24 */ cpu->r[0] = cpu->r[9] + 0x00000001u; /* 028A6B28 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028A6B2C */ _t12 = cpu->r[30] + 0x00000004u; /* 028A6B2C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 028A6B30 */ _t13 = cpu->r[30] + 0x00000000u; /* 028A6B30 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]); /* 028A6B34 */ _t14 = cpu->r[1] + 0x00000014u; /* 028A6B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028A6B38 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A6B38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A6B3C */ cpu->lr = cpu->r[0]; /* 028A6B40 */ _t16 = cpu->r[1] + 0x00000008u; /* 028A6B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 028A6B44 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A6B48 */ return; } // fn_028A6B4C @ 0x28a6b4c void Gambit_fn_028A6B4C(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_028A6B4C: ; // 0x28a6b4c /* 028A6B4C */ cpu->r[0] = 0x00000000u; /* 028A6B50 */ _t0 = cpu->r[3] + 0x00000000u; /* 028A6B50 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A6B54 */ _t1 = cpu->r[3] + 0x00000004u; /* 028A6B54 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A6B58 */ _t2 = cpu->r[3] + 0x00000008u; /* 028A6B58 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A6B5C */ return; } // fn_028A6B60 @ 0x28a6b60 void Gambit_fn_028A6B60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028A6B60: ; // 0x28a6b60 /* 028A6B60 */ cpu->r[0] = cpu->lr; /* 028A6B64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A6B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6B64 */ cpu->r[1] = _t0; /* 028A6B68 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A6B68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A6B6C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A6B6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A6B70 */ cpu->r[31] = cpu->r[3]; /* 028A6B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6B74 */ cpu->r[30] = cpu->r[4]; /* 028A6B78 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A6B78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A6B7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6B7C */ _t5 = _t4 & 0x00000001u; /* 028A6B7C */ if (_t5) goto L_028A6BA8; else goto L_028A6B80; L_028A6B80: ; // 0x28a6b80 /* 028A6B80 */ cpu->r[0] = 0x10130000u; /* 028A6B84 */ cpu->r[3] = cpu->r[31]; /* 028A6B88 */ cpu->r[0] = cpu->r[0] + 0x000079FCu; /* 028A6B8C */ cpu->r[4] = 0x00000000u; /* 028A6B90 */ _t6 = cpu->r[31] + 0x00000050u; /* 028A6B90 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A6B94 */ Gambit_fn_028A5900(cpu); /* 028A6B98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A6B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6B9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6B9C */ _t8 = _t7 & 0x00000001u; /* 028A6B9C */ if (_t8) goto L_028A6BA8; else goto L_028A6BA0; L_028A6BA0: ; // 0x28a6ba0 /* 028A6BA0 */ cpu->r[3] = cpu->r[31]; /* 028A6BA4 */ Gambit_fn_02801BB0(cpu); L_028A6BA8: ; // 0x28a6ba8 /* 028A6BA8 */ _t9 = cpu->r[1] + 0x00000014u; /* 028A6BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028A6BAC */ _t10 = cpu->r[1] + 0x00000008u; /* 028A6BAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028A6BB0 */ cpu->lr = cpu->r[0]; /* 028A6BB4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A6BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028A6BB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A6BBC */ return; } // fn_028A6B64 @ 0x28a6b64 void Gambit_fn_028A6B64(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028A6B64: ; // 0x28a6b64 /* 028A6B64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A6B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6B64 */ cpu->r[1] = _t0; /* 028A6B68 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A6B68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A6B6C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A6B6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A6B70 */ cpu->r[31] = cpu->r[3]; /* 028A6B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A6B74 */ cpu->r[30] = cpu->r[4]; /* 028A6B78 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A6B78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A6B7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6B7C */ _t5 = _t4 & 0x00000001u; /* 028A6B7C */ if (_t5) goto L_028A6BA8; else goto L_028A6B80; L_028A6B80: ; // 0x28a6b80 /* 028A6B80 */ cpu->r[0] = 0x10130000u; /* 028A6B84 */ cpu->r[3] = cpu->r[31]; /* 028A6B88 */ cpu->r[0] = cpu->r[0] + 0x000079FCu; /* 028A6B8C */ cpu->r[4] = 0x00000000u; /* 028A6B90 */ _t6 = cpu->r[31] + 0x00000050u; /* 028A6B90 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A6B94 */ Gambit_fn_028A5900(cpu); /* 028A6B98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A6B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6B9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6B9C */ _t8 = _t7 & 0x00000001u; /* 028A6B9C */ if (_t8) goto L_028A6BA8; else goto L_028A6BA0; L_028A6BA0: ; // 0x28a6ba0 /* 028A6BA0 */ cpu->r[3] = cpu->r[31]; /* 028A6BA4 */ Gambit_fn_02801BB0(cpu); L_028A6BA8: ; // 0x28a6ba8 /* 028A6BA8 */ _t9 = cpu->r[1] + 0x00000014u; /* 028A6BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028A6BAC */ _t10 = cpu->r[1] + 0x00000008u; /* 028A6BAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028A6BB0 */ cpu->lr = cpu->r[0]; /* 028A6BB4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A6BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028A6BB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A6BBC */ return; } // fn_028A6BC0 @ 0x28a6bc0 void Gambit_fn_028A6BC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A6BC0: ; // 0x28a6bc0 /* 028A6BC0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 028A6BC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6BC0 */ cpu->r[1] = _t0; /* 028A6BC4 */ /* nop */ /* 028A6BC8 */ cpu->r[0] = cpu->lr; /* 028A6BCC */ _t1 = cpu->r[1] + 0x00000028u; /* 028A6BCC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 028A6BD0 */ _t2 = cpu->r[1] + 0x00000038u; /* 028A6BD0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 028A6BD4 */ /* nop */ /* 028A6BD8 */ _t3 = cpu->r[1] + 0x0000004Cu; /* 028A6BD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A6BDC */ /* nop */ /* 028A6BE0 */ cpu->r[30] = cpu->r[5]; /* 028A6BE4 */ _t4 = cpu->r[1] + 0x00000030u; /* 028A6BE4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]); /* 028A6BE8 */ cpu->r[31] = cpu->r[6]; /* 028A6BEC */ cpu->r[26] = cpu->r[7]; /* 028A6BF0 */ _t5 = cpu->r[1] + 0x00000040u; /* 028A6BF0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]); /* 028A6BF4 */ cpu->r[29] = cpu->r[3]; /* 028A6BF8 */ Gambit_fn_028A5920(cpu); /* 028A6BFC */ _t6 = cpu->r[31] + 0x0000001Cu; /* 028A6BFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A6C00 */ _t7 = cpu->r[3] + 0x00000000u; /* 028A6C00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 028A6C04 */ _t8 = cpu->r[12] + 0x00000044u; /* 028A6C04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8); /* 028A6C08 */ cpu->ctr = cpu->r[6]; /* 028A6C0C */ cpu->r[4] = cpu->r[30]; /* 028A6C10 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6C18 */ _t9 = cpu->r[29] + 0x00000054u; /* 028A6C18 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 028A6C1C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6C1C */ _t11 = _t10 & 0x00000001u; /* 028A6C1C */ if (_t11) goto L_028A6C20; else goto L_028A6C4C; L_028A6C20: ; // 0x28a6c20 /* 028A6C20 */ /* nop */ /* 028A6C24 */ _t12 = cpu->r[1] + 0x00000030u; /* 028A6C24 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t12); /* 028A6C28 */ _t13 = cpu->r[1] + 0x00000040u; /* 028A6C28 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13); /* 028A6C2C */ _t14 = cpu->r[1] + 0x00000028u; /* 028A6C2C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t14); /* 028A6C30 */ _t15 = cpu->r[1] + 0x00000038u; /* 028A6C30 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15); /* 028A6C34 */ cpu->r[3] = 0x00000000u; /* 028A6C38 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6C38 */ _t17 = _t16 & 0x00000001u; /* 028A6C38 */ if (_t17) goto L_028A6C3C; // else: addr-0 trap, fall-through L_028A6C3C: ; // 0x28a6c3c /* 028A6C3C */ _t18 = cpu->r[1] + 0x0000004Cu; /* 028A6C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028A6C40 */ cpu->lr = cpu->r[0]; /* 028A6C44 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 028A6C48 */ return; L_028A6C4C: ; // 0x28a6c4c /* 028A6C4C */ _t19 = cpu->r[31] + 0x00000020u; /* 028A6C4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 028A6C50 */ _t20 = cpu->r[8] + 0x0000000Cu; /* 028A6C50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20); /* 028A6C54 */ _t21 = cpu->r[3] + 0x00000060u; /* 028A6C54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 028A6C58 */ _t22 = cpu->r[7] + 0x00000014u; /* 028A6C58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 028A6C5C */ cpu->ctr = cpu->r[8]; /* 028A6C60 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6C64 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 028A6C64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23); /* 028A6C68 */ _t24 = cpu->r[10] + 0x00000034u; /* 028A6C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A6C6C */ cpu->ctr = cpu->r[0]; /* 028A6C70 */ cpu->r[27] = cpu->r[3]; /* 028A6C74 */ cpu->r[4] = cpu->r[26]; /* 028A6C78 */ cpu->r[5] = cpu->r[31]; /* 028A6C7C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6C80 */ cpu->r[7] = 0x10130000u; /* 028A6C84 */ _t25 = cpu->r[7] + 0x000079F8u; /* 028A6C84 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t25); /* 028A6C88 */ cpu->r[12] = 0x10130000u; /* 028A6C8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]); /* 028A6C90 */ _t26 = cpu->r[12] + 0x000079F4u; /* 028A6C90 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26); /* 028A6C94 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6C94 */ _t28 = _t27 & 0x00000001u; /* 028A6C94 */ if (_t28) goto L_028A6CC8; else goto L_028A6C98; L_028A6C98: ; // 0x28a6c98 /* 028A6C98 */ cpu->f[13] = cpu->f[1] + cpu->f[31]; /* 028A6C9C */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[13]; /* 028A6CA0 */ cpu->r[0] = cpu->r[1] + 0x00000008u; /* 028A6CA4 */ /* nop */ /* 028A6CA8 */ _t29 = cpu->r[1] + 0x00000008u; /* 028A6CA8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t29); /* 028A6CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028A6CB0 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A6CB0 */ _t31 = _t30 & 0x00000001u; /* 028A6CB0 */ if (_t31) goto L_028A6CE4; else goto L_028A6CB4; L_028A6CB4: ; // 0x28a6cb4 /* 028A6CB4 */ cpu->r[9] = 0xFFFFFFFFu; /* 028A6CB8 */ _t32 = cpu->r[29] + 0x00000058u; /* 028A6CB8 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]); /* 028A6CBC */ cpu->r[3] = 0x00000001u; /* 028A6CC0 */ _t33 = cpu->r[29] + 0x0000005Cu; /* 028A6CC0 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]); /* 028A6CC4 */ goto L_028A6D58; L_028A6CC8: ; // 0x28a6cc8 /* 028A6CC8 */ cpu->f[0] = cpu->f[1] - cpu->f[31]; /* 028A6CCC */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[0]; /* 028A6CD0 */ cpu->r[0] = cpu->r[1] + 0x00000008u; /* 028A6CD4 */ /* nop */ /* 028A6CD8 */ _t34 = cpu->r[1] + 0x00000008u; /* 028A6CD8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t34); /* 028A6CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028A6CE0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A6CE0 */ _t36 = _t35 & 0x00000001u; /* 028A6CE0 */ if (_t36) goto L_028A6CE4; else goto L_028A6CB4; L_028A6CE4: ; // 0x28a6ce4 /* 028A6CE4 */ _t37 = cpu->r[27] + 0x0000000Cu; /* 028A6CE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37); /* 028A6CE8 */ _t38 = cpu->r[11] + 0x0000002Cu; /* 028A6CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 028A6CEC */ cpu->ctr = cpu->r[0]; /* 028A6CF0 */ _t39 = cpu->r[30] + 0x00000020u; /* 028A6CF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39); /* 028A6CF4 */ cpu->r[4] = cpu->r[26]; /* 028A6CF8 */ cpu->r[3] = cpu->r[27]; /* 028A6CFC */ cpu->r[6] = cpu->r[31]; /* 028A6D00 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6D04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]); /* 028A6D08 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6D08 */ _t41 = _t40 & 0x00000001u; /* 028A6D08 */ if (_t41) goto L_028A6D34; else goto L_028A6D0C; L_028A6D0C: ; // 0x28a6d0c /* 028A6D0C */ cpu->f[12] = cpu->f[1] + cpu->f[31]; /* 028A6D10 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[12]; /* 028A6D14 */ cpu->r[9] = cpu->r[1] + 0x00000008u; /* 028A6D18 */ /* nop */ /* 028A6D1C */ _t42 = cpu->r[1] + 0x00000008u; /* 028A6D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028A6D20 */ cpu->r[9] = cpu->r[28] + cpu->r[0]; /* 028A6D24 */ _t43 = cpu->r[29] + 0x00000058u; /* 028A6D24 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]); /* 028A6D28 */ cpu->r[3] = 0x00000001u; /* 028A6D2C */ _t44 = cpu->r[29] + 0x0000005Cu; /* 028A6D2C */ rbrew_write32(cpu->mem, _t44, cpu->r[9]); /* 028A6D30 */ goto L_028A6D58; L_028A6D34: ; // 0x28a6d34 /* 028A6D34 */ cpu->f[11] = cpu->f[1] - cpu->f[31]; /* 028A6D38 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[11]; /* 028A6D3C */ cpu->r[10] = cpu->r[1] + 0x00000008u; /* 028A6D40 */ /* nop */ /* 028A6D44 */ _t45 = cpu->r[1] + 0x00000008u; /* 028A6D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 028A6D48 */ cpu->r[9] = cpu->r[28] + cpu->r[0]; /* 028A6D4C */ _t46 = cpu->r[29] + 0x00000058u; /* 028A6D4C */ rbrew_write32(cpu->mem, _t46, cpu->r[9]); /* 028A6D50 */ cpu->r[3] = 0x00000001u; /* 028A6D54 */ _t47 = cpu->r[29] + 0x0000005Cu; /* 028A6D54 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]); L_028A6D58: ; // 0x28a6d58 /* 028A6D58 */ /* nop */ /* 028A6D5C */ _t48 = cpu->r[1] + 0x00000030u; /* 028A6D5C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t48); /* 028A6D60 */ _t49 = cpu->r[1] + 0x00000040u; /* 028A6D60 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t49); /* 028A6D64 */ _t50 = cpu->r[1] + 0x00000028u; /* 028A6D64 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t50); /* 028A6D68 */ _t51 = cpu->r[1] + 0x00000038u; /* 028A6D68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t51); /* 028A6D6C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6D6C */ _t53 = _t52 & 0x00000001u; /* 028A6D6C */ if (_t53) goto L_028A6D70; // else: addr-0 trap, fall-through L_028A6D70: ; // 0x28a6d70 /* 028A6D70 */ _t54 = cpu->r[1] + 0x0000004Cu; /* 028A6D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 028A6D74 */ cpu->lr = cpu->r[0]; /* 028A6D78 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 028A6D7C */ return; } // fn_028A6D80 @ 0x28a6d80 void Gambit_fn_028A6D80(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A6D80: ; // 0x28a6d80 /* 028A6D80 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028A6D80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6D80 */ cpu->r[1] = _t0; /* 028A6D84 */ /* nop */ /* 028A6D88 */ cpu->r[0] = cpu->lr; /* 028A6D8C */ _t1 = cpu->r[1] + 0x00000024u; /* 028A6D8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A6D90 */ cpu->r[29] = cpu->r[3]; /* 028A6D94 */ _t2 = cpu->r[29] + 0x00000054u; /* 028A6D94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t2); /* 028A6D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A6D9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6D9C */ _t4 = _t3 & 0x00000001u; /* 028A6D9C */ if (_t4) goto L_028A6DA0; else goto L_028A6DC4; L_028A6DA0: ; // 0x28a6da0 /* 028A6DA0 */ _t5 = cpu->r[29] + 0x00000058u; /* 028A6DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A6DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6DA8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6DA8 */ _t7 = _t6 & 0x00000001u; /* 028A6DA8 */ if (_t7) goto L_028A6DAC; else goto L_028A6DC4; L_028A6DAC: ; // 0x28a6dac /* 028A6DAC */ /* nop */ /* 028A6DB0 */ _t8 = cpu->r[1] + 0x00000024u; /* 028A6DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A6DB4 */ cpu->lr = cpu->r[0]; /* 028A6DB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A6DBC */ cpu->r[3] = 0x00000001u; /* 028A6DC0 */ return; L_028A6DC4: ; // 0x28a6dc4 /* 028A6DC4 */ cpu->r[28] = 0x00000000u; /* 028A6DC8 */ cpu->r[31] = cpu->r[28]; /* 028A6DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A6DD0 */ cpu->r[3] = cpu->r[31]; /* 028A6DD4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6DD4 */ _t10 = _t9 & 0x00000001u; /* 028A6DD4 */ if (_t10) goto L_028A6E08; else goto L_028A6DD8; L_028A6DD8: ; // 0x28a6dd8 /* 028A6DD8 */ _t11 = cpu->r[30] + 0x00000024u; /* 028A6DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A6DDC */ _t12 = cpu->r[12] + 0x00000014u; /* 028A6DDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 028A6DE0 */ cpu->ctr = cpu->r[6]; /* 028A6DE4 */ cpu->r[3] = cpu->r[30]; /* 028A6DE8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u); /* 028A6DF0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6DF0 */ _t14 = _t13 & 0x00000001u; /* 028A6DF0 */ if (_t14) goto L_028A6DF4; else goto L_028A6E08; L_028A6DF4: ; // 0x28a6df4 /* 028A6DF4 */ _t15 = cpu->r[29] + 0x00000054u; /* 028A6DF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 028A6DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A6DFC */ cpu->r[31] = 0x00000001u; /* 028A6E00 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6E00 */ _t17 = _t16 & 0x00000001u; /* 028A6E00 */ if (_t17) goto L_028A6F54; else goto L_028A6E04; L_028A6E04: ; // 0x28a6e04 /* 028A6E04 */ goto L_028A6F24; L_028A6E08: ; // 0x28a6e08 /* 028A6E08 */ _t18 = cpu->r[29] + 0x00000058u; /* 028A6E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028A6E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A6E10 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6E10 */ _t20 = _t19 & 0x00000001u; /* 028A6E10 */ if (_t20) goto L_028A6EA0; else goto L_028A6E14; L_028A6E14: ; // 0x28a6e14 /* 028A6E14 */ _t21 = cpu->r[29] + 0x0000005Cu; /* 028A6E14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 028A6E18 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028A6E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A6E1C */ _t22 = cpu->r[29] + 0x0000005Cu; /* 028A6E1C */ rbrew_write32(cpu->mem, _t22, cpu->r[7]); /* 028A6E20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6E20 */ _t24 = _t23 & 0x00000001u; /* 028A6E20 */ if (_t24) goto L_028A6E24; else goto L_028A6F5C; L_028A6E24: ; // 0x28a6e24 /* 028A6E24 */ _t25 = cpu->r[29] + 0x00000054u; /* 028A6E24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A6E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A6E2C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6E2C */ _t27 = _t26 & 0x00000001u; /* 028A6E2C */ if (_t27) goto L_028A6EA8; else goto L_028A6E30; L_028A6E30: ; // 0x28a6e30 /* 028A6E30 */ _t28 = cpu->r[29] + 0x0000004Cu; /* 028A6E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 028A6E34 */ _t29 = cpu->r[31] + 0x00000038u; /* 028A6E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028A6E38 */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 028A6E3C */ Gambit_fn_02801EDC(cpu); /* 028A6E40 */ _t30 = cpu->r[31] + 0x00000034u; /* 028A6E40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30); /* 028A6E44 */ _t31 = cpu->r[31] + 0x00000048u; /* 028A6E44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 028A6E48 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 028A6E4C */ cpu->r[3] = cpu->r[31] + 0x0000003Cu; /* 028A6E50 */ cpu->r[4] = cpu->r[30] + cpu->r[10]; /* 028A6E54 */ _t32 = cpu->r[31] + 0x00000034u; /* 028A6E54 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]); /* 028A6E58 */ Gambit_fn_02801EBC(cpu); /* 028A6E5C */ _t33 = cpu->r[31] + 0x00000044u; /* 028A6E5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t33); /* 028A6E60 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A6E64 */ _t34 = cpu->r[31] + 0x00000044u; /* 028A6E64 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]); /* 028A6E68 */ _t35 = cpu->r[29] + 0x00000054u; /* 028A6E68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35); /* 028A6E6C */ _t36 = cpu->r[3] + 0x00000024u; /* 028A6E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t36); /* 028A6E70 */ _t37 = cpu->r[12] + 0x00000034u; /* 028A6E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A6E74 */ cpu->ctr = cpu->r[0]; /* 028A6E78 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6E7C */ _t38 = cpu->r[29] + 0x00000014u; /* 028A6E7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t38); /* 028A6E80 */ _t39 = cpu->r[29] + 0x00000058u; /* 028A6E80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39); /* 028A6E84 */ cpu->r[31] = 0x00000001u; /* 028A6E88 */ _t40 = cpu->r[29] + 0x00000054u; /* 028A6E88 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]); /* 028A6E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A6E90 */ _t41 = cpu->r[29] + 0x0000005Cu; /* 028A6E90 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]); /* 028A6E94 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6E94 */ _t43 = _t42 & 0x00000001u; /* 028A6E94 */ if (_t43) goto L_028A6EC8; else goto L_028A6E98; L_028A6E98: ; // 0x28a6e98 /* 028A6E98 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A6E98 */ _t45 = _t44 & 0x00000001u; /* 028A6E98 */ if (_t45) goto L_028A6EBC; else goto L_028A6E9C; L_028A6E9C: ; // 0x28a6e9c /* 028A6E9C */ goto L_028A6F18; L_028A6EA0: ; // 0x28a6ea0 /* 028A6EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u); /* 028A6EA4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6EA4 */ _t47 = _t46 & 0x00000001u; /* 028A6EA4 */ if (_t47) goto L_028A6EA8; else goto L_028A6F5C; L_028A6EA8: ; // 0x28a6ea8 /* 028A6EA8 */ _t48 = cpu->r[29] + 0x00000014u; /* 028A6EA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48); /* 028A6EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A6EB0 */ cpu->r[31] = 0x00000001u; /* 028A6EB4 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A6EB4 */ _t50 = _t49 & 0x00000001u; /* 028A6EB4 */ if (_t50) goto L_028A6EC8; else goto L_028A6EB8; L_028A6EB8: ; // 0x28a6eb8 /* 028A6EB8 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A6EB8 */ _t52 = _t51 & 0x00000001u; /* 028A6EB8 */ if (_t52) goto L_028A6EBC; else goto L_028A6F18; L_028A6EBC: ; // 0x28a6ebc /* 028A6EBC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028A6EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A6EC0 */ _t53 = cpu->r[29] + 0x00000014u; /* 028A6EC0 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]); /* 028A6EC4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6EC4 */ _t55 = _t54 & 0x00000001u; /* 028A6EC4 */ if (_t55) goto L_028A6F18; else goto L_028A6EC8; L_028A6EC8: ; // 0x28a6ec8 /* 028A6EC8 */ _t56 = cpu->r[29] + 0x00000054u; /* 028A6EC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 028A6ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A6ED0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6ED0 */ _t58 = _t57 & 0x00000001u; /* 028A6ED0 */ if (_t58) goto L_028A6ED4; else goto L_028A6EF4; L_028A6ED4: ; // 0x28a6ed4 /* 028A6ED4 */ _t59 = cpu->r[29] + 0x0000000Cu; /* 028A6ED4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59); /* 028A6ED8 */ _t60 = cpu->r[10] + 0x0000001Cu; /* 028A6ED8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60); /* 028A6EDC */ _t61 = cpu->r[3] + 0x00000000u; /* 028A6EDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t61); /* 028A6EE0 */ _t62 = cpu->r[8] + 0x00000044u; /* 028A6EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62); /* 028A6EE4 */ cpu->ctr = cpu->r[9]; /* 028A6EE8 */ _t63 = cpu->r[29] + 0x0000004Cu; /* 028A6EE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63); /* 028A6EEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6EF0 */ _t64 = cpu->r[29] + 0x00000054u; /* 028A6EF0 */ rbrew_write32(cpu->mem, _t64, cpu->r[3]); L_028A6EF4: ; // 0x28a6ef4 /* 028A6EF4 */ _t65 = cpu->r[29] + 0x00000050u; /* 028A6EF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65); /* 028A6EF8 */ _t66 = cpu->r[10] + 0x0000002Cu; /* 028A6EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 028A6EFC */ cpu->ctr = cpu->r[0]; /* 028A6F00 */ cpu->r[3] = cpu->r[29]; /* 028A6F04 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A6F0C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6F0C */ _t68 = _t67 & 0x00000001u; /* 028A6F0C */ if (_t68) goto L_028A6F18; else goto L_028A6F10; L_028A6F10: ; // 0x28a6f10 /* 028A6F10 */ cpu->r[31] = 0x00000000u; /* 028A6F14 */ goto L_028A6F5C; L_028A6F18: ; // 0x28a6f18 /* 028A6F18 */ _t69 = cpu->r[29] + 0x00000054u; /* 028A6F18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t69); /* 028A6F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A6F20 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6F20 */ _t71 = _t70 & 0x00000001u; /* 028A6F20 */ if (_t71) goto L_028A6F54; else goto L_028A6F24; L_028A6F24: ; // 0x28a6f24 /* 028A6F24 */ _t72 = cpu->r[29] + 0x0000004Cu; /* 028A6F24 */ cpu->r[27] = rbrew_read32(cpu->mem, _t72); /* 028A6F28 */ _t73 = cpu->r[27] + 0x00000038u; /* 028A6F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 028A6F2C */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 028A6F30 */ Gambit_fn_02801EDC(cpu); /* 028A6F34 */ _t74 = cpu->r[27] + 0x00000034u; /* 028A6F34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74); /* 028A6F38 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 028A6F3C */ _t75 = cpu->r[27] + 0x00000034u; /* 028A6F3C */ rbrew_write32(cpu->mem, _t75, cpu->r[8]); /* 028A6F40 */ _t76 = cpu->r[29] + 0x0000000Cu; /* 028A6F40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t76); /* 028A6F44 */ _t77 = cpu->r[7] + 0x0000001Cu; /* 028A6F44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77); /* 028A6F48 */ _t78 = cpu->r[29] + 0x00000054u; /* 028A6F48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78); /* 028A6F4C */ Gambit_fn_028AA1EC(cpu); /* 028A6F50 */ _t79 = cpu->r[29] + 0x00000054u; /* 028A6F50 */ rbrew_write32(cpu->mem, _t79, cpu->r[28]); L_028A6F54: ; // 0x28a6f54 /* 028A6F54 */ cpu->r[9] = 0xFFFFFFFFu; /* 028A6F58 */ _t80 = cpu->r[29] + 0x00000058u; /* 028A6F58 */ rbrew_write32(cpu->mem, _t80, cpu->r[9]); L_028A6F5C: ; // 0x28a6f5c /* 028A6F5C */ cpu->r[3] = cpu->r[31]; /* 028A6F60 */ /* nop */ /* 028A6F64 */ _t81 = cpu->r[1] + 0x00000024u; /* 028A6F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81); /* 028A6F68 */ cpu->lr = cpu->r[0]; /* 028A6F6C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A6F70 */ return; } // fn_028A6F74 @ 0x28a6f74 void Gambit_fn_028A6F74(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028A6F74: ; // 0x28a6f74 /* 028A6F74 */ cpu->r[0] = cpu->lr; /* 028A6F78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A6F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6F78 */ cpu->r[1] = _t0; /* 028A6F7C */ _t1 = cpu->r[1] + 0x00000008u; /* 028A6F7C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 028A6F80 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A6F80 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A6F84 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A6F84 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A6F88 */ _t4 = cpu->r[1] + 0x00000010u; /* 028A6F88 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 028A6F8C */ cpu->r[31] = cpu->r[3]; /* 028A6F90 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A6F90 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A6F94 */ _t6 = cpu->r[31] + 0x00000054u; /* 028A6F94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 028A6F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A6F9C */ cpu->r[30] = 0x00000000u; /* 028A6FA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6FA0 */ _t8 = _t7 & 0x00000001u; /* 028A6FA0 */ if (_t8) goto L_028A6FF4; else goto L_028A6FA4; L_028A6FA4: ; // 0x28a6fa4 /* 028A6FA4 */ _t9 = cpu->r[31] + 0x0000004Cu; /* 028A6FA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 028A6FA8 */ _t10 = cpu->r[28] + 0x00000038u; /* 028A6FA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A6FAC */ cpu->r[3] = cpu->r[29] + cpu->r[9]; /* 028A6FB0 */ Gambit_fn_02801EDC(cpu); /* 028A6FB4 */ _t11 = cpu->r[28] + 0x00000034u; /* 028A6FB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A6FB8 */ _t12 = cpu->r[28] + 0x00000048u; /* 028A6FB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 028A6FBC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 028A6FC0 */ cpu->r[3] = cpu->r[28] + 0x0000003Cu; /* 028A6FC4 */ cpu->r[4] = cpu->r[29] + cpu->r[10]; /* 028A6FC8 */ _t13 = cpu->r[28] + 0x00000034u; /* 028A6FC8 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]); /* 028A6FCC */ Gambit_fn_02801EBC(cpu); /* 028A6FD0 */ _t14 = cpu->r[28] + 0x00000044u; /* 028A6FD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 028A6FD4 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A6FD8 */ _t15 = cpu->r[28] + 0x00000044u; /* 028A6FD8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]); /* 028A6FDC */ _t16 = cpu->r[31] + 0x00000054u; /* 028A6FDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 028A6FE0 */ _t17 = cpu->r[3] + 0x00000024u; /* 028A6FE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028A6FE4 */ _t18 = cpu->r[12] + 0x0000002Cu; /* 028A6FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028A6FE8 */ cpu->ctr = cpu->r[0]; /* 028A6FEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6FF0 */ _t19 = cpu->r[31] + 0x00000054u; /* 028A6FF0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); L_028A6FF4: ; // 0x28a6ff4 /* 028A6FF4 */ _t20 = cpu->r[31] + 0x00000014u; /* 028A6FF4 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 028A6FF8 */ cpu->r[0] = 0xFFFFFFFFu; /* 028A6FFC */ _t21 = cpu->r[31] + 0x00000058u; /* 028A6FFC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A7000 */ _t22 = cpu->r[1] + 0x00000008u; /* 028A7000 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 028A7004 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028A7004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 028A7008 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028A7008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A700C */ _t25 = cpu->r[1] + 0x00000010u; /* 028A700C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A7010 */ cpu->lr = cpu->r[0]; /* 028A7014 */ _t26 = cpu->r[1] + 0x00000014u; /* 028A7014 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A7018 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A701C */ return; } // fn_028A6F78 @ 0x28a6f78 void Gambit_fn_028A6F78(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028A6F78: ; // 0x28a6f78 /* 028A6F78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A6F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A6F78 */ cpu->r[1] = _t0; /* 028A6F7C */ _t1 = cpu->r[1] + 0x00000008u; /* 028A6F7C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 028A6F80 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A6F80 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A6F84 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A6F84 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A6F88 */ _t4 = cpu->r[1] + 0x00000010u; /* 028A6F88 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 028A6F8C */ cpu->r[31] = cpu->r[3]; /* 028A6F90 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A6F90 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A6F94 */ _t6 = cpu->r[31] + 0x00000054u; /* 028A6F94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 028A6F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A6F9C */ cpu->r[30] = 0x00000000u; /* 028A6FA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A6FA0 */ _t8 = _t7 & 0x00000001u; /* 028A6FA0 */ if (_t8) goto L_028A6FF4; else goto L_028A6FA4; L_028A6FA4: ; // 0x28a6fa4 /* 028A6FA4 */ _t9 = cpu->r[31] + 0x0000004Cu; /* 028A6FA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 028A6FA8 */ _t10 = cpu->r[28] + 0x00000038u; /* 028A6FA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A6FAC */ cpu->r[3] = cpu->r[29] + cpu->r[9]; /* 028A6FB0 */ Gambit_fn_02801EDC(cpu); /* 028A6FB4 */ _t11 = cpu->r[28] + 0x00000034u; /* 028A6FB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A6FB8 */ _t12 = cpu->r[28] + 0x00000048u; /* 028A6FB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 028A6FBC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 028A6FC0 */ cpu->r[3] = cpu->r[28] + 0x0000003Cu; /* 028A6FC4 */ cpu->r[4] = cpu->r[29] + cpu->r[10]; /* 028A6FC8 */ _t13 = cpu->r[28] + 0x00000034u; /* 028A6FC8 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]); /* 028A6FCC */ Gambit_fn_02801EBC(cpu); /* 028A6FD0 */ _t14 = cpu->r[28] + 0x00000044u; /* 028A6FD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 028A6FD4 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A6FD8 */ _t15 = cpu->r[28] + 0x00000044u; /* 028A6FD8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]); /* 028A6FDC */ _t16 = cpu->r[31] + 0x00000054u; /* 028A6FDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 028A6FE0 */ _t17 = cpu->r[3] + 0x00000024u; /* 028A6FE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028A6FE4 */ _t18 = cpu->r[12] + 0x0000002Cu; /* 028A6FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028A6FE8 */ cpu->ctr = cpu->r[0]; /* 028A6FEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A6FF0 */ _t19 = cpu->r[31] + 0x00000054u; /* 028A6FF0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); L_028A6FF4: ; // 0x28a6ff4 /* 028A6FF4 */ _t20 = cpu->r[31] + 0x00000014u; /* 028A6FF4 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 028A6FF8 */ cpu->r[0] = 0xFFFFFFFFu; /* 028A6FFC */ _t21 = cpu->r[31] + 0x00000058u; /* 028A6FFC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A7000 */ _t22 = cpu->r[1] + 0x00000008u; /* 028A7000 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 028A7004 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028A7004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 028A7008 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028A7008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A700C */ _t25 = cpu->r[1] + 0x00000010u; /* 028A700C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A7010 */ cpu->lr = cpu->r[0]; /* 028A7014 */ _t26 = cpu->r[1] + 0x00000014u; /* 028A7014 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A7018 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A701C */ return; } // fn_028A7020 @ 0x28a7020 void Gambit_fn_028A7020(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_028A7020: ; // 0x28a7020 /* 028A7020 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028A7020 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7020 */ cpu->r[1] = _t0; /* 028A7024 */ /* nop */ /* 028A7028 */ cpu->r[0] = cpu->lr; /* 028A702C */ _t1 = cpu->r[1] + 0x00000024u; /* 028A702C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A7030 */ cpu->r[30] = cpu->r[3]; /* 028A7034 */ _t2 = cpu->r[30] + 0x00000054u; /* 028A7034 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2); /* 028A7038 */ cpu->r[31] = cpu->r[4]; /* 028A703C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028A7040 */ cpu->r[29] = 0x00000000u; /* 028A7044 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7044 */ _t4 = _t3 & 0x00000001u; /* 028A7044 */ if (_t4) goto L_028A709C; else goto L_028A7048; L_028A7048: ; // 0x28a7048 /* 028A7048 */ _t5 = cpu->r[30] + 0x0000004Cu; /* 028A7048 */ cpu->r[27] = rbrew_read32(cpu->mem, _t5); /* 028A704C */ _t6 = cpu->r[27] + 0x00000038u; /* 028A704C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 028A7050 */ cpu->r[3] = cpu->r[28] + cpu->r[9]; /* 028A7054 */ Gambit_fn_02801EDC(cpu); /* 028A7058 */ _t7 = cpu->r[27] + 0x00000034u; /* 028A7058 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 028A705C */ _t8 = cpu->r[27] + 0x00000048u; /* 028A705C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028A7060 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 028A7064 */ cpu->r[3] = cpu->r[27] + 0x0000003Cu; /* 028A7068 */ cpu->r[4] = cpu->r[28] + cpu->r[10]; /* 028A706C */ _t9 = cpu->r[27] + 0x00000034u; /* 028A706C */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); /* 028A7070 */ Gambit_fn_02801EBC(cpu); /* 028A7074 */ _t10 = cpu->r[27] + 0x00000044u; /* 028A7074 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A7078 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A707C */ _t11 = cpu->r[27] + 0x00000044u; /* 028A707C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]); /* 028A7080 */ _t12 = cpu->r[30] + 0x00000054u; /* 028A7080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028A7084 */ _t13 = cpu->r[3] + 0x00000024u; /* 028A7084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 028A7088 */ _t14 = cpu->r[12] + 0x00000024u; /* 028A7088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028A708C */ cpu->ctr = cpu->r[0]; /* 028A7090 */ cpu->r[4] = cpu->r[31]; /* 028A7094 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7098 */ _t15 = cpu->r[30] + 0x00000054u; /* 028A7098 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); L_028A709C: ; // 0x28a709c /* 028A709C */ _t16 = cpu->r[30] + 0x00000014u; /* 028A709C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); /* 028A70A0 */ cpu->r[0] = 0xFFFFFFFFu; /* 028A70A4 */ _t17 = cpu->r[30] + 0x00000058u; /* 028A70A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 028A70A8 */ /* nop */ /* 028A70AC */ _t18 = cpu->r[1] + 0x00000024u; /* 028A70AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028A70B0 */ cpu->lr = cpu->r[0]; /* 028A70B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A70B8 */ return; } // fn_028A70BC @ 0x28a70bc void Gambit_fn_028A70BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A70BC: ; // 0x28a70bc /* 028A70BC */ cpu->r[0] = cpu->lr; /* 028A70C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A70C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A70C0 */ cpu->r[1] = _t0; /* 028A70C4 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A70C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A70C8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A70C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A70CC */ _t3 = cpu->r[1] + 0x00000014u; /* 028A70CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A70D0 */ _t4 = cpu->r[3] + 0x00000054u; /* 028A70D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 028A70D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A70D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A70D8 */ _t6 = _t5 & 0x00000001u; /* 028A70D8 */ if (_t6) goto L_028A7168; else goto L_028A70DC; L_028A70DC: ; // 0x28a70dc /* 028A70DC */ _t7 = cpu->r[3] + 0x0000000Cu; /* 028A70DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 028A70E0 */ _t8 = cpu->r[3] + 0x00000010u; /* 028A70E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028A70E4 */ _t9 = cpu->r[31] + 0x00000008u; /* 028A70E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 028A70E8 */ _t10 = cpu->r[31] + 0x00000010u; /* 028A70E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 028A70EC */ _t11 = cpu->r[31] + 0x0000000Cu; /* 028A70EC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 028A70F0 */ _t12 = cpu->r[8] + 0x00000024u; /* 028A70F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 028A70F4 */ _t13 = cpu->r[8] + 0x00000020u; /* 028A70F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 028A70F8 */ _t14 = cpu->r[31] + 0x00000024u; /* 028A70F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A70FC */ _t15 = cpu->r[31] + 0x0000001Cu; /* 028A70FC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 028A7100 */ _t16 = cpu->r[31] + 0x00000020u; /* 028A7100 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]); /* 028A7104 */ _t17 = cpu->r[12] + 0x0000004Cu; /* 028A7104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A7108 */ cpu->ctr = cpu->r[0]; /* 028A710C */ cpu->r[3] = cpu->r[31]; /* 028A7110 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7114 */ _t18 = cpu->r[31] + 0x00000008u; /* 028A7114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 028A7118 */ _t19 = cpu->r[30] + 0x00000038u; /* 028A7118 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 028A711C */ cpu->r[3] = cpu->r[30] + 0x0000002Cu; /* 028A7120 */ cpu->r[4] = cpu->r[31] + cpu->r[8]; /* 028A7124 */ Gambit_fn_02802290(cpu); /* 028A7128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A712C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A712C */ _t21 = _t20 & 0x00000001u; /* 028A712C */ if (_t21) goto L_028A7130; else goto L_028A714C; L_028A7130: ; // 0x28a7130 /* 028A7130 */ _t22 = cpu->r[30] + 0x00000038u; /* 028A7130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 028A7134 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu; /* 028A7138 */ cpu->r[4] = cpu->r[31] + cpu->r[0]; /* 028A713C */ Gambit_fn_02801EBC(cpu); /* 028A7140 */ _t23 = cpu->r[30] + 0x00000034u; /* 028A7140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 028A7144 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028A7148 */ _t24 = cpu->r[30] + 0x00000034u; /* 028A7148 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]); L_028A714C: ; // 0x28a714c /* 028A714C */ _t25 = cpu->r[31] + 0x00000024u; /* 028A714C */ cpu->r[7] = rbrew_read32(cpu->mem, _t25); /* 028A7150 */ _t26 = cpu->r[7] + 0x0000003Cu; /* 028A7150 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 028A7154 */ cpu->ctr = cpu->r[9]; /* 028A7158 */ cpu->r[3] = cpu->r[31]; /* 028A715C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7164 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7164 */ _t28 = _t27 & 0x00000001u; /* 028A7164 */ if (_t28) goto L_028A7168; else goto L_028A7184; L_028A7168: ; // 0x28a7168 /* 028A7168 */ _t29 = cpu->r[1] + 0x00000014u; /* 028A7168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028A716C */ _t30 = cpu->r[1] + 0x00000008u; /* 028A716C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30); /* 028A7170 */ cpu->lr = cpu->r[0]; /* 028A7174 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 028A7174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31); /* 028A7178 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A717C */ cpu->r[3] = 0x00000000u; /* 028A7180 */ return; L_028A7184: ; // 0x28a7184 /* 028A7184 */ _t32 = cpu->r[1] + 0x00000014u; /* 028A7184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A7188 */ _t33 = cpu->r[1] + 0x00000008u; /* 028A7188 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 028A718C */ cpu->lr = cpu->r[0]; /* 028A7190 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 028A7190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 028A7194 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7198 */ cpu->r[3] = 0x00000001u; /* 028A719C */ return; } // fn_028A70C0 @ 0x28a70c0 void Gambit_fn_028A70C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A70C0: ; // 0x28a70c0 /* 028A70C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A70C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A70C0 */ cpu->r[1] = _t0; /* 028A70C4 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A70C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A70C8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A70C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A70CC */ _t3 = cpu->r[1] + 0x00000014u; /* 028A70CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A70D0 */ _t4 = cpu->r[3] + 0x00000054u; /* 028A70D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 028A70D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A70D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A70D8 */ _t6 = _t5 & 0x00000001u; /* 028A70D8 */ if (_t6) goto L_028A7168; else goto L_028A70DC; L_028A70DC: ; // 0x28a70dc /* 028A70DC */ _t7 = cpu->r[3] + 0x0000000Cu; /* 028A70DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 028A70E0 */ _t8 = cpu->r[3] + 0x00000010u; /* 028A70E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028A70E4 */ _t9 = cpu->r[31] + 0x00000008u; /* 028A70E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 028A70E8 */ _t10 = cpu->r[31] + 0x00000010u; /* 028A70E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 028A70EC */ _t11 = cpu->r[31] + 0x0000000Cu; /* 028A70EC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 028A70F0 */ _t12 = cpu->r[8] + 0x00000024u; /* 028A70F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 028A70F4 */ _t13 = cpu->r[8] + 0x00000020u; /* 028A70F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 028A70F8 */ _t14 = cpu->r[31] + 0x00000024u; /* 028A70F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A70FC */ _t15 = cpu->r[31] + 0x0000001Cu; /* 028A70FC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 028A7100 */ _t16 = cpu->r[31] + 0x00000020u; /* 028A7100 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]); /* 028A7104 */ _t17 = cpu->r[12] + 0x0000004Cu; /* 028A7104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A7108 */ cpu->ctr = cpu->r[0]; /* 028A710C */ cpu->r[3] = cpu->r[31]; /* 028A7110 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7114 */ _t18 = cpu->r[31] + 0x00000008u; /* 028A7114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 028A7118 */ _t19 = cpu->r[30] + 0x00000038u; /* 028A7118 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 028A711C */ cpu->r[3] = cpu->r[30] + 0x0000002Cu; /* 028A7120 */ cpu->r[4] = cpu->r[31] + cpu->r[8]; /* 028A7124 */ Gambit_fn_02802290(cpu); /* 028A7128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A712C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A712C */ _t21 = _t20 & 0x00000001u; /* 028A712C */ if (_t21) goto L_028A7130; else goto L_028A714C; L_028A7130: ; // 0x28a7130 /* 028A7130 */ _t22 = cpu->r[30] + 0x00000038u; /* 028A7130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 028A7134 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu; /* 028A7138 */ cpu->r[4] = cpu->r[31] + cpu->r[0]; /* 028A713C */ Gambit_fn_02801EBC(cpu); /* 028A7140 */ _t23 = cpu->r[30] + 0x00000034u; /* 028A7140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 028A7144 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028A7148 */ _t24 = cpu->r[30] + 0x00000034u; /* 028A7148 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]); L_028A714C: ; // 0x28a714c /* 028A714C */ _t25 = cpu->r[31] + 0x00000024u; /* 028A714C */ cpu->r[7] = rbrew_read32(cpu->mem, _t25); /* 028A7150 */ _t26 = cpu->r[7] + 0x0000003Cu; /* 028A7150 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 028A7154 */ cpu->ctr = cpu->r[9]; /* 028A7158 */ cpu->r[3] = cpu->r[31]; /* 028A715C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7164 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7164 */ _t28 = _t27 & 0x00000001u; /* 028A7164 */ if (_t28) goto L_028A7168; else goto L_028A7184; L_028A7168: ; // 0x28a7168 /* 028A7168 */ _t29 = cpu->r[1] + 0x00000014u; /* 028A7168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028A716C */ _t30 = cpu->r[1] + 0x00000008u; /* 028A716C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30); /* 028A7170 */ cpu->lr = cpu->r[0]; /* 028A7174 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 028A7174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31); /* 028A7178 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A717C */ cpu->r[3] = 0x00000000u; /* 028A7180 */ return; L_028A7184: ; // 0x28a7184 /* 028A7184 */ _t32 = cpu->r[1] + 0x00000014u; /* 028A7184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A7188 */ _t33 = cpu->r[1] + 0x00000008u; /* 028A7188 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 028A718C */ cpu->lr = cpu->r[0]; /* 028A7190 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 028A7190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 028A7194 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7198 */ cpu->r[3] = 0x00000001u; /* 028A719C */ return; } // fn_028A71A0 @ 0x28a71a0 void Gambit_fn_028A71A0(CPUState* cpu) { 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_028A71A0: ; // 0x28a71a0 /* 028A71A0 */ cpu->r[0] = cpu->lr; /* 028A71A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A71A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A71A4 */ cpu->r[1] = _t0; /* 028A71A8 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A71A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A71AC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A71AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A71B0 */ cpu->r[30] = cpu->r[3]; /* 028A71B4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A71B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A71B8 */ _t4 = cpu->r[30] + 0x0000000Cu; /* 028A71B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 028A71BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A71C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A71C0 */ _t6 = _t5 & 0x00000001u; /* 028A71C0 */ if (_t6) goto L_028A7204; else goto L_028A71C4; L_028A71C4: ; // 0x28a71c4 /* 028A71C4 */ _t7 = cpu->r[30] + 0x00000054u; /* 028A71C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 028A71C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A71CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A71CC */ _t9 = _t8 & 0x00000001u; /* 028A71CC */ if (_t9) goto L_028A7204; else goto L_028A71D0; L_028A71D0: ; // 0x28a71d0 /* 028A71D0 */ _t10 = cpu->r[30] + 0x0000004Cu; /* 028A71D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A71D4 */ _t11 = cpu->r[31] + 0x00000038u; /* 028A71D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A71D8 */ cpu->r[3] = cpu->r[8] + cpu->r[0]; /* 028A71DC */ Gambit_fn_02801EDC(cpu); /* 028A71E0 */ _t12 = cpu->r[31] + 0x00000034u; /* 028A71E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028A71E4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028A71E8 */ _t13 = cpu->r[31] + 0x00000034u; /* 028A71E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]); /* 028A71EC */ _t14 = cpu->r[30] + 0x0000000Cu; /* 028A71EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 028A71F0 */ _t15 = cpu->r[11] + 0x0000001Cu; /* 028A71F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 028A71F4 */ _t16 = cpu->r[30] + 0x00000054u; /* 028A71F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 028A71F8 */ Gambit_fn_028AA1EC(cpu); /* 028A71FC */ cpu->r[9] = 0x00000000u; /* 028A7200 */ _t17 = cpu->r[30] + 0x00000054u; /* 028A7200 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]); L_028A7204: ; // 0x28a7204 /* 028A7204 */ _t18 = cpu->r[30] + 0x00000048u; /* 028A7204 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); /* 028A7208 */ cpu->r[3] = cpu->r[30]; /* 028A720C */ Gambit_fn_028A72D4(cpu); /* 028A7210 */ _t19 = cpu->r[1] + 0x00000014u; /* 028A7210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A7214 */ _t20 = cpu->r[1] + 0x00000008u; /* 028A7214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A7218 */ cpu->lr = cpu->r[0]; /* 028A721C */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028A721C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A7220 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7224 */ return; } // fn_028A71A4 @ 0x28a71a4 void Gambit_fn_028A71A4(CPUState* cpu) { 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_028A71A4: ; // 0x28a71a4 /* 028A71A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A71A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A71A4 */ cpu->r[1] = _t0; /* 028A71A8 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A71A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A71AC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A71AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A71B0 */ cpu->r[30] = cpu->r[3]; /* 028A71B4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A71B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A71B8 */ _t4 = cpu->r[30] + 0x0000000Cu; /* 028A71B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 028A71BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A71C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A71C0 */ _t6 = _t5 & 0x00000001u; /* 028A71C0 */ if (_t6) goto L_028A7204; else goto L_028A71C4; L_028A71C4: ; // 0x28a71c4 /* 028A71C4 */ _t7 = cpu->r[30] + 0x00000054u; /* 028A71C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 028A71C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A71CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A71CC */ _t9 = _t8 & 0x00000001u; /* 028A71CC */ if (_t9) goto L_028A7204; else goto L_028A71D0; L_028A71D0: ; // 0x28a71d0 /* 028A71D0 */ _t10 = cpu->r[30] + 0x0000004Cu; /* 028A71D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A71D4 */ _t11 = cpu->r[31] + 0x00000038u; /* 028A71D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A71D8 */ cpu->r[3] = cpu->r[8] + cpu->r[0]; /* 028A71DC */ Gambit_fn_02801EDC(cpu); /* 028A71E0 */ _t12 = cpu->r[31] + 0x00000034u; /* 028A71E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028A71E4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028A71E8 */ _t13 = cpu->r[31] + 0x00000034u; /* 028A71E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]); /* 028A71EC */ _t14 = cpu->r[30] + 0x0000000Cu; /* 028A71EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 028A71F0 */ _t15 = cpu->r[11] + 0x0000001Cu; /* 028A71F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 028A71F4 */ _t16 = cpu->r[30] + 0x00000054u; /* 028A71F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 028A71F8 */ Gambit_fn_028AA1EC(cpu); /* 028A71FC */ cpu->r[9] = 0x00000000u; /* 028A7200 */ _t17 = cpu->r[30] + 0x00000054u; /* 028A7200 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]); L_028A7204: ; // 0x28a7204 /* 028A7204 */ _t18 = cpu->r[30] + 0x00000048u; /* 028A7204 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); /* 028A7208 */ cpu->r[3] = cpu->r[30]; /* 028A720C */ Gambit_fn_028A72D4(cpu); /* 028A7210 */ _t19 = cpu->r[1] + 0x00000014u; /* 028A7210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A7214 */ _t20 = cpu->r[1] + 0x00000008u; /* 028A7214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A7218 */ cpu->lr = cpu->r[0]; /* 028A721C */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028A721C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A7220 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7224 */ return; } // fn_028A7228 @ 0x28a7228 void Gambit_fn_028A7228(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028A7228: ; // 0x28a7228 /* 028A7228 */ cpu->r[0] = cpu->lr; /* 028A722C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A722C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A722C */ cpu->r[1] = _t0; /* 028A7230 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A7230 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 028A7234 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A7234 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A7238 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A7238 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A723C */ _t4 = cpu->r[1] + 0x00000010u; /* 028A723C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 028A7240 */ cpu->r[31] = cpu->r[3]; /* 028A7244 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A7244 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A7248 */ _t6 = cpu->r[31] + 0x00000054u; /* 028A7248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 028A724C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A7250 */ cpu->r[30] = 0x00000000u; /* 028A7254 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7254 */ _t8 = _t7 & 0x00000001u; /* 028A7254 */ if (_t8) goto L_028A72A8; else goto L_028A7258; L_028A7258: ; // 0x28a7258 /* 028A7258 */ _t9 = cpu->r[31] + 0x0000004Cu; /* 028A7258 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 028A725C */ _t10 = cpu->r[28] + 0x00000038u; /* 028A725C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A7260 */ cpu->r[3] = cpu->r[29] + cpu->r[9]; /* 028A7264 */ Gambit_fn_02801EDC(cpu); /* 028A7268 */ _t11 = cpu->r[28] + 0x00000034u; /* 028A7268 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A726C */ _t12 = cpu->r[28] + 0x00000048u; /* 028A726C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 028A7270 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 028A7274 */ cpu->r[3] = cpu->r[28] + 0x0000003Cu; /* 028A7278 */ cpu->r[4] = cpu->r[29] + cpu->r[10]; /* 028A727C */ _t13 = cpu->r[28] + 0x00000034u; /* 028A727C */ rbrew_write32(cpu->mem, _t13, cpu->r[8]); /* 028A7280 */ Gambit_fn_02801EBC(cpu); /* 028A7284 */ _t14 = cpu->r[28] + 0x00000044u; /* 028A7284 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 028A7288 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A728C */ _t15 = cpu->r[28] + 0x00000044u; /* 028A728C */ rbrew_write32(cpu->mem, _t15, cpu->r[11]); /* 028A7290 */ _t16 = cpu->r[31] + 0x00000054u; /* 028A7290 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 028A7294 */ _t17 = cpu->r[3] + 0x00000024u; /* 028A7294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028A7298 */ _t18 = cpu->r[12] + 0x00000034u; /* 028A7298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028A729C */ cpu->ctr = cpu->r[0]; /* 028A72A0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A72A4 */ _t19 = cpu->r[31] + 0x00000054u; /* 028A72A4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); L_028A72A8: ; // 0x28a72a8 /* 028A72A8 */ _t20 = cpu->r[31] + 0x00000014u; /* 028A72A8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 028A72AC */ cpu->r[0] = 0xFFFFFFFFu; /* 028A72B0 */ _t21 = cpu->r[31] + 0x00000058u; /* 028A72B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A72B4 */ _t22 = cpu->r[1] + 0x00000008u; /* 028A72B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 028A72B8 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028A72B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 028A72BC */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028A72BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A72C0 */ _t25 = cpu->r[1] + 0x00000010u; /* 028A72C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A72C4 */ cpu->lr = cpu->r[0]; /* 028A72C8 */ _t26 = cpu->r[1] + 0x00000014u; /* 028A72C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A72CC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A72D0 */ return; } // fn_028A722C @ 0x28a722c void Gambit_fn_028A722C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028A722C: ; // 0x28a722c /* 028A722C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A722C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A722C */ cpu->r[1] = _t0; /* 028A7230 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A7230 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 028A7234 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A7234 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A7238 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A7238 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A723C */ _t4 = cpu->r[1] + 0x00000010u; /* 028A723C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 028A7240 */ cpu->r[31] = cpu->r[3]; /* 028A7244 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A7244 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A7248 */ _t6 = cpu->r[31] + 0x00000054u; /* 028A7248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 028A724C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A7250 */ cpu->r[30] = 0x00000000u; /* 028A7254 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7254 */ _t8 = _t7 & 0x00000001u; /* 028A7254 */ if (_t8) goto L_028A72A8; else goto L_028A7258; L_028A7258: ; // 0x28a7258 /* 028A7258 */ _t9 = cpu->r[31] + 0x0000004Cu; /* 028A7258 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 028A725C */ _t10 = cpu->r[28] + 0x00000038u; /* 028A725C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A7260 */ cpu->r[3] = cpu->r[29] + cpu->r[9]; /* 028A7264 */ Gambit_fn_02801EDC(cpu); /* 028A7268 */ _t11 = cpu->r[28] + 0x00000034u; /* 028A7268 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A726C */ _t12 = cpu->r[28] + 0x00000048u; /* 028A726C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 028A7270 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 028A7274 */ cpu->r[3] = cpu->r[28] + 0x0000003Cu; /* 028A7278 */ cpu->r[4] = cpu->r[29] + cpu->r[10]; /* 028A727C */ _t13 = cpu->r[28] + 0x00000034u; /* 028A727C */ rbrew_write32(cpu->mem, _t13, cpu->r[8]); /* 028A7280 */ Gambit_fn_02801EBC(cpu); /* 028A7284 */ _t14 = cpu->r[28] + 0x00000044u; /* 028A7284 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 028A7288 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 028A728C */ _t15 = cpu->r[28] + 0x00000044u; /* 028A728C */ rbrew_write32(cpu->mem, _t15, cpu->r[11]); /* 028A7290 */ _t16 = cpu->r[31] + 0x00000054u; /* 028A7290 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 028A7294 */ _t17 = cpu->r[3] + 0x00000024u; /* 028A7294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028A7298 */ _t18 = cpu->r[12] + 0x00000034u; /* 028A7298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028A729C */ cpu->ctr = cpu->r[0]; /* 028A72A0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A72A4 */ _t19 = cpu->r[31] + 0x00000054u; /* 028A72A4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); L_028A72A8: ; // 0x28a72a8 /* 028A72A8 */ _t20 = cpu->r[31] + 0x00000014u; /* 028A72A8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 028A72AC */ cpu->r[0] = 0xFFFFFFFFu; /* 028A72B0 */ _t21 = cpu->r[31] + 0x00000058u; /* 028A72B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A72B4 */ _t22 = cpu->r[1] + 0x00000008u; /* 028A72B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 028A72B8 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028A72B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 028A72BC */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028A72BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A72C0 */ _t25 = cpu->r[1] + 0x00000010u; /* 028A72C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028A72C4 */ cpu->lr = cpu->r[0]; /* 028A72C8 */ _t26 = cpu->r[1] + 0x00000014u; /* 028A72C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A72CC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A72D0 */ return; } // fn_028A72D4 @ 0x28a72d4 void Gambit_fn_028A72D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A72D4: ; // 0x28a72d4 /* 028A72D4 */ cpu->r[0] = cpu->lr; /* 028A72D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A72D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A72D8 */ cpu->r[1] = _t0; /* 028A72DC */ _t1 = cpu->r[1] + 0x00000008u; /* 028A72DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A72E0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A72E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A72E4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A72E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A72E8 */ _t4 = cpu->r[3] + 0x00000050u; /* 028A72E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 028A72EC */ _t5 = cpu->r[12] + 0x0000000Cu; /* 028A72EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A72F0 */ cpu->r[31] = cpu->r[4]; /* 028A72F4 */ cpu->ctr = cpu->r[0]; /* 028A72F8 */ cpu->r[30] = cpu->r[3]; /* 028A72FC */ cpu->r[4] = 0x00000002u; /* 028A7300 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7304 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028A7304 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028A7308 */ _t7 = cpu->r[10] + 0x0000003Cu; /* 028A7308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A730C */ cpu->ctr = cpu->r[0]; /* 028A7310 */ cpu->r[3] = cpu->r[31]; /* 028A7314 */ cpu->r[4] = cpu->r[30]; /* 028A7318 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A731C */ _t8 = cpu->r[1] + 0x00000014u; /* 028A731C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A7320 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A7320 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A7324 */ cpu->lr = cpu->r[0]; /* 028A7328 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A7328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A732C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7330 */ return; } // fn_028A72D8 @ 0x28a72d8 void Gambit_fn_028A72D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A72D8: ; // 0x28a72d8 /* 028A72D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A72D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A72D8 */ cpu->r[1] = _t0; /* 028A72DC */ _t1 = cpu->r[1] + 0x00000008u; /* 028A72DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A72E0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A72E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A72E4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A72E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A72E8 */ _t4 = cpu->r[3] + 0x00000050u; /* 028A72E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 028A72EC */ _t5 = cpu->r[12] + 0x0000000Cu; /* 028A72EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A72F0 */ cpu->r[31] = cpu->r[4]; /* 028A72F4 */ cpu->ctr = cpu->r[0]; /* 028A72F8 */ cpu->r[30] = cpu->r[3]; /* 028A72FC */ cpu->r[4] = 0x00000002u; /* 028A7300 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7304 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028A7304 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028A7308 */ _t7 = cpu->r[10] + 0x0000003Cu; /* 028A7308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A730C */ cpu->ctr = cpu->r[0]; /* 028A7310 */ cpu->r[3] = cpu->r[31]; /* 028A7314 */ cpu->r[4] = cpu->r[30]; /* 028A7318 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A731C */ _t8 = cpu->r[1] + 0x00000014u; /* 028A731C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A7320 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A7320 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A7324 */ cpu->lr = cpu->r[0]; /* 028A7328 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A7328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A732C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7330 */ return; } // fn_028A7334 @ 0x28a7334 void Gambit_fn_028A7334(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A7334: ; // 0x28a7334 /* 028A7334 */ cpu->r[0] = cpu->lr; /* 028A7338 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A7338 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7338 */ cpu->r[1] = _t0; /* 028A733C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A733C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A7340 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A7340 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A7344 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A7344 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A7348 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A7348 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A734C */ cpu->r[29] = cpu->r[3]; /* 028A7350 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A7350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A7354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7358 */ cpu->r[30] = 0x00000000u; /* 028A735C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A735C */ _t7 = _t6 & 0x00000001u; /* 028A735C */ if (_t7) goto L_028A7368; else goto L_028A7360; L_028A7360: ; // 0x28a7360 /* 028A7360 */ _t8 = cpu->r[29] + 0x00000024u; /* 028A7360 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028A7364 */ _t9 = cpu->r[10] + 0x00000000u; /* 028A7364 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); L_028A7368: ; // 0x28a7368 /* 028A7368 */ _t10 = cpu->r[30] + 0x00000050u; /* 028A7368 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A736C */ _t11 = cpu->r[11] + 0x0000003Cu; /* 028A736C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 028A7370 */ cpu->ctr = cpu->r[10]; /* 028A7374 */ cpu->r[3] = cpu->r[30]; /* 028A7378 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A737C */ cpu->r[31] = cpu->r[3]; /* 028A737C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A7380 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7380 */ _t13 = _t12 & 0x00000001u; /* 028A7380 */ if (_t13) goto L_028A73E4; else goto L_028A7384; L_028A7384: ; // 0x28a7384 /* 028A7384 */ _t14 = cpu->r[30] + 0x00000050u; /* 028A7384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A7388 */ _t15 = cpu->r[12] + 0x00000034u; /* 028A7388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028A738C */ cpu->ctr = cpu->r[0]; /* 028A7390 */ cpu->r[3] = cpu->r[30]; /* 028A7394 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7398 */ _t16 = cpu->r[29] + 0x00000014u; /* 028A7398 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 028A739C */ cpu->r[11] = 0x00000000u; /* 028A73A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A73A4 */ _t17 = cpu->r[29] + 0x0000001Cu; /* 028A73A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]); /* 028A73A8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A73A8 */ _t19 = _t18 & 0x00000001u; /* 028A73A8 */ if (_t19) goto L_028A73BC; else goto L_028A73AC; L_028A73AC: ; // 0x28a73ac /* 028A73AC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A73AC */ _t21 = _t20 & 0x00000001u; /* 028A73AC */ if (_t21) goto L_028A73B0; else goto L_028A73E0; L_028A73B0: ; // 0x28a73b0 /* 028A73B0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028A73B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A73B4 */ _t22 = cpu->r[29] + 0x00000014u; /* 028A73B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]); /* 028A73B8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A73B8 */ _t24 = _t23 & 0x00000001u; /* 028A73B8 */ if (_t24) goto L_028A73E0; else goto L_028A73BC; L_028A73BC: ; // 0x28a73bc /* 028A73BC */ _t25 = cpu->r[29] + 0x00000050u; /* 028A73BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t25); /* 028A73C0 */ _t26 = cpu->r[12] + 0x0000002Cu; /* 028A73C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028A73C4 */ cpu->ctr = cpu->r[0]; /* 028A73C8 */ cpu->r[3] = cpu->r[29]; /* 028A73CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A73D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A73D4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A73D4 */ _t28 = _t27 & 0x00000001u; /* 028A73D4 */ if (_t28) goto L_028A73E4; else goto L_028A73D8; L_028A73D8: ; // 0x28a73d8 /* 028A73D8 */ cpu->r[31] = 0x00000000u; /* 028A73DC */ goto L_028A73E4; L_028A73E0: ; // 0x28a73e0 /* 028A73E0 */ cpu->r[31] = 0x00000001u; L_028A73E4: ; // 0x28a73e4 /* 028A73E4 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 028A73E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29); /* 028A73E8 */ _t30 = cpu->r[1] + 0x0000001Cu; /* 028A73E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 028A73EC */ cpu->r[3] = cpu->r[31]; /* 028A73F0 */ _t31 = cpu->r[1] + 0x00000010u; /* 028A73F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31); /* 028A73F4 */ cpu->lr = cpu->r[0]; /* 028A73F8 */ _t32 = cpu->r[1] + 0x00000014u; /* 028A73F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 028A73FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A7400 */ return; } // fn_028A7338 @ 0x28a7338 void Gambit_fn_028A7338(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A7338: ; // 0x28a7338 /* 028A7338 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A7338 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7338 */ cpu->r[1] = _t0; /* 028A733C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A733C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A7340 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A7340 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A7344 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A7344 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A7348 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A7348 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A734C */ cpu->r[29] = cpu->r[3]; /* 028A7350 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A7350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A7354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7358 */ cpu->r[30] = 0x00000000u; /* 028A735C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A735C */ _t7 = _t6 & 0x00000001u; /* 028A735C */ if (_t7) goto L_028A7368; else goto L_028A7360; L_028A7360: ; // 0x28a7360 /* 028A7360 */ _t8 = cpu->r[29] + 0x00000024u; /* 028A7360 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028A7364 */ _t9 = cpu->r[10] + 0x00000000u; /* 028A7364 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); L_028A7368: ; // 0x28a7368 /* 028A7368 */ _t10 = cpu->r[30] + 0x00000050u; /* 028A7368 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A736C */ _t11 = cpu->r[11] + 0x0000003Cu; /* 028A736C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 028A7370 */ cpu->ctr = cpu->r[10]; /* 028A7374 */ cpu->r[3] = cpu->r[30]; /* 028A7378 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A737C */ cpu->r[31] = cpu->r[3]; /* 028A737C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A7380 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7380 */ _t13 = _t12 & 0x00000001u; /* 028A7380 */ if (_t13) goto L_028A73E4; else goto L_028A7384; L_028A7384: ; // 0x28a7384 /* 028A7384 */ _t14 = cpu->r[30] + 0x00000050u; /* 028A7384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A7388 */ _t15 = cpu->r[12] + 0x00000034u; /* 028A7388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028A738C */ cpu->ctr = cpu->r[0]; /* 028A7390 */ cpu->r[3] = cpu->r[30]; /* 028A7394 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7398 */ _t16 = cpu->r[29] + 0x00000014u; /* 028A7398 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 028A739C */ cpu->r[11] = 0x00000000u; /* 028A73A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A73A4 */ _t17 = cpu->r[29] + 0x0000001Cu; /* 028A73A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]); /* 028A73A8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A73A8 */ _t19 = _t18 & 0x00000001u; /* 028A73A8 */ if (_t19) goto L_028A73BC; else goto L_028A73AC; L_028A73AC: ; // 0x28a73ac /* 028A73AC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A73AC */ _t21 = _t20 & 0x00000001u; /* 028A73AC */ if (_t21) goto L_028A73B0; else goto L_028A73E0; L_028A73B0: ; // 0x28a73b0 /* 028A73B0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028A73B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A73B4 */ _t22 = cpu->r[29] + 0x00000014u; /* 028A73B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]); /* 028A73B8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A73B8 */ _t24 = _t23 & 0x00000001u; /* 028A73B8 */ if (_t24) goto L_028A73E0; else goto L_028A73BC; L_028A73BC: ; // 0x28a73bc /* 028A73BC */ _t25 = cpu->r[29] + 0x00000050u; /* 028A73BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t25); /* 028A73C0 */ _t26 = cpu->r[12] + 0x0000002Cu; /* 028A73C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028A73C4 */ cpu->ctr = cpu->r[0]; /* 028A73C8 */ cpu->r[3] = cpu->r[29]; /* 028A73CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A73D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A73D4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A73D4 */ _t28 = _t27 & 0x00000001u; /* 028A73D4 */ if (_t28) goto L_028A73E4; else goto L_028A73D8; L_028A73D8: ; // 0x28a73d8 /* 028A73D8 */ cpu->r[31] = 0x00000000u; /* 028A73DC */ goto L_028A73E4; L_028A73E0: ; // 0x28a73e0 /* 028A73E0 */ cpu->r[31] = 0x00000001u; L_028A73E4: ; // 0x28a73e4 /* 028A73E4 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 028A73E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29); /* 028A73E8 */ _t30 = cpu->r[1] + 0x0000001Cu; /* 028A73E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 028A73EC */ cpu->r[3] = cpu->r[31]; /* 028A73F0 */ _t31 = cpu->r[1] + 0x00000010u; /* 028A73F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31); /* 028A73F4 */ cpu->lr = cpu->r[0]; /* 028A73F8 */ _t32 = cpu->r[1] + 0x00000014u; /* 028A73F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 028A73FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A7400 */ return; } // fn_028A7404 @ 0x28a7404 void Gambit_fn_028A7404(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028A7404: ; // 0x28a7404 /* 028A7404 */ _t0 = cpu->r[1] + 0xFFFFFFA8u; /* 028A7404 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7404 */ cpu->r[1] = _t0; /* 028A7408 */ /* nop */ /* 028A740C */ _t1 = cpu->r[1] + 0x00000038u; /* 028A740C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 028A7410 */ cpu->r[0] = cpu->lr; /* 028A7414 */ _t2 = cpu->r[1] + 0x00000048u; /* 028A7414 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 028A7418 */ /* nop */ /* 028A741C */ _t3 = cpu->r[1] + 0x00000040u; /* 028A741C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 028A7420 */ /* nop */ /* 028A7424 */ _t4 = cpu->r[1] + 0x00000050u; /* 028A7424 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 028A7428 */ _t5 = cpu->r[1] + 0x0000005Cu; /* 028A7428 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A742C */ cpu->r[27] = cpu->r[3]; /* 028A7430 */ _t6 = cpu->r[27] + 0x00000010u; /* 028A7430 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A7434 */ cpu->r[30] = 0x00000000u; /* 028A7438 */ Gambit_fn_028A8CA4(cpu); /* 028A743C */ _t7 = cpu->r[3] + 0x00000004u; /* 028A743C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028A7440 */ cpu->r[8] = 0x10130000u; /* 028A7444 */ _t8 = cpu->r[3] + 0x00000008u; /* 028A7444 */ cpu->r[25] = rbrew_read32(cpu->mem, _t8); /* 028A7448 */ _t9 = cpu->r[27] + 0x0000000Cu; /* 028A7448 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 028A744C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[25]); /* 028A7450 */ _t10 = cpu->r[8] + 0x00007A44u; /* 028A7450 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10); /* 028A7454 */ _t11 = cpu->r[10] + 0x00000020u; /* 028A7454 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 028A7458 */ cpu->r[29] = cpu->r[31]; /* 028A745C */ cpu->f[30] = cpu->f[31]; /* 028A7460 */ _t12 = cpu->r[11] + 0x0000000Cu; /* 028A7460 */ cpu->r[26] = rbrew_read32(cpu->mem, _t12); /* 028A7464 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A7464 */ _t14 = _t13 & 0x00000001u; /* 028A7464 */ if (_t14) goto L_028A7598; else goto L_028A7468; L_028A7468: ; // 0x28a7468 /* 028A7468 */ cpu->r[3] = cpu->r[26]; /* 028A746C */ cpu->r[4] = cpu->r[29]; /* 028A7470 */ Gambit_fn_028AD640(cpu); /* 028A7474 */ _t15 = cpu->r[3] + 0x0000001Cu; /* 028A7474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 028A7478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A747C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A747C */ _t17 = _t16 & 0x00000001u; /* 028A747C */ if (_t17) goto L_028A7488; else goto L_028A7480; L_028A7480: ; // 0x28a7480 /* 028A7480 */ _t18 = cpu->r[9] + 0x00000000u; /* 028A7480 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18); /* 028A7484 */ cpu->f[30] = cpu->f[30] + cpu->f[12]; L_028A7488: ; // 0x28a7488 /* 028A7488 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A748C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]); /* 028A7490 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A7490 */ _t20 = _t19 & 0x00000001u; /* 028A7490 */ if (_t20) goto L_028A7494; else goto L_028A7468; L_028A7494: ; // 0x28a7494 /* 028A7494 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]); /* 028A7498 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A7498 */ _t22 = _t21 & 0x00000001u; /* 028A7498 */ if (_t22) goto L_028A749C; else goto L_028A7598; L_028A749C: ; // 0x28a749c /* 028A749C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 028A74A0 */ Gambit_fn_02830100(cpu); /* 028A74A4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 028A74A8 */ Gambit_fn_02830138(cpu); /* 028A74AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 028A74B0 */ cpu->r[10] = 0x10130000u; /* 028A74B4 */ cpu->r[0] = cpu->r[0] | 0x3F800000u; /* 028A74B8 */ _t23 = cpu->r[10] + 0x00007A48u; /* 028A74B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23); /* 028A74BC */ _t24 = cpu->r[1] + 0x00000008u; /* 028A74BC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 028A74C0 */ _t25 = cpu->r[1] + 0x00000008u; /* 028A74C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25); /* 028A74C4 */ cpu->f[10] = cpu->f[11] - cpu->f[0]; /* 028A74C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[25]); /* 028A74CC */ cpu->f[30] = cpu->f[10] * cpu->f[30]; /* 028A74D0 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A74D0 */ _t27 = _t26 & 0x00000001u; /* 028A74D0 */ if (_t27) goto L_028A7598; else goto L_028A74D4; L_028A74D4: ; // 0x28a74d4 /* 028A74D4 */ cpu->r[3] = cpu->r[26]; /* 028A74D8 */ cpu->r[4] = cpu->r[31]; /* 028A74DC */ Gambit_fn_028AD640(cpu); /* 028A74E0 */ cpu->r[28] = cpu->r[3]; /* 028A74E4 */ _t28 = cpu->r[28] + 0x0000001Cu; /* 028A74E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 028A74E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A74EC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A74EC */ _t30 = _t29 & 0x00000001u; /* 028A74EC */ if (_t30) goto L_028A758C; else goto L_028A74F0; L_028A74F0: ; // 0x28a74f0 /* 028A74F0 */ _t31 = cpu->r[10] + 0x00000000u; /* 028A74F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31); /* 028A74F4 */ cpu->f[31] = cpu->f[31] + cpu->f[13]; /* 028A74F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]); /* 028A74FC */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A74FC */ _t33 = _t32 & 0x00000001u; /* 028A74FC */ if (_t33) goto L_028A7500; else goto L_028A758C; L_028A7500: ; // 0x28a7500 /* 028A7500 */ _t34 = cpu->r[27] + 0x00000010u; /* 028A7500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34); /* 028A7504 */ _t35 = cpu->r[27] + 0x0000000Cu; /* 028A7504 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35); /* 028A7508 */ Gambit_fn_028ACD90(cpu); /* 028A750C */ _t36 = cpu->r[3] + 0x00000004u; /* 028A750C */ cpu->r[12] = rbrew_read32(cpu->mem, _t36); /* 028A7510 */ _t37 = cpu->r[12] + 0x00000014u; /* 028A7510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A7514 */ cpu->ctr = cpu->r[0]; /* 028A7518 */ cpu->r[31] = cpu->r[3]; /* 028A751C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7520 */ _t38 = cpu->r[27] + 0x0000000Cu; /* 028A7520 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 028A7524 */ _t39 = cpu->r[31] + 0x00000000u; /* 028A7524 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39); /* 028A7528 */ cpu->r[4] = cpu->r[28]; /* 028A752C */ Gambit_fn_028ACD90(cpu); /* 028A7530 */ _t40 = cpu->r[3] + 0x00000004u; /* 028A7530 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40); /* 028A7534 */ _t41 = cpu->r[8] + 0x00000014u; /* 028A7534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 028A7538 */ cpu->ctr = cpu->r[0]; /* 028A753C */ cpu->r[31] = cpu->r[3]; /* 028A7540 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7544 */ _t42 = cpu->r[27] + 0x00000010u; /* 028A7544 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42); /* 028A7548 */ cpu->r[5] = 0x10130000u; /* 028A754C */ _t43 = cpu->r[31] + 0x00000000u; /* 028A754C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 028A7550 */ cpu->r[5] = cpu->r[5] + 0x00007A4Cu; /* 028A7554 */ _t44 = cpu->r[27] + 0x0000004Cu; /* 028A7554 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44); /* 028A7558 */ cpu->r[6] = cpu->r[29]; /* 028A755C */ _t45 = cpu->r[27] + 0x0000000Cu; /* 028A755C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45); /* 028A7560 */ _t46 = cpu->r[11] + 0x00000000u; /* 028A7560 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 028A7564 */ _t47 = cpu->r[28] + 0x00000000u; /* 028A7564 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47); /* 028A7568 */ _t48 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7568 */ _t49 = _t48 & 0x00000001u; /* 028A7568 */ if (_t49) goto L_028A756C; // else: addr-0 trap, fall-through L_028A756C: ; // 0x28a756c /* 028A756C */ Gambit_fn_028AD24C(cpu); /* 028A7570 */ cpu->r[3] = cpu->r[27]; /* 028A7574 */ cpu->r[4] = cpu->r[28]; /* 028A7578 */ Gambit_fn_028A5A44(cpu); /* 028A757C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7580 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7580 */ _t51 = _t50 & 0x00000001u; /* 028A7580 */ if (_t51) goto L_028A7598; else goto L_028A7584; L_028A7584: ; // 0x28a7584 /* 028A7584 */ cpu->r[30] = 0x00000001u; /* 028A7588 */ goto L_028A7598; L_028A758C: ; // 0x28a758c /* 028A758C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A7590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[25]); /* 028A7594 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A7594 */ _t53 = _t52 & 0x00000001u; /* 028A7594 */ if (_t53) goto L_028A7598; else goto L_028A74D4; L_028A7598: ; // 0x28a7598 /* 028A7598 */ cpu->r[3] = cpu->r[30]; /* 028A759C */ /* nop */ /* 028A75A0 */ _t54 = cpu->r[1] + 0x00000040u; /* 028A75A0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t54); /* 028A75A4 */ _t55 = cpu->r[1] + 0x00000050u; /* 028A75A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t55); /* 028A75A8 */ _t56 = cpu->r[1] + 0x00000038u; /* 028A75A8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t56); /* 028A75AC */ _t57 = cpu->r[1] + 0x00000048u; /* 028A75AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t57); /* 028A75B0 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A75B0 */ _t59 = _t58 & 0x00000001u; /* 028A75B0 */ if (_t59) goto L_028A75B4; // else: addr-0 trap, fall-through L_028A75B4: ; // 0x28a75b4 /* 028A75B4 */ _t60 = cpu->r[1] + 0x0000005Cu; /* 028A75B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 028A75B8 */ cpu->lr = cpu->r[0]; /* 028A75BC */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 028A75C0 */ return; } // fn_028A75C4 @ 0x28a75c4 void Gambit_fn_028A75C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A75C4: ; // 0x28a75c4 /* 028A75C4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u; /* 028A75C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A75C4 */ cpu->r[1] = _t0; /* 028A75C8 */ /* nop */ /* 028A75CC */ _t1 = cpu->r[1] + 0x00000040u; /* 028A75CC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 028A75D0 */ /* nop */ /* 028A75D4 */ cpu->r[0] = cpu->lr; /* 028A75D8 */ _t2 = cpu->r[1] + 0x00000048u; /* 028A75D8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[30]); /* 028A75DC */ _t3 = cpu->r[1] + 0x00000050u; /* 028A75DC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]); /* 028A75E0 */ _t4 = cpu->r[1] + 0x00000064u; /* 028A75E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A75E4 */ /* nop */ /* 028A75E8 */ _t5 = cpu->r[1] + 0x00000058u; /* 028A75E8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]); /* 028A75EC */ cpu->r[27] = cpu->r[3]; /* 028A75F0 */ _t6 = cpu->r[27] + 0x00000010u; /* 028A75F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A75F4 */ cpu->r[30] = 0x00000000u; /* 028A75F8 */ Gambit_fn_028A8CA4(cpu); /* 028A75FC */ _t7 = cpu->r[3] + 0x00000004u; /* 028A75FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028A7600 */ _t8 = cpu->r[3] + 0x00000008u; /* 028A7600 */ cpu->r[26] = rbrew_read32(cpu->mem, _t8); /* 028A7604 */ _t9 = cpu->r[27] + 0x00000010u; /* 028A7604 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 028A7608 */ _t10 = cpu->r[27] + 0x0000000Cu; /* 028A7608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 028A760C */ _t11 = cpu->r[10] + 0x00000000u; /* 028A760C */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 028A7610 */ Gambit_fn_028ACB3C(cpu); /* 028A7614 */ cpu->r[12] = 0x10130000u; /* 028A7618 */ _t12 = cpu->r[27] + 0x0000000Cu; /* 028A7618 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 028A761C */ _t13 = cpu->r[12] + 0x00007A44u; /* 028A761C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13); /* 028A7620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[26]); /* 028A7624 */ _t14 = cpu->r[11] + 0x00000020u; /* 028A7624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A7628 */ cpu->f[30] = cpu->f[31]; /* 028A762C */ cpu->r[24] = cpu->r[3]; /* 028A7630 */ cpu->r[28] = cpu->r[31]; /* 028A7634 */ _t15 = cpu->r[12] + 0x0000000Cu; /* 028A7634 */ cpu->r[25] = rbrew_read32(cpu->mem, _t15); /* 028A7638 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A7638 */ _t17 = _t16 & 0x00000001u; /* 028A7638 */ if (_t17) goto L_028A77BC; else goto L_028A763C; L_028A763C: ; // 0x28a763c /* 028A763C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[26]); /* 028A7640 */ /* nop */ /* 028A7644 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 028A7648 */ cpu->r[29] = cpu->r[29] ^ 0x00000001u; L_028A764C: ; // 0x28a764c /* 028A764C */ cpu->r[3] = cpu->r[25]; /* 028A7650 */ cpu->r[4] = cpu->r[28]; /* 028A7654 */ Gambit_fn_028AD640(cpu); /* 028A7658 */ cpu->r[9] = cpu->r[3]; /* 028A765C */ _t18 = cpu->r[9] + 0x0000001Cu; /* 028A765C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A7660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A7664 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7664 */ _t20 = _t19 & 0x00000001u; /* 028A7664 */ if (_t20) goto L_028A7684; else goto L_028A7668; L_028A7668: ; // 0x28a7668 /* 028A7668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A766C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A766C */ _t22 = _t21 & 0x00000001u; /* 028A766C */ if (_t22) goto L_028A7670; else goto L_028A767C; L_028A7670: ; // 0x28a7670 /* 028A7670 */ _t23 = cpu->r[9] + 0x00000000u; /* 028A7670 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23); /* 028A7674 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]); /* 028A7678 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7678 */ _t25 = _t24 & 0x00000001u; /* 028A7678 */ if (_t25) goto L_028A7684; else goto L_028A767C; L_028A767C: ; // 0x28a767c /* 028A767C */ _t26 = cpu->r[11] + 0x00000000u; /* 028A767C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26); /* 028A7680 */ cpu->f[30] = cpu->f[30] + cpu->f[12]; L_028A7684: ; // 0x28a7684 /* 028A7684 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 028A7688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[26]); /* 028A768C */ _t27 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A768C */ _t28 = _t27 & 0x00000001u; /* 028A768C */ if (_t28) goto L_028A7690; else goto L_028A764C; L_028A7690: ; // 0x28a7690 /* 028A7690 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]); /* 028A7694 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A7694 */ _t30 = _t29 & 0x00000001u; /* 028A7694 */ if (_t30) goto L_028A7698; else goto L_028A77BC; L_028A7698: ; // 0x28a7698 /* 028A7698 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 028A769C */ Gambit_fn_02830100(cpu); /* 028A76A0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 028A76A4 */ Gambit_fn_02830138(cpu); /* 028A76A8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 028A76AC */ cpu->r[11] = 0x10130000u; /* 028A76B0 */ cpu->r[0] = cpu->r[7] | 0x3F800000u; /* 028A76B4 */ _t31 = cpu->r[11] + 0x00007A48u; /* 028A76B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31); /* 028A76B8 */ _t32 = cpu->r[1] + 0x00000008u; /* 028A76B8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 028A76BC */ _t33 = cpu->r[1] + 0x00000008u; /* 028A76BC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33); /* 028A76C0 */ cpu->f[10] = cpu->f[11] - cpu->f[0]; /* 028A76C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[26]); /* 028A76C8 */ cpu->f[30] = cpu->f[10] * cpu->f[30]; /* 028A76CC */ _t34 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A76CC */ _t35 = _t34 & 0x00000001u; /* 028A76CC */ if (_t35) goto L_028A77BC; else goto L_028A76D0; L_028A76D0: ; // 0x28a76d0 /* 028A76D0 */ cpu->r[3] = cpu->r[25]; /* 028A76D4 */ cpu->r[4] = cpu->r[31]; /* 028A76D8 */ Gambit_fn_028AD640(cpu); /* 028A76DC */ cpu->r[28] = cpu->r[3]; /* 028A76E0 */ _t36 = cpu->r[28] + 0x0000001Cu; /* 028A76E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36); /* 028A76E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A76E8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A76E8 */ _t38 = _t37 & 0x00000001u; /* 028A76E8 */ if (_t38) goto L_028A77B0; else goto L_028A76EC; L_028A76EC: ; // 0x28a76ec /* 028A76EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A76F0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A76F0 */ _t40 = _t39 & 0x00000001u; /* 028A76F0 */ if (_t40) goto L_028A76F4; else goto L_028A7700; L_028A76F4: ; // 0x28a76f4 /* 028A76F4 */ _t41 = cpu->r[28] + 0x00000000u; /* 028A76F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 028A76F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]); /* 028A76FC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A76FC */ _t43 = _t42 & 0x00000001u; /* 028A76FC */ if (_t43) goto L_028A77B0; else goto L_028A7700; L_028A7700: ; // 0x28a7700 /* 028A7700 */ _t44 = cpu->r[6] + 0x00000000u; /* 028A7700 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44); /* 028A7704 */ cpu->f[31] = cpu->f[31] + cpu->f[13]; /* 028A7708 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]); /* 028A770C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A770C */ _t46 = _t45 & 0x00000001u; /* 028A770C */ if (_t46) goto L_028A7710; else goto L_028A77B0; L_028A7710: ; // 0x28a7710 /* 028A7710 */ _t47 = cpu->r[27] + 0x00000010u; /* 028A7710 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47); /* 028A7714 */ _t48 = cpu->r[27] + 0x0000000Cu; /* 028A7714 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48); /* 028A7718 */ Gambit_fn_028ACD90(cpu); /* 028A771C */ _t49 = cpu->r[3] + 0x00000004u; /* 028A771C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49); /* 028A7720 */ _t50 = cpu->r[12] + 0x00000014u; /* 028A7720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 028A7724 */ cpu->ctr = cpu->r[0]; /* 028A7728 */ cpu->r[31] = cpu->r[3]; /* 028A772C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7730 */ _t51 = cpu->r[27] + 0x0000000Cu; /* 028A7730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51); /* 028A7734 */ _t52 = cpu->r[31] + 0x00000000u; /* 028A7734 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52); /* 028A7738 */ cpu->r[4] = cpu->r[28]; /* 028A773C */ Gambit_fn_028ACD90(cpu); /* 028A7740 */ _t53 = cpu->r[3] + 0x00000004u; /* 028A7740 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53); /* 028A7744 */ _t54 = cpu->r[7] + 0x00000014u; /* 028A7744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 028A7748 */ cpu->ctr = cpu->r[0]; /* 028A774C */ cpu->r[31] = cpu->r[3]; /* 028A7750 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7754 */ _t55 = cpu->r[27] + 0x00000010u; /* 028A7754 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55); /* 028A7758 */ _t56 = cpu->r[27] + 0x0000000Cu; /* 028A7758 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56); /* 028A775C */ _t57 = cpu->r[9] + 0x00000000u; /* 028A775C */ cpu->r[7] = rbrew_read32(cpu->mem, _t57); /* 028A7760 */ cpu->r[6] = cpu->r[29]; /* 028A7764 */ _t58 = cpu->r[31] + 0x00000000u; /* 028A7764 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58); /* 028A7768 */ _t59 = cpu->r[28] + 0x00000000u; /* 028A7768 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59); /* 028A776C */ cpu->r[5] = 0x10130000u; /* 028A7770 */ _t60 = cpu->r[27] + 0x0000004Cu; /* 028A7770 */ cpu->r[4] = rbrew_read32(cpu->mem, _t60); /* 028A7774 */ cpu->r[5] = cpu->r[5] + 0x00007A60u; /* 028A7778 */ _t61 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7778 */ _t62 = _t61 & 0x00000001u; /* 028A7778 */ if (_t62) goto L_028A777C; // else: addr-0 trap, fall-through L_028A777C: ; // 0x28a777c /* 028A777C */ Gambit_fn_028AD24C(cpu); /* 028A7780 */ cpu->r[3] = cpu->r[27]; /* 028A7784 */ cpu->r[4] = cpu->r[28]; /* 028A7788 */ Gambit_fn_028A5A44(cpu); /* 028A778C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7790 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7790 */ _t64 = _t63 & 0x00000001u; /* 028A7790 */ if (_t64) goto L_028A77BC; else goto L_028A7794; L_028A7794: ; // 0x28a7794 /* 028A7794 */ _t65 = cpu->r[27] + 0x00000010u; /* 028A7794 */ cpu->r[5] = rbrew_read32(cpu->mem, _t65); /* 028A7798 */ _t66 = cpu->r[27] + 0x0000000Cu; /* 028A7798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66); /* 028A779C */ _t67 = cpu->r[5] + 0x00000000u; /* 028A779C */ cpu->r[4] = rbrew_read32(cpu->mem, _t67); /* 028A77A0 */ _t68 = cpu->r[28] + 0x00000000u; /* 028A77A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t68); /* 028A77A4 */ Gambit_fn_028ACA9C(cpu); /* 028A77A8 */ cpu->r[30] = 0x00000001u; /* 028A77AC */ goto L_028A77BC; L_028A77B0: ; // 0x28a77b0 /* 028A77B0 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028A77B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[26]); /* 028A77B8 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A77B8 */ _t70 = _t69 & 0x00000001u; /* 028A77B8 */ if (_t70) goto L_028A77BC; else goto L_028A76D0; L_028A77BC: ; // 0x28a77bc /* 028A77BC */ cpu->r[3] = cpu->r[30]; /* 028A77C0 */ /* nop */ /* 028A77C4 */ _t71 = cpu->r[1] + 0x00000048u; /* 028A77C4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t71); /* 028A77C8 */ _t72 = cpu->r[1] + 0x00000058u; /* 028A77C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t72); /* 028A77CC */ _t73 = cpu->r[1] + 0x00000040u; /* 028A77CC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t73); /* 028A77D0 */ _t74 = cpu->r[1] + 0x00000050u; /* 028A77D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t74); /* 028A77D4 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A77D4 */ _t76 = _t75 & 0x00000001u; /* 028A77D4 */ if (_t76) goto L_028A77D8; // else: addr-0 trap, fall-through L_028A77D8: ; // 0x28a77d8 /* 028A77D8 */ _t77 = cpu->r[1] + 0x00000064u; /* 028A77D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 028A77DC */ cpu->lr = cpu->r[0]; /* 028A77E0 */ cpu->r[1] = cpu->r[1] + 0x00000060u; /* 028A77E4 */ return; } // fn_028A77E8 @ 0x28a77e8 void Gambit_fn_028A77E8(CPUState* cpu) { uint32_t _t0, _t1, _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_028A77E8: ; // 0x28a77e8 /* 028A77E8 */ cpu->r[0] = cpu->lr; /* 028A77EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A77EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A77EC */ cpu->r[1] = _t0; /* 028A77F0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A77F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A77F4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A77F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A77F8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A77F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A77FC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A77FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A7800 */ cpu->r[29] = cpu->r[3]; /* 028A7804 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A7804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A7808 */ cpu->r[30] = 0x00000000u; /* 028A780C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A7810 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7810 */ _t7 = _t6 & 0x00000001u; /* 028A7810 */ if (_t7) goto L_028A7814; else goto L_028A7864; L_028A7814: ; // 0x28a7814 /* 028A7814 */ cpu->r[31] = 0x00000000u; L_028A7818: ; // 0x28a7818 /* 028A7818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A781C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A781C */ _t9 = _t8 & 0x00000001u; /* 028A781C */ if (_t9) goto L_028A7820; else goto L_028A7854; L_028A7820: ; // 0x28a7820 /* 028A7820 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A7820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A7824 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A7824 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A7828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A782C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A782C */ _t13 = _t12 & 0x00000001u; /* 028A782C */ if (_t13) goto L_028A7854; else goto L_028A7830; L_028A7830: ; // 0x28a7830 /* 028A7830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A7834 */ cpu->r[3] = 0x00000000u; /* 028A7838 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7838 */ _t15 = _t14 & 0x00000001u; /* 028A7838 */ if (_t15) goto L_028A783C; else goto L_028A7840; L_028A783C: ; // 0x28a783c /* 028A783C */ cpu->r[3] = cpu->r[8]; L_028A7840: ; // 0x28a7840 /* 028A7840 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A7840 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A7844 */ _t17 = cpu->r[10] + 0x0000001Cu; /* 028A7844 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A7848 */ cpu->ctr = cpu->r[11]; /* 028A784C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7850 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A7850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A7854: ; // 0x28a7854 /* 028A7854 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A7858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A785C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A7860 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7860 */ _t20 = _t19 & 0x00000001u; /* 028A7860 */ if (_t20) goto L_028A7818; else goto L_028A7864; L_028A7864: ; // 0x28a7864 /* 028A7864 */ cpu->r[0] = 0x00000000u; /* 028A7868 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A7868 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A786C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A786C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A7870 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A7870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A7874 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A7874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A7878 */ cpu->lr = cpu->r[0]; /* 028A787C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A787C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A7880 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A7884 */ return; } // fn_028A77EC @ 0x28a77ec void Gambit_fn_028A77EC(CPUState* cpu) { uint32_t _t0, _t1, _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_028A77EC: ; // 0x28a77ec /* 028A77EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A77EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A77EC */ cpu->r[1] = _t0; /* 028A77F0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A77F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A77F4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A77F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A77F8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A77F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A77FC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A77FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A7800 */ cpu->r[29] = cpu->r[3]; /* 028A7804 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A7804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A7808 */ cpu->r[30] = 0x00000000u; /* 028A780C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A7810 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7810 */ _t7 = _t6 & 0x00000001u; /* 028A7810 */ if (_t7) goto L_028A7814; else goto L_028A7864; L_028A7814: ; // 0x28a7814 /* 028A7814 */ cpu->r[31] = 0x00000000u; L_028A7818: ; // 0x28a7818 /* 028A7818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A781C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A781C */ _t9 = _t8 & 0x00000001u; /* 028A781C */ if (_t9) goto L_028A7820; else goto L_028A7854; L_028A7820: ; // 0x28a7820 /* 028A7820 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A7820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A7824 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A7824 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A7828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A782C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A782C */ _t13 = _t12 & 0x00000001u; /* 028A782C */ if (_t13) goto L_028A7854; else goto L_028A7830; L_028A7830: ; // 0x28a7830 /* 028A7830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A7834 */ cpu->r[3] = 0x00000000u; /* 028A7838 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7838 */ _t15 = _t14 & 0x00000001u; /* 028A7838 */ if (_t15) goto L_028A783C; else goto L_028A7840; L_028A783C: ; // 0x28a783c /* 028A783C */ cpu->r[3] = cpu->r[8]; L_028A7840: ; // 0x28a7840 /* 028A7840 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A7840 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A7844 */ _t17 = cpu->r[10] + 0x0000001Cu; /* 028A7844 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A7848 */ cpu->ctr = cpu->r[11]; /* 028A784C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7850 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A7850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A7854: ; // 0x28a7854 /* 028A7854 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A7858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A785C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A7860 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7860 */ _t20 = _t19 & 0x00000001u; /* 028A7860 */ if (_t20) goto L_028A7818; else goto L_028A7864; L_028A7864: ; // 0x28a7864 /* 028A7864 */ cpu->r[0] = 0x00000000u; /* 028A7868 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A7868 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A786C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A786C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A7870 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A7870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A7874 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A7874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A7878 */ cpu->lr = cpu->r[0]; /* 028A787C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A787C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A7880 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A7884 */ return; } // fn_028A7888 @ 0x28a7888 void Gambit_fn_028A7888(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A7888: ; // 0x28a7888 /* 028A7888 */ cpu->r[0] = cpu->lr; /* 028A788C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A788C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A788C */ cpu->r[1] = _t0; /* 028A7890 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A7890 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A7894 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A7894 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A7898 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A7898 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A789C */ _t4 = cpu->r[1] + 0x00000014u; /* 028A789C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A78A0 */ cpu->r[28] = cpu->r[3]; /* 028A78A4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A78A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A78A8 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A78A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A78AC */ cpu->r[29] = 0x00000000u; /* 028A78B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A78B4 */ cpu->r[30] = cpu->r[4]; /* 028A78B8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A78B8 */ _t8 = _t7 & 0x00000001u; /* 028A78B8 */ if (_t8) goto L_028A78BC; else goto L_028A7910; L_028A78BC: ; // 0x28a78bc /* 028A78BC */ cpu->r[31] = 0x00000000u; L_028A78C0: ; // 0x28a78c0 /* 028A78C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A78C4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A78C4 */ _t10 = _t9 & 0x00000001u; /* 028A78C4 */ if (_t10) goto L_028A78C8; else goto L_028A7900; L_028A78C8: ; // 0x28a78c8 /* 028A78C8 */ _t11 = cpu->r[28] + 0x00000024u; /* 028A78C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A78CC */ _t12 = cpu->r[9] + cpu->r[31]; /* 028A78CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028A78D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A78D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A78D4 */ _t14 = _t13 & 0x00000001u; /* 028A78D4 */ if (_t14) goto L_028A7900; else goto L_028A78D8; L_028A78D8: ; // 0x28a78d8 /* 028A78D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A78DC */ cpu->r[3] = 0x00000000u; /* 028A78E0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A78E0 */ _t16 = _t15 & 0x00000001u; /* 028A78E0 */ if (_t16) goto L_028A78E4; else goto L_028A78E8; L_028A78E4: ; // 0x28a78e4 /* 028A78E4 */ cpu->r[3] = cpu->r[8]; L_028A78E8: ; // 0x28a78e8 /* 028A78E8 */ _t17 = cpu->r[3] + 0x00000050u; /* 028A78E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A78EC */ _t18 = cpu->r[10] + 0x00000024u; /* 028A78EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A78F0 */ cpu->ctr = cpu->r[11]; /* 028A78F4 */ cpu->r[4] = cpu->r[30]; /* 028A78F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A78FC */ _t19 = cpu->r[28] + 0x0000001Cu; /* 028A78FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); L_028A7900: ; // 0x28a7900 /* 028A7900 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A7904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A7908 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A790C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A790C */ _t21 = _t20 & 0x00000001u; /* 028A790C */ if (_t21) goto L_028A78C0; else goto L_028A7910; L_028A7910: ; // 0x28a7910 /* 028A7910 */ cpu->r[0] = 0x00000000u; /* 028A7914 */ _t22 = cpu->r[28] + 0x00000014u; /* 028A7914 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A7918 */ _t23 = cpu->r[1] + 0x00000008u; /* 028A7918 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23); /* 028A791C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A791C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 028A7920 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 028A7920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A7924 */ _t26 = cpu->r[1] + 0x00000010u; /* 028A7924 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A7928 */ cpu->lr = cpu->r[0]; /* 028A792C */ _t27 = cpu->r[1] + 0x00000014u; /* 028A792C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A7930 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A7934 */ return; } // fn_028A788C @ 0x28a788c void Gambit_fn_028A788C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A788C: ; // 0x28a788c /* 028A788C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A788C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A788C */ cpu->r[1] = _t0; /* 028A7890 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A7890 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A7894 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A7894 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A7898 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A7898 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A789C */ _t4 = cpu->r[1] + 0x00000014u; /* 028A789C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A78A0 */ cpu->r[28] = cpu->r[3]; /* 028A78A4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A78A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A78A8 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A78A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A78AC */ cpu->r[29] = 0x00000000u; /* 028A78B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A78B4 */ cpu->r[30] = cpu->r[4]; /* 028A78B8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A78B8 */ _t8 = _t7 & 0x00000001u; /* 028A78B8 */ if (_t8) goto L_028A78BC; else goto L_028A7910; L_028A78BC: ; // 0x28a78bc /* 028A78BC */ cpu->r[31] = 0x00000000u; L_028A78C0: ; // 0x28a78c0 /* 028A78C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A78C4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A78C4 */ _t10 = _t9 & 0x00000001u; /* 028A78C4 */ if (_t10) goto L_028A78C8; else goto L_028A7900; L_028A78C8: ; // 0x28a78c8 /* 028A78C8 */ _t11 = cpu->r[28] + 0x00000024u; /* 028A78C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A78CC */ _t12 = cpu->r[9] + cpu->r[31]; /* 028A78CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028A78D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A78D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A78D4 */ _t14 = _t13 & 0x00000001u; /* 028A78D4 */ if (_t14) goto L_028A7900; else goto L_028A78D8; L_028A78D8: ; // 0x28a78d8 /* 028A78D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A78DC */ cpu->r[3] = 0x00000000u; /* 028A78E0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A78E0 */ _t16 = _t15 & 0x00000001u; /* 028A78E0 */ if (_t16) goto L_028A78E4; else goto L_028A78E8; L_028A78E4: ; // 0x28a78e4 /* 028A78E4 */ cpu->r[3] = cpu->r[8]; L_028A78E8: ; // 0x28a78e8 /* 028A78E8 */ _t17 = cpu->r[3] + 0x00000050u; /* 028A78E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A78EC */ _t18 = cpu->r[10] + 0x00000024u; /* 028A78EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A78F0 */ cpu->ctr = cpu->r[11]; /* 028A78F4 */ cpu->r[4] = cpu->r[30]; /* 028A78F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A78FC */ _t19 = cpu->r[28] + 0x0000001Cu; /* 028A78FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); L_028A7900: ; // 0x28a7900 /* 028A7900 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A7904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A7908 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A790C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A790C */ _t21 = _t20 & 0x00000001u; /* 028A790C */ if (_t21) goto L_028A78C0; else goto L_028A7910; L_028A7910: ; // 0x28a7910 /* 028A7910 */ cpu->r[0] = 0x00000000u; /* 028A7914 */ _t22 = cpu->r[28] + 0x00000014u; /* 028A7914 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A7918 */ _t23 = cpu->r[1] + 0x00000008u; /* 028A7918 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23); /* 028A791C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A791C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 028A7920 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 028A7920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A7924 */ _t26 = cpu->r[1] + 0x00000010u; /* 028A7924 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A7928 */ cpu->lr = cpu->r[0]; /* 028A792C */ _t27 = cpu->r[1] + 0x00000014u; /* 028A792C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A7930 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A7934 */ return; } // fn_028A7938 @ 0x28a7938 void Gambit_fn_028A7938(CPUState* cpu) { uint32_t _t0, _t1, _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_028A7938: ; // 0x28a7938 /* 028A7938 */ cpu->r[0] = cpu->lr; /* 028A793C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A793C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A793C */ cpu->r[1] = _t0; /* 028A7940 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A7940 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A7944 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A7944 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A7948 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A7948 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A794C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A794C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A7950 */ cpu->r[29] = cpu->r[3]; /* 028A7954 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A7954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A7958 */ cpu->r[30] = 0x00000000u; /* 028A795C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A7960 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7960 */ _t7 = _t6 & 0x00000001u; /* 028A7960 */ if (_t7) goto L_028A7964; else goto L_028A79B4; L_028A7964: ; // 0x28a7964 /* 028A7964 */ cpu->r[31] = 0x00000000u; L_028A7968: ; // 0x28a7968 /* 028A7968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A796C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A796C */ _t9 = _t8 & 0x00000001u; /* 028A796C */ if (_t9) goto L_028A7970; else goto L_028A79A4; L_028A7970: ; // 0x28a7970 /* 028A7970 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A7970 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A7974 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A7974 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A7978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A797C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A797C */ _t13 = _t12 & 0x00000001u; /* 028A797C */ if (_t13) goto L_028A79A4; else goto L_028A7980; L_028A7980: ; // 0x28a7980 /* 028A7980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A7984 */ cpu->r[3] = 0x00000000u; /* 028A7988 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7988 */ _t15 = _t14 & 0x00000001u; /* 028A7988 */ if (_t15) goto L_028A798C; else goto L_028A7990; L_028A798C: ; // 0x28a798c /* 028A798C */ cpu->r[3] = cpu->r[8]; L_028A7990: ; // 0x28a7990 /* 028A7990 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A7990 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A7994 */ _t17 = cpu->r[10] + 0x00000044u; /* 028A7994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A7998 */ cpu->ctr = cpu->r[11]; /* 028A799C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A79A0 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A79A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A79A4: ; // 0x28a79a4 /* 028A79A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A79A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A79AC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A79B0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A79B0 */ _t20 = _t19 & 0x00000001u; /* 028A79B0 */ if (_t20) goto L_028A7968; else goto L_028A79B4; L_028A79B4: ; // 0x28a79b4 /* 028A79B4 */ cpu->r[0] = 0x00000000u; /* 028A79B8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A79B8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A79BC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A79BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A79C0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A79C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A79C4 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A79C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A79C8 */ cpu->lr = cpu->r[0]; /* 028A79CC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A79CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A79D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A79D4 */ return; } // fn_028A793C @ 0x28a793c void Gambit_fn_028A793C(CPUState* cpu) { uint32_t _t0, _t1, _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_028A793C: ; // 0x28a793c /* 028A793C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A793C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A793C */ cpu->r[1] = _t0; /* 028A7940 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A7940 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A7944 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A7944 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A7948 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A7948 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A794C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A794C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A7950 */ cpu->r[29] = cpu->r[3]; /* 028A7954 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A7954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A7958 */ cpu->r[30] = 0x00000000u; /* 028A795C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A7960 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7960 */ _t7 = _t6 & 0x00000001u; /* 028A7960 */ if (_t7) goto L_028A7964; else goto L_028A79B4; L_028A7964: ; // 0x28a7964 /* 028A7964 */ cpu->r[31] = 0x00000000u; L_028A7968: ; // 0x28a7968 /* 028A7968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A796C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A796C */ _t9 = _t8 & 0x00000001u; /* 028A796C */ if (_t9) goto L_028A7970; else goto L_028A79A4; L_028A7970: ; // 0x28a7970 /* 028A7970 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A7970 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A7974 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A7974 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A7978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A797C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A797C */ _t13 = _t12 & 0x00000001u; /* 028A797C */ if (_t13) goto L_028A79A4; else goto L_028A7980; L_028A7980: ; // 0x28a7980 /* 028A7980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A7984 */ cpu->r[3] = 0x00000000u; /* 028A7988 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7988 */ _t15 = _t14 & 0x00000001u; /* 028A7988 */ if (_t15) goto L_028A798C; else goto L_028A7990; L_028A798C: ; // 0x28a798c /* 028A798C */ cpu->r[3] = cpu->r[8]; L_028A7990: ; // 0x28a7990 /* 028A7990 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A7990 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A7994 */ _t17 = cpu->r[10] + 0x00000044u; /* 028A7994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A7998 */ cpu->ctr = cpu->r[11]; /* 028A799C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A79A0 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A79A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A79A4: ; // 0x28a79a4 /* 028A79A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A79A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A79AC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A79B0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A79B0 */ _t20 = _t19 & 0x00000001u; /* 028A79B0 */ if (_t20) goto L_028A7968; else goto L_028A79B4; L_028A79B4: ; // 0x28a79b4 /* 028A79B4 */ cpu->r[0] = 0x00000000u; /* 028A79B8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A79B8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A79BC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A79BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A79C0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A79C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A79C4 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A79C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A79C8 */ cpu->lr = cpu->r[0]; /* 028A79CC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A79CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A79D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A79D4 */ return; } // fn_028A79D8 @ 0x28a79d8 void Gambit_fn_028A79D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A79D8: ; // 0x28a79d8 /* 028A79D8 */ cpu->r[0] = cpu->lr; /* 028A79DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A79DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A79DC */ cpu->r[1] = _t0; /* 028A79E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A79E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A79E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A79E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A79E8 */ cpu->r[30] = cpu->r[3]; /* 028A79E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A79EC */ cpu->r[31] = cpu->r[4]; /* 028A79F0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A79F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A79F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A79F4 */ _t5 = _t4 & 0x00000001u; /* 028A79F4 */ if (_t5) goto L_028A7A14; else goto L_028A79F8; L_028A79F8: ; // 0x28a79f8 /* 028A79F8 */ cpu->r[3] = cpu->r[30]; /* 028A79FC */ cpu->r[4] = 0x00000000u; /* 028A7A00 */ Gambit_fn_028A5900(cpu); /* 028A7A04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A7A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7A08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7A08 */ _t7 = _t6 & 0x00000001u; /* 028A7A08 */ if (_t7) goto L_028A7A14; else goto L_028A7A0C; L_028A7A0C: ; // 0x28a7a0c /* 028A7A0C */ cpu->r[3] = cpu->r[30]; /* 028A7A10 */ Gambit_fn_02801BB0(cpu); L_028A7A14: ; // 0x28a7a14 /* 028A7A14 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A7A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A7A18 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A7A18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A7A1C */ cpu->lr = cpu->r[0]; /* 028A7A20 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A7A20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A7A24 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7A28 */ return; } // fn_028A79DC @ 0x28a79dc void Gambit_fn_028A79DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A79DC: ; // 0x28a79dc /* 028A79DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A79DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A79DC */ cpu->r[1] = _t0; /* 028A79E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A79E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A79E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A79E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A79E8 */ cpu->r[30] = cpu->r[3]; /* 028A79E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A79EC */ cpu->r[31] = cpu->r[4]; /* 028A79F0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A79F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A79F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A79F4 */ _t5 = _t4 & 0x00000001u; /* 028A79F4 */ if (_t5) goto L_028A7A14; else goto L_028A79F8; L_028A79F8: ; // 0x28a79f8 /* 028A79F8 */ cpu->r[3] = cpu->r[30]; /* 028A79FC */ cpu->r[4] = 0x00000000u; /* 028A7A00 */ Gambit_fn_028A5900(cpu); /* 028A7A04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A7A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7A08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7A08 */ _t7 = _t6 & 0x00000001u; /* 028A7A08 */ if (_t7) goto L_028A7A14; else goto L_028A7A0C; L_028A7A0C: ; // 0x28a7a0c /* 028A7A0C */ cpu->r[3] = cpu->r[30]; /* 028A7A10 */ Gambit_fn_02801BB0(cpu); L_028A7A14: ; // 0x28a7a14 /* 028A7A14 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A7A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A7A18 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A7A18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A7A1C */ cpu->lr = cpu->r[0]; /* 028A7A20 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A7A20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A7A24 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7A28 */ return; } // fn_028A7A2C @ 0x28a7a2c void Gambit_fn_028A7A2C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A7A2C: ; // 0x28a7a2c /* 028A7A2C */ cpu->r[0] = cpu->lr; /* 028A7A30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A7A30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7A30 */ cpu->r[1] = _t0; /* 028A7A34 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A7A34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A7A38 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A7A38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A7A3C */ cpu->r[30] = cpu->r[3]; /* 028A7A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A7A40 */ cpu->r[31] = cpu->r[4]; /* 028A7A44 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A7A44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A7A48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7A48 */ _t5 = _t4 & 0x00000001u; /* 028A7A48 */ if (_t5) goto L_028A7A68; else goto L_028A7A4C; L_028A7A4C: ; // 0x28a7a4c /* 028A7A4C */ cpu->r[3] = cpu->r[30]; /* 028A7A50 */ cpu->r[4] = 0x00000000u; /* 028A7A54 */ Gambit_fn_028A5900(cpu); /* 028A7A58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A7A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7A5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7A5C */ _t7 = _t6 & 0x00000001u; /* 028A7A5C */ if (_t7) goto L_028A7A68; else goto L_028A7A60; L_028A7A60: ; // 0x28a7a60 /* 028A7A60 */ cpu->r[3] = cpu->r[30]; /* 028A7A64 */ Gambit_fn_02801BB0(cpu); L_028A7A68: ; // 0x28a7a68 /* 028A7A68 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A7A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A7A6C */ _t9 = cpu->r[1] + 0x00000008u; /* 028A7A6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A7A70 */ cpu->lr = cpu->r[0]; /* 028A7A74 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A7A74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A7A78 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7A7C */ return; } // fn_028A7A30 @ 0x28a7a30 void Gambit_fn_028A7A30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A7A30: ; // 0x28a7a30 /* 028A7A30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A7A30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7A30 */ cpu->r[1] = _t0; /* 028A7A34 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A7A34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A7A38 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A7A38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A7A3C */ cpu->r[30] = cpu->r[3]; /* 028A7A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A7A40 */ cpu->r[31] = cpu->r[4]; /* 028A7A44 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A7A44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A7A48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7A48 */ _t5 = _t4 & 0x00000001u; /* 028A7A48 */ if (_t5) goto L_028A7A68; else goto L_028A7A4C; L_028A7A4C: ; // 0x28a7a4c /* 028A7A4C */ cpu->r[3] = cpu->r[30]; /* 028A7A50 */ cpu->r[4] = 0x00000000u; /* 028A7A54 */ Gambit_fn_028A5900(cpu); /* 028A7A58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A7A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7A5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7A5C */ _t7 = _t6 & 0x00000001u; /* 028A7A5C */ if (_t7) goto L_028A7A68; else goto L_028A7A60; L_028A7A60: ; // 0x28a7a60 /* 028A7A60 */ cpu->r[3] = cpu->r[30]; /* 028A7A64 */ Gambit_fn_02801BB0(cpu); L_028A7A68: ; // 0x28a7a68 /* 028A7A68 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A7A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A7A6C */ _t9 = cpu->r[1] + 0x00000008u; /* 028A7A6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A7A70 */ cpu->lr = cpu->r[0]; /* 028A7A74 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A7A74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A7A78 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7A7C */ return; } // fn_028A7A80 @ 0x28a7a80 void Gambit_fn_028A7A80(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A7A80: ; // 0x28a7a80 /* 028A7A80 */ _t0 = cpu->r[3] + 0x00000004u; /* 028A7A80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 028A7A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7A88 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7A88 */ _t2 = _t1 & 0x00000001u; /* 028A7A88 */ if (_t2) goto L_028A7A98; else goto L_028A7A8C; L_028A7A8C: ; // 0x28a7a8c /* 028A7A8C */ _t3 = cpu->r[3] + 0x0000005Cu; /* 028A7A8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 028A7A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7A94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7A94 */ _t5 = _t4 & 0x00000001u; /* 028A7A94 */ if (_t5) goto L_028A7A98; else goto L_028A7AA0; L_028A7A98: ; // 0x28a7a98 /* 028A7A98 */ cpu->r[3] = 0x00000000u; /* 028A7A9C */ return; L_028A7AA0: ; // 0x28a7aa0 /* 028A7AA0 */ goto L_028AE2B0; L_028AE1C0: ; // 0x28ae1c0 /* 028AE1C0 */ _t6 = cpu->r[1] + 0xFFFFFFF0u; /* 028AE1C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[1]); /* 028AE1C0 */ cpu->r[1] = _t6; /* 028AE1C4 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028AE1C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 028AE1C8 */ _t8 = cpu->r[3] + 0x00000008u; /* 028AE1C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 028AE1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AE1D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AE1D0 */ _t10 = _t9 & 0x00000001u; /* 028AE1D0 */ if (_t10) goto L_028AE264; else goto L_028AE1D4; L_028AE1D4: ; // 0x28ae1d4 /* 028AE1D4 */ _t11 = cpu->r[3] + 0x00000018u; /* 028AE1D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 028AE1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AE1DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AE1DC */ _t13 = _t12 & 0x00000001u; /* 028AE1DC */ if (_t13) goto L_028AE264; else goto L_028AE1E0; L_028AE1E0: ; // 0x28ae1e0 /* 028AE1E0 */ _t14 = cpu->r[12] + 0x00000004u; /* 028AE1E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028AE1E4 */ cpu->r[6] = 0x00000000u; /* 028AE1E8 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFFu; /* 028AE1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]); /* 028AE1F0 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AE1F0 */ _t16 = _t15 & 0x00000001u; /* 028AE1F0 */ if (_t16) goto L_028AE264; else goto L_028AE1F4; L_028AE1F4: ; // 0x28ae1f4 /* 028AE1F4 */ _t17 = cpu->r[3] + 0x00000014u; /* 028AE1F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); L_028AE1F8: ; // 0x28ae1f8 /* 028AE1F8 */ cpu->r[11] = cpu->r[6] + cpu->r[7]; /* 028AE1FC */ /* nop */ /* 028AE200 */ cpu->r[8] = cpu->r[12]; /* 028AE204 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028AE208 */ _t18 = cpu->r[11] + cpu->r[9]; /* 028AE208 */ cpu->r[12] = rbrew_read16(cpu->mem, _t18); /* 028AE20C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au); /* 028AE210 */ cpu->r[3] = cpu->r[10] + cpu->r[11]; /* 028AE210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AE214 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AE214 */ _t20 = _t19 & 0x00000001u; /* 028AE214 */ if (_t20) goto L_028AE264; else goto L_028AE218; L_028AE218: ; // 0x28ae218 /* 028AE218 */ _t21 = cpu->r[3] + 0x00000000u; /* 028AE218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 028AE21C */ cpu->r[31] = cpu->r[4] + 0xFFFFFFFFu; /* 028AE220 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu; L_028AE224: ; // 0x28ae224 /* 028AE224 */ _t22 = cpu->r[31] + 0x00000001u; /* 028AE224 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22); /* 028AE224 */ cpu->r[31] = _t22; /* 028AE228 */ _t23 = cpu->r[5] + 0x00000001u; /* 028AE228 */ cpu->r[12] = rbrew_read8(cpu->mem, _t23); /* 028AE228 */ cpu->r[5] = _t23; /* 028AE22C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]); /* 028AE230 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AE230 */ _t25 = _t24 & 0x00000001u; /* 028AE230 */ if (_t25) goto L_028AE234; else goto L_028AE23C; L_028AE234: ; // 0x28ae234 /* 028AE234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000000u); /* 028AE238 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AE238 */ _t27 = _t26 & 0x00000001u; /* 028AE238 */ if (_t27) goto L_028AE23C; else goto L_028AE224; L_028AE23C: ; // 0x28ae23c /* 028AE23C */ cpu->r[12] = cpu->r[11] - cpu->r[12]; /* 028AE23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AE240 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AE240 */ _t29 = _t28 & 0x00000001u; /* 028AE240 */ if (_t29) goto L_028AE258; else goto L_028AE244; L_028AE244: ; // 0x28ae244 /* 028AE244 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AE244 */ _t31 = _t30 & 0x00000001u; /* 028AE244 */ if (_t31) goto L_028AE248; else goto L_028AE268; L_028AE248: ; // 0x28ae248 /* 028AE248 */ cpu->r[6] = cpu->r[8] + 0x00000001u; /* 028AE24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]); /* 028AE250 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AE250 */ _t33 = _t32 & 0x00000001u; /* 028AE250 */ if (_t33) goto L_028AE254; else goto L_028AE1F8; L_028AE254: ; // 0x28ae254 /* 028AE254 */ goto L_028AE264; L_028AE258: ; // 0x28ae258 /* 028AE258 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFFu; /* 028AE25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]); /* 028AE260 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AE260 */ _t35 = _t34 & 0x00000001u; /* 028AE260 */ if (_t35) goto L_028AE264; else goto L_028AE1F8; L_028AE264: ; // 0x28ae264 /* 028AE264 */ cpu->r[3] = 0x00000000u; L_028AE268: ; // 0x28ae268 /* 028AE268 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 028AE268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36); /* 028AE26C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AE270 */ return; L_028AE2B0: ; // 0x28ae2b0 /* 028AE2B0 */ goto L_028AE1C0; } // fn_028A7AA4 @ 0x28a7aa4 void Gambit_fn_028A7AA4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48; L_028A7AA4: ; // 0x28a7aa4 /* 028A7AA4 */ cpu->r[0] = cpu->lr; /* 028A7AA8 */ _t0 = cpu->r[1] + 0xFFFFFE70u; /* 028A7AA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7AA8 */ cpu->r[1] = _t0; /* 028A7AAC */ _t1 = cpu->r[1] + 0x00000188u; /* 028A7AAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A7AB0 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 028A7AB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]); /* 028A7AB4 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 028A7AB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]); /* 028A7AB8 */ _t4 = cpu->r[1] + 0x00000024u; /* 028A7AB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]); /* 028A7ABC */ _t5 = cpu->r[1] + 0x00000020u; /* 028A7ABC */ rbrew_write32(cpu->mem, _t5, cpu->r[5]); /* 028A7AC0 */ _t6 = cpu->r[1] + 0x00000194u; /* 028A7AC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A7AC4 */ _t7 = cpu->r[1] + 0x0000018Cu; /* 028A7AC4 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 028A7AC8 */ _t8 = cpu->r[1] + 0x00000018u; /* 028A7AC8 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]); /* 028A7ACC */ _t9 = cpu->r[1] + 0x00000028u; /* 028A7ACC */ rbrew_write32(cpu->mem, _t9, cpu->r[7]); /* 028A7AD0 */ _t10 = cpu->r[1] + 0x00000030u; /* 028A7AD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 028A7AD4 */ _t11 = cpu->r[1] + 0x00000034u; /* 028A7AD4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 028A7AD8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7AD8 */ _t13 = _t12 & 0x00000001u; /* 028A7AD8 */ if (_t13) goto L_028A7ADC; else goto L_028A7AFC; L_028A7ADC: ; // 0x28a7adc /* 028A7ADC */ _t14 = cpu->r[1] + 0x00000048u; /* 028A7ADC */ rbrew_write_f64(cpu->mem, _t14, cpu->f[3]); /* 028A7AE0 */ _t15 = cpu->r[1] + 0x00000068u; /* 028A7AE0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[7]); /* 028A7AE4 */ _t16 = cpu->r[1] + 0x00000060u; /* 028A7AE4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[6]); /* 028A7AE8 */ _t17 = cpu->r[1] + 0x00000040u; /* 028A7AE8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[2]); /* 028A7AEC */ _t18 = cpu->r[1] + 0x00000050u; /* 028A7AEC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[4]); /* 028A7AF0 */ _t19 = cpu->r[1] + 0x00000070u; /* 028A7AF0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[8]); /* 028A7AF4 */ _t20 = cpu->r[1] + 0x00000058u; /* 028A7AF4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[5]); /* 028A7AF8 */ _t21 = cpu->r[1] + 0x00000038u; /* 028A7AF8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[1]); L_028A7AFC: ; // 0x28a7afc /* 028A7AFC */ cpu->r[11] = 0x10110000u; /* 028A7B00 */ cpu->r[12] = 0x00000000u; /* 028A7B04 */ _t22 = cpu->r[11] + 0x00007399u; /* 028A7B04 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22); /* 028A7B08 */ cpu->r[10] = cpu->r[1] + 0x00000198u; /* 028A7B0C */ _t23 = cpu->r[1] + 0x00000009u; /* 028A7B0C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]); /* 028A7B10 */ cpu->r[31] = cpu->r[3]; /* 028A7B14 */ cpu->r[0] = 0x00000002u; /* 028A7B18 */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A7B18 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]); /* 028A7B1C */ cpu->r[5] = cpu->r[1] + 0x00000084u; /* 028A7B20 */ _t25 = cpu->r[1] + 0x00000008u; /* 028A7B20 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]); /* 028A7B24 */ cpu->r[0] = 0x10130000u; /* 028A7B28 */ cpu->r[6] = 0x00000100u; /* 028A7B2C */ _t26 = cpu->r[1] + 0x00000078u; /* 028A7B2C */ rbrew_write32(cpu->mem, _t26, cpu->r[5]); /* 028A7B30 */ cpu->r[0] = cpu->r[0] + 0x00007B50u; /* 028A7B34 */ _t27 = cpu->r[1] + 0x00000080u; /* 028A7B34 */ rbrew_write32(cpu->mem, _t27, cpu->r[6]); /* 028A7B38 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7B3C */ _t28 = cpu->r[1] + 0x00000084u; /* 028A7B3C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[11]); /* 028A7B40 */ _t29 = cpu->r[1] + 0x00000183u; /* 028A7B40 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[11]); /* 028A7B44 */ cpu->r[12] = cpu->r[1] + 0x00000018u; /* 028A7B48 */ _t30 = cpu->r[1] + 0x0000007Cu; /* 028A7B48 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 028A7B4C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 028A7B50 */ _t31 = cpu->r[1] + 0x00000010u; /* 028A7B50 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]); /* 028A7B54 */ Gambit_fn_0282A5DC(cpu); /* 028A7B58 */ _t32 = cpu->r[31] + 0x00000004u; /* 028A7B58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 028A7B5C */ _t33 = cpu->r[1] + 0x0000007Cu; /* 028A7B5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 028A7B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A7B64 */ _t34 = cpu->r[9] + 0x00000014u; /* 028A7B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 028A7B68 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7B68 */ _t36 = _t35 & 0x00000001u; /* 028A7B68 */ if (_t36) goto L_028A7BA0; else goto L_028A7B6C; L_028A7B6C: ; // 0x28a7b6c /* 028A7B6C */ cpu->ctr = cpu->r[10]; /* 028A7B70 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7B74 */ _t37 = cpu->r[8] + 0x00000000u; /* 028A7B74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 028A7B78 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7B7C */ _t38 = cpu->r[31] + 0x00000008u; /* 028A7B7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 028A7B80 */ cpu->r[4] = 0x00000012u; /* 028A7B84 */ cpu->r[6] = 0x10130000u; /* 028A7B88 */ _t39 = cpu->r[1] + 0x00000078u; /* 028A7B88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39); /* 028A7B8C */ cpu->r[5] = cpu->r[30]; /* 028A7B90 */ cpu->r[6] = cpu->r[6] + 0x00007B68u; /* 028A7B94 */ _t40 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7B94 */ _t41 = _t40 & 0x00000001u; /* 028A7B94 */ if (_t41) goto L_028A7B98; // else: addr-0 trap, fall-through L_028A7B98: ; // 0x28a7b98 /* 028A7B98 */ Gambit_fn_028AA73C(cpu); /* 028A7B9C */ goto L_028A7BCC; L_028A7BA0: ; // 0x28a7ba0 /* 028A7BA0 */ cpu->ctr = cpu->r[10]; /* 028A7BA4 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7BA8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7BAC */ _t42 = cpu->r[31] + 0x00000008u; /* 028A7BAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t42); /* 028A7BB0 */ cpu->r[4] = 0x00000012u; /* 028A7BB4 */ cpu->r[6] = 0x10130000u; /* 028A7BB8 */ _t43 = cpu->r[1] + 0x00000078u; /* 028A7BB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43); /* 028A7BBC */ cpu->r[5] = 0x00000000u; /* 028A7BC0 */ cpu->r[6] = cpu->r[6] + 0x00007B68u; /* 028A7BC4 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7BC4 */ _t45 = _t44 & 0x00000001u; /* 028A7BC4 */ if (_t45) goto L_028A7BC8; // else: addr-0 trap, fall-through L_028A7BC8: ; // 0x28a7bc8 /* 028A7BC8 */ Gambit_fn_028AA73C(cpu); L_028A7BCC: ; // 0x28a7bcc /* 028A7BCC */ _t46 = cpu->r[1] + 0x00000194u; /* 028A7BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 028A7BD0 */ _t47 = cpu->r[1] + 0x00000188u; /* 028A7BD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47); /* 028A7BD4 */ cpu->lr = cpu->r[0]; /* 028A7BD8 */ _t48 = cpu->r[1] + 0x0000018Cu; /* 028A7BD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48); /* 028A7BDC */ cpu->r[1] = cpu->r[1] + 0x00000190u; /* 028A7BE0 */ return; } // fn_028A7AA8 @ 0x28a7aa8 void Gambit_fn_028A7AA8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48; L_028A7AA8: ; // 0x28a7aa8 /* 028A7AA8 */ _t0 = cpu->r[1] + 0xFFFFFE70u; /* 028A7AA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7AA8 */ cpu->r[1] = _t0; /* 028A7AAC */ _t1 = cpu->r[1] + 0x00000188u; /* 028A7AAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A7AB0 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 028A7AB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]); /* 028A7AB4 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 028A7AB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]); /* 028A7AB8 */ _t4 = cpu->r[1] + 0x00000024u; /* 028A7AB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]); /* 028A7ABC */ _t5 = cpu->r[1] + 0x00000020u; /* 028A7ABC */ rbrew_write32(cpu->mem, _t5, cpu->r[5]); /* 028A7AC0 */ _t6 = cpu->r[1] + 0x00000194u; /* 028A7AC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A7AC4 */ _t7 = cpu->r[1] + 0x0000018Cu; /* 028A7AC4 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 028A7AC8 */ _t8 = cpu->r[1] + 0x00000018u; /* 028A7AC8 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]); /* 028A7ACC */ _t9 = cpu->r[1] + 0x00000028u; /* 028A7ACC */ rbrew_write32(cpu->mem, _t9, cpu->r[7]); /* 028A7AD0 */ _t10 = cpu->r[1] + 0x00000030u; /* 028A7AD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 028A7AD4 */ _t11 = cpu->r[1] + 0x00000034u; /* 028A7AD4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 028A7AD8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7AD8 */ _t13 = _t12 & 0x00000001u; /* 028A7AD8 */ if (_t13) goto L_028A7ADC; else goto L_028A7AFC; L_028A7ADC: ; // 0x28a7adc /* 028A7ADC */ _t14 = cpu->r[1] + 0x00000048u; /* 028A7ADC */ rbrew_write_f64(cpu->mem, _t14, cpu->f[3]); /* 028A7AE0 */ _t15 = cpu->r[1] + 0x00000068u; /* 028A7AE0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[7]); /* 028A7AE4 */ _t16 = cpu->r[1] + 0x00000060u; /* 028A7AE4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[6]); /* 028A7AE8 */ _t17 = cpu->r[1] + 0x00000040u; /* 028A7AE8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[2]); /* 028A7AEC */ _t18 = cpu->r[1] + 0x00000050u; /* 028A7AEC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[4]); /* 028A7AF0 */ _t19 = cpu->r[1] + 0x00000070u; /* 028A7AF0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[8]); /* 028A7AF4 */ _t20 = cpu->r[1] + 0x00000058u; /* 028A7AF4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[5]); /* 028A7AF8 */ _t21 = cpu->r[1] + 0x00000038u; /* 028A7AF8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[1]); L_028A7AFC: ; // 0x28a7afc /* 028A7AFC */ cpu->r[11] = 0x10110000u; /* 028A7B00 */ cpu->r[12] = 0x00000000u; /* 028A7B04 */ _t22 = cpu->r[11] + 0x00007399u; /* 028A7B04 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22); /* 028A7B08 */ cpu->r[10] = cpu->r[1] + 0x00000198u; /* 028A7B0C */ _t23 = cpu->r[1] + 0x00000009u; /* 028A7B0C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]); /* 028A7B10 */ cpu->r[31] = cpu->r[3]; /* 028A7B14 */ cpu->r[0] = 0x00000002u; /* 028A7B18 */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A7B18 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]); /* 028A7B1C */ cpu->r[5] = cpu->r[1] + 0x00000084u; /* 028A7B20 */ _t25 = cpu->r[1] + 0x00000008u; /* 028A7B20 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]); /* 028A7B24 */ cpu->r[0] = 0x10130000u; /* 028A7B28 */ cpu->r[6] = 0x00000100u; /* 028A7B2C */ _t26 = cpu->r[1] + 0x00000078u; /* 028A7B2C */ rbrew_write32(cpu->mem, _t26, cpu->r[5]); /* 028A7B30 */ cpu->r[0] = cpu->r[0] + 0x00007B50u; /* 028A7B34 */ _t27 = cpu->r[1] + 0x00000080u; /* 028A7B34 */ rbrew_write32(cpu->mem, _t27, cpu->r[6]); /* 028A7B38 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7B3C */ _t28 = cpu->r[1] + 0x00000084u; /* 028A7B3C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[11]); /* 028A7B40 */ _t29 = cpu->r[1] + 0x00000183u; /* 028A7B40 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[11]); /* 028A7B44 */ cpu->r[12] = cpu->r[1] + 0x00000018u; /* 028A7B48 */ _t30 = cpu->r[1] + 0x0000007Cu; /* 028A7B48 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 028A7B4C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 028A7B50 */ _t31 = cpu->r[1] + 0x00000010u; /* 028A7B50 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]); /* 028A7B54 */ Gambit_fn_0282A5DC(cpu); /* 028A7B58 */ _t32 = cpu->r[31] + 0x00000004u; /* 028A7B58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 028A7B5C */ _t33 = cpu->r[1] + 0x0000007Cu; /* 028A7B5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 028A7B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A7B64 */ _t34 = cpu->r[9] + 0x00000014u; /* 028A7B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 028A7B68 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7B68 */ _t36 = _t35 & 0x00000001u; /* 028A7B68 */ if (_t36) goto L_028A7BA0; else goto L_028A7B6C; L_028A7B6C: ; // 0x28a7b6c /* 028A7B6C */ cpu->ctr = cpu->r[10]; /* 028A7B70 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7B74 */ _t37 = cpu->r[8] + 0x00000000u; /* 028A7B74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 028A7B78 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7B7C */ _t38 = cpu->r[31] + 0x00000008u; /* 028A7B7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 028A7B80 */ cpu->r[4] = 0x00000012u; /* 028A7B84 */ cpu->r[6] = 0x10130000u; /* 028A7B88 */ _t39 = cpu->r[1] + 0x00000078u; /* 028A7B88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39); /* 028A7B8C */ cpu->r[5] = cpu->r[30]; /* 028A7B90 */ cpu->r[6] = cpu->r[6] + 0x00007B68u; /* 028A7B94 */ _t40 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7B94 */ _t41 = _t40 & 0x00000001u; /* 028A7B94 */ if (_t41) goto L_028A7B98; // else: addr-0 trap, fall-through L_028A7B98: ; // 0x28a7b98 /* 028A7B98 */ Gambit_fn_028AA73C(cpu); /* 028A7B9C */ goto L_028A7BCC; L_028A7BA0: ; // 0x28a7ba0 /* 028A7BA0 */ cpu->ctr = cpu->r[10]; /* 028A7BA4 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7BA8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7BAC */ _t42 = cpu->r[31] + 0x00000008u; /* 028A7BAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t42); /* 028A7BB0 */ cpu->r[4] = 0x00000012u; /* 028A7BB4 */ cpu->r[6] = 0x10130000u; /* 028A7BB8 */ _t43 = cpu->r[1] + 0x00000078u; /* 028A7BB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43); /* 028A7BBC */ cpu->r[5] = 0x00000000u; /* 028A7BC0 */ cpu->r[6] = cpu->r[6] + 0x00007B68u; /* 028A7BC4 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7BC4 */ _t45 = _t44 & 0x00000001u; /* 028A7BC4 */ if (_t45) goto L_028A7BC8; // else: addr-0 trap, fall-through L_028A7BC8: ; // 0x28a7bc8 /* 028A7BC8 */ Gambit_fn_028AA73C(cpu); L_028A7BCC: ; // 0x28a7bcc /* 028A7BCC */ _t46 = cpu->r[1] + 0x00000194u; /* 028A7BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 028A7BD0 */ _t47 = cpu->r[1] + 0x00000188u; /* 028A7BD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47); /* 028A7BD4 */ cpu->lr = cpu->r[0]; /* 028A7BD8 */ _t48 = cpu->r[1] + 0x0000018Cu; /* 028A7BD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48); /* 028A7BDC */ cpu->r[1] = cpu->r[1] + 0x00000190u; /* 028A7BE0 */ return; } // fn_028A7BE4 @ 0x28a7be4 void Gambit_fn_028A7BE4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_028A7BE4: ; // 0x28a7be4 /* 028A7BE4 */ cpu->r[0] = cpu->lr; /* 028A7BE8 */ _t0 = cpu->r[1] + 0x00000004u; /* 028A7BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A7BEC */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028A7BEC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028A7BEC */ cpu->r[1] = _t1; /* 028A7BF0 */ _t2 = cpu->r[3] + 0x00000004u; /* 028A7BF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 028A7BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A7BF8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7BF8 */ _t4 = _t3 & 0x00000001u; /* 028A7BF8 */ if (_t4) goto L_028A7C08; else goto L_028A7BFC; L_028A7BFC: ; // 0x28a7bfc /* 028A7BFC */ _t5 = cpu->r[12] + 0x0000005Cu; /* 028A7BFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); /* 028A7C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7C04 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7C04 */ _t7 = _t6 & 0x00000001u; /* 028A7C04 */ if (_t7) goto L_028A7C08; else goto L_028A7C1C; L_028A7C08: ; // 0x28a7c08 /* 028A7C08 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 028A7C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A7C0C */ cpu->lr = cpu->r[0]; /* 028A7C10 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7C14 */ cpu->r[3] = 0x00000000u; /* 028A7C18 */ return; L_028A7C1C: ; // 0x28a7c1c /* 028A7C1C */ _t9 = cpu->r[3] + 0x00000000u; /* 028A7C1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 028A7C20 */ _t10 = cpu->r[10] + 0x00000004u; /* 028A7C20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10); /* 028A7C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]); /* 028A7C28 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7C28 */ _t12 = _t11 & 0x00000001u; /* 028A7C28 */ if (_t12) goto L_028A7C2C; else goto L_028A7C44; L_028A7C2C: ; // 0x28a7c2c /* 028A7C2C */ cpu->r[3] = cpu->r[12]; /* 028A7C30 */ Gambit_fn_028AD640(cpu); /* 028A7C34 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028A7C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A7C38 */ cpu->lr = cpu->r[0]; /* 028A7C3C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7C40 */ return; L_028A7C44: ; // 0x28a7c44 /* 028A7C44 */ cpu->r[5] = cpu->r[4]; /* 028A7C48 */ cpu->r[4] = 0x10130000u; /* 028A7C4C */ cpu->r[4] = cpu->r[4] + 0x00007B6Cu; /* 028A7C50 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7C50 */ _t15 = _t14 & 0x00000001u; /* 028A7C50 */ if (_t15) goto L_028A7C54; // else: addr-0 trap, fall-through L_028A7C54: ; // 0x28a7c54 /* 028A7C54 */ Gambit_fn_028A7AA4(cpu); /* 028A7C58 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 028A7C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028A7C5C */ cpu->lr = cpu->r[0]; /* 028A7C60 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7C64 */ cpu->r[3] = 0x00000000u; /* 028A7C68 */ return; } // fn_028A7BEC @ 0x28a7bec void Gambit_fn_028A7BEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028A7BEC: ; // 0x28a7bec /* 028A7BEC */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028A7BEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7BEC */ cpu->r[1] = _t0; /* 028A7BF0 */ _t1 = cpu->r[3] + 0x00000004u; /* 028A7BF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 028A7BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A7BF8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7BF8 */ _t3 = _t2 & 0x00000001u; /* 028A7BF8 */ if (_t3) goto L_028A7C08; else goto L_028A7BFC; L_028A7BFC: ; // 0x28a7bfc /* 028A7BFC */ _t4 = cpu->r[12] + 0x0000005Cu; /* 028A7BFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 028A7C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A7C04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7C04 */ _t6 = _t5 & 0x00000001u; /* 028A7C04 */ if (_t6) goto L_028A7C08; else goto L_028A7C1C; L_028A7C08: ; // 0x28a7c08 /* 028A7C08 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028A7C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A7C0C */ cpu->lr = cpu->r[0]; /* 028A7C10 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7C14 */ cpu->r[3] = 0x00000000u; /* 028A7C18 */ return; L_028A7C1C: ; // 0x28a7c1c /* 028A7C1C */ _t8 = cpu->r[3] + 0x00000000u; /* 028A7C1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028A7C20 */ _t9 = cpu->r[10] + 0x00000004u; /* 028A7C20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9); /* 028A7C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]); /* 028A7C28 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7C28 */ _t11 = _t10 & 0x00000001u; /* 028A7C28 */ if (_t11) goto L_028A7C2C; else goto L_028A7C44; L_028A7C2C: ; // 0x28a7c2c /* 028A7C2C */ cpu->r[3] = cpu->r[12]; /* 028A7C30 */ Gambit_fn_028AD640(cpu); /* 028A7C34 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A7C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A7C38 */ cpu->lr = cpu->r[0]; /* 028A7C3C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7C40 */ return; L_028A7C44: ; // 0x28a7c44 /* 028A7C44 */ cpu->r[5] = cpu->r[4]; /* 028A7C48 */ cpu->r[4] = 0x10130000u; /* 028A7C4C */ cpu->r[4] = cpu->r[4] + 0x00007B6Cu; /* 028A7C50 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7C50 */ _t14 = _t13 & 0x00000001u; /* 028A7C50 */ if (_t14) goto L_028A7C54; // else: addr-0 trap, fall-through L_028A7C54: ; // 0x28a7c54 /* 028A7C54 */ Gambit_fn_028A7AA4(cpu); /* 028A7C58 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A7C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028A7C5C */ cpu->lr = cpu->r[0]; /* 028A7C60 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7C64 */ cpu->r[3] = 0x00000000u; /* 028A7C68 */ return; } // fn_028A7C6C @ 0x28a7c6c void Gambit_fn_028A7C6C(CPUState* cpu) { uint32_t _t0; L_028A7C6C: ; // 0x28a7c6c /* 028A7C6C */ _t0 = cpu->r[4] + 0x00000014u; /* 028A7C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 028A7C70 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A7C74 */ return; } // fn_028A7C78 @ 0x28a7c78 void Gambit_fn_028A7C78(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_028A7C78: ; // 0x28a7c78 /* 028A7C78 */ cpu->r[0] = cpu->lr; /* 028A7C7C */ _t0 = cpu->r[1] + 0x00000004u; /* 028A7C7C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A7C80 */ cpu->r[12] = 0x00000000u; /* 028A7C84 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028A7C84 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028A7C84 */ cpu->r[1] = _t1; /* 028A7C88 */ Gambit_fn_028A7C6C(cpu); /* 028A7C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7C90 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7C90 */ _t3 = _t2 & 0x00000001u; /* 028A7C90 */ if (_t3) goto L_028A7C98; else goto L_028A7C94; L_028A7C94: ; // 0x28a7c94 /* 028A7C94 */ _t4 = cpu->r[4] + 0x00000018u; /* 028A7C94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); L_028A7C98: ; // 0x28a7c98 /* 028A7C98 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028A7C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A7C9C */ cpu->lr = cpu->r[0]; /* 028A7CA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7CA4 */ cpu->r[3] = cpu->r[12]; /* 028A7CA8 */ return; } // fn_028A7C84 @ 0x28a7c84 void Gambit_fn_028A7C84(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_028A7C84: ; // 0x28a7c84 /* 028A7C84 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028A7C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7C84 */ cpu->r[1] = _t0; /* 028A7C88 */ Gambit_fn_028A7C6C(cpu); /* 028A7C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7C90 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7C90 */ _t2 = _t1 & 0x00000001u; /* 028A7C90 */ if (_t2) goto L_028A7C98; else goto L_028A7C94; L_028A7C94: ; // 0x28a7c94 /* 028A7C94 */ _t3 = cpu->r[4] + 0x00000018u; /* 028A7C94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); L_028A7C98: ; // 0x28a7c98 /* 028A7C98 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A7C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028A7C9C */ cpu->lr = cpu->r[0]; /* 028A7CA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7CA4 */ cpu->r[3] = cpu->r[12]; /* 028A7CA8 */ return; } // fn_028A7CAC @ 0x28a7cac void Gambit_fn_028A7CAC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A7CAC: ; // 0x28a7cac /* 028A7CAC */ cpu->r[0] = cpu->lr; /* 028A7CB0 */ _t0 = cpu->r[1] + 0x00000004u; /* 028A7CB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A7CB4 */ cpu->r[11] = cpu->r[3]; /* 028A7CB8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028A7CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028A7CB8 */ cpu->r[1] = _t1; /* 028A7CBC */ Gambit_fn_028A7C78(cpu); /* 028A7CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7CC4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7CC4 */ _t3 = _t2 & 0x00000001u; /* 028A7CC4 */ if (_t3) goto L_028A7D18; else goto L_028A7CC8; L_028A7CC8: ; // 0x28a7cc8 /* 028A7CC8 */ _t4 = cpu->r[3] + 0x00000000u; /* 028A7CC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 028A7CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000004u); /* 028A7CD0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A7CD0 */ _t6 = _t5 & 0x00000001u; /* 028A7CD0 */ if (_t6) goto L_028A7CEC; else goto L_028A7CD4; L_028A7CD4: ; // 0x28a7cd4 /* 028A7CD4 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028A7CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A7CD8 */ cpu->r[12] = cpu->r[6] + 0x10130000u; /* 028A7CDC */ cpu->lr = cpu->r[0]; /* 028A7CE0 */ _t8 = cpu->r[12] + 0x00007B98u; /* 028A7CE0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t8); /* 028A7CE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7CE8 */ return; L_028A7CEC: ; // 0x28a7cec /* 028A7CEC */ _t9 = cpu->r[4] + 0x00000000u; /* 028A7CEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 028A7CF0 */ cpu->r[4] = 0x10130000u; /* 028A7CF4 */ cpu->r[3] = cpu->r[11]; /* 028A7CF8 */ cpu->r[4] = cpu->r[4] + 0x00007BA0u; /* 028A7CFC */ _t10 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7CFC */ _t11 = _t10 & 0x00000001u; /* 028A7CFC */ if (_t11) goto L_028A7D00; // else: addr-0 trap, fall-through L_028A7D00: ; // 0x28a7d00 /* 028A7D00 */ Gambit_fn_028A7AA4(cpu); /* 028A7D04 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A7D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A7D08 */ cpu->lr = cpu->r[0]; /* 028A7D0C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7D10 */ cpu->r[3] = 0x00000005u; /* 028A7D14 */ return; L_028A7D18: ; // 0x28a7d18 /* 028A7D18 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028A7D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A7D1C */ cpu->lr = cpu->r[0]; /* 028A7D20 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7D24 */ cpu->r[3] = 0x00000005u; /* 028A7D28 */ return; } // fn_028A7CB8 @ 0x28a7cb8 void Gambit_fn_028A7CB8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_028A7CB8: ; // 0x28a7cb8 /* 028A7CB8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028A7CB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7CB8 */ cpu->r[1] = _t0; /* 028A7CBC */ Gambit_fn_028A7C78(cpu); /* 028A7CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7CC4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7CC4 */ _t2 = _t1 & 0x00000001u; /* 028A7CC4 */ if (_t2) goto L_028A7D18; else goto L_028A7CC8; L_028A7CC8: ; // 0x28a7cc8 /* 028A7CC8 */ _t3 = cpu->r[3] + 0x00000000u; /* 028A7CC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3); /* 028A7CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000004u); /* 028A7CD0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A7CD0 */ _t5 = _t4 & 0x00000001u; /* 028A7CD0 */ if (_t5) goto L_028A7CEC; else goto L_028A7CD4; L_028A7CD4: ; // 0x28a7cd4 /* 028A7CD4 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028A7CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A7CD8 */ cpu->r[12] = cpu->r[6] + 0x10130000u; /* 028A7CDC */ cpu->lr = cpu->r[0]; /* 028A7CE0 */ _t7 = cpu->r[12] + 0x00007B98u; /* 028A7CE0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t7); /* 028A7CE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7CE8 */ return; L_028A7CEC: ; // 0x28a7cec /* 028A7CEC */ _t8 = cpu->r[4] + 0x00000000u; /* 028A7CEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t8); /* 028A7CF0 */ cpu->r[4] = 0x10130000u; /* 028A7CF4 */ cpu->r[3] = cpu->r[11]; /* 028A7CF8 */ cpu->r[4] = cpu->r[4] + 0x00007BA0u; /* 028A7CFC */ _t9 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7CFC */ _t10 = _t9 & 0x00000001u; /* 028A7CFC */ if (_t10) goto L_028A7D00; // else: addr-0 trap, fall-through L_028A7D00: ; // 0x28a7d00 /* 028A7D00 */ Gambit_fn_028A7AA4(cpu); /* 028A7D04 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A7D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A7D08 */ cpu->lr = cpu->r[0]; /* 028A7D0C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7D10 */ cpu->r[3] = 0x00000005u; /* 028A7D14 */ return; L_028A7D18: ; // 0x28a7d18 /* 028A7D18 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A7D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A7D1C */ cpu->lr = cpu->r[0]; /* 028A7D20 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A7D24 */ cpu->r[3] = 0x00000005u; /* 028A7D28 */ return; } // fn_028A7D2C @ 0x28a7d2c void Gambit_fn_028A7D2C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A7D2C: ; // 0x28a7d2c /* 028A7D2C */ cpu->r[0] = cpu->lr; /* 028A7D30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A7D30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7D30 */ cpu->r[1] = _t0; /* 028A7D34 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A7D34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A7D38 */ cpu->r[11] = cpu->r[3]; /* 028A7D3C */ _t2 = cpu->r[1] + 0x00000014u; /* 028A7D3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A7D40 */ Gambit_fn_028A7C78(cpu); /* 028A7D44 */ cpu->r[31] = 0x101F0000u; /* 028A7D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7D4C */ cpu->r[31] = cpu->r[31] + 0x00006F7Cu; /* 028A7D50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7D50 */ _t4 = _t3 & 0x00000001u; /* 028A7D50 */ if (_t4) goto L_028A7E28; else goto L_028A7D54; L_028A7D54: ; // 0x28a7d54 /* 028A7D54 */ _t5 = cpu->r[3] + 0x00000000u; /* 028A7D54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 028A7D58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u); /* 028A7D5C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7D5C */ _t7 = _t6 & 0x00000001u; /* 028A7D5C */ if (_t7) goto L_028A7D60; else goto L_028A7D6C; L_028A7D60: ; // 0x28a7d60 /* 028A7D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u); /* 028A7D64 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7D64 */ _t9 = _t8 & 0x00000001u; /* 028A7D64 */ if (_t9) goto L_028A7DB0; else goto L_028A7D68; L_028A7D68: ; // 0x28a7d68 /* 028A7D68 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7D68 */ _t11 = _t10 & 0x00000001u; /* 028A7D68 */ if (_t11) goto L_028A7DC8; else goto L_028A7D6C; L_028A7D6C: ; // 0x28a7d6c /* 028A7D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u); /* 028A7D70 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7D70 */ _t13 = _t12 & 0x00000001u; /* 028A7D70 */ if (_t13) goto L_028A7DF8; else goto L_028A7D74; L_028A7D74: ; // 0x28a7d74 /* 028A7D74 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7D74 */ _t15 = _t14 & 0x00000001u; /* 028A7D74 */ if (_t15) goto L_028A7E10; else goto L_028A7D78; L_028A7D78: ; // 0x28a7d78 /* 028A7D78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000004u); /* 028A7D7C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7D7C */ _t17 = _t16 & 0x00000001u; /* 028A7D7C */ if (_t17) goto L_028A7DE0; else goto L_028A7D80; L_028A7D80: ; // 0x28a7d80 /* 028A7D80 */ _t18 = cpu->r[4] + 0x00000000u; /* 028A7D80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18); /* 028A7D84 */ cpu->r[4] = 0x10130000u; /* 028A7D88 */ cpu->r[3] = cpu->r[11]; /* 028A7D8C */ cpu->r[4] = cpu->r[4] + 0x00007BC4u; /* 028A7D90 */ _t19 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7D90 */ _t20 = _t19 & 0x00000001u; /* 028A7D90 */ if (_t20) goto L_028A7D94; // else: addr-0 trap, fall-through L_028A7D94: ; // 0x28a7d94 /* 028A7D94 */ Gambit_fn_028A7AA4(cpu); /* 028A7D98 */ _t21 = cpu->r[1] + 0x00000014u; /* 028A7D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028A7D9C */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 028A7DA0 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A7DA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 028A7DA4 */ cpu->lr = cpu->r[0]; /* 028A7DA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7DAC */ return; L_028A7DB0: ; // 0x28a7db0 /* 028A7DB0 */ _t23 = cpu->r[1] + 0x00000014u; /* 028A7DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A7DB4 */ cpu->r[3] = cpu->r[31]; /* 028A7DB8 */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A7DB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 028A7DBC */ cpu->lr = cpu->r[0]; /* 028A7DC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7DC4 */ return; L_028A7DC8: ; // 0x28a7dc8 /* 028A7DC8 */ _t25 = cpu->r[1] + 0x00000014u; /* 028A7DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A7DCC */ cpu->r[3] = cpu->r[31] + 0x00000008u; /* 028A7DD0 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 028A7DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A7DD4 */ cpu->lr = cpu->r[0]; /* 028A7DD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7DDC */ return; L_028A7DE0: ; // 0x28a7de0 /* 028A7DE0 */ _t27 = cpu->r[1] + 0x00000014u; /* 028A7DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 028A7DE4 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 028A7DE8 */ _t28 = cpu->r[1] + 0x0000000Cu; /* 028A7DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 028A7DEC */ cpu->lr = cpu->r[0]; /* 028A7DF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7DF4 */ return; L_028A7DF8: ; // 0x28a7df8 /* 028A7DF8 */ _t29 = cpu->r[1] + 0x00000014u; /* 028A7DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028A7DFC */ cpu->r[3] = cpu->r[31] + 0x00000018u; /* 028A7E00 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028A7E00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 028A7E04 */ cpu->lr = cpu->r[0]; /* 028A7E08 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7E0C */ return; L_028A7E10: ; // 0x28a7e10 /* 028A7E10 */ _t31 = cpu->r[1] + 0x00000014u; /* 028A7E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 028A7E14 */ cpu->r[3] = cpu->r[31] + 0x00000020u; /* 028A7E18 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 028A7E18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 028A7E1C */ cpu->lr = cpu->r[0]; /* 028A7E20 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7E24 */ return; L_028A7E28: ; // 0x28a7e28 /* 028A7E28 */ _t33 = cpu->r[1] + 0x00000014u; /* 028A7E28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 028A7E2C */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 028A7E30 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 028A7E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 028A7E34 */ cpu->lr = cpu->r[0]; /* 028A7E38 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7E3C */ return; } // fn_028A7D30 @ 0x28a7d30 void Gambit_fn_028A7D30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A7D30: ; // 0x28a7d30 /* 028A7D30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A7D30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7D30 */ cpu->r[1] = _t0; /* 028A7D34 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A7D34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A7D38 */ cpu->r[11] = cpu->r[3]; /* 028A7D3C */ _t2 = cpu->r[1] + 0x00000014u; /* 028A7D3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A7D40 */ Gambit_fn_028A7C78(cpu); /* 028A7D44 */ cpu->r[31] = 0x101F0000u; /* 028A7D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7D4C */ cpu->r[31] = cpu->r[31] + 0x00006F7Cu; /* 028A7D50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7D50 */ _t4 = _t3 & 0x00000001u; /* 028A7D50 */ if (_t4) goto L_028A7E28; else goto L_028A7D54; L_028A7D54: ; // 0x28a7d54 /* 028A7D54 */ _t5 = cpu->r[3] + 0x00000000u; /* 028A7D54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 028A7D58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u); /* 028A7D5C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7D5C */ _t7 = _t6 & 0x00000001u; /* 028A7D5C */ if (_t7) goto L_028A7D60; else goto L_028A7D6C; L_028A7D60: ; // 0x28a7d60 /* 028A7D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u); /* 028A7D64 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7D64 */ _t9 = _t8 & 0x00000001u; /* 028A7D64 */ if (_t9) goto L_028A7DB0; else goto L_028A7D68; L_028A7D68: ; // 0x28a7d68 /* 028A7D68 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7D68 */ _t11 = _t10 & 0x00000001u; /* 028A7D68 */ if (_t11) goto L_028A7DC8; else goto L_028A7D6C; L_028A7D6C: ; // 0x28a7d6c /* 028A7D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u); /* 028A7D70 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A7D70 */ _t13 = _t12 & 0x00000001u; /* 028A7D70 */ if (_t13) goto L_028A7DF8; else goto L_028A7D74; L_028A7D74: ; // 0x28a7d74 /* 028A7D74 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7D74 */ _t15 = _t14 & 0x00000001u; /* 028A7D74 */ if (_t15) goto L_028A7E10; else goto L_028A7D78; L_028A7D78: ; // 0x28a7d78 /* 028A7D78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000004u); /* 028A7D7C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7D7C */ _t17 = _t16 & 0x00000001u; /* 028A7D7C */ if (_t17) goto L_028A7DE0; else goto L_028A7D80; L_028A7D80: ; // 0x28a7d80 /* 028A7D80 */ _t18 = cpu->r[4] + 0x00000000u; /* 028A7D80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18); /* 028A7D84 */ cpu->r[4] = 0x10130000u; /* 028A7D88 */ cpu->r[3] = cpu->r[11]; /* 028A7D8C */ cpu->r[4] = cpu->r[4] + 0x00007BC4u; /* 028A7D90 */ _t19 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7D90 */ _t20 = _t19 & 0x00000001u; /* 028A7D90 */ if (_t20) goto L_028A7D94; // else: addr-0 trap, fall-through L_028A7D94: ; // 0x28a7d94 /* 028A7D94 */ Gambit_fn_028A7AA4(cpu); /* 028A7D98 */ _t21 = cpu->r[1] + 0x00000014u; /* 028A7D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028A7D9C */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 028A7DA0 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A7DA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 028A7DA4 */ cpu->lr = cpu->r[0]; /* 028A7DA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7DAC */ return; L_028A7DB0: ; // 0x28a7db0 /* 028A7DB0 */ _t23 = cpu->r[1] + 0x00000014u; /* 028A7DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A7DB4 */ cpu->r[3] = cpu->r[31]; /* 028A7DB8 */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A7DB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 028A7DBC */ cpu->lr = cpu->r[0]; /* 028A7DC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7DC4 */ return; L_028A7DC8: ; // 0x28a7dc8 /* 028A7DC8 */ _t25 = cpu->r[1] + 0x00000014u; /* 028A7DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A7DCC */ cpu->r[3] = cpu->r[31] + 0x00000008u; /* 028A7DD0 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 028A7DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 028A7DD4 */ cpu->lr = cpu->r[0]; /* 028A7DD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7DDC */ return; L_028A7DE0: ; // 0x28a7de0 /* 028A7DE0 */ _t27 = cpu->r[1] + 0x00000014u; /* 028A7DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 028A7DE4 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 028A7DE8 */ _t28 = cpu->r[1] + 0x0000000Cu; /* 028A7DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 028A7DEC */ cpu->lr = cpu->r[0]; /* 028A7DF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7DF4 */ return; L_028A7DF8: ; // 0x28a7df8 /* 028A7DF8 */ _t29 = cpu->r[1] + 0x00000014u; /* 028A7DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028A7DFC */ cpu->r[3] = cpu->r[31] + 0x00000018u; /* 028A7E00 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028A7E00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 028A7E04 */ cpu->lr = cpu->r[0]; /* 028A7E08 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7E0C */ return; L_028A7E10: ; // 0x28a7e10 /* 028A7E10 */ _t31 = cpu->r[1] + 0x00000014u; /* 028A7E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 028A7E14 */ cpu->r[3] = cpu->r[31] + 0x00000020u; /* 028A7E18 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 028A7E18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 028A7E1C */ cpu->lr = cpu->r[0]; /* 028A7E20 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7E24 */ return; L_028A7E28: ; // 0x28a7e28 /* 028A7E28 */ _t33 = cpu->r[1] + 0x00000014u; /* 028A7E28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 028A7E2C */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 028A7E30 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 028A7E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 028A7E34 */ cpu->lr = cpu->r[0]; /* 028A7E38 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A7E3C */ return; } // fn_028A7E40 @ 0x28a7e40 void Gambit_fn_028A7E40(CPUState* cpu) { uint32_t _t0; L_028A7E40: ; // 0x28a7e40 /* 028A7E40 */ _t0 = cpu->r[4] + 0x00000014u; /* 028A7E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 028A7E44 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 028A7E48 */ return; } // fn_028A7E4C @ 0x28a7e4c void Gambit_fn_028A7E4C(CPUState* cpu) { uint32_t _t0; L_028A7E4C: ; // 0x28a7e4c /* 028A7E4C */ _t0 = cpu->r[4] + 0x00000014u; /* 028A7E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 028A7E50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 028A7E54 */ return; } // fn_028A7E58 @ 0x28a7e58 void Gambit_fn_028A7E58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64; L_028A7E58: ; // 0x28a7e58 /* 028A7E58 */ cpu->r[0] = cpu->lr; /* 028A7E5C */ _t0 = cpu->r[1] + 0xFFFFFE70u; /* 028A7E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7E5C */ cpu->r[1] = _t0; /* 028A7E60 */ _t1 = cpu->r[1] + 0x0000018Cu; /* 028A7E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A7E64 */ _t2 = cpu->r[1] + 0x00000188u; /* 028A7E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A7E68 */ _t3 = cpu->r[1] + 0x00000024u; /* 028A7E68 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]); /* 028A7E6C */ _t4 = cpu->r[1] + 0x00000030u; /* 028A7E6C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]); /* 028A7E70 */ _t5 = cpu->r[1] + 0x0000002Cu; /* 028A7E70 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 028A7E74 */ _t6 = cpu->r[1] + 0x00000194u; /* 028A7E74 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A7E78 */ _t7 = cpu->r[1] + 0x00000018u; /* 028A7E78 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]); /* 028A7E7C */ _t8 = cpu->r[1] + 0x00000184u; /* 028A7E7C */ rbrew_write32(cpu->mem, _t8, cpu->r[29]); /* 028A7E80 */ _t9 = cpu->r[1] + 0x00000034u; /* 028A7E80 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 028A7E84 */ _t10 = cpu->r[1] + 0x00000028u; /* 028A7E84 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]); /* 028A7E88 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 028A7E88 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]); /* 028A7E8C */ _t12 = cpu->r[1] + 0x00000020u; /* 028A7E8C */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 028A7E90 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7E90 */ _t14 = _t13 & 0x00000001u; /* 028A7E90 */ if (_t14) goto L_028A7E94; else goto L_028A7EB4; L_028A7E94: ; // 0x28a7e94 /* 028A7E94 */ _t15 = cpu->r[1] + 0x00000048u; /* 028A7E94 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[3]); /* 028A7E98 */ _t16 = cpu->r[1] + 0x00000068u; /* 028A7E98 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[7]); /* 028A7E9C */ _t17 = cpu->r[1] + 0x00000060u; /* 028A7E9C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[6]); /* 028A7EA0 */ _t18 = cpu->r[1] + 0x00000040u; /* 028A7EA0 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[2]); /* 028A7EA4 */ _t19 = cpu->r[1] + 0x00000050u; /* 028A7EA4 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[4]); /* 028A7EA8 */ _t20 = cpu->r[1] + 0x00000070u; /* 028A7EA8 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[8]); /* 028A7EAC */ _t21 = cpu->r[1] + 0x00000058u; /* 028A7EAC */ rbrew_write_f64(cpu->mem, _t21, cpu->f[5]); /* 028A7EB0 */ _t22 = cpu->r[1] + 0x00000038u; /* 028A7EB0 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[1]); L_028A7EB4: ; // 0x28a7eb4 /* 028A7EB4 */ cpu->r[31] = cpu->r[4]; /* 028A7EB8 */ cpu->r[30] = cpu->r[3]; /* 028A7EBC */ Gambit_fn_028A7C6C(cpu); /* 028A7EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7EC4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7EC4 */ _t24 = _t23 & 0x00000001u; /* 028A7EC4 */ if (_t24) goto L_028A7FE4; else goto L_028A7EC8; L_028A7EC8: ; // 0x28a7ec8 /* 028A7EC8 */ cpu->r[12] = 0x10110000u; /* 028A7ECC */ cpu->r[10] = 0x00000003u; /* 028A7ED0 */ _t25 = cpu->r[12] + 0x00007399u; /* 028A7ED0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t25); /* 028A7ED4 */ cpu->r[8] = cpu->r[1] + 0x00000198u; /* 028A7ED8 */ _t26 = cpu->r[1] + 0x00000008u; /* 028A7ED8 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]); /* 028A7EDC */ cpu->r[11] = 0x00000100u; /* 028A7EE0 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 028A7EE0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]); /* 028A7EE4 */ cpu->r[0] = 0x00000000u; /* 028A7EE8 */ _t28 = cpu->r[1] + 0x00000080u; /* 028A7EE8 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]); /* 028A7EEC */ cpu->r[8] = cpu->r[1] + 0x00000084u; /* 028A7EF0 */ _t29 = cpu->r[1] + 0x00000009u; /* 028A7EF0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]); /* 028A7EF4 */ cpu->r[0] = 0x10130000u; /* 028A7EF8 */ _t30 = cpu->r[1] + 0x00000078u; /* 028A7EF8 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]); /* 028A7EFC */ cpu->r[0] = cpu->r[0] + 0x00007B50u; /* 028A7F00 */ _t31 = cpu->r[1] + 0x00000183u; /* 028A7F00 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[12]); /* 028A7F04 */ cpu->r[4] = cpu->r[5]; /* 028A7F08 */ _t32 = cpu->r[1] + 0x0000007Cu; /* 028A7F08 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 028A7F0C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 028A7F10 */ cpu->r[9] = cpu->r[1] + 0x00000018u; /* 028A7F14 */ _t33 = cpu->r[1] + 0x00000084u; /* 028A7F14 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[12]); /* 028A7F18 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7F1C */ _t34 = cpu->r[1] + 0x00000010u; /* 028A7F1C */ rbrew_write32(cpu->mem, _t34, cpu->r[9]); /* 028A7F20 */ Gambit_fn_0282A5DC(cpu); /* 028A7F24 */ _t35 = cpu->r[30] + 0x00000004u; /* 028A7F24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35); /* 028A7F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A7F2C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7F2C */ _t37 = _t36 & 0x00000001u; /* 028A7F2C */ if (_t37) goto L_028A7F8C; else goto L_028A7F30; L_028A7F30: ; // 0x28a7f30 /* 028A7F30 */ _t38 = cpu->r[7] + 0x00000000u; /* 028A7F30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38); /* 028A7F34 */ _t39 = cpu->r[1] + 0x0000007Cu; /* 028A7F34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); /* 028A7F38 */ _t40 = cpu->r[10] + 0x00000014u; /* 028A7F38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40); /* 028A7F3C */ cpu->ctr = cpu->r[5]; /* 028A7F40 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7F44 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7F48 */ _t41 = cpu->r[30] + 0x00000008u; /* 028A7F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41); /* 028A7F4C */ cpu->r[6] = 0x10130000u; /* 028A7F50 */ _t42 = cpu->r[1] + 0x00000078u; /* 028A7F50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42); /* 028A7F54 */ cpu->r[5] = cpu->r[29]; /* 028A7F58 */ _t43 = cpu->r[31] + 0x00000000u; /* 028A7F58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 028A7F5C */ cpu->r[6] = cpu->r[6] + 0x00007BE8u; /* 028A7F60 */ cpu->r[4] = 0x00000012u; /* 028A7F64 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7F64 */ _t45 = _t44 & 0x00000001u; /* 028A7F64 */ if (_t45) goto L_028A7F68; // else: addr-0 trap, fall-through L_028A7F68: ; // 0x28a7f68 /* 028A7F68 */ Gambit_fn_028AA73C(cpu); /* 028A7F6C */ _t46 = cpu->r[1] + 0x00000184u; /* 028A7F6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t46); /* 028A7F70 */ _t47 = cpu->r[1] + 0x00000194u; /* 028A7F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 028A7F74 */ _t48 = cpu->r[1] + 0x0000018Cu; /* 028A7F74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48); /* 028A7F78 */ cpu->lr = cpu->r[0]; /* 028A7F7C */ _t49 = cpu->r[1] + 0x00000188u; /* 028A7F7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 028A7F80 */ cpu->r[1] = cpu->r[1] + 0x00000190u; /* 028A7F84 */ cpu->r[3] = 0x00000000u; /* 028A7F88 */ return; L_028A7F8C: ; // 0x28a7f8c /* 028A7F8C */ _t50 = cpu->r[1] + 0x0000007Cu; /* 028A7F8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t50); /* 028A7F90 */ _t51 = cpu->r[10] + 0x00000014u; /* 028A7F90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51); /* 028A7F94 */ cpu->ctr = cpu->r[5]; /* 028A7F98 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7F9C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7FA0 */ _t52 = cpu->r[30] + 0x00000008u; /* 028A7FA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52); /* 028A7FA4 */ cpu->r[6] = 0x10130000u; /* 028A7FA8 */ _t53 = cpu->r[1] + 0x00000078u; /* 028A7FA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53); /* 028A7FAC */ cpu->r[5] = 0x00000000u; /* 028A7FB0 */ _t54 = cpu->r[31] + 0x00000000u; /* 028A7FB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54); /* 028A7FB4 */ cpu->r[6] = cpu->r[6] + 0x00007BE8u; /* 028A7FB8 */ cpu->r[4] = 0x00000012u; /* 028A7FBC */ _t55 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7FBC */ _t56 = _t55 & 0x00000001u; /* 028A7FBC */ if (_t56) goto L_028A7FC0; // else: addr-0 trap, fall-through L_028A7FC0: ; // 0x28a7fc0 /* 028A7FC0 */ Gambit_fn_028AA73C(cpu); /* 028A7FC4 */ _t57 = cpu->r[1] + 0x00000184u; /* 028A7FC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57); /* 028A7FC8 */ _t58 = cpu->r[1] + 0x00000194u; /* 028A7FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58); /* 028A7FCC */ _t59 = cpu->r[1] + 0x0000018Cu; /* 028A7FCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t59); /* 028A7FD0 */ cpu->lr = cpu->r[0]; /* 028A7FD4 */ _t60 = cpu->r[1] + 0x00000188u; /* 028A7FD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60); /* 028A7FD8 */ cpu->r[1] = cpu->r[1] + 0x00000190u; /* 028A7FDC */ cpu->r[3] = 0x00000000u; /* 028A7FE0 */ return; L_028A7FE4: ; // 0x28a7fe4 /* 028A7FE4 */ _t61 = cpu->r[1] + 0x00000184u; /* 028A7FE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61); /* 028A7FE8 */ _t62 = cpu->r[1] + 0x00000194u; /* 028A7FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 028A7FEC */ _t63 = cpu->r[1] + 0x00000188u; /* 028A7FEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t63); /* 028A7FF0 */ cpu->lr = cpu->r[0]; /* 028A7FF4 */ _t64 = cpu->r[1] + 0x0000018Cu; /* 028A7FF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64); /* 028A7FF8 */ cpu->r[1] = cpu->r[1] + 0x00000190u; /* 028A7FFC */ cpu->r[3] = 0x00000001u; /* 028A8000 */ return; } // fn_028A7E5C @ 0x28a7e5c void Gambit_fn_028A7E5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64; L_028A7E5C: ; // 0x28a7e5c /* 028A7E5C */ _t0 = cpu->r[1] + 0xFFFFFE70u; /* 028A7E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A7E5C */ cpu->r[1] = _t0; /* 028A7E60 */ _t1 = cpu->r[1] + 0x0000018Cu; /* 028A7E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A7E64 */ _t2 = cpu->r[1] + 0x00000188u; /* 028A7E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A7E68 */ _t3 = cpu->r[1] + 0x00000024u; /* 028A7E68 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]); /* 028A7E6C */ _t4 = cpu->r[1] + 0x00000030u; /* 028A7E6C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]); /* 028A7E70 */ _t5 = cpu->r[1] + 0x0000002Cu; /* 028A7E70 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 028A7E74 */ _t6 = cpu->r[1] + 0x00000194u; /* 028A7E74 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A7E78 */ _t7 = cpu->r[1] + 0x00000018u; /* 028A7E78 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]); /* 028A7E7C */ _t8 = cpu->r[1] + 0x00000184u; /* 028A7E7C */ rbrew_write32(cpu->mem, _t8, cpu->r[29]); /* 028A7E80 */ _t9 = cpu->r[1] + 0x00000034u; /* 028A7E80 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 028A7E84 */ _t10 = cpu->r[1] + 0x00000028u; /* 028A7E84 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]); /* 028A7E88 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 028A7E88 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]); /* 028A7E8C */ _t12 = cpu->r[1] + 0x00000020u; /* 028A7E8C */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 028A7E90 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7E90 */ _t14 = _t13 & 0x00000001u; /* 028A7E90 */ if (_t14) goto L_028A7E94; else goto L_028A7EB4; L_028A7E94: ; // 0x28a7e94 /* 028A7E94 */ _t15 = cpu->r[1] + 0x00000048u; /* 028A7E94 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[3]); /* 028A7E98 */ _t16 = cpu->r[1] + 0x00000068u; /* 028A7E98 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[7]); /* 028A7E9C */ _t17 = cpu->r[1] + 0x00000060u; /* 028A7E9C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[6]); /* 028A7EA0 */ _t18 = cpu->r[1] + 0x00000040u; /* 028A7EA0 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[2]); /* 028A7EA4 */ _t19 = cpu->r[1] + 0x00000050u; /* 028A7EA4 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[4]); /* 028A7EA8 */ _t20 = cpu->r[1] + 0x00000070u; /* 028A7EA8 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[8]); /* 028A7EAC */ _t21 = cpu->r[1] + 0x00000058u; /* 028A7EAC */ rbrew_write_f64(cpu->mem, _t21, cpu->f[5]); /* 028A7EB0 */ _t22 = cpu->r[1] + 0x00000038u; /* 028A7EB0 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[1]); L_028A7EB4: ; // 0x28a7eb4 /* 028A7EB4 */ cpu->r[31] = cpu->r[4]; /* 028A7EB8 */ cpu->r[30] = cpu->r[3]; /* 028A7EBC */ Gambit_fn_028A7C6C(cpu); /* 028A7EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A7EC4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7EC4 */ _t24 = _t23 & 0x00000001u; /* 028A7EC4 */ if (_t24) goto L_028A7FE4; else goto L_028A7EC8; L_028A7EC8: ; // 0x28a7ec8 /* 028A7EC8 */ cpu->r[12] = 0x10110000u; /* 028A7ECC */ cpu->r[10] = 0x00000003u; /* 028A7ED0 */ _t25 = cpu->r[12] + 0x00007399u; /* 028A7ED0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t25); /* 028A7ED4 */ cpu->r[8] = cpu->r[1] + 0x00000198u; /* 028A7ED8 */ _t26 = cpu->r[1] + 0x00000008u; /* 028A7ED8 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]); /* 028A7EDC */ cpu->r[11] = 0x00000100u; /* 028A7EE0 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 028A7EE0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]); /* 028A7EE4 */ cpu->r[0] = 0x00000000u; /* 028A7EE8 */ _t28 = cpu->r[1] + 0x00000080u; /* 028A7EE8 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]); /* 028A7EEC */ cpu->r[8] = cpu->r[1] + 0x00000084u; /* 028A7EF0 */ _t29 = cpu->r[1] + 0x00000009u; /* 028A7EF0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]); /* 028A7EF4 */ cpu->r[0] = 0x10130000u; /* 028A7EF8 */ _t30 = cpu->r[1] + 0x00000078u; /* 028A7EF8 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]); /* 028A7EFC */ cpu->r[0] = cpu->r[0] + 0x00007B50u; /* 028A7F00 */ _t31 = cpu->r[1] + 0x00000183u; /* 028A7F00 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[12]); /* 028A7F04 */ cpu->r[4] = cpu->r[5]; /* 028A7F08 */ _t32 = cpu->r[1] + 0x0000007Cu; /* 028A7F08 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 028A7F0C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 028A7F10 */ cpu->r[9] = cpu->r[1] + 0x00000018u; /* 028A7F14 */ _t33 = cpu->r[1] + 0x00000084u; /* 028A7F14 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[12]); /* 028A7F18 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7F1C */ _t34 = cpu->r[1] + 0x00000010u; /* 028A7F1C */ rbrew_write32(cpu->mem, _t34, cpu->r[9]); /* 028A7F20 */ Gambit_fn_0282A5DC(cpu); /* 028A7F24 */ _t35 = cpu->r[30] + 0x00000004u; /* 028A7F24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35); /* 028A7F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A7F2C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A7F2C */ _t37 = _t36 & 0x00000001u; /* 028A7F2C */ if (_t37) goto L_028A7F8C; else goto L_028A7F30; L_028A7F30: ; // 0x28a7f30 /* 028A7F30 */ _t38 = cpu->r[7] + 0x00000000u; /* 028A7F30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38); /* 028A7F34 */ _t39 = cpu->r[1] + 0x0000007Cu; /* 028A7F34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); /* 028A7F38 */ _t40 = cpu->r[10] + 0x00000014u; /* 028A7F38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40); /* 028A7F3C */ cpu->ctr = cpu->r[5]; /* 028A7F40 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7F44 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7F48 */ _t41 = cpu->r[30] + 0x00000008u; /* 028A7F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41); /* 028A7F4C */ cpu->r[6] = 0x10130000u; /* 028A7F50 */ _t42 = cpu->r[1] + 0x00000078u; /* 028A7F50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42); /* 028A7F54 */ cpu->r[5] = cpu->r[29]; /* 028A7F58 */ _t43 = cpu->r[31] + 0x00000000u; /* 028A7F58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 028A7F5C */ cpu->r[6] = cpu->r[6] + 0x00007BE8u; /* 028A7F60 */ cpu->r[4] = 0x00000012u; /* 028A7F64 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7F64 */ _t45 = _t44 & 0x00000001u; /* 028A7F64 */ if (_t45) goto L_028A7F68; // else: addr-0 trap, fall-through L_028A7F68: ; // 0x28a7f68 /* 028A7F68 */ Gambit_fn_028AA73C(cpu); /* 028A7F6C */ _t46 = cpu->r[1] + 0x00000184u; /* 028A7F6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t46); /* 028A7F70 */ _t47 = cpu->r[1] + 0x00000194u; /* 028A7F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 028A7F74 */ _t48 = cpu->r[1] + 0x0000018Cu; /* 028A7F74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48); /* 028A7F78 */ cpu->lr = cpu->r[0]; /* 028A7F7C */ _t49 = cpu->r[1] + 0x00000188u; /* 028A7F7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 028A7F80 */ cpu->r[1] = cpu->r[1] + 0x00000190u; /* 028A7F84 */ cpu->r[3] = 0x00000000u; /* 028A7F88 */ return; L_028A7F8C: ; // 0x28a7f8c /* 028A7F8C */ _t50 = cpu->r[1] + 0x0000007Cu; /* 028A7F8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t50); /* 028A7F90 */ _t51 = cpu->r[10] + 0x00000014u; /* 028A7F90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51); /* 028A7F94 */ cpu->ctr = cpu->r[5]; /* 028A7F98 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 028A7F9C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A7FA0 */ _t52 = cpu->r[30] + 0x00000008u; /* 028A7FA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52); /* 028A7FA4 */ cpu->r[6] = 0x10130000u; /* 028A7FA8 */ _t53 = cpu->r[1] + 0x00000078u; /* 028A7FA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53); /* 028A7FAC */ cpu->r[5] = 0x00000000u; /* 028A7FB0 */ _t54 = cpu->r[31] + 0x00000000u; /* 028A7FB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54); /* 028A7FB4 */ cpu->r[6] = cpu->r[6] + 0x00007BE8u; /* 028A7FB8 */ cpu->r[4] = 0x00000012u; /* 028A7FBC */ _t55 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A7FBC */ _t56 = _t55 & 0x00000001u; /* 028A7FBC */ if (_t56) goto L_028A7FC0; // else: addr-0 trap, fall-through L_028A7FC0: ; // 0x28a7fc0 /* 028A7FC0 */ Gambit_fn_028AA73C(cpu); /* 028A7FC4 */ _t57 = cpu->r[1] + 0x00000184u; /* 028A7FC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57); /* 028A7FC8 */ _t58 = cpu->r[1] + 0x00000194u; /* 028A7FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58); /* 028A7FCC */ _t59 = cpu->r[1] + 0x0000018Cu; /* 028A7FCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t59); /* 028A7FD0 */ cpu->lr = cpu->r[0]; /* 028A7FD4 */ _t60 = cpu->r[1] + 0x00000188u; /* 028A7FD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60); /* 028A7FD8 */ cpu->r[1] = cpu->r[1] + 0x00000190u; /* 028A7FDC */ cpu->r[3] = 0x00000000u; /* 028A7FE0 */ return; L_028A7FE4: ; // 0x28a7fe4 /* 028A7FE4 */ _t61 = cpu->r[1] + 0x00000184u; /* 028A7FE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61); /* 028A7FE8 */ _t62 = cpu->r[1] + 0x00000194u; /* 028A7FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 028A7FEC */ _t63 = cpu->r[1] + 0x00000188u; /* 028A7FEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t63); /* 028A7FF0 */ cpu->lr = cpu->r[0]; /* 028A7FF4 */ _t64 = cpu->r[1] + 0x0000018Cu; /* 028A7FF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64); /* 028A7FF8 */ cpu->r[1] = cpu->r[1] + 0x00000190u; /* 028A7FFC */ cpu->r[3] = 0x00000001u; /* 028A8000 */ return; } // fn_028A8004 @ 0x28a8004 void Gambit_fn_028A8004(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A8004: ; // 0x28a8004 /* 028A8004 */ cpu->r[0] = cpu->lr; /* 028A8008 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A8008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8008 */ cpu->r[1] = _t0; /* 028A800C */ _t1 = cpu->r[1] + 0x00000014u; /* 028A800C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8010 */ cpu->r[31] = cpu->r[5]; /* 028A8014 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A8014 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A8018 */ cpu->r[5] = 0x10130000u; /* 028A801C */ cpu->r[5] = cpu->r[5] + 0x00007C00u; /* 028A8020 */ cpu->r[30] = cpu->r[4]; /* 028A8024 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A8024 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A8028 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A8028 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A802C */ cpu->r[29] = 0x00000000u; /* 028A8030 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8030 */ _t6 = _t5 & 0x00000001u; /* 028A8030 */ if (_t6) goto L_028A8034; // else: addr-0 trap, fall-through L_028A8034: ; // 0x28a8034 /* 028A8034 */ Gambit_fn_028A7E58(cpu); /* 028A8038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A803C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A803C */ _t8 = _t7 & 0x00000001u; /* 028A803C */ if (_t8) goto L_028A804C; else goto L_028A8040; L_028A8040: ; // 0x28a8040 /* 028A8040 */ _t9 = cpu->r[30] + 0x00000018u; /* 028A8040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 028A8044 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A8048 */ cpu->r[29] = cpu->r[12] + cpu->r[0]; L_028A804C: ; // 0x28a804c /* 028A804C */ cpu->r[3] = cpu->r[29]; /* 028A8050 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A8050 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 028A8054 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 028A8054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A8058 */ _t12 = cpu->r[1] + 0x00000010u; /* 028A8058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 028A805C */ cpu->lr = cpu->r[0]; /* 028A8060 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A8060 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028A8064 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8068 */ return; } // fn_028A8008 @ 0x28a8008 void Gambit_fn_028A8008(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A8008: ; // 0x28a8008 /* 028A8008 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A8008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8008 */ cpu->r[1] = _t0; /* 028A800C */ _t1 = cpu->r[1] + 0x00000014u; /* 028A800C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8010 */ cpu->r[31] = cpu->r[5]; /* 028A8014 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A8014 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A8018 */ cpu->r[5] = 0x10130000u; /* 028A801C */ cpu->r[5] = cpu->r[5] + 0x00007C00u; /* 028A8020 */ cpu->r[30] = cpu->r[4]; /* 028A8024 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A8024 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A8028 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A8028 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A802C */ cpu->r[29] = 0x00000000u; /* 028A8030 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8030 */ _t6 = _t5 & 0x00000001u; /* 028A8030 */ if (_t6) goto L_028A8034; // else: addr-0 trap, fall-through L_028A8034: ; // 0x28a8034 /* 028A8034 */ Gambit_fn_028A7E58(cpu); /* 028A8038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A803C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A803C */ _t8 = _t7 & 0x00000001u; /* 028A803C */ if (_t8) goto L_028A804C; else goto L_028A8040; L_028A8040: ; // 0x28a8040 /* 028A8040 */ _t9 = cpu->r[30] + 0x00000018u; /* 028A8040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 028A8044 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A8048 */ cpu->r[29] = cpu->r[12] + cpu->r[0]; L_028A804C: ; // 0x28a804c /* 028A804C */ cpu->r[3] = cpu->r[29]; /* 028A8050 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A8050 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 028A8054 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 028A8054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A8058 */ _t12 = cpu->r[1] + 0x00000010u; /* 028A8058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 028A805C */ cpu->lr = cpu->r[0]; /* 028A8060 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A8060 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028A8064 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8068 */ return; } // fn_028A806C @ 0x28a806c void Gambit_fn_028A806C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_028A806C: ; // 0x28a806c /* 028A806C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A8070 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8070 */ _t1 = _t0 & 0x00000001u; /* 028A8070 */ if (_t1) goto L_028A8090; else goto L_028A8074; L_028A8074: ; // 0x28a8074 /* 028A8074 */ _t2 = cpu->r[3] + 0x00000004u; /* 028A8074 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 028A8078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A807C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A807C */ _t4 = _t3 & 0x00000001u; /* 028A807C */ if (_t4) goto L_028A8090; else goto L_028A8080; L_028A8080: ; // 0x28a8080 /* 028A8080 */ _t5 = cpu->r[11] + 0x00000044u; /* 028A8080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 028A8084 */ _t6 = cpu->r[4] + 0x00000004u; /* 028A8084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A8088 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; /* 028A808C */ return; L_028A8090: ; // 0x28a8090 /* 028A8090 */ cpu->r[3] = 0x00000000u; /* 028A8094 */ return; } // fn_028A8098 @ 0x28a8098 void Gambit_fn_028A8098(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028A8098: ; // 0x28a8098 /* 028A8098 */ cpu->r[0] = cpu->lr; /* 028A809C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A809C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A809C */ cpu->r[1] = _t0; /* 028A80A0 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A80A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A80A4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A80A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 028A80A8 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A80A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A80AC */ cpu->r[28] = cpu->r[3]; /* 028A80B0 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A80B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A80B4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A80B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A80B8 */ cpu->r[29] = cpu->r[4]; /* 028A80BC */ _t6 = cpu->r[28] + 0x00000008u; /* 028A80BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A80C0 */ cpu->r[30] = cpu->r[5]; /* 028A80C4 */ Gambit_fn_028AA0E8(cpu); /* 028A80C8 */ _t7 = cpu->r[3] + 0x00000020u; /* 028A80C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 028A80CC */ _t8 = cpu->r[3] + 0x00000004u; /* 028A80CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A80D0 */ cpu->r[31] = cpu->r[11] + cpu->r[29]; /* 028A80D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028A80D8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A80D8 */ _t10 = _t9 & 0x00000001u; /* 028A80D8 */ if (_t10) goto L_028A816C; else goto L_028A80DC; L_028A80DC: ; // 0x28a80dc /* 028A80DC */ _t11 = cpu->r[28] + 0x00000004u; /* 028A80DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A80E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A80E4 */ _t12 = cpu->r[28] + 0x00000008u; /* 028A80E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028A80E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A80E8 */ _t14 = _t13 & 0x00000001u; /* 028A80E8 */ if (_t14) goto L_028A812C; else goto L_028A80EC; L_028A80EC: ; // 0x28a80ec /* 028A80EC */ cpu->r[6] = 0x10130000u; /* 028A80F0 */ _t15 = cpu->r[9] + 0x00000000u; /* 028A80F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15); /* 028A80F4 */ cpu->r[7] = cpu->r[29]; /* 028A80F8 */ cpu->r[6] = cpu->r[6] + 0x00007C08u; /* 028A80FC */ cpu->r[4] = 0x0000001Au; /* 028A8100 */ _t16 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8100 */ _t17 = _t16 & 0x00000001u; /* 028A8100 */ if (_t17) goto L_028A8104; // else: addr-0 trap, fall-through L_028A8104: ; // 0x28a8104 /* 028A8104 */ Gambit_fn_028AA73C(cpu); /* 028A8108 */ _t18 = cpu->r[1] + 0x00000008u; /* 028A8108 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 028A810C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 028A810C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 028A8110 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 028A8110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028A8114 */ _t21 = cpu->r[1] + 0x00000014u; /* 028A8114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A8118 */ cpu->lr = cpu->r[0]; /* 028A811C */ _t22 = cpu->r[1] + 0x00000010u; /* 028A811C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 028A8120 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8124 */ cpu->r[3] = 0x00000000u; /* 028A8128 */ return; L_028A812C: ; // 0x28a812c /* 028A812C */ cpu->r[6] = 0x10130000u; /* 028A8130 */ cpu->r[4] = 0x0000001Au; /* 028A8134 */ cpu->r[6] = cpu->r[6] + 0x00007C08u; /* 028A8138 */ cpu->r[7] = cpu->r[29]; /* 028A813C */ cpu->r[5] = 0x00000000u; /* 028A8140 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8140 */ _t24 = _t23 & 0x00000001u; /* 028A8140 */ if (_t24) goto L_028A8144; // else: addr-0 trap, fall-through L_028A8144: ; // 0x28a8144 /* 028A8144 */ Gambit_fn_028AA73C(cpu); /* 028A8148 */ _t25 = cpu->r[1] + 0x00000008u; /* 028A8148 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25); /* 028A814C */ _t26 = cpu->r[1] + 0x0000000Cu; /* 028A814C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26); /* 028A8150 */ _t27 = cpu->r[1] + 0x0000001Cu; /* 028A8150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 028A8154 */ _t28 = cpu->r[1] + 0x00000010u; /* 028A8154 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28); /* 028A8158 */ cpu->lr = cpu->r[0]; /* 028A815C */ _t29 = cpu->r[1] + 0x00000014u; /* 028A815C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 028A8160 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8164 */ cpu->r[3] = 0x00000000u; /* 028A8168 */ return; L_028A816C: ; // 0x28a816c /* 028A816C */ cpu->r[4] = cpu->r[31]; /* 028A8170 */ Gambit_fn_028B7B8C(cpu); /* 028A8174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8178 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8178 */ _t31 = _t30 & 0x00000001u; /* 028A8178 */ if (_t31) goto L_028A820C; else goto L_028A817C; L_028A817C: ; // 0x28a817c /* 028A817C */ _t32 = cpu->r[28] + 0x00000004u; /* 028A817C */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 028A8180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A8184 */ _t33 = cpu->r[28] + 0x00000008u; /* 028A8184 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33); /* 028A8188 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8188 */ _t35 = _t34 & 0x00000001u; /* 028A8188 */ if (_t35) goto L_028A81CC; else goto L_028A818C; L_028A818C: ; // 0x28a818c /* 028A818C */ cpu->r[6] = 0x10130000u; /* 028A8190 */ _t36 = cpu->r[9] + 0x00000000u; /* 028A8190 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 028A8194 */ cpu->r[7] = cpu->r[29]; /* 028A8198 */ cpu->r[6] = cpu->r[6] + 0x00007C28u; /* 028A819C */ cpu->r[4] = 0x0000001Au; /* 028A81A0 */ _t37 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A81A0 */ _t38 = _t37 & 0x00000001u; /* 028A81A0 */ if (_t38) goto L_028A81A4; // else: addr-0 trap, fall-through L_028A81A4: ; // 0x28a81a4 /* 028A81A4 */ Gambit_fn_028AA73C(cpu); /* 028A81A8 */ _t39 = cpu->r[1] + 0x00000008u; /* 028A81A8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39); /* 028A81AC */ _t40 = cpu->r[1] + 0x0000000Cu; /* 028A81AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t40); /* 028A81B0 */ _t41 = cpu->r[1] + 0x0000001Cu; /* 028A81B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 028A81B4 */ _t42 = cpu->r[1] + 0x00000014u; /* 028A81B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42); /* 028A81B8 */ cpu->lr = cpu->r[0]; /* 028A81BC */ _t43 = cpu->r[1] + 0x00000010u; /* 028A81BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43); /* 028A81C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A81C4 */ cpu->r[3] = 0x00000000u; /* 028A81C8 */ return; L_028A81CC: ; // 0x28a81cc /* 028A81CC */ cpu->r[6] = 0x10130000u; /* 028A81D0 */ cpu->r[4] = 0x0000001Au; /* 028A81D4 */ cpu->r[6] = cpu->r[6] + 0x00007C28u; /* 028A81D8 */ cpu->r[7] = cpu->r[29]; /* 028A81DC */ cpu->r[5] = 0x00000000u; /* 028A81E0 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A81E0 */ _t45 = _t44 & 0x00000001u; /* 028A81E0 */ if (_t45) goto L_028A81E4; // else: addr-0 trap, fall-through L_028A81E4: ; // 0x28a81e4 /* 028A81E4 */ Gambit_fn_028AA73C(cpu); /* 028A81E8 */ _t46 = cpu->r[1] + 0x00000008u; /* 028A81E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46); /* 028A81EC */ _t47 = cpu->r[1] + 0x0000000Cu; /* 028A81EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t47); /* 028A81F0 */ _t48 = cpu->r[1] + 0x0000001Cu; /* 028A81F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 028A81F4 */ _t49 = cpu->r[1] + 0x00000010u; /* 028A81F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 028A81F8 */ cpu->lr = cpu->r[0]; /* 028A81FC */ _t50 = cpu->r[1] + 0x00000014u; /* 028A81FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t50); /* 028A8200 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8204 */ cpu->r[3] = 0x00000000u; /* 028A8208 */ return; L_028A820C: ; // 0x28a820c /* 028A820C */ cpu->r[5] = cpu->r[31]; /* 028A8210 */ cpu->r[4] = cpu->r[30]; /* 028A8214 */ cpu->r[3] = cpu->r[28]; /* 028A8218 */ Gambit_fn_028A8004(cpu); /* 028A821C */ cpu->r[12] = cpu->r[3]; /* 028A821C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A8220 */ cpu->r[3] = 0x00000000u; /* 028A8224 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8224 */ _t52 = _t51 & 0x00000001u; /* 028A8224 */ if (_t52) goto L_028A822C; else goto L_028A8228; L_028A8228: ; // 0x28a8228 /* 028A8228 */ _t53 = cpu->r[12] + 0x00000004u; /* 028A8228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53); L_028A822C: ; // 0x28a822c /* 028A822C */ _t54 = cpu->r[1] + 0x00000008u; /* 028A822C */ cpu->r[28] = rbrew_read32(cpu->mem, _t54); /* 028A8230 */ _t55 = cpu->r[1] + 0x0000000Cu; /* 028A8230 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55); /* 028A8234 */ _t56 = cpu->r[1] + 0x0000001Cu; /* 028A8234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 028A8238 */ _t57 = cpu->r[1] + 0x00000010u; /* 028A8238 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57); /* 028A823C */ cpu->lr = cpu->r[0]; /* 028A8240 */ _t58 = cpu->r[1] + 0x00000014u; /* 028A8240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58); /* 028A8244 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8248 */ return; } // fn_028A809C @ 0x28a809c void Gambit_fn_028A809C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028A809C: ; // 0x28a809c /* 028A809C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A809C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A809C */ cpu->r[1] = _t0; /* 028A80A0 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A80A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A80A4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A80A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 028A80A8 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A80A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A80AC */ cpu->r[28] = cpu->r[3]; /* 028A80B0 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A80B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A80B4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A80B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A80B8 */ cpu->r[29] = cpu->r[4]; /* 028A80BC */ _t6 = cpu->r[28] + 0x00000008u; /* 028A80BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A80C0 */ cpu->r[30] = cpu->r[5]; /* 028A80C4 */ Gambit_fn_028AA0E8(cpu); /* 028A80C8 */ _t7 = cpu->r[3] + 0x00000020u; /* 028A80C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 028A80CC */ _t8 = cpu->r[3] + 0x00000004u; /* 028A80CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A80D0 */ cpu->r[31] = cpu->r[11] + cpu->r[29]; /* 028A80D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028A80D8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A80D8 */ _t10 = _t9 & 0x00000001u; /* 028A80D8 */ if (_t10) goto L_028A816C; else goto L_028A80DC; L_028A80DC: ; // 0x28a80dc /* 028A80DC */ _t11 = cpu->r[28] + 0x00000004u; /* 028A80DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A80E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A80E4 */ _t12 = cpu->r[28] + 0x00000008u; /* 028A80E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028A80E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A80E8 */ _t14 = _t13 & 0x00000001u; /* 028A80E8 */ if (_t14) goto L_028A812C; else goto L_028A80EC; L_028A80EC: ; // 0x28a80ec /* 028A80EC */ cpu->r[6] = 0x10130000u; /* 028A80F0 */ _t15 = cpu->r[9] + 0x00000000u; /* 028A80F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15); /* 028A80F4 */ cpu->r[7] = cpu->r[29]; /* 028A80F8 */ cpu->r[6] = cpu->r[6] + 0x00007C08u; /* 028A80FC */ cpu->r[4] = 0x0000001Au; /* 028A8100 */ _t16 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8100 */ _t17 = _t16 & 0x00000001u; /* 028A8100 */ if (_t17) goto L_028A8104; // else: addr-0 trap, fall-through L_028A8104: ; // 0x28a8104 /* 028A8104 */ Gambit_fn_028AA73C(cpu); /* 028A8108 */ _t18 = cpu->r[1] + 0x00000008u; /* 028A8108 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 028A810C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 028A810C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 028A8110 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 028A8110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028A8114 */ _t21 = cpu->r[1] + 0x00000014u; /* 028A8114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A8118 */ cpu->lr = cpu->r[0]; /* 028A811C */ _t22 = cpu->r[1] + 0x00000010u; /* 028A811C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 028A8120 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8124 */ cpu->r[3] = 0x00000000u; /* 028A8128 */ return; L_028A812C: ; // 0x28a812c /* 028A812C */ cpu->r[6] = 0x10130000u; /* 028A8130 */ cpu->r[4] = 0x0000001Au; /* 028A8134 */ cpu->r[6] = cpu->r[6] + 0x00007C08u; /* 028A8138 */ cpu->r[7] = cpu->r[29]; /* 028A813C */ cpu->r[5] = 0x00000000u; /* 028A8140 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8140 */ _t24 = _t23 & 0x00000001u; /* 028A8140 */ if (_t24) goto L_028A8144; // else: addr-0 trap, fall-through L_028A8144: ; // 0x28a8144 /* 028A8144 */ Gambit_fn_028AA73C(cpu); /* 028A8148 */ _t25 = cpu->r[1] + 0x00000008u; /* 028A8148 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25); /* 028A814C */ _t26 = cpu->r[1] + 0x0000000Cu; /* 028A814C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26); /* 028A8150 */ _t27 = cpu->r[1] + 0x0000001Cu; /* 028A8150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 028A8154 */ _t28 = cpu->r[1] + 0x00000010u; /* 028A8154 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28); /* 028A8158 */ cpu->lr = cpu->r[0]; /* 028A815C */ _t29 = cpu->r[1] + 0x00000014u; /* 028A815C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 028A8160 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8164 */ cpu->r[3] = 0x00000000u; /* 028A8168 */ return; L_028A816C: ; // 0x28a816c /* 028A816C */ cpu->r[4] = cpu->r[31]; /* 028A8170 */ Gambit_fn_028B7B8C(cpu); /* 028A8174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8178 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8178 */ _t31 = _t30 & 0x00000001u; /* 028A8178 */ if (_t31) goto L_028A820C; else goto L_028A817C; L_028A817C: ; // 0x28a817c /* 028A817C */ _t32 = cpu->r[28] + 0x00000004u; /* 028A817C */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 028A8180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A8184 */ _t33 = cpu->r[28] + 0x00000008u; /* 028A8184 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33); /* 028A8188 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8188 */ _t35 = _t34 & 0x00000001u; /* 028A8188 */ if (_t35) goto L_028A81CC; else goto L_028A818C; L_028A818C: ; // 0x28a818c /* 028A818C */ cpu->r[6] = 0x10130000u; /* 028A8190 */ _t36 = cpu->r[9] + 0x00000000u; /* 028A8190 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 028A8194 */ cpu->r[7] = cpu->r[29]; /* 028A8198 */ cpu->r[6] = cpu->r[6] + 0x00007C28u; /* 028A819C */ cpu->r[4] = 0x0000001Au; /* 028A81A0 */ _t37 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A81A0 */ _t38 = _t37 & 0x00000001u; /* 028A81A0 */ if (_t38) goto L_028A81A4; // else: addr-0 trap, fall-through L_028A81A4: ; // 0x28a81a4 /* 028A81A4 */ Gambit_fn_028AA73C(cpu); /* 028A81A8 */ _t39 = cpu->r[1] + 0x00000008u; /* 028A81A8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39); /* 028A81AC */ _t40 = cpu->r[1] + 0x0000000Cu; /* 028A81AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t40); /* 028A81B0 */ _t41 = cpu->r[1] + 0x0000001Cu; /* 028A81B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 028A81B4 */ _t42 = cpu->r[1] + 0x00000014u; /* 028A81B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42); /* 028A81B8 */ cpu->lr = cpu->r[0]; /* 028A81BC */ _t43 = cpu->r[1] + 0x00000010u; /* 028A81BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43); /* 028A81C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A81C4 */ cpu->r[3] = 0x00000000u; /* 028A81C8 */ return; L_028A81CC: ; // 0x28a81cc /* 028A81CC */ cpu->r[6] = 0x10130000u; /* 028A81D0 */ cpu->r[4] = 0x0000001Au; /* 028A81D4 */ cpu->r[6] = cpu->r[6] + 0x00007C28u; /* 028A81D8 */ cpu->r[7] = cpu->r[29]; /* 028A81DC */ cpu->r[5] = 0x00000000u; /* 028A81E0 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A81E0 */ _t45 = _t44 & 0x00000001u; /* 028A81E0 */ if (_t45) goto L_028A81E4; // else: addr-0 trap, fall-through L_028A81E4: ; // 0x28a81e4 /* 028A81E4 */ Gambit_fn_028AA73C(cpu); /* 028A81E8 */ _t46 = cpu->r[1] + 0x00000008u; /* 028A81E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46); /* 028A81EC */ _t47 = cpu->r[1] + 0x0000000Cu; /* 028A81EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t47); /* 028A81F0 */ _t48 = cpu->r[1] + 0x0000001Cu; /* 028A81F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 028A81F4 */ _t49 = cpu->r[1] + 0x00000010u; /* 028A81F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 028A81F8 */ cpu->lr = cpu->r[0]; /* 028A81FC */ _t50 = cpu->r[1] + 0x00000014u; /* 028A81FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t50); /* 028A8200 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8204 */ cpu->r[3] = 0x00000000u; /* 028A8208 */ return; L_028A820C: ; // 0x28a820c /* 028A820C */ cpu->r[5] = cpu->r[31]; /* 028A8210 */ cpu->r[4] = cpu->r[30]; /* 028A8214 */ cpu->r[3] = cpu->r[28]; /* 028A8218 */ Gambit_fn_028A8004(cpu); /* 028A821C */ cpu->r[12] = cpu->r[3]; /* 028A821C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A8220 */ cpu->r[3] = 0x00000000u; /* 028A8224 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8224 */ _t52 = _t51 & 0x00000001u; /* 028A8224 */ if (_t52) goto L_028A822C; else goto L_028A8228; L_028A8228: ; // 0x28a8228 /* 028A8228 */ _t53 = cpu->r[12] + 0x00000004u; /* 028A8228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53); L_028A822C: ; // 0x28a822c /* 028A822C */ _t54 = cpu->r[1] + 0x00000008u; /* 028A822C */ cpu->r[28] = rbrew_read32(cpu->mem, _t54); /* 028A8230 */ _t55 = cpu->r[1] + 0x0000000Cu; /* 028A8230 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55); /* 028A8234 */ _t56 = cpu->r[1] + 0x0000001Cu; /* 028A8234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 028A8238 */ _t57 = cpu->r[1] + 0x00000010u; /* 028A8238 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57); /* 028A823C */ cpu->lr = cpu->r[0]; /* 028A8240 */ _t58 = cpu->r[1] + 0x00000014u; /* 028A8240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58); /* 028A8244 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8248 */ return; } // fn_028A824C @ 0x28a824c void Gambit_fn_028A824C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62; L_028A824C: ; // 0x28a824c /* 028A824C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A824C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A824C */ cpu->r[1] = _t0; /* 028A8250 */ _t1 = cpu->r[3] + 0x00000004u; /* 028A8250 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1); /* 028A8254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A8258 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8258 */ _t3 = _t2 & 0x00000001u; /* 028A8258 */ if (_t3) goto L_028A825C; else goto L_028A826C; L_028A825C: ; // 0x28a825c /* 028A825C */ cpu->r[8] = 0x10130000u; /* 028A8260 */ _t4 = cpu->r[8] + 0x00007C40u; /* 028A8260 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4); /* 028A8264 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8268 */ return; L_028A826C: ; // 0x28a826c /* 028A826C */ _t5 = cpu->r[4] + 0x0000000Cu; /* 028A826C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A8270 */ cpu->r[6] = 0x10130000u; /* 028A8274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A8278 */ _t6 = cpu->r[6] + 0x00007C44u; /* 028A8278 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6); /* 028A827C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A827C */ _t8 = _t7 & 0x00000001u; /* 028A827C */ if (_t8) goto L_028A8328; else goto L_028A8280; L_028A8280: ; // 0x28a8280 /* 028A8280 */ _t9 = cpu->r[4] + 0x00000006u; /* 028A8280 */ cpu->r[12] = rbrew_read16(cpu->mem, _t9); /* 028A8284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u); /* 028A8288 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8288 */ _t11 = _t10 & 0x00000001u; /* 028A8288 */ if (_t11) goto L_028A828C; else goto L_028A82A4; L_028A828C: ; // 0x28a828c /* 028A828C */ _t12 = cpu->r[3] + 0x00000008u; /* 028A828C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12); /* 028A8290 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 028A8294 */ _t13 = cpu->r[9] + 0x00000034u; /* 028A8294 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 028A8298 */ cpu->r[11] = cpu->r[10] + cpu->r[6]; /* 028A8298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A829C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A829C */ _t15 = _t14 & 0x00000001u; /* 028A829C */ if (_t15) goto L_028A82A0; else goto L_028A82B4; L_028A82A0: ; // 0x28a82a0 /* 028A82A0 */ goto L_028A8328; L_028A82A4: ; // 0x28a82a4 /* 028A82A4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 028A82A8 */ _t16 = cpu->r[5] + 0x00000050u; /* 028A82A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A82AC */ cpu->r[11] = cpu->r[10] + cpu->r[6]; /* 028A82AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A82B0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A82B0 */ _t18 = _t17 & 0x00000001u; /* 028A82B0 */ if (_t18) goto L_028A8328; else goto L_028A82B4; L_028A82B4: ; // 0x28a82b4 /* 028A82B4 */ _t19 = cpu->r[11] + 0x00000000u; /* 028A82B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 028A82B8 */ _t20 = cpu->r[10] + 0x0000004Cu; /* 028A82B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 028A82BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u); /* 028A82C0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A82C0 */ _t22 = _t21 & 0x00000001u; /* 028A82C0 */ if (_t22) goto L_028A82C4; else goto L_028A82DC; L_028A82C4: ; // 0x28a82c4 /* 028A82C4 */ _t23 = cpu->r[7] + 0x00000050u; /* 028A82C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 028A82C8 */ _t24 = cpu->r[11] + 0x00000004u; /* 028A82C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24); /* 028A82CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A82D0 */ _t25 = cpu->r[4] + 0x00000002u; /* 028A82D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t25); /* 028A82D4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A82D4 */ _t27 = _t26 & 0x00000001u; /* 028A82D4 */ if (_t27) goto L_028A8320; else goto L_028A82D8; L_028A82D8: ; // 0x28a82d8 /* 028A82D8 */ goto L_028A8314; L_028A82DC: ; // 0x28a82dc /* 028A82DC */ cpu->r[5] = 0x10130000u; /* 028A82E0 */ _t28 = cpu->r[11] + 0x00000004u; /* 028A82E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028A82E4 */ _t29 = cpu->r[5] + 0x00007C48u; /* 028A82E4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t29); /* 028A82E8 */ cpu->r[5] = 0x43300000u; /* 028A82EC */ cpu->r[0] = cpu->r[0] ^ 0x80000000u; /* 028A82F0 */ _t30 = cpu->r[1] + 0x00000008u; /* 028A82F0 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]); /* 028A82F4 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 028A82F4 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]); /* 028A82F8 */ _t32 = cpu->r[1] + 0x00000008u; /* 028A82F8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t32); /* 028A82FC */ _t33 = cpu->r[7] + 0x00000050u; /* 028A82FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 028A8300 */ cpu->f[12] = cpu->f[11] - cpu->f[13]; /* 028A8304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A8308 */ _t34 = cpu->r[4] + 0x00000002u; /* 028A8308 */ cpu->r[0] = rbrew_read16(cpu->mem, _t34); /* 028A830C */ cpu->f[13] = (double)(float)cpu->f[12]; /* 028A8310 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8310 */ _t36 = _t35 & 0x00000001u; /* 028A8310 */ if (_t36) goto L_028A8320; else goto L_028A8314; L_028A8314: ; // 0x28a8314 /* 028A8314 */ _t37 = cpu->r[4] + 0x00000000u; /* 028A8314 */ cpu->r[9] = rbrew_read16(cpu->mem, _t37); /* 028A8318 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A831C */ cpu->r[12] = cpu->r[12] + cpu->r[7]; L_028A8320: ; // 0x28a8320 /* 028A8320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A8324 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8324 */ _t39 = _t38 & 0x00000001u; /* 028A8324 */ if (_t39) goto L_028A8328; else goto L_028A8334; L_028A8328: ; // 0x28a8328 /* 028A8328 */ cpu->f[1] = cpu->f[0]; /* 028A832C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8330 */ return; L_028A8334: ; // 0x28a8334 /* 028A8334 */ _t40 = cpu->r[4] + 0x00000004u; /* 028A8334 */ cpu->r[11] = rbrew_read16(cpu->mem, _t40); /* 028A8338 */ cpu->r[7] = 0x00000000u; /* 028A833C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A8340 */ cpu->r[11] = cpu->r[0]; /* 028A8344 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8344 */ _t42 = _t41 & 0x00000001u; /* 028A8344 */ if (_t42) goto L_028A8348; else goto L_028A83D0; L_028A8348: ; // 0x28a8348 /* 028A8348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A834C */ _t43 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A834C */ _t44 = _t43 & 0x00000001u; /* 028A834C */ if (_t44) goto L_028A8350; else goto L_028A83D4; L_028A8350: ; // 0x28a8350 /* 028A8350 */ cpu->r[9] = cpu->r[12]; /* 028A8354 */ cpu->r[8] = 0x00000000u; /* 028A8358 */ cpu->r[10] = cpu->r[9] + 0xFFFFFFF8u; L_028A835C: ; // 0x28a835c /* 028A835C */ _t45 = cpu->r[9] + 0x00000000u; /* 028A835C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t45); /* 028A8360 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]); /* 028A8364 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8364 */ _t47 = _t46 & 0x00000001u; /* 028A8364 */ if (_t47) goto L_028A83A4; else goto L_028A8368; L_028A8368: ; // 0x28a8368 /* 028A8368 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]); /* 028A836C */ _t48 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A836C */ _t49 = _t48 & 0x00000001u; /* 028A836C */ if (_t49) goto L_028A8370; else goto L_028A83B4; L_028A8370: ; // 0x28a8370 /* 028A8370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A8374 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8374 */ _t51 = _t50 & 0x00000001u; /* 028A8374 */ if (_t51) goto L_028A83A4; else goto L_028A8378; L_028A8378: ; // 0x28a8378 /* 028A8378 */ _t52 = cpu->r[10] + 0x00000004u; /* 028A8378 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t52); /* 028A837C */ _t53 = cpu->r[9] + 0x00000004u; /* 028A837C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t53); /* 028A8380 */ _t54 = cpu->r[10] + 0x00000000u; /* 028A8380 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t54); /* 028A8384 */ cpu->f[7] = cpu->f[8] - cpu->f[6]; /* 028A8388 */ cpu->f[9] = cpu->f[12] - cpu->f[10]; /* 028A838C */ cpu->f[10] = cpu->f[13] - cpu->f[10]; /* 028A8390 */ cpu->f[11] = cpu->f[7] / cpu->f[9]; /* 028A8394 */ cpu->f[1] = fma(cpu->f[11], cpu->f[10], cpu->f[6]); /* 028A8398 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]); /* 028A839C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A839C */ _t56 = _t55 & 0x00000001u; /* 028A839C */ if (_t56) goto L_028A83A0; else goto L_028A83E0; L_028A83A0: ; // 0x28a83a0 /* 028A83A0 */ goto L_028A83D4; L_028A83A4: ; // 0x28a83a4 /* 028A83A4 */ _t57 = cpu->r[9] + 0x00000004u; /* 028A83A4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t57); /* 028A83A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]); /* 028A83AC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A83AC */ _t59 = _t58 & 0x00000001u; /* 028A83AC */ if (_t59) goto L_028A83B0; else goto L_028A83E0; L_028A83B0: ; // 0x28a83b0 /* 028A83B0 */ goto L_028A83D4; L_028A83B4: ; // 0x28a83b4 /* 028A83B4 */ cpu->r[8] = cpu->r[8] + 0x00000008u; /* 028A83B8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028A83B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A83BC */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028A83C0 */ cpu->r[10] = cpu->r[10] + 0x00000008u; /* 028A83C4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A83C4 */ _t61 = _t60 & 0x00000001u; /* 028A83C4 */ if (_t61) goto L_028A83D4; else goto L_028A83C8; L_028A83C8: ; // 0x28a83c8 /* 028A83C8 */ cpu->r[9] = cpu->r[12] + cpu->r[8]; /* 028A83CC */ goto L_028A835C; L_028A83D0: ; // 0x28a83d0 /* 028A83D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); L_028A83D4: ; // 0x28a83d4 /* 028A83D4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A83D8 */ cpu->r[8] = cpu->r[12] + cpu->r[6]; /* 028A83DC */ _t62 = cpu->r[8] + 0xFFFFFFFCu; /* 028A83DC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t62); L_028A83E0: ; // 0x28a83e0 /* 028A83E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A83E4 */ return; } // fn_028A83E8 @ 0x28a83e8 void Gambit_fn_028A83E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A83E8: ; // 0x28a83e8 /* 028A83E8 */ cpu->r[0] = cpu->lr; /* 028A83EC */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028A83EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A83EC */ cpu->r[1] = _t0; /* 028A83F0 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A83F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 028A83F4 */ /* nop */ /* 028A83F8 */ _t2 = cpu->r[1] + 0x00000020u; /* 028A83F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 028A83FC */ _t3 = cpu->r[1] + 0x00000018u; /* 028A83FC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 028A8400 */ /* nop */ /* 028A8404 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A8404 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A8408 */ _t5 = cpu->r[1] + 0x00000028u; /* 028A8408 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]); /* 028A840C */ cpu->r[31] = cpu->r[4]; /* 028A8410 */ _t6 = cpu->r[1] + 0x00000034u; /* 028A8410 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A8414 */ _t7 = cpu->r[31] + 0x00000000u; /* 028A8414 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7); /* 028A8418 */ _t8 = cpu->r[31] + 0x00000004u; /* 028A8418 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8); /* 028A841C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]); /* 028A8420 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8420 */ _t10 = _t9 & 0x00000001u; /* 028A8420 */ if (_t10) goto L_028A8424; else goto L_028A847C; L_028A8424: ; // 0x28a8424 /* 028A8424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A8428 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8428 */ _t12 = _t11 & 0x00000001u; /* 028A8428 */ if (_t12) goto L_028A8430; else goto L_028A842C; L_028A842C: ; // 0x28a842c /* 028A842C */ _t13 = cpu->r[5] + 0x00000020u; /* 028A842C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13); L_028A8430: ; // 0x28a8430 /* 028A8430 */ cpu->f[1] = cpu->f[13]; /* 028A8434 */ cpu->r[6] = 0x10130000u; /* 028A8438 */ cpu->f[2] = cpu->f[31]; /* 028A843C */ _t14 = cpu->r[3] + 0x00000008u; /* 028A843C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 028A8440 */ cpu->r[6] = cpu->r[6] + 0x00007C54u; /* 028A8444 */ cpu->r[4] = 0x00000019u; /* 028A8448 */ _t15 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8448 */ _t16 = _t15 & 0x00000001u; /* 028A8448 */ if (_t16) goto L_028A844C; // else: addr-0 trap, fall-through L_028A844C: ; // 0x28a844c /* 028A844C */ Gambit_fn_028AA73C(cpu); /* 028A8450 */ _t17 = cpu->r[1] + 0x00000018u; /* 028A8450 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t17); /* 028A8454 */ _t18 = cpu->r[1] + 0x00000028u; /* 028A8454 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18); /* 028A8458 */ _t19 = cpu->r[1] + 0x00000010u; /* 028A8458 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t19); /* 028A845C */ _t20 = cpu->r[1] + 0x00000020u; /* 028A845C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20); /* 028A8460 */ _t21 = cpu->r[31] + 0x00000000u; /* 028A8460 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21); /* 028A8464 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A8464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 028A8468 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8468 */ _t24 = _t23 & 0x00000001u; /* 028A8468 */ if (_t24) goto L_028A846C; // else: addr-0 trap, fall-through L_028A846C: ; // 0x28a846c /* 028A846C */ _t25 = cpu->r[1] + 0x00000034u; /* 028A846C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A8470 */ cpu->lr = cpu->r[0]; /* 028A8474 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A8478 */ return; L_028A847C: ; // 0x28a847c /* 028A847C */ cpu->r[3] = 0x101D0000u; /* 028A8480 */ _t26 = cpu->r[3] + 0xFFFF9918u; /* 028A8480 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26); /* 028A8484 */ cpu->f[30] = cpu->f[13] - cpu->f[31]; /* 028A8488 */ Gambit_fn_02830138(cpu); /* 028A848C */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 028A8490 */ cpu->r[12] = 0x10130000u; /* 028A8494 */ cpu->r[0] = cpu->r[10] | 0x3F800000u; /* 028A8498 */ _t27 = cpu->r[12] + 0x00007C50u; /* 028A8498 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27); /* 028A849C */ _t28 = cpu->r[1] + 0x00000008u; /* 028A849C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 028A84A0 */ _t29 = cpu->r[1] + 0x00000008u; /* 028A84A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29); /* 028A84A4 */ cpu->f[11] = cpu->f[12] - cpu->f[0]; /* 028A84A8 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028A84A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 028A84AC */ cpu->f[1] = fma(cpu->f[11], cpu->f[30], cpu->f[31]); /* 028A84B0 */ _t31 = cpu->r[1] + 0x00000018u; /* 028A84B0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t31); /* 028A84B4 */ _t32 = cpu->r[1] + 0x00000028u; /* 028A84B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32); /* 028A84B8 */ _t33 = cpu->r[1] + 0x00000010u; /* 028A84B8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t33); /* 028A84BC */ _t34 = cpu->r[1] + 0x00000020u; /* 028A84BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34); /* 028A84C0 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A84C0 */ _t36 = _t35 & 0x00000001u; /* 028A84C0 */ if (_t36) goto L_028A84C4; // else: addr-0 trap, fall-through L_028A84C4: ; // 0x28a84c4 /* 028A84C4 */ _t37 = cpu->r[1] + 0x00000034u; /* 028A84C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A84C8 */ cpu->lr = cpu->r[0]; /* 028A84CC */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A84D0 */ return; } // fn_028A83EC @ 0x28a83ec void Gambit_fn_028A83EC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A83EC: ; // 0x28a83ec /* 028A83EC */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028A83EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A83EC */ cpu->r[1] = _t0; /* 028A83F0 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A83F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 028A83F4 */ /* nop */ /* 028A83F8 */ _t2 = cpu->r[1] + 0x00000020u; /* 028A83F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 028A83FC */ _t3 = cpu->r[1] + 0x00000018u; /* 028A83FC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 028A8400 */ /* nop */ /* 028A8404 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A8404 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A8408 */ _t5 = cpu->r[1] + 0x00000028u; /* 028A8408 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]); /* 028A840C */ cpu->r[31] = cpu->r[4]; /* 028A8410 */ _t6 = cpu->r[1] + 0x00000034u; /* 028A8410 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 028A8414 */ _t7 = cpu->r[31] + 0x00000000u; /* 028A8414 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7); /* 028A8418 */ _t8 = cpu->r[31] + 0x00000004u; /* 028A8418 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8); /* 028A841C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]); /* 028A8420 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8420 */ _t10 = _t9 & 0x00000001u; /* 028A8420 */ if (_t10) goto L_028A8424; else goto L_028A847C; L_028A8424: ; // 0x28a8424 /* 028A8424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A8428 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8428 */ _t12 = _t11 & 0x00000001u; /* 028A8428 */ if (_t12) goto L_028A8430; else goto L_028A842C; L_028A842C: ; // 0x28a842c /* 028A842C */ _t13 = cpu->r[5] + 0x00000020u; /* 028A842C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13); L_028A8430: ; // 0x28a8430 /* 028A8430 */ cpu->f[1] = cpu->f[13]; /* 028A8434 */ cpu->r[6] = 0x10130000u; /* 028A8438 */ cpu->f[2] = cpu->f[31]; /* 028A843C */ _t14 = cpu->r[3] + 0x00000008u; /* 028A843C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 028A8440 */ cpu->r[6] = cpu->r[6] + 0x00007C54u; /* 028A8444 */ cpu->r[4] = 0x00000019u; /* 028A8448 */ _t15 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8448 */ _t16 = _t15 & 0x00000001u; /* 028A8448 */ if (_t16) goto L_028A844C; // else: addr-0 trap, fall-through L_028A844C: ; // 0x28a844c /* 028A844C */ Gambit_fn_028AA73C(cpu); /* 028A8450 */ _t17 = cpu->r[1] + 0x00000018u; /* 028A8450 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t17); /* 028A8454 */ _t18 = cpu->r[1] + 0x00000028u; /* 028A8454 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18); /* 028A8458 */ _t19 = cpu->r[1] + 0x00000010u; /* 028A8458 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t19); /* 028A845C */ _t20 = cpu->r[1] + 0x00000020u; /* 028A845C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20); /* 028A8460 */ _t21 = cpu->r[31] + 0x00000000u; /* 028A8460 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21); /* 028A8464 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A8464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 028A8468 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8468 */ _t24 = _t23 & 0x00000001u; /* 028A8468 */ if (_t24) goto L_028A846C; // else: addr-0 trap, fall-through L_028A846C: ; // 0x28a846c /* 028A846C */ _t25 = cpu->r[1] + 0x00000034u; /* 028A846C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A8470 */ cpu->lr = cpu->r[0]; /* 028A8474 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A8478 */ return; L_028A847C: ; // 0x28a847c /* 028A847C */ cpu->r[3] = 0x101D0000u; /* 028A8480 */ _t26 = cpu->r[3] + 0xFFFF9918u; /* 028A8480 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26); /* 028A8484 */ cpu->f[30] = cpu->f[13] - cpu->f[31]; /* 028A8488 */ Gambit_fn_02830138(cpu); /* 028A848C */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 028A8490 */ cpu->r[12] = 0x10130000u; /* 028A8494 */ cpu->r[0] = cpu->r[10] | 0x3F800000u; /* 028A8498 */ _t27 = cpu->r[12] + 0x00007C50u; /* 028A8498 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27); /* 028A849C */ _t28 = cpu->r[1] + 0x00000008u; /* 028A849C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 028A84A0 */ _t29 = cpu->r[1] + 0x00000008u; /* 028A84A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29); /* 028A84A4 */ cpu->f[11] = cpu->f[12] - cpu->f[0]; /* 028A84A8 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028A84A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 028A84AC */ cpu->f[1] = fma(cpu->f[11], cpu->f[30], cpu->f[31]); /* 028A84B0 */ _t31 = cpu->r[1] + 0x00000018u; /* 028A84B0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t31); /* 028A84B4 */ _t32 = cpu->r[1] + 0x00000028u; /* 028A84B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32); /* 028A84B8 */ _t33 = cpu->r[1] + 0x00000010u; /* 028A84B8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t33); /* 028A84BC */ _t34 = cpu->r[1] + 0x00000020u; /* 028A84BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34); /* 028A84C0 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A84C0 */ _t36 = _t35 & 0x00000001u; /* 028A84C0 */ if (_t36) goto L_028A84C4; // else: addr-0 trap, fall-through L_028A84C4: ; // 0x28a84c4 /* 028A84C4 */ _t37 = cpu->r[1] + 0x00000034u; /* 028A84C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A84C8 */ cpu->lr = cpu->r[0]; /* 028A84CC */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A84D0 */ return; } // fn_028A84D4 @ 0x28a84d4 void Gambit_fn_028A84D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A84D4: ; // 0x28a84d4 /* 028A84D4 */ cpu->r[0] = cpu->lr; /* 028A84D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A84D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A84D8 */ cpu->r[1] = _t0; /* 028A84DC */ _t1 = cpu->r[1] + 0x00000008u; /* 028A84DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028A84E0 */ /* nop */ /* 028A84E4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A84E4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028A84E8 */ cpu->r[12] = cpu->r[4]; /* 028A84EC */ _t3 = cpu->r[1] + 0x0000001Cu; /* 028A84EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A84F0 */ _t4 = cpu->r[12] + 0x00000000u; /* 028A84F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028A84F4 */ cpu->r[8] = 0x10130000u; /* 028A84F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u); /* 028A84FC */ _t5 = cpu->r[8] + 0x00007C40u; /* 028A84FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5); /* 028A8500 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8500 */ _t7 = _t6 & 0x00000001u; /* 028A8500 */ if (_t7) goto L_028A85E8; else goto L_028A8504; L_028A8504: ; // 0x28a8504 /* 028A8504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 028A8508 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8508 */ _t9 = _t8 & 0x00000001u; /* 028A8508 */ if (_t9) goto L_028A8530; else goto L_028A850C; L_028A850C: ; // 0x28a850c /* 028A850C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 028A8510 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8510 */ _t11 = _t10 & 0x00000001u; /* 028A8510 */ if (_t11) goto L_028A8580; else goto L_028A8514; L_028A8514: ; // 0x28a8514 /* 028A8514 */ cpu->r[4] = 0x10130000u; /* 028A8518 */ cpu->r[5] = cpu->r[0]; /* 028A851C */ cpu->r[4] = cpu->r[4] + 0x00007C74u; /* 028A8520 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8520 */ _t13 = _t12 & 0x00000001u; /* 028A8520 */ if (_t13) goto L_028A8524; // else: addr-0 trap, fall-through L_028A8524: ; // 0x28a8524 /* 028A8524 */ Gambit_fn_028A7AA4(cpu); /* 028A8528 */ cpu->f[1] = cpu->f[31]; /* 028A852C */ goto L_028A85EC; L_028A8530: ; // 0x28a8530 /* 028A8530 */ _t14 = cpu->r[3] + 0x00000004u; /* 028A8530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 028A8534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A8538 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8538 */ _t16 = _t15 & 0x00000001u; /* 028A8538 */ if (_t16) goto L_028A85A8; else goto L_028A853C; L_028A853C: ; // 0x28a853c /* 028A853C */ _t17 = cpu->r[11] + 0x00000008u; /* 028A853C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 028A8540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A8544 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8544 */ _t19 = _t18 & 0x00000001u; /* 028A8544 */ if (_t19) goto L_028A8558; else goto L_028A8548; L_028A8548: ; // 0x28a8548 /* 028A8548 */ _t20 = cpu->r[12] + 0x00000004u; /* 028A8548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028A854C */ _t21 = cpu->r[11] + 0x0000004Cu; /* 028A854C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 028A8550 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A8554 */ cpu->r[4] = cpu->r[9] + cpu->r[0]; L_028A8558: ; // 0x28a8558 /* 028A8558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A855C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A855C */ _t23 = _t22 & 0x00000001u; /* 028A855C */ if (_t23) goto L_028A85A8; else goto L_028A8560; L_028A8560: ; // 0x28a8560 /* 028A8560 */ Gambit_fn_028A824C(cpu); /* 028A8564 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A8564 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24); /* 028A8568 */ _t25 = cpu->r[1] + 0x00000008u; /* 028A8568 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25); /* 028A856C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A856C */ _t27 = _t26 & 0x00000001u; /* 028A856C */ if (_t27) goto L_028A8570; // else: addr-0 trap, fall-through L_028A8570: ; // 0x28a8570 /* 028A8570 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 028A8570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028A8574 */ cpu->lr = cpu->r[0]; /* 028A8578 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A857C */ return; L_028A8580: ; // 0x28a8580 /* 028A8580 */ _t29 = cpu->r[3] + 0x00000004u; /* 028A8580 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 028A8584 */ _t30 = cpu->r[11] + 0x00000008u; /* 028A8584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30); /* 028A8588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A858C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A858C */ _t32 = _t31 & 0x00000001u; /* 028A858C */ if (_t32) goto L_028A85A0; else goto L_028A8590; L_028A8590: ; // 0x28a8590 /* 028A8590 */ _t33 = cpu->r[12] + 0x00000004u; /* 028A8590 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33); /* 028A8594 */ _t34 = cpu->r[11] + 0x00000048u; /* 028A8594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 028A8598 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A859C */ cpu->r[4] = cpu->r[10] + cpu->r[9]; L_028A85A0: ; // 0x28a85a0 /* 028A85A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A85A4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A85A4 */ _t36 = _t35 & 0x00000001u; /* 028A85A4 */ if (_t36) goto L_028A85A8; else goto L_028A85C8; L_028A85A8: ; // 0x28a85a8 /* 028A85A8 */ cpu->f[1] = cpu->f[31]; /* 028A85AC */ _t37 = cpu->r[1] + 0x00000010u; /* 028A85AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37); /* 028A85B0 */ _t38 = cpu->r[1] + 0x00000008u; /* 028A85B0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t38); /* 028A85B4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A85B4 */ _t40 = _t39 & 0x00000001u; /* 028A85B4 */ if (_t40) goto L_028A85B8; // else: addr-0 trap, fall-through L_028A85B8: ; // 0x28a85b8 /* 028A85B8 */ _t41 = cpu->r[1] + 0x0000001Cu; /* 028A85B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 028A85BC */ cpu->lr = cpu->r[0]; /* 028A85C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A85C4 */ return; L_028A85C8: ; // 0x28a85c8 /* 028A85C8 */ Gambit_fn_028A83E8(cpu); /* 028A85CC */ _t42 = cpu->r[1] + 0x00000010u; /* 028A85CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42); /* 028A85D0 */ _t43 = cpu->r[1] + 0x00000008u; /* 028A85D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43); /* 028A85D4 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A85D4 */ _t45 = _t44 & 0x00000001u; /* 028A85D4 */ if (_t45) goto L_028A85D8; // else: addr-0 trap, fall-through L_028A85D8: ; // 0x28a85d8 /* 028A85D8 */ _t46 = cpu->r[1] + 0x0000001Cu; /* 028A85D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 028A85DC */ cpu->lr = cpu->r[0]; /* 028A85E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A85E4 */ return; L_028A85E8: ; // 0x28a85e8 /* 028A85E8 */ _t47 = cpu->r[12] + 0x00000004u; /* 028A85E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t47); L_028A85EC: ; // 0x28a85ec /* 028A85EC */ _t48 = cpu->r[1] + 0x00000010u; /* 028A85EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t48); /* 028A85F0 */ _t49 = cpu->r[1] + 0x00000008u; /* 028A85F0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t49); /* 028A85F4 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A85F4 */ _t51 = _t50 & 0x00000001u; /* 028A85F4 */ if (_t51) goto L_028A85F8; // else: addr-0 trap, fall-through L_028A85F8: ; // 0x28a85f8 /* 028A85F8 */ _t52 = cpu->r[1] + 0x0000001Cu; /* 028A85F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52); /* 028A85FC */ cpu->lr = cpu->r[0]; /* 028A8600 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8604 */ return; } // fn_028A84D8 @ 0x28a84d8 void Gambit_fn_028A84D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A84D8: ; // 0x28a84d8 /* 028A84D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A84D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A84D8 */ cpu->r[1] = _t0; /* 028A84DC */ _t1 = cpu->r[1] + 0x00000008u; /* 028A84DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028A84E0 */ /* nop */ /* 028A84E4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A84E4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028A84E8 */ cpu->r[12] = cpu->r[4]; /* 028A84EC */ _t3 = cpu->r[1] + 0x0000001Cu; /* 028A84EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A84F0 */ _t4 = cpu->r[12] + 0x00000000u; /* 028A84F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028A84F4 */ cpu->r[8] = 0x10130000u; /* 028A84F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u); /* 028A84FC */ _t5 = cpu->r[8] + 0x00007C40u; /* 028A84FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5); /* 028A8500 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8500 */ _t7 = _t6 & 0x00000001u; /* 028A8500 */ if (_t7) goto L_028A85E8; else goto L_028A8504; L_028A8504: ; // 0x28a8504 /* 028A8504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 028A8508 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8508 */ _t9 = _t8 & 0x00000001u; /* 028A8508 */ if (_t9) goto L_028A8530; else goto L_028A850C; L_028A850C: ; // 0x28a850c /* 028A850C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 028A8510 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8510 */ _t11 = _t10 & 0x00000001u; /* 028A8510 */ if (_t11) goto L_028A8580; else goto L_028A8514; L_028A8514: ; // 0x28a8514 /* 028A8514 */ cpu->r[4] = 0x10130000u; /* 028A8518 */ cpu->r[5] = cpu->r[0]; /* 028A851C */ cpu->r[4] = cpu->r[4] + 0x00007C74u; /* 028A8520 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8520 */ _t13 = _t12 & 0x00000001u; /* 028A8520 */ if (_t13) goto L_028A8524; // else: addr-0 trap, fall-through L_028A8524: ; // 0x28a8524 /* 028A8524 */ Gambit_fn_028A7AA4(cpu); /* 028A8528 */ cpu->f[1] = cpu->f[31]; /* 028A852C */ goto L_028A85EC; L_028A8530: ; // 0x28a8530 /* 028A8530 */ _t14 = cpu->r[3] + 0x00000004u; /* 028A8530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 028A8534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A8538 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8538 */ _t16 = _t15 & 0x00000001u; /* 028A8538 */ if (_t16) goto L_028A85A8; else goto L_028A853C; L_028A853C: ; // 0x28a853c /* 028A853C */ _t17 = cpu->r[11] + 0x00000008u; /* 028A853C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 028A8540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A8544 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8544 */ _t19 = _t18 & 0x00000001u; /* 028A8544 */ if (_t19) goto L_028A8558; else goto L_028A8548; L_028A8548: ; // 0x28a8548 /* 028A8548 */ _t20 = cpu->r[12] + 0x00000004u; /* 028A8548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028A854C */ _t21 = cpu->r[11] + 0x0000004Cu; /* 028A854C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 028A8550 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028A8554 */ cpu->r[4] = cpu->r[9] + cpu->r[0]; L_028A8558: ; // 0x28a8558 /* 028A8558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A855C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A855C */ _t23 = _t22 & 0x00000001u; /* 028A855C */ if (_t23) goto L_028A85A8; else goto L_028A8560; L_028A8560: ; // 0x28a8560 /* 028A8560 */ Gambit_fn_028A824C(cpu); /* 028A8564 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A8564 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24); /* 028A8568 */ _t25 = cpu->r[1] + 0x00000008u; /* 028A8568 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25); /* 028A856C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A856C */ _t27 = _t26 & 0x00000001u; /* 028A856C */ if (_t27) goto L_028A8570; // else: addr-0 trap, fall-through L_028A8570: ; // 0x28a8570 /* 028A8570 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 028A8570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028A8574 */ cpu->lr = cpu->r[0]; /* 028A8578 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A857C */ return; L_028A8580: ; // 0x28a8580 /* 028A8580 */ _t29 = cpu->r[3] + 0x00000004u; /* 028A8580 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 028A8584 */ _t30 = cpu->r[11] + 0x00000008u; /* 028A8584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30); /* 028A8588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A858C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A858C */ _t32 = _t31 & 0x00000001u; /* 028A858C */ if (_t32) goto L_028A85A0; else goto L_028A8590; L_028A8590: ; // 0x28a8590 /* 028A8590 */ _t33 = cpu->r[12] + 0x00000004u; /* 028A8590 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33); /* 028A8594 */ _t34 = cpu->r[11] + 0x00000048u; /* 028A8594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 028A8598 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A859C */ cpu->r[4] = cpu->r[10] + cpu->r[9]; L_028A85A0: ; // 0x28a85a0 /* 028A85A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A85A4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A85A4 */ _t36 = _t35 & 0x00000001u; /* 028A85A4 */ if (_t36) goto L_028A85A8; else goto L_028A85C8; L_028A85A8: ; // 0x28a85a8 /* 028A85A8 */ cpu->f[1] = cpu->f[31]; /* 028A85AC */ _t37 = cpu->r[1] + 0x00000010u; /* 028A85AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37); /* 028A85B0 */ _t38 = cpu->r[1] + 0x00000008u; /* 028A85B0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t38); /* 028A85B4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A85B4 */ _t40 = _t39 & 0x00000001u; /* 028A85B4 */ if (_t40) goto L_028A85B8; // else: addr-0 trap, fall-through L_028A85B8: ; // 0x28a85b8 /* 028A85B8 */ _t41 = cpu->r[1] + 0x0000001Cu; /* 028A85B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 028A85BC */ cpu->lr = cpu->r[0]; /* 028A85C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A85C4 */ return; L_028A85C8: ; // 0x28a85c8 /* 028A85C8 */ Gambit_fn_028A83E8(cpu); /* 028A85CC */ _t42 = cpu->r[1] + 0x00000010u; /* 028A85CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42); /* 028A85D0 */ _t43 = cpu->r[1] + 0x00000008u; /* 028A85D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43); /* 028A85D4 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A85D4 */ _t45 = _t44 & 0x00000001u; /* 028A85D4 */ if (_t45) goto L_028A85D8; // else: addr-0 trap, fall-through L_028A85D8: ; // 0x28a85d8 /* 028A85D8 */ _t46 = cpu->r[1] + 0x0000001Cu; /* 028A85D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 028A85DC */ cpu->lr = cpu->r[0]; /* 028A85E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A85E4 */ return; L_028A85E8: ; // 0x28a85e8 /* 028A85E8 */ _t47 = cpu->r[12] + 0x00000004u; /* 028A85E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t47); L_028A85EC: ; // 0x28a85ec /* 028A85EC */ _t48 = cpu->r[1] + 0x00000010u; /* 028A85EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t48); /* 028A85F0 */ _t49 = cpu->r[1] + 0x00000008u; /* 028A85F0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t49); /* 028A85F4 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A85F4 */ _t51 = _t50 & 0x00000001u; /* 028A85F4 */ if (_t51) goto L_028A85F8; // else: addr-0 trap, fall-through L_028A85F8: ; // 0x28a85f8 /* 028A85F8 */ _t52 = cpu->r[1] + 0x0000001Cu; /* 028A85F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52); /* 028A85FC */ cpu->lr = cpu->r[0]; /* 028A8600 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8604 */ return; } // fn_028A8608 @ 0x28a8608 void Gambit_fn_028A8608(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56; L_028A8608: ; // 0x28a8608 /* 028A8608 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028A8608 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8608 */ cpu->r[1] = _t0; /* 028A860C */ /* nop */ /* 028A8610 */ cpu->r[0] = cpu->lr; /* 028A8614 */ _t1 = cpu->r[1] + 0x00000020u; /* 028A8614 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028A8618 */ /* nop */ /* 028A861C */ _t2 = cpu->r[1] + 0x00000028u; /* 028A861C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028A8620 */ _t3 = cpu->r[1] + 0x00000034u; /* 028A8620 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A8624 */ cpu->r[29] = cpu->r[4]; /* 028A8628 */ cpu->r[28] = cpu->r[3]; /* 028A862C */ _t4 = cpu->r[28] + 0x00000008u; /* 028A862C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028A8630 */ cpu->r[30] = cpu->r[5]; /* 028A8634 */ cpu->r[31] = cpu->r[6]; /* 028A8638 */ Gambit_fn_028AA0E8(cpu); /* 028A863C */ _t5 = cpu->r[3] + 0x00000020u; /* 028A863C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 028A8640 */ _t6 = cpu->r[3] + 0x00000004u; /* 028A8640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A8644 */ cpu->r[27] = cpu->r[9] + cpu->r[29]; /* 028A8648 */ cpu->r[11] = 0x10130000u; /* 028A864C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]); /* 028A8650 */ _t7 = cpu->r[11] + 0x00007C40u; /* 028A8650 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7); /* 028A8654 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8654 */ _t9 = _t8 & 0x00000001u; /* 028A8654 */ if (_t9) goto L_028A86E8; else goto L_028A8658; L_028A8658: ; // 0x28a8658 /* 028A8658 */ _t10 = cpu->r[28] + 0x00000004u; /* 028A8658 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 028A865C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A8660 */ _t11 = cpu->r[28] + 0x00000008u; /* 028A8660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 028A8664 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8664 */ _t13 = _t12 & 0x00000001u; /* 028A8664 */ if (_t13) goto L_028A86A8; else goto L_028A8668; L_028A8668: ; // 0x28a8668 /* 028A8668 */ cpu->r[6] = 0x10130000u; /* 028A866C */ _t14 = cpu->r[12] + 0x00000000u; /* 028A866C */ cpu->r[5] = rbrew_read32(cpu->mem, _t14); /* 028A8670 */ cpu->r[7] = cpu->r[29]; /* 028A8674 */ cpu->r[6] = cpu->r[6] + 0x00007C9Cu; /* 028A8678 */ cpu->r[4] = 0x0000001Au; /* 028A867C */ _t15 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A867C */ _t16 = _t15 & 0x00000001u; /* 028A867C */ if (_t16) goto L_028A8680; // else: addr-0 trap, fall-through L_028A8680: ; // 0x28a8680 /* 028A8680 */ Gambit_fn_028AA73C(cpu); /* 028A8684 */ /* nop */ /* 028A8688 */ cpu->f[1] = cpu->f[31]; /* 028A868C */ _t17 = cpu->r[1] + 0x00000028u; /* 028A868C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17); /* 028A8690 */ _t18 = cpu->r[1] + 0x00000020u; /* 028A8690 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18); /* 028A8694 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8694 */ _t20 = _t19 & 0x00000001u; /* 028A8694 */ if (_t20) goto L_028A8698; // else: addr-0 trap, fall-through L_028A8698: ; // 0x28a8698 /* 028A8698 */ _t21 = cpu->r[1] + 0x00000034u; /* 028A8698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028A869C */ cpu->lr = cpu->r[0]; /* 028A86A0 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A86A4 */ return; L_028A86A8: ; // 0x28a86a8 /* 028A86A8 */ cpu->r[6] = 0x10130000u; /* 028A86AC */ cpu->r[4] = 0x0000001Au; /* 028A86B0 */ cpu->r[6] = cpu->r[6] + 0x00007C9Cu; /* 028A86B4 */ cpu->r[7] = cpu->r[29]; /* 028A86B8 */ cpu->r[5] = 0x00000000u; /* 028A86BC */ _t22 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A86BC */ _t23 = _t22 & 0x00000001u; /* 028A86BC */ if (_t23) goto L_028A86C0; // else: addr-0 trap, fall-through L_028A86C0: ; // 0x28a86c0 /* 028A86C0 */ Gambit_fn_028AA73C(cpu); /* 028A86C4 */ /* nop */ /* 028A86C8 */ cpu->f[1] = cpu->f[31]; /* 028A86CC */ _t24 = cpu->r[1] + 0x00000028u; /* 028A86CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24); /* 028A86D0 */ _t25 = cpu->r[1] + 0x00000020u; /* 028A86D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25); /* 028A86D4 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A86D4 */ _t27 = _t26 & 0x00000001u; /* 028A86D4 */ if (_t27) goto L_028A86D8; // else: addr-0 trap, fall-through L_028A86D8: ; // 0x28a86d8 /* 028A86D8 */ _t28 = cpu->r[1] + 0x00000034u; /* 028A86D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028A86DC */ cpu->lr = cpu->r[0]; /* 028A86E0 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A86E4 */ return; L_028A86E8: ; // 0x28a86e8 /* 028A86E8 */ cpu->r[4] = cpu->r[27]; /* 028A86EC */ Gambit_fn_028B7B8C(cpu); /* 028A86F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u); /* 028A86F4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A86F4 */ _t30 = _t29 & 0x00000001u; /* 028A86F4 */ if (_t30) goto L_028A8788; else goto L_028A86F8; L_028A86F8: ; // 0x28a86f8 /* 028A86F8 */ _t31 = cpu->r[28] + 0x00000004u; /* 028A86F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 028A86FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A8700 */ _t32 = cpu->r[28] + 0x00000008u; /* 028A8700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32); /* 028A8704 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8704 */ _t34 = _t33 & 0x00000001u; /* 028A8704 */ if (_t34) goto L_028A8748; else goto L_028A8708; L_028A8708: ; // 0x28a8708 /* 028A8708 */ cpu->r[6] = 0x10130000u; /* 028A870C */ _t35 = cpu->r[12] + 0x00000000u; /* 028A870C */ cpu->r[5] = rbrew_read32(cpu->mem, _t35); /* 028A8710 */ cpu->r[7] = cpu->r[29]; /* 028A8714 */ cpu->r[6] = cpu->r[6] + 0x00007CBCu; /* 028A8718 */ cpu->r[4] = 0x0000001Au; /* 028A871C */ _t36 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A871C */ _t37 = _t36 & 0x00000001u; /* 028A871C */ if (_t37) goto L_028A8720; // else: addr-0 trap, fall-through L_028A8720: ; // 0x28a8720 /* 028A8720 */ Gambit_fn_028AA73C(cpu); /* 028A8724 */ /* nop */ /* 028A8728 */ cpu->f[1] = cpu->f[31]; /* 028A872C */ _t38 = cpu->r[1] + 0x00000028u; /* 028A872C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38); /* 028A8730 */ _t39 = cpu->r[1] + 0x00000020u; /* 028A8730 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t39); /* 028A8734 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8734 */ _t41 = _t40 & 0x00000001u; /* 028A8734 */ if (_t41) goto L_028A8738; // else: addr-0 trap, fall-through L_028A8738: ; // 0x28a8738 /* 028A8738 */ _t42 = cpu->r[1] + 0x00000034u; /* 028A8738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028A873C */ cpu->lr = cpu->r[0]; /* 028A8740 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A8744 */ return; L_028A8748: ; // 0x28a8748 /* 028A8748 */ cpu->r[6] = 0x10130000u; /* 028A874C */ cpu->r[4] = 0x0000001Au; /* 028A8750 */ cpu->r[6] = cpu->r[6] + 0x00007CBCu; /* 028A8754 */ cpu->r[7] = cpu->r[29]; /* 028A8758 */ cpu->r[5] = 0x00000000u; /* 028A875C */ _t43 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A875C */ _t44 = _t43 & 0x00000001u; /* 028A875C */ if (_t44) goto L_028A8760; // else: addr-0 trap, fall-through L_028A8760: ; // 0x28a8760 /* 028A8760 */ Gambit_fn_028AA73C(cpu); /* 028A8764 */ /* nop */ /* 028A8768 */ cpu->f[1] = cpu->f[31]; /* 028A876C */ _t45 = cpu->r[1] + 0x00000028u; /* 028A876C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t45); /* 028A8770 */ _t46 = cpu->r[1] + 0x00000020u; /* 028A8770 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t46); /* 028A8774 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8774 */ _t48 = _t47 & 0x00000001u; /* 028A8774 */ if (_t48) goto L_028A8778; // else: addr-0 trap, fall-through L_028A8778: ; // 0x28a8778 /* 028A8778 */ _t49 = cpu->r[1] + 0x00000034u; /* 028A8778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 028A877C */ cpu->lr = cpu->r[0]; /* 028A8780 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A8784 */ return; L_028A8788: ; // 0x28a8788 /* 028A8788 */ cpu->r[5] = cpu->r[27]; /* 028A878C */ cpu->r[4] = cpu->r[30]; /* 028A8790 */ cpu->r[3] = cpu->r[28]; /* 028A8794 */ Gambit_fn_028A8004(cpu); /* 028A8798 */ cpu->r[4] = cpu->r[3]; /* 028A8798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A879C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A879C */ _t51 = _t50 & 0x00000001u; /* 028A879C */ if (_t51) goto L_028A87B0; else goto L_028A87A0; L_028A87A0: ; // 0x28a87a0 /* 028A87A0 */ cpu->r[5] = cpu->r[31]; /* 028A87A4 */ cpu->r[3] = cpu->r[28]; /* 028A87A8 */ Gambit_fn_028A84D4(cpu); /* 028A87AC */ cpu->f[31] = cpu->f[1]; L_028A87B0: ; // 0x28a87b0 /* 028A87B0 */ /* nop */ /* 028A87B4 */ cpu->f[1] = cpu->f[31]; /* 028A87B8 */ _t52 = cpu->r[1] + 0x00000028u; /* 028A87B8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t52); /* 028A87BC */ _t53 = cpu->r[1] + 0x00000020u; /* 028A87BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t53); /* 028A87C0 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A87C0 */ _t55 = _t54 & 0x00000001u; /* 028A87C0 */ if (_t55) goto L_028A87C4; // else: addr-0 trap, fall-through L_028A87C4: ; // 0x28a87c4 /* 028A87C4 */ _t56 = cpu->r[1] + 0x00000034u; /* 028A87C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 028A87C8 */ cpu->lr = cpu->r[0]; /* 028A87CC */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A87D0 */ return; } // fn_028A87D4 @ 0x28a87d4 void Gambit_fn_028A87D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028A87D4: ; // 0x28a87d4 /* 028A87D4 */ cpu->r[0] = cpu->lr; /* 028A87D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A87D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A87D8 */ cpu->r[1] = _t0; /* 028A87DC */ _t1 = cpu->r[1] + 0x00000008u; /* 028A87DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A87E0 */ cpu->r[30] = cpu->r[5]; /* 028A87E4 */ cpu->r[5] = 0x10130000u; /* 028A87E8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A87E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A87EC */ cpu->r[5] = cpu->r[5] + 0x00007CE0u; /* 028A87F0 */ cpu->r[31] = cpu->r[4]; /* 028A87F4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A87F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A87F8 */ _t4 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A87F8 */ _t5 = _t4 & 0x00000001u; /* 028A87F8 */ if (_t5) goto L_028A87FC; // else: addr-0 trap, fall-through L_028A87FC: ; // 0x28a87fc /* 028A87FC */ Gambit_fn_028A7E58(cpu); /* 028A8800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8804 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8804 */ _t7 = _t6 & 0x00000001u; /* 028A8804 */ if (_t7) goto L_028A8808; else goto L_028A8824; L_028A8808: ; // 0x28a8808 /* 028A8808 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A8808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A880C */ _t9 = cpu->r[1] + 0x00000008u; /* 028A880C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A8810 */ cpu->lr = cpu->r[0]; /* 028A8814 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A8814 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A8818 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A881C */ cpu->r[3] = 0x00000000u; /* 028A8820 */ return; L_028A8824: ; // 0x28a8824 /* 028A8824 */ _t11 = cpu->r[31] + 0x00000018u; /* 028A8824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A8828 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A882C */ _t12 = cpu->r[12] + cpu->r[0]; /* 028A882C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028A8830 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A8830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A8834 */ _t14 = cpu->r[1] + 0x00000008u; /* 028A8834 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028A8838 */ cpu->lr = cpu->r[0]; /* 028A883C */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A883C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A8840 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8844 */ return; } // fn_028A87D8 @ 0x28a87d8 void Gambit_fn_028A87D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028A87D8: ; // 0x28a87d8 /* 028A87D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A87D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A87D8 */ cpu->r[1] = _t0; /* 028A87DC */ _t1 = cpu->r[1] + 0x00000008u; /* 028A87DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A87E0 */ cpu->r[30] = cpu->r[5]; /* 028A87E4 */ cpu->r[5] = 0x10130000u; /* 028A87E8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A87E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A87EC */ cpu->r[5] = cpu->r[5] + 0x00007CE0u; /* 028A87F0 */ cpu->r[31] = cpu->r[4]; /* 028A87F4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A87F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A87F8 */ _t4 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A87F8 */ _t5 = _t4 & 0x00000001u; /* 028A87F8 */ if (_t5) goto L_028A87FC; // else: addr-0 trap, fall-through L_028A87FC: ; // 0x28a87fc /* 028A87FC */ Gambit_fn_028A7E58(cpu); /* 028A8800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8804 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8804 */ _t7 = _t6 & 0x00000001u; /* 028A8804 */ if (_t7) goto L_028A8808; else goto L_028A8824; L_028A8808: ; // 0x28a8808 /* 028A8808 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A8808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A880C */ _t9 = cpu->r[1] + 0x00000008u; /* 028A880C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A8810 */ cpu->lr = cpu->r[0]; /* 028A8814 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A8814 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A8818 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A881C */ cpu->r[3] = 0x00000000u; /* 028A8820 */ return; L_028A8824: ; // 0x28a8824 /* 028A8824 */ _t11 = cpu->r[31] + 0x00000018u; /* 028A8824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A8828 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A882C */ _t12 = cpu->r[12] + cpu->r[0]; /* 028A882C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028A8830 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A8830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A8834 */ _t14 = cpu->r[1] + 0x00000008u; /* 028A8834 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028A8838 */ cpu->lr = cpu->r[0]; /* 028A883C */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A883C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A8840 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8844 */ return; } // fn_028A8848 @ 0x28a8848 void Gambit_fn_028A8848(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_028A8848: ; // 0x28a8848 /* 028A8848 */ cpu->r[0] = cpu->lr; /* 028A884C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A884C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A884C */ cpu->r[1] = _t0; /* 028A8850 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A8850 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8854 */ cpu->r[31] = cpu->r[4]; /* 028A8858 */ cpu->r[4] = cpu->r[5]; /* 028A885C */ cpu->r[5] = cpu->r[6]; /* 028A8860 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A8860 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A8864 */ Gambit_fn_028A87D4(cpu); /* 028A8868 */ cpu->r[12] = cpu->r[3] ^ cpu->r[31]; /* 028A886C */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 028A8870 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 028A8874 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A8878 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A8878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 028A887C */ cpu->lr = cpu->r[0]; /* 028A8880 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8884 */ return; } // fn_028A884C @ 0x28a884c void Gambit_fn_028A884C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_028A884C: ; // 0x28a884c /* 028A884C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A884C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A884C */ cpu->r[1] = _t0; /* 028A8850 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A8850 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8854 */ cpu->r[31] = cpu->r[4]; /* 028A8858 */ cpu->r[4] = cpu->r[5]; /* 028A885C */ cpu->r[5] = cpu->r[6]; /* 028A8860 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A8860 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A8864 */ Gambit_fn_028A87D4(cpu); /* 028A8868 */ cpu->r[12] = cpu->r[3] ^ cpu->r[31]; /* 028A886C */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 028A8870 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 028A8874 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A8878 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A8878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 028A887C */ cpu->lr = cpu->r[0]; /* 028A8880 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8884 */ return; } // fn_028A8888 @ 0x28a8888 void Gambit_fn_028A8888(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A8888: ; // 0x28a8888 /* 028A8888 */ cpu->r[0] = cpu->lr; /* 028A888C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A888C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A888C */ cpu->r[1] = _t0; /* 028A8890 */ _t1 = cpu->r[1] + 0x00000014u; /* 028A8890 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8894 */ cpu->r[31] = cpu->r[5]; /* 028A8898 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A8898 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A889C */ cpu->r[5] = 0x10130000u; /* 028A88A0 */ cpu->r[5] = cpu->r[5] + 0x00007CE1u; /* 028A88A4 */ cpu->r[30] = cpu->r[4]; /* 028A88A8 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A88A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A88AC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A88AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A88B0 */ cpu->r[29] = 0x00000000u; /* 028A88B4 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A88B4 */ _t6 = _t5 & 0x00000001u; /* 028A88B4 */ if (_t6) goto L_028A88B8; // else: addr-0 trap, fall-through L_028A88B8: ; // 0x28a88b8 /* 028A88B8 */ Gambit_fn_028A7E58(cpu); /* 028A88BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A88C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A88C0 */ _t8 = _t7 & 0x00000001u; /* 028A88C0 */ if (_t8) goto L_028A88D0; else goto L_028A88C4; L_028A88C4: ; // 0x28a88c4 /* 028A88C4 */ _t9 = cpu->r[30] + 0x00000018u; /* 028A88C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 028A88C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A88CC */ cpu->r[29] = cpu->r[12] + cpu->r[0]; L_028A88D0: ; // 0x28a88d0 /* 028A88D0 */ cpu->r[3] = cpu->r[29]; /* 028A88D4 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A88D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 028A88D8 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 028A88D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A88DC */ _t12 = cpu->r[1] + 0x00000010u; /* 028A88DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 028A88E0 */ cpu->lr = cpu->r[0]; /* 028A88E4 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A88E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028A88E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A88EC */ return; } // fn_028A888C @ 0x28a888c void Gambit_fn_028A888C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A888C: ; // 0x28a888c /* 028A888C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A888C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A888C */ cpu->r[1] = _t0; /* 028A8890 */ _t1 = cpu->r[1] + 0x00000014u; /* 028A8890 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8894 */ cpu->r[31] = cpu->r[5]; /* 028A8898 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A8898 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A889C */ cpu->r[5] = 0x10130000u; /* 028A88A0 */ cpu->r[5] = cpu->r[5] + 0x00007CE1u; /* 028A88A4 */ cpu->r[30] = cpu->r[4]; /* 028A88A8 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A88A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A88AC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A88AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A88B0 */ cpu->r[29] = 0x00000000u; /* 028A88B4 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A88B4 */ _t6 = _t5 & 0x00000001u; /* 028A88B4 */ if (_t6) goto L_028A88B8; // else: addr-0 trap, fall-through L_028A88B8: ; // 0x28a88b8 /* 028A88B8 */ Gambit_fn_028A7E58(cpu); /* 028A88BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A88C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A88C0 */ _t8 = _t7 & 0x00000001u; /* 028A88C0 */ if (_t8) goto L_028A88D0; else goto L_028A88C4; L_028A88C4: ; // 0x28a88c4 /* 028A88C4 */ _t9 = cpu->r[30] + 0x00000018u; /* 028A88C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 028A88C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A88CC */ cpu->r[29] = cpu->r[12] + cpu->r[0]; L_028A88D0: ; // 0x28a88d0 /* 028A88D0 */ cpu->r[3] = cpu->r[29]; /* 028A88D4 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A88D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 028A88D8 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 028A88D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A88DC */ _t12 = cpu->r[1] + 0x00000010u; /* 028A88DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 028A88E0 */ cpu->lr = cpu->r[0]; /* 028A88E4 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A88E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028A88E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A88EC */ return; } // fn_028A88F0 @ 0x28a88f0 void Gambit_fn_028A88F0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A88F0: ; // 0x28a88f0 /* 028A88F0 */ cpu->r[0] = cpu->lr; /* 028A88F4 */ _t0 = cpu->r[1] + 0x00000004u; /* 028A88F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A88F8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028A88F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028A88F8 */ cpu->r[1] = _t1; /* 028A88FC */ _t2 = cpu->r[4] + 0x00000004u; /* 028A88FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t2); /* 028A8900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A8904 */ _t3 = cpu->r[4] + 0x00000008u; /* 028A8904 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3); /* 028A8908 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8908 */ _t5 = _t4 & 0x00000001u; /* 028A8908 */ if (_t5) goto L_028A891C; else goto L_028A890C; L_028A890C: ; // 0x28a890c /* 028A890C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A8910 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8910 */ _t7 = _t6 & 0x00000001u; /* 028A8910 */ if (_t7) goto L_028A891C; else goto L_028A8914; L_028A8914: ; // 0x28a8914 /* 028A8914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]); /* 028A8918 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8918 */ _t9 = _t8 & 0x00000001u; /* 028A8918 */ if (_t9) goto L_028A891C; else goto L_028A8940; L_028A891C: ; // 0x28a891c /* 028A891C */ cpu->r[4] = 0x10130000u; /* 028A8920 */ cpu->r[4] = cpu->r[4] + 0x00007CE4u; /* 028A8924 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8924 */ _t11 = _t10 & 0x00000001u; /* 028A8924 */ if (_t11) goto L_028A8928; // else: addr-0 trap, fall-through L_028A8928: ; // 0x28a8928 /* 028A8928 */ Gambit_fn_028A7AA4(cpu); /* 028A892C */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A892C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A8930 */ cpu->lr = cpu->r[0]; /* 028A8934 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A8938 */ cpu->r[3] = 0x00000000u; /* 028A893C */ return; L_028A8940: ; // 0x28a8940 /* 028A8940 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028A8940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A8944 */ cpu->r[12] = cpu->r[6] - cpu->r[5]; /* 028A8948 */ cpu->lr = cpu->r[0]; /* 028A894C */ cpu->r[3] = cpu->r[12] + 0x00000001u; /* 028A8950 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A8954 */ return; } // fn_028A88F8 @ 0x28a88f8 void Gambit_fn_028A88F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_028A88F8: ; // 0x28a88f8 /* 028A88F8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028A88F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A88F8 */ cpu->r[1] = _t0; /* 028A88FC */ _t1 = cpu->r[4] + 0x00000004u; /* 028A88FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t1); /* 028A8900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028A8904 */ _t2 = cpu->r[4] + 0x00000008u; /* 028A8904 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 028A8908 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8908 */ _t4 = _t3 & 0x00000001u; /* 028A8908 */ if (_t4) goto L_028A891C; else goto L_028A890C; L_028A890C: ; // 0x28a890c /* 028A890C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A8910 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8910 */ _t6 = _t5 & 0x00000001u; /* 028A8910 */ if (_t6) goto L_028A891C; else goto L_028A8914; L_028A8914: ; // 0x28a8914 /* 028A8914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]); /* 028A8918 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8918 */ _t8 = _t7 & 0x00000001u; /* 028A8918 */ if (_t8) goto L_028A891C; else goto L_028A8940; L_028A891C: ; // 0x28a891c /* 028A891C */ cpu->r[4] = 0x10130000u; /* 028A8920 */ cpu->r[4] = cpu->r[4] + 0x00007CE4u; /* 028A8924 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8924 */ _t10 = _t9 & 0x00000001u; /* 028A8924 */ if (_t10) goto L_028A8928; // else: addr-0 trap, fall-through L_028A8928: ; // 0x28a8928 /* 028A8928 */ Gambit_fn_028A7AA4(cpu); /* 028A892C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A892C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A8930 */ cpu->lr = cpu->r[0]; /* 028A8934 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A8938 */ cpu->r[3] = 0x00000000u; /* 028A893C */ return; L_028A8940: ; // 0x28a8940 /* 028A8940 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A8940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A8944 */ cpu->r[12] = cpu->r[6] - cpu->r[5]; /* 028A8948 */ cpu->lr = cpu->r[0]; /* 028A894C */ cpu->r[3] = cpu->r[12] + 0x00000001u; /* 028A8950 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A8954 */ return; } // fn_028A8958 @ 0x28a8958 void Gambit_fn_028A8958(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A8958: ; // 0x28a8958 /* 028A8958 */ cpu->r[0] = cpu->lr; /* 028A895C */ _t0 = cpu->r[1] + 0x00000004u; /* 028A895C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A8960 */ cpu->r[11] = cpu->r[3]; /* 028A8964 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028A8964 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028A8964 */ cpu->r[1] = _t1; /* 028A8968 */ Gambit_fn_028A7C6C(cpu); /* 028A896C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8970 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8970 */ _t3 = _t2 & 0x00000001u; /* 028A8970 */ if (_t3) goto L_028A89D4; else goto L_028A8974; L_028A8974: ; // 0x28a8974 /* 028A8974 */ cpu->r[3] = cpu->r[11]; /* 028A8978 */ Gambit_fn_028A7C78(cpu); /* 028A897C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8980 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8980 */ _t5 = _t4 & 0x00000001u; /* 028A8980 */ if (_t5) goto L_028A89A0; else goto L_028A8984; L_028A8984: ; // 0x28a8984 /* 028A8984 */ cpu->r[4] = cpu->r[3]; /* 028A8988 */ cpu->r[3] = cpu->r[11]; /* 028A898C */ Gambit_fn_028A88F0(cpu); /* 028A8990 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028A8990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A8994 */ cpu->lr = cpu->r[0]; /* 028A8998 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A899C */ return; L_028A89A0: ; // 0x28a89a0 /* 028A89A0 */ _t7 = cpu->r[11] + 0x00000004u; /* 028A89A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 028A89A4 */ _t8 = cpu->r[11] + 0x00000008u; /* 028A89A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 028A89A8 */ cpu->r[6] = 0x10130000u; /* 028A89AC */ _t9 = cpu->r[12] + 0x00000000u; /* 028A89AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 028A89B0 */ cpu->r[6] = cpu->r[6] + 0x00007D0Cu; /* 028A89B4 */ cpu->r[4] = 0x00000012u; /* 028A89B8 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A89B8 */ _t11 = _t10 & 0x00000001u; /* 028A89B8 */ if (_t11) goto L_028A89BC; // else: addr-0 trap, fall-through L_028A89BC: ; // 0x28a89bc /* 028A89BC */ Gambit_fn_028AA73C(cpu); /* 028A89C0 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A89C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A89C4 */ cpu->lr = cpu->r[0]; /* 028A89C8 */ cpu->r[3] = 0x00000000u; /* 028A89CC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A89D0 */ return; L_028A89D4: ; // 0x28a89d4 /* 028A89D4 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028A89D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A89D8 */ cpu->lr = cpu->r[0]; /* 028A89DC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A89E0 */ cpu->r[3] = 0x00000000u; /* 028A89E4 */ return; } // fn_028A8964 @ 0x28a8964 void Gambit_fn_028A8964(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_028A8964: ; // 0x28a8964 /* 028A8964 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028A8964 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8964 */ cpu->r[1] = _t0; /* 028A8968 */ Gambit_fn_028A7C6C(cpu); /* 028A896C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8970 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8970 */ _t2 = _t1 & 0x00000001u; /* 028A8970 */ if (_t2) goto L_028A89D4; else goto L_028A8974; L_028A8974: ; // 0x28a8974 /* 028A8974 */ cpu->r[3] = cpu->r[11]; /* 028A8978 */ Gambit_fn_028A7C78(cpu); /* 028A897C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8980 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8980 */ _t4 = _t3 & 0x00000001u; /* 028A8980 */ if (_t4) goto L_028A89A0; else goto L_028A8984; L_028A8984: ; // 0x28a8984 /* 028A8984 */ cpu->r[4] = cpu->r[3]; /* 028A8988 */ cpu->r[3] = cpu->r[11]; /* 028A898C */ Gambit_fn_028A88F0(cpu); /* 028A8990 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028A8990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A8994 */ cpu->lr = cpu->r[0]; /* 028A8998 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A899C */ return; L_028A89A0: ; // 0x28a89a0 /* 028A89A0 */ _t6 = cpu->r[11] + 0x00000004u; /* 028A89A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028A89A4 */ _t7 = cpu->r[11] + 0x00000008u; /* 028A89A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 028A89A8 */ cpu->r[6] = 0x10130000u; /* 028A89AC */ _t8 = cpu->r[12] + 0x00000000u; /* 028A89AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t8); /* 028A89B0 */ cpu->r[6] = cpu->r[6] + 0x00007D0Cu; /* 028A89B4 */ cpu->r[4] = 0x00000012u; /* 028A89B8 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A89B8 */ _t10 = _t9 & 0x00000001u; /* 028A89B8 */ if (_t10) goto L_028A89BC; // else: addr-0 trap, fall-through L_028A89BC: ; // 0x28a89bc /* 028A89BC */ Gambit_fn_028AA73C(cpu); /* 028A89C0 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028A89C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A89C4 */ cpu->lr = cpu->r[0]; /* 028A89C8 */ cpu->r[3] = 0x00000000u; /* 028A89CC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A89D0 */ return; L_028A89D4: ; // 0x28a89d4 /* 028A89D4 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A89D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A89D8 */ cpu->lr = cpu->r[0]; /* 028A89DC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A89E0 */ cpu->r[3] = 0x00000000u; /* 028A89E4 */ return; } // fn_028A89E8 @ 0x28a89e8 void Gambit_fn_028A89E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A89E8: ; // 0x28a89e8 /* 028A89E8 */ cpu->r[0] = cpu->lr; /* 028A89EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A89EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A89EC */ cpu->r[1] = _t0; /* 028A89F0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A89F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A89F4 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A89F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A89F8 */ _t3 = cpu->r[3] + 0x0000000Cu; /* 028A89F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 028A89FC */ _t4 = cpu->r[10] + 0x0000003Cu; /* 028A89FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 028A8A00 */ cpu->r[31] = cpu->r[4]; /* 028A8A04 */ cpu->ctr = cpu->r[7]; /* 028A8A08 */ cpu->r[4] = cpu->r[5]; /* 028A8A0C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A8A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8A14 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8A14 */ _t6 = _t5 & 0x00000001u; /* 028A8A14 */ if (_t6) goto L_028A8A20; else goto L_028A8A18; L_028A8A18: ; // 0x28a8a18 /* 028A8A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A8A1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8A1C */ _t8 = _t7 & 0x00000001u; /* 028A8A1C */ if (_t8) goto L_028A8A20; else goto L_028A8A38; L_028A8A20: ; // 0x28a8a20 /* 028A8A20 */ _t9 = cpu->r[1] + 0x00000014u; /* 028A8A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028A8A24 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A8A24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A8A28 */ cpu->lr = cpu->r[0]; /* 028A8A2C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8A30 */ cpu->r[3] = 0x00000000u; /* 028A8A34 */ return; L_028A8A38: ; // 0x28a8a38 /* 028A8A38 */ cpu->r[9] = 0x00000001u; /* 028A8A3C */ _t11 = cpu->r[31] + 0x00000000u; /* 028A8A3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A8A40 */ /* nop */ /* 028A8A44 */ cpu->r[11] = cpu->r[12] & cpu->r[8]; /* 028A8A48 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu; /* 028A8A4C */ cpu->r[3] = cpu->r[11] - cpu->r[0]; /* 028A8A50 */ _t12 = cpu->r[1] + 0x00000014u; /* 028A8A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A8A54 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028A8A54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028A8A58 */ cpu->lr = cpu->r[0]; /* 028A8A5C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8A60 */ return; } // fn_028A89EC @ 0x28a89ec void Gambit_fn_028A89EC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_028A89EC: ; // 0x28a89ec /* 028A89EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A89EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A89EC */ cpu->r[1] = _t0; /* 028A89F0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A89F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A89F4 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A89F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A89F8 */ _t3 = cpu->r[3] + 0x0000000Cu; /* 028A89F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 028A89FC */ _t4 = cpu->r[10] + 0x0000003Cu; /* 028A89FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 028A8A00 */ cpu->r[31] = cpu->r[4]; /* 028A8A04 */ cpu->ctr = cpu->r[7]; /* 028A8A08 */ cpu->r[4] = cpu->r[5]; /* 028A8A0C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A8A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8A14 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8A14 */ _t6 = _t5 & 0x00000001u; /* 028A8A14 */ if (_t6) goto L_028A8A20; else goto L_028A8A18; L_028A8A18: ; // 0x28a8a18 /* 028A8A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A8A1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8A1C */ _t8 = _t7 & 0x00000001u; /* 028A8A1C */ if (_t8) goto L_028A8A20; else goto L_028A8A38; L_028A8A20: ; // 0x28a8a20 /* 028A8A20 */ _t9 = cpu->r[1] + 0x00000014u; /* 028A8A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028A8A24 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A8A24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A8A28 */ cpu->lr = cpu->r[0]; /* 028A8A2C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8A30 */ cpu->r[3] = 0x00000000u; /* 028A8A34 */ return; L_028A8A38: ; // 0x28a8a38 /* 028A8A38 */ cpu->r[9] = 0x00000001u; /* 028A8A3C */ _t11 = cpu->r[31] + 0x00000000u; /* 028A8A3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A8A40 */ /* nop */ /* 028A8A44 */ cpu->r[11] = cpu->r[12] & cpu->r[8]; /* 028A8A48 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu; /* 028A8A4C */ cpu->r[3] = cpu->r[11] - cpu->r[0]; /* 028A8A50 */ _t12 = cpu->r[1] + 0x00000014u; /* 028A8A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A8A54 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028A8A54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028A8A58 */ cpu->lr = cpu->r[0]; /* 028A8A5C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8A60 */ return; } // fn_028A8A64 @ 0x28a8a64 void Gambit_fn_028A8A64(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028A8A64: ; // 0x28a8a64 /* 028A8A64 */ cpu->r[0] = cpu->lr; /* 028A8A68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A8A68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8A68 */ cpu->r[1] = _t0; /* 028A8A6C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A8A6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8A70 */ cpu->r[31] = cpu->r[4]; /* 028A8A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A8A74 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A8A74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A8A78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8A78 */ _t4 = _t3 & 0x00000001u; /* 028A8A78 */ if (_t4) goto L_028A8ACC; else goto L_028A8A7C; L_028A8A7C: ; // 0x28a8a7c /* 028A8A7C */ _t5 = cpu->r[3] + 0x0000000Cu; /* 028A8A7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 028A8A80 */ _t6 = cpu->r[11] + 0x0000003Cu; /* 028A8A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A8A84 */ cpu->ctr = cpu->r[0]; /* 028A8A88 */ cpu->r[4] = cpu->r[5]; /* 028A8A8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A8A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8A94 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8A94 */ _t8 = _t7 & 0x00000001u; /* 028A8A94 */ if (_t8) goto L_028A8ACC; else goto L_028A8A98; L_028A8A98: ; // 0x28a8a98 /* 028A8A98 */ cpu->r[12] = 0x00000001u; /* 028A8A9C */ _t9 = cpu->r[31] + 0x00000000u; /* 028A8A9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 028A8AA0 */ /* nop */ /* 028A8AA4 */ cpu->r[9] = cpu->r[10] & cpu->r[11]; /* 028A8AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A8AA8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8AA8 */ _t11 = _t10 & 0x00000001u; /* 028A8AA8 */ if (_t11) goto L_028A8ACC; else goto L_028A8AAC; L_028A8AAC: ; // 0x28a8aac /* 028A8AAC */ cpu->r[12] = cpu->r[31] + 0x00000004u; /* 028A8AB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A8AB4 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; /* 028A8AB8 */ _t12 = cpu->r[1] + 0x00000014u; /* 028A8AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A8ABC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028A8ABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028A8AC0 */ cpu->lr = cpu->r[0]; /* 028A8AC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8AC8 */ return; L_028A8ACC: ; // 0x28a8acc /* 028A8ACC */ _t14 = cpu->r[1] + 0x00000014u; /* 028A8ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028A8AD0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A8AD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A8AD4 */ cpu->lr = cpu->r[0]; /* 028A8AD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8ADC */ cpu->r[3] = 0x00000000u; /* 028A8AE0 */ return; } // fn_028A8A68 @ 0x28a8a68 void Gambit_fn_028A8A68(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028A8A68: ; // 0x28a8a68 /* 028A8A68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A8A68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8A68 */ cpu->r[1] = _t0; /* 028A8A6C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A8A6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8A70 */ cpu->r[31] = cpu->r[4]; /* 028A8A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A8A74 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A8A74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A8A78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8A78 */ _t4 = _t3 & 0x00000001u; /* 028A8A78 */ if (_t4) goto L_028A8ACC; else goto L_028A8A7C; L_028A8A7C: ; // 0x28a8a7c /* 028A8A7C */ _t5 = cpu->r[3] + 0x0000000Cu; /* 028A8A7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 028A8A80 */ _t6 = cpu->r[11] + 0x0000003Cu; /* 028A8A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A8A84 */ cpu->ctr = cpu->r[0]; /* 028A8A88 */ cpu->r[4] = cpu->r[5]; /* 028A8A8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A8A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8A94 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8A94 */ _t8 = _t7 & 0x00000001u; /* 028A8A94 */ if (_t8) goto L_028A8ACC; else goto L_028A8A98; L_028A8A98: ; // 0x28a8a98 /* 028A8A98 */ cpu->r[12] = 0x00000001u; /* 028A8A9C */ _t9 = cpu->r[31] + 0x00000000u; /* 028A8A9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 028A8AA0 */ /* nop */ /* 028A8AA4 */ cpu->r[9] = cpu->r[10] & cpu->r[11]; /* 028A8AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A8AA8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8AA8 */ _t11 = _t10 & 0x00000001u; /* 028A8AA8 */ if (_t11) goto L_028A8ACC; else goto L_028A8AAC; L_028A8AAC: ; // 0x28a8aac /* 028A8AAC */ cpu->r[12] = cpu->r[31] + 0x00000004u; /* 028A8AB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A8AB4 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; /* 028A8AB8 */ _t12 = cpu->r[1] + 0x00000014u; /* 028A8AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028A8ABC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028A8ABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028A8AC0 */ cpu->lr = cpu->r[0]; /* 028A8AC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8AC8 */ return; L_028A8ACC: ; // 0x28a8acc /* 028A8ACC */ _t14 = cpu->r[1] + 0x00000014u; /* 028A8ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028A8AD0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A8AD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A8AD4 */ cpu->lr = cpu->r[0]; /* 028A8AD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8ADC */ cpu->r[3] = 0x00000000u; /* 028A8AE0 */ return; } // fn_028A8AE4 @ 0x28a8ae4 void Gambit_fn_028A8AE4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_028A8AE4: ; // 0x28a8ae4 /* 028A8AE4 */ cpu->r[0] = cpu->lr; /* 028A8AE8 */ _t0 = cpu->r[1] + 0x00000004u; /* 028A8AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A8AEC */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028A8AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028A8AEC */ cpu->r[1] = _t1; /* 028A8AF0 */ Gambit_fn_028A8A64(cpu); /* 028A8AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8AF8 */ cpu->r[0] = 0x00000000u; /* 028A8AFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8AFC */ _t3 = _t2 & 0x00000001u; /* 028A8AFC */ if (_t3) goto L_028A8B04; else goto L_028A8B00; L_028A8B00: ; // 0x28a8b00 /* 028A8B00 */ _t4 = cpu->r[3] + 0x00000000u; /* 028A8B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); L_028A8B04: ; // 0x28a8b04 /* 028A8B04 */ cpu->r[3] = cpu->r[0]; /* 028A8B08 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028A8B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A8B0C */ cpu->lr = cpu->r[0]; /* 028A8B10 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A8B14 */ return; } // fn_028A8AEC @ 0x28a8aec void Gambit_fn_028A8AEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_028A8AEC: ; // 0x28a8aec /* 028A8AEC */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028A8AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8AEC */ cpu->r[1] = _t0; /* 028A8AF0 */ Gambit_fn_028A8A64(cpu); /* 028A8AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8AF8 */ cpu->r[0] = 0x00000000u; /* 028A8AFC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8AFC */ _t2 = _t1 & 0x00000001u; /* 028A8AFC */ if (_t2) goto L_028A8B04; else goto L_028A8B00; L_028A8B00: ; // 0x28a8b00 /* 028A8B00 */ _t3 = cpu->r[3] + 0x00000000u; /* 028A8B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); L_028A8B04: ; // 0x28a8b04 /* 028A8B04 */ cpu->r[3] = cpu->r[0]; /* 028A8B08 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A8B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028A8B0C */ cpu->lr = cpu->r[0]; /* 028A8B10 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A8B14 */ return; } // fn_028A8B18 @ 0x28a8b18 void Gambit_fn_028A8B18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_028A8B18: ; // 0x28a8b18 /* 028A8B18 */ cpu->r[0] = cpu->lr; /* 028A8B1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A8B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8B1C */ cpu->r[1] = _t0; /* 028A8B20 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A8B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8B24 */ cpu->r[31] = cpu->r[4]; /* 028A8B28 */ cpu->r[4] = cpu->r[5]; /* 028A8B2C */ cpu->r[5] = cpu->r[6]; /* 028A8B30 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A8B30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A8B34 */ Gambit_fn_028A8AE4(cpu); /* 028A8B38 */ cpu->r[12] = cpu->r[3] ^ cpu->r[31]; /* 028A8B3C */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 028A8B40 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 028A8B44 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A8B48 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A8B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 028A8B4C */ cpu->lr = cpu->r[0]; /* 028A8B50 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8B54 */ return; } // fn_028A8B1C @ 0x28a8b1c void Gambit_fn_028A8B1C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_028A8B1C: ; // 0x28a8b1c /* 028A8B1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A8B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8B1C */ cpu->r[1] = _t0; /* 028A8B20 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A8B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A8B24 */ cpu->r[31] = cpu->r[4]; /* 028A8B28 */ cpu->r[4] = cpu->r[5]; /* 028A8B2C */ cpu->r[5] = cpu->r[6]; /* 028A8B30 */ _t2 = cpu->r[1] + 0x00000014u; /* 028A8B30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A8B34 */ Gambit_fn_028A8AE4(cpu); /* 028A8B38 */ cpu->r[12] = cpu->r[3] ^ cpu->r[31]; /* 028A8B3C */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 028A8B40 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 028A8B44 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A8B48 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028A8B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 028A8B4C */ cpu->lr = cpu->r[0]; /* 028A8B50 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8B54 */ return; } // fn_028A8B58 @ 0x28a8b58 void Gambit_fn_028A8B58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A8B58: ; // 0x28a8b58 /* 028A8B58 */ cpu->r[0] = cpu->lr; /* 028A8B5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A8B5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8B5C */ cpu->r[1] = _t0; /* 028A8B60 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A8B60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A8B64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A8B64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A8B68 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8B68 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A8B6C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A8B6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A8B70 */ cpu->r[29] = cpu->r[6]; /* 028A8B74 */ _t5 = cpu->r[3] + 0x0000000Cu; /* 028A8B74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 028A8B78 */ _t6 = cpu->r[11] + 0x0000003Cu; /* 028A8B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A8B7C */ cpu->r[30] = cpu->r[4] + 0x00000004u; /* 028A8B80 */ cpu->ctr = cpu->r[0]; /* 028A8B84 */ cpu->r[4] = cpu->r[5]; /* 028A8B88 */ cpu->r[31] = cpu->r[3]; /* 028A8B8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A8B90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A8B94 */ cpu->r[3] = cpu->r[31]; /* 028A8B98 */ cpu->r[5] = cpu->r[29]; /* 028A8B9C */ cpu->r[4] = cpu->r[30] + cpu->r[0]; /* 028A8BA0 */ Gambit_fn_028A84D4(cpu); /* 028A8BA4 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028A8BA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 028A8BA8 */ _t8 = cpu->r[1] + 0x0000001Cu; /* 028A8BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A8BAC */ _t9 = cpu->r[1] + 0x00000010u; /* 028A8BAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A8BB0 */ cpu->lr = cpu->r[0]; /* 028A8BB4 */ _t10 = cpu->r[1] + 0x00000014u; /* 028A8BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A8BB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8BBC */ return; } // fn_028A8B5C @ 0x28a8b5c void Gambit_fn_028A8B5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A8B5C: ; // 0x28a8b5c /* 028A8B5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A8B5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8B5C */ cpu->r[1] = _t0; /* 028A8B60 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A8B60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A8B64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A8B64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A8B68 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8B68 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A8B6C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A8B6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A8B70 */ cpu->r[29] = cpu->r[6]; /* 028A8B74 */ _t5 = cpu->r[3] + 0x0000000Cu; /* 028A8B74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 028A8B78 */ _t6 = cpu->r[11] + 0x0000003Cu; /* 028A8B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A8B7C */ cpu->r[30] = cpu->r[4] + 0x00000004u; /* 028A8B80 */ cpu->ctr = cpu->r[0]; /* 028A8B84 */ cpu->r[4] = cpu->r[5]; /* 028A8B88 */ cpu->r[31] = cpu->r[3]; /* 028A8B8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A8B90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028A8B94 */ cpu->r[3] = cpu->r[31]; /* 028A8B98 */ cpu->r[5] = cpu->r[29]; /* 028A8B9C */ cpu->r[4] = cpu->r[30] + cpu->r[0]; /* 028A8BA0 */ Gambit_fn_028A84D4(cpu); /* 028A8BA4 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028A8BA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 028A8BA8 */ _t8 = cpu->r[1] + 0x0000001Cu; /* 028A8BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A8BAC */ _t9 = cpu->r[1] + 0x00000010u; /* 028A8BAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A8BB0 */ cpu->lr = cpu->r[0]; /* 028A8BB4 */ _t10 = cpu->r[1] + 0x00000014u; /* 028A8BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A8BB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A8BBC */ return; } // fn_028A8BC0 @ 0x28a8bc0 void Gambit_fn_028A8BC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028A8BC0: ; // 0x28a8bc0 /* 028A8BC0 */ cpu->r[6] = 0x10130000u; /* 028A8BC4 */ cpu->r[12] = 0x101F0000u; /* 028A8BC8 */ cpu->r[8] = 0x10130000u; /* 028A8BCC */ cpu->r[6] = cpu->r[6] + 0x00007B08u; /* 028A8BD0 */ cpu->r[12] = cpu->r[12] + 0x00006F7Cu; /* 028A8BD4 */ cpu->r[8] = cpu->r[8] + 0x00007D38u; /* 028A8BD8 */ _t0 = cpu->r[12] + 0x00000004u; /* 028A8BD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[6]); /* 028A8BDC */ cpu->r[9] = 0x10130000u; /* 028A8BE0 */ _t1 = cpu->r[12] + 0x00000000u; /* 028A8BE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[8]); /* 028A8BE4 */ cpu->r[9] = cpu->r[9] + 0x00007D40u; /* 028A8BE8 */ _t2 = cpu->r[12] + 0x0000000Cu; /* 028A8BE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]); /* 028A8BEC */ cpu->r[10] = 0x10130000u; /* 028A8BF0 */ _t3 = cpu->r[12] + 0x00000008u; /* 028A8BF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]); /* 028A8BF4 */ cpu->r[10] = cpu->r[10] + 0x00007D20u; /* 028A8BF8 */ _t4 = cpu->r[12] + 0x00000014u; /* 028A8BF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]); /* 028A8BFC */ cpu->r[11] = 0x10130000u; /* 028A8C00 */ _t5 = cpu->r[12] + 0x00000010u; /* 028A8C00 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 028A8C04 */ cpu->r[11] = cpu->r[11] + 0x00007D28u; /* 028A8C08 */ _t6 = cpu->r[12] + 0x0000001Cu; /* 028A8C08 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]); /* 028A8C0C */ cpu->r[0] = 0x10130000u; /* 028A8C10 */ _t7 = cpu->r[12] + 0x00000018u; /* 028A8C10 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 028A8C14 */ cpu->r[0] = cpu->r[0] + 0x00007D48u; /* 028A8C18 */ _t8 = cpu->r[12] + 0x00000024u; /* 028A8C18 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]); /* 028A8C1C */ cpu->r[7] = 0x10130000u; /* 028A8C20 */ _t9 = cpu->r[12] + 0x00000020u; /* 028A8C20 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028A8C24 */ cpu->r[7] = cpu->r[7] + 0x00007D30u; /* 028A8C28 */ _t10 = cpu->r[12] + 0x0000002Cu; /* 028A8C28 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 028A8C2C */ _t11 = cpu->r[12] + 0x00000028u; /* 028A8C2C */ rbrew_write32(cpu->mem, _t11, cpu->r[7]); /* 028A8C30 */ return; } // fn_028A8C34 @ 0x28a8c34 void Gambit_fn_028A8C34(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_028A8C34: ; // 0x28a8c34 /* 028A8C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8C38 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8C38 */ _t17 = _t16 & 0x00000001u; /* 028A8C38 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A8C38 */ goto L_028A8C3C; L_028A8C3C: ; // 0x28a8c3c /* 028A8C3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A8C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A8C40 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8C40 */ _t19 = _t18 & 0x00000001u; /* 028A8C40 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A8C40 */ goto L_028A8C44; L_028A8C44: ; // 0x28a8c44 /* 028A8C44 */ goto L_02801BB0; } // fn_028A8C48 @ 0x28a8c48 void Gambit_fn_028A8C48(CPUState* cpu) { L_028A8C48: ; // 0x28a8c48 /* 028A8C48 */ return; } // fn_028A8C4C @ 0x28a8c4c void Gambit_fn_028A8C4C(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_028A8C4C: ; // 0x28a8c4c /* 028A8C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8C50 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8C50 */ _t17 = _t16 & 0x00000001u; /* 028A8C50 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A8C50 */ goto L_028A8C54; L_028A8C54: ; // 0x28a8c54 /* 028A8C54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A8C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A8C58 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8C58 */ _t19 = _t18 & 0x00000001u; /* 028A8C58 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A8C58 */ goto L_028A8C5C; L_028A8C5C: ; // 0x28a8c5c /* 028A8C5C */ goto L_02801BB0; } // fn_028A8C60 @ 0x28a8c60 void Gambit_fn_028A8C60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_028A8C60: ; // 0x28a8c60 /* 028A8C60 */ _t0 = cpu->r[3] + 0x00000000u; /* 028A8C60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 028A8C64 */ _t1 = cpu->r[3] + 0x00000008u; /* 028A8C64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 028A8C68 */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 028A8C6C */ cpu->r[11] = 0x10110000u; /* 028A8C70 */ _t2 = cpu->r[11] + 0x00007399u; /* 028A8C70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 028A8C74 */ _t3 = cpu->r[12] + 0xFFFFFFFFu; /* 028A8C74 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]); /* 028A8C78 */ return; } // fn_028A8C7C @ 0x28a8c7c void Gambit_fn_028A8C7C(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_028A8C7C: ; // 0x28a8c7c /* 028A8C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8C80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8C80 */ _t17 = _t16 & 0x00000001u; /* 028A8C80 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A8C80 */ goto L_028A8C84; L_028A8C84: ; // 0x28a8c84 /* 028A8C84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A8C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A8C88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8C88 */ _t19 = _t18 & 0x00000001u; /* 028A8C88 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A8C88 */ goto L_028A8C8C; L_028A8C8C: ; // 0x28a8c8c /* 028A8C8C */ goto L_02801BB0; } // fn_028A8C90 @ 0x28a8c90 void Gambit_fn_028A8C90(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_028A8C90: ; // 0x28a8c90 /* 028A8C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8C94 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8C94 */ _t17 = _t16 & 0x00000001u; /* 028A8C94 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A8C94 */ goto L_028A8C98; L_028A8C98: ; // 0x28a8c98 /* 028A8C98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A8C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A8C9C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8C9C */ _t19 = _t18 & 0x00000001u; /* 028A8C9C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A8C9C */ goto L_028A8CA0; L_028A8CA0: ; // 0x28a8ca0 /* 028A8CA0 */ goto L_02801BB0; } // fn_028A8CA4 @ 0x28a8ca4 void Gambit_fn_028A8CA4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_028A8CA4: ; // 0x28a8ca4 /* 028A8CA4 */ _t0 = cpu->r[3] + 0x00000014u; /* 028A8CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028A8CA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A8CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A8CAC */ cpu->r[0] = 0x00000000u; /* 028A8CB0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8CB0 */ _t2 = _t1 & 0x00000001u; /* 028A8CB0 */ if (_t2) goto L_028A8CB8; else goto L_028A8CB4; L_028A8CB4: ; // 0x28a8cb4 /* 028A8CB4 */ _t3 = cpu->r[3] + 0x00000018u; /* 028A8CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); L_028A8CB8: ; // 0x28a8cb8 /* 028A8CB8 */ cpu->r[3] = cpu->r[0]; /* 028A8CBC */ return; } // fn_028A8CC0 @ 0x28a8cc0 void Gambit_fn_028A8CC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028A8CC0: ; // 0x28a8cc0 /* 028A8CC0 */ cpu->r[0] = cpu->lr; /* 028A8CC4 */ _t0 = cpu->r[1] + 0x00000004u; /* 028A8CC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A8CC8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028A8CC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028A8CC8 */ cpu->r[1] = _t1; /* 028A8CCC */ Gambit_fn_028A8CA4(cpu); /* 028A8CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8CD4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8CD4 */ _t3 = _t2 & 0x00000001u; /* 028A8CD4 */ if (_t3) goto L_028A8CE4; else goto L_028A8CD8; L_028A8CD8: ; // 0x28a8cd8 /* 028A8CD8 */ _t4 = cpu->r[3] + 0x00000000u; /* 028A8CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028A8CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A8CE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8CE0 */ _t6 = _t5 & 0x00000001u; /* 028A8CE0 */ if (_t6) goto L_028A8CE8; else goto L_028A8CE4; L_028A8CE4: ; // 0x28a8ce4 /* 028A8CE4 */ cpu->r[3] = 0x00000000u; L_028A8CE8: ; // 0x28a8ce8 /* 028A8CE8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028A8CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A8CEC */ cpu->lr = cpu->r[0]; /* 028A8CF0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A8CF4 */ return; } // fn_028A8CC8 @ 0x28a8cc8 void Gambit_fn_028A8CC8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_028A8CC8: ; // 0x28a8cc8 /* 028A8CC8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028A8CC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8CC8 */ cpu->r[1] = _t0; /* 028A8CCC */ Gambit_fn_028A8CA4(cpu); /* 028A8CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8CD4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8CD4 */ _t2 = _t1 & 0x00000001u; /* 028A8CD4 */ if (_t2) goto L_028A8CE4; else goto L_028A8CD8; L_028A8CD8: ; // 0x28a8cd8 /* 028A8CD8 */ _t3 = cpu->r[3] + 0x00000000u; /* 028A8CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A8CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A8CE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8CE0 */ _t5 = _t4 & 0x00000001u; /* 028A8CE0 */ if (_t5) goto L_028A8CE8; else goto L_028A8CE4; L_028A8CE4: ; // 0x28a8ce4 /* 028A8CE4 */ cpu->r[3] = 0x00000000u; L_028A8CE8: ; // 0x28a8ce8 /* 028A8CE8 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028A8CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A8CEC */ cpu->lr = cpu->r[0]; /* 028A8CF0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028A8CF4 */ return; } // fn_028A8CF8 @ 0x28a8cf8 void Gambit_fn_028A8CF8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A8CF8: ; // 0x28a8cf8 /* 028A8CF8 */ _t0 = cpu->r[3] + 0x00000000u; /* 028A8CF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028A8CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A8D00 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8D00 */ _t2 = _t1 & 0x00000001u; /* 028A8D00 */ if (_t2) goto L_028A8D0C; else goto L_028A8D04; L_028A8D04: ; // 0x28a8d04 /* 028A8D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A8D08 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8D08 */ _t4 = _t3 & 0x00000001u; /* 028A8D08 */ if (_t4) goto L_028A8D0C; else goto L_028A8D14; L_028A8D0C: ; // 0x28a8d0c /* 028A8D0C */ cpu->r[3] = 0x00000000u; /* 028A8D10 */ return; L_028A8D14: ; // 0x28a8d14 /* 028A8D14 */ _t5 = cpu->r[12] + 0x0000004Cu; /* 028A8D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A8D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u); /* 028A8D1C */ _t6 = cpu->r[4] + 0x00000004u; /* 028A8D1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t6); /* 028A8D20 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8D20 */ _t8 = _t7 & 0x00000001u; /* 028A8D20 */ if (_t8) goto L_028A8D24; else goto L_028A8D34; L_028A8D24: ; // 0x28a8d24 /* 028A8D24 */ _t9 = cpu->r[3] + 0x00000004u; /* 028A8D24 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9); /* 028A8D28 */ cpu->r[3] = cpu->r[5]; /* 028A8D2C */ _t10 = cpu->r[4] + 0x00000008u; /* 028A8D2C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t10); /* 028A8D30 */ goto L_028A8D40; L_028A8D34: ; // 0x28a8d34 /* 028A8D34 */ _t11 = cpu->r[3] + 0x00000004u; /* 028A8D34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 028A8D38 */ _t12 = cpu->r[4] + 0x00000008u; /* 028A8D38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12); /* 028A8D3C */ goto L_028A8DDC; L_028A8D40: ; // 0x28a8d40 /* 028A8D40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000003u); /* 028A8D44 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8D44 */ _t14 = _t13 & 0x00000001u; /* 028A8D44 */ if (_t14) goto L_028A8D48; else goto L_028A8D68; L_028A8D48: ; // 0x28a8d48 /* 028A8D48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u); /* 028A8D4C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8D4C */ _t16 = _t15 & 0x00000001u; /* 028A8D4C */ if (_t16) goto L_028A8D84; else goto L_028A8D50; L_028A8D50: ; // 0x28a8d50 /* 028A8D50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8D50 */ _t18 = _t17 & 0x00000001u; /* 028A8D50 */ if (_t18) goto L_028A8D94; else goto L_028A8D54; L_028A8D54: ; // 0x28a8d54 /* 028A8D54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[2]); /* 028A8D58 */ /* nop */ /* 028A8D5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 028A8D60 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u; /* 028A8D64 */ return; L_028A8D68: ; // 0x28a8d68 /* 028A8D68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u); /* 028A8D6C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8D6C */ _t20 = _t19 & 0x00000001u; /* 028A8D6C */ if (_t20) goto L_028A8DA4; else goto L_028A8D70; L_028A8D70: ; // 0x28a8d70 /* 028A8D70 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8D70 */ _t22 = _t21 & 0x00000001u; /* 028A8D70 */ if (_t22) goto L_028A8DB4; else goto L_028A8D74; L_028A8D74: ; // 0x28a8d74 /* 028A8D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000005u); /* 028A8D78 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8D78 */ _t24 = _t23 & 0x00000001u; /* 028A8D78 */ if (_t24) goto L_028A8DC8; else goto L_028A8D7C; L_028A8D7C: ; // 0x28a8d7c /* 028A8D7C */ cpu->r[3] = 0x00000000u; /* 028A8D80 */ return; L_028A8D84: ; // 0x28a8d84 /* 028A8D84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[2]); /* 028A8D88 */ /* nop */ /* 028A8D8C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x0000001Fu, 0x0000001Fu); /* 028A8D90 */ return; L_028A8D94: ; // 0x28a8d94 /* 028A8D94 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[2]); /* 028A8D98 */ /* nop */ /* 028A8D9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu); /* 028A8DA0 */ return; L_028A8DA4: ; // 0x28a8da4 /* 028A8DA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[2]); /* 028A8DA8 */ /* nop */ /* 028A8DAC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 028A8DB0 */ return; L_028A8DB4: ; // 0x28a8db4 /* 028A8DB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[2]); /* 028A8DB8 */ /* nop */ /* 028A8DBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu); /* 028A8DC0 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u; /* 028A8DC4 */ return; L_028A8DC8: ; // 0x28a8dc8 /* 028A8DC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[2]); /* 028A8DCC */ /* nop */ /* 028A8DD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x0000001Fu, 0x0000001Fu); /* 028A8DD4 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u; /* 028A8DD8 */ return; L_028A8DDC: ; // 0x28a8ddc /* 028A8DDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u); /* 028A8DE0 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8DE0 */ _t26 = _t25 & 0x00000001u; /* 028A8DE0 */ if (_t26) goto L_028A8DE4; else goto L_028A8E04; L_028A8DE4: ; // 0x28a8de4 /* 028A8DE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000001u); /* 028A8DE8 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8DE8 */ _t28 = _t27 & 0x00000001u; /* 028A8DE8 */ if (_t28) goto L_028A8E20; else goto L_028A8DEC; L_028A8DEC: ; // 0x28a8dec /* 028A8DEC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8DEC */ _t30 = _t29 & 0x00000001u; /* 028A8DEC */ if (_t30) goto L_028A8E30; else goto L_028A8DF0; L_028A8DF0: ; // 0x28a8df0 /* 028A8DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 028A8DF4 */ /* nop */ /* 028A8DF8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 028A8DFC */ cpu->r[3] = cpu->r[3] ^ 0x00000001u; /* 028A8E00 */ return; L_028A8E04: ; // 0x28a8e04 /* 028A8E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u); /* 028A8E08 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8E08 */ _t32 = _t31 & 0x00000001u; /* 028A8E08 */ if (_t32) goto L_028A8E40; else goto L_028A8E0C; L_028A8E0C: ; // 0x28a8e0c /* 028A8E0C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8E0C */ _t34 = _t33 & 0x00000001u; /* 028A8E0C */ if (_t34) goto L_028A8E50; else goto L_028A8E10; L_028A8E10: ; // 0x28a8e10 /* 028A8E10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000005u); /* 028A8E14 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8E14 */ _t36 = _t35 & 0x00000001u; /* 028A8E14 */ if (_t36) goto L_028A8E64; else goto L_028A8E18; L_028A8E18: ; // 0x28a8e18 /* 028A8E18 */ cpu->r[3] = 0x00000000u; /* 028A8E1C */ return; L_028A8E20: ; // 0x28a8e20 /* 028A8E20 */ cpu->r[10] = cpu->r[3] ^ cpu->r[4]; /* 028A8E24 */ cpu->r[11] = rbrew_clz32(cpu->r[10]); /* 028A8E28 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 028A8E2C */ return; L_028A8E30: ; // 0x28a8e30 /* 028A8E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 028A8E34 */ /* nop */ /* 028A8E38 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu); /* 028A8E3C */ return; L_028A8E40: ; // 0x28a8e40 /* 028A8E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 028A8E44 */ /* nop */ /* 028A8E48 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 028A8E4C */ return; L_028A8E50: ; // 0x28a8e50 /* 028A8E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]); /* 028A8E54 */ /* nop */ /* 028A8E58 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x0000001Fu, 0x0000001Fu); /* 028A8E5C */ cpu->r[3] = cpu->r[3] ^ 0x00000001u; /* 028A8E60 */ return; L_028A8E64: ; // 0x28a8e64 /* 028A8E64 */ cpu->r[12] = cpu->r[3] ^ cpu->r[4]; /* 028A8E68 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 028A8E6C */ cpu->r[3] = cpu->r[12] - cpu->r[0]; /* 028A8E70 */ return; } // fn_028A8E74 @ 0x28a8e74 void Gambit_fn_028A8E74(CPUState* cpu) { uint32_t _t0, _t1, _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_028A8E74: ; // 0x28a8e74 /* 028A8E74 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028A8E74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8E74 */ cpu->r[1] = _t0; /* 028A8E78 */ /* nop */ /* 028A8E7C */ cpu->r[0] = cpu->lr; /* 028A8E80 */ _t1 = cpu->r[1] + 0x00000024u; /* 028A8E80 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A8E84 */ cpu->r[27] = cpu->r[3]; /* 028A8E88 */ _t2 = cpu->r[27] + 0x00000010u; /* 028A8E88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 028A8E8C */ cpu->r[28] = cpu->r[4]; /* 028A8E90 */ cpu->r[31] = 0x00000000u; /* 028A8E94 */ Gambit_fn_028A8CA4(cpu); /* 028A8E98 */ _t3 = cpu->r[27] + 0x0000000Cu; /* 028A8E98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3); /* 028A8E9C */ _t4 = cpu->r[6] + 0x00000020u; /* 028A8E9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 028A8EA0 */ _t5 = cpu->r[3] + 0x00000004u; /* 028A8EA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 028A8EA4 */ _t6 = cpu->r[7] + 0x0000000Cu; /* 028A8EA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028A8EA8 */ cpu->r[4] = cpu->r[12] + cpu->r[28]; /* 028A8EAC */ Gambit_fn_028AD640(cpu); /* 028A8EB0 */ _t7 = cpu->r[27] + 0x00000010u; /* 028A8EB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 028A8EB4 */ cpu->r[26] = cpu->r[3]; /* 028A8EB8 */ _t8 = cpu->r[27] + 0x0000000Cu; /* 028A8EB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 028A8EBC */ Gambit_fn_028ACD90(cpu); /* 028A8EC0 */ _t9 = cpu->r[3] + 0x00000004u; /* 028A8EC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 028A8EC4 */ _t10 = cpu->r[8] + 0x00000014u; /* 028A8EC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A8EC8 */ cpu->ctr = cpu->r[9]; /* 028A8ECC */ cpu->r[30] = cpu->r[3]; /* 028A8ED0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A8ED4 */ _t11 = cpu->r[27] + 0x0000000Cu; /* 028A8ED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 028A8ED8 */ _t12 = cpu->r[30] + 0x00000000u; /* 028A8ED8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12); /* 028A8EDC */ cpu->r[4] = cpu->r[26]; /* 028A8EE0 */ Gambit_fn_028ACD90(cpu); /* 028A8EE4 */ _t13 = cpu->r[3] + 0x00000004u; /* 028A8EE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 028A8EE8 */ _t14 = cpu->r[10] + 0x00000014u; /* 028A8EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028A8EEC */ cpu->ctr = cpu->r[0]; /* 028A8EF0 */ cpu->r[30] = cpu->r[3]; /* 028A8EF4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A8EF8 */ _t15 = cpu->r[27] + 0x00000010u; /* 028A8EF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 028A8EFC */ cpu->r[5] = 0x10130000u; /* 028A8F00 */ _t16 = cpu->r[30] + 0x00000000u; /* 028A8F00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 028A8F04 */ cpu->r[10] = cpu->r[28]; /* 028A8F08 */ _t17 = cpu->r[27] + 0x0000004Cu; /* 028A8F08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 028A8F0C */ cpu->r[6] = cpu->r[29]; /* 028A8F10 */ _t18 = cpu->r[12] + 0x00000000u; /* 028A8F10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18); /* 028A8F14 */ cpu->r[5] = cpu->r[5] + 0x00007D54u; /* 028A8F18 */ _t19 = cpu->r[26] + 0x00000000u; /* 028A8F18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19); /* 028A8F1C */ _t20 = cpu->r[27] + 0x0000000Cu; /* 028A8F1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20); /* 028A8F20 */ _t21 = cpu->cr[1] >> (0x00000001u & 31u); /* 028A8F20 */ _t22 = _t21 & 0x00000001u; /* 028A8F20 */ if (_t22) goto L_028A8F24; // else: addr-0 trap, fall-through L_028A8F24: ; // 0x28a8f24 /* 028A8F24 */ Gambit_fn_028AD24C(cpu); /* 028A8F28 */ cpu->r[3] = cpu->r[27]; /* 028A8F2C */ cpu->r[4] = cpu->r[26]; /* 028A8F30 */ Gambit_fn_028A5A44(cpu); /* 028A8F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8F38 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8F38 */ _t24 = _t23 & 0x00000001u; /* 028A8F38 */ if (_t24) goto L_028A8F40; else goto L_028A8F3C; L_028A8F3C: ; // 0x28a8f3c /* 028A8F3C */ cpu->r[31] = 0x00000001u; L_028A8F40: ; // 0x28a8f40 /* 028A8F40 */ cpu->r[3] = cpu->r[31]; /* 028A8F44 */ /* nop */ /* 028A8F48 */ _t25 = cpu->r[1] + 0x00000024u; /* 028A8F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A8F4C */ cpu->lr = cpu->r[0]; /* 028A8F50 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A8F54 */ return; } // fn_028A8F58 @ 0x28a8f58 void Gambit_fn_028A8F58(CPUState* cpu) { 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_028A8F58: ; // 0x28a8f58 /* 028A8F58 */ cpu->r[0] = cpu->lr; /* 028A8F5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A8F5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8F5C */ cpu->r[1] = _t0; /* 028A8F60 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A8F60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A8F64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A8F64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A8F68 */ cpu->r[30] = cpu->r[3]; /* 028A8F6C */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8F6C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A8F70 */ _t4 = cpu->r[30] + 0x00000010u; /* 028A8F70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028A8F74 */ Gambit_fn_028A8CA4(cpu); /* 028A8F78 */ _t5 = cpu->r[3] + 0x00000008u; /* 028A8F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A8F7C */ _t6 = cpu->r[3] + 0x00000004u; /* 028A8F7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 028A8F80 */ cpu->r[31] = cpu->r[0] - cpu->r[11]; /* 028A8F84 */ _t7 = cpu->r[30] + 0x00000054u; /* 028A8F84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028A8F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 028A8F8C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8F8C */ _t9 = _t8 & 0x00000001u; /* 028A8F8C */ if (_t9) goto L_028A8F90; else goto L_028A8FD0; L_028A8F90: ; // 0x28a8f90 /* 028A8F90 */ cpu->r[4] = cpu->r[10] + 0x00000001u; /* 028A8F94 */ cpu->r[3] = cpu->r[30]; /* 028A8F98 */ _t10 = cpu->r[30] + 0x00000054u; /* 028A8F98 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 028A8F9C */ Gambit_fn_028A8E74(cpu); /* 028A8FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8FA4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8FA4 */ _t12 = _t11 & 0x00000001u; /* 028A8FA4 */ if (_t12) goto L_028A8FC4; else goto L_028A8FA8; L_028A8FA8: ; // 0x28a8fa8 /* 028A8FA8 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A8FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A8FAC */ _t14 = cpu->r[1] + 0x00000008u; /* 028A8FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028A8FB0 */ cpu->lr = cpu->r[0]; /* 028A8FB4 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A8FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A8FB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8FBC */ cpu->r[3] = 0x00000001u; /* 028A8FC0 */ return; L_028A8FC4: ; // 0x28a8fc4 /* 028A8FC4 */ _t16 = cpu->r[30] + 0x00000054u; /* 028A8FC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A8FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 028A8FCC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8FCC */ _t18 = _t17 & 0x00000001u; /* 028A8FCC */ if (_t18) goto L_028A8F90; else goto L_028A8FD0; L_028A8FD0: ; // 0x28a8fd0 /* 028A8FD0 */ _t19 = cpu->r[1] + 0x00000014u; /* 028A8FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A8FD4 */ _t20 = cpu->r[1] + 0x00000008u; /* 028A8FD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A8FD8 */ cpu->lr = cpu->r[0]; /* 028A8FDC */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028A8FDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A8FE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8FE4 */ cpu->r[3] = 0x00000000u; /* 028A8FE8 */ return; } // fn_028A8F5C @ 0x28a8f5c void Gambit_fn_028A8F5C(CPUState* cpu) { 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_028A8F5C: ; // 0x28a8f5c /* 028A8F5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A8F5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8F5C */ cpu->r[1] = _t0; /* 028A8F60 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A8F60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A8F64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A8F64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A8F68 */ cpu->r[30] = cpu->r[3]; /* 028A8F6C */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8F6C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A8F70 */ _t4 = cpu->r[30] + 0x00000010u; /* 028A8F70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028A8F74 */ Gambit_fn_028A8CA4(cpu); /* 028A8F78 */ _t5 = cpu->r[3] + 0x00000008u; /* 028A8F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A8F7C */ _t6 = cpu->r[3] + 0x00000004u; /* 028A8F7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 028A8F80 */ cpu->r[31] = cpu->r[0] - cpu->r[11]; /* 028A8F84 */ _t7 = cpu->r[30] + 0x00000054u; /* 028A8F84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028A8F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 028A8F8C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8F8C */ _t9 = _t8 & 0x00000001u; /* 028A8F8C */ if (_t9) goto L_028A8F90; else goto L_028A8FD0; L_028A8F90: ; // 0x28a8f90 /* 028A8F90 */ cpu->r[4] = cpu->r[10] + 0x00000001u; /* 028A8F94 */ cpu->r[3] = cpu->r[30]; /* 028A8F98 */ _t10 = cpu->r[30] + 0x00000054u; /* 028A8F98 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 028A8F9C */ Gambit_fn_028A8E74(cpu); /* 028A8FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8FA4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8FA4 */ _t12 = _t11 & 0x00000001u; /* 028A8FA4 */ if (_t12) goto L_028A8FC4; else goto L_028A8FA8; L_028A8FA8: ; // 0x28a8fa8 /* 028A8FA8 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A8FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A8FAC */ _t14 = cpu->r[1] + 0x00000008u; /* 028A8FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028A8FB0 */ cpu->lr = cpu->r[0]; /* 028A8FB4 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A8FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A8FB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8FBC */ cpu->r[3] = 0x00000001u; /* 028A8FC0 */ return; L_028A8FC4: ; // 0x28a8fc4 /* 028A8FC4 */ _t16 = cpu->r[30] + 0x00000054u; /* 028A8FC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A8FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 028A8FCC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8FCC */ _t18 = _t17 & 0x00000001u; /* 028A8FCC */ if (_t18) goto L_028A8F90; else goto L_028A8FD0; L_028A8FD0: ; // 0x28a8fd0 /* 028A8FD0 */ _t19 = cpu->r[1] + 0x00000014u; /* 028A8FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A8FD4 */ _t20 = cpu->r[1] + 0x00000008u; /* 028A8FD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A8FD8 */ cpu->lr = cpu->r[0]; /* 028A8FDC */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028A8FDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A8FE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8FE4 */ cpu->r[3] = 0x00000000u; /* 028A8FE8 */ return; } // fn_028A8FEC @ 0x28a8fec void Gambit_fn_028A8FEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A8FEC: ; // 0x28a8fec /* 028A8FEC */ cpu->r[0] = cpu->lr; /* 028A8FF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A8FF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8FF0 */ cpu->r[1] = _t0; /* 028A8FF4 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A8FF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A8FF8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A8FF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A8FFC */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8FFC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A9000 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A9000 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A9004 */ cpu->r[29] = cpu->r[3]; /* 028A9008 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A9008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A900C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9010 */ cpu->r[31] = 0x00000000u; /* 028A9014 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9014 */ _t7 = _t6 & 0x00000001u; /* 028A9014 */ if (_t7) goto L_028A9020; else goto L_028A9018; L_028A9018: ; // 0x28a9018 /* 028A9018 */ _t8 = cpu->r[29] + 0x00000024u; /* 028A9018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028A901C */ _t9 = cpu->r[10] + 0x00000000u; /* 028A901C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); L_028A9020: ; // 0x28a9020 /* 028A9020 */ _t10 = cpu->r[31] + 0x00000050u; /* 028A9020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A9024 */ _t11 = cpu->r[11] + 0x0000003Cu; /* 028A9024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 028A9028 */ cpu->ctr = cpu->r[11]; /* 028A902C */ cpu->r[3] = cpu->r[31]; /* 028A9030 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9034 */ cpu->r[30] = cpu->r[3]; /* 028A9034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A9038 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9038 */ _t13 = _t12 & 0x00000001u; /* 028A9038 */ if (_t13) goto L_028A90BC; else goto L_028A903C; L_028A903C: ; // 0x28a903c /* 028A903C */ _t14 = cpu->r[31] + 0x00000050u; /* 028A903C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A9040 */ _t15 = cpu->r[12] + 0x00000034u; /* 028A9040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 028A9044 */ cpu->ctr = cpu->r[10]; /* 028A9048 */ cpu->r[3] = cpu->r[31]; /* 028A904C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9050 */ _t16 = cpu->r[29] + 0x0000004Cu; /* 028A9050 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 028A9054 */ cpu->r[12] = 0x00000000u; /* 028A9058 */ _t17 = cpu->r[29] + 0x0000001Cu; /* 028A9058 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]); /* 028A905C */ _t18 = cpu->r[11] + 0x0000004Cu; /* 028A905C */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 028A9060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9064 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9064 */ _t20 = _t19 & 0x00000001u; /* 028A9064 */ if (_t20) goto L_028A9068; else goto L_028A90BC; L_028A9068: ; // 0x28a9068 /* 028A9068 */ cpu->r[3] = cpu->r[29]; /* 028A906C */ Gambit_fn_028A8F58(cpu); /* 028A9070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A9074 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9074 */ _t22 = _t21 & 0x00000001u; /* 028A9074 */ if (_t22) goto L_028A9078; else goto L_028A90B0; L_028A9078: ; // 0x28a9078 /* 028A9078 */ _t23 = cpu->r[29] + 0x00000014u; /* 028A9078 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23); /* 028A907C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A9080 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9080 */ _t25 = _t24 & 0x00000001u; /* 028A9080 */ if (_t25) goto L_028A9094; else goto L_028A9084; L_028A9084: ; // 0x28a9084 /* 028A9084 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A9084 */ _t27 = _t26 & 0x00000001u; /* 028A9084 */ if (_t27) goto L_028A9088; else goto L_028A90B8; L_028A9088: ; // 0x28a9088 /* 028A9088 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028A9088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A908C */ _t28 = cpu->r[29] + 0x00000014u; /* 028A908C */ rbrew_write32(cpu->mem, _t28, cpu->r[10]); /* 028A9090 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9090 */ _t30 = _t29 & 0x00000001u; /* 028A9090 */ if (_t30) goto L_028A90B8; else goto L_028A9094; L_028A9094: ; // 0x28a9094 /* 028A9094 */ _t31 = cpu->r[29] + 0x00000050u; /* 028A9094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 028A9098 */ _t32 = cpu->r[12] + 0x0000002Cu; /* 028A9098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A909C */ cpu->ctr = cpu->r[0]; /* 028A90A0 */ cpu->r[3] = cpu->r[29]; /* 028A90A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A90A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A90AC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A90AC */ _t34 = _t33 & 0x00000001u; /* 028A90AC */ if (_t34) goto L_028A90BC; else goto L_028A90B0; L_028A90B0: ; // 0x28a90b0 /* 028A90B0 */ cpu->r[30] = 0x00000000u; /* 028A90B4 */ goto L_028A90BC; L_028A90B8: ; // 0x28a90b8 /* 028A90B8 */ cpu->r[30] = 0x00000001u; L_028A90BC: ; // 0x28a90bc /* 028A90BC */ _t35 = cpu->r[1] + 0x0000000Cu; /* 028A90BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t35); /* 028A90C0 */ _t36 = cpu->r[1] + 0x0000001Cu; /* 028A90C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 028A90C4 */ cpu->r[3] = cpu->r[30]; /* 028A90C8 */ _t37 = cpu->r[1] + 0x00000010u; /* 028A90C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 028A90CC */ cpu->lr = cpu->r[0]; /* 028A90D0 */ _t38 = cpu->r[1] + 0x00000014u; /* 028A90D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 028A90D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A90D8 */ return; } // fn_028A8FF0 @ 0x28a8ff0 void Gambit_fn_028A8FF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A8FF0: ; // 0x28a8ff0 /* 028A8FF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A8FF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8FF0 */ cpu->r[1] = _t0; /* 028A8FF4 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A8FF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A8FF8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A8FF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A8FFC */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8FFC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A9000 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A9000 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A9004 */ cpu->r[29] = cpu->r[3]; /* 028A9008 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A9008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A900C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9010 */ cpu->r[31] = 0x00000000u; /* 028A9014 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9014 */ _t7 = _t6 & 0x00000001u; /* 028A9014 */ if (_t7) goto L_028A9020; else goto L_028A9018; L_028A9018: ; // 0x28a9018 /* 028A9018 */ _t8 = cpu->r[29] + 0x00000024u; /* 028A9018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028A901C */ _t9 = cpu->r[10] + 0x00000000u; /* 028A901C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); L_028A9020: ; // 0x28a9020 /* 028A9020 */ _t10 = cpu->r[31] + 0x00000050u; /* 028A9020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A9024 */ _t11 = cpu->r[11] + 0x0000003Cu; /* 028A9024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 028A9028 */ cpu->ctr = cpu->r[11]; /* 028A902C */ cpu->r[3] = cpu->r[31]; /* 028A9030 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9034 */ cpu->r[30] = cpu->r[3]; /* 028A9034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A9038 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9038 */ _t13 = _t12 & 0x00000001u; /* 028A9038 */ if (_t13) goto L_028A90BC; else goto L_028A903C; L_028A903C: ; // 0x28a903c /* 028A903C */ _t14 = cpu->r[31] + 0x00000050u; /* 028A903C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A9040 */ _t15 = cpu->r[12] + 0x00000034u; /* 028A9040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 028A9044 */ cpu->ctr = cpu->r[10]; /* 028A9048 */ cpu->r[3] = cpu->r[31]; /* 028A904C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9050 */ _t16 = cpu->r[29] + 0x0000004Cu; /* 028A9050 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 028A9054 */ cpu->r[12] = 0x00000000u; /* 028A9058 */ _t17 = cpu->r[29] + 0x0000001Cu; /* 028A9058 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]); /* 028A905C */ _t18 = cpu->r[11] + 0x0000004Cu; /* 028A905C */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 028A9060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9064 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9064 */ _t20 = _t19 & 0x00000001u; /* 028A9064 */ if (_t20) goto L_028A9068; else goto L_028A90BC; L_028A9068: ; // 0x28a9068 /* 028A9068 */ cpu->r[3] = cpu->r[29]; /* 028A906C */ Gambit_fn_028A8F58(cpu); /* 028A9070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A9074 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9074 */ _t22 = _t21 & 0x00000001u; /* 028A9074 */ if (_t22) goto L_028A9078; else goto L_028A90B0; L_028A9078: ; // 0x28a9078 /* 028A9078 */ _t23 = cpu->r[29] + 0x00000014u; /* 028A9078 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23); /* 028A907C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A9080 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9080 */ _t25 = _t24 & 0x00000001u; /* 028A9080 */ if (_t25) goto L_028A9094; else goto L_028A9084; L_028A9084: ; // 0x28a9084 /* 028A9084 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A9084 */ _t27 = _t26 & 0x00000001u; /* 028A9084 */ if (_t27) goto L_028A9088; else goto L_028A90B8; L_028A9088: ; // 0x28a9088 /* 028A9088 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028A9088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A908C */ _t28 = cpu->r[29] + 0x00000014u; /* 028A908C */ rbrew_write32(cpu->mem, _t28, cpu->r[10]); /* 028A9090 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9090 */ _t30 = _t29 & 0x00000001u; /* 028A9090 */ if (_t30) goto L_028A90B8; else goto L_028A9094; L_028A9094: ; // 0x28a9094 /* 028A9094 */ _t31 = cpu->r[29] + 0x00000050u; /* 028A9094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 028A9098 */ _t32 = cpu->r[12] + 0x0000002Cu; /* 028A9098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A909C */ cpu->ctr = cpu->r[0]; /* 028A90A0 */ cpu->r[3] = cpu->r[29]; /* 028A90A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A90A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A90AC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A90AC */ _t34 = _t33 & 0x00000001u; /* 028A90AC */ if (_t34) goto L_028A90BC; else goto L_028A90B0; L_028A90B0: ; // 0x28a90b0 /* 028A90B0 */ cpu->r[30] = 0x00000000u; /* 028A90B4 */ goto L_028A90BC; L_028A90B8: ; // 0x28a90b8 /* 028A90B8 */ cpu->r[30] = 0x00000001u; L_028A90BC: ; // 0x28a90bc /* 028A90BC */ _t35 = cpu->r[1] + 0x0000000Cu; /* 028A90BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t35); /* 028A90C0 */ _t36 = cpu->r[1] + 0x0000001Cu; /* 028A90C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 028A90C4 */ cpu->r[3] = cpu->r[30]; /* 028A90C8 */ _t37 = cpu->r[1] + 0x00000010u; /* 028A90C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 028A90CC */ cpu->lr = cpu->r[0]; /* 028A90D0 */ _t38 = cpu->r[1] + 0x00000014u; /* 028A90D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 028A90D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A90D8 */ return; } // fn_028A90DC @ 0x28a90dc void Gambit_fn_028A90DC(CPUState* cpu) { uint32_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_028A8F58: ; // 0x28a8f58 /* 028A8F58 */ cpu->r[0] = cpu->lr; /* 028A8F5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A8F5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A8F5C */ cpu->r[1] = _t0; /* 028A8F60 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A8F60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A8F64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A8F64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A8F68 */ cpu->r[30] = cpu->r[3]; /* 028A8F6C */ _t3 = cpu->r[1] + 0x00000014u; /* 028A8F6C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A8F70 */ _t4 = cpu->r[30] + 0x00000010u; /* 028A8F70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028A8F74 */ Gambit_fn_028A8CA4(cpu); /* 028A8F78 */ _t5 = cpu->r[3] + 0x00000008u; /* 028A8F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A8F7C */ _t6 = cpu->r[3] + 0x00000004u; /* 028A8F7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 028A8F80 */ cpu->r[31] = cpu->r[0] - cpu->r[11]; /* 028A8F84 */ _t7 = cpu->r[30] + 0x00000054u; /* 028A8F84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028A8F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 028A8F8C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8F8C */ _t9 = _t8 & 0x00000001u; /* 028A8F8C */ if (_t9) goto L_028A8F90; else goto L_028A8FD0; L_028A8F90: ; // 0x28a8f90 /* 028A8F90 */ cpu->r[4] = cpu->r[10] + 0x00000001u; /* 028A8F94 */ cpu->r[3] = cpu->r[30]; /* 028A8F98 */ _t10 = cpu->r[30] + 0x00000054u; /* 028A8F98 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 028A8F9C */ Gambit_fn_028A8E74(cpu); /* 028A8FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A8FA4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A8FA4 */ _t12 = _t11 & 0x00000001u; /* 028A8FA4 */ if (_t12) goto L_028A8FC4; else goto L_028A8FA8; L_028A8FA8: ; // 0x28a8fa8 /* 028A8FA8 */ _t13 = cpu->r[1] + 0x00000014u; /* 028A8FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A8FAC */ _t14 = cpu->r[1] + 0x00000008u; /* 028A8FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028A8FB0 */ cpu->lr = cpu->r[0]; /* 028A8FB4 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028A8FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028A8FB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8FBC */ cpu->r[3] = 0x00000001u; /* 028A8FC0 */ return; L_028A8FC4: ; // 0x28a8fc4 /* 028A8FC4 */ _t16 = cpu->r[30] + 0x00000054u; /* 028A8FC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A8FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 028A8FCC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A8FCC */ _t18 = _t17 & 0x00000001u; /* 028A8FCC */ if (_t18) goto L_028A8F90; else goto L_028A8FD0; L_028A8FD0: ; // 0x28a8fd0 /* 028A8FD0 */ _t19 = cpu->r[1] + 0x00000014u; /* 028A8FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A8FD4 */ _t20 = cpu->r[1] + 0x00000008u; /* 028A8FD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A8FD8 */ cpu->lr = cpu->r[0]; /* 028A8FDC */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028A8FDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A8FE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A8FE4 */ cpu->r[3] = 0x00000000u; /* 028A8FE8 */ return; L_028A90DC: ; // 0x28a90dc /* 028A90DC */ cpu->r[0] = 0xFFFFFFFFu; /* 028A90E0 */ _t22 = cpu->r[3] + 0x00000054u; /* 028A90E0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A90E4 */ goto L_028A8F58; } // fn_028A90E8 @ 0x28a90e8 void Gambit_fn_028A90E8(CPUState* cpu) { uint32_t _t0, _t1, _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_028A90E8: ; // 0x28a90e8 /* 028A90E8 */ cpu->r[0] = cpu->lr; /* 028A90EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A90EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A90EC */ cpu->r[1] = _t0; /* 028A90F0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A90F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A90F4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A90F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A90F8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A90F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A90FC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A90FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A9100 */ cpu->r[29] = cpu->r[3]; /* 028A9104 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A9104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A9108 */ cpu->r[30] = 0x00000000u; /* 028A910C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A9110 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9110 */ _t7 = _t6 & 0x00000001u; /* 028A9110 */ if (_t7) goto L_028A9114; else goto L_028A9164; L_028A9114: ; // 0x28a9114 /* 028A9114 */ cpu->r[31] = 0x00000000u; L_028A9118: ; // 0x28a9118 /* 028A9118 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A911C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A911C */ _t9 = _t8 & 0x00000001u; /* 028A911C */ if (_t9) goto L_028A9120; else goto L_028A9154; L_028A9120: ; // 0x28a9120 /* 028A9120 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A9120 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A9124 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A9124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A9128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A912C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A912C */ _t13 = _t12 & 0x00000001u; /* 028A912C */ if (_t13) goto L_028A9154; else goto L_028A9130; L_028A9130: ; // 0x28a9130 /* 028A9130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A9134 */ cpu->r[3] = 0x00000000u; /* 028A9138 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9138 */ _t15 = _t14 & 0x00000001u; /* 028A9138 */ if (_t15) goto L_028A913C; else goto L_028A9140; L_028A913C: ; // 0x28a913c /* 028A913C */ cpu->r[3] = cpu->r[8]; L_028A9140: ; // 0x28a9140 /* 028A9140 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A9140 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A9144 */ _t17 = cpu->r[10] + 0x0000001Cu; /* 028A9144 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A9148 */ cpu->ctr = cpu->r[11]; /* 028A914C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9150 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A9150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A9154: ; // 0x28a9154 /* 028A9154 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A9158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A915C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A9160 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9160 */ _t20 = _t19 & 0x00000001u; /* 028A9160 */ if (_t20) goto L_028A9118; else goto L_028A9164; L_028A9164: ; // 0x28a9164 /* 028A9164 */ cpu->r[0] = 0x00000000u; /* 028A9168 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A9168 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A916C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A916C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A9170 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A9170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A9174 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A9174 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A9178 */ cpu->lr = cpu->r[0]; /* 028A917C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A917C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9180 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9184 */ return; } // fn_028A90EC @ 0x28a90ec void Gambit_fn_028A90EC(CPUState* cpu) { uint32_t _t0, _t1, _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_028A90EC: ; // 0x28a90ec /* 028A90EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A90EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A90EC */ cpu->r[1] = _t0; /* 028A90F0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A90F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A90F4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A90F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A90F8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A90F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A90FC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A90FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A9100 */ cpu->r[29] = cpu->r[3]; /* 028A9104 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A9104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A9108 */ cpu->r[30] = 0x00000000u; /* 028A910C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A9110 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9110 */ _t7 = _t6 & 0x00000001u; /* 028A9110 */ if (_t7) goto L_028A9114; else goto L_028A9164; L_028A9114: ; // 0x28a9114 /* 028A9114 */ cpu->r[31] = 0x00000000u; L_028A9118: ; // 0x28a9118 /* 028A9118 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A911C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A911C */ _t9 = _t8 & 0x00000001u; /* 028A911C */ if (_t9) goto L_028A9120; else goto L_028A9154; L_028A9120: ; // 0x28a9120 /* 028A9120 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A9120 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A9124 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A9124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A9128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A912C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A912C */ _t13 = _t12 & 0x00000001u; /* 028A912C */ if (_t13) goto L_028A9154; else goto L_028A9130; L_028A9130: ; // 0x28a9130 /* 028A9130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A9134 */ cpu->r[3] = 0x00000000u; /* 028A9138 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9138 */ _t15 = _t14 & 0x00000001u; /* 028A9138 */ if (_t15) goto L_028A913C; else goto L_028A9140; L_028A913C: ; // 0x28a913c /* 028A913C */ cpu->r[3] = cpu->r[8]; L_028A9140: ; // 0x28a9140 /* 028A9140 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A9140 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A9144 */ _t17 = cpu->r[10] + 0x0000001Cu; /* 028A9144 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A9148 */ cpu->ctr = cpu->r[11]; /* 028A914C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9150 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A9150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A9154: ; // 0x28a9154 /* 028A9154 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A9158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A915C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A9160 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9160 */ _t20 = _t19 & 0x00000001u; /* 028A9160 */ if (_t20) goto L_028A9118; else goto L_028A9164; L_028A9164: ; // 0x28a9164 /* 028A9164 */ cpu->r[0] = 0x00000000u; /* 028A9168 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A9168 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A916C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A916C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A9170 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A9170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A9174 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A9174 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A9178 */ cpu->lr = cpu->r[0]; /* 028A917C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A917C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9180 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9184 */ return; } // fn_028A9188 @ 0x28a9188 void Gambit_fn_028A9188(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A9188: ; // 0x28a9188 /* 028A9188 */ cpu->r[0] = cpu->lr; /* 028A918C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A918C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A918C */ cpu->r[1] = _t0; /* 028A9190 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A9190 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A9194 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A9194 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A9198 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A9198 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A919C */ _t4 = cpu->r[1] + 0x00000014u; /* 028A919C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A91A0 */ cpu->r[28] = cpu->r[3]; /* 028A91A4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A91A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A91A8 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A91A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A91AC */ cpu->r[29] = 0x00000000u; /* 028A91B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A91B4 */ cpu->r[30] = cpu->r[4]; /* 028A91B8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A91B8 */ _t8 = _t7 & 0x00000001u; /* 028A91B8 */ if (_t8) goto L_028A91BC; else goto L_028A9210; L_028A91BC: ; // 0x28a91bc /* 028A91BC */ cpu->r[31] = 0x00000000u; L_028A91C0: ; // 0x28a91c0 /* 028A91C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A91C4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A91C4 */ _t10 = _t9 & 0x00000001u; /* 028A91C4 */ if (_t10) goto L_028A91C8; else goto L_028A9200; L_028A91C8: ; // 0x28a91c8 /* 028A91C8 */ _t11 = cpu->r[28] + 0x00000024u; /* 028A91C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A91CC */ _t12 = cpu->r[9] + cpu->r[31]; /* 028A91CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028A91D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A91D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A91D4 */ _t14 = _t13 & 0x00000001u; /* 028A91D4 */ if (_t14) goto L_028A9200; else goto L_028A91D8; L_028A91D8: ; // 0x28a91d8 /* 028A91D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A91DC */ cpu->r[3] = 0x00000000u; /* 028A91E0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A91E0 */ _t16 = _t15 & 0x00000001u; /* 028A91E0 */ if (_t16) goto L_028A91E4; else goto L_028A91E8; L_028A91E4: ; // 0x28a91e4 /* 028A91E4 */ cpu->r[3] = cpu->r[8]; L_028A91E8: ; // 0x28a91e8 /* 028A91E8 */ _t17 = cpu->r[3] + 0x00000050u; /* 028A91E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A91EC */ _t18 = cpu->r[10] + 0x00000024u; /* 028A91EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A91F0 */ cpu->ctr = cpu->r[11]; /* 028A91F4 */ cpu->r[4] = cpu->r[30]; /* 028A91F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A91FC */ _t19 = cpu->r[28] + 0x0000001Cu; /* 028A91FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); L_028A9200: ; // 0x28a9200 /* 028A9200 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A9204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A9208 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A920C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A920C */ _t21 = _t20 & 0x00000001u; /* 028A920C */ if (_t21) goto L_028A91C0; else goto L_028A9210; L_028A9210: ; // 0x28a9210 /* 028A9210 */ cpu->r[0] = 0x00000000u; /* 028A9214 */ _t22 = cpu->r[28] + 0x00000014u; /* 028A9214 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A9218 */ _t23 = cpu->r[1] + 0x00000008u; /* 028A9218 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23); /* 028A921C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A921C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 028A9220 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 028A9220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A9224 */ _t26 = cpu->r[1] + 0x00000010u; /* 028A9224 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A9228 */ cpu->lr = cpu->r[0]; /* 028A922C */ _t27 = cpu->r[1] + 0x00000014u; /* 028A922C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A9230 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9234 */ return; } // fn_028A918C @ 0x28a918c void Gambit_fn_028A918C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A918C: ; // 0x28a918c /* 028A918C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A918C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A918C */ cpu->r[1] = _t0; /* 028A9190 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A9190 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A9194 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A9194 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A9198 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A9198 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A919C */ _t4 = cpu->r[1] + 0x00000014u; /* 028A919C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A91A0 */ cpu->r[28] = cpu->r[3]; /* 028A91A4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A91A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A91A8 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A91A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A91AC */ cpu->r[29] = 0x00000000u; /* 028A91B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A91B4 */ cpu->r[30] = cpu->r[4]; /* 028A91B8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A91B8 */ _t8 = _t7 & 0x00000001u; /* 028A91B8 */ if (_t8) goto L_028A91BC; else goto L_028A9210; L_028A91BC: ; // 0x28a91bc /* 028A91BC */ cpu->r[31] = 0x00000000u; L_028A91C0: ; // 0x28a91c0 /* 028A91C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A91C4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A91C4 */ _t10 = _t9 & 0x00000001u; /* 028A91C4 */ if (_t10) goto L_028A91C8; else goto L_028A9200; L_028A91C8: ; // 0x28a91c8 /* 028A91C8 */ _t11 = cpu->r[28] + 0x00000024u; /* 028A91C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A91CC */ _t12 = cpu->r[9] + cpu->r[31]; /* 028A91CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028A91D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A91D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A91D4 */ _t14 = _t13 & 0x00000001u; /* 028A91D4 */ if (_t14) goto L_028A9200; else goto L_028A91D8; L_028A91D8: ; // 0x28a91d8 /* 028A91D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A91DC */ cpu->r[3] = 0x00000000u; /* 028A91E0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A91E0 */ _t16 = _t15 & 0x00000001u; /* 028A91E0 */ if (_t16) goto L_028A91E4; else goto L_028A91E8; L_028A91E4: ; // 0x28a91e4 /* 028A91E4 */ cpu->r[3] = cpu->r[8]; L_028A91E8: ; // 0x28a91e8 /* 028A91E8 */ _t17 = cpu->r[3] + 0x00000050u; /* 028A91E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A91EC */ _t18 = cpu->r[10] + 0x00000024u; /* 028A91EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A91F0 */ cpu->ctr = cpu->r[11]; /* 028A91F4 */ cpu->r[4] = cpu->r[30]; /* 028A91F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A91FC */ _t19 = cpu->r[28] + 0x0000001Cu; /* 028A91FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); L_028A9200: ; // 0x28a9200 /* 028A9200 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A9204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A9208 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A920C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A920C */ _t21 = _t20 & 0x00000001u; /* 028A920C */ if (_t21) goto L_028A91C0; else goto L_028A9210; L_028A9210: ; // 0x28a9210 /* 028A9210 */ cpu->r[0] = 0x00000000u; /* 028A9214 */ _t22 = cpu->r[28] + 0x00000014u; /* 028A9214 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A9218 */ _t23 = cpu->r[1] + 0x00000008u; /* 028A9218 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23); /* 028A921C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A921C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 028A9220 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 028A9220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A9224 */ _t26 = cpu->r[1] + 0x00000010u; /* 028A9224 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A9228 */ cpu->lr = cpu->r[0]; /* 028A922C */ _t27 = cpu->r[1] + 0x00000014u; /* 028A922C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A9230 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9234 */ return; } // fn_028A9238 @ 0x28a9238 void Gambit_fn_028A9238(CPUState* cpu) { uint32_t _t0, _t1, _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_028A9238: ; // 0x28a9238 /* 028A9238 */ cpu->r[0] = cpu->lr; /* 028A923C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A923C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A923C */ cpu->r[1] = _t0; /* 028A9240 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A9240 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A9244 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A9244 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A9248 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A9248 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A924C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A924C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A9250 */ cpu->r[29] = cpu->r[3]; /* 028A9254 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A9254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A9258 */ cpu->r[30] = 0x00000000u; /* 028A925C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A9260 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9260 */ _t7 = _t6 & 0x00000001u; /* 028A9260 */ if (_t7) goto L_028A9264; else goto L_028A92B4; L_028A9264: ; // 0x28a9264 /* 028A9264 */ cpu->r[31] = 0x00000000u; L_028A9268: ; // 0x28a9268 /* 028A9268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A926C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A926C */ _t9 = _t8 & 0x00000001u; /* 028A926C */ if (_t9) goto L_028A9270; else goto L_028A92A4; L_028A9270: ; // 0x28a9270 /* 028A9270 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A9270 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A9274 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A9274 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A9278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A927C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A927C */ _t13 = _t12 & 0x00000001u; /* 028A927C */ if (_t13) goto L_028A92A4; else goto L_028A9280; L_028A9280: ; // 0x28a9280 /* 028A9280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A9284 */ cpu->r[3] = 0x00000000u; /* 028A9288 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9288 */ _t15 = _t14 & 0x00000001u; /* 028A9288 */ if (_t15) goto L_028A928C; else goto L_028A9290; L_028A928C: ; // 0x28a928c /* 028A928C */ cpu->r[3] = cpu->r[8]; L_028A9290: ; // 0x28a9290 /* 028A9290 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A9290 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A9294 */ _t17 = cpu->r[10] + 0x00000044u; /* 028A9294 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A9298 */ cpu->ctr = cpu->r[11]; /* 028A929C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A92A0 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A92A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A92A4: ; // 0x28a92a4 /* 028A92A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A92A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A92AC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A92B0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A92B0 */ _t20 = _t19 & 0x00000001u; /* 028A92B0 */ if (_t20) goto L_028A9268; else goto L_028A92B4; L_028A92B4: ; // 0x28a92b4 /* 028A92B4 */ cpu->r[0] = 0x00000000u; /* 028A92B8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A92B8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A92BC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A92BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A92C0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A92C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A92C4 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A92C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A92C8 */ cpu->lr = cpu->r[0]; /* 028A92CC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A92CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A92D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A92D4 */ return; } // fn_028A923C @ 0x28a923c void Gambit_fn_028A923C(CPUState* cpu) { uint32_t _t0, _t1, _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_028A923C: ; // 0x28a923c /* 028A923C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A923C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A923C */ cpu->r[1] = _t0; /* 028A9240 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A9240 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A9244 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A9244 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A9248 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A9248 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A924C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A924C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A9250 */ cpu->r[29] = cpu->r[3]; /* 028A9254 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A9254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A9258 */ cpu->r[30] = 0x00000000u; /* 028A925C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A9260 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9260 */ _t7 = _t6 & 0x00000001u; /* 028A9260 */ if (_t7) goto L_028A9264; else goto L_028A92B4; L_028A9264: ; // 0x28a9264 /* 028A9264 */ cpu->r[31] = 0x00000000u; L_028A9268: ; // 0x28a9268 /* 028A9268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A926C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A926C */ _t9 = _t8 & 0x00000001u; /* 028A926C */ if (_t9) goto L_028A9270; else goto L_028A92A4; L_028A9270: ; // 0x28a9270 /* 028A9270 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A9270 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A9274 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A9274 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A9278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A927C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A927C */ _t13 = _t12 & 0x00000001u; /* 028A927C */ if (_t13) goto L_028A92A4; else goto L_028A9280; L_028A9280: ; // 0x28a9280 /* 028A9280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A9284 */ cpu->r[3] = 0x00000000u; /* 028A9288 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9288 */ _t15 = _t14 & 0x00000001u; /* 028A9288 */ if (_t15) goto L_028A928C; else goto L_028A9290; L_028A928C: ; // 0x28a928c /* 028A928C */ cpu->r[3] = cpu->r[8]; L_028A9290: ; // 0x28a9290 /* 028A9290 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A9290 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A9294 */ _t17 = cpu->r[10] + 0x00000044u; /* 028A9294 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A9298 */ cpu->ctr = cpu->r[11]; /* 028A929C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A92A0 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A92A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A92A4: ; // 0x28a92a4 /* 028A92A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A92A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A92AC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A92B0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A92B0 */ _t20 = _t19 & 0x00000001u; /* 028A92B0 */ if (_t20) goto L_028A9268; else goto L_028A92B4; L_028A92B4: ; // 0x28a92b4 /* 028A92B4 */ cpu->r[0] = 0x00000000u; /* 028A92B8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A92B8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A92BC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A92BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A92C0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A92C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A92C4 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A92C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A92C8 */ cpu->lr = cpu->r[0]; /* 028A92CC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A92CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A92D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A92D4 */ return; } // fn_028A92D8 @ 0x28a92d8 void Gambit_fn_028A92D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A92D8: ; // 0x28a92d8 /* 028A92D8 */ cpu->r[0] = cpu->lr; /* 028A92DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A92DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A92DC */ cpu->r[1] = _t0; /* 028A92E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A92E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A92E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A92E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A92E8 */ cpu->r[30] = cpu->r[3]; /* 028A92E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A92EC */ cpu->r[31] = cpu->r[4]; /* 028A92F0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A92F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A92F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A92F4 */ _t5 = _t4 & 0x00000001u; /* 028A92F4 */ if (_t5) goto L_028A9314; else goto L_028A92F8; L_028A92F8: ; // 0x28a92f8 /* 028A92F8 */ cpu->r[3] = cpu->r[30]; /* 028A92FC */ cpu->r[4] = 0x00000000u; /* 028A9300 */ Gambit_fn_028A5900(cpu); /* 028A9304 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A9304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9308 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9308 */ _t7 = _t6 & 0x00000001u; /* 028A9308 */ if (_t7) goto L_028A9314; else goto L_028A930C; L_028A930C: ; // 0x28a930c /* 028A930C */ cpu->r[3] = cpu->r[30]; /* 028A9310 */ Gambit_fn_02801BB0(cpu); L_028A9314: ; // 0x28a9314 /* 028A9314 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A9314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A9318 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A9318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A931C */ cpu->lr = cpu->r[0]; /* 028A9320 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A9320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A9324 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9328 */ return; } // fn_028A92DC @ 0x28a92dc void Gambit_fn_028A92DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A92DC: ; // 0x28a92dc /* 028A92DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A92DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A92DC */ cpu->r[1] = _t0; /* 028A92E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A92E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A92E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A92E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A92E8 */ cpu->r[30] = cpu->r[3]; /* 028A92E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A92EC */ cpu->r[31] = cpu->r[4]; /* 028A92F0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A92F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A92F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A92F4 */ _t5 = _t4 & 0x00000001u; /* 028A92F4 */ if (_t5) goto L_028A9314; else goto L_028A92F8; L_028A92F8: ; // 0x28a92f8 /* 028A92F8 */ cpu->r[3] = cpu->r[30]; /* 028A92FC */ cpu->r[4] = 0x00000000u; /* 028A9300 */ Gambit_fn_028A5900(cpu); /* 028A9304 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A9304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9308 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9308 */ _t7 = _t6 & 0x00000001u; /* 028A9308 */ if (_t7) goto L_028A9314; else goto L_028A930C; L_028A930C: ; // 0x28a930c /* 028A930C */ cpu->r[3] = cpu->r[30]; /* 028A9310 */ Gambit_fn_02801BB0(cpu); L_028A9314: ; // 0x28a9314 /* 028A9314 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A9314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A9318 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A9318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A931C */ cpu->lr = cpu->r[0]; /* 028A9320 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A9320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A9324 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9328 */ return; } // fn_028A932C @ 0x28a932c void Gambit_fn_028A932C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A932C: ; // 0x28a932c /* 028A932C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028A932C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A932C */ cpu->r[1] = _t0; /* 028A9330 */ /* nop */ /* 028A9334 */ cpu->r[0] = cpu->lr; /* 028A9338 */ _t1 = cpu->r[1] + 0x00000024u; /* 028A9338 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A933C */ cpu->r[31] = cpu->r[3]; /* 028A9340 */ _t2 = cpu->r[31] + 0x00000010u; /* 028A9340 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 028A9344 */ Gambit_fn_028A8CA4(cpu); /* 028A9348 */ cpu->r[30] = cpu->r[3]; /* 028A934C */ _t3 = cpu->r[30] + 0x00000010u; /* 028A934C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A9350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9354 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9354 */ _t5 = _t4 & 0x00000001u; /* 028A9354 */ if (_t5) goto L_028A9390; else goto L_028A9358; L_028A9358: ; // 0x28a9358 /* 028A9358 */ _t6 = cpu->r[30] + 0x00000014u; /* 028A9358 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6); /* 028A935C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028A9360 */ _t7 = cpu->r[31] + 0x0000000Cu; /* 028A9360 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 028A9364 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9364 */ _t9 = _t8 & 0x00000001u; /* 028A9364 */ if (_t9) goto L_028A9380; else goto L_028A9368; L_028A9368: ; // 0x28a9368 /* 028A9368 */ _t10 = cpu->r[12] + 0x0000001Cu; /* 028A9368 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A936C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 028A9370 */ _t11 = cpu->r[11] + 0x00000034u; /* 028A9370 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A9374 */ cpu->r[26] = cpu->r[9] + cpu->r[0]; /* 028A9374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A9378 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9378 */ _t13 = _t12 & 0x00000001u; /* 028A9378 */ if (_t13) goto L_028A937C; else goto L_028A93A8; L_028A937C: ; // 0x28a937c /* 028A937C */ goto L_028A9390; L_028A9380: ; // 0x28a9380 /* 028A9380 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 028A9384 */ _t14 = cpu->r[12] + 0x00000050u; /* 028A9384 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 028A9388 */ cpu->r[26] = cpu->r[9] + cpu->r[0]; /* 028A9388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028A938C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A938C */ _t16 = _t15 & 0x00000001u; /* 028A938C */ if (_t16) goto L_028A9390; else goto L_028A93A8; L_028A9390: ; // 0x28a9390 /* 028A9390 */ /* nop */ /* 028A9394 */ _t17 = cpu->r[1] + 0x00000024u; /* 028A9394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028A9398 */ cpu->lr = cpu->r[0]; /* 028A939C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A93A0 */ cpu->r[3] = 0x00000000u; /* 028A93A4 */ return; L_028A93A8: ; // 0x28a93a8 /* 028A93A8 */ _t18 = cpu->r[30] + 0x00000008u; /* 028A93A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 028A93AC */ _t19 = cpu->r[30] + 0x00000004u; /* 028A93AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 028A93B0 */ _t20 = cpu->r[12] + 0x00000020u; /* 028A93B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20); /* 028A93B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]); /* 028A93B8 */ cpu->r[31] = 0x00000000u; /* 028A93BC */ _t21 = cpu->r[7] + 0x0000000Cu; /* 028A93BC */ cpu->r[27] = rbrew_read32(cpu->mem, _t21); /* 028A93C0 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A93C0 */ _t23 = _t22 & 0x00000001u; /* 028A93C0 */ if (_t23) goto L_028A9408; else goto L_028A93C4; L_028A93C4: ; // 0x28a93c4 /* 028A93C4 */ cpu->r[3] = cpu->r[27]; /* 028A93C8 */ cpu->r[4] = cpu->r[28]; /* 028A93CC */ Gambit_fn_028AD640(cpu); /* 028A93D0 */ cpu->r[29] = cpu->r[3]; /* 028A93D4 */ _t24 = cpu->r[29] + 0x0000001Cu; /* 028A93D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24); /* 028A93D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028A93DC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A93DC */ _t26 = _t25 & 0x00000001u; /* 028A93DC */ if (_t26) goto L_028A93F0; else goto L_028A93E0; L_028A93E0: ; // 0x28a93e0 /* 028A93E0 */ cpu->r[3] = cpu->r[26]; /* 028A93E4 */ Gambit_fn_028A8CF8(cpu); /* 028A93E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A93EC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A93EC */ _t28 = _t27 & 0x00000001u; /* 028A93EC */ if (_t28) goto L_028A93F8; else goto L_028A93F0; L_028A93F0: ; // 0x28a93f0 /* 028A93F0 */ cpu->r[3] = cpu->r[29]; /* 028A93F4 */ goto L_028A940C; L_028A93F8: ; // 0x28a93f8 /* 028A93F8 */ _t29 = cpu->r[30] + 0x00000008u; /* 028A93F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028A93FC */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 028A9400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 028A9404 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A9404 */ _t31 = _t30 & 0x00000001u; /* 028A9404 */ if (_t31) goto L_028A9408; else goto L_028A93C4; L_028A9408: ; // 0x28a9408 /* 028A9408 */ cpu->r[3] = cpu->r[31]; L_028A940C: ; // 0x28a940c /* 028A940C */ /* nop */ /* 028A9410 */ _t32 = cpu->r[1] + 0x00000024u; /* 028A9410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A9414 */ cpu->lr = cpu->r[0]; /* 028A9418 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A941C */ return; } // fn_028A9420 @ 0x28a9420 void Gambit_fn_028A9420(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028A9420: ; // 0x28a9420 /* 028A9420 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028A9420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9420 */ cpu->r[1] = _t0; /* 028A9424 */ /* nop */ /* 028A9428 */ cpu->r[0] = cpu->lr; /* 028A942C */ _t1 = cpu->r[1] + 0x00000024u; /* 028A942C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A9430 */ cpu->r[29] = cpu->r[3]; /* 028A9434 */ _t2 = cpu->r[29] + 0x0000004Cu; /* 028A9434 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 028A9438 */ _t3 = cpu->r[9] + 0x0000004Cu; /* 028A9438 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 028A943C */ cpu->r[28] = 0x00000000u; /* 028A9440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9444 */ cpu->r[27] = cpu->r[28]; /* 028A9448 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9448 */ _t5 = _t4 & 0x00000001u; /* 028A9448 */ if (_t5) goto L_028A944C; else goto L_028A9500; L_028A944C: ; // 0x28a944c /* 028A944C */ _t6 = cpu->r[29] + 0x00000010u; /* 028A944C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 028A9450 */ _t7 = cpu->r[8] + 0x00000014u; /* 028A9450 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028A9454 */ cpu->r[27] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 028A9454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A9458 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9458 */ _t9 = _t8 & 0x00000001u; /* 028A9458 */ if (_t9) goto L_028A9500; else goto L_028A945C; L_028A945C: ; // 0x28a945c /* 028A945C */ _t10 = cpu->r[29] + 0x00000054u; /* 028A945C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028A9460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9464 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9464 */ _t12 = _t11 & 0x00000001u; /* 028A9464 */ if (_t12) goto L_028A94EC; else goto L_028A9468; L_028A9468: ; // 0x28a9468 /* 028A9468 */ cpu->r[3] = cpu->r[29]; /* 028A946C */ Gambit_fn_028A932C(cpu); /* 028A9470 */ _t13 = cpu->r[29] + 0x00000054u; /* 028A9470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A9474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 028A9478 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9478 */ _t15 = _t14 & 0x00000001u; /* 028A9478 */ if (_t15) goto L_028A94E4; else goto L_028A947C; L_028A947C: ; // 0x28a947c /* 028A947C */ _t16 = cpu->r[29] + 0x0000001Cu; /* 028A947C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 028A9480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A9484 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9484 */ _t18 = _t17 & 0x00000001u; /* 028A9484 */ if (_t18) goto L_028A94E4; else goto L_028A9488; L_028A9488: ; // 0x28a9488 /* 028A9488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A948C */ cpu->r[31] = 0x00000000u; /* 028A9490 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9490 */ _t20 = _t19 & 0x00000001u; /* 028A9490 */ if (_t20) goto L_028A949C; else goto L_028A9494; L_028A9494: ; // 0x28a9494 /* 028A9494 */ _t21 = cpu->r[29] + 0x00000024u; /* 028A9494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 028A9498 */ _t22 = cpu->r[12] + 0x00000000u; /* 028A9498 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); L_028A949C: ; // 0x28a949c /* 028A949C */ _t23 = cpu->r[31] + 0x00000050u; /* 028A949C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 028A94A0 */ _t24 = cpu->r[8] + 0x00000044u; /* 028A94A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028A94A4 */ cpu->ctr = cpu->r[0]; /* 028A94A8 */ cpu->r[3] = cpu->r[31]; /* 028A94AC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A94B0 */ _t25 = cpu->r[31] + 0x00000050u; /* 028A94B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 028A94B4 */ _t26 = cpu->r[10] + 0x00000034u; /* 028A94B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26); /* 028A94B8 */ cpu->ctr = cpu->r[11]; /* 028A94BC */ cpu->r[3] = cpu->r[31]; /* 028A94C0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A94C4 */ _t27 = cpu->r[29] + 0x00000050u; /* 028A94C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 028A94C8 */ _t28 = cpu->r[29] + 0x0000001Cu; /* 028A94C8 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]); /* 028A94CC */ _t29 = cpu->r[29] + 0x00000054u; /* 028A94CC */ rbrew_write32(cpu->mem, _t29, cpu->r[28]); /* 028A94D0 */ _t30 = cpu->r[12] + 0x0000002Cu; /* 028A94D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 028A94D4 */ cpu->ctr = cpu->r[0]; /* 028A94D8 */ cpu->r[3] = cpu->r[29]; /* 028A94DC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A94E0 */ goto L_028A9500; L_028A94E4: ; // 0x28a94e4 /* 028A94E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A94E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A94E8 */ _t32 = _t31 & 0x00000001u; /* 028A94E8 */ if (_t32) goto L_028A94EC; else goto L_028A9500; L_028A94EC: ; // 0x28a94ec /* 028A94EC */ _t33 = cpu->r[29] + 0x00000050u; /* 028A94EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 028A94F0 */ _t34 = cpu->r[12] + 0x0000002Cu; /* 028A94F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 028A94F4 */ cpu->ctr = cpu->r[0]; /* 028A94F8 */ cpu->r[3] = cpu->r[29]; /* 028A94FC */ rbrew_call_indirect(cpu, cpu->ctr); L_028A9500: ; // 0x28a9500 /* 028A9500 */ _t35 = cpu->r[29] + 0x0000001Cu; /* 028A9500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 028A9504 */ cpu->r[8] = rbrew_clz32(cpu->r[11]); /* 028A9508 */ cpu->r[30] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 028A9508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A950C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A950C */ _t37 = _t36 & 0x00000001u; /* 028A950C */ if (_t37) goto L_028A9510; else goto L_028A95A4; L_028A9510: ; // 0x28a9510 /* 028A9510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A9514 */ cpu->r[31] = 0x00000000u; /* 028A9518 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9518 */ _t39 = _t38 & 0x00000001u; /* 028A9518 */ if (_t39) goto L_028A9524; else goto L_028A951C; L_028A951C: ; // 0x28a951c /* 028A951C */ _t40 = cpu->r[29] + 0x00000024u; /* 028A951C */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 028A9520 */ _t41 = cpu->r[9] + 0x00000000u; /* 028A9520 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41); L_028A9524: ; // 0x28a9524 /* 028A9524 */ _t42 = cpu->r[31] + 0x00000050u; /* 028A9524 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42); /* 028A9528 */ _t43 = cpu->r[10] + 0x0000003Cu; /* 028A9528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 028A952C */ cpu->ctr = cpu->r[0]; /* 028A9530 */ cpu->r[3] = cpu->r[31]; /* 028A9534 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9538 */ cpu->r[30] = cpu->r[3]; /* 028A9538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A953C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A953C */ _t45 = _t44 & 0x00000001u; /* 028A953C */ if (_t45) goto L_028A95A4; else goto L_028A9540; L_028A9540: ; // 0x28a9540 /* 028A9540 */ _t46 = cpu->r[31] + 0x00000050u; /* 028A9540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46); /* 028A9544 */ _t47 = cpu->r[12] + 0x00000034u; /* 028A9544 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47); /* 028A9548 */ cpu->ctr = cpu->r[8]; /* 028A954C */ cpu->r[3] = cpu->r[31]; /* 028A9550 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9554 */ _t48 = cpu->r[29] + 0x00000014u; /* 028A9554 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48); /* 028A9558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A955C */ _t49 = cpu->r[29] + 0x0000001Cu; /* 028A955C */ rbrew_write32(cpu->mem, _t49, cpu->r[28]); /* 028A9560 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9560 */ _t51 = _t50 & 0x00000001u; /* 028A9560 */ if (_t51) goto L_028A9574; else goto L_028A9564; L_028A9564: ; // 0x28a9564 /* 028A9564 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 028A9564 */ _t53 = _t52 & 0x00000001u; /* 028A9564 */ if (_t53) goto L_028A9568; else goto L_028A95A0; L_028A9568: ; // 0x28a9568 /* 028A9568 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028A9568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A956C */ _t54 = cpu->r[29] + 0x00000014u; /* 028A956C */ rbrew_write32(cpu->mem, _t54, cpu->r[12]); /* 028A9570 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9570 */ _t56 = _t55 & 0x00000001u; /* 028A9570 */ if (_t56) goto L_028A95A0; else goto L_028A9574; L_028A9574: ; // 0x28a9574 /* 028A9574 */ _t57 = cpu->r[29] + 0x00000050u; /* 028A9574 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57); /* 028A9578 */ _t58 = cpu->r[9] + 0x0000002Cu; /* 028A9578 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 028A957C */ cpu->ctr = cpu->r[10]; /* 028A9580 */ cpu->r[3] = cpu->r[29]; /* 028A9584 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A958C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A958C */ _t60 = _t59 & 0x00000001u; /* 028A958C */ if (_t60) goto L_028A95A4; else goto L_028A9590; L_028A9590: ; // 0x28a9590 /* 028A9590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A9594 */ cpu->r[30] = 0x00000000u; /* 028A9598 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9598 */ _t62 = _t61 & 0x00000001u; /* 028A9598 */ if (_t62) goto L_028A95B0; else goto L_028A959C; L_028A959C: ; // 0x28a959c /* 028A959C */ goto L_028A95AC; L_028A95A0: ; // 0x28a95a0 /* 028A95A0 */ cpu->r[30] = 0x00000001u; L_028A95A4: ; // 0x28a95a4 /* 028A95A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028A95A8 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A95A8 */ _t64 = _t63 & 0x00000001u; /* 028A95A8 */ if (_t64) goto L_028A95B0; else goto L_028A95AC; L_028A95AC: ; // 0x28a95ac /* 028A95AC */ cpu->r[30] = 0x00000000u; L_028A95B0: ; // 0x28a95b0 /* 028A95B0 */ cpu->r[3] = cpu->r[30]; /* 028A95B4 */ /* nop */ /* 028A95B8 */ _t65 = cpu->r[1] + 0x00000024u; /* 028A95B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65); /* 028A95BC */ cpu->lr = cpu->r[0]; /* 028A95C0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A95C4 */ return; } // fn_028A95C8 @ 0x28a95c8 void Gambit_fn_028A95C8(CPUState* cpu) { 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_028A95C8: ; // 0x28a95c8 /* 028A95C8 */ cpu->r[0] = cpu->lr; /* 028A95CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A95CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A95CC */ cpu->r[1] = _t0; /* 028A95D0 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A95D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A95D4 */ cpu->r[30] = cpu->r[3]; /* 028A95D8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A95D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A95DC */ _t3 = cpu->r[1] + 0x00000014u; /* 028A95DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A95E0 */ Gambit_fn_028A932C(cpu); /* 028A95E4 */ cpu->r[31] = cpu->r[3]; /* 028A95E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A95E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A95E8 */ _t5 = _t4 & 0x00000001u; /* 028A95E8 */ if (_t5) goto L_028A95EC; else goto L_028A9618; L_028A95EC: ; // 0x28a95ec /* 028A95EC */ _t6 = cpu->r[30] + 0x00000010u; /* 028A95EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028A95F0 */ _t7 = cpu->r[12] + 0x00000014u; /* 028A95F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A95F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 028A95F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A95F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A95F8 */ _t9 = _t8 & 0x00000001u; /* 028A95F8 */ if (_t9) goto L_028A964C; else goto L_028A95FC; L_028A95FC: ; // 0x28a95fc /* 028A95FC */ _t10 = cpu->r[1] + 0x00000014u; /* 028A95FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028A9600 */ _t11 = cpu->r[1] + 0x00000008u; /* 028A9600 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 028A9604 */ cpu->lr = cpu->r[0]; /* 028A9608 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A9608 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 028A960C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9610 */ cpu->r[3] = 0x00000001u; /* 028A9614 */ return; L_028A9618: ; // 0x28a9618 /* 028A9618 */ cpu->r[3] = cpu->r[30]; /* 028A961C */ cpu->r[4] = cpu->r[31]; /* 028A9620 */ Gambit_fn_028A5A44(cpu); /* 028A9624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A9628 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9628 */ _t14 = _t13 & 0x00000001u; /* 028A9628 */ if (_t14) goto L_028A964C; else goto L_028A962C; L_028A962C: ; // 0x28a962c /* 028A962C */ _t15 = cpu->r[30] + 0x00000054u; /* 028A962C */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); /* 028A9630 */ _t16 = cpu->r[1] + 0x00000014u; /* 028A9630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028A9634 */ _t17 = cpu->r[1] + 0x00000008u; /* 028A9634 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 028A9638 */ cpu->lr = cpu->r[0]; /* 028A963C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 028A963C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 028A9640 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9644 */ cpu->r[3] = 0x00000001u; /* 028A9648 */ return; L_028A964C: ; // 0x28a964c /* 028A964C */ _t19 = cpu->r[1] + 0x00000014u; /* 028A964C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A9650 */ _t20 = cpu->r[1] + 0x00000008u; /* 028A9650 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A9654 */ cpu->lr = cpu->r[0]; /* 028A9658 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028A9658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A965C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9660 */ cpu->r[3] = 0x00000000u; /* 028A9664 */ return; } // fn_028A95CC @ 0x28a95cc void Gambit_fn_028A95CC(CPUState* cpu) { 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_028A95CC: ; // 0x28a95cc /* 028A95CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A95CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A95CC */ cpu->r[1] = _t0; /* 028A95D0 */ _t1 = cpu->r[1] + 0x00000008u; /* 028A95D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A95D4 */ cpu->r[30] = cpu->r[3]; /* 028A95D8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A95D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028A95DC */ _t3 = cpu->r[1] + 0x00000014u; /* 028A95DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A95E0 */ Gambit_fn_028A932C(cpu); /* 028A95E4 */ cpu->r[31] = cpu->r[3]; /* 028A95E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A95E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A95E8 */ _t5 = _t4 & 0x00000001u; /* 028A95E8 */ if (_t5) goto L_028A95EC; else goto L_028A9618; L_028A95EC: ; // 0x28a95ec /* 028A95EC */ _t6 = cpu->r[30] + 0x00000010u; /* 028A95EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028A95F0 */ _t7 = cpu->r[12] + 0x00000014u; /* 028A95F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028A95F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 028A95F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A95F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A95F8 */ _t9 = _t8 & 0x00000001u; /* 028A95F8 */ if (_t9) goto L_028A964C; else goto L_028A95FC; L_028A95FC: ; // 0x28a95fc /* 028A95FC */ _t10 = cpu->r[1] + 0x00000014u; /* 028A95FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028A9600 */ _t11 = cpu->r[1] + 0x00000008u; /* 028A9600 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 028A9604 */ cpu->lr = cpu->r[0]; /* 028A9608 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028A9608 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 028A960C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9610 */ cpu->r[3] = 0x00000001u; /* 028A9614 */ return; L_028A9618: ; // 0x28a9618 /* 028A9618 */ cpu->r[3] = cpu->r[30]; /* 028A961C */ cpu->r[4] = cpu->r[31]; /* 028A9620 */ Gambit_fn_028A5A44(cpu); /* 028A9624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A9628 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9628 */ _t14 = _t13 & 0x00000001u; /* 028A9628 */ if (_t14) goto L_028A964C; else goto L_028A962C; L_028A962C: ; // 0x28a962c /* 028A962C */ _t15 = cpu->r[30] + 0x00000054u; /* 028A962C */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); /* 028A9630 */ _t16 = cpu->r[1] + 0x00000014u; /* 028A9630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028A9634 */ _t17 = cpu->r[1] + 0x00000008u; /* 028A9634 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 028A9638 */ cpu->lr = cpu->r[0]; /* 028A963C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 028A963C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 028A9640 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9644 */ cpu->r[3] = 0x00000001u; /* 028A9648 */ return; L_028A964C: ; // 0x28a964c /* 028A964C */ _t19 = cpu->r[1] + 0x00000014u; /* 028A964C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028A9650 */ _t20 = cpu->r[1] + 0x00000008u; /* 028A9650 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028A9654 */ cpu->lr = cpu->r[0]; /* 028A9658 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028A9658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028A965C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9660 */ cpu->r[3] = 0x00000000u; /* 028A9664 */ return; } // fn_028A9668 @ 0x28a9668 void Gambit_fn_028A9668(CPUState* cpu) { uint32_t _t0, _t1, _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_028A9668: ; // 0x28a9668 /* 028A9668 */ cpu->r[0] = cpu->lr; /* 028A966C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A966C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A966C */ cpu->r[1] = _t0; /* 028A9670 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A9670 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A9674 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A9674 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A9678 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A9678 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A967C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A967C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A9680 */ cpu->r[29] = cpu->r[3]; /* 028A9684 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A9684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A9688 */ cpu->r[30] = 0x00000000u; /* 028A968C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A9690 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9690 */ _t7 = _t6 & 0x00000001u; /* 028A9690 */ if (_t7) goto L_028A9694; else goto L_028A96E4; L_028A9694: ; // 0x28a9694 /* 028A9694 */ cpu->r[31] = 0x00000000u; L_028A9698: ; // 0x28a9698 /* 028A9698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A969C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A969C */ _t9 = _t8 & 0x00000001u; /* 028A969C */ if (_t9) goto L_028A96A0; else goto L_028A96D4; L_028A96A0: ; // 0x28a96a0 /* 028A96A0 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A96A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A96A4 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A96A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A96A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A96AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A96AC */ _t13 = _t12 & 0x00000001u; /* 028A96AC */ if (_t13) goto L_028A96D4; else goto L_028A96B0; L_028A96B0: ; // 0x28a96b0 /* 028A96B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A96B4 */ cpu->r[3] = 0x00000000u; /* 028A96B8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A96B8 */ _t15 = _t14 & 0x00000001u; /* 028A96B8 */ if (_t15) goto L_028A96BC; else goto L_028A96C0; L_028A96BC: ; // 0x28a96bc /* 028A96BC */ cpu->r[3] = cpu->r[8]; L_028A96C0: ; // 0x28a96c0 /* 028A96C0 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A96C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A96C4 */ _t17 = cpu->r[10] + 0x0000001Cu; /* 028A96C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A96C8 */ cpu->ctr = cpu->r[11]; /* 028A96CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A96D0 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A96D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A96D4: ; // 0x28a96d4 /* 028A96D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A96D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A96DC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A96E0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A96E0 */ _t20 = _t19 & 0x00000001u; /* 028A96E0 */ if (_t20) goto L_028A9698; else goto L_028A96E4; L_028A96E4: ; // 0x28a96e4 /* 028A96E4 */ cpu->r[0] = 0x00000000u; /* 028A96E8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A96E8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A96EC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A96EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A96F0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A96F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A96F4 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A96F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A96F8 */ cpu->lr = cpu->r[0]; /* 028A96FC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A96FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9700 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9704 */ return; } // fn_028A966C @ 0x28a966c void Gambit_fn_028A966C(CPUState* cpu) { uint32_t _t0, _t1, _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_028A966C: ; // 0x28a966c /* 028A966C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A966C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A966C */ cpu->r[1] = _t0; /* 028A9670 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A9670 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A9674 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A9674 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A9678 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A9678 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A967C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A967C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A9680 */ cpu->r[29] = cpu->r[3]; /* 028A9684 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A9684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A9688 */ cpu->r[30] = 0x00000000u; /* 028A968C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A9690 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9690 */ _t7 = _t6 & 0x00000001u; /* 028A9690 */ if (_t7) goto L_028A9694; else goto L_028A96E4; L_028A9694: ; // 0x28a9694 /* 028A9694 */ cpu->r[31] = 0x00000000u; L_028A9698: ; // 0x28a9698 /* 028A9698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A969C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A969C */ _t9 = _t8 & 0x00000001u; /* 028A969C */ if (_t9) goto L_028A96A0; else goto L_028A96D4; L_028A96A0: ; // 0x28a96a0 /* 028A96A0 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A96A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A96A4 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A96A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A96A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A96AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A96AC */ _t13 = _t12 & 0x00000001u; /* 028A96AC */ if (_t13) goto L_028A96D4; else goto L_028A96B0; L_028A96B0: ; // 0x28a96b0 /* 028A96B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A96B4 */ cpu->r[3] = 0x00000000u; /* 028A96B8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A96B8 */ _t15 = _t14 & 0x00000001u; /* 028A96B8 */ if (_t15) goto L_028A96BC; else goto L_028A96C0; L_028A96BC: ; // 0x28a96bc /* 028A96BC */ cpu->r[3] = cpu->r[8]; L_028A96C0: ; // 0x28a96c0 /* 028A96C0 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A96C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A96C4 */ _t17 = cpu->r[10] + 0x0000001Cu; /* 028A96C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A96C8 */ cpu->ctr = cpu->r[11]; /* 028A96CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A96D0 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A96D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A96D4: ; // 0x28a96d4 /* 028A96D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A96D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A96DC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A96E0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A96E0 */ _t20 = _t19 & 0x00000001u; /* 028A96E0 */ if (_t20) goto L_028A9698; else goto L_028A96E4; L_028A96E4: ; // 0x28a96e4 /* 028A96E4 */ cpu->r[0] = 0x00000000u; /* 028A96E8 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A96E8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A96EC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A96EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A96F0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A96F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A96F4 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A96F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A96F8 */ cpu->lr = cpu->r[0]; /* 028A96FC */ _t25 = cpu->r[1] + 0x00000014u; /* 028A96FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9700 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9704 */ return; } // fn_028A9708 @ 0x28a9708 void Gambit_fn_028A9708(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A9708: ; // 0x28a9708 /* 028A9708 */ cpu->r[0] = cpu->lr; /* 028A970C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A970C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A970C */ cpu->r[1] = _t0; /* 028A9710 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A9710 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A9714 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A9714 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A9718 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A9718 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A971C */ _t4 = cpu->r[1] + 0x00000014u; /* 028A971C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A9720 */ cpu->r[28] = cpu->r[3]; /* 028A9724 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A9724 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A9728 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A9728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A972C */ cpu->r[29] = 0x00000000u; /* 028A9730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A9734 */ cpu->r[30] = cpu->r[4]; /* 028A9738 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9738 */ _t8 = _t7 & 0x00000001u; /* 028A9738 */ if (_t8) goto L_028A973C; else goto L_028A9790; L_028A973C: ; // 0x28a973c /* 028A973C */ cpu->r[31] = 0x00000000u; L_028A9740: ; // 0x28a9740 /* 028A9740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A9744 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9744 */ _t10 = _t9 & 0x00000001u; /* 028A9744 */ if (_t10) goto L_028A9748; else goto L_028A9780; L_028A9748: ; // 0x28a9748 /* 028A9748 */ _t11 = cpu->r[28] + 0x00000024u; /* 028A9748 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A974C */ _t12 = cpu->r[9] + cpu->r[31]; /* 028A974C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028A9750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A9754 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9754 */ _t14 = _t13 & 0x00000001u; /* 028A9754 */ if (_t14) goto L_028A9780; else goto L_028A9758; L_028A9758: ; // 0x28a9758 /* 028A9758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A975C */ cpu->r[3] = 0x00000000u; /* 028A9760 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9760 */ _t16 = _t15 & 0x00000001u; /* 028A9760 */ if (_t16) goto L_028A9764; else goto L_028A9768; L_028A9764: ; // 0x28a9764 /* 028A9764 */ cpu->r[3] = cpu->r[8]; L_028A9768: ; // 0x28a9768 /* 028A9768 */ _t17 = cpu->r[3] + 0x00000050u; /* 028A9768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A976C */ _t18 = cpu->r[10] + 0x00000024u; /* 028A976C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A9770 */ cpu->ctr = cpu->r[11]; /* 028A9774 */ cpu->r[4] = cpu->r[30]; /* 028A9778 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A977C */ _t19 = cpu->r[28] + 0x0000001Cu; /* 028A977C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); L_028A9780: ; // 0x28a9780 /* 028A9780 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A9784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A9788 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A978C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A978C */ _t21 = _t20 & 0x00000001u; /* 028A978C */ if (_t21) goto L_028A9740; else goto L_028A9790; L_028A9790: ; // 0x28a9790 /* 028A9790 */ cpu->r[0] = 0x00000000u; /* 028A9794 */ _t22 = cpu->r[28] + 0x00000014u; /* 028A9794 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A9798 */ _t23 = cpu->r[1] + 0x00000008u; /* 028A9798 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23); /* 028A979C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A979C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 028A97A0 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 028A97A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A97A4 */ _t26 = cpu->r[1] + 0x00000010u; /* 028A97A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A97A8 */ cpu->lr = cpu->r[0]; /* 028A97AC */ _t27 = cpu->r[1] + 0x00000014u; /* 028A97AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A97B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A97B4 */ return; } // fn_028A970C @ 0x28a970c void Gambit_fn_028A970C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A970C: ; // 0x28a970c /* 028A970C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A970C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A970C */ cpu->r[1] = _t0; /* 028A9710 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A9710 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A9714 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A9714 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A9718 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A9718 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A971C */ _t4 = cpu->r[1] + 0x00000014u; /* 028A971C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A9720 */ cpu->r[28] = cpu->r[3]; /* 028A9724 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A9724 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A9728 */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A9728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A972C */ cpu->r[29] = 0x00000000u; /* 028A9730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A9734 */ cpu->r[30] = cpu->r[4]; /* 028A9738 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9738 */ _t8 = _t7 & 0x00000001u; /* 028A9738 */ if (_t8) goto L_028A973C; else goto L_028A9790; L_028A973C: ; // 0x28a973c /* 028A973C */ cpu->r[31] = 0x00000000u; L_028A9740: ; // 0x28a9740 /* 028A9740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A9744 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9744 */ _t10 = _t9 & 0x00000001u; /* 028A9744 */ if (_t10) goto L_028A9748; else goto L_028A9780; L_028A9748: ; // 0x28a9748 /* 028A9748 */ _t11 = cpu->r[28] + 0x00000024u; /* 028A9748 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 028A974C */ _t12 = cpu->r[9] + cpu->r[31]; /* 028A974C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028A9750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A9754 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9754 */ _t14 = _t13 & 0x00000001u; /* 028A9754 */ if (_t14) goto L_028A9780; else goto L_028A9758; L_028A9758: ; // 0x28a9758 /* 028A9758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A975C */ cpu->r[3] = 0x00000000u; /* 028A9760 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9760 */ _t16 = _t15 & 0x00000001u; /* 028A9760 */ if (_t16) goto L_028A9764; else goto L_028A9768; L_028A9764: ; // 0x28a9764 /* 028A9764 */ cpu->r[3] = cpu->r[8]; L_028A9768: ; // 0x28a9768 /* 028A9768 */ _t17 = cpu->r[3] + 0x00000050u; /* 028A9768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028A976C */ _t18 = cpu->r[10] + 0x00000024u; /* 028A976C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A9770 */ cpu->ctr = cpu->r[11]; /* 028A9774 */ cpu->r[4] = cpu->r[30]; /* 028A9778 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A977C */ _t19 = cpu->r[28] + 0x0000001Cu; /* 028A977C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); L_028A9780: ; // 0x28a9780 /* 028A9780 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A9784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 028A9788 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A978C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A978C */ _t21 = _t20 & 0x00000001u; /* 028A978C */ if (_t21) goto L_028A9740; else goto L_028A9790; L_028A9790: ; // 0x28a9790 /* 028A9790 */ cpu->r[0] = 0x00000000u; /* 028A9794 */ _t22 = cpu->r[28] + 0x00000014u; /* 028A9794 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028A9798 */ _t23 = cpu->r[1] + 0x00000008u; /* 028A9798 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23); /* 028A979C */ _t24 = cpu->r[1] + 0x0000000Cu; /* 028A979C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 028A97A0 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 028A97A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028A97A4 */ _t26 = cpu->r[1] + 0x00000010u; /* 028A97A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 028A97A8 */ cpu->lr = cpu->r[0]; /* 028A97AC */ _t27 = cpu->r[1] + 0x00000014u; /* 028A97AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 028A97B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A97B4 */ return; } // fn_028A97B8 @ 0x28a97b8 void Gambit_fn_028A97B8(CPUState* cpu) { uint32_t _t0, _t1, _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_028A97B8: ; // 0x28a97b8 /* 028A97B8 */ cpu->r[0] = cpu->lr; /* 028A97BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A97BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A97BC */ cpu->r[1] = _t0; /* 028A97C0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A97C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A97C4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A97C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A97C8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A97C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A97CC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A97CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A97D0 */ cpu->r[29] = cpu->r[3]; /* 028A97D4 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A97D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A97D8 */ cpu->r[30] = 0x00000000u; /* 028A97DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A97E0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A97E0 */ _t7 = _t6 & 0x00000001u; /* 028A97E0 */ if (_t7) goto L_028A97E4; else goto L_028A9834; L_028A97E4: ; // 0x28a97e4 /* 028A97E4 */ cpu->r[31] = 0x00000000u; L_028A97E8: ; // 0x28a97e8 /* 028A97E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A97EC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A97EC */ _t9 = _t8 & 0x00000001u; /* 028A97EC */ if (_t9) goto L_028A97F0; else goto L_028A9824; L_028A97F0: ; // 0x28a97f0 /* 028A97F0 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A97F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A97F4 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A97F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A97F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A97FC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A97FC */ _t13 = _t12 & 0x00000001u; /* 028A97FC */ if (_t13) goto L_028A9824; else goto L_028A9800; L_028A9800: ; // 0x28a9800 /* 028A9800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A9804 */ cpu->r[3] = 0x00000000u; /* 028A9808 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9808 */ _t15 = _t14 & 0x00000001u; /* 028A9808 */ if (_t15) goto L_028A980C; else goto L_028A9810; L_028A980C: ; // 0x28a980c /* 028A980C */ cpu->r[3] = cpu->r[8]; L_028A9810: ; // 0x28a9810 /* 028A9810 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A9810 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A9814 */ _t17 = cpu->r[10] + 0x00000044u; /* 028A9814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A9818 */ cpu->ctr = cpu->r[11]; /* 028A981C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9820 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A9820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A9824: ; // 0x28a9824 /* 028A9824 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A9828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A982C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A9830 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9830 */ _t20 = _t19 & 0x00000001u; /* 028A9830 */ if (_t20) goto L_028A97E8; else goto L_028A9834; L_028A9834: ; // 0x28a9834 /* 028A9834 */ cpu->r[0] = 0x00000000u; /* 028A9838 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A9838 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A983C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A983C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A9840 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A9840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A9844 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A9844 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A9848 */ cpu->lr = cpu->r[0]; /* 028A984C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A984C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9850 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9854 */ return; } // fn_028A97BC @ 0x28a97bc void Gambit_fn_028A97BC(CPUState* cpu) { uint32_t _t0, _t1, _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_028A97BC: ; // 0x28a97bc /* 028A97BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A97BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A97BC */ cpu->r[1] = _t0; /* 028A97C0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A97C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028A97C4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A97C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A97C8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A97C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028A97CC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028A97CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028A97D0 */ cpu->r[29] = cpu->r[3]; /* 028A97D4 */ _t5 = cpu->r[29] + 0x0000001Cu; /* 028A97D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028A97D8 */ cpu->r[30] = 0x00000000u; /* 028A97DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A97E0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A97E0 */ _t7 = _t6 & 0x00000001u; /* 028A97E0 */ if (_t7) goto L_028A97E4; else goto L_028A9834; L_028A97E4: ; // 0x28a97e4 /* 028A97E4 */ cpu->r[31] = 0x00000000u; L_028A97E8: ; // 0x28a97e8 /* 028A97E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A97EC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A97EC */ _t9 = _t8 & 0x00000001u; /* 028A97EC */ if (_t9) goto L_028A97F0; else goto L_028A9824; L_028A97F0: ; // 0x28a97f0 /* 028A97F0 */ _t10 = cpu->r[29] + 0x00000024u; /* 028A97F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 028A97F4 */ _t11 = cpu->r[9] + cpu->r[31]; /* 028A97F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 028A97F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A97FC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A97FC */ _t13 = _t12 & 0x00000001u; /* 028A97FC */ if (_t13) goto L_028A9824; else goto L_028A9800; L_028A9800: ; // 0x28a9800 /* 028A9800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 028A9804 */ cpu->r[3] = 0x00000000u; /* 028A9808 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9808 */ _t15 = _t14 & 0x00000001u; /* 028A9808 */ if (_t15) goto L_028A980C; else goto L_028A9810; L_028A980C: ; // 0x28a980c /* 028A980C */ cpu->r[3] = cpu->r[8]; L_028A9810: ; // 0x28a9810 /* 028A9810 */ _t16 = cpu->r[3] + 0x00000050u; /* 028A9810 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028A9814 */ _t17 = cpu->r[10] + 0x00000044u; /* 028A9814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 028A9818 */ cpu->ctr = cpu->r[11]; /* 028A981C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9820 */ _t18 = cpu->r[29] + 0x0000001Cu; /* 028A9820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); L_028A9824: ; // 0x28a9824 /* 028A9824 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028A9828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 028A982C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028A9830 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9830 */ _t20 = _t19 & 0x00000001u; /* 028A9830 */ if (_t20) goto L_028A97E8; else goto L_028A9834; L_028A9834: ; // 0x28a9834 /* 028A9834 */ cpu->r[0] = 0x00000000u; /* 028A9838 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A9838 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 028A983C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A983C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A9840 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A9840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A9844 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A9844 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A9848 */ cpu->lr = cpu->r[0]; /* 028A984C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A984C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9850 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9854 */ return; } // fn_028A9858 @ 0x28a9858 void Gambit_fn_028A9858(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A9858: ; // 0x28a9858 /* 028A9858 */ cpu->r[0] = cpu->lr; /* 028A985C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A985C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A985C */ cpu->r[1] = _t0; /* 028A9860 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A9860 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A9864 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A9864 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A9868 */ cpu->r[30] = cpu->r[3]; /* 028A9868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A986C */ cpu->r[31] = cpu->r[4]; /* 028A9870 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A9870 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A9874 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9874 */ _t5 = _t4 & 0x00000001u; /* 028A9874 */ if (_t5) goto L_028A9894; else goto L_028A9878; L_028A9878: ; // 0x28a9878 /* 028A9878 */ cpu->r[3] = cpu->r[30]; /* 028A987C */ cpu->r[4] = 0x00000000u; /* 028A9880 */ Gambit_fn_028A5900(cpu); /* 028A9884 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A9884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9888 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9888 */ _t7 = _t6 & 0x00000001u; /* 028A9888 */ if (_t7) goto L_028A9894; else goto L_028A988C; L_028A988C: ; // 0x28a988c /* 028A988C */ cpu->r[3] = cpu->r[30]; /* 028A9890 */ Gambit_fn_02801BB0(cpu); L_028A9894: ; // 0x28a9894 /* 028A9894 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A9894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A9898 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A9898 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A989C */ cpu->lr = cpu->r[0]; /* 028A98A0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A98A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A98A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A98A8 */ return; } // fn_028A985C @ 0x28a985c void Gambit_fn_028A985C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028A985C: ; // 0x28a985c /* 028A985C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A985C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A985C */ cpu->r[1] = _t0; /* 028A9860 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028A9860 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A9864 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A9864 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A9868 */ cpu->r[30] = cpu->r[3]; /* 028A9868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A986C */ cpu->r[31] = cpu->r[4]; /* 028A9870 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A9870 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A9874 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9874 */ _t5 = _t4 & 0x00000001u; /* 028A9874 */ if (_t5) goto L_028A9894; else goto L_028A9878; L_028A9878: ; // 0x28a9878 /* 028A9878 */ cpu->r[3] = cpu->r[30]; /* 028A987C */ cpu->r[4] = 0x00000000u; /* 028A9880 */ Gambit_fn_028A5900(cpu); /* 028A9884 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028A9884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9888 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9888 */ _t7 = _t6 & 0x00000001u; /* 028A9888 */ if (_t7) goto L_028A9894; else goto L_028A988C; L_028A988C: ; // 0x28a988c /* 028A988C */ cpu->r[3] = cpu->r[30]; /* 028A9890 */ Gambit_fn_02801BB0(cpu); L_028A9894: ; // 0x28a9894 /* 028A9894 */ _t8 = cpu->r[1] + 0x00000014u; /* 028A9894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028A9898 */ _t9 = cpu->r[1] + 0x00000008u; /* 028A9898 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028A989C */ cpu->lr = cpu->r[0]; /* 028A98A0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028A98A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028A98A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A98A8 */ return; } // fn_028A98AC @ 0x28a98ac void Gambit_fn_028A98AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028A98AC: ; // 0x28a98ac /* 028A98AC */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 028A98AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A98AC */ cpu->r[1] = _t0; /* 028A98B0 */ /* nop */ /* 028A98B4 */ cpu->r[0] = cpu->lr; /* 028A98B8 */ _t1 = cpu->r[1] + 0x0000003Cu; /* 028A98B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A98BC */ cpu->r[22] = cpu->r[3]; /* 028A98C0 */ _t2 = cpu->r[22] + 0x00000048u; /* 028A98C0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t2); /* 028A98C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A98C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A98C8 */ _t4 = _t3 & 0x00000001u; /* 028A98C8 */ if (_t4) goto L_028A99E0; else goto L_028A98CC; L_028A98CC: ; // 0x28a98cc /* 028A98CC */ _t5 = cpu->r[22] + 0x0000002Cu; /* 028A98CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 028A98D0 */ cpu->r[21] = 0x00000000u; /* 028A98D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[9]); /* 028A98D8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A98D8 */ _t7 = _t6 & 0x00000001u; /* 028A98D8 */ if (_t7) goto L_028A98DC; else goto L_028A99C0; L_028A98DC: ; // 0x28a98dc /* 028A98DC */ cpu->r[23] = 0x00000000u; /* 028A98E0 */ cpu->r[24] = cpu->r[23]; L_028A98E4: ; // 0x28a98e4 /* 028A98E4 */ _t8 = cpu->r[22] + 0x00000034u; /* 028A98E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8); /* 028A98E8 */ cpu->r[6] = cpu->r[7] + cpu->r[23]; /* 028A98EC */ _t9 = cpu->r[6] + 0x00000008u; /* 028A98EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t9); /* 028A98F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A98F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A98F4 */ _t11 = _t10 & 0x00000001u; /* 028A98F4 */ if (_t11) goto L_028A99A8; else goto L_028A98F8; L_028A98F8: ; // 0x28a98f8 /* 028A98F8 */ _t12 = cpu->r[22] + 0x00000000u; /* 028A98F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 028A98FC */ _t13 = cpu->r[11] + 0x0000004Cu; /* 028A98FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t13); /* 028A9900 */ cpu->ctr = cpu->r[5]; /* 028A9904 */ cpu->r[3] = cpu->r[22]; /* 028A9908 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A990C */ _t14 = cpu->r[3] + 0x00000000u; /* 028A990C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028A9910 */ _t15 = cpu->r[12] + 0x00000014u; /* 028A9910 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15); /* 028A9914 */ cpu->ctr = cpu->r[4]; /* 028A9918 */ cpu->r[25] = cpu->r[3]; /* 028A991C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9920 */ _t16 = cpu->r[22] + 0x00000014u; /* 028A9920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 028A9924 */ cpu->r[7] = cpu->r[22] + 0x00000008u; /* 028A9928 */ _t17 = cpu->r[22] + 0x0000000Cu; /* 028A9928 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17); /* 028A992C */ cpu->r[31] = cpu->r[7] - cpu->r[30]; /* 028A9930 */ cpu->r[29] = cpu->r[6] - cpu->r[30]; /* 028A9934 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A9938 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9938 */ _t19 = _t18 & 0x00000001u; /* 028A9938 */ if (_t19) goto L_028A998C; else goto L_028A993C; L_028A993C: ; // 0x28a993c /* 028A993C */ _t20 = cpu->r[29] + 0x0000001Cu; /* 028A993C */ cpu->r[27] = rbrew_read32(cpu->mem, _t20); /* 028A9940 */ cpu->r[9] = cpu->r[29] + 0x00000010u; /* 028A9944 */ _t21 = cpu->r[29] + 0x00000014u; /* 028A9944 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 028A9948 */ cpu->r[26] = cpu->r[9] - cpu->r[27]; /* 028A994C */ cpu->r[28] = cpu->r[8] - cpu->r[27]; /* 028A9950 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[26]); /* 028A9954 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9954 */ _t23 = _t22 & 0x00000001u; /* 028A9954 */ if (_t23) goto L_028A9978; else goto L_028A9958; L_028A9958: ; // 0x28a9958 /* 028A9958 */ _t24 = cpu->r[28] + 0x00000054u; /* 028A9958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24); /* 028A995C */ cpu->r[4] = cpu->r[21]; /* 028A9960 */ Gambit_fn_028AB474(cpu); /* 028A9964 */ cpu->r[11] = cpu->r[28] + cpu->r[27]; /* 028A9968 */ _t25 = cpu->r[11] + 0x00000004u; /* 028A9968 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 028A996C */ cpu->r[28] = cpu->r[10] - cpu->r[27]; /* 028A9970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[26]); /* 028A9974 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9974 */ _t27 = _t26 & 0x00000001u; /* 028A9974 */ if (_t27) goto L_028A9978; else goto L_028A9958; L_028A9978: ; // 0x28a9978 /* 028A9978 */ cpu->r[5] = cpu->r[29] + cpu->r[30]; /* 028A997C */ _t28 = cpu->r[5] + 0x00000004u; /* 028A997C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028A9980 */ cpu->r[29] = cpu->r[0] - cpu->r[30]; /* 028A9984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028A9988 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9988 */ _t30 = _t29 & 0x00000001u; /* 028A9988 */ if (_t30) goto L_028A998C; else goto L_028A993C; L_028A998C: ; // 0x28a998c /* 028A998C */ _t31 = cpu->r[25] + 0x00000000u; /* 028A998C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 028A9990 */ _t32 = cpu->r[12] + 0x0000001Cu; /* 028A9990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A9994 */ cpu->ctr = cpu->r[0]; /* 028A9998 */ cpu->r[3] = cpu->r[25]; /* 028A999C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A99A0 */ _t33 = cpu->r[22] + 0x00000034u; /* 028A99A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 028A99A4 */ cpu->r[6] = cpu->r[7] + cpu->r[23]; L_028A99A8: ; // 0x28a99a8 /* 028A99A8 */ _t34 = cpu->r[6] + 0x00000008u; /* 028A99A8 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[24]); /* 028A99AC */ _t35 = cpu->r[22] + 0x0000002Cu; /* 028A99AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t35); /* 028A99B0 */ cpu->r[21] = cpu->r[21] + 0x00000001u; /* 028A99B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[4]); /* 028A99B8 */ cpu->r[23] = cpu->r[23] + 0x0000000Cu; /* 028A99BC */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A99BC */ _t37 = _t36 & 0x00000001u; /* 028A99BC */ if (_t37) goto L_028A98E4; else goto L_028A99C0; L_028A99C0: ; // 0x28a99c0 /* 028A99C0 */ _t38 = cpu->r[22] + 0x00000038u; /* 028A99C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 028A99C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A99C8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A99C8 */ _t40 = _t39 & 0x00000001u; /* 028A99C8 */ if (_t40) goto L_028A99D0; else goto L_028A99CC; L_028A99CC: ; // 0x28a99cc /* 028A99CC */ Gambit_fn_028B7738(cpu); L_028A99D0: ; // 0x28a99d0 /* 028A99D0 */ _t41 = cpu->r[22] + 0x0000003Cu; /* 028A99D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41); /* 028A99D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A99D8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A99D8 */ _t43 = _t42 & 0x00000001u; /* 028A99D8 */ if (_t43) goto L_028A99E0; else goto L_028A99DC; L_028A99DC: ; // 0x28a99dc /* 028A99DC */ Gambit_fn_028B77B8(cpu); L_028A99E0: ; // 0x28a99e0 /* 028A99E0 */ /* nop */ /* 028A99E4 */ _t44 = cpu->r[1] + 0x0000003Cu; /* 028A99E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 028A99E8 */ cpu->lr = cpu->r[0]; /* 028A99EC */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 028A99F0 */ return; } // fn_028A99F4 @ 0x28a99f4 void Gambit_fn_028A99F4(CPUState* cpu) { 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_028A99F4: ; // 0x28a99f4 /* 028A99F4 */ _t0 = cpu->r[3] + 0x00000004u; /* 028A99F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 028A99F8 */ goto L_028B841C; L_028B841C: ; // 0x28b841c /* 028B841C */ cpu->r[0] = cpu->lr; /* 028B8420 */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 028B8420 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028B8420 */ cpu->r[1] = _t1; /* 028B8424 */ _t2 = cpu->r[1] + 0x00000010u; /* 028B8424 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028B8428 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028B8428 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028B842C */ cpu->r[30] = cpu->r[4]; /* 028B842C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028B8430 */ _t4 = cpu->r[1] + 0x00000014u; /* 028B8430 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028B8434 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028B8434 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028B8438 */ cpu->r[29] = cpu->r[3]; /* 028B843C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028B843C */ _t7 = _t6 & 0x00000001u; /* 028B843C */ if (_t7) goto L_028B848C; else goto L_028B8440; L_028B8440: ; // 0x28b8440 /* 028B8440 */ cpu->r[3] = cpu->r[29]; /* 028B8444 */ cpu->r[4] = cpu->r[30]; /* 028B8448 */ Gambit_fn_028B8118(cpu); /* 028B844C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028B8450 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028B8450 */ _t9 = _t8 & 0x00000001u; /* 028B8450 */ if (_t9) goto L_028B848C; else goto L_028B8454; L_028B8454: ; // 0x28b8454 /* 028B8454 */ _t10 = cpu->r[29] + 0x00000008u; /* 028B8454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028B8458 */ cpu->r[31] = 0x00000000u; /* 028B845C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028B8460 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028B8460 */ _t12 = _t11 & 0x00000001u; /* 028B8460 */ if (_t12) goto L_028B8464; else goto L_028B848C; L_028B8464: ; // 0x28b8464 /* 028B8464 */ cpu->r[5] = cpu->r[30]; /* 028B8468 */ cpu->r[4] = cpu->r[31]; /* 028B846C */ cpu->r[3] = cpu->r[29]; /* 028B8470 */ Gambit_fn_028B8230(cpu); /* 028B8474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028B8478 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028B8478 */ _t14 = _t13 & 0x00000001u; /* 028B8478 */ if (_t14) goto L_028B847C; else goto L_028B8490; L_028B847C: ; // 0x28b847c /* 028B847C */ _t15 = cpu->r[29] + 0x00000008u; /* 028B847C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028B8480 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028B8484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028B8488 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 028B8488 */ _t17 = _t16 & 0x00000001u; /* 028B8488 */ if (_t17) goto L_028B8464; else goto L_028B848C; L_028B848C: ; // 0x28b848c /* 028B848C */ cpu->r[31] = 0xFFFFFFFFu; L_028B8490: ; // 0x28b8490 /* 028B8490 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 028B8490 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 028B8494 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 028B8494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028B8498 */ cpu->r[3] = cpu->r[31]; /* 028B849C */ _t20 = cpu->r[1] + 0x00000010u; /* 028B849C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028B84A0 */ cpu->lr = cpu->r[0]; /* 028B84A4 */ _t21 = cpu->r[1] + 0x00000014u; /* 028B84A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028B84A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028B84AC */ return; } // fn_028A99FC @ 0x28a99fc void Gambit_fn_028A99FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_028A99FC: ; // 0x28a99fc /* 028A99FC */ cpu->r[0] = cpu->lr; /* 028A9A00 */ cpu->r[5] = cpu->r[4]; /* 028A9A04 */ _t0 = cpu->r[1] + 0x00000004u; /* 028A9A04 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028A9A08 */ cpu->r[0] = 0x00000000u; /* 028A9A0C */ _t1 = cpu->r[1] + 0xFFFFFFF0u; /* 028A9A0C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028A9A0C */ cpu->r[1] = _t1; /* 028A9A10 */ _t2 = cpu->r[3] + 0x00000004u; /* 028A9A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 028A9A14 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028A9A18 */ _t3 = cpu->r[1] + 0x00000008u; /* 028A9A18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A9A1C */ Gambit_fn_028B850C(cpu); /* 028A9A20 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A9A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028A9A24 */ cpu->lr = cpu->r[0]; /* 028A9A28 */ _t5 = cpu->r[1] + 0x00000008u; /* 028A9A28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5); /* 028A9A2C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9A30 */ return; } // fn_028A9A0C @ 0x28a9a0c void Gambit_fn_028A9A0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_028A9A0C: ; // 0x28a9a0c /* 028A9A0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028A9A0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9A0C */ cpu->r[1] = _t0; /* 028A9A10 */ _t1 = cpu->r[3] + 0x00000004u; /* 028A9A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 028A9A14 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028A9A18 */ _t2 = cpu->r[1] + 0x00000008u; /* 028A9A18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028A9A1C */ Gambit_fn_028B850C(cpu); /* 028A9A20 */ _t3 = cpu->r[1] + 0x00000014u; /* 028A9A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A9A24 */ cpu->lr = cpu->r[0]; /* 028A9A28 */ _t4 = cpu->r[1] + 0x00000008u; /* 028A9A28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028A9A2C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028A9A30 */ return; } // fn_028A9A34 @ 0x28a9a34 void Gambit_fn_028A9A34(CPUState* cpu) { uint32_t _t0, _t1, _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_028A9A34: ; // 0x28a9a34 /* 028A9A34 */ cpu->r[0] = cpu->lr; /* 028A9A38 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A9A38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9A38 */ cpu->r[1] = _t0; /* 028A9A3C */ _t1 = cpu->r[1] + 0x00000014u; /* 028A9A3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A9A40 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A9A40 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A9A44 */ cpu->r[30] = cpu->r[5]; /* 028A9A48 */ cpu->r[31] = cpu->r[4]; /* 028A9A4C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A9A4C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A9A50 */ cpu->r[5] = 0x00000004u; /* 028A9A54 */ cpu->r[4] = cpu->r[30]; /* 028A9A58 */ _t4 = cpu->r[1] + 0x00000008u; /* 028A9A58 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]); /* 028A9A5C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A9A5C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A9A60 */ cpu->r[29] = cpu->r[3]; /* 028A9A64 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A9A68 */ Gambit_fn_02801ADC(cpu); /* 028A9A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A9A70 */ cpu->r[8] = cpu->r[31]; /* 028A9A74 */ _t6 = cpu->r[29] + 0x00000030u; /* 028A9A74 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 028A9A78 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9A78 */ _t8 = _t7 & 0x00000001u; /* 028A9A78 */ if (_t8) goto L_028A9A9C; else goto L_028A9A7C; L_028A9A7C: ; // 0x28a9a7c /* 028A9A7C */ cpu->r[10] = 0x00000000u; /* 028A9A80 */ cpu->r[0] = cpu->r[10]; L_028A9A84: ; // 0x28a9a84 /* 028A9A84 */ _t9 = cpu->r[3] + cpu->r[10]; /* 028A9A84 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028A9A88 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 028A9A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A9A8C */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 028A9A90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9A90 */ _t11 = _t10 & 0x00000001u; /* 028A9A90 */ if (_t11) goto L_028A9A9C; else goto L_028A9A94; L_028A9A94: ; // 0x28a9a94 /* 028A9A94 */ _t12 = cpu->r[29] + 0x00000030u; /* 028A9A94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028A9A98 */ goto L_028A9A84; L_028A9A9C: ; // 0x28a9a9c /* 028A9A9C */ cpu->r[28] = 0x101D0000u; /* 028A9AA0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 028A9AA4 */ _t13 = cpu->r[28] + 0xFFFFC3D4u; /* 028A9AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A9AA4 */ cpu->r[28] = _t13; /* 028A9AA8 */ cpu->r[5] = 0x00000004u; /* 028A9AAC */ cpu->r[4] = cpu->r[30]; /* 028A9AB0 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; /* 028A9AB4 */ Gambit_fn_02801ADC(cpu); /* 028A9AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A9ABC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9ABC */ _t15 = _t14 & 0x00000001u; /* 028A9ABC */ if (_t15) goto L_028A9AEC; else goto L_028A9AC0; L_028A9AC0: ; // 0x28a9ac0 /* 028A9AC0 */ cpu->r[6] = 0x028B0000u; /* 028A9AC4 */ _t16 = cpu->r[28] + 0x00000000u; /* 028A9AC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); /* 028A9AC8 */ cpu->r[5] = 0x0000000Cu; /* 028A9ACC */ cpu->r[6] = cpu->r[6] + 0xFFFFA6F8u; /* 028A9AD0 */ cpu->r[4] = cpu->r[31]; /* 028A9AD4 */ cpu->r[3] = cpu->r[3] + cpu->r[9]; /* 028A9AD8 */ cpu->r[7] = 0x00000000u; /* 028A9ADC */ Gambit_fn_02C82DBC(cpu); /* 028A9AE0 */ _t17 = cpu->r[29] + 0x00000034u; /* 028A9AE0 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 028A9AE4 */ _t18 = cpu->r[29] + 0x0000002Cu; /* 028A9AE4 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]); /* 028A9AE8 */ goto L_028A9AF8; L_028A9AEC: ; // 0x28a9aec /* 028A9AEC */ cpu->r[3] = 0x00000000u; /* 028A9AF0 */ _t19 = cpu->r[29] + 0x0000002Cu; /* 028A9AF0 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]); /* 028A9AF4 */ _t20 = cpu->r[29] + 0x00000034u; /* 028A9AF4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]); L_028A9AF8: ; // 0x28a9af8 /* 028A9AF8 */ _t21 = cpu->r[1] + 0x00000008u; /* 028A9AF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 028A9AFC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A9AFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A9B00 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A9B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A9B04 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A9B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A9B08 */ cpu->lr = cpu->r[0]; /* 028A9B0C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A9B0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9B10 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9B14 */ return; } // fn_028A9A38 @ 0x28a9a38 void Gambit_fn_028A9A38(CPUState* cpu) { uint32_t _t0, _t1, _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_028A9A38: ; // 0x28a9a38 /* 028A9A38 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A9A38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9A38 */ cpu->r[1] = _t0; /* 028A9A3C */ _t1 = cpu->r[1] + 0x00000014u; /* 028A9A3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028A9A40 */ _t2 = cpu->r[1] + 0x00000010u; /* 028A9A40 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028A9A44 */ cpu->r[30] = cpu->r[5]; /* 028A9A48 */ cpu->r[31] = cpu->r[4]; /* 028A9A4C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028A9A4C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028A9A50 */ cpu->r[5] = 0x00000004u; /* 028A9A54 */ cpu->r[4] = cpu->r[30]; /* 028A9A58 */ _t4 = cpu->r[1] + 0x00000008u; /* 028A9A58 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]); /* 028A9A5C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A9A5C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A9A60 */ cpu->r[29] = cpu->r[3]; /* 028A9A64 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A9A68 */ Gambit_fn_02801ADC(cpu); /* 028A9A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028A9A70 */ cpu->r[8] = cpu->r[31]; /* 028A9A74 */ _t6 = cpu->r[29] + 0x00000030u; /* 028A9A74 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 028A9A78 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9A78 */ _t8 = _t7 & 0x00000001u; /* 028A9A78 */ if (_t8) goto L_028A9A9C; else goto L_028A9A7C; L_028A9A7C: ; // 0x28a9a7c /* 028A9A7C */ cpu->r[10] = 0x00000000u; /* 028A9A80 */ cpu->r[0] = cpu->r[10]; L_028A9A84: ; // 0x28a9a84 /* 028A9A84 */ _t9 = cpu->r[3] + cpu->r[10]; /* 028A9A84 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028A9A88 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 028A9A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028A9A8C */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 028A9A90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9A90 */ _t11 = _t10 & 0x00000001u; /* 028A9A90 */ if (_t11) goto L_028A9A9C; else goto L_028A9A94; L_028A9A94: ; // 0x28a9a94 /* 028A9A94 */ _t12 = cpu->r[29] + 0x00000030u; /* 028A9A94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028A9A98 */ goto L_028A9A84; L_028A9A9C: ; // 0x28a9a9c /* 028A9A9C */ cpu->r[28] = 0x101D0000u; /* 028A9AA0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 028A9AA4 */ _t13 = cpu->r[28] + 0xFFFFC3D4u; /* 028A9AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028A9AA4 */ cpu->r[28] = _t13; /* 028A9AA8 */ cpu->r[5] = 0x00000004u; /* 028A9AAC */ cpu->r[4] = cpu->r[30]; /* 028A9AB0 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; /* 028A9AB4 */ Gambit_fn_02801ADC(cpu); /* 028A9AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028A9ABC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9ABC */ _t15 = _t14 & 0x00000001u; /* 028A9ABC */ if (_t15) goto L_028A9AEC; else goto L_028A9AC0; L_028A9AC0: ; // 0x28a9ac0 /* 028A9AC0 */ cpu->r[6] = 0x028B0000u; /* 028A9AC4 */ _t16 = cpu->r[28] + 0x00000000u; /* 028A9AC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); /* 028A9AC8 */ cpu->r[5] = 0x0000000Cu; /* 028A9ACC */ cpu->r[6] = cpu->r[6] + 0xFFFFA6F8u; /* 028A9AD0 */ cpu->r[4] = cpu->r[31]; /* 028A9AD4 */ cpu->r[3] = cpu->r[3] + cpu->r[9]; /* 028A9AD8 */ cpu->r[7] = 0x00000000u; /* 028A9ADC */ Gambit_fn_02C82DBC(cpu); /* 028A9AE0 */ _t17 = cpu->r[29] + 0x00000034u; /* 028A9AE0 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 028A9AE4 */ _t18 = cpu->r[29] + 0x0000002Cu; /* 028A9AE4 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]); /* 028A9AE8 */ goto L_028A9AF8; L_028A9AEC: ; // 0x28a9aec /* 028A9AEC */ cpu->r[3] = 0x00000000u; /* 028A9AF0 */ _t19 = cpu->r[29] + 0x0000002Cu; /* 028A9AF0 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]); /* 028A9AF4 */ _t20 = cpu->r[29] + 0x00000034u; /* 028A9AF4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]); L_028A9AF8: ; // 0x28a9af8 /* 028A9AF8 */ _t21 = cpu->r[1] + 0x00000008u; /* 028A9AF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 028A9AFC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A9AFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A9B00 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A9B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A9B04 */ _t24 = cpu->r[1] + 0x00000010u; /* 028A9B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A9B08 */ cpu->lr = cpu->r[0]; /* 028A9B0C */ _t25 = cpu->r[1] + 0x00000014u; /* 028A9B0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9B10 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9B14 */ return; } // fn_028A9B18 @ 0x28a9b18 void Gambit_fn_028A9B18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71; L_028A9B18: ; // 0x28a9b18 /* 028A9B18 */ cpu->r[0] = cpu->lr; /* 028A9B1C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028A9B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9B1C */ cpu->r[1] = _t0; /* 028A9B20 */ _t1 = cpu->r[1] + 0x00000034u; /* 028A9B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A9B24 */ /* nop */ /* 028A9B28 */ cpu->r[29] = cpu->r[5]; /* 028A9B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A9B2C */ cpu->r[28] = cpu->r[4]; /* 028A9B30 */ cpu->r[27] = cpu->r[3]; /* 028A9B34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9B34 */ _t3 = _t2 & 0x00000001u; /* 028A9B34 */ if (_t3) goto L_028A9CEC; else goto L_028A9B38; L_028A9B38: ; // 0x28a9b38 /* 028A9B38 */ _t4 = cpu->r[27] + 0x0000002Cu; /* 028A9B38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 028A9B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A9B40 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9B40 */ _t6 = _t5 & 0x00000001u; /* 028A9B40 */ if (_t6) goto L_028A9CEC; else goto L_028A9B44; L_028A9B44: ; // 0x28a9b44 /* 028A9B44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]); /* 028A9B48 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9B48 */ _t8 = _t7 & 0x00000001u; /* 028A9B48 */ if (_t8) goto L_028A9B4C; else goto L_028A9CEC; L_028A9B4C: ; // 0x28a9b4c /* 028A9B4C */ cpu->r[26] = 0x00000000u; /* 028A9B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]); /* 028A9B54 */ _t9 = cpu->r[27] + 0x00000030u; /* 028A9B54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 028A9B58 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9B58 */ _t11 = _t10 & 0x00000001u; /* 028A9B58 */ if (_t11) goto L_028A9B90; else goto L_028A9B5C; L_028A9B5C: ; // 0x28a9b5c /* 028A9B5C */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A9B60 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000000Cu); /* 028A9B64 */ _t12 = cpu->r[11] + cpu->r[7]; /* 028A9B64 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]); /* 028A9B68 */ _t13 = cpu->r[27] + 0x00000034u; /* 028A9B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 028A9B6C */ _t14 = cpu->r[12] + cpu->r[4]; /* 028A9B6C */ rbrew_write32(cpu->mem, _t14, cpu->r[29]); /* 028A9B70 */ _t15 = cpu->r[27] + 0x00000034u; /* 028A9B70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15); /* 028A9B74 */ _t16 = cpu->r[6] + cpu->r[4]; /* 028A9B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 028A9B78 */ _t17 = cpu->r[8] + 0x0000004Cu; /* 028A9B78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17); /* 028A9B7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u); /* 028A9B80 */ cpu->r[5] = cpu->r[6] + cpu->r[4]; /* 028A9B84 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9B84 */ _t19 = _t18 & 0x00000001u; /* 028A9B84 */ if (_t19) goto L_028A9CC4; else goto L_028A9B88; L_028A9B88: ; // 0x28a9b88 /* 028A9B88 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9B88 */ _t21 = _t20 & 0x00000001u; /* 028A9B88 */ if (_t21) goto L_028A9CE0; else goto L_028A9B8C; L_028A9B8C: ; // 0x28a9b8c /* 028A9B8C */ goto L_028A9CB0; L_028A9B90: ; // 0x28a9b90 /* 028A9B90 */ cpu->r[31] = 0x10110000u; /* 028A9B94 */ cpu->r[24] = 0x00080000u; /* 028A9B98 */ cpu->r[25] = 0x00000000u; /* 028A9B9C */ _t22 = cpu->r[31] + 0x00007399u; /* 028A9B9C */ cpu->r[31] = rbrew_read8(cpu->mem, _t22); /* 028A9BA0 */ cpu->r[24] = cpu->r[24] + 0x00000001u; L_028A9BA4: ; // 0x28a9ba4 /* 028A9BA4 */ _t23 = cpu->r[7] + cpu->r[25]; /* 028A9BA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 028A9BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A9BAC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9BAC */ _t25 = _t24 & 0x00000001u; /* 028A9BAC */ if (_t25) goto L_028A9C70; else goto L_028A9BB0; L_028A9BB0: ; // 0x28a9bb0 /* 028A9BB0 */ _t26 = cpu->r[30] + 0x00000004u; /* 028A9BB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 028A9BB4 */ _t27 = cpu->r[9] + 0x00000014u; /* 028A9BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 028A9BB8 */ cpu->ctr = cpu->r[0]; /* 028A9BBC */ cpu->r[3] = cpu->r[30]; /* 028A9BC0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9BC4 */ _t28 = cpu->r[30] + 0x00000004u; /* 028A9BC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 028A9BC8 */ _t29 = cpu->r[11] + 0x00000014u; /* 028A9BC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 028A9BCC */ cpu->ctr = cpu->r[4]; /* 028A9BD0 */ cpu->r[3] = cpu->r[30]; /* 028A9BD4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9BD8 */ _t30 = cpu->r[29] + 0x00000004u; /* 028A9BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 028A9BDC */ _t31 = cpu->r[5] + 0x00000014u; /* 028A9BDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t31); /* 028A9BE0 */ cpu->ctr = cpu->r[6]; /* 028A9BE4 */ _t32 = cpu->r[30] + 0x00000000u; /* 028A9BE4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t32); /* 028A9BE8 */ cpu->r[3] = cpu->r[29]; /* 028A9BEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9BF0 */ _t33 = cpu->r[29] + 0x00000000u; /* 028A9BF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 028A9BF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[7]); /* 028A9BF8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9BF8 */ _t35 = _t34 & 0x00000001u; /* 028A9BF8 */ if (_t35) goto L_028A9C48; else goto L_028A9BFC; L_028A9BFC: ; // 0x28a9bfc /* 028A9BFC */ _t36 = cpu->r[30] + 0x00000000u; /* 028A9BFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 028A9C00 */ _t37 = cpu->r[29] + 0x00000000u; /* 028A9C00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37); /* 028A9C04 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028A9C08 */ cpu->ctr = cpu->r[24]; /* 028A9C0C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; L_028A9C10: ; // 0x28a9c10 /* 028A9C10 */ _t38 = cpu->r[11] + 0x00000001u; /* 028A9C10 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38); /* 028A9C10 */ cpu->r[11] = _t38; /* 028A9C14 */ _t39 = cpu->r[10] + 0x00000001u; /* 028A9C14 */ cpu->r[8] = rbrew_read8(cpu->mem, _t39); /* 028A9C14 */ cpu->r[10] = _t39; /* 028A9C18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 028A9C1C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9C1C */ _t41 = _t40 & 0x00000001u; /* 028A9C1C */ if (_t41) goto L_028A9C20; else goto L_028A9C2C; L_028A9C20: ; // 0x28a9c20 /* 028A9C20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 028A9C24 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9C24 */ _t43 = _t42 & 0x00000001u; /* 028A9C24 */ if (_t43) goto L_028A9C48; else goto L_028A9C28; L_028A9C28: ; // 0x28a9c28 /* 028A9C28 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A9C28 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A9C28 */ _t45 = _t44 >> (0x00000002u & 31u); /* 028A9C28 */ _t46 = _t45 & 0x00000001u; /* 028A9C28 */ if (_t46) goto L_028A9C10; else goto L_028A9C2C; L_028A9C2C: ; // 0x28a9c2c /* 028A9C2C */ _t47 = cpu->r[27] + 0x0000002Cu; /* 028A9C2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t47); /* 028A9C30 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 028A9C34 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 028A9C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]); /* 028A9C3C */ _t48 = cpu->r[27] + 0x00000030u; /* 028A9C3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t48); /* 028A9C40 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9C40 */ _t50 = _t49 & 0x00000001u; /* 028A9C40 */ if (_t50) goto L_028A9BA4; else goto L_028A9C44; L_028A9C44: ; // 0x28a9c44 /* 028A9C44 */ goto L_028A9C80; L_028A9C48: ; // 0x28a9c48 /* 028A9C48 */ _t51 = cpu->r[29] + 0x00000004u; /* 028A9C48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51); /* 028A9C4C */ _t52 = cpu->r[9] + 0x00000014u; /* 028A9C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52); /* 028A9C50 */ cpu->ctr = cpu->r[0]; /* 028A9C54 */ cpu->r[3] = cpu->r[29]; /* 028A9C58 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9C5C */ /* nop */ /* 028A9C60 */ _t53 = cpu->r[1] + 0x00000034u; /* 028A9C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 028A9C64 */ cpu->lr = cpu->r[0]; /* 028A9C68 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A9C6C */ return; L_028A9C70: ; // 0x28a9c70 /* 028A9C70 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 028A9C74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]); /* 028A9C78 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 028A9C7C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9C7C */ _t55 = _t54 & 0x00000001u; /* 028A9C7C */ if (_t55) goto L_028A9BA4; else goto L_028A9C80; L_028A9C80: ; // 0x28a9c80 /* 028A9C80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A9C84 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000000Cu); /* 028A9C88 */ _t56 = cpu->r[11] + cpu->r[7]; /* 028A9C88 */ rbrew_write32(cpu->mem, _t56, cpu->r[29]); /* 028A9C8C */ _t57 = cpu->r[27] + 0x00000034u; /* 028A9C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57); /* 028A9C90 */ _t58 = cpu->r[12] + cpu->r[4]; /* 028A9C90 */ rbrew_write32(cpu->mem, _t58, cpu->r[29]); /* 028A9C94 */ _t59 = cpu->r[27] + 0x00000034u; /* 028A9C94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59); /* 028A9C98 */ _t60 = cpu->r[6] + cpu->r[4]; /* 028A9C98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60); /* 028A9C9C */ _t61 = cpu->r[8] + 0x0000004Cu; /* 028A9C9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t61); /* 028A9CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u); /* 028A9CA4 */ cpu->r[5] = cpu->r[6] + cpu->r[4]; /* 028A9CA8 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9CA8 */ _t63 = _t62 & 0x00000001u; /* 028A9CA8 */ if (_t63) goto L_028A9CC4; else goto L_028A9CAC; L_028A9CAC: ; // 0x28a9cac /* 028A9CAC */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9CAC */ _t65 = _t64 & 0x00000001u; /* 028A9CAC */ if (_t65) goto L_028A9CE0; else goto L_028A9CB0; L_028A9CB0: ; // 0x28a9cb0 /* 028A9CB0 */ /* nop */ /* 028A9CB4 */ _t66 = cpu->r[1] + 0x00000034u; /* 028A9CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 028A9CB8 */ cpu->lr = cpu->r[0]; /* 028A9CBC */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A9CC0 */ return; L_028A9CC4: ; // 0x28a9cc4 /* 028A9CC4 */ cpu->r[0] = 0x00000000u; /* 028A9CC8 */ _t67 = cpu->r[5] + 0x00000004u; /* 028A9CC8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 028A9CCC */ /* nop */ /* 028A9CD0 */ _t68 = cpu->r[1] + 0x00000034u; /* 028A9CD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68); /* 028A9CD4 */ cpu->lr = cpu->r[0]; /* 028A9CD8 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A9CDC */ return; L_028A9CE0: ; // 0x28a9ce0 /* 028A9CE0 */ cpu->r[12] = 0x10130000u; /* 028A9CE4 */ _t69 = cpu->r[12] + 0x00007EA0u; /* 028A9CE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t69); /* 028A9CE8 */ _t70 = cpu->r[5] + 0x00000004u; /* 028A9CE8 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]); L_028A9CEC: ; // 0x28a9cec /* 028A9CEC */ /* nop */ /* 028A9CF0 */ _t71 = cpu->r[1] + 0x00000034u; /* 028A9CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71); /* 028A9CF4 */ cpu->lr = cpu->r[0]; /* 028A9CF8 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A9CFC */ return; } // fn_028A9B1C @ 0x28a9b1c void Gambit_fn_028A9B1C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71; L_028A9B1C: ; // 0x28a9b1c /* 028A9B1C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028A9B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9B1C */ cpu->r[1] = _t0; /* 028A9B20 */ _t1 = cpu->r[1] + 0x00000034u; /* 028A9B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A9B24 */ /* nop */ /* 028A9B28 */ cpu->r[29] = cpu->r[5]; /* 028A9B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028A9B2C */ cpu->r[28] = cpu->r[4]; /* 028A9B30 */ cpu->r[27] = cpu->r[3]; /* 028A9B34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9B34 */ _t3 = _t2 & 0x00000001u; /* 028A9B34 */ if (_t3) goto L_028A9CEC; else goto L_028A9B38; L_028A9B38: ; // 0x28a9b38 /* 028A9B38 */ _t4 = cpu->r[27] + 0x0000002Cu; /* 028A9B38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 028A9B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028A9B40 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9B40 */ _t6 = _t5 & 0x00000001u; /* 028A9B40 */ if (_t6) goto L_028A9CEC; else goto L_028A9B44; L_028A9B44: ; // 0x28a9b44 /* 028A9B44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]); /* 028A9B48 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9B48 */ _t8 = _t7 & 0x00000001u; /* 028A9B48 */ if (_t8) goto L_028A9B4C; else goto L_028A9CEC; L_028A9B4C: ; // 0x28a9b4c /* 028A9B4C */ cpu->r[26] = 0x00000000u; /* 028A9B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]); /* 028A9B54 */ _t9 = cpu->r[27] + 0x00000030u; /* 028A9B54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 028A9B58 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9B58 */ _t11 = _t10 & 0x00000001u; /* 028A9B58 */ if (_t11) goto L_028A9B90; else goto L_028A9B5C; L_028A9B5C: ; // 0x28a9b5c /* 028A9B5C */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A9B60 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000000Cu); /* 028A9B64 */ _t12 = cpu->r[11] + cpu->r[7]; /* 028A9B64 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]); /* 028A9B68 */ _t13 = cpu->r[27] + 0x00000034u; /* 028A9B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 028A9B6C */ _t14 = cpu->r[12] + cpu->r[4]; /* 028A9B6C */ rbrew_write32(cpu->mem, _t14, cpu->r[29]); /* 028A9B70 */ _t15 = cpu->r[27] + 0x00000034u; /* 028A9B70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15); /* 028A9B74 */ _t16 = cpu->r[6] + cpu->r[4]; /* 028A9B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 028A9B78 */ _t17 = cpu->r[8] + 0x0000004Cu; /* 028A9B78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17); /* 028A9B7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u); /* 028A9B80 */ cpu->r[5] = cpu->r[6] + cpu->r[4]; /* 028A9B84 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9B84 */ _t19 = _t18 & 0x00000001u; /* 028A9B84 */ if (_t19) goto L_028A9CC4; else goto L_028A9B88; L_028A9B88: ; // 0x28a9b88 /* 028A9B88 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9B88 */ _t21 = _t20 & 0x00000001u; /* 028A9B88 */ if (_t21) goto L_028A9CE0; else goto L_028A9B8C; L_028A9B8C: ; // 0x28a9b8c /* 028A9B8C */ goto L_028A9CB0; L_028A9B90: ; // 0x28a9b90 /* 028A9B90 */ cpu->r[31] = 0x10110000u; /* 028A9B94 */ cpu->r[24] = 0x00080000u; /* 028A9B98 */ cpu->r[25] = 0x00000000u; /* 028A9B9C */ _t22 = cpu->r[31] + 0x00007399u; /* 028A9B9C */ cpu->r[31] = rbrew_read8(cpu->mem, _t22); /* 028A9BA0 */ cpu->r[24] = cpu->r[24] + 0x00000001u; L_028A9BA4: ; // 0x28a9ba4 /* 028A9BA4 */ _t23 = cpu->r[7] + cpu->r[25]; /* 028A9BA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 028A9BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028A9BAC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9BAC */ _t25 = _t24 & 0x00000001u; /* 028A9BAC */ if (_t25) goto L_028A9C70; else goto L_028A9BB0; L_028A9BB0: ; // 0x28a9bb0 /* 028A9BB0 */ _t26 = cpu->r[30] + 0x00000004u; /* 028A9BB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 028A9BB4 */ _t27 = cpu->r[9] + 0x00000014u; /* 028A9BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 028A9BB8 */ cpu->ctr = cpu->r[0]; /* 028A9BBC */ cpu->r[3] = cpu->r[30]; /* 028A9BC0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9BC4 */ _t28 = cpu->r[30] + 0x00000004u; /* 028A9BC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 028A9BC8 */ _t29 = cpu->r[11] + 0x00000014u; /* 028A9BC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 028A9BCC */ cpu->ctr = cpu->r[4]; /* 028A9BD0 */ cpu->r[3] = cpu->r[30]; /* 028A9BD4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9BD8 */ _t30 = cpu->r[29] + 0x00000004u; /* 028A9BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 028A9BDC */ _t31 = cpu->r[5] + 0x00000014u; /* 028A9BDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t31); /* 028A9BE0 */ cpu->ctr = cpu->r[6]; /* 028A9BE4 */ _t32 = cpu->r[30] + 0x00000000u; /* 028A9BE4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t32); /* 028A9BE8 */ cpu->r[3] = cpu->r[29]; /* 028A9BEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9BF0 */ _t33 = cpu->r[29] + 0x00000000u; /* 028A9BF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 028A9BF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[7]); /* 028A9BF8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9BF8 */ _t35 = _t34 & 0x00000001u; /* 028A9BF8 */ if (_t35) goto L_028A9C48; else goto L_028A9BFC; L_028A9BFC: ; // 0x28a9bfc /* 028A9BFC */ _t36 = cpu->r[30] + 0x00000000u; /* 028A9BFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 028A9C00 */ _t37 = cpu->r[29] + 0x00000000u; /* 028A9C00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37); /* 028A9C04 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028A9C08 */ cpu->ctr = cpu->r[24]; /* 028A9C0C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; L_028A9C10: ; // 0x28a9c10 /* 028A9C10 */ _t38 = cpu->r[11] + 0x00000001u; /* 028A9C10 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38); /* 028A9C10 */ cpu->r[11] = _t38; /* 028A9C14 */ _t39 = cpu->r[10] + 0x00000001u; /* 028A9C14 */ cpu->r[8] = rbrew_read8(cpu->mem, _t39); /* 028A9C14 */ cpu->r[10] = _t39; /* 028A9C18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 028A9C1C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9C1C */ _t41 = _t40 & 0x00000001u; /* 028A9C1C */ if (_t41) goto L_028A9C20; else goto L_028A9C2C; L_028A9C20: ; // 0x28a9c20 /* 028A9C20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 028A9C24 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9C24 */ _t43 = _t42 & 0x00000001u; /* 028A9C24 */ if (_t43) goto L_028A9C48; else goto L_028A9C28; L_028A9C28: ; // 0x28a9c28 /* 028A9C28 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028A9C28 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028A9C28 */ _t45 = _t44 >> (0x00000002u & 31u); /* 028A9C28 */ _t46 = _t45 & 0x00000001u; /* 028A9C28 */ if (_t46) goto L_028A9C10; else goto L_028A9C2C; L_028A9C2C: ; // 0x28a9c2c /* 028A9C2C */ _t47 = cpu->r[27] + 0x0000002Cu; /* 028A9C2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t47); /* 028A9C30 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 028A9C34 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 028A9C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]); /* 028A9C3C */ _t48 = cpu->r[27] + 0x00000030u; /* 028A9C3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t48); /* 028A9C40 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9C40 */ _t50 = _t49 & 0x00000001u; /* 028A9C40 */ if (_t50) goto L_028A9BA4; else goto L_028A9C44; L_028A9C44: ; // 0x28a9c44 /* 028A9C44 */ goto L_028A9C80; L_028A9C48: ; // 0x28a9c48 /* 028A9C48 */ _t51 = cpu->r[29] + 0x00000004u; /* 028A9C48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51); /* 028A9C4C */ _t52 = cpu->r[9] + 0x00000014u; /* 028A9C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52); /* 028A9C50 */ cpu->ctr = cpu->r[0]; /* 028A9C54 */ cpu->r[3] = cpu->r[29]; /* 028A9C58 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9C5C */ /* nop */ /* 028A9C60 */ _t53 = cpu->r[1] + 0x00000034u; /* 028A9C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 028A9C64 */ cpu->lr = cpu->r[0]; /* 028A9C68 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A9C6C */ return; L_028A9C70: ; // 0x28a9c70 /* 028A9C70 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 028A9C74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]); /* 028A9C78 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 028A9C7C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9C7C */ _t55 = _t54 & 0x00000001u; /* 028A9C7C */ if (_t55) goto L_028A9BA4; else goto L_028A9C80; L_028A9C80: ; // 0x28a9c80 /* 028A9C80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028A9C84 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000000Cu); /* 028A9C88 */ _t56 = cpu->r[11] + cpu->r[7]; /* 028A9C88 */ rbrew_write32(cpu->mem, _t56, cpu->r[29]); /* 028A9C8C */ _t57 = cpu->r[27] + 0x00000034u; /* 028A9C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57); /* 028A9C90 */ _t58 = cpu->r[12] + cpu->r[4]; /* 028A9C90 */ rbrew_write32(cpu->mem, _t58, cpu->r[29]); /* 028A9C94 */ _t59 = cpu->r[27] + 0x00000034u; /* 028A9C94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59); /* 028A9C98 */ _t60 = cpu->r[6] + cpu->r[4]; /* 028A9C98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60); /* 028A9C9C */ _t61 = cpu->r[8] + 0x0000004Cu; /* 028A9C9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t61); /* 028A9CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u); /* 028A9CA4 */ cpu->r[5] = cpu->r[6] + cpu->r[4]; /* 028A9CA8 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9CA8 */ _t63 = _t62 & 0x00000001u; /* 028A9CA8 */ if (_t63) goto L_028A9CC4; else goto L_028A9CAC; L_028A9CAC: ; // 0x28a9cac /* 028A9CAC */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9CAC */ _t65 = _t64 & 0x00000001u; /* 028A9CAC */ if (_t65) goto L_028A9CE0; else goto L_028A9CB0; L_028A9CB0: ; // 0x28a9cb0 /* 028A9CB0 */ /* nop */ /* 028A9CB4 */ _t66 = cpu->r[1] + 0x00000034u; /* 028A9CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 028A9CB8 */ cpu->lr = cpu->r[0]; /* 028A9CBC */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A9CC0 */ return; L_028A9CC4: ; // 0x28a9cc4 /* 028A9CC4 */ cpu->r[0] = 0x00000000u; /* 028A9CC8 */ _t67 = cpu->r[5] + 0x00000004u; /* 028A9CC8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 028A9CCC */ /* nop */ /* 028A9CD0 */ _t68 = cpu->r[1] + 0x00000034u; /* 028A9CD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68); /* 028A9CD4 */ cpu->lr = cpu->r[0]; /* 028A9CD8 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A9CDC */ return; L_028A9CE0: ; // 0x28a9ce0 /* 028A9CE0 */ cpu->r[12] = 0x10130000u; /* 028A9CE4 */ _t69 = cpu->r[12] + 0x00007EA0u; /* 028A9CE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t69); /* 028A9CE8 */ _t70 = cpu->r[5] + 0x00000004u; /* 028A9CE8 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]); L_028A9CEC: ; // 0x28a9cec /* 028A9CEC */ /* nop */ /* 028A9CF0 */ _t71 = cpu->r[1] + 0x00000034u; /* 028A9CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71); /* 028A9CF4 */ cpu->lr = cpu->r[0]; /* 028A9CF8 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028A9CFC */ return; } // fn_028A9D00 @ 0x28a9d00 void Gambit_fn_028A9D00(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_028A9D00: ; // 0x28a9d00 /* 028A9D00 */ _t0 = cpu->r[3] + 0x00000048u; /* 028A9D00 */ cpu->r[11] = rbrew_read8(cpu->mem, _t0); /* 028A9D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A9D08 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9D08 */ _t2 = _t1 & 0x00000001u; /* 028A9D08 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D08 */ goto L_028A9D0C; L_028A9D0C: ; // 0x28a9d0c /* 028A9D0C */ _t3 = cpu->r[3] + 0x00000034u; /* 028A9D0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 028A9D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A9D14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9D14 */ _t5 = _t4 & 0x00000001u; /* 028A9D14 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D14 */ goto L_028A9D18; L_028A9D18: ; // 0x28a9d18 /* 028A9D18 */ _t6 = cpu->r[3] + 0x0000002Cu; /* 028A9D18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028A9D1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]); /* 028A9D20 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9D20 */ _t8 = _t7 & 0x00000001u; /* 028A9D20 */ _t9 = _t8 ^ 0x00000001u; /* 028A9D20 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D20 */ goto L_028A9D24; L_028A9D24: ; // 0x28a9d24 /* 028A9D24 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu); /* 028A9D28 */ _t10 = cpu->r[10] + cpu->r[8]; /* 028A9D28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A9D2C */ _t11 = cpu->r[11] + 0x0000004Cu; /* 028A9D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A9D30 */ cpu->r[9] = cpu->r[10] + cpu->r[8]; /* 028A9D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u); /* 028A9D38 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9D38 */ _t13 = _t12 & 0x00000001u; /* 028A9D38 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D38 */ goto L_028A9D3C; L_028A9D3C: ; // 0x28a9d3c /* 028A9D3C */ _t14 = cpu->r[9] + 0x00000004u; /* 028A9D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028A9D40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]); /* 028A9D44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9D44 */ _t16 = _t15 & 0x00000001u; /* 028A9D44 */ if (_t16) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D44 */ goto L_028A9D48; L_028A9D48: ; // 0x28a9d48 /* 028A9D48 */ _t17 = cpu->r[9] + 0x00000004u; /* 028A9D48 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]); /* 028A9D4C */ _t18 = cpu->r[3] + 0x00000034u; /* 028A9D4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 028A9D50 */ cpu->r[0] = 0x00000001u; /* 028A9D54 */ cpu->r[10] = cpu->r[12] + cpu->r[8]; /* 028A9D58 */ _t19 = cpu->r[10] + 0x00000008u; /* 028A9D58 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]); /* 028A9D5C */ return; } // fn_028A9D60 @ 0x28a9d60 void Gambit_fn_028A9D60(CPUState* 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_028A9D60: ; // 0x28a9d60 /* 028A9D60 */ _t0 = cpu->r[3] + 0x00000048u; /* 028A9D60 */ cpu->r[11] = rbrew_read8(cpu->mem, _t0); /* 028A9D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A9D68 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9D68 */ _t2 = _t1 & 0x00000001u; /* 028A9D68 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D68 */ goto L_028A9D6C; L_028A9D6C: ; // 0x28a9d6c /* 028A9D6C */ _t3 = cpu->r[3] + 0x00000034u; /* 028A9D6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 028A9D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A9D74 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9D74 */ _t5 = _t4 & 0x00000001u; /* 028A9D74 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D74 */ goto L_028A9D78; L_028A9D78: ; // 0x28a9d78 /* 028A9D78 */ _t6 = cpu->r[3] + 0x0000002Cu; /* 028A9D78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028A9D7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]); /* 028A9D80 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9D80 */ _t8 = _t7 & 0x00000001u; /* 028A9D80 */ _t9 = _t8 ^ 0x00000001u; /* 028A9D80 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D80 */ goto L_028A9D84; L_028A9D84: ; // 0x28a9d84 /* 028A9D84 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu); /* 028A9D88 */ _t10 = cpu->r[10] + cpu->r[12]; /* 028A9D88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A9D8C */ _t11 = cpu->r[11] + 0x0000004Cu; /* 028A9D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028A9D90 */ cpu->r[9] = cpu->r[10] + cpu->r[12]; /* 028A9D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u); /* 028A9D98 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9D98 */ _t13 = _t12 & 0x00000001u; /* 028A9D98 */ _t14 = _t13 ^ 0x00000001u; /* 028A9D98 */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9D98 */ goto L_028A9D9C; L_028A9D9C: ; // 0x28a9d9c /* 028A9D9C */ _t15 = cpu->r[9] + 0x00000004u; /* 028A9D9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15); /* 028A9DA0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]); /* 028A9DA4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9DA4 */ _t17 = _t16 & 0x00000001u; /* 028A9DA4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9DA4 */ goto L_028A9DA8; L_028A9DA8: ; // 0x28a9da8 /* 028A9DA8 */ _t18 = cpu->r[9] + 0x00000004u; /* 028A9DA8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[1]); /* 028A9DAC */ _t19 = cpu->r[3] + 0x00000034u; /* 028A9DAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 028A9DB0 */ cpu->r[0] = 0x00000001u; /* 028A9DB4 */ cpu->r[10] = cpu->r[10] + cpu->r[12]; /* 028A9DB8 */ _t20 = cpu->r[10] + 0x00000008u; /* 028A9DB8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]); /* 028A9DBC */ return; } // fn_028A9DC0 @ 0x28a9dc0 void Gambit_fn_028A9DC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A9DC0: ; // 0x28a9dc0 /* 028A9DC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028A9DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9DC0 */ cpu->r[1] = _t0; /* 028A9DC4 */ /* nop */ /* 028A9DC8 */ cpu->r[0] = cpu->lr; /* 028A9DCC */ _t1 = cpu->r[1] + 0x00000024u; /* 028A9DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028A9DD0 */ cpu->r[29] = cpu->r[5]; /* 028A9DD4 */ _t2 = cpu->r[3] + 0x00000000u; /* 028A9DD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 028A9DD8 */ _t3 = cpu->r[9] + 0x0000004Cu; /* 028A9DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028A9DDC */ cpu->ctr = cpu->r[0]; /* 028A9DE0 */ cpu->r[28] = cpu->r[4]; /* 028A9DE4 */ cpu->r[30] = cpu->r[6]; /* 028A9DE8 */ cpu->r[31] = cpu->r[3]; /* 028A9DEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9DF0 */ _t4 = cpu->r[3] + 0x00000000u; /* 028A9DF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4); /* 028A9DF4 */ _t5 = cpu->r[5] + 0x00000014u; /* 028A9DF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 028A9DF8 */ cpu->ctr = cpu->r[6]; /* 028A9DFC */ cpu->r[27] = cpu->r[3]; /* 028A9E00 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9E04 */ _t6 = cpu->r[31] + 0x00000010u; /* 028A9E04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 028A9E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028A9E0C */ cpu->r[8] = cpu->r[31] + 0x00000008u; /* 028A9E10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9E10 */ _t8 = _t7 & 0x00000001u; /* 028A9E10 */ if (_t8) goto L_028A9E14; else goto L_028A9E30; L_028A9E14: ; // 0x28a9e14 /* 028A9E14 */ _t9 = cpu->r[27] + 0x00000000u; /* 028A9E14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 028A9E18 */ _t10 = cpu->r[8] + 0x0000001Cu; /* 028A9E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028A9E1C */ cpu->ctr = cpu->r[0]; /* 028A9E20 */ cpu->r[3] = cpu->r[27]; /* 028A9E24 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9E28 */ cpu->r[31] = 0x00000000u; /* 028A9E2C */ goto L_028A9EE4; L_028A9E30: ; // 0x28a9e30 /* 028A9E30 */ _t11 = cpu->r[8] + 0x0000000Cu; /* 028A9E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A9E34 */ _t12 = cpu->r[8] + 0x00000004u; /* 028A9E34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 028A9E38 */ cpu->r[0] = cpu->r[8] - cpu->r[12]; /* 028A9E3C */ cpu->r[31] = cpu->r[10] - cpu->r[12]; /* 028A9E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028A9E44 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9E44 */ _t14 = _t13 & 0x00000001u; /* 028A9E44 */ if (_t14) goto L_028A9ECC; else goto L_028A9E48; L_028A9E48: ; // 0x28a9e48 /* 028A9E48 */ _t15 = cpu->r[31] + 0x00000020u; /* 028A9E48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 028A9E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]); /* 028A9E50 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9E50 */ _t17 = _t16 & 0x00000001u; /* 028A9E50 */ if (_t17) goto L_028A9E54; else goto L_028A9EB8; L_028A9E54: ; // 0x28a9e54 /* 028A9E54 */ _t18 = cpu->r[31] + 0x00000008u; /* 028A9E54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 028A9E58 */ cpu->r[6] = cpu->r[28] + 0xFFFFFFFFu; /* 028A9E5C */ cpu->r[5] = cpu->r[9] + 0xFFFFFFFFu; L_028A9E60: ; // 0x28a9e60 /* 028A9E60 */ _t19 = cpu->r[5] + 0x00000001u; /* 028A9E60 */ cpu->r[7] = rbrew_read8(cpu->mem, _t19); /* 028A9E60 */ cpu->r[5] = _t19; /* 028A9E64 */ _t20 = cpu->r[6] + 0x00000001u; /* 028A9E64 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20); /* 028A9E64 */ cpu->r[6] = _t20; /* 028A9E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 028A9E6C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9E6C */ _t22 = _t21 & 0x00000001u; /* 028A9E6C */ if (_t22) goto L_028A9E70; else goto L_028A9E78; L_028A9E70: ; // 0x28a9e70 /* 028A9E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000000u); /* 028A9E74 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9E74 */ _t24 = _t23 & 0x00000001u; /* 028A9E74 */ if (_t24) goto L_028A9E78; else goto L_028A9E60; L_028A9E78: ; // 0x28a9e78 /* 028A9E78 */ cpu->r[10] = cpu->r[7] - cpu->r[8]; /* 028A9E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028A9E7C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9E7C */ _t26 = _t25 & 0x00000001u; /* 028A9E7C */ if (_t26) goto L_028A9E80; else goto L_028A9EB8; L_028A9E80: ; // 0x28a9e80 /* 028A9E80 */ _t27 = cpu->r[31] + 0x00000044u; /* 028A9E80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27); /* 028A9E84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]); /* 028A9E88 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9E88 */ _t29 = _t28 & 0x00000001u; /* 028A9E88 */ if (_t29) goto L_028A9E8C; else goto L_028A9EB8; L_028A9E8C: ; // 0x28a9e8c /* 028A9E8C */ _t30 = cpu->r[27] + 0x00000000u; /* 028A9E8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 028A9E90 */ _t31 = cpu->r[12] + 0x0000001Cu; /* 028A9E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 028A9E94 */ cpu->ctr = cpu->r[0]; /* 028A9E98 */ cpu->r[3] = cpu->r[27]; /* 028A9E9C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9EA0 */ cpu->r[3] = cpu->r[31]; /* 028A9EA4 */ /* nop */ /* 028A9EA8 */ _t32 = cpu->r[1] + 0x00000024u; /* 028A9EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028A9EAC */ cpu->lr = cpu->r[0]; /* 028A9EB0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A9EB4 */ return; L_028A9EB8: ; // 0x28a9eb8 /* 028A9EB8 */ cpu->r[10] = cpu->r[31] + cpu->r[12]; /* 028A9EBC */ _t33 = cpu->r[10] + 0x00000004u; /* 028A9EBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t33); /* 028A9EC0 */ cpu->r[31] = cpu->r[5] - cpu->r[12]; /* 028A9EC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028A9EC8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9EC8 */ _t35 = _t34 & 0x00000001u; /* 028A9EC8 */ if (_t35) goto L_028A9ECC; else goto L_028A9E48; L_028A9ECC: ; // 0x28a9ecc /* 028A9ECC */ _t36 = cpu->r[27] + 0x00000000u; /* 028A9ECC */ cpu->r[6] = rbrew_read32(cpu->mem, _t36); /* 028A9ED0 */ _t37 = cpu->r[6] + 0x0000001Cu; /* 028A9ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028A9ED4 */ cpu->ctr = cpu->r[0]; /* 028A9ED8 */ cpu->r[3] = cpu->r[27]; /* 028A9EDC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9EE0 */ cpu->r[31] = 0x00000000u; L_028A9EE4: ; // 0x28a9ee4 /* 028A9EE4 */ cpu->r[3] = cpu->r[31]; /* 028A9EE8 */ /* nop */ /* 028A9EEC */ _t38 = cpu->r[1] + 0x00000024u; /* 028A9EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 028A9EF0 */ cpu->lr = cpu->r[0]; /* 028A9EF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028A9EF8 */ return; } // fn_028A9EFC @ 0x28a9efc void Gambit_fn_028A9EFC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_028A9EFC: ; // 0x28a9efc /* 028A9EFC */ _t0 = cpu->r[3] + 0x00000038u; /* 028A9EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028A9F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028A9F04 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9F04 */ _t2 = _t1 & 0x00000001u; /* 028A9F04 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028A9F04 */ goto L_028A9F08; L_028A9F08: ; // 0x28a9f08 /* 028A9F08 */ _t3 = cpu->r[12] + 0x00000E40u; /* 028A9F08 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]); /* 028A9F0C */ return; } // fn_028A9F10 @ 0x28a9f10 void Gambit_fn_028A9F10(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_028A9F10: ; // 0x28a9f10 /* 028A9F10 */ _t0 = cpu->r[3] + 0x00000024u; /* 028A9F10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028A9F14 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 028A9F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028A9F18 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9F18 */ _t2 = _t1 & 0x00000001u; /* 028A9F18 */ if (_t2) goto L_028A9F1C; else goto L_028A9F20; L_028A9F1C: ; // 0x28a9f1c /* 028A9F1C */ cpu->r[0] = 0x00000001u; L_028A9F20: ; // 0x28a9f20 /* 028A9F20 */ _t3 = cpu->r[3] + 0x00000024u; /* 028A9F20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028A9F24 */ cpu->r[3] = cpu->r[12]; /* 028A9F28 */ return; } // fn_028A9F2C @ 0x28a9f2c void Gambit_fn_028A9F2C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A9F2C: ; // 0x28a9f2c /* 028A9F2C */ cpu->r[0] = cpu->lr; /* 028A9F30 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A9F30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9F30 */ cpu->r[1] = _t0; /* 028A9F34 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A9F34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A9F38 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A9F38 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A9F3C */ _t3 = cpu->r[1] + 0x00000008u; /* 028A9F3C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A9F40 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A9F40 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A9F44 */ cpu->r[28] = cpu->r[3]; /* 028A9F48 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A9F48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A9F4C */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A9F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A9F50 */ cpu->r[29] = 0x00000000u; /* 028A9F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A9F58 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9F58 */ _t8 = _t7 & 0x00000001u; /* 028A9F58 */ if (_t8) goto L_028A9F5C; else goto L_028A9FF0; L_028A9F5C: ; // 0x28a9f5c /* 028A9F5C */ _t9 = cpu->r[28] + 0x00000020u; /* 028A9F5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 028A9F60 */ cpu->r[30] = 0x00000000u; L_028A9F64: ; // 0x28a9f64 /* 028A9F64 */ _t10 = cpu->r[28] + 0x00000000u; /* 028A9F64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A9F68 */ _t11 = cpu->r[11] + 0x0000005Cu; /* 028A9F68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A9F6C */ cpu->ctr = cpu->r[12]; /* 028A9F70 */ cpu->r[3] = cpu->r[28]; /* 028A9F74 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9F78 */ _t12 = cpu->r[28] + 0x00000020u; /* 028A9F78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028A9F7C */ _t13 = cpu->r[28] + 0x0000001Cu; /* 028A9F7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 028A9F80 */ cpu->r[4] = cpu->r[12] + 0x00000001u; /* 028A9F84 */ cpu->r[31] = cpu->r[3]; /* 028A9F88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 028A9F8C */ _t14 = cpu->r[28] + 0x00000020u; /* 028A9F8C */ rbrew_write32(cpu->mem, _t14, cpu->r[4]); /* 028A9F90 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9F90 */ _t16 = _t15 & 0x00000001u; /* 028A9F90 */ if (_t16) goto L_028A9F9C; else goto L_028A9F94; L_028A9F94: ; // 0x28a9f94 /* 028A9F94 */ cpu->r[4] = cpu->r[30]; /* 028A9F98 */ _t17 = cpu->r[28] + 0x00000020u; /* 028A9F98 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]); L_028A9F9C: ; // 0x28a9f9c /* 028A9F9C */ _t18 = cpu->r[31] + 0x0000000Cu; /* 028A9F9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A9FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A9FA4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9FA4 */ _t20 = _t19 & 0x00000001u; /* 028A9FA4 */ if (_t20) goto L_028A9FA8; else goto L_028A9FE0; L_028A9FA8: ; // 0x28a9fa8 /* 028A9FA8 */ cpu->r[3] = cpu->r[28]; /* 028A9FAC */ Gambit_fn_028A9F10(cpu); /* 028A9FB0 */ cpu->r[4] = cpu->r[3]; /* 028A9FB4 */ cpu->r[3] = cpu->r[31]; /* 028A9FB8 */ Gambit_fn_028A5330(cpu); /* 028A9FBC */ _t21 = cpu->r[1] + 0x00000008u; /* 028A9FBC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 028A9FC0 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A9FC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A9FC4 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A9FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A9FC8 */ cpu->r[3] = cpu->r[31]; /* 028A9FCC */ _t24 = cpu->r[1] + 0x00000010u; /* 028A9FCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A9FD0 */ cpu->lr = cpu->r[0]; /* 028A9FD4 */ _t25 = cpu->r[1] + 0x00000014u; /* 028A9FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9FD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9FDC */ return; L_028A9FE0: ; // 0x28a9fe0 /* 028A9FE0 */ _t26 = cpu->r[28] + 0x0000001Cu; /* 028A9FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028A9FE4 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A9FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A9FEC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9FEC */ _t28 = _t27 & 0x00000001u; /* 028A9FEC */ if (_t28) goto L_028A9F64; else goto L_028A9FF0; L_028A9FF0: ; // 0x28a9ff0 /* 028A9FF0 */ _t29 = cpu->r[1] + 0x00000008u; /* 028A9FF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t29); /* 028A9FF4 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028A9FF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30); /* 028A9FF8 */ _t31 = cpu->r[1] + 0x0000001Cu; /* 028A9FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 028A9FFC */ _t32 = cpu->r[1] + 0x00000010u; /* 028A9FFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 028AA000 */ cpu->lr = cpu->r[0]; /* 028AA004 */ _t33 = cpu->r[1] + 0x00000014u; /* 028AA004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 028AA008 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA00C */ cpu->r[3] = 0x00000000u; /* 028AA010 */ return; } // fn_028A9F30 @ 0x28a9f30 void Gambit_fn_028A9F30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028A9F30: ; // 0x28a9f30 /* 028A9F30 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028A9F30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028A9F30 */ cpu->r[1] = _t0; /* 028A9F34 */ _t1 = cpu->r[1] + 0x00000010u; /* 028A9F34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028A9F38 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028A9F38 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028A9F3C */ _t3 = cpu->r[1] + 0x00000008u; /* 028A9F3C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028A9F40 */ _t4 = cpu->r[1] + 0x00000014u; /* 028A9F40 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028A9F44 */ cpu->r[28] = cpu->r[3]; /* 028A9F48 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028A9F48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028A9F4C */ _t6 = cpu->r[28] + 0x0000001Cu; /* 028A9F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028A9F50 */ cpu->r[29] = 0x00000000u; /* 028A9F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A9F58 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9F58 */ _t8 = _t7 & 0x00000001u; /* 028A9F58 */ if (_t8) goto L_028A9F5C; else goto L_028A9FF0; L_028A9F5C: ; // 0x28a9f5c /* 028A9F5C */ _t9 = cpu->r[28] + 0x00000020u; /* 028A9F5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 028A9F60 */ cpu->r[30] = 0x00000000u; L_028A9F64: ; // 0x28a9f64 /* 028A9F64 */ _t10 = cpu->r[28] + 0x00000000u; /* 028A9F64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 028A9F68 */ _t11 = cpu->r[11] + 0x0000005Cu; /* 028A9F68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028A9F6C */ cpu->ctr = cpu->r[12]; /* 028A9F70 */ cpu->r[3] = cpu->r[28]; /* 028A9F74 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028A9F78 */ _t12 = cpu->r[28] + 0x00000020u; /* 028A9F78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028A9F7C */ _t13 = cpu->r[28] + 0x0000001Cu; /* 028A9F7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 028A9F80 */ cpu->r[4] = cpu->r[12] + 0x00000001u; /* 028A9F84 */ cpu->r[31] = cpu->r[3]; /* 028A9F88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 028A9F8C */ _t14 = cpu->r[28] + 0x00000020u; /* 028A9F8C */ rbrew_write32(cpu->mem, _t14, cpu->r[4]); /* 028A9F90 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9F90 */ _t16 = _t15 & 0x00000001u; /* 028A9F90 */ if (_t16) goto L_028A9F9C; else goto L_028A9F94; L_028A9F94: ; // 0x28a9f94 /* 028A9F94 */ cpu->r[4] = cpu->r[30]; /* 028A9F98 */ _t17 = cpu->r[28] + 0x00000020u; /* 028A9F98 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]); L_028A9F9C: ; // 0x28a9f9c /* 028A9F9C */ _t18 = cpu->r[31] + 0x0000000Cu; /* 028A9F9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028A9FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028A9FA4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028A9FA4 */ _t20 = _t19 & 0x00000001u; /* 028A9FA4 */ if (_t20) goto L_028A9FA8; else goto L_028A9FE0; L_028A9FA8: ; // 0x28a9fa8 /* 028A9FA8 */ cpu->r[3] = cpu->r[28]; /* 028A9FAC */ Gambit_fn_028A9F10(cpu); /* 028A9FB0 */ cpu->r[4] = cpu->r[3]; /* 028A9FB4 */ cpu->r[3] = cpu->r[31]; /* 028A9FB8 */ Gambit_fn_028A5330(cpu); /* 028A9FBC */ _t21 = cpu->r[1] + 0x00000008u; /* 028A9FBC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 028A9FC0 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028A9FC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028A9FC4 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 028A9FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028A9FC8 */ cpu->r[3] = cpu->r[31]; /* 028A9FCC */ _t24 = cpu->r[1] + 0x00000010u; /* 028A9FCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 028A9FD0 */ cpu->lr = cpu->r[0]; /* 028A9FD4 */ _t25 = cpu->r[1] + 0x00000014u; /* 028A9FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028A9FD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028A9FDC */ return; L_028A9FE0: ; // 0x28a9fe0 /* 028A9FE0 */ _t26 = cpu->r[28] + 0x0000001Cu; /* 028A9FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028A9FE4 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028A9FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028A9FEC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 028A9FEC */ _t28 = _t27 & 0x00000001u; /* 028A9FEC */ if (_t28) goto L_028A9F64; else goto L_028A9FF0; L_028A9FF0: ; // 0x28a9ff0 /* 028A9FF0 */ _t29 = cpu->r[1] + 0x00000008u; /* 028A9FF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t29); /* 028A9FF4 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028A9FF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30); /* 028A9FF8 */ _t31 = cpu->r[1] + 0x0000001Cu; /* 028A9FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 028A9FFC */ _t32 = cpu->r[1] + 0x00000010u; /* 028A9FFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 028AA000 */ cpu->lr = cpu->r[0]; /* 028AA004 */ _t33 = cpu->r[1] + 0x00000014u; /* 028AA004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 028AA008 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA00C */ cpu->r[3] = 0x00000000u; /* 028AA010 */ return; } // fn_028AA014 @ 0x28aa014 void Gambit_fn_028AA014(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028AA014: ; // 0x28aa014 /* 028AA014 */ cpu->r[0] = cpu->lr; /* 028AA018 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AA018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA018 */ cpu->r[1] = _t0; /* 028AA01C */ _t1 = cpu->r[1] + 0x00000008u; /* 028AA01C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AA020 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AA020 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AA024 */ cpu->r[31] = cpu->r[5]; /* 028AA024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA028 */ cpu->r[30] = cpu->r[4]; /* 028AA02C */ _t3 = cpu->r[1] + 0x00000014u; /* 028AA02C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AA030 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA030 */ _t5 = _t4 & 0x00000001u; /* 028AA030 */ if (_t5) goto L_028AA04C; else goto L_028AA034; L_028AA034: ; // 0x28aa034 /* 028AA034 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028AA034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AA038 */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 028AA03C */ Gambit_fn_02801EDC(cpu); /* 028AA040 */ _t7 = cpu->r[31] + 0x00000008u; /* 028AA040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 028AA044 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028AA048 */ _t8 = cpu->r[31] + 0x00000008u; /* 028AA048 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); L_028AA04C: ; // 0x28aa04c /* 028AA04C */ cpu->r[3] = cpu->r[30]; /* 028AA050 */ Gambit_fn_028A5414(cpu); /* 028AA054 */ _t9 = cpu->r[1] + 0x00000014u; /* 028AA054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028AA058 */ _t10 = cpu->r[1] + 0x00000008u; /* 028AA058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028AA05C */ cpu->lr = cpu->r[0]; /* 028AA060 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028AA060 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028AA064 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AA068 */ return; } // fn_028AA018 @ 0x28aa018 void Gambit_fn_028AA018(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028AA018: ; // 0x28aa018 /* 028AA018 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AA018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA018 */ cpu->r[1] = _t0; /* 028AA01C */ _t1 = cpu->r[1] + 0x00000008u; /* 028AA01C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AA020 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AA020 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AA024 */ cpu->r[31] = cpu->r[5]; /* 028AA024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA028 */ cpu->r[30] = cpu->r[4]; /* 028AA02C */ _t3 = cpu->r[1] + 0x00000014u; /* 028AA02C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AA030 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA030 */ _t5 = _t4 & 0x00000001u; /* 028AA030 */ if (_t5) goto L_028AA04C; else goto L_028AA034; L_028AA034: ; // 0x28aa034 /* 028AA034 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028AA034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AA038 */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 028AA03C */ Gambit_fn_02801EDC(cpu); /* 028AA040 */ _t7 = cpu->r[31] + 0x00000008u; /* 028AA040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 028AA044 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028AA048 */ _t8 = cpu->r[31] + 0x00000008u; /* 028AA048 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); L_028AA04C: ; // 0x28aa04c /* 028AA04C */ cpu->r[3] = cpu->r[30]; /* 028AA050 */ Gambit_fn_028A5414(cpu); /* 028AA054 */ _t9 = cpu->r[1] + 0x00000014u; /* 028AA054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028AA058 */ _t10 = cpu->r[1] + 0x00000008u; /* 028AA058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028AA05C */ cpu->lr = cpu->r[0]; /* 028AA060 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028AA060 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028AA064 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AA068 */ return; } // fn_028AA06C @ 0x28aa06c void Gambit_fn_028AA06C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028AA06C: ; // 0x28aa06c /* 028AA06C */ cpu->r[0] = cpu->lr; /* 028AA070 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AA070 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA070 */ cpu->r[1] = _t0; /* 028AA074 */ _t1 = cpu->r[1] + 0x00000010u; /* 028AA074 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AA078 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AA078 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028AA07C */ _t3 = cpu->r[1] + 0x00000008u; /* 028AA07C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028AA080 */ _t4 = cpu->r[1] + 0x00000014u; /* 028AA080 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028AA084 */ cpu->r[28] = cpu->r[4]; /* 028AA088 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028AA088 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028AA08C */ _t6 = cpu->r[28] + 0x0000000Cu; /* 028AA08C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 028AA090 */ _t7 = cpu->r[28] + 0x00000004u; /* 028AA090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA094 */ cpu->r[31] = cpu->r[28] - cpu->r[30]; /* 028AA098 */ cpu->r[29] = cpu->r[0] - cpu->r[30]; /* 028AA09C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AA0A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA0A0 */ _t9 = _t8 & 0x00000001u; /* 028AA0A0 */ if (_t9) goto L_028AA0C0; else goto L_028AA0A4; L_028AA0A4: ; // 0x28aa0a4 /* 028AA0A4 */ cpu->r[3] = cpu->r[29]; /* 028AA0A8 */ Gambit_fn_028A5414(cpu); /* 028AA0AC */ cpu->r[11] = cpu->r[29] + cpu->r[30]; /* 028AA0B0 */ _t10 = cpu->r[11] + 0x00000004u; /* 028AA0B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 028AA0B4 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028AA0B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AA0BC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA0BC */ _t12 = _t11 & 0x00000001u; /* 028AA0BC */ if (_t12) goto L_028AA0C0; else goto L_028AA0A4; L_028AA0C0: ; // 0x28aa0c0 /* 028AA0C0 */ cpu->r[3] = cpu->r[28]; /* 028AA0C4 */ Gambit_fn_0280236C(cpu); /* 028AA0C8 */ _t13 = cpu->r[1] + 0x00000008u; /* 028AA0C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13); /* 028AA0CC */ _t14 = cpu->r[1] + 0x0000000Cu; /* 028AA0CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t14); /* 028AA0D0 */ _t15 = cpu->r[1] + 0x0000001Cu; /* 028AA0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028AA0D4 */ _t16 = cpu->r[1] + 0x00000010u; /* 028AA0D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 028AA0D8 */ cpu->lr = cpu->r[0]; /* 028AA0DC */ _t17 = cpu->r[1] + 0x00000014u; /* 028AA0DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 028AA0E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA0E4 */ return; } // fn_028AA070 @ 0x28aa070 void Gambit_fn_028AA070(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028AA070: ; // 0x28aa070 /* 028AA070 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AA070 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA070 */ cpu->r[1] = _t0; /* 028AA074 */ _t1 = cpu->r[1] + 0x00000010u; /* 028AA074 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AA078 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AA078 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028AA07C */ _t3 = cpu->r[1] + 0x00000008u; /* 028AA07C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 028AA080 */ _t4 = cpu->r[1] + 0x00000014u; /* 028AA080 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028AA084 */ cpu->r[28] = cpu->r[4]; /* 028AA088 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028AA088 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028AA08C */ _t6 = cpu->r[28] + 0x0000000Cu; /* 028AA08C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 028AA090 */ _t7 = cpu->r[28] + 0x00000004u; /* 028AA090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA094 */ cpu->r[31] = cpu->r[28] - cpu->r[30]; /* 028AA098 */ cpu->r[29] = cpu->r[0] - cpu->r[30]; /* 028AA09C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AA0A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA0A0 */ _t9 = _t8 & 0x00000001u; /* 028AA0A0 */ if (_t9) goto L_028AA0C0; else goto L_028AA0A4; L_028AA0A4: ; // 0x28aa0a4 /* 028AA0A4 */ cpu->r[3] = cpu->r[29]; /* 028AA0A8 */ Gambit_fn_028A5414(cpu); /* 028AA0AC */ cpu->r[11] = cpu->r[29] + cpu->r[30]; /* 028AA0B0 */ _t10 = cpu->r[11] + 0x00000004u; /* 028AA0B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 028AA0B4 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028AA0B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AA0BC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA0BC */ _t12 = _t11 & 0x00000001u; /* 028AA0BC */ if (_t12) goto L_028AA0C0; else goto L_028AA0A4; L_028AA0C0: ; // 0x28aa0c0 /* 028AA0C0 */ cpu->r[3] = cpu->r[28]; /* 028AA0C4 */ Gambit_fn_0280236C(cpu); /* 028AA0C8 */ _t13 = cpu->r[1] + 0x00000008u; /* 028AA0C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13); /* 028AA0CC */ _t14 = cpu->r[1] + 0x0000000Cu; /* 028AA0CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t14); /* 028AA0D0 */ _t15 = cpu->r[1] + 0x0000001Cu; /* 028AA0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028AA0D4 */ _t16 = cpu->r[1] + 0x00000010u; /* 028AA0D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 028AA0D8 */ cpu->lr = cpu->r[0]; /* 028AA0DC */ _t17 = cpu->r[1] + 0x00000014u; /* 028AA0DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 028AA0E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA0E4 */ return; } // fn_028AA0E8 @ 0x28aa0e8 void Gambit_fn_028AA0E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_028AA0E8: ; // 0x28aa0e8 /* 028AA0E8 */ cpu->r[0] = cpu->lr; /* 028AA0EC */ _t0 = cpu->r[1] + 0x00000004u; /* 028AA0EC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028AA0F0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028AA0F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028AA0F0 */ cpu->r[1] = _t1; /* 028AA0F4 */ _t2 = cpu->r[3] + 0x00000004u; /* 028AA0F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 028AA0F8 */ Gambit_fn_028B84DC(cpu); /* 028AA0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA100 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA100 */ _t4 = _t3 & 0x00000001u; /* 028AA100 */ if (_t4) goto L_028AA108; else goto L_028AA104; L_028AA104: ; // 0x28aa104 /* 028AA104 */ _t5 = cpu->r[3] + 0x00000008u; /* 028AA104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5); L_028AA108: ; // 0x28aa108 /* 028AA108 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028AA108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AA10C */ cpu->lr = cpu->r[0]; /* 028AA110 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028AA114 */ return; } // fn_028AA0F0 @ 0x28aa0f0 void Gambit_fn_028AA0F0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_028AA0F0: ; // 0x28aa0f0 /* 028AA0F0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028AA0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA0F0 */ cpu->r[1] = _t0; /* 028AA0F4 */ _t1 = cpu->r[3] + 0x00000004u; /* 028AA0F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 028AA0F8 */ Gambit_fn_028B84DC(cpu); /* 028AA0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA100 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA100 */ _t3 = _t2 & 0x00000001u; /* 028AA100 */ if (_t3) goto L_028AA108; else goto L_028AA104; L_028AA104: ; // 0x28aa104 /* 028AA104 */ _t4 = cpu->r[3] + 0x00000008u; /* 028AA104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); L_028AA108: ; // 0x28aa108 /* 028AA108 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028AA108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028AA10C */ cpu->lr = cpu->r[0]; /* 028AA110 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028AA114 */ return; } // fn_028AA118 @ 0x28aa118 void Gambit_fn_028AA118(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028AA118: ; // 0x28aa118 /* 028AA118 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028AA118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA118 */ cpu->r[1] = _t0; /* 028AA11C */ /* nop */ /* 028AA120 */ cpu->r[0] = cpu->lr; /* 028AA124 */ _t1 = cpu->r[1] + 0x00000024u; /* 028AA124 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028AA128 */ cpu->r[29] = cpu->r[3]; /* 028AA12C */ _t2 = cpu->r[29] + 0x0000002Cu; /* 028AA12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 028AA130 */ cpu->r[31] = 0x00000000u; /* 028AA134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AA138 */ cpu->r[30] = cpu->r[4]; /* 028AA13C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AA13C */ _t4 = _t3 & 0x00000001u; /* 028AA13C */ if (_t4) goto L_028AA140; else goto L_028AA1D4; L_028AA140: ; // 0x28aa140 /* 028AA140 */ cpu->r[27] = 0x00000000u; L_028AA144: ; // 0x28aa144 /* 028AA144 */ _t5 = cpu->r[29] + 0x00000030u; /* 028AA144 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 028AA148 */ _t6 = cpu->r[6] + cpu->r[27]; /* 028AA148 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6); /* 028AA14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028AA150 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA150 */ _t8 = _t7 & 0x00000001u; /* 028AA150 */ if (_t8) goto L_028AA1C4; else goto L_028AA154; L_028AA154: ; // 0x28aa154 /* 028AA154 */ _t9 = cpu->r[28] + 0x00000004u; /* 028AA154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 028AA158 */ _t10 = cpu->r[7] + 0x00000014u; /* 028AA158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10); /* 028AA15C */ cpu->ctr = cpu->r[8]; /* 028AA160 */ cpu->r[3] = cpu->r[28]; /* 028AA164 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA168 */ _t11 = cpu->r[28] + 0x00000000u; /* 028AA168 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 028AA16C */ cpu->r[9] = cpu->r[30] + 0xFFFFFFFFu; /* 028AA170 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu; L_028AA174: ; // 0x28aa174 /* 028AA174 */ _t12 = cpu->r[9] + 0x00000001u; /* 028AA174 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12); /* 028AA174 */ cpu->r[9] = _t12; /* 028AA178 */ _t13 = cpu->r[10] + 0x00000001u; /* 028AA178 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13); /* 028AA178 */ cpu->r[10] = _t13; /* 028AA17C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]); /* 028AA180 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA180 */ _t15 = _t14 & 0x00000001u; /* 028AA180 */ if (_t15) goto L_028AA184; else goto L_028AA18C; L_028AA184: ; // 0x28aa184 /* 028AA184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000000u); /* 028AA188 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA188 */ _t17 = _t16 & 0x00000001u; /* 028AA188 */ if (_t17) goto L_028AA18C; else goto L_028AA174; L_028AA18C: ; // 0x28aa18c /* 028AA18C */ cpu->r[0] = cpu->r[11] - cpu->r[12]; /* 028AA18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AA190 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA190 */ _t19 = _t18 & 0x00000001u; /* 028AA190 */ if (_t19) goto L_028AA1AC; else goto L_028AA194; L_028AA194: ; // 0x28aa194 /* 028AA194 */ _t20 = cpu->r[29] + 0x0000002Cu; /* 028AA194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028AA198 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AA19C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AA1A0 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028AA1A4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AA1A4 */ _t22 = _t21 & 0x00000001u; /* 028AA1A4 */ if (_t22) goto L_028AA144; else goto L_028AA1A8; L_028AA1A8: ; // 0x28aa1a8 /* 028AA1A8 */ goto L_028AA1D4; L_028AA1AC: ; // 0x28aa1ac /* 028AA1AC */ cpu->r[3] = cpu->r[31]; /* 028AA1B0 */ /* nop */ /* 028AA1B4 */ _t23 = cpu->r[1] + 0x00000024u; /* 028AA1B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028AA1B8 */ cpu->lr = cpu->r[0]; /* 028AA1BC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028AA1C0 */ return; L_028AA1C4: ; // 0x28aa1c4 /* 028AA1C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AA1C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AA1CC */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028AA1D0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AA1D0 */ _t25 = _t24 & 0x00000001u; /* 028AA1D0 */ if (_t25) goto L_028AA144; else goto L_028AA1D4; L_028AA1D4: ; // 0x28aa1d4 /* 028AA1D4 */ /* nop */ /* 028AA1D8 */ _t26 = cpu->r[1] + 0x00000024u; /* 028AA1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028AA1DC */ cpu->lr = cpu->r[0]; /* 028AA1E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028AA1E4 */ cpu->r[3] = 0xFFFFFFFFu; /* 028AA1E8 */ return; } // fn_028AA1EC @ 0x28aa1ec void Gambit_fn_028AA1EC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AA1EC: ; // 0x28aa1ec /* 028AA1EC */ cpu->r[0] = cpu->lr; /* 028AA1F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AA1F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA1F0 */ cpu->r[1] = _t0; /* 028AA1F4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AA1F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028AA1F8 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA1F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AA1FC */ _t3 = cpu->r[1] + 0x00000010u; /* 028AA1FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028AA200 */ cpu->r[31] = cpu->r[4]; /* 028AA204 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028AA204 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AA208 */ _t5 = cpu->r[31] + 0x00000024u; /* 028AA208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 028AA20C */ _t6 = cpu->r[10] + 0x00000044u; /* 028AA20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AA210 */ cpu->r[30] = cpu->r[3]; /* 028AA214 */ cpu->ctr = cpu->r[0]; /* 028AA218 */ cpu->r[3] = cpu->r[31]; /* 028AA21C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA220 */ _t7 = cpu->r[31] + 0x00000014u; /* 028AA220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u); /* 028AA228 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA228 */ _t9 = _t8 & 0x00000001u; /* 028AA228 */ if (_t9) goto L_028AA248; else goto L_028AA22C; L_028AA22C: ; // 0x28aa22c /* 028AA22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u); /* 028AA230 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA230 */ _t11 = _t10 & 0x00000001u; /* 028AA230 */ if (_t11) goto L_028AA248; else goto L_028AA234; L_028AA234: ; // 0x28aa234 /* 028AA234 */ _t12 = cpu->r[31] + 0x00000024u; /* 028AA234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028AA238 */ _t13 = cpu->r[12] + 0x00000034u; /* 028AA238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 028AA23C */ cpu->ctr = cpu->r[12]; /* 028AA240 */ cpu->r[3] = cpu->r[31]; /* 028AA244 */ rbrew_call_indirect(cpu, cpu->ctr); L_028AA248: ; // 0x28aa248 /* 028AA248 */ cpu->r[0] = 0x00000000u; /* 028AA24C */ _t14 = cpu->r[31] + 0x0000000Cu; /* 028AA24C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 028AA250 */ _t15 = cpu->r[31] + 0x00000010u; /* 028AA250 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 028AA254 */ _t16 = cpu->r[31] + 0x00000014u; /* 028AA254 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 028AA258 */ _t17 = cpu->r[31] + 0x00000018u; /* 028AA258 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 028AA25C */ _t18 = cpu->r[30] + 0x00000000u; /* 028AA25C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 028AA260 */ _t19 = cpu->r[12] + 0x0000004Cu; /* 028AA260 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19); /* 028AA264 */ cpu->ctr = cpu->r[9]; /* 028AA268 */ cpu->r[3] = cpu->r[30]; /* 028AA26C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA270 */ _t20 = cpu->r[3] + 0x00000000u; /* 028AA270 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 028AA274 */ _t21 = cpu->r[10] + 0x00000014u; /* 028AA274 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 028AA278 */ cpu->ctr = cpu->r[11]; /* 028AA27C */ cpu->r[29] = cpu->r[3]; /* 028AA280 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA284 */ _t22 = cpu->r[30] + 0x0000004Cu; /* 028AA284 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22); /* 028AA288 */ cpu->r[3] = cpu->r[31]; /* 028AA28C */ Gambit_fn_028AA790(cpu); /* 028AA290 */ _t23 = cpu->r[29] + 0x00000000u; /* 028AA290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 028AA294 */ _t24 = cpu->r[12] + 0x0000001Cu; /* 028AA294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028AA298 */ cpu->ctr = cpu->r[0]; /* 028AA29C */ cpu->r[3] = cpu->r[29]; /* 028AA2A0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA2A4 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 028AA2A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25); /* 028AA2A8 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 028AA2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028AA2AC */ _t27 = cpu->r[1] + 0x00000010u; /* 028AA2AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 028AA2B0 */ cpu->lr = cpu->r[0]; /* 028AA2B4 */ _t28 = cpu->r[1] + 0x00000014u; /* 028AA2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 028AA2B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA2BC */ return; } // fn_028AA1F0 @ 0x28aa1f0 void Gambit_fn_028AA1F0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AA1F0: ; // 0x28aa1f0 /* 028AA1F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AA1F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA1F0 */ cpu->r[1] = _t0; /* 028AA1F4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AA1F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028AA1F8 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA1F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AA1FC */ _t3 = cpu->r[1] + 0x00000010u; /* 028AA1FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028AA200 */ cpu->r[31] = cpu->r[4]; /* 028AA204 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028AA204 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AA208 */ _t5 = cpu->r[31] + 0x00000024u; /* 028AA208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 028AA20C */ _t6 = cpu->r[10] + 0x00000044u; /* 028AA20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AA210 */ cpu->r[30] = cpu->r[3]; /* 028AA214 */ cpu->ctr = cpu->r[0]; /* 028AA218 */ cpu->r[3] = cpu->r[31]; /* 028AA21C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA220 */ _t7 = cpu->r[31] + 0x00000014u; /* 028AA220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u); /* 028AA228 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA228 */ _t9 = _t8 & 0x00000001u; /* 028AA228 */ if (_t9) goto L_028AA248; else goto L_028AA22C; L_028AA22C: ; // 0x28aa22c /* 028AA22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u); /* 028AA230 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA230 */ _t11 = _t10 & 0x00000001u; /* 028AA230 */ if (_t11) goto L_028AA248; else goto L_028AA234; L_028AA234: ; // 0x28aa234 /* 028AA234 */ _t12 = cpu->r[31] + 0x00000024u; /* 028AA234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028AA238 */ _t13 = cpu->r[12] + 0x00000034u; /* 028AA238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 028AA23C */ cpu->ctr = cpu->r[12]; /* 028AA240 */ cpu->r[3] = cpu->r[31]; /* 028AA244 */ rbrew_call_indirect(cpu, cpu->ctr); L_028AA248: ; // 0x28aa248 /* 028AA248 */ cpu->r[0] = 0x00000000u; /* 028AA24C */ _t14 = cpu->r[31] + 0x0000000Cu; /* 028AA24C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 028AA250 */ _t15 = cpu->r[31] + 0x00000010u; /* 028AA250 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 028AA254 */ _t16 = cpu->r[31] + 0x00000014u; /* 028AA254 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 028AA258 */ _t17 = cpu->r[31] + 0x00000018u; /* 028AA258 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 028AA25C */ _t18 = cpu->r[30] + 0x00000000u; /* 028AA25C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 028AA260 */ _t19 = cpu->r[12] + 0x0000004Cu; /* 028AA260 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19); /* 028AA264 */ cpu->ctr = cpu->r[9]; /* 028AA268 */ cpu->r[3] = cpu->r[30]; /* 028AA26C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA270 */ _t20 = cpu->r[3] + 0x00000000u; /* 028AA270 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 028AA274 */ _t21 = cpu->r[10] + 0x00000014u; /* 028AA274 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 028AA278 */ cpu->ctr = cpu->r[11]; /* 028AA27C */ cpu->r[29] = cpu->r[3]; /* 028AA280 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA284 */ _t22 = cpu->r[30] + 0x0000004Cu; /* 028AA284 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22); /* 028AA288 */ cpu->r[3] = cpu->r[31]; /* 028AA28C */ Gambit_fn_028AA790(cpu); /* 028AA290 */ _t23 = cpu->r[29] + 0x00000000u; /* 028AA290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 028AA294 */ _t24 = cpu->r[12] + 0x0000001Cu; /* 028AA294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028AA298 */ cpu->ctr = cpu->r[0]; /* 028AA29C */ cpu->r[3] = cpu->r[29]; /* 028AA2A0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA2A4 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 028AA2A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25); /* 028AA2A8 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 028AA2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028AA2AC */ _t27 = cpu->r[1] + 0x00000010u; /* 028AA2AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 028AA2B0 */ cpu->lr = cpu->r[0]; /* 028AA2B4 */ _t28 = cpu->r[1] + 0x00000014u; /* 028AA2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 028AA2B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA2BC */ return; } // fn_028AA2C0 @ 0x28aa2c0 void Gambit_fn_028AA2C0(CPUState* cpu) { uint32_t _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_028AA2C0: ; // 0x28aa2c0 /* 028AA2C0 */ cpu->r[0] = cpu->lr; /* 028AA2C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AA2C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA2C4 */ cpu->r[1] = _t0; /* 028AA2C8 */ _t1 = cpu->r[1] + 0x00000008u; /* 028AA2C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 028AA2CC */ _t2 = cpu->r[1] + 0x00000010u; /* 028AA2CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AA2D0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028AA2D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028AA2D4 */ _t4 = cpu->r[1] + 0x00000014u; /* 028AA2D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028AA2D8 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028AA2D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028AA2DC */ _t6 = cpu->r[3] + 0x00000000u; /* 028AA2DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028AA2E0 */ _t7 = cpu->r[12] + 0x0000004Cu; /* 028AA2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA2E4 */ cpu->ctr = cpu->r[0]; /* 028AA2E8 */ cpu->r[31] = cpu->r[3]; /* 028AA2EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA2F0 */ _t8 = cpu->r[3] + 0x00000000u; /* 028AA2F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 028AA2F4 */ _t9 = cpu->r[9] + 0x00000014u; /* 028AA2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028AA2F8 */ cpu->ctr = cpu->r[0]; /* 028AA2FC */ cpu->r[28] = cpu->r[3]; /* 028AA300 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA304 */ _t10 = cpu->r[31] + 0x00000014u; /* 028AA304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028AA308 */ cpu->r[0] = cpu->r[31] + 0x00000008u; /* 028AA30C */ _t11 = cpu->r[31] + 0x0000000Cu; /* 028AA30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028AA310 */ cpu->r[31] = cpu->r[0] - cpu->r[30]; /* 028AA314 */ cpu->r[29] = cpu->r[12] - cpu->r[30]; /* 028AA318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AA31C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA31C */ _t13 = _t12 & 0x00000001u; /* 028AA31C */ if (_t13) goto L_028AA33C; else goto L_028AA320; L_028AA320: ; // 0x28aa320 /* 028AA320 */ cpu->r[3] = cpu->r[29]; /* 028AA324 */ Gambit_fn_028ABD44(cpu); /* 028AA328 */ cpu->r[10] = cpu->r[29] + cpu->r[30]; /* 028AA32C */ _t14 = cpu->r[10] + 0x00000004u; /* 028AA32C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 028AA330 */ cpu->r[29] = cpu->r[9] - cpu->r[30]; /* 028AA334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AA338 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA338 */ _t16 = _t15 & 0x00000001u; /* 028AA338 */ if (_t16) goto L_028AA33C; else goto L_028AA320; L_028AA33C: ; // 0x28aa33c /* 028AA33C */ _t17 = cpu->r[28] + 0x00000000u; /* 028AA33C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028AA340 */ _t18 = cpu->r[10] + 0x0000001Cu; /* 028AA340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028AA344 */ cpu->ctr = cpu->r[0]; /* 028AA348 */ cpu->r[3] = cpu->r[28]; /* 028AA34C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA350 */ _t19 = cpu->r[1] + 0x00000008u; /* 028AA350 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 028AA354 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 028AA354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 028AA358 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 028AA358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AA35C */ _t22 = cpu->r[1] + 0x00000010u; /* 028AA35C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 028AA360 */ cpu->lr = cpu->r[0]; /* 028AA364 */ _t23 = cpu->r[1] + 0x00000014u; /* 028AA364 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 028AA368 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA36C */ return; } // fn_028AA2C4 @ 0x28aa2c4 void Gambit_fn_028AA2C4(CPUState* cpu) { uint32_t _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_028AA2C4: ; // 0x28aa2c4 /* 028AA2C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AA2C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA2C4 */ cpu->r[1] = _t0; /* 028AA2C8 */ _t1 = cpu->r[1] + 0x00000008u; /* 028AA2C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 028AA2CC */ _t2 = cpu->r[1] + 0x00000010u; /* 028AA2CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AA2D0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028AA2D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028AA2D4 */ _t4 = cpu->r[1] + 0x00000014u; /* 028AA2D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028AA2D8 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028AA2D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028AA2DC */ _t6 = cpu->r[3] + 0x00000000u; /* 028AA2DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028AA2E0 */ _t7 = cpu->r[12] + 0x0000004Cu; /* 028AA2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA2E4 */ cpu->ctr = cpu->r[0]; /* 028AA2E8 */ cpu->r[31] = cpu->r[3]; /* 028AA2EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA2F0 */ _t8 = cpu->r[3] + 0x00000000u; /* 028AA2F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 028AA2F4 */ _t9 = cpu->r[9] + 0x00000014u; /* 028AA2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028AA2F8 */ cpu->ctr = cpu->r[0]; /* 028AA2FC */ cpu->r[28] = cpu->r[3]; /* 028AA300 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA304 */ _t10 = cpu->r[31] + 0x00000014u; /* 028AA304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028AA308 */ cpu->r[0] = cpu->r[31] + 0x00000008u; /* 028AA30C */ _t11 = cpu->r[31] + 0x0000000Cu; /* 028AA30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028AA310 */ cpu->r[31] = cpu->r[0] - cpu->r[30]; /* 028AA314 */ cpu->r[29] = cpu->r[12] - cpu->r[30]; /* 028AA318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AA31C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA31C */ _t13 = _t12 & 0x00000001u; /* 028AA31C */ if (_t13) goto L_028AA33C; else goto L_028AA320; L_028AA320: ; // 0x28aa320 /* 028AA320 */ cpu->r[3] = cpu->r[29]; /* 028AA324 */ Gambit_fn_028ABD44(cpu); /* 028AA328 */ cpu->r[10] = cpu->r[29] + cpu->r[30]; /* 028AA32C */ _t14 = cpu->r[10] + 0x00000004u; /* 028AA32C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 028AA330 */ cpu->r[29] = cpu->r[9] - cpu->r[30]; /* 028AA334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AA338 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA338 */ _t16 = _t15 & 0x00000001u; /* 028AA338 */ if (_t16) goto L_028AA33C; else goto L_028AA320; L_028AA33C: ; // 0x28aa33c /* 028AA33C */ _t17 = cpu->r[28] + 0x00000000u; /* 028AA33C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 028AA340 */ _t18 = cpu->r[10] + 0x0000001Cu; /* 028AA340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028AA344 */ cpu->ctr = cpu->r[0]; /* 028AA348 */ cpu->r[3] = cpu->r[28]; /* 028AA34C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA350 */ _t19 = cpu->r[1] + 0x00000008u; /* 028AA350 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 028AA354 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 028AA354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 028AA358 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 028AA358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AA35C */ _t22 = cpu->r[1] + 0x00000010u; /* 028AA35C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 028AA360 */ cpu->lr = cpu->r[0]; /* 028AA364 */ _t23 = cpu->r[1] + 0x00000014u; /* 028AA364 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 028AA368 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA36C */ return; } // fn_028AA370 @ 0x28aa370 void Gambit_fn_028AA370(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AA370: ; // 0x28aa370 /* 028AA370 */ cpu->r[0] = cpu->lr; /* 028AA374 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AA374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA374 */ cpu->r[1] = _t0; /* 028AA378 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AA378 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028AA37C */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA37C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AA380 */ _t3 = cpu->r[1] + 0x00000010u; /* 028AA380 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028AA384 */ cpu->r[31] = cpu->r[3]; /* 028AA384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA388 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028AA388 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AA38C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA38C */ _t6 = _t5 & 0x00000001u; /* 028AA38C */ if (_t6) goto L_028AA390; else goto L_028AA3A0; L_028AA390: ; // 0x28aa390 /* 028AA390 */ cpu->r[3] = 0x00000050u; /* 028AA394 */ Gambit_fn_02801A78(cpu); /* 028AA398 */ cpu->r[31] = cpu->r[3]; /* 028AA398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA39C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA39C */ _t8 = _t7 & 0x00000001u; /* 028AA39C */ if (_t8) goto L_028AA438; else goto L_028AA3A0; L_028AA3A0: ; // 0x28aa3a0 /* 028AA3A0 */ cpu->r[10] = 0x10130000u; /* 028AA3A4 */ cpu->r[10] = cpu->r[10] + 0x00007E38u; /* 028AA3A8 */ cpu->r[30] = 0x00000000u; /* 028AA3AC */ _t9 = cpu->r[31] + 0x00000000u; /* 028AA3AC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 028AA3B0 */ cpu->r[29] = cpu->r[31] + 0x00000008u; /* 028AA3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028AA3B4 */ _t10 = cpu->r[31] + 0x00000004u; /* 028AA3B4 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 028AA3B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA3B8 */ _t12 = _t11 & 0x00000001u; /* 028AA3B8 */ if (_t12) goto L_028AA3BC; else goto L_028AA3CC; L_028AA3BC: ; // 0x28aa3bc /* 028AA3BC */ cpu->r[3] = 0x00000010u; /* 028AA3C0 */ Gambit_fn_02801A78(cpu); /* 028AA3C4 */ cpu->r[29] = cpu->r[3]; /* 028AA3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028AA3C8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA3C8 */ _t14 = _t13 & 0x00000001u; /* 028AA3C8 */ if (_t14) goto L_028AA3F8; else goto L_028AA3CC; L_028AA3CC: ; // 0x28aa3cc /* 028AA3CC */ cpu->r[3] = cpu->r[29]; /* 028AA3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA3D0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA3D0 */ _t16 = _t15 & 0x00000001u; /* 028AA3D0 */ if (_t16) goto L_028AA3D4; else goto L_028AA3E4; L_028AA3D4: ; // 0x28aa3d4 /* 028AA3D4 */ cpu->r[3] = 0x0000000Cu; /* 028AA3D8 */ Gambit_fn_02801A78(cpu); /* 028AA3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA3E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA3E0 */ _t18 = _t17 & 0x00000001u; /* 028AA3E0 */ if (_t18) goto L_028AA3F0; else goto L_028AA3E4; L_028AA3E4: ; // 0x28aa3e4 /* 028AA3E4 */ _t19 = cpu->r[3] + 0x00000004u; /* 028AA3E4 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]); /* 028AA3E8 */ _t20 = cpu->r[3] + 0x00000008u; /* 028AA3E8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 028AA3EC */ _t21 = cpu->r[3] + 0x00000000u; /* 028AA3EC */ rbrew_write32(cpu->mem, _t21, cpu->r[3]); L_028AA3F0: ; // 0x28aa3f0 /* 028AA3F0 */ cpu->r[0] = 0xFFFFFFFFu; /* 028AA3F4 */ _t22 = cpu->r[29] + 0x0000000Cu; /* 028AA3F4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); L_028AA3F8: ; // 0x28aa3f8 /* 028AA3F8 */ _t23 = cpu->r[31] + 0x0000002Cu; /* 028AA3F8 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]); /* 028AA3FC */ cpu->r[12] = 0x00000001u; /* 028AA400 */ _t24 = cpu->r[31] + 0x00000028u; /* 028AA400 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]); /* 028AA404 */ cpu->r[0] = 0xFFFFFFFFu; /* 028AA408 */ _t25 = cpu->r[31] + 0x00000014u; /* 028AA408 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); /* 028AA40C */ _t26 = cpu->r[31] + 0x00000024u; /* 028AA40C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]); /* 028AA410 */ _t27 = cpu->r[31] + 0x00000044u; /* 028AA410 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]); /* 028AA414 */ _t28 = cpu->r[31] + 0x00000048u; /* 028AA414 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]); /* 028AA418 */ _t29 = cpu->r[31] + 0x00000030u; /* 028AA418 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); /* 028AA41C */ _t30 = cpu->r[31] + 0x00000040u; /* 028AA41C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); /* 028AA420 */ _t31 = cpu->r[31] + 0x00000020u; /* 028AA420 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]); /* 028AA424 */ _t32 = cpu->r[31] + 0x00000018u; /* 028AA424 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]); /* 028AA428 */ _t33 = cpu->r[31] + 0x00000034u; /* 028AA428 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); /* 028AA42C */ _t34 = cpu->r[31] + 0x00000038u; /* 028AA42C */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); /* 028AA430 */ _t35 = cpu->r[31] + 0x0000001Cu; /* 028AA430 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]); /* 028AA434 */ _t36 = cpu->r[31] + 0x0000003Cu; /* 028AA434 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); L_028AA438: ; // 0x28aa438 /* 028AA438 */ _t37 = cpu->r[1] + 0x0000000Cu; /* 028AA438 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37); /* 028AA43C */ _t38 = cpu->r[1] + 0x0000001Cu; /* 028AA43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 028AA440 */ cpu->r[3] = cpu->r[31]; /* 028AA444 */ _t39 = cpu->r[1] + 0x00000010u; /* 028AA444 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39); /* 028AA448 */ cpu->lr = cpu->r[0]; /* 028AA44C */ _t40 = cpu->r[1] + 0x00000014u; /* 028AA44C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40); /* 028AA450 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA454 */ return; } // fn_028AA374 @ 0x28aa374 void Gambit_fn_028AA374(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AA374: ; // 0x28aa374 /* 028AA374 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AA374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA374 */ cpu->r[1] = _t0; /* 028AA378 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AA378 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028AA37C */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA37C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AA380 */ _t3 = cpu->r[1] + 0x00000010u; /* 028AA380 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028AA384 */ cpu->r[31] = cpu->r[3]; /* 028AA384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA388 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028AA388 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AA38C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA38C */ _t6 = _t5 & 0x00000001u; /* 028AA38C */ if (_t6) goto L_028AA390; else goto L_028AA3A0; L_028AA390: ; // 0x28aa390 /* 028AA390 */ cpu->r[3] = 0x00000050u; /* 028AA394 */ Gambit_fn_02801A78(cpu); /* 028AA398 */ cpu->r[31] = cpu->r[3]; /* 028AA398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA39C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA39C */ _t8 = _t7 & 0x00000001u; /* 028AA39C */ if (_t8) goto L_028AA438; else goto L_028AA3A0; L_028AA3A0: ; // 0x28aa3a0 /* 028AA3A0 */ cpu->r[10] = 0x10130000u; /* 028AA3A4 */ cpu->r[10] = cpu->r[10] + 0x00007E38u; /* 028AA3A8 */ cpu->r[30] = 0x00000000u; /* 028AA3AC */ _t9 = cpu->r[31] + 0x00000000u; /* 028AA3AC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 028AA3B0 */ cpu->r[29] = cpu->r[31] + 0x00000008u; /* 028AA3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028AA3B4 */ _t10 = cpu->r[31] + 0x00000004u; /* 028AA3B4 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 028AA3B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA3B8 */ _t12 = _t11 & 0x00000001u; /* 028AA3B8 */ if (_t12) goto L_028AA3BC; else goto L_028AA3CC; L_028AA3BC: ; // 0x28aa3bc /* 028AA3BC */ cpu->r[3] = 0x00000010u; /* 028AA3C0 */ Gambit_fn_02801A78(cpu); /* 028AA3C4 */ cpu->r[29] = cpu->r[3]; /* 028AA3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028AA3C8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA3C8 */ _t14 = _t13 & 0x00000001u; /* 028AA3C8 */ if (_t14) goto L_028AA3F8; else goto L_028AA3CC; L_028AA3CC: ; // 0x28aa3cc /* 028AA3CC */ cpu->r[3] = cpu->r[29]; /* 028AA3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA3D0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA3D0 */ _t16 = _t15 & 0x00000001u; /* 028AA3D0 */ if (_t16) goto L_028AA3D4; else goto L_028AA3E4; L_028AA3D4: ; // 0x28aa3d4 /* 028AA3D4 */ cpu->r[3] = 0x0000000Cu; /* 028AA3D8 */ Gambit_fn_02801A78(cpu); /* 028AA3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA3E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA3E0 */ _t18 = _t17 & 0x00000001u; /* 028AA3E0 */ if (_t18) goto L_028AA3F0; else goto L_028AA3E4; L_028AA3E4: ; // 0x28aa3e4 /* 028AA3E4 */ _t19 = cpu->r[3] + 0x00000004u; /* 028AA3E4 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]); /* 028AA3E8 */ _t20 = cpu->r[3] + 0x00000008u; /* 028AA3E8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 028AA3EC */ _t21 = cpu->r[3] + 0x00000000u; /* 028AA3EC */ rbrew_write32(cpu->mem, _t21, cpu->r[3]); L_028AA3F0: ; // 0x28aa3f0 /* 028AA3F0 */ cpu->r[0] = 0xFFFFFFFFu; /* 028AA3F4 */ _t22 = cpu->r[29] + 0x0000000Cu; /* 028AA3F4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); L_028AA3F8: ; // 0x28aa3f8 /* 028AA3F8 */ _t23 = cpu->r[31] + 0x0000002Cu; /* 028AA3F8 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]); /* 028AA3FC */ cpu->r[12] = 0x00000001u; /* 028AA400 */ _t24 = cpu->r[31] + 0x00000028u; /* 028AA400 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]); /* 028AA404 */ cpu->r[0] = 0xFFFFFFFFu; /* 028AA408 */ _t25 = cpu->r[31] + 0x00000014u; /* 028AA408 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); /* 028AA40C */ _t26 = cpu->r[31] + 0x00000024u; /* 028AA40C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]); /* 028AA410 */ _t27 = cpu->r[31] + 0x00000044u; /* 028AA410 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]); /* 028AA414 */ _t28 = cpu->r[31] + 0x00000048u; /* 028AA414 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]); /* 028AA418 */ _t29 = cpu->r[31] + 0x00000030u; /* 028AA418 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); /* 028AA41C */ _t30 = cpu->r[31] + 0x00000040u; /* 028AA41C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); /* 028AA420 */ _t31 = cpu->r[31] + 0x00000020u; /* 028AA420 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]); /* 028AA424 */ _t32 = cpu->r[31] + 0x00000018u; /* 028AA424 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]); /* 028AA428 */ _t33 = cpu->r[31] + 0x00000034u; /* 028AA428 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); /* 028AA42C */ _t34 = cpu->r[31] + 0x00000038u; /* 028AA42C */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); /* 028AA430 */ _t35 = cpu->r[31] + 0x0000001Cu; /* 028AA430 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]); /* 028AA434 */ _t36 = cpu->r[31] + 0x0000003Cu; /* 028AA434 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); L_028AA438: ; // 0x28aa438 /* 028AA438 */ _t37 = cpu->r[1] + 0x0000000Cu; /* 028AA438 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37); /* 028AA43C */ _t38 = cpu->r[1] + 0x0000001Cu; /* 028AA43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 028AA440 */ cpu->r[3] = cpu->r[31]; /* 028AA444 */ _t39 = cpu->r[1] + 0x00000010u; /* 028AA444 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39); /* 028AA448 */ cpu->lr = cpu->r[0]; /* 028AA44C */ _t40 = cpu->r[1] + 0x00000014u; /* 028AA44C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40); /* 028AA450 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AA454 */ return; } // fn_028AA458 @ 0x28aa458 void Gambit_fn_028AA458(CPUState* cpu) { uint32_t _t0, _t1, _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_028AA458: ; // 0x28aa458 /* 028AA458 */ cpu->r[0] = cpu->lr; /* 028AA45C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028AA45C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA45C */ cpu->r[1] = _t0; /* 028AA460 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 028AA460 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AA464 */ cpu->r[31] = cpu->r[3]; /* 028AA468 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA468 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028AA46C */ _t3 = cpu->r[1] + 0x00000018u; /* 028AA46C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028AA470 */ _t4 = cpu->r[1] + 0x00000024u; /* 028AA470 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AA474 */ cpu->r[29] = cpu->r[4]; /* 028AA478 */ cpu->r[3] = 0x00000014u; /* 028AA47C */ _t5 = cpu->r[31] + 0x00000040u; /* 028AA47C */ rbrew_write32(cpu->mem, _t5, cpu->r[5]); /* 028AA480 */ cpu->r[5] = 0x00000004u; /* 028AA484 */ cpu->r[30] = cpu->r[6]; /* 028AA488 */ Gambit_fn_02801AC8(cpu); /* 028AA48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA490 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA490 */ _t7 = _t6 & 0x00000001u; /* 028AA490 */ if (_t7) goto L_028AA4A4; else goto L_028AA494; L_028AA494: ; // 0x28aa494 /* 028AA494 */ cpu->r[6] = 0x00000010u; /* 028AA498 */ cpu->r[5] = cpu->r[29]; /* 028AA49C */ cpu->r[4] = cpu->r[31]; /* 028AA4A0 */ Gambit_fn_028B7F40(cpu); L_028AA4A4: ; // 0x28aa4a4 /* 028AA4A4 */ _t8 = cpu->r[31] + 0x0000001Cu; /* 028AA4A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 028AA4A8 */ cpu->r[0] = 0x00000000u; /* 028AA4AC */ cpu->r[5] = 0x00000004u; /* 028AA4B0 */ _t9 = cpu->r[31] + 0x00000004u; /* 028AA4B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 028AA4B4 */ cpu->r[3] = 0x00000E98u; /* 028AA4B8 */ cpu->r[4] = cpu->r[29]; /* 028AA4BC */ _t10 = cpu->r[31] + 0x00000020u; /* 028AA4BC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 028AA4C0 */ Gambit_fn_02801AC8(cpu); /* 028AA4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA4C8 */ cpu->r[0] = cpu->r[3]; /* 028AA4CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA4CC */ _t12 = _t11 & 0x00000001u; /* 028AA4CC */ if (_t12) goto L_028AA4DC; else goto L_028AA4D0; L_028AA4D0: ; // 0x28aa4d0 /* 028AA4D0 */ cpu->r[4] = cpu->r[31]; /* 028AA4D4 */ Gambit_fn_028B7474(cpu); /* 028AA4D8 */ cpu->r[0] = cpu->r[3]; L_028AA4DC: ; // 0x28aa4dc /* 028AA4DC */ cpu->r[5] = 0x00000004u; /* 028AA4E0 */ cpu->r[3] = 0x00000E5Cu; /* 028AA4E4 */ cpu->r[4] = cpu->r[29]; /* 028AA4E8 */ _t13 = cpu->r[31] + 0x00000038u; /* 028AA4E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 028AA4EC */ Gambit_fn_02801AC8(cpu); /* 028AA4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA4F4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA4F4 */ _t15 = _t14 & 0x00000001u; /* 028AA4F4 */ if (_t15) goto L_028AA504; else goto L_028AA4F8; L_028AA4F8: ; // 0x28aa4f8 /* 028AA4F8 */ cpu->r[5] = cpu->r[29]; /* 028AA4FC */ cpu->r[4] = cpu->r[31]; /* 028AA500 */ Gambit_fn_028B7858(cpu); L_028AA504: ; // 0x28aa504 /* 028AA504 */ cpu->r[0] = 0x10130000u; /* 028AA508 */ cpu->r[5] = cpu->r[29]; /* 028AA50C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028AA510 */ cpu->r[0] = cpu->r[0] + 0x00007E00u; /* 028AA514 */ cpu->r[10] = 0x10130000u; /* 028AA518 */ _t16 = cpu->r[31] + 0x0000003Cu; /* 028AA518 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]); /* 028AA51C */ cpu->r[3] = 0x00020000u; /* 028AA520 */ cpu->r[10] = cpu->r[10] + 0x00007EA4u; /* 028AA524 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 028AA524 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 028AA528 */ cpu->r[7] = 0x00000000u; /* 028AA52C */ cpu->r[6] = 0x00000001u; /* 028AA530 */ _t18 = cpu->r[1] + 0x00000008u; /* 028AA530 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]); /* 028AA534 */ Gambit_fn_02822600(cpu); /* 028AA538 */ _t19 = cpu->r[31] + 0x0000004Cu; /* 028AA538 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]); /* 028AA53C */ _t20 = cpu->r[3] + 0x00000090u; /* 028AA53C */ cpu->r[12] = rbrew_read16(cpu->mem, _t20); /* 028AA540 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 028AA544 */ _t21 = cpu->r[3] + 0x00000090u; /* 028AA544 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]); /* 028AA548 */ _t22 = cpu->r[1] + 0x00000014u; /* 028AA548 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028AA54C */ _t23 = cpu->r[1] + 0x00000024u; /* 028AA54C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028AA550 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028AA550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 028AA554 */ cpu->lr = cpu->r[0]; /* 028AA558 */ _t25 = cpu->r[1] + 0x00000018u; /* 028AA558 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028AA55C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028AA560 */ return; } // fn_028AA45C @ 0x28aa45c void Gambit_fn_028AA45C(CPUState* cpu) { uint32_t _t0, _t1, _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_028AA45C: ; // 0x28aa45c /* 028AA45C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028AA45C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA45C */ cpu->r[1] = _t0; /* 028AA460 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 028AA460 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AA464 */ cpu->r[31] = cpu->r[3]; /* 028AA468 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA468 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028AA46C */ _t3 = cpu->r[1] + 0x00000018u; /* 028AA46C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028AA470 */ _t4 = cpu->r[1] + 0x00000024u; /* 028AA470 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AA474 */ cpu->r[29] = cpu->r[4]; /* 028AA478 */ cpu->r[3] = 0x00000014u; /* 028AA47C */ _t5 = cpu->r[31] + 0x00000040u; /* 028AA47C */ rbrew_write32(cpu->mem, _t5, cpu->r[5]); /* 028AA480 */ cpu->r[5] = 0x00000004u; /* 028AA484 */ cpu->r[30] = cpu->r[6]; /* 028AA488 */ Gambit_fn_02801AC8(cpu); /* 028AA48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA490 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA490 */ _t7 = _t6 & 0x00000001u; /* 028AA490 */ if (_t7) goto L_028AA4A4; else goto L_028AA494; L_028AA494: ; // 0x28aa494 /* 028AA494 */ cpu->r[6] = 0x00000010u; /* 028AA498 */ cpu->r[5] = cpu->r[29]; /* 028AA49C */ cpu->r[4] = cpu->r[31]; /* 028AA4A0 */ Gambit_fn_028B7F40(cpu); L_028AA4A4: ; // 0x28aa4a4 /* 028AA4A4 */ _t8 = cpu->r[31] + 0x0000001Cu; /* 028AA4A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 028AA4A8 */ cpu->r[0] = 0x00000000u; /* 028AA4AC */ cpu->r[5] = 0x00000004u; /* 028AA4B0 */ _t9 = cpu->r[31] + 0x00000004u; /* 028AA4B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 028AA4B4 */ cpu->r[3] = 0x00000E98u; /* 028AA4B8 */ cpu->r[4] = cpu->r[29]; /* 028AA4BC */ _t10 = cpu->r[31] + 0x00000020u; /* 028AA4BC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 028AA4C0 */ Gambit_fn_02801AC8(cpu); /* 028AA4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA4C8 */ cpu->r[0] = cpu->r[3]; /* 028AA4CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA4CC */ _t12 = _t11 & 0x00000001u; /* 028AA4CC */ if (_t12) goto L_028AA4DC; else goto L_028AA4D0; L_028AA4D0: ; // 0x28aa4d0 /* 028AA4D0 */ cpu->r[4] = cpu->r[31]; /* 028AA4D4 */ Gambit_fn_028B7474(cpu); /* 028AA4D8 */ cpu->r[0] = cpu->r[3]; L_028AA4DC: ; // 0x28aa4dc /* 028AA4DC */ cpu->r[5] = 0x00000004u; /* 028AA4E0 */ cpu->r[3] = 0x00000E5Cu; /* 028AA4E4 */ cpu->r[4] = cpu->r[29]; /* 028AA4E8 */ _t13 = cpu->r[31] + 0x00000038u; /* 028AA4E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 028AA4EC */ Gambit_fn_02801AC8(cpu); /* 028AA4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA4F4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA4F4 */ _t15 = _t14 & 0x00000001u; /* 028AA4F4 */ if (_t15) goto L_028AA504; else goto L_028AA4F8; L_028AA4F8: ; // 0x28aa4f8 /* 028AA4F8 */ cpu->r[5] = cpu->r[29]; /* 028AA4FC */ cpu->r[4] = cpu->r[31]; /* 028AA500 */ Gambit_fn_028B7858(cpu); L_028AA504: ; // 0x28aa504 /* 028AA504 */ cpu->r[0] = 0x10130000u; /* 028AA508 */ cpu->r[5] = cpu->r[29]; /* 028AA50C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028AA510 */ cpu->r[0] = cpu->r[0] + 0x00007E00u; /* 028AA514 */ cpu->r[10] = 0x10130000u; /* 028AA518 */ _t16 = cpu->r[31] + 0x0000003Cu; /* 028AA518 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]); /* 028AA51C */ cpu->r[3] = 0x00020000u; /* 028AA520 */ cpu->r[10] = cpu->r[10] + 0x00007EA4u; /* 028AA524 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 028AA524 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 028AA528 */ cpu->r[7] = 0x00000000u; /* 028AA52C */ cpu->r[6] = 0x00000001u; /* 028AA530 */ _t18 = cpu->r[1] + 0x00000008u; /* 028AA530 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]); /* 028AA534 */ Gambit_fn_02822600(cpu); /* 028AA538 */ _t19 = cpu->r[31] + 0x0000004Cu; /* 028AA538 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]); /* 028AA53C */ _t20 = cpu->r[3] + 0x00000090u; /* 028AA53C */ cpu->r[12] = rbrew_read16(cpu->mem, _t20); /* 028AA540 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 028AA544 */ _t21 = cpu->r[3] + 0x00000090u; /* 028AA544 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]); /* 028AA548 */ _t22 = cpu->r[1] + 0x00000014u; /* 028AA548 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 028AA54C */ _t23 = cpu->r[1] + 0x00000024u; /* 028AA54C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028AA550 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028AA550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 028AA554 */ cpu->lr = cpu->r[0]; /* 028AA558 */ _t25 = cpu->r[1] + 0x00000018u; /* 028AA558 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 028AA55C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028AA560 */ return; } // fn_028AA564 @ 0x28aa564 void Gambit_fn_028AA564(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AA564: ; // 0x28aa564 /* 028AA564 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028AA564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA564 */ cpu->r[1] = _t0; /* 028AA568 */ /* nop */ /* 028AA56C */ cpu->r[0] = cpu->lr; /* 028AA570 */ _t1 = cpu->r[1] + 0x00000024u; /* 028AA570 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028AA574 */ cpu->r[28] = cpu->r[4]; /* 028AA578 */ _t2 = cpu->r[28] + 0x00000000u; /* 028AA578 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2); /* 028AA57C */ cpu->r[27] = cpu->r[3]; /* 028AA580 */ cpu->r[30] = cpu->r[6]; /* 028AA584 */ cpu->r[4] = cpu->r[26]; /* 028AA588 */ cpu->r[29] = cpu->r[5]; /* 028AA58C */ Gambit_fn_028A9DC0(cpu); /* 028AA590 */ cpu->r[31] = cpu->r[3]; /* 028AA590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA594 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA594 */ _t4 = _t3 & 0x00000001u; /* 028AA594 */ if (_t4) goto L_028AA598; else goto L_028AA684; L_028AA598: ; // 0x28aa598 /* 028AA598 */ cpu->r[4] = cpu->r[29]; /* 028AA59C */ cpu->r[3] = 0x00000050u; /* 028AA5A0 */ cpu->r[5] = 0x00000004u; /* 028AA5A4 */ Gambit_fn_02801AC8(cpu); /* 028AA5A8 */ cpu->r[31] = cpu->r[3]; /* 028AA5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA5AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA5AC */ _t6 = _t5 & 0x00000001u; /* 028AA5AC */ if (_t6) goto L_028AA5CC; else goto L_028AA5B0; L_028AA5B0: ; // 0x28aa5b0 /* 028AA5B0 */ cpu->r[7] = cpu->r[30]; /* 028AA5B4 */ cpu->r[6] = cpu->r[27]; /* 028AA5B8 */ cpu->r[5] = cpu->r[29]; /* 028AA5BC */ cpu->r[4] = cpu->r[26]; /* 028AA5C0 */ cpu->r[3] = cpu->r[31]; /* 028AA5C4 */ Gambit_fn_028AB494(cpu); /* 028AA5C8 */ cpu->r[31] = cpu->r[3]; L_028AA5CC: ; // 0x28aa5cc /* 028AA5CC */ _t7 = cpu->r[27] + 0x00000014u; /* 028AA5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA5D0 */ cpu->r[3] = cpu->r[27] + 0x00000008u; /* 028AA5D4 */ cpu->r[4] = cpu->r[31] + cpu->r[0]; /* 028AA5D8 */ Gambit_fn_02801EBC(cpu); /* 028AA5DC */ _t8 = cpu->r[27] + 0x00000010u; /* 028AA5DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028AA5E0 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 028AA5E4 */ _t9 = cpu->r[27] + 0x00000010u; /* 028AA5E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 028AA5E8 */ _t10 = cpu->r[31] + 0x00000024u; /* 028AA5E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]); /* 028AA5EC */ _t11 = cpu->r[28] + 0x0000001Cu; /* 028AA5EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 028AA5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AA5F4 */ _t12 = cpu->r[28] + 0x00000014u; /* 028AA5F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12); /* 028AA5F8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA5F8 */ _t14 = _t13 & 0x00000001u; /* 028AA5F8 */ if (_t14) goto L_028AA5FC; else goto L_028AA604; L_028AA5FC: ; // 0x28aa5fc /* 028AA5FC */ cpu->r[5] = 0x00000000u; /* 028AA600 */ goto L_028AA670; L_028AA604: ; // 0x28aa604 /* 028AA604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028AA608 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AA608 */ _t16 = _t15 & 0x00000001u; /* 028AA608 */ if (_t16) goto L_028AA60C; else goto L_028AA66C; L_028AA60C: ; // 0x28aa60c /* 028AA60C */ cpu->r[3] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AA610 */ cpu->r[5] = 0x00000004u; /* 028AA614 */ cpu->r[4] = cpu->r[29]; /* 028AA618 */ Gambit_fn_02801ADC(cpu); /* 028AA61C */ _t17 = cpu->r[28] + 0x00000014u; /* 028AA61C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 028AA620 */ cpu->r[8] = 0x00000000u; /* 028AA624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[4]); /* 028AA628 */ cpu->r[5] = cpu->r[3]; /* 028AA62C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AA62C */ _t19 = _t18 & 0x00000001u; /* 028AA62C */ if (_t19) goto L_028AA630; else goto L_028AA654; L_028AA630: ; // 0x28aa630 /* 028AA630 */ cpu->r[7] = 0x00000000u; L_028AA634: ; // 0x28aa634 /* 028AA634 */ _t20 = cpu->r[28] + 0x0000001Cu; /* 028AA634 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 028AA638 */ _t21 = cpu->r[12] + cpu->r[7]; /* 028AA638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AA63C */ _t22 = cpu->r[5] + cpu->r[7]; /* 028AA63C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 028AA640 */ _t23 = cpu->r[28] + 0x00000014u; /* 028AA640 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 028AA644 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028AA648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[4]); /* 028AA64C */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 028AA650 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AA650 */ _t25 = _t24 & 0x00000001u; /* 028AA650 */ if (_t25) goto L_028AA634; else goto L_028AA654; L_028AA654: ; // 0x28aa654 /* 028AA654 */ cpu->r[3] = cpu->r[31]; /* 028AA658 */ Gambit_fn_028AB7E8(cpu); /* 028AA65C */ _t26 = cpu->r[28] + 0x00000018u; /* 028AA65C */ cpu->r[4] = rbrew_read32(cpu->mem, _t26); /* 028AA660 */ cpu->r[3] = cpu->r[31]; /* 028AA664 */ Gambit_fn_028AB85C(cpu); /* 028AA668 */ goto L_028AA684; L_028AA66C: ; // 0x28aa66c /* 028AA66C */ cpu->r[5] = 0x00000000u; L_028AA670: ; // 0x28aa670 /* 028AA670 */ cpu->r[3] = cpu->r[31]; /* 028AA674 */ Gambit_fn_028AB7E8(cpu); /* 028AA678 */ _t27 = cpu->r[28] + 0x00000018u; /* 028AA678 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27); /* 028AA67C */ cpu->r[3] = cpu->r[31]; /* 028AA680 */ Gambit_fn_028AB85C(cpu); L_028AA684: ; // 0x28aa684 /* 028AA684 */ cpu->r[3] = cpu->r[31]; /* 028AA688 */ /* nop */ /* 028AA68C */ _t28 = cpu->r[1] + 0x00000024u; /* 028AA68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028AA690 */ cpu->lr = cpu->r[0]; /* 028AA694 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028AA698 */ return; } // fn_028AA69C @ 0x28aa69c void Gambit_fn_028AA69C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028AA69C: ; // 0x28aa69c /* 028AA69C */ cpu->r[0] = cpu->lr; /* 028AA6A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AA6A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA6A0 */ cpu->r[1] = _t0; /* 028AA6A4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AA6A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AA6A8 */ cpu->r[31] = cpu->r[4]; /* 028AA6AC */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA6AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AA6B0 */ _t3 = cpu->r[31] + 0x0000001Cu; /* 028AA6B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028AA6B4 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 028AA6B8 */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 028AA6BC */ Gambit_fn_02801EBC(cpu); /* 028AA6C0 */ _t4 = cpu->r[31] + 0x00000018u; /* 028AA6C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 028AA6C4 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028AA6C8 */ _t5 = cpu->r[31] + 0x00000018u; /* 028AA6C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 028AA6CC */ _t6 = cpu->r[1] + 0x00000014u; /* 028AA6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AA6D0 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028AA6D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028AA6D4 */ cpu->lr = cpu->r[0]; /* 028AA6D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AA6DC */ return; } // fn_028AA6A0 @ 0x28aa6a0 void Gambit_fn_028AA6A0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028AA6A0: ; // 0x28aa6a0 /* 028AA6A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AA6A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA6A0 */ cpu->r[1] = _t0; /* 028AA6A4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AA6A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AA6A8 */ cpu->r[31] = cpu->r[4]; /* 028AA6AC */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA6AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AA6B0 */ _t3 = cpu->r[31] + 0x0000001Cu; /* 028AA6B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028AA6B4 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 028AA6B8 */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 028AA6BC */ Gambit_fn_02801EBC(cpu); /* 028AA6C0 */ _t4 = cpu->r[31] + 0x00000018u; /* 028AA6C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 028AA6C4 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028AA6C8 */ _t5 = cpu->r[31] + 0x00000018u; /* 028AA6C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 028AA6CC */ _t6 = cpu->r[1] + 0x00000014u; /* 028AA6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AA6D0 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028AA6D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028AA6D4 */ cpu->lr = cpu->r[0]; /* 028AA6D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AA6DC */ return; } // fn_028AA6E0 @ 0x28aa6e0 void Gambit_fn_028AA6E0(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_028AA6E0: ; // 0x28aa6e0 /* 028AA6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA6E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA6E4 */ _t17 = _t16 & 0x00000001u; /* 028AA6E4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028AA6E4 */ goto L_028AA6E8; L_028AA6E8: ; // 0x28aa6e8 /* 028AA6E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028AA6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AA6EC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA6EC */ _t19 = _t18 & 0x00000001u; /* 028AA6EC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028AA6EC */ goto L_028AA6F0; L_028AA6F0: ; // 0x28aa6f0 /* 028AA6F0 */ goto L_02801BB0; } // fn_028AA6F4 @ 0x28aa6f4 void Gambit_fn_028AA6F4(CPUState* cpu) { L_028AA6F4: ; // 0x28aa6f4 /* 028AA6F4 */ return; } // fn_028AA704 @ 0x28aa704 void Gambit_fn_028AA704(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_028AA704: ; // 0x28aa704 /* 028AA704 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028AA704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA704 */ cpu->r[1] = _t0; /* 028AA708 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA708 */ _t2 = _t1 & 0x00000001u; /* 028AA708 */ if (_t2) goto L_028AA70C; else goto L_028AA71C; L_028AA70C: ; // 0x28aa70c /* 028AA70C */ cpu->r[3] = 0x0000000Cu; /* 028AA710 */ Gambit_fn_02801A78(cpu); /* 028AA714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA718 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA718 */ _t4 = _t3 & 0x00000001u; /* 028AA718 */ if (_t4) goto L_028AA72C; else goto L_028AA71C; L_028AA71C: ; // 0x28aa71c /* 028AA71C */ cpu->r[0] = 0x00000000u; /* 028AA720 */ _t5 = cpu->r[3] + 0x00000000u; /* 028AA720 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028AA724 */ _t6 = cpu->r[3] + 0x00000008u; /* 028AA724 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 028AA728 */ _t7 = cpu->r[3] + 0x00000004u; /* 028AA728 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); L_028AA72C: ; // 0x28aa72c /* 028AA72C */ _t8 = cpu->r[1] + 0x0000000Cu; /* 028AA72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028AA730 */ cpu->lr = cpu->r[0]; /* 028AA734 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028AA738 */ return; } // fn_028AA73C @ 0x28aa73c void Gambit_fn_028AA73C(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_028AA73C: ; // 0x28aa73c /* 028AA73C */ _t0 = cpu->r[1] + 0xFFFFFF90u; /* 028AA73C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA73C */ cpu->r[1] = _t0; /* 028AA740 */ _t1 = cpu->r[1] + 0x00000020u; /* 028AA740 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]); /* 028AA744 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AA744 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]); /* 028AA748 */ _t3 = cpu->r[1] + 0x00000010u; /* 028AA748 */ rbrew_write32(cpu->mem, _t3, cpu->r[5]); /* 028AA74C */ _t4 = cpu->r[1] + 0x00000024u; /* 028AA74C */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 028AA750 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 028AA750 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 028AA754 */ _t6 = cpu->r[1] + 0x00000008u; /* 028AA754 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 028AA758 */ _t7 = cpu->r[1] + 0x00000014u; /* 028AA758 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]); /* 028AA75C */ _t8 = cpu->r[1] + 0x00000078u; /* 028AA75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028AA760 */ _t9 = cpu->r[1] + 0x00000018u; /* 028AA760 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]); /* 028AA764 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AA764 */ _t11 = _t10 & 0x00000001u; /* 028AA764 */ if (_t11) goto L_028AA768; else goto L_028AA788; L_028AA768: ; // 0x28aa768 /* 028AA768 */ _t12 = cpu->r[1] + 0x00000038u; /* 028AA768 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]); /* 028AA76C */ _t13 = cpu->r[1] + 0x00000058u; /* 028AA76C */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]); /* 028AA770 */ _t14 = cpu->r[1] + 0x00000050u; /* 028AA770 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]); /* 028AA774 */ _t15 = cpu->r[1] + 0x00000030u; /* 028AA774 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]); /* 028AA778 */ _t16 = cpu->r[1] + 0x00000040u; /* 028AA778 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]); /* 028AA77C */ _t17 = cpu->r[1] + 0x00000060u; /* 028AA77C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]); /* 028AA780 */ _t18 = cpu->r[1] + 0x00000048u; /* 028AA780 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]); /* 028AA784 */ _t19 = cpu->r[1] + 0x00000028u; /* 028AA784 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]); L_028AA788: ; // 0x28aa788 /* 028AA788 */ cpu->r[1] = cpu->r[1] + 0x00000070u; /* 028AA78C */ return; } // fn_028AA790 @ 0x28aa790 void Gambit_fn_028AA790(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028AA790: ; // 0x28aa790 /* 028AA790 */ cpu->r[0] = cpu->lr; /* 028AA794 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AA794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA794 */ cpu->r[1] = _t0; /* 028AA798 */ _t1 = cpu->r[1] + 0x00000008u; /* 028AA798 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AA79C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AA79C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AA7A0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AA7A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AA7A4 */ _t4 = cpu->r[3] + 0x00000024u; /* 028AA7A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 028AA7A8 */ _t5 = cpu->r[12] + 0x0000000Cu; /* 028AA7A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028AA7AC */ cpu->r[31] = cpu->r[4]; /* 028AA7B0 */ cpu->ctr = cpu->r[0]; /* 028AA7B4 */ cpu->r[30] = cpu->r[3]; /* 028AA7B8 */ cpu->r[4] = 0x00000002u; /* 028AA7BC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA7C0 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028AA7C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028AA7C4 */ _t7 = cpu->r[10] + 0x0000003Cu; /* 028AA7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA7C8 */ cpu->ctr = cpu->r[0]; /* 028AA7CC */ cpu->r[3] = cpu->r[31]; /* 028AA7D0 */ cpu->r[4] = cpu->r[30]; /* 028AA7D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA7D8 */ _t8 = cpu->r[1] + 0x00000014u; /* 028AA7D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028AA7DC */ _t9 = cpu->r[1] + 0x00000008u; /* 028AA7DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028AA7E0 */ cpu->lr = cpu->r[0]; /* 028AA7E4 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028AA7E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028AA7E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AA7EC */ return; } // fn_028AA794 @ 0x28aa794 void Gambit_fn_028AA794(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028AA794: ; // 0x28aa794 /* 028AA794 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AA794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA794 */ cpu->r[1] = _t0; /* 028AA798 */ _t1 = cpu->r[1] + 0x00000008u; /* 028AA798 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AA79C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AA79C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AA7A0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AA7A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AA7A4 */ _t4 = cpu->r[3] + 0x00000024u; /* 028AA7A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 028AA7A8 */ _t5 = cpu->r[12] + 0x0000000Cu; /* 028AA7A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028AA7AC */ cpu->r[31] = cpu->r[4]; /* 028AA7B0 */ cpu->ctr = cpu->r[0]; /* 028AA7B4 */ cpu->r[30] = cpu->r[3]; /* 028AA7B8 */ cpu->r[4] = 0x00000002u; /* 028AA7BC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA7C0 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028AA7C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028AA7C4 */ _t7 = cpu->r[10] + 0x0000003Cu; /* 028AA7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AA7C8 */ cpu->ctr = cpu->r[0]; /* 028AA7CC */ cpu->r[3] = cpu->r[31]; /* 028AA7D0 */ cpu->r[4] = cpu->r[30]; /* 028AA7D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AA7D8 */ _t8 = cpu->r[1] + 0x00000014u; /* 028AA7D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028AA7DC */ _t9 = cpu->r[1] + 0x00000008u; /* 028AA7DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 028AA7E0 */ cpu->lr = cpu->r[0]; /* 028AA7E4 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028AA7E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028AA7E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AA7EC */ return; } // fn_028AA7F0 @ 0x28aa7f0 void Gambit_fn_028AA7F0(CPUState* cpu) { 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_028AA7F0: ; // 0x28aa7f0 /* 028AA7F0 */ cpu->r[0] = cpu->lr; /* 028AA7F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AA7F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA7F4 */ cpu->r[1] = _t0; /* 028AA7F8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AA7F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AA7FC */ cpu->r[31] = cpu->r[4]; /* 028AA800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA804 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA804 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AA808 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA808 */ _t4 = _t3 & 0x00000001u; /* 028AA808 */ if (_t4) goto L_028AA80C; else goto L_028AA81C; L_028AA80C: ; // 0x28aa80c /* 028AA80C */ cpu->r[3] = 0x0000002Cu; /* 028AA810 */ Gambit_fn_02801A78(cpu); /* 028AA814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA818 */ _t6 = _t5 & 0x00000001u; /* 028AA818 */ if (_t6) goto L_028AA858; else goto L_028AA81C; L_028AA81C: ; // 0x28aa81c /* 028AA81C */ _t7 = cpu->r[31] + 0x0000001Cu; /* 028AA81C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028AA820 */ cpu->r[0] = 0x00000000u; /* 028AA824 */ _t8 = cpu->r[3] + 0x00000004u; /* 028AA824 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 028AA828 */ _t9 = cpu->r[3] + 0x00000014u; /* 028AA828 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028AA82C */ _t10 = cpu->r[3] + 0x00000000u; /* 028AA82C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 028AA830 */ _t11 = cpu->r[3] + 0x00000018u; /* 028AA830 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028AA834 */ cpu->r[12] = cpu->r[3] + 0x00000004u; /* 028AA838 */ _t12 = cpu->r[3] + 0x00000028u; /* 028AA838 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 028AA83C */ _t13 = cpu->r[3] + 0x00000020u; /* 028AA83C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 028AA840 */ cpu->r[11] = 0x00000003u; /* 028AA844 */ _t14 = cpu->r[3] + 0x0000001Cu; /* 028AA844 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 028AA848 */ cpu->ctr = cpu->r[11]; /* 028AA84C */ _t15 = cpu->r[3] + 0x00000024u; /* 028AA84C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); L_028AA850: ; // 0x28aa850 /* 028AA850 */ _t16 = cpu->r[12] + 0x00000004u; /* 028AA850 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 028AA850 */ cpu->r[12] = _t16; /* 028AA854 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028AA854 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028AA854 */ _t18 = _t17 >> (0x00000002u & 31u); /* 028AA854 */ _t19 = _t18 & 0x00000001u; /* 028AA854 */ if (_t19) goto L_028AA850; else goto L_028AA858; L_028AA858: ; // 0x28aa858 /* 028AA858 */ _t20 = cpu->r[1] + 0x00000014u; /* 028AA858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028AA85C */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028AA85C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028AA860 */ cpu->lr = cpu->r[0]; /* 028AA864 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AA868 */ return; } // fn_028AA7F4 @ 0x28aa7f4 void Gambit_fn_028AA7F4(CPUState* cpu) { 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_028AA7F4: ; // 0x28aa7f4 /* 028AA7F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AA7F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA7F4 */ cpu->r[1] = _t0; /* 028AA7F8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AA7F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AA7FC */ cpu->r[31] = cpu->r[4]; /* 028AA800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA804 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AA804 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AA808 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA808 */ _t4 = _t3 & 0x00000001u; /* 028AA808 */ if (_t4) goto L_028AA80C; else goto L_028AA81C; L_028AA80C: ; // 0x28aa80c /* 028AA80C */ cpu->r[3] = 0x0000002Cu; /* 028AA810 */ Gambit_fn_02801A78(cpu); /* 028AA814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA818 */ _t6 = _t5 & 0x00000001u; /* 028AA818 */ if (_t6) goto L_028AA858; else goto L_028AA81C; L_028AA81C: ; // 0x28aa81c /* 028AA81C */ _t7 = cpu->r[31] + 0x0000001Cu; /* 028AA81C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028AA820 */ cpu->r[0] = 0x00000000u; /* 028AA824 */ _t8 = cpu->r[3] + 0x00000004u; /* 028AA824 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 028AA828 */ _t9 = cpu->r[3] + 0x00000014u; /* 028AA828 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028AA82C */ _t10 = cpu->r[3] + 0x00000000u; /* 028AA82C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 028AA830 */ _t11 = cpu->r[3] + 0x00000018u; /* 028AA830 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028AA834 */ cpu->r[12] = cpu->r[3] + 0x00000004u; /* 028AA838 */ _t12 = cpu->r[3] + 0x00000028u; /* 028AA838 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 028AA83C */ _t13 = cpu->r[3] + 0x00000020u; /* 028AA83C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 028AA840 */ cpu->r[11] = 0x00000003u; /* 028AA844 */ _t14 = cpu->r[3] + 0x0000001Cu; /* 028AA844 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 028AA848 */ cpu->ctr = cpu->r[11]; /* 028AA84C */ _t15 = cpu->r[3] + 0x00000024u; /* 028AA84C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); L_028AA850: ; // 0x28aa850 /* 028AA850 */ _t16 = cpu->r[12] + 0x00000004u; /* 028AA850 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 028AA850 */ cpu->r[12] = _t16; /* 028AA854 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028AA854 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028AA854 */ _t18 = _t17 >> (0x00000002u & 31u); /* 028AA854 */ _t19 = _t18 & 0x00000001u; /* 028AA854 */ if (_t19) goto L_028AA850; else goto L_028AA858; L_028AA858: ; // 0x28aa858 /* 028AA858 */ _t20 = cpu->r[1] + 0x00000014u; /* 028AA858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028AA85C */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028AA85C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028AA860 */ cpu->lr = cpu->r[0]; /* 028AA864 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AA868 */ return; } // fn_028AA86C @ 0x28aa86c void Gambit_fn_028AA86C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AA86C: ; // 0x28aa86c /* 028AA86C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028AA86C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA86C */ cpu->r[1] = _t0; /* 028AA870 */ cpu->r[0] = cpu->lr; /* 028AA874 */ /* nop */ /* 028AA878 */ cpu->r[28] = cpu->r[3]; /* 028AA87C */ cpu->r[30] = cpu->r[5]; /* 028AA880 */ _t1 = cpu->r[1] + 0x00000024u; /* 028AA880 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028AA884 */ cpu->r[29] = cpu->r[4]; /* 028AA884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028AA888 */ cpu->r[31] = cpu->r[6]; /* 028AA88C */ _t2 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AA88C */ _t3 = _t2 & 0x00000001u; /* 028AA88C */ if (_t3) goto L_028AA890; else goto L_028AA8D8; L_028AA890: ; // 0x28aa890 /* 028AA890 */ cpu->r[5] = 0x00000004u; /* 028AA894 */ cpu->r[4] = cpu->r[31]; /* 028AA898 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AA89C */ Gambit_fn_02801ADC(cpu); /* 028AA8A0 */ cpu->r[8] = 0x00000000u; /* 028AA8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028AA8A8 */ _t4 = cpu->r[28] + 0x00000014u; /* 028AA8A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]); /* 028AA8AC */ cpu->r[12] = cpu->r[29]; /* 028AA8B0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AA8B0 */ _t6 = _t5 & 0x00000001u; /* 028AA8B0 */ if (_t6) goto L_028AA8B8; else goto L_028AA8B4; L_028AA8B4: ; // 0x28aa8b4 /* 028AA8B4 */ cpu->r[12] = 0x00000001u; L_028AA8B8: ; // 0x28aa8b8 /* 028AA8B8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AA8BC */ cpu->r[8] = 0x00000000u; L_028AA8C0: ; // 0x28aa8c0 /* 028AA8C0 */ _t7 = cpu->r[3] + cpu->r[7]; /* 028AA8C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]); /* 028AA8C4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 028AA8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AA8C8 */ cpu->r[7] = cpu->r[7] + 0x00000004u; /* 028AA8CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA8CC */ _t9 = _t8 & 0x00000001u; /* 028AA8CC */ if (_t9) goto L_028AA8D8; else goto L_028AA8D0; L_028AA8D0: ; // 0x28aa8d0 /* 028AA8D0 */ _t10 = cpu->r[28] + 0x00000014u; /* 028AA8D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 028AA8D4 */ goto L_028AA8C0; L_028AA8D8: ; // 0x28aa8d8 /* 028AA8D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028AA8DC */ _t11 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AA8DC */ _t12 = _t11 & 0x00000001u; /* 028AA8DC */ if (_t12) goto L_028AA8E0; else goto L_028AA928; L_028AA8E0: ; // 0x28aa8e0 /* 028AA8E0 */ cpu->r[5] = 0x00000004u; /* 028AA8E4 */ cpu->r[4] = cpu->r[31]; /* 028AA8E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AA8EC */ Gambit_fn_02801ADC(cpu); /* 028AA8F0 */ cpu->r[0] = 0x00000000u; /* 028AA8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028AA8F8 */ _t13 = cpu->r[28] + 0x00000020u; /* 028AA8F8 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]); /* 028AA8FC */ cpu->r[11] = cpu->r[30]; /* 028AA900 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AA900 */ _t15 = _t14 & 0x00000001u; /* 028AA900 */ if (_t15) goto L_028AA908; else goto L_028AA904; L_028AA904: ; // 0x28aa904 /* 028AA904 */ cpu->r[11] = 0x00000001u; L_028AA908: ; // 0x28aa908 /* 028AA908 */ cpu->r[6] = 0x00000000u; /* 028AA90C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); L_028AA910: ; // 0x28aa910 /* 028AA910 */ _t16 = cpu->r[3] + cpu->r[12]; /* 028AA910 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]); /* 028AA914 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028AA914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AA918 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028AA91C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA91C */ _t18 = _t17 & 0x00000001u; /* 028AA91C */ if (_t18) goto L_028AA928; else goto L_028AA920; L_028AA920: ; // 0x28aa920 /* 028AA920 */ _t19 = cpu->r[28] + 0x00000020u; /* 028AA920 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19); /* 028AA924 */ goto L_028AA910; L_028AA928: ; // 0x28aa928 /* 028AA928 */ _t20 = cpu->r[28] + 0x00000000u; /* 028AA928 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 028AA92C */ _t21 = cpu->r[9] + 0x0000002Cu; /* 028AA92C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AA930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AA934 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA934 */ _t23 = _t22 & 0x00000001u; /* 028AA934 */ if (_t23) goto L_028AA978; else goto L_028AA938; L_028AA938: ; // 0x28aa938 /* 028AA938 */ _t24 = cpu->r[9] + 0x0000002Cu; /* 028AA938 */ cpu->r[27] = rbrew_read32(cpu->mem, _t24); /* 028AA93C */ cpu->r[5] = 0x00000004u; /* 028AA940 */ cpu->r[4] = cpu->r[31]; /* 028AA944 */ cpu->r[3] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AA948 */ Gambit_fn_02801ADC(cpu); /* 028AA94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028AA950 */ _t25 = cpu->r[28] + 0x00000024u; /* 028AA950 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]); /* 028AA954 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA954 */ _t27 = _t26 & 0x00000001u; /* 028AA954 */ if (_t27) goto L_028AA978; else goto L_028AA958; L_028AA958: ; // 0x28aa958 /* 028AA958 */ cpu->r[10] = 0x00000000u; /* 028AA95C */ cpu->r[0] = cpu->r[10]; L_028AA960: ; // 0x28aa960 /* 028AA960 */ _t28 = cpu->r[3] + cpu->r[10]; /* 028AA960 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 028AA964 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 028AA964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 028AA968 */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 028AA96C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA96C */ _t30 = _t29 & 0x00000001u; /* 028AA96C */ if (_t30) goto L_028AA978; else goto L_028AA970; L_028AA970: ; // 0x28aa970 /* 028AA970 */ _t31 = cpu->r[28] + 0x00000024u; /* 028AA970 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31); /* 028AA974 */ goto L_028AA960; L_028AA978: ; // 0x28aa978 /* 028AA978 */ _t32 = cpu->r[28] + 0x0000001Cu; /* 028AA978 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]); /* 028AA97C */ _t33 = cpu->r[28] + 0x00000018u; /* 028AA97C */ rbrew_write32(cpu->mem, _t33, cpu->r[29]); /* 028AA980 */ /* nop */ /* 028AA984 */ _t34 = cpu->r[1] + 0x00000024u; /* 028AA984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 028AA988 */ cpu->lr = cpu->r[0]; /* 028AA98C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028AA990 */ return; } // fn_028AA994 @ 0x28aa994 void Gambit_fn_028AA994(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028AA994: ; // 0x28aa994 /* 028AA994 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028AA994 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA994 */ cpu->r[1] = _t0; /* 028AA998 */ cpu->r[0] = cpu->lr; /* 028AA99C */ /* nop */ /* 028AA9A0 */ cpu->r[28] = cpu->r[3]; /* 028AA9A4 */ cpu->r[24] = 0x00000000u; /* 028AA9A8 */ cpu->r[25] = cpu->r[24]; /* 028AA9AC */ cpu->r[27] = cpu->r[28] + 0x00000008u; /* 028AA9B0 */ cpu->r[26] = 0x101D0000u; /* 028AA9B4 */ cpu->r[23] = 0x00000003u; /* 028AA9B8 */ _t1 = cpu->r[1] + 0x00000034u; /* 028AA9B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); L_028AA9BC: ; // 0x28aa9bc /* 028AA9BC */ _t2 = cpu->r[27] + cpu->r[24]; /* 028AA9BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t2); /* 028AA9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA9C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA9C4 */ _t4 = _t3 & 0x00000001u; /* 028AA9C4 */ if (_t4) goto L_028AAA60; else goto L_028AA9C8; L_028AA9C8: ; // 0x28aa9c8 /* 028AA9C8 */ _t5 = cpu->r[31] + 0x00000000u; /* 028AA9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028AA9CC */ _t6 = cpu->r[31] + 0x00000004u; /* 028AA9CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 028AA9D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 028AA9D4 */ cpu->r[30] = cpu->r[29] + cpu->r[0]; /* 028AA9D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028AA9DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA9DC */ _t8 = _t7 & 0x00000001u; /* 028AA9DC */ if (_t8) goto L_028AAA18; else goto L_028AA9E0; L_028AA9E0: ; // 0x28aa9e0 /* 028AA9E0 */ cpu->r[31] = 0x00000000u; L_028AA9E4: ; // 0x28aa9e4 /* 028AA9E4 */ _t9 = cpu->r[29] + 0x00000004u; /* 028AA9E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 028AA9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA9EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA9EC */ _t11 = _t10 & 0x00000001u; /* 028AA9EC */ if (_t11) goto L_028AAA04; else goto L_028AA9F0; L_028AA9F0: ; // 0x28aa9f0 /* 028AA9F0 */ _t12 = cpu->r[3] + 0x00000008u; /* 028AA9F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028AA9F4 */ _t13 = cpu->r[12] + 0x0000000Cu; /* 028AA9F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028AA9F8 */ cpu->ctr = cpu->r[0]; /* 028AA9FC */ cpu->r[4] = 0x00000003u; /* 028AAA00 */ rbrew_call_indirect(cpu, cpu->ctr); L_028AAA04: ; // 0x28aaa04 /* 028AAA04 */ _t14 = cpu->r[29] + 0x00000004u; /* 028AAA04 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]); /* 028AAA08 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu; /* 028AAA0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028AAA10 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA10 */ _t16 = _t15 & 0x00000001u; /* 028AAA10 */ if (_t16) goto L_028AAA14; else goto L_028AA9E4; L_028AAA14: ; // 0x28aaa14 /* 028AAA14 */ _t17 = cpu->r[27] + cpu->r[24]; /* 028AAA14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); L_028AAA18: ; // 0x28aaa18 /* 028AAA18 */ _t18 = cpu->r[31] + 0x00000004u; /* 028AAA18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); /* 028AAA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028AAA20 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA20 */ _t20 = _t19 & 0x00000001u; /* 028AAA20 */ if (_t20) goto L_028AAA54; else goto L_028AAA24; L_028AAA24: ; // 0x28aaa24 /* 028AAA24 */ _t21 = cpu->r[31] + 0x00000000u; /* 028AAA24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 028AAA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028AAA2C */ _t22 = cpu->r[26] + 0xFFFF98F0u; /* 028AAA2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 028AAA30 */ Gambit_fn_02826B90(cpu); /* 028AAA34 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 028AAA34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 028AAA38 */ _t24 = cpu->r[4] + 0x0000003Cu; /* 028AAA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028AAA3C */ cpu->ctr = cpu->r[0]; /* 028AAA40 */ _t25 = cpu->r[31] + 0x00000004u; /* 028AAA40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 028AAA44 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AAA48 */ _t26 = cpu->r[31] + 0x00000004u; /* 028AAA48 */ rbrew_write32(cpu->mem, _t26, cpu->r[25]); /* 028AAA4C */ _t27 = cpu->r[31] + 0x00000000u; /* 028AAA4C */ rbrew_write32(cpu->mem, _t27, cpu->r[25]); /* 028AAA50 */ _t28 = cpu->r[27] + cpu->r[24]; /* 028AAA50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); L_028AAA54: ; // 0x28aaa54 /* 028AAA54 */ cpu->r[3] = cpu->r[31]; /* 028AAA58 */ Gambit_fn_02801BB0(cpu); /* 028AAA5C */ _t29 = cpu->r[27] + cpu->r[24]; /* 028AAA5C */ rbrew_write32(cpu->mem, _t29, cpu->r[25]); L_028AAA60: ; // 0x28aaa60 /* 028AAA60 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu; /* 028AAA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028AAA64 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 028AAA68 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA68 */ _t31 = _t30 & 0x00000001u; /* 028AAA68 */ if (_t31) goto L_028AAA6C; else goto L_028AA9BC; L_028AAA6C: ; // 0x28aaa6c /* 028AAA6C */ _t32 = cpu->r[28] + 0x00000018u; /* 028AAA6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 028AAA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028AAA74 */ cpu->r[30] = 0x00000000u; /* 028AAA78 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA78 */ _t34 = _t33 & 0x00000001u; /* 028AAA78 */ if (_t34) goto L_028AAAD0; else goto L_028AAA7C; L_028AAA7C: ; // 0x28aaa7c /* 028AAA7C */ _t35 = cpu->r[28] + 0x00000014u; /* 028AAA7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 028AAA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AAA84 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA84 */ _t37 = _t36 & 0x00000001u; /* 028AAA84 */ if (_t37) goto L_028AAAD0; else goto L_028AAA88; L_028AAA88: ; // 0x28aaa88 /* 028AAA88 */ cpu->r[31] = 0x00000000u; /* 028AAA8C */ cpu->r[27] = cpu->r[31]; /* 028AAA90 */ cpu->r[29] = cpu->r[31]; L_028AAA94: ; // 0x28aaa94 /* 028AAA94 */ _t38 = cpu->r[11] + cpu->r[27]; /* 028AAA94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 028AAA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAA9C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA9C */ _t40 = _t39 & 0x00000001u; /* 028AAA9C */ if (_t40) goto L_028AAAB4; else goto L_028AAAA0; L_028AAAA0: ; // 0x28aaaa0 /* 028AAAA0 */ Gambit_fn_02801BB0(cpu); /* 028AAAA4 */ _t41 = cpu->r[28] + 0x00000014u; /* 028AAAA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41); /* 028AAAA8 */ _t42 = cpu->r[6] + cpu->r[27]; /* 028AAAA8 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]); /* 028AAAAC */ _t43 = cpu->r[28] + 0x00000018u; /* 028AAAAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 028AAAB0 */ _t44 = cpu->r[28] + 0x00000014u; /* 028AAAB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44); L_028AAAB4: ; // 0x28aaab4 /* 028AAAB4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAAB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]); /* 028AAABC */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028AAAC0 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAAC0 */ _t46 = _t45 & 0x00000001u; /* 028AAAC0 */ if (_t46) goto L_028AAA94; else goto L_028AAAC4; L_028AAAC4: ; // 0x28aaac4 /* 028AAAC4 */ cpu->r[3] = cpu->r[11]; /* 028AAAC8 */ Gambit_fn_02801BB4(cpu); /* 028AAACC */ _t47 = cpu->r[28] + 0x00000014u; /* 028AAACC */ rbrew_write32(cpu->mem, _t47, cpu->r[30]); L_028AAAD0: ; // 0x28aaad0 /* 028AAAD0 */ _t48 = cpu->r[28] + 0x00000000u; /* 028AAAD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48); /* 028AAAD4 */ _t49 = cpu->r[6] + 0x0000002Cu; /* 028AAAD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49); /* 028AAAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AAADC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAADC */ _t51 = _t50 & 0x00000001u; /* 028AAADC */ if (_t51) goto L_028AAB38; else goto L_028AAAE0; L_028AAAE0: ; // 0x28aaae0 /* 028AAAE0 */ _t52 = cpu->r[28] + 0x00000024u; /* 028AAAE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 028AAAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AAAE8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAAE8 */ _t54 = _t53 & 0x00000001u; /* 028AAAE8 */ if (_t54) goto L_028AAB38; else goto L_028AAAEC; L_028AAAEC: ; // 0x28aaaec /* 028AAAEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u); /* 028AAAF0 */ cpu->r[0] = 0x00000000u; /* 028AAAF4 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AAAF4 */ _t56 = _t55 & 0x00000001u; /* 028AAAF4 */ if (_t56) goto L_028AAAFC; else goto L_028AAAF8; L_028AAAF8: ; // 0x28aaaf8 /* 028AAAF8 */ cpu->r[31] = 0x00000001u; L_028AAAFC: ; // 0x28aaafc /* 028AAAFC */ cpu->r[30] = 0x00000000u; /* 028AAB00 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); L_028AAB04: ; // 0x28aab04 /* 028AAB04 */ _t57 = cpu->r[12] + cpu->r[29]; /* 028AAB04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57); /* 028AAB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAB0C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB0C */ _t59 = _t58 & 0x00000001u; /* 028AAB0C */ if (_t59) goto L_028AAB20; else goto L_028AAB10; L_028AAB10: ; // 0x28aab10 /* 028AAB10 */ Gambit_fn_02801BB0(cpu); /* 028AAB14 */ _t60 = cpu->r[28] + 0x00000024u; /* 028AAB14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60); /* 028AAB18 */ _t61 = cpu->r[7] + cpu->r[29]; /* 028AAB18 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]); /* 028AAB1C */ _t62 = cpu->r[28] + 0x00000024u; /* 028AAB1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); L_028AAB20: ; // 0x28aab20 /* 028AAB20 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AAB20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AAB24 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AAB28 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB28 */ _t64 = _t63 & 0x00000001u; /* 028AAB28 */ if (_t64) goto L_028AAB2C; else goto L_028AAB04; L_028AAB2C: ; // 0x28aab2c /* 028AAB2C */ cpu->r[3] = cpu->r[12]; /* 028AAB30 */ Gambit_fn_02801BB4(cpu); /* 028AAB34 */ _t65 = cpu->r[28] + 0x00000024u; /* 028AAB34 */ rbrew_write32(cpu->mem, _t65, cpu->r[30]); L_028AAB38: ; // 0x28aab38 /* 028AAB38 */ _t66 = cpu->r[28] + 0x0000001Cu; /* 028AAB38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 028AAB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AAB40 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB40 */ _t68 = _t67 & 0x00000001u; /* 028AAB40 */ if (_t68) goto L_028AAB98; else goto L_028AAB44; L_028AAB44: ; // 0x28aab44 /* 028AAB44 */ _t69 = cpu->r[28] + 0x00000020u; /* 028AAB44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69); /* 028AAB48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAB4C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB4C */ _t71 = _t70 & 0x00000001u; /* 028AAB4C */ if (_t71) goto L_028AAB98; else goto L_028AAB50; L_028AAB50: ; // 0x28aab50 /* 028AAB50 */ cpu->r[31] = 0x00000000u; /* 028AAB54 */ cpu->r[27] = cpu->r[31]; /* 028AAB58 */ cpu->r[29] = cpu->r[31]; L_028AAB5C: ; // 0x28aab5c /* 028AAB5C */ _t72 = cpu->r[10] + cpu->r[27]; /* 028AAB5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t72); /* 028AAB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAB64 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB64 */ _t74 = _t73 & 0x00000001u; /* 028AAB64 */ if (_t74) goto L_028AAB7C; else goto L_028AAB68; L_028AAB68: ; // 0x28aab68 /* 028AAB68 */ Gambit_fn_02801BB0(cpu); /* 028AAB6C */ _t75 = cpu->r[28] + 0x00000020u; /* 028AAB6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t75); /* 028AAB70 */ _t76 = cpu->r[9] + cpu->r[27]; /* 028AAB70 */ rbrew_write32(cpu->mem, _t76, cpu->r[29]); /* 028AAB74 */ _t77 = cpu->r[28] + 0x0000001Cu; /* 028AAB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 028AAB78 */ _t78 = cpu->r[28] + 0x00000020u; /* 028AAB78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t78); L_028AAB7C: ; // 0x28aab7c /* 028AAB7C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAB80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAB84 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028AAB88 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAB88 */ _t80 = _t79 & 0x00000001u; /* 028AAB88 */ if (_t80) goto L_028AAB5C; else goto L_028AAB8C; L_028AAB8C: ; // 0x28aab8c /* 028AAB8C */ cpu->r[3] = cpu->r[10]; /* 028AAB90 */ Gambit_fn_02801BB4(cpu); /* 028AAB94 */ _t81 = cpu->r[28] + 0x00000020u; /* 028AAB94 */ rbrew_write32(cpu->mem, _t81, cpu->r[30]); L_028AAB98: ; // 0x28aab98 /* 028AAB98 */ _t82 = cpu->r[28] + 0x00000028u; /* 028AAB98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82); /* 028AAB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AABA0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AABA0 */ _t84 = _t83 & 0x00000001u; /* 028AABA0 */ if (_t84) goto L_028AABAC; else goto L_028AABA4; L_028AABA4: ; // 0x28aaba4 /* 028AABA4 */ Gambit_fn_02801BB0(cpu); /* 028AABA8 */ _t85 = cpu->r[28] + 0x00000028u; /* 028AABA8 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]); L_028AABAC: ; // 0x28aabac /* 028AABAC */ /* nop */ /* 028AABB0 */ _t86 = cpu->r[1] + 0x00000034u; /* 028AABB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 028AABB4 */ cpu->lr = cpu->r[0]; /* 028AABB8 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028AABBC */ return; } // fn_028AABC0 @ 0x28aabc0 void Gambit_fn_028AABC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028AA994: ; // 0x28aa994 /* 028AA994 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028AA994 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AA994 */ cpu->r[1] = _t0; /* 028AA998 */ cpu->r[0] = cpu->lr; /* 028AA99C */ /* nop */ /* 028AA9A0 */ cpu->r[28] = cpu->r[3]; /* 028AA9A4 */ cpu->r[24] = 0x00000000u; /* 028AA9A8 */ cpu->r[25] = cpu->r[24]; /* 028AA9AC */ cpu->r[27] = cpu->r[28] + 0x00000008u; /* 028AA9B0 */ cpu->r[26] = 0x101D0000u; /* 028AA9B4 */ cpu->r[23] = 0x00000003u; /* 028AA9B8 */ _t1 = cpu->r[1] + 0x00000034u; /* 028AA9B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); L_028AA9BC: ; // 0x28aa9bc /* 028AA9BC */ _t2 = cpu->r[27] + cpu->r[24]; /* 028AA9BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t2); /* 028AA9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AA9C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA9C4 */ _t4 = _t3 & 0x00000001u; /* 028AA9C4 */ if (_t4) goto L_028AAA60; else goto L_028AA9C8; L_028AA9C8: ; // 0x28aa9c8 /* 028AA9C8 */ _t5 = cpu->r[31] + 0x00000000u; /* 028AA9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028AA9CC */ _t6 = cpu->r[31] + 0x00000004u; /* 028AA9CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 028AA9D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 028AA9D4 */ cpu->r[30] = cpu->r[29] + cpu->r[0]; /* 028AA9D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028AA9DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA9DC */ _t8 = _t7 & 0x00000001u; /* 028AA9DC */ if (_t8) goto L_028AAA18; else goto L_028AA9E0; L_028AA9E0: ; // 0x28aa9e0 /* 028AA9E0 */ cpu->r[31] = 0x00000000u; L_028AA9E4: ; // 0x28aa9e4 /* 028AA9E4 */ _t9 = cpu->r[29] + 0x00000004u; /* 028AA9E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 028AA9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AA9EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AA9EC */ _t11 = _t10 & 0x00000001u; /* 028AA9EC */ if (_t11) goto L_028AAA04; else goto L_028AA9F0; L_028AA9F0: ; // 0x28aa9f0 /* 028AA9F0 */ _t12 = cpu->r[3] + 0x00000008u; /* 028AA9F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028AA9F4 */ _t13 = cpu->r[12] + 0x0000000Cu; /* 028AA9F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028AA9F8 */ cpu->ctr = cpu->r[0]; /* 028AA9FC */ cpu->r[4] = 0x00000003u; /* 028AAA00 */ rbrew_call_indirect(cpu, cpu->ctr); L_028AAA04: ; // 0x28aaa04 /* 028AAA04 */ _t14 = cpu->r[29] + 0x00000004u; /* 028AAA04 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]); /* 028AAA08 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu; /* 028AAA0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028AAA10 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA10 */ _t16 = _t15 & 0x00000001u; /* 028AAA10 */ if (_t16) goto L_028AAA14; else goto L_028AA9E4; L_028AAA14: ; // 0x28aaa14 /* 028AAA14 */ _t17 = cpu->r[27] + cpu->r[24]; /* 028AAA14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); L_028AAA18: ; // 0x28aaa18 /* 028AAA18 */ _t18 = cpu->r[31] + 0x00000004u; /* 028AAA18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); /* 028AAA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028AAA20 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA20 */ _t20 = _t19 & 0x00000001u; /* 028AAA20 */ if (_t20) goto L_028AAA54; else goto L_028AAA24; L_028AAA24: ; // 0x28aaa24 /* 028AAA24 */ _t21 = cpu->r[31] + 0x00000000u; /* 028AAA24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 028AAA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028AAA2C */ _t22 = cpu->r[26] + 0xFFFF98F0u; /* 028AAA2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 028AAA30 */ Gambit_fn_02826B90(cpu); /* 028AAA34 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 028AAA34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 028AAA38 */ _t24 = cpu->r[4] + 0x0000003Cu; /* 028AAA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028AAA3C */ cpu->ctr = cpu->r[0]; /* 028AAA40 */ _t25 = cpu->r[31] + 0x00000004u; /* 028AAA40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 028AAA44 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AAA48 */ _t26 = cpu->r[31] + 0x00000004u; /* 028AAA48 */ rbrew_write32(cpu->mem, _t26, cpu->r[25]); /* 028AAA4C */ _t27 = cpu->r[31] + 0x00000000u; /* 028AAA4C */ rbrew_write32(cpu->mem, _t27, cpu->r[25]); /* 028AAA50 */ _t28 = cpu->r[27] + cpu->r[24]; /* 028AAA50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); L_028AAA54: ; // 0x28aaa54 /* 028AAA54 */ cpu->r[3] = cpu->r[31]; /* 028AAA58 */ Gambit_fn_02801BB0(cpu); /* 028AAA5C */ _t29 = cpu->r[27] + cpu->r[24]; /* 028AAA5C */ rbrew_write32(cpu->mem, _t29, cpu->r[25]); L_028AAA60: ; // 0x28aaa60 /* 028AAA60 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu; /* 028AAA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028AAA64 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 028AAA68 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA68 */ _t31 = _t30 & 0x00000001u; /* 028AAA68 */ if (_t31) goto L_028AAA6C; else goto L_028AA9BC; L_028AAA6C: ; // 0x28aaa6c /* 028AAA6C */ _t32 = cpu->r[28] + 0x00000018u; /* 028AAA6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 028AAA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028AAA74 */ cpu->r[30] = 0x00000000u; /* 028AAA78 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA78 */ _t34 = _t33 & 0x00000001u; /* 028AAA78 */ if (_t34) goto L_028AAAD0; else goto L_028AAA7C; L_028AAA7C: ; // 0x28aaa7c /* 028AAA7C */ _t35 = cpu->r[28] + 0x00000014u; /* 028AAA7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 028AAA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AAA84 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA84 */ _t37 = _t36 & 0x00000001u; /* 028AAA84 */ if (_t37) goto L_028AAAD0; else goto L_028AAA88; L_028AAA88: ; // 0x28aaa88 /* 028AAA88 */ cpu->r[31] = 0x00000000u; /* 028AAA8C */ cpu->r[27] = cpu->r[31]; /* 028AAA90 */ cpu->r[29] = cpu->r[31]; L_028AAA94: ; // 0x28aaa94 /* 028AAA94 */ _t38 = cpu->r[11] + cpu->r[27]; /* 028AAA94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 028AAA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAA9C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAA9C */ _t40 = _t39 & 0x00000001u; /* 028AAA9C */ if (_t40) goto L_028AAAB4; else goto L_028AAAA0; L_028AAAA0: ; // 0x28aaaa0 /* 028AAAA0 */ Gambit_fn_02801BB0(cpu); /* 028AAAA4 */ _t41 = cpu->r[28] + 0x00000014u; /* 028AAAA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41); /* 028AAAA8 */ _t42 = cpu->r[6] + cpu->r[27]; /* 028AAAA8 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]); /* 028AAAAC */ _t43 = cpu->r[28] + 0x00000018u; /* 028AAAAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 028AAAB0 */ _t44 = cpu->r[28] + 0x00000014u; /* 028AAAB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44); L_028AAAB4: ; // 0x28aaab4 /* 028AAAB4 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAAB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]); /* 028AAABC */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028AAAC0 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAAC0 */ _t46 = _t45 & 0x00000001u; /* 028AAAC0 */ if (_t46) goto L_028AAA94; else goto L_028AAAC4; L_028AAAC4: ; // 0x28aaac4 /* 028AAAC4 */ cpu->r[3] = cpu->r[11]; /* 028AAAC8 */ Gambit_fn_02801BB4(cpu); /* 028AAACC */ _t47 = cpu->r[28] + 0x00000014u; /* 028AAACC */ rbrew_write32(cpu->mem, _t47, cpu->r[30]); L_028AAAD0: ; // 0x28aaad0 /* 028AAAD0 */ _t48 = cpu->r[28] + 0x00000000u; /* 028AAAD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48); /* 028AAAD4 */ _t49 = cpu->r[6] + 0x0000002Cu; /* 028AAAD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49); /* 028AAAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AAADC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAADC */ _t51 = _t50 & 0x00000001u; /* 028AAADC */ if (_t51) goto L_028AAB38; else goto L_028AAAE0; L_028AAAE0: ; // 0x28aaae0 /* 028AAAE0 */ _t52 = cpu->r[28] + 0x00000024u; /* 028AAAE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 028AAAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AAAE8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAAE8 */ _t54 = _t53 & 0x00000001u; /* 028AAAE8 */ if (_t54) goto L_028AAB38; else goto L_028AAAEC; L_028AAAEC: ; // 0x28aaaec /* 028AAAEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u); /* 028AAAF0 */ cpu->r[0] = 0x00000000u; /* 028AAAF4 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AAAF4 */ _t56 = _t55 & 0x00000001u; /* 028AAAF4 */ if (_t56) goto L_028AAAFC; else goto L_028AAAF8; L_028AAAF8: ; // 0x28aaaf8 /* 028AAAF8 */ cpu->r[31] = 0x00000001u; L_028AAAFC: ; // 0x28aaafc /* 028AAAFC */ cpu->r[30] = 0x00000000u; /* 028AAB00 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); L_028AAB04: ; // 0x28aab04 /* 028AAB04 */ _t57 = cpu->r[12] + cpu->r[29]; /* 028AAB04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57); /* 028AAB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAB0C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB0C */ _t59 = _t58 & 0x00000001u; /* 028AAB0C */ if (_t59) goto L_028AAB20; else goto L_028AAB10; L_028AAB10: ; // 0x28aab10 /* 028AAB10 */ Gambit_fn_02801BB0(cpu); /* 028AAB14 */ _t60 = cpu->r[28] + 0x00000024u; /* 028AAB14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60); /* 028AAB18 */ _t61 = cpu->r[7] + cpu->r[29]; /* 028AAB18 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]); /* 028AAB1C */ _t62 = cpu->r[28] + 0x00000024u; /* 028AAB1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); L_028AAB20: ; // 0x28aab20 /* 028AAB20 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AAB20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AAB24 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AAB28 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB28 */ _t64 = _t63 & 0x00000001u; /* 028AAB28 */ if (_t64) goto L_028AAB2C; else goto L_028AAB04; L_028AAB2C: ; // 0x28aab2c /* 028AAB2C */ cpu->r[3] = cpu->r[12]; /* 028AAB30 */ Gambit_fn_02801BB4(cpu); /* 028AAB34 */ _t65 = cpu->r[28] + 0x00000024u; /* 028AAB34 */ rbrew_write32(cpu->mem, _t65, cpu->r[30]); L_028AAB38: ; // 0x28aab38 /* 028AAB38 */ _t66 = cpu->r[28] + 0x0000001Cu; /* 028AAB38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 028AAB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AAB40 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB40 */ _t68 = _t67 & 0x00000001u; /* 028AAB40 */ if (_t68) goto L_028AAB98; else goto L_028AAB44; L_028AAB44: ; // 0x28aab44 /* 028AAB44 */ _t69 = cpu->r[28] + 0x00000020u; /* 028AAB44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69); /* 028AAB48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAB4C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB4C */ _t71 = _t70 & 0x00000001u; /* 028AAB4C */ if (_t71) goto L_028AAB98; else goto L_028AAB50; L_028AAB50: ; // 0x28aab50 /* 028AAB50 */ cpu->r[31] = 0x00000000u; /* 028AAB54 */ cpu->r[27] = cpu->r[31]; /* 028AAB58 */ cpu->r[29] = cpu->r[31]; L_028AAB5C: ; // 0x28aab5c /* 028AAB5C */ _t72 = cpu->r[10] + cpu->r[27]; /* 028AAB5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t72); /* 028AAB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAB64 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAB64 */ _t74 = _t73 & 0x00000001u; /* 028AAB64 */ if (_t74) goto L_028AAB7C; else goto L_028AAB68; L_028AAB68: ; // 0x28aab68 /* 028AAB68 */ Gambit_fn_02801BB0(cpu); /* 028AAB6C */ _t75 = cpu->r[28] + 0x00000020u; /* 028AAB6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t75); /* 028AAB70 */ _t76 = cpu->r[9] + cpu->r[27]; /* 028AAB70 */ rbrew_write32(cpu->mem, _t76, cpu->r[29]); /* 028AAB74 */ _t77 = cpu->r[28] + 0x0000001Cu; /* 028AAB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 028AAB78 */ _t78 = cpu->r[28] + 0x00000020u; /* 028AAB78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t78); L_028AAB7C: ; // 0x28aab7c /* 028AAB7C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAB80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAB84 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028AAB88 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAB88 */ _t80 = _t79 & 0x00000001u; /* 028AAB88 */ if (_t80) goto L_028AAB5C; else goto L_028AAB8C; L_028AAB8C: ; // 0x28aab8c /* 028AAB8C */ cpu->r[3] = cpu->r[10]; /* 028AAB90 */ Gambit_fn_02801BB4(cpu); /* 028AAB94 */ _t81 = cpu->r[28] + 0x00000020u; /* 028AAB94 */ rbrew_write32(cpu->mem, _t81, cpu->r[30]); L_028AAB98: ; // 0x28aab98 /* 028AAB98 */ _t82 = cpu->r[28] + 0x00000028u; /* 028AAB98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82); /* 028AAB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AABA0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AABA0 */ _t84 = _t83 & 0x00000001u; /* 028AABA0 */ if (_t84) goto L_028AABAC; else goto L_028AABA4; L_028AABA4: ; // 0x28aaba4 /* 028AABA4 */ Gambit_fn_02801BB0(cpu); /* 028AABA8 */ _t85 = cpu->r[28] + 0x00000028u; /* 028AABA8 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]); L_028AABAC: ; // 0x28aabac /* 028AABAC */ /* nop */ /* 028AABB0 */ _t86 = cpu->r[1] + 0x00000034u; /* 028AABB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 028AABB4 */ cpu->lr = cpu->r[0]; /* 028AABB8 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028AABBC */ return; L_028AABC0: ; // 0x28aabc0 /* 028AABC0 */ goto L_028AA994; } // fn_028AABC4 @ 0x28aabc4 void Gambit_fn_028AABC4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AABC4: ; // 0x28aabc4 /* 028AABC4 */ cpu->r[0] = cpu->lr; /* 028AABC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AABC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AABC8 */ cpu->r[1] = _t0; /* 028AABCC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AABCC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028AABD0 */ _t2 = cpu->r[1] + 0x00000010u; /* 028AABD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AABD4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AABD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028AABD8 */ cpu->r[30] = cpu->r[3]; /* 028AABDC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028AABDC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AABE0 */ _t5 = cpu->r[30] + 0x00000014u; /* 028AABE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 028AABE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AABE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AABE8 */ _t7 = _t6 & 0x00000001u; /* 028AABE8 */ if (_t7) goto L_028AAC2C; else goto L_028AABEC; L_028AABEC: ; // 0x28aabec /* 028AABEC */ _t8 = cpu->r[30] + 0x00000018u; /* 028AABEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028AABF0 */ cpu->r[31] = 0x00000000u; /* 028AABF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AABF8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AABF8 */ _t10 = _t9 & 0x00000001u; /* 028AABF8 */ if (_t10) goto L_028AABFC; else goto L_028AAC2C; L_028AABFC: ; // 0x28aabfc /* 028AABFC */ cpu->r[29] = 0x00000000u; L_028AAC00: ; // 0x28aac00 /* 028AAC00 */ _t11 = cpu->r[12] + cpu->r[29]; /* 028AAC00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 028AAC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAC08 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAC08 */ _t13 = _t12 & 0x00000001u; /* 028AAC08 */ if (_t13) goto L_028AAC14; else goto L_028AAC0C; L_028AAC0C: ; // 0x28aac0c /* 028AAC0C */ Gambit_fn_028B6910(cpu); /* 028AAC10 */ _t14 = cpu->r[30] + 0x00000018u; /* 028AAC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); L_028AAC14: ; // 0x28aac14 /* 028AAC14 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAC18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAC1C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AAC20 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAC20 */ _t16 = _t15 & 0x00000001u; /* 028AAC20 */ if (_t16) goto L_028AAC24; else goto L_028AAC2C; L_028AAC24: ; // 0x28aac24 /* 028AAC24 */ _t17 = cpu->r[30] + 0x00000014u; /* 028AAC24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028AAC28 */ goto L_028AAC00; L_028AAC2C: ; // 0x28aac2c /* 028AAC2C */ _t18 = cpu->r[30] + 0x00000020u; /* 028AAC2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 028AAC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028AAC34 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAC34 */ _t20 = _t19 & 0x00000001u; /* 028AAC34 */ if (_t20) goto L_028AAC78; else goto L_028AAC38; L_028AAC38: ; // 0x28aac38 /* 028AAC38 */ _t21 = cpu->r[30] + 0x0000001Cu; /* 028AAC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AAC3C */ cpu->r[31] = 0x00000000u; /* 028AAC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAC44 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAC44 */ _t23 = _t22 & 0x00000001u; /* 028AAC44 */ if (_t23) goto L_028AAC48; else goto L_028AAC78; L_028AAC48: ; // 0x28aac48 /* 028AAC48 */ cpu->r[29] = 0x00000000u; L_028AAC4C: ; // 0x28aac4c /* 028AAC4C */ _t24 = cpu->r[8] + cpu->r[29]; /* 028AAC4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24); /* 028AAC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAC54 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAC54 */ _t26 = _t25 & 0x00000001u; /* 028AAC54 */ if (_t26) goto L_028AAC60; else goto L_028AAC58; L_028AAC58: ; // 0x28aac58 /* 028AAC58 */ Gambit_fn_028B7C60(cpu); /* 028AAC5C */ _t27 = cpu->r[30] + 0x0000001Cu; /* 028AAC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); L_028AAC60: ; // 0x28aac60 /* 028AAC60 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAC64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAC68 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AAC6C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAC6C */ _t29 = _t28 & 0x00000001u; /* 028AAC6C */ if (_t29) goto L_028AAC70; else goto L_028AAC78; L_028AAC70: ; // 0x28aac70 /* 028AAC70 */ _t30 = cpu->r[30] + 0x00000020u; /* 028AAC70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 028AAC74 */ goto L_028AAC4C; L_028AAC78: ; // 0x28aac78 /* 028AAC78 */ _t31 = cpu->r[30] + 0x00000024u; /* 028AAC78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 028AAC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAC80 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAC80 */ _t33 = _t32 & 0x00000001u; /* 028AAC80 */ if (_t33) goto L_028AACCC; else goto L_028AAC84; L_028AAC84: ; // 0x28aac84 /* 028AAC84 */ _t34 = cpu->r[30] + 0x00000000u; /* 028AAC84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34); /* 028AAC88 */ _t35 = cpu->r[11] + 0x0000002Cu; /* 028AAC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 028AAC8C */ cpu->r[29] = 0x00000000u; /* 028AAC90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028AAC94 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAC94 */ _t37 = _t36 & 0x00000001u; /* 028AAC94 */ if (_t37) goto L_028AAC98; else goto L_028AACCC; L_028AAC98: ; // 0x28aac98 /* 028AAC98 */ cpu->r[31] = 0x00000000u; L_028AAC9C: ; // 0x28aac9c /* 028AAC9C */ _t38 = cpu->r[10] + cpu->r[31]; /* 028AAC9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 028AACA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AACA4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AACA4 */ _t40 = _t39 & 0x00000001u; /* 028AACA4 */ if (_t40) goto L_028AACB0; else goto L_028AACA8; L_028AACA8: ; // 0x28aaca8 /* 028AACA8 */ Gambit_fn_028B7C60(cpu); /* 028AACAC */ _t41 = cpu->r[30] + 0x00000000u; /* 028AACAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); L_028AACB0: ; // 0x28aacb0 /* 028AACB0 */ _t42 = cpu->r[11] + 0x0000002Cu; /* 028AACB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028AACB4 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028AACB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028AACBC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028AACC0 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AACC0 */ _t44 = _t43 & 0x00000001u; /* 028AACC0 */ if (_t44) goto L_028AACC4; else goto L_028AACCC; L_028AACC4: ; // 0x28aacc4 /* 028AACC4 */ _t45 = cpu->r[30] + 0x00000024u; /* 028AACC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 028AACC8 */ goto L_028AAC9C; L_028AACCC: ; // 0x28aaccc /* 028AACCC */ _t46 = cpu->r[30] + 0x00000028u; /* 028AACCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t46); /* 028AACD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AACD4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AACD4 */ _t48 = _t47 & 0x00000001u; /* 028AACD4 */ if (_t48) goto L_028AACDC; else goto L_028AACD8; L_028AACD8: ; // 0x28aacd8 /* 028AACD8 */ Gambit_fn_028B6F18(cpu); L_028AACDC: ; // 0x28aacdc /* 028AACDC */ _t49 = cpu->r[1] + 0x0000000Cu; /* 028AACDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t49); /* 028AACE0 */ _t50 = cpu->r[1] + 0x0000001Cu; /* 028AACE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 028AACE4 */ _t51 = cpu->r[1] + 0x00000010u; /* 028AACE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51); /* 028AACE8 */ cpu->lr = cpu->r[0]; /* 028AACEC */ _t52 = cpu->r[1] + 0x00000014u; /* 028AACEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t52); /* 028AACF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AACF4 */ return; } // fn_028AABC8 @ 0x28aabc8 void Gambit_fn_028AABC8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AABC8: ; // 0x28aabc8 /* 028AABC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AABC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AABC8 */ cpu->r[1] = _t0; /* 028AABCC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AABCC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028AABD0 */ _t2 = cpu->r[1] + 0x00000010u; /* 028AABD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AABD4 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AABD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028AABD8 */ cpu->r[30] = cpu->r[3]; /* 028AABDC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028AABDC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AABE0 */ _t5 = cpu->r[30] + 0x00000014u; /* 028AABE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 028AABE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AABE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AABE8 */ _t7 = _t6 & 0x00000001u; /* 028AABE8 */ if (_t7) goto L_028AAC2C; else goto L_028AABEC; L_028AABEC: ; // 0x28aabec /* 028AABEC */ _t8 = cpu->r[30] + 0x00000018u; /* 028AABEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028AABF0 */ cpu->r[31] = 0x00000000u; /* 028AABF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AABF8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AABF8 */ _t10 = _t9 & 0x00000001u; /* 028AABF8 */ if (_t10) goto L_028AABFC; else goto L_028AAC2C; L_028AABFC: ; // 0x28aabfc /* 028AABFC */ cpu->r[29] = 0x00000000u; L_028AAC00: ; // 0x28aac00 /* 028AAC00 */ _t11 = cpu->r[12] + cpu->r[29]; /* 028AAC00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 028AAC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAC08 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAC08 */ _t13 = _t12 & 0x00000001u; /* 028AAC08 */ if (_t13) goto L_028AAC14; else goto L_028AAC0C; L_028AAC0C: ; // 0x28aac0c /* 028AAC0C */ Gambit_fn_028B6910(cpu); /* 028AAC10 */ _t14 = cpu->r[30] + 0x00000018u; /* 028AAC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); L_028AAC14: ; // 0x28aac14 /* 028AAC14 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAC18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAC1C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AAC20 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAC20 */ _t16 = _t15 & 0x00000001u; /* 028AAC20 */ if (_t16) goto L_028AAC24; else goto L_028AAC2C; L_028AAC24: ; // 0x28aac24 /* 028AAC24 */ _t17 = cpu->r[30] + 0x00000014u; /* 028AAC24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 028AAC28 */ goto L_028AAC00; L_028AAC2C: ; // 0x28aac2c /* 028AAC2C */ _t18 = cpu->r[30] + 0x00000020u; /* 028AAC2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 028AAC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028AAC34 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAC34 */ _t20 = _t19 & 0x00000001u; /* 028AAC34 */ if (_t20) goto L_028AAC78; else goto L_028AAC38; L_028AAC38: ; // 0x28aac38 /* 028AAC38 */ _t21 = cpu->r[30] + 0x0000001Cu; /* 028AAC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AAC3C */ cpu->r[31] = 0x00000000u; /* 028AAC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAC44 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAC44 */ _t23 = _t22 & 0x00000001u; /* 028AAC44 */ if (_t23) goto L_028AAC48; else goto L_028AAC78; L_028AAC48: ; // 0x28aac48 /* 028AAC48 */ cpu->r[29] = 0x00000000u; L_028AAC4C: ; // 0x28aac4c /* 028AAC4C */ _t24 = cpu->r[8] + cpu->r[29]; /* 028AAC4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24); /* 028AAC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAC54 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAC54 */ _t26 = _t25 & 0x00000001u; /* 028AAC54 */ if (_t26) goto L_028AAC60; else goto L_028AAC58; L_028AAC58: ; // 0x28aac58 /* 028AAC58 */ Gambit_fn_028B7C60(cpu); /* 028AAC5C */ _t27 = cpu->r[30] + 0x0000001Cu; /* 028AAC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); L_028AAC60: ; // 0x28aac60 /* 028AAC60 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAC64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAC68 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AAC6C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAC6C */ _t29 = _t28 & 0x00000001u; /* 028AAC6C */ if (_t29) goto L_028AAC70; else goto L_028AAC78; L_028AAC70: ; // 0x28aac70 /* 028AAC70 */ _t30 = cpu->r[30] + 0x00000020u; /* 028AAC70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 028AAC74 */ goto L_028AAC4C; L_028AAC78: ; // 0x28aac78 /* 028AAC78 */ _t31 = cpu->r[30] + 0x00000024u; /* 028AAC78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 028AAC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAC80 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAC80 */ _t33 = _t32 & 0x00000001u; /* 028AAC80 */ if (_t33) goto L_028AACCC; else goto L_028AAC84; L_028AAC84: ; // 0x28aac84 /* 028AAC84 */ _t34 = cpu->r[30] + 0x00000000u; /* 028AAC84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34); /* 028AAC88 */ _t35 = cpu->r[11] + 0x0000002Cu; /* 028AAC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 028AAC8C */ cpu->r[29] = 0x00000000u; /* 028AAC90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028AAC94 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAC94 */ _t37 = _t36 & 0x00000001u; /* 028AAC94 */ if (_t37) goto L_028AAC98; else goto L_028AACCC; L_028AAC98: ; // 0x28aac98 /* 028AAC98 */ cpu->r[31] = 0x00000000u; L_028AAC9C: ; // 0x28aac9c /* 028AAC9C */ _t38 = cpu->r[10] + cpu->r[31]; /* 028AAC9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 028AACA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AACA4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AACA4 */ _t40 = _t39 & 0x00000001u; /* 028AACA4 */ if (_t40) goto L_028AACB0; else goto L_028AACA8; L_028AACA8: ; // 0x28aaca8 /* 028AACA8 */ Gambit_fn_028B7C60(cpu); /* 028AACAC */ _t41 = cpu->r[30] + 0x00000000u; /* 028AACAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); L_028AACB0: ; // 0x28aacb0 /* 028AACB0 */ _t42 = cpu->r[11] + 0x0000002Cu; /* 028AACB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028AACB4 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028AACB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028AACBC */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028AACC0 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AACC0 */ _t44 = _t43 & 0x00000001u; /* 028AACC0 */ if (_t44) goto L_028AACC4; else goto L_028AACCC; L_028AACC4: ; // 0x28aacc4 /* 028AACC4 */ _t45 = cpu->r[30] + 0x00000024u; /* 028AACC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 028AACC8 */ goto L_028AAC9C; L_028AACCC: ; // 0x28aaccc /* 028AACCC */ _t46 = cpu->r[30] + 0x00000028u; /* 028AACCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t46); /* 028AACD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AACD4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AACD4 */ _t48 = _t47 & 0x00000001u; /* 028AACD4 */ if (_t48) goto L_028AACDC; else goto L_028AACD8; L_028AACD8: ; // 0x28aacd8 /* 028AACD8 */ Gambit_fn_028B6F18(cpu); L_028AACDC: ; // 0x28aacdc /* 028AACDC */ _t49 = cpu->r[1] + 0x0000000Cu; /* 028AACDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t49); /* 028AACE0 */ _t50 = cpu->r[1] + 0x0000001Cu; /* 028AACE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 028AACE4 */ _t51 = cpu->r[1] + 0x00000010u; /* 028AACE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51); /* 028AACE8 */ cpu->lr = cpu->r[0]; /* 028AACEC */ _t52 = cpu->r[1] + 0x00000014u; /* 028AACEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t52); /* 028AACF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AACF4 */ return; } // fn_028AACF8 @ 0x28aacf8 void Gambit_fn_028AACF8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AACF8: ; // 0x28aacf8 /* 028AACF8 */ cpu->r[0] = cpu->lr; /* 028AACFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AACFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AACFC */ cpu->r[1] = _t0; /* 028AAD00 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AAD00 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028AAD04 */ _t2 = cpu->r[1] + 0x00000010u; /* 028AAD04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AAD08 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AAD08 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028AAD0C */ cpu->r[30] = cpu->r[3]; /* 028AAD10 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028AAD10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AAD14 */ _t5 = cpu->r[30] + 0x00000014u; /* 028AAD14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 028AAD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028AAD1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAD1C */ _t7 = _t6 & 0x00000001u; /* 028AAD1C */ if (_t7) goto L_028AAD60; else goto L_028AAD20; L_028AAD20: ; // 0x28aad20 /* 028AAD20 */ _t8 = cpu->r[30] + 0x00000018u; /* 028AAD20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8); /* 028AAD24 */ cpu->r[31] = 0x00000000u; /* 028AAD28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]); /* 028AAD2C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAD2C */ _t10 = _t9 & 0x00000001u; /* 028AAD2C */ if (_t10) goto L_028AAD30; else goto L_028AAD60; L_028AAD30: ; // 0x28aad30 /* 028AAD30 */ cpu->r[29] = 0x00000000u; L_028AAD34: ; // 0x28aad34 /* 028AAD34 */ _t11 = cpu->r[7] + cpu->r[29]; /* 028AAD34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 028AAD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAD3C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAD3C */ _t13 = _t12 & 0x00000001u; /* 028AAD3C */ if (_t13) goto L_028AAD48; else goto L_028AAD40; L_028AAD40: ; // 0x28aad40 /* 028AAD40 */ Gambit_fn_028B6834(cpu); /* 028AAD44 */ _t14 = cpu->r[30] + 0x00000018u; /* 028AAD44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14); L_028AAD48: ; // 0x28aad48 /* 028AAD48 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAD4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]); /* 028AAD50 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AAD54 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAD54 */ _t16 = _t15 & 0x00000001u; /* 028AAD54 */ if (_t16) goto L_028AAD58; else goto L_028AAD60; L_028AAD58: ; // 0x28aad58 /* 028AAD58 */ _t17 = cpu->r[30] + 0x00000014u; /* 028AAD58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17); /* 028AAD5C */ goto L_028AAD34; L_028AAD60: ; // 0x28aad60 /* 028AAD60 */ _t18 = cpu->r[30] + 0x00000024u; /* 028AAD60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 028AAD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028AAD68 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAD68 */ _t20 = _t19 & 0x00000001u; /* 028AAD68 */ if (_t20) goto L_028AADB4; else goto L_028AAD6C; L_028AAD6C: ; // 0x28aad6c /* 028AAD6C */ _t21 = cpu->r[30] + 0x00000000u; /* 028AAD6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t21); /* 028AAD70 */ _t22 = cpu->r[10] + 0x0000002Cu; /* 028AAD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 028AAD74 */ cpu->r[31] = 0x00000000u; /* 028AAD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAD7C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAD7C */ _t24 = _t23 & 0x00000001u; /* 028AAD7C */ if (_t24) goto L_028AAD80; else goto L_028AADB4; L_028AAD80: ; // 0x28aad80 /* 028AAD80 */ cpu->r[29] = 0x00000000u; L_028AAD84: ; // 0x28aad84 /* 028AAD84 */ _t25 = cpu->r[9] + cpu->r[29]; /* 028AAD84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25); /* 028AAD88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAD8C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAD8C */ _t27 = _t26 & 0x00000001u; /* 028AAD8C */ if (_t27) goto L_028AAD98; else goto L_028AAD90; L_028AAD90: ; // 0x28aad90 /* 028AAD90 */ Gambit_fn_028B7C20(cpu); /* 028AAD94 */ _t28 = cpu->r[30] + 0x00000000u; /* 028AAD94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); L_028AAD98: ; // 0x28aad98 /* 028AAD98 */ _t29 = cpu->r[10] + 0x0000002Cu; /* 028AAD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028AAD9C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AADA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AADA4 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AADA8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AADA8 */ _t31 = _t30 & 0x00000001u; /* 028AADA8 */ if (_t31) goto L_028AADAC; else goto L_028AADB4; L_028AADAC: ; // 0x28aadac /* 028AADAC */ _t32 = cpu->r[30] + 0x00000024u; /* 028AADAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 028AADB0 */ goto L_028AAD84; L_028AADB4: ; // 0x28aadb4 /* 028AADB4 */ _t33 = cpu->r[30] + 0x00000020u; /* 028AADB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33); /* 028AADB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AADBC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AADBC */ _t35 = _t34 & 0x00000001u; /* 028AADBC */ if (_t35) goto L_028AAE00; else goto L_028AADC0; L_028AADC0: ; // 0x28aadc0 /* 028AADC0 */ _t36 = cpu->r[30] + 0x0000001Cu; /* 028AADC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 028AADC4 */ cpu->r[29] = 0x00000000u; /* 028AADC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028AADCC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AADCC */ _t38 = _t37 & 0x00000001u; /* 028AADCC */ if (_t38) goto L_028AADD0; else goto L_028AAE00; L_028AADD0: ; // 0x28aadd0 /* 028AADD0 */ cpu->r[31] = 0x00000000u; L_028AADD4: ; // 0x28aadd4 /* 028AADD4 */ _t39 = cpu->r[11] + cpu->r[31]; /* 028AADD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39); /* 028AADD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AADDC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AADDC */ _t41 = _t40 & 0x00000001u; /* 028AADDC */ if (_t41) goto L_028AADE8; else goto L_028AADE0; L_028AADE0: ; // 0x28aade0 /* 028AADE0 */ Gambit_fn_028B7C20(cpu); /* 028AADE4 */ _t42 = cpu->r[30] + 0x0000001Cu; /* 028AADE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); L_028AADE8: ; // 0x28aade8 /* 028AADE8 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028AADEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028AADF0 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028AADF4 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AADF4 */ _t44 = _t43 & 0x00000001u; /* 028AADF4 */ if (_t44) goto L_028AADF8; else goto L_028AAE00; L_028AADF8: ; // 0x28aadf8 /* 028AADF8 */ _t45 = cpu->r[30] + 0x00000020u; /* 028AADF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45); /* 028AADFC */ goto L_028AADD4; L_028AAE00: ; // 0x28aae00 /* 028AAE00 */ _t46 = cpu->r[1] + 0x0000000Cu; /* 028AAE00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46); /* 028AAE04 */ _t47 = cpu->r[1] + 0x0000001Cu; /* 028AAE04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 028AAE08 */ _t48 = cpu->r[1] + 0x00000010u; /* 028AAE08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48); /* 028AAE0C */ cpu->lr = cpu->r[0]; /* 028AAE10 */ _t49 = cpu->r[1] + 0x00000014u; /* 028AAE10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49); /* 028AAE14 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AAE18 */ return; } // fn_028AACFC @ 0x28aacfc void Gambit_fn_028AACFC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AACFC: ; // 0x28aacfc /* 028AACFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028AACFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AACFC */ cpu->r[1] = _t0; /* 028AAD00 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AAD00 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028AAD04 */ _t2 = cpu->r[1] + 0x00000010u; /* 028AAD04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AAD08 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AAD08 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028AAD0C */ cpu->r[30] = cpu->r[3]; /* 028AAD10 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028AAD10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028AAD14 */ _t5 = cpu->r[30] + 0x00000014u; /* 028AAD14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 028AAD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028AAD1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAD1C */ _t7 = _t6 & 0x00000001u; /* 028AAD1C */ if (_t7) goto L_028AAD60; else goto L_028AAD20; L_028AAD20: ; // 0x28aad20 /* 028AAD20 */ _t8 = cpu->r[30] + 0x00000018u; /* 028AAD20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8); /* 028AAD24 */ cpu->r[31] = 0x00000000u; /* 028AAD28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]); /* 028AAD2C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAD2C */ _t10 = _t9 & 0x00000001u; /* 028AAD2C */ if (_t10) goto L_028AAD30; else goto L_028AAD60; L_028AAD30: ; // 0x28aad30 /* 028AAD30 */ cpu->r[29] = 0x00000000u; L_028AAD34: ; // 0x28aad34 /* 028AAD34 */ _t11 = cpu->r[7] + cpu->r[29]; /* 028AAD34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 028AAD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAD3C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAD3C */ _t13 = _t12 & 0x00000001u; /* 028AAD3C */ if (_t13) goto L_028AAD48; else goto L_028AAD40; L_028AAD40: ; // 0x28aad40 /* 028AAD40 */ Gambit_fn_028B6834(cpu); /* 028AAD44 */ _t14 = cpu->r[30] + 0x00000018u; /* 028AAD44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14); L_028AAD48: ; // 0x28aad48 /* 028AAD48 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AAD4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]); /* 028AAD50 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AAD54 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAD54 */ _t16 = _t15 & 0x00000001u; /* 028AAD54 */ if (_t16) goto L_028AAD58; else goto L_028AAD60; L_028AAD58: ; // 0x28aad58 /* 028AAD58 */ _t17 = cpu->r[30] + 0x00000014u; /* 028AAD58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17); /* 028AAD5C */ goto L_028AAD34; L_028AAD60: ; // 0x28aad60 /* 028AAD60 */ _t18 = cpu->r[30] + 0x00000024u; /* 028AAD60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 028AAD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028AAD68 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAD68 */ _t20 = _t19 & 0x00000001u; /* 028AAD68 */ if (_t20) goto L_028AADB4; else goto L_028AAD6C; L_028AAD6C: ; // 0x28aad6c /* 028AAD6C */ _t21 = cpu->r[30] + 0x00000000u; /* 028AAD6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t21); /* 028AAD70 */ _t22 = cpu->r[10] + 0x0000002Cu; /* 028AAD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 028AAD74 */ cpu->r[31] = 0x00000000u; /* 028AAD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AAD7C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAD7C */ _t24 = _t23 & 0x00000001u; /* 028AAD7C */ if (_t24) goto L_028AAD80; else goto L_028AADB4; L_028AAD80: ; // 0x28aad80 /* 028AAD80 */ cpu->r[29] = 0x00000000u; L_028AAD84: ; // 0x28aad84 /* 028AAD84 */ _t25 = cpu->r[9] + cpu->r[29]; /* 028AAD84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25); /* 028AAD88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AAD8C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAD8C */ _t27 = _t26 & 0x00000001u; /* 028AAD8C */ if (_t27) goto L_028AAD98; else goto L_028AAD90; L_028AAD90: ; // 0x28aad90 /* 028AAD90 */ Gambit_fn_028B7C20(cpu); /* 028AAD94 */ _t28 = cpu->r[30] + 0x00000000u; /* 028AAD94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); L_028AAD98: ; // 0x28aad98 /* 028AAD98 */ _t29 = cpu->r[10] + 0x0000002Cu; /* 028AAD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 028AAD9C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028AADA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028AADA4 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 028AADA8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AADA8 */ _t31 = _t30 & 0x00000001u; /* 028AADA8 */ if (_t31) goto L_028AADAC; else goto L_028AADB4; L_028AADAC: ; // 0x28aadac /* 028AADAC */ _t32 = cpu->r[30] + 0x00000024u; /* 028AADAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 028AADB0 */ goto L_028AAD84; L_028AADB4: ; // 0x28aadb4 /* 028AADB4 */ _t33 = cpu->r[30] + 0x00000020u; /* 028AADB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33); /* 028AADB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AADBC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AADBC */ _t35 = _t34 & 0x00000001u; /* 028AADBC */ if (_t35) goto L_028AAE00; else goto L_028AADC0; L_028AADC0: ; // 0x28aadc0 /* 028AADC0 */ _t36 = cpu->r[30] + 0x0000001Cu; /* 028AADC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 028AADC4 */ cpu->r[29] = 0x00000000u; /* 028AADC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028AADCC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AADCC */ _t38 = _t37 & 0x00000001u; /* 028AADCC */ if (_t38) goto L_028AADD0; else goto L_028AAE00; L_028AADD0: ; // 0x28aadd0 /* 028AADD0 */ cpu->r[31] = 0x00000000u; L_028AADD4: ; // 0x28aadd4 /* 028AADD4 */ _t39 = cpu->r[11] + cpu->r[31]; /* 028AADD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39); /* 028AADD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AADDC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AADDC */ _t41 = _t40 & 0x00000001u; /* 028AADDC */ if (_t41) goto L_028AADE8; else goto L_028AADE0; L_028AADE0: ; // 0x28aade0 /* 028AADE0 */ Gambit_fn_028B7C20(cpu); /* 028AADE4 */ _t42 = cpu->r[30] + 0x0000001Cu; /* 028AADE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); L_028AADE8: ; // 0x28aade8 /* 028AADE8 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028AADEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 028AADF0 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 028AADF4 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AADF4 */ _t44 = _t43 & 0x00000001u; /* 028AADF4 */ if (_t44) goto L_028AADF8; else goto L_028AAE00; L_028AADF8: ; // 0x28aadf8 /* 028AADF8 */ _t45 = cpu->r[30] + 0x00000020u; /* 028AADF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45); /* 028AADFC */ goto L_028AADD4; L_028AAE00: ; // 0x28aae00 /* 028AAE00 */ _t46 = cpu->r[1] + 0x0000000Cu; /* 028AAE00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46); /* 028AAE04 */ _t47 = cpu->r[1] + 0x0000001Cu; /* 028AAE04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 028AAE08 */ _t48 = cpu->r[1] + 0x00000010u; /* 028AAE08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48); /* 028AAE0C */ cpu->lr = cpu->r[0]; /* 028AAE10 */ _t49 = cpu->r[1] + 0x00000014u; /* 028AAE10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49); /* 028AAE14 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028AAE18 */ return; } // fn_028AAE1C @ 0x28aae1c void Gambit_fn_028AAE1C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AAE1C: ; // 0x28aae1c /* 028AAE1C */ _t0 = cpu->r[3] + 0x00000014u; /* 028AAE1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028AAE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AAE24 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAE24 */ _t2 = _t1 & 0x00000001u; /* 028AAE24 */ if (_t2) goto L_028AAE6C; else goto L_028AAE28; L_028AAE28: ; // 0x28aae28 /* 028AAE28 */ _t3 = cpu->r[3] + 0x00000018u; /* 028AAE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028AAE2C */ cpu->r[8] = 0x00000000u; /* 028AAE30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 028AAE34 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAE34 */ _t5 = _t4 & 0x00000001u; /* 028AAE34 */ if (_t5) goto L_028AAE38; else goto L_028AAE6C; L_028AAE38: ; // 0x28aae38 /* 028AAE38 */ cpu->r[9] = 0x00000000u; L_028AAE3C: ; // 0x28aae3c /* 028AAE3C */ _t6 = cpu->r[12] + cpu->r[9]; /* 028AAE3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028AAE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAE44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAE44 */ _t8 = _t7 & 0x00000001u; /* 028AAE44 */ if (_t8) goto L_028AAE54; else goto L_028AAE48; L_028AAE48: ; // 0x28aae48 /* 028AAE48 */ _t9 = cpu->r[3] + 0x00000008u; /* 028AAE48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 028AAE4C */ _t10 = cpu->r[10] + 0x00000004u; /* 028AAE4C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 028AAE50 */ _t11 = cpu->r[3] + 0x00000018u; /* 028AAE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); L_028AAE54: ; // 0x28aae54 /* 028AAE54 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028AAE58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 028AAE5C */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 028AAE60 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAE60 */ _t13 = _t12 & 0x00000001u; /* 028AAE60 */ if (_t13) goto L_028AAE64; else goto L_028AAE6C; L_028AAE64: ; // 0x28aae64 /* 028AAE64 */ _t14 = cpu->r[3] + 0x00000014u; /* 028AAE64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028AAE68 */ goto L_028AAE3C; L_028AAE6C: ; // 0x28aae6c /* 028AAE6C */ _t15 = cpu->r[3] + 0x00000024u; /* 028AAE6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 028AAE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028AAE74 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAE74 */ _t17 = _t16 & 0x00000001u; /* 028AAE74 */ if (_t17) goto L_028AAEB4; else goto L_028AAE78; L_028AAE78: ; // 0x28aae78 /* 028AAE78 */ _t18 = cpu->r[3] + 0x00000000u; /* 028AAE78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 028AAE7C */ _t19 = cpu->r[12] + 0x0000002Cu; /* 028AAE7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 028AAE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAE84 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAE84 */ _t21 = _t20 & 0x00000001u; /* 028AAE84 */ if (_t21) goto L_028AAEB4; else goto L_028AAE88; L_028AAE88: ; // 0x28aae88 /* 028AAE88 */ cpu->r[8] = 0x00000000u; L_028AAE8C: ; // 0x28aae8c /* 028AAE8C */ _t22 = cpu->r[9] + cpu->r[8]; /* 028AAE8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t22); /* 028AAE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AAE94 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAE94 */ _t24 = _t23 & 0x00000001u; /* 028AAE94 */ if (_t24) goto L_028AAEA0; else goto L_028AAE98; L_028AAE98: ; // 0x28aae98 /* 028AAE98 */ _t25 = cpu->r[3] + 0x0000000Cu; /* 028AAE98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 028AAE9C */ _t26 = cpu->r[11] + 0x00000004u; /* 028AAE9C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]); L_028AAEA0: ; // 0x28aaea0 /* 028AAEA0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028AAEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAEA4 */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 028AAEA8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAEA8 */ _t28 = _t27 & 0x00000001u; /* 028AAEA8 */ if (_t28) goto L_028AAEB4; else goto L_028AAEAC; L_028AAEAC: ; // 0x28aaeac /* 028AAEAC */ _t29 = cpu->r[3] + 0x00000024u; /* 028AAEAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29); /* 028AAEB0 */ goto L_028AAE8C; L_028AAEB4: ; // 0x28aaeb4 /* 028AAEB4 */ _t30 = cpu->r[3] + 0x00000020u; /* 028AAEB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 028AAEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AAEBC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAEBC */ _t32 = _t31 & 0x00000001u; /* 028AAEBC */ if (_t32) goto L_028AAF04; else goto L_028AAEC0; L_028AAEC0: ; // 0x28aaec0 /* 028AAEC0 */ _t33 = cpu->r[3] + 0x0000001Cu; /* 028AAEC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 028AAEC4 */ cpu->r[8] = 0x00000000u; /* 028AAEC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]); /* 028AAECC */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAECC */ _t35 = _t34 & 0x00000001u; /* 028AAECC */ if (_t35) goto L_028AAED0; else goto L_028AAF04; L_028AAED0: ; // 0x28aaed0 /* 028AAED0 */ cpu->r[11] = 0x00000000u; L_028AAED4: ; // 0x28aaed4 /* 028AAED4 */ _t36 = cpu->r[12] + cpu->r[11]; /* 028AAED4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36); /* 028AAED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AAEDC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAEDC */ _t38 = _t37 & 0x00000001u; /* 028AAEDC */ if (_t38) goto L_028AAEEC; else goto L_028AAEE0; L_028AAEE0: ; // 0x28aaee0 /* 028AAEE0 */ _t39 = cpu->r[3] + 0x0000000Cu; /* 028AAEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 028AAEE4 */ _t40 = cpu->r[12] + 0x00000004u; /* 028AAEE4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]); /* 028AAEE8 */ _t41 = cpu->r[3] + 0x0000001Cu; /* 028AAEE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41); L_028AAEEC: ; // 0x28aaeec /* 028AAEEC */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 028AAEF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]); /* 028AAEF4 */ cpu->r[11] = cpu->r[11] + 0x00000004u; /* 028AAEF8 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AAEF8 */ _t43 = _t42 & 0x00000001u; /* 028AAEF8 */ if (_t43) goto L_028AAEFC; else goto L_028AAF04; L_028AAEFC: ; // 0x28aaefc /* 028AAEFC */ _t44 = cpu->r[3] + 0x00000020u; /* 028AAEFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t44); /* 028AAF00 */ goto L_028AAED4; L_028AAF04: ; // 0x28aaf04 /* 028AAF04 */ _t45 = cpu->r[3] + 0x00000028u; /* 028AAF04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 028AAF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAF0C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAF0C */ _t47 = _t46 & 0x00000001u; /* 028AAF0C */ if (_t47) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028AAF0C */ goto L_028AAF10; L_028AAF10: ; // 0x28aaf10 /* 028AAF10 */ _t48 = cpu->r[3] + 0x00000010u; /* 028AAF10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 028AAF14 */ _t49 = cpu->r[10] + 0x00000004u; /* 028AAF14 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 028AAF18 */ return; } // fn_028AAF1C @ 0x28aaf1c void Gambit_fn_028AAF1C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028AAF1C: ; // 0x28aaf1c /* 028AAF1C */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 028AAF1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AAF1C */ cpu->r[1] = _t0; /* 028AAF20 */ /* nop */ /* 028AAF24 */ cpu->r[0] = cpu->lr; /* 028AAF28 */ _t1 = cpu->r[1] + 0x0000004Cu; /* 028AAF28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028AAF2C */ cpu->r[29] = cpu->r[3]; /* 028AAF30 */ _t2 = cpu->r[29] + 0x00000004u; /* 028AAF30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 028AAF34 */ _t3 = cpu->r[7] + 0x00000020u; /* 028AAF34 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3); /* 028AAF38 */ _t4 = cpu->r[27] + 0x0000000Cu; /* 028AAF38 */ cpu->r[25] = rbrew_read32(cpu->mem, _t4); /* 028AAF3C */ _t5 = cpu->r[25] + 0x00000008u; /* 028AAF3C */ cpu->r[28] = rbrew_read32(cpu->mem, _t5); /* 028AAF40 */ _t6 = cpu->r[28] + 0x00000018u; /* 028AAF40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028AAF44 */ cpu->r[30] = cpu->r[4]; /* 028AAF48 */ _t7 = cpu->r[1] + 0x00000008u; /* 028AAF48 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 028AAF4C */ _t8 = cpu->r[28] + 0x00000020u; /* 028AAF4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8); /* 028AAF50 */ cpu->r[21] = 0x00000000u; /* 028AAF54 */ cpu->r[20] = 0x00000003u; /* 028AAF58 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028AAF58 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]); /* 028AAF5C */ _t10 = cpu->r[28] + 0x00000024u; /* 028AAF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028AAF60 */ cpu->r[23] = cpu->r[21]; /* 028AAF64 */ cpu->r[22] = cpu->r[1] + 0x00000004u; /* 028AAF68 */ cpu->r[24] = 0x101D0000u; /* 028AAF6C */ _t11 = cpu->r[1] + 0x00000010u; /* 028AAF6C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); L_028AAF70: ; // 0x28aaf70 /* 028AAF70 */ _t12 = cpu->r[22] + 0x00000004u; /* 028AAF70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 028AAF70 */ cpu->r[22] = _t12; /* 028AAF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AAF78 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAF78 */ _t14 = _t13 & 0x00000001u; /* 028AAF78 */ if (_t14) goto L_028AB0A0; else goto L_028AAF7C; L_028AAF7C: ; // 0x28aaf7c /* 028AAF7C */ cpu->r[4] = cpu->r[30]; /* 028AAF80 */ cpu->r[3] = 0x00000008u; /* 028AAF84 */ cpu->r[5] = 0x00000004u; /* 028AAF88 */ Gambit_fn_02801AC8(cpu); /* 028AAF8C */ cpu->r[10] = cpu->r[3]; /* 028AAF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AAF90 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAF90 */ _t16 = _t15 & 0x00000001u; /* 028AAF90 */ if (_t16) goto L_028AAFBC; else goto L_028AAF94; L_028AAF94: ; // 0x28aaf94 /* 028AAF94 */ _t17 = cpu->r[10] + 0x00000004u; /* 028AAF94 */ rbrew_write32(cpu->mem, _t17, cpu->r[23]); /* 028AAF98 */ _t18 = cpu->r[10] + 0x00000000u; /* 028AAF98 */ rbrew_write32(cpu->mem, _t18, cpu->r[23]); /* 028AAF9C */ _t19 = cpu->r[22] + 0x00000000u; /* 028AAF9C */ cpu->r[19] = rbrew_read32(cpu->mem, _t19); /* 028AAFA0 */ cpu->r[26] = cpu->r[29] + 0x00000008u; /* 028AAFA4 */ cpu->r[31] = cpu->r[10]; /* 028AAFA8 */ cpu->r[9] = cpu->r[30]; /* 028AAFAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 028AAFB0 */ _t20 = cpu->r[26] + cpu->r[21]; /* 028AAFB0 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]); /* 028AAFB4 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AAFB4 */ _t22 = _t21 & 0x00000001u; /* 028AAFB4 */ if (_t22) goto L_028AAFDC; else goto L_028AAFB8; L_028AAFB8: ; // 0x28aafb8 /* 028AAFB8 */ goto L_028AB060; L_028AAFBC: ; // 0x28aafbc /* 028AAFBC */ cpu->r[10] = 0x00000000u; /* 028AAFC0 */ _t23 = cpu->r[22] + 0x00000000u; /* 028AAFC0 */ cpu->r[19] = rbrew_read32(cpu->mem, _t23); /* 028AAFC4 */ cpu->r[31] = cpu->r[10]; /* 028AAFC8 */ cpu->r[26] = cpu->r[29] + 0x00000008u; /* 028AAFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 028AAFD0 */ cpu->r[9] = cpu->r[30]; /* 028AAFD4 */ _t24 = cpu->r[26] + cpu->r[21]; /* 028AAFD4 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]); /* 028AAFD8 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AAFD8 */ _t26 = _t25 & 0x00000001u; /* 028AAFD8 */ if (_t26) goto L_028AAFDC; else goto L_028AB060; L_028AAFDC: ; // 0x28aafdc /* 028AAFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028AAFE0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AAFE0 */ _t28 = _t27 & 0x00000001u; /* 028AAFE0 */ if (_t28) goto L_028AAFE4; else goto L_028AAFF0; L_028AAFE4: ; // 0x28aafe4 /* 028AAFE4 */ _t29 = cpu->r[24] + 0xFFFF98F0u; /* 028AAFE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29); /* 028AAFE8 */ Gambit_fn_02826F20(cpu); /* 028AAFEC */ cpu->r[9] = cpu->r[3]; L_028AAFF0: ; // 0x28aaff0 /* 028AAFF0 */ _t30 = cpu->r[9] + 0x0000000Cu; /* 028AAFF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 028AAFF4 */ _t31 = cpu->r[5] + 0x00000034u; /* 028AAFF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31); /* 028AAFF8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[19] * (int32_t)0x0000000Cu); /* 028AAFFC */ cpu->ctr = cpu->r[6]; /* 028AB000 */ cpu->r[5] = 0x00000004u; /* 028AB004 */ cpu->r[3] = cpu->r[9]; /* 028AB008 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB00C */ cpu->r[5] = cpu->r[3]; /* 028AB010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 028AB014 */ cpu->r[4] = cpu->r[19]; /* 028AB018 */ cpu->r[0] = 0x00000000u; /* 028AB01C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AB01C */ _t33 = _t32 & 0x00000001u; /* 028AB01C */ if (_t33) goto L_028AB024; else goto L_028AB020; L_028AB020: ; // 0x28ab020 /* 028AB020 */ cpu->r[4] = 0x00000001u; L_028AB024: ; // 0x28ab024 /* 028AB024 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 028AB028 */ cpu->ctr = cpu->r[4]; /* 028AB02C */ cpu->r[7] = 0x00000000u; L_028AB030: ; // 0x28ab030 /* 028AB030 */ cpu->r[8] = cpu->r[5] + cpu->r[6]; /* 028AB030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028AB034 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB034 */ _t35 = _t34 & 0x00000001u; /* 028AB034 */ if (_t35) goto L_028AB044; else goto L_028AB038; L_028AB038: ; // 0x28ab038 /* 028AB038 */ _t36 = cpu->r[8] + 0x00000004u; /* 028AB038 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]); /* 028AB03C */ _t37 = cpu->r[8] + 0x00000000u; /* 028AB03C */ rbrew_write32(cpu->mem, _t37, cpu->r[7]); /* 028AB040 */ _t38 = cpu->r[8] + 0x00000008u; /* 028AB040 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[7]); L_028AB044: ; // 0x28ab044 /* 028AB044 */ cpu->r[6] = cpu->r[6] + 0x0000000Cu; /* 028AB048 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028AB048 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028AB048 */ _t40 = _t39 >> (0x00000002u & 31u); /* 028AB048 */ _t41 = _t40 & 0x00000001u; /* 028AB048 */ if (_t41) goto L_028AB030; else goto L_028AB04C; L_028AB04C: ; // 0x28ab04c /* 028AB04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028AB050 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB050 */ _t43 = _t42 & 0x00000001u; /* 028AB050 */ if (_t43) goto L_028AB05C; else goto L_028AB054; L_028AB054: ; // 0x28ab054 /* 028AB054 */ _t44 = cpu->r[31] + 0x00000004u; /* 028AB054 */ rbrew_write32(cpu->mem, _t44, cpu->r[5]); /* 028AB058 */ _t45 = cpu->r[31] + 0x00000000u; /* 028AB058 */ rbrew_write32(cpu->mem, _t45, cpu->r[19]); L_028AB05C: ; // 0x28ab05c /* 028AB05C */ _t46 = cpu->r[26] + cpu->r[21]; /* 028AB05C */ cpu->r[10] = rbrew_read32(cpu->mem, _t46); L_028AB060: ; // 0x28ab060 /* 028AB060 */ _t47 = cpu->r[10] + 0x00000000u; /* 028AB060 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47); /* 028AB064 */ _t48 = cpu->r[10] + 0x00000004u; /* 028AB064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48); /* 028AB068 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 028AB06C */ cpu->r[26] = cpu->r[31] + cpu->r[10]; /* 028AB070 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[26]); /* 028AB074 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB074 */ _t50 = _t49 & 0x00000001u; /* 028AB074 */ if (_t50) goto L_028AB0A0; else goto L_028AB078; L_028AB078: ; // 0x28ab078 /* 028AB078 */ _t51 = cpu->r[29] + 0x00000000u; /* 028AB078 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51); /* 028AB07C */ _t52 = cpu->r[3] + 0x00000000u; /* 028AB07C */ cpu->r[11] = rbrew_read32(cpu->mem, _t52); /* 028AB080 */ _t53 = cpu->r[11] + 0x00000034u; /* 028AB080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53); /* 028AB084 */ cpu->ctr = cpu->r[12]; /* 028AB088 */ cpu->r[4] = cpu->r[30]; /* 028AB08C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB090 */ _t54 = cpu->r[31] + 0x00000004u; /* 028AB090 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]); /* 028AB094 */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 028AB098 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[26]); /* 028AB09C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB09C */ _t56 = _t55 & 0x00000001u; /* 028AB09C */ if (_t56) goto L_028AB0A0; else goto L_028AB078; L_028AB0A0: ; // 0x28ab0a0 /* 028AB0A0 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu; /* 028AB0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 028AB0A4 */ cpu->r[21] = cpu->r[21] + 0x00000004u; /* 028AB0A8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB0A8 */ _t58 = _t57 & 0x00000001u; /* 028AB0A8 */ if (_t58) goto L_028AB0AC; else goto L_028AAF70; L_028AB0AC: ; // 0x28ab0ac /* 028AB0AC */ _t59 = cpu->r[28] + 0x00000010u; /* 028AB0AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t59); /* 028AB0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB0B4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB0B4 */ _t61 = _t60 & 0x00000001u; /* 028AB0B4 */ if (_t61) goto L_028AB160; else goto L_028AB0B8; L_028AB0B8: ; // 0x28ab0b8 /* 028AB0B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u); /* 028AB0BC */ cpu->r[8] = 0x00000000u; /* 028AB0C0 */ _t62 = cpu->r[25] + 0x00000020u; /* 028AB0C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62); /* 028AB0C4 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AB0C4 */ _t64 = _t63 & 0x00000001u; /* 028AB0C4 */ if (_t64) goto L_028AB0CC; else goto L_028AB0C8; L_028AB0C8: ; // 0x28ab0c8 /* 028AB0C8 */ cpu->r[31] = 0x00000001u; L_028AB0CC: ; // 0x28ab0cc /* 028AB0CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028AB0D0 */ cpu->r[23] = cpu->r[6] + cpu->r[0]; /* 028AB0D4 */ cpu->r[24] = 0x00000000u; /* 028AB0D8 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFF8u; L_028AB0DC: ; // 0x28ab0dc /* 028AB0DC */ _t65 = cpu->r[29] + 0x00000004u; /* 028AB0DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t65); /* 028AB0E0 */ _t66 = cpu->r[23] + 0x00000008u; /* 028AB0E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66); /* 028AB0E0 */ cpu->r[23] = _t66; /* 028AB0E4 */ Gambit_fn_028ACB9C(cpu); /* 028AB0E8 */ cpu->r[26] = cpu->r[3]; /* 028AB0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028AB0EC */ _t67 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB0EC */ _t68 = _t67 & 0x00000001u; /* 028AB0EC */ if (_t68) goto L_028AB158; else goto L_028AB0F0; L_028AB0F0: ; // 0x28ab0f0 /* 028AB0F0 */ _t69 = cpu->r[29] + 0x00000018u; /* 028AB0F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69); /* 028AB0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[7]); /* 028AB0F8 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB0F8 */ _t71 = _t70 & 0x00000001u; /* 028AB0F8 */ if (_t71) goto L_028AB0FC; else goto L_028AB158; L_028AB0FC: ; // 0x28ab0fc /* 028AB0FC */ cpu->r[4] = cpu->r[30]; /* 028AB100 */ cpu->r[3] = 0x00000018u; /* 028AB104 */ cpu->r[5] = 0x00000004u; /* 028AB108 */ Gambit_fn_02801AC8(cpu); /* 028AB10C */ cpu->r[11] = cpu->r[3]; /* 028AB10C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AB110 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB110 */ _t73 = _t72 & 0x00000001u; /* 028AB110 */ if (_t73) goto L_028AB144; else goto L_028AB114; L_028AB114: ; // 0x28ab114 /* 028AB114 */ _t74 = cpu->r[29] + 0x00000004u; /* 028AB114 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74); /* 028AB118 */ _t75 = cpu->r[11] + 0x00000014u; /* 028AB118 */ rbrew_write32(cpu->mem, _t75, cpu->r[24]); /* 028AB11C */ _t76 = cpu->r[11] + 0x00000000u; /* 028AB11C */ rbrew_write32(cpu->mem, _t76, cpu->r[10]); /* 028AB120 */ _t77 = cpu->r[11] + 0x0000000Cu; /* 028AB120 */ rbrew_write32(cpu->mem, _t77, cpu->r[24]); /* 028AB124 */ _t78 = cpu->r[11] + 0x00000010u; /* 028AB124 */ rbrew_write32(cpu->mem, _t78, cpu->r[24]); /* 028AB128 */ _t79 = cpu->r[11] + 0x00000004u; /* 028AB128 */ rbrew_write32(cpu->mem, _t79, cpu->r[24]); /* 028AB12C */ _t80 = cpu->r[11] + 0x00000008u; /* 028AB12C */ rbrew_write32(cpu->mem, _t80, cpu->r[24]); /* 028AB130 */ _t81 = cpu->r[29] + 0x00000014u; /* 028AB130 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81); /* 028AB134 */ cpu->r[8] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB138 */ _t82 = cpu->r[8] + cpu->r[10]; /* 028AB138 */ rbrew_write32(cpu->mem, _t82, cpu->r[11]); /* 028AB13C */ _t83 = cpu->r[11] + 0x00000008u; /* 028AB13C */ rbrew_write32(cpu->mem, _t83, cpu->r[23]); /* 028AB140 */ goto L_028AB158; L_028AB144: ; // 0x28ab144 /* 028AB144 */ _t84 = cpu->r[29] + 0x00000014u; /* 028AB144 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84); /* 028AB148 */ cpu->r[8] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB14C */ cpu->r[11] = 0x00000000u; /* 028AB150 */ _t85 = cpu->r[8] + cpu->r[10]; /* 028AB150 */ rbrew_write32(cpu->mem, _t85, cpu->r[11]); /* 028AB154 */ _t86 = cpu->r[11] + 0x00000008u; /* 028AB154 */ rbrew_write32(cpu->mem, _t86, cpu->r[23]); L_028AB158: ; // 0x28ab158 /* 028AB158 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AB158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB15C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB15C */ _t88 = _t87 & 0x00000001u; /* 028AB15C */ if (_t88) goto L_028AB160; else goto L_028AB0DC; L_028AB160: ; // 0x28ab160 /* 028AB160 */ _t89 = cpu->r[28] + 0x0000001Cu; /* 028AB160 */ cpu->r[31] = rbrew_read32(cpu->mem, _t89); /* 028AB164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB168 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB168 */ _t91 = _t90 & 0x00000001u; /* 028AB168 */ if (_t91) goto L_028AB394; else goto L_028AB16C; L_028AB16C: ; // 0x28ab16c /* 028AB16C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u); /* 028AB170 */ cpu->r[0] = 0x00000000u; /* 028AB174 */ _t92 = cpu->r[25] + 0x0000002Cu; /* 028AB174 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92); /* 028AB178 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AB178 */ _t94 = _t93 & 0x00000001u; /* 028AB178 */ if (_t94) goto L_028AB180; else goto L_028AB17C; L_028AB17C: ; // 0x28ab17c /* 028AB17C */ cpu->r[31] = 0x00000001u; L_028AB180: ; // 0x28ab180 /* 028AB180 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 028AB184 */ cpu->r[23] = 0x00000000u; /* 028AB188 */ cpu->r[24] = 0x00000001u; /* 028AB18C */ cpu->r[22] = cpu->r[11] + cpu->r[12]; L_028AB190: ; // 0x28ab190 /* 028AB190 */ _t95 = cpu->r[22] + 0x00000004u; /* 028AB190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95); /* 028AB194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AB198 */ _t96 = cpu->r[22] + 0x00000000u; /* 028AB198 */ cpu->r[4] = rbrew_read32(cpu->mem, _t96); /* 028AB19C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB19C */ _t98 = _t97 & 0x00000001u; /* 028AB19C */ if (_t98) goto L_028AB2B0; else goto L_028AB1A0; L_028AB1A0: ; // 0x28ab1a0 /* 028AB1A0 */ _t99 = cpu->r[29] + 0x00000000u; /* 028AB1A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99); /* 028AB1A4 */ Gambit_fn_028AA118(cpu); /* 028AB1A8 */ cpu->r[25] = cpu->r[3]; /* 028AB1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028AB1AC */ _t100 = cpu->r[29] + 0x00000000u; /* 028AB1AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t100); /* 028AB1B0 */ _t101 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB1B0 */ _t102 = _t101 & 0x00000001u; /* 028AB1B0 */ if (_t102) goto L_028AB1B4; else goto L_028AB1E0; L_028AB1B4: ; // 0x28ab1b4 /* 028AB1B4 */ cpu->r[6] = 0x10130000u; /* 028AB1B8 */ _t103 = cpu->r[22] + 0x00000000u; /* 028AB1B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103); /* 028AB1BC */ cpu->r[5] = cpu->r[27]; /* 028AB1C0 */ cpu->r[6] = cpu->r[6] + 0x00007EB4u; /* 028AB1C4 */ cpu->r[4] = 0x00000015u; /* 028AB1C8 */ _t104 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB1C8 */ _t105 = _t104 & 0x00000001u; /* 028AB1C8 */ if (_t105) goto L_028AB1CC; // else: addr-0 trap, fall-through L_028AB1CC: ; // 0x28ab1cc /* 028AB1CC */ Gambit_fn_028AA73C(cpu); /* 028AB1D0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AB1D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB1D4 */ cpu->r[22] = cpu->r[22] + 0x00000010u; /* 028AB1D8 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB1D8 */ _t107 = _t106 & 0x00000001u; /* 028AB1D8 */ if (_t107) goto L_028AB1DC; else goto L_028AB190; L_028AB1DC: ; // 0x28ab1dc /* 028AB1DC */ goto L_028AB394; L_028AB1E0: ; // 0x28ab1e0 /* 028AB1E0 */ _t108 = cpu->r[3] + 0x0000002Cu; /* 028AB1E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t108); /* 028AB1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[4]); /* 028AB1E8 */ _t109 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB1E8 */ _t110 = _t109 & 0x00000001u; /* 028AB1E8 */ if (_t110) goto L_028AB1EC; else goto L_028AB284; L_028AB1EC: ; // 0x28ab1ec /* 028AB1EC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x0000000Cu); /* 028AB1F0 */ _t111 = cpu->r[3] + 0x00000034u; /* 028AB1F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t111); /* 028AB1F4 */ cpu->r[4] = cpu->r[30]; /* 028AB1F8 */ cpu->r[3] = 0x00000020u; /* 028AB1FC */ cpu->r[5] = 0x00000004u; /* 028AB200 */ cpu->r[26] = cpu->r[9] + cpu->r[0]; /* 028AB204 */ Gambit_fn_02801AC8(cpu); /* 028AB208 */ cpu->r[12] = cpu->r[3]; /* 028AB208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AB20C */ _t112 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB20C */ _t113 = _t112 & 0x00000001u; /* 028AB20C */ if (_t113) goto L_028AB258; else goto L_028AB210; L_028AB210: ; // 0x28ab210 /* 028AB210 */ _t114 = cpu->r[29] + 0x00000004u; /* 028AB210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114); /* 028AB214 */ _t115 = cpu->r[12] + 0x00000010u; /* 028AB214 */ rbrew_write32(cpu->mem, _t115, cpu->r[23]); /* 028AB218 */ _t116 = cpu->r[12] + 0x00000000u; /* 028AB218 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]); /* 028AB21C */ _t117 = cpu->r[12] + 0x0000000Cu; /* 028AB21C */ rbrew_write32(cpu->mem, _t117, cpu->r[23]); /* 028AB220 */ _t118 = cpu->r[12] + 0x00000004u; /* 028AB220 */ rbrew_write32(cpu->mem, _t118, cpu->r[23]); /* 028AB224 */ _t119 = cpu->r[12] + 0x0000001Cu; /* 028AB224 */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[24]); /* 028AB228 */ cpu->r[11] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB22C */ _t120 = cpu->r[12] + 0x00000008u; /* 028AB22C */ rbrew_write32(cpu->mem, _t120, cpu->r[23]); /* 028AB230 */ _t121 = cpu->r[29] + 0x00000024u; /* 028AB230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121); /* 028AB234 */ cpu->r[3] = cpu->r[12]; /* 028AB238 */ cpu->r[4] = cpu->r[26]; /* 028AB23C */ cpu->r[5] = cpu->r[22]; /* 028AB240 */ _t122 = cpu->r[11] + cpu->r[0]; /* 028AB240 */ rbrew_write32(cpu->mem, _t122, cpu->r[12]); /* 028AB244 */ Gambit_fn_028B7BB4(cpu); /* 028AB248 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AB248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB24C */ cpu->r[22] = cpu->r[22] + 0x00000010u; /* 028AB250 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB250 */ _t124 = _t123 & 0x00000001u; /* 028AB250 */ if (_t124) goto L_028AB254; else goto L_028AB190; L_028AB254: ; // 0x28ab254 /* 028AB254 */ goto L_028AB394; L_028AB258: ; // 0x28ab258 /* 028AB258 */ cpu->r[3] = 0x00000000u; /* 028AB25C */ _t125 = cpu->r[29] + 0x00000024u; /* 028AB25C */ cpu->r[0] = rbrew_read32(cpu->mem, _t125); /* 028AB260 */ cpu->r[11] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB264 */ cpu->r[4] = cpu->r[26]; /* 028AB268 */ cpu->r[5] = cpu->r[22]; /* 028AB26C */ _t126 = cpu->r[11] + cpu->r[0]; /* 028AB26C */ rbrew_write32(cpu->mem, _t126, cpu->r[3]); /* 028AB270 */ Gambit_fn_028B7BB4(cpu); /* 028AB274 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AB274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB278 */ cpu->r[22] = cpu->r[22] + 0x00000010u; /* 028AB27C */ _t127 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB27C */ _t128 = _t127 & 0x00000001u; /* 028AB27C */ if (_t128) goto L_028AB280; else goto L_028AB190; L_028AB280: ; // 0x28ab280 /* 028AB280 */ goto L_028AB394; L_028AB284: ; // 0x28ab284 /* 028AB284 */ cpu->r[6] = 0x10130000u; /* 028AB288 */ _t129 = cpu->r[22] + 0x00000000u; /* 028AB288 */ cpu->r[7] = rbrew_read32(cpu->mem, _t129); /* 028AB28C */ cpu->r[5] = cpu->r[27]; /* 028AB290 */ cpu->r[6] = cpu->r[6] + 0x00007EB4u; /* 028AB294 */ cpu->r[4] = 0x00000015u; /* 028AB298 */ _t130 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB298 */ _t131 = _t130 & 0x00000001u; /* 028AB298 */ if (_t131) goto L_028AB29C; // else: addr-0 trap, fall-through L_028AB29C: ; // 0x28ab29c /* 028AB29C */ Gambit_fn_028AA73C(cpu); /* 028AB2A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AB2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB2A4 */ cpu->r[22] = cpu->r[22] + 0x00000010u; /* 028AB2A8 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB2A8 */ _t133 = _t132 & 0x00000001u; /* 028AB2A8 */ if (_t133) goto L_028AB2AC; else goto L_028AB190; L_028AB2AC: ; // 0x28ab2ac /* 028AB2AC */ goto L_028AB394; L_028AB2B0: ; // 0x28ab2b0 /* 028AB2B0 */ cpu->r[3] = cpu->r[27]; /* 028AB2B4 */ Gambit_fn_028ABC70(cpu); /* 028AB2B8 */ cpu->r[25] = cpu->r[3]; /* 028AB2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028AB2BC */ _t134 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB2BC */ _t135 = _t134 & 0x00000001u; /* 028AB2BC */ if (_t135) goto L_028AB368; else goto L_028AB2C0; L_028AB2C0: ; // 0x28ab2c0 /* 028AB2C0 */ _t136 = cpu->r[29] + 0x0000001Cu; /* 028AB2C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t136); /* 028AB2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[8]); /* 028AB2C8 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB2C8 */ _t138 = _t137 & 0x00000001u; /* 028AB2C8 */ if (_t138) goto L_028AB2CC; else goto L_028AB368; L_028AB2CC: ; // 0x28ab2cc /* 028AB2CC */ _t139 = cpu->r[29] + 0x00000004u; /* 028AB2CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t139); /* 028AB2D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x0000000Cu); /* 028AB2D4 */ _t140 = cpu->r[6] + 0x00000050u; /* 028AB2D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t140); /* 028AB2D8 */ cpu->r[5] = 0x00000004u; /* 028AB2DC */ cpu->r[3] = 0x00000020u; /* 028AB2E0 */ cpu->r[4] = cpu->r[30]; /* 028AB2E4 */ cpu->r[26] = cpu->r[11] + cpu->r[0]; /* 028AB2E8 */ Gambit_fn_02801AC8(cpu); /* 028AB2EC */ cpu->r[9] = cpu->r[3]; /* 028AB2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028AB2F0 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB2F0 */ _t142 = _t141 & 0x00000001u; /* 028AB2F0 */ if (_t142) goto L_028AB33C; else goto L_028AB2F4; L_028AB2F4: ; // 0x28ab2f4 /* 028AB2F4 */ _t143 = cpu->r[29] + 0x00000004u; /* 028AB2F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t143); /* 028AB2F8 */ _t144 = cpu->r[9] + 0x00000010u; /* 028AB2F8 */ rbrew_write32(cpu->mem, _t144, cpu->r[23]); /* 028AB2FC */ _t145 = cpu->r[9] + 0x00000000u; /* 028AB2FC */ rbrew_write32(cpu->mem, _t145, cpu->r[8]); /* 028AB300 */ _t146 = cpu->r[9] + 0x0000000Cu; /* 028AB300 */ rbrew_write32(cpu->mem, _t146, cpu->r[23]); /* 028AB304 */ _t147 = cpu->r[9] + 0x00000004u; /* 028AB304 */ rbrew_write32(cpu->mem, _t147, cpu->r[23]); /* 028AB308 */ _t148 = cpu->r[9] + 0x0000001Cu; /* 028AB308 */ rbrew_write8(cpu->mem, _t148, (uint8_t)cpu->r[24]); /* 028AB30C */ cpu->r[12] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB310 */ _t149 = cpu->r[9] + 0x00000008u; /* 028AB310 */ rbrew_write32(cpu->mem, _t149, cpu->r[23]); /* 028AB314 */ _t150 = cpu->r[29] + 0x00000020u; /* 028AB314 */ cpu->r[5] = rbrew_read32(cpu->mem, _t150); /* 028AB318 */ cpu->r[3] = cpu->r[9]; /* 028AB31C */ cpu->r[4] = cpu->r[26]; /* 028AB320 */ _t151 = cpu->r[12] + cpu->r[5]; /* 028AB320 */ rbrew_write32(cpu->mem, _t151, cpu->r[9]); /* 028AB324 */ cpu->r[5] = cpu->r[22]; /* 028AB328 */ Gambit_fn_028B7BB4(cpu); /* 028AB32C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AB32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB330 */ cpu->r[22] = cpu->r[22] + 0x00000010u; /* 028AB334 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB334 */ _t153 = _t152 & 0x00000001u; /* 028AB334 */ if (_t153) goto L_028AB338; else goto L_028AB190; L_028AB338: ; // 0x28ab338 /* 028AB338 */ goto L_028AB394; L_028AB33C: ; // 0x28ab33c /* 028AB33C */ _t154 = cpu->r[29] + 0x00000020u; /* 028AB33C */ cpu->r[5] = rbrew_read32(cpu->mem, _t154); /* 028AB340 */ cpu->r[12] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB344 */ cpu->r[3] = 0x00000000u; /* 028AB348 */ cpu->r[4] = cpu->r[26]; /* 028AB34C */ _t155 = cpu->r[12] + cpu->r[5]; /* 028AB34C */ rbrew_write32(cpu->mem, _t155, cpu->r[3]); /* 028AB350 */ cpu->r[5] = cpu->r[22]; /* 028AB354 */ Gambit_fn_028B7BB4(cpu); /* 028AB358 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AB358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB35C */ cpu->r[22] = cpu->r[22] + 0x00000010u; /* 028AB360 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB360 */ _t157 = _t156 & 0x00000001u; /* 028AB360 */ if (_t157) goto L_028AB364; else goto L_028AB190; L_028AB364: ; // 0x28ab364 /* 028AB364 */ goto L_028AB394; L_028AB368: ; // 0x28ab368 /* 028AB368 */ _t158 = cpu->r[29] + 0x00000000u; /* 028AB368 */ cpu->r[3] = rbrew_read32(cpu->mem, _t158); /* 028AB36C */ cpu->r[4] = 0x00000015u; /* 028AB370 */ cpu->r[6] = 0x10130000u; /* 028AB374 */ _t159 = cpu->r[22] + 0x00000000u; /* 028AB374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t159); /* 028AB378 */ cpu->r[5] = cpu->r[27]; /* 028AB37C */ cpu->r[6] = cpu->r[6] + 0x00007EC8u; /* 028AB380 */ _t160 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB380 */ _t161 = _t160 & 0x00000001u; /* 028AB380 */ if (_t161) goto L_028AB384; // else: addr-0 trap, fall-through L_028AB384: ; // 0x28ab384 /* 028AB384 */ Gambit_fn_028AA73C(cpu); /* 028AB388 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028AB388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB38C */ cpu->r[22] = cpu->r[22] + 0x00000010u; /* 028AB390 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB390 */ _t163 = _t162 & 0x00000001u; /* 028AB390 */ if (_t163) goto L_028AB394; else goto L_028AB190; L_028AB394: ; // 0x28ab394 /* 028AB394 */ _t164 = cpu->r[28] + 0x00000024u; /* 028AB394 */ cpu->r[7] = rbrew_read32(cpu->mem, _t164); /* 028AB398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028AB39C */ _t165 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB39C */ _t166 = _t165 & 0x00000001u; /* 028AB39C */ if (_t166) goto L_028AB3CC; else goto L_028AB3A0; L_028AB3A0: ; // 0x28ab3a0 /* 028AB3A0 */ cpu->r[4] = cpu->r[30]; /* 028AB3A4 */ cpu->r[3] = 0x00000008u; /* 028AB3A8 */ cpu->r[5] = 0x00000004u; /* 028AB3AC */ Gambit_fn_02801AC8(cpu); /* 028AB3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB3B4 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB3B4 */ _t168 = _t167 & 0x00000001u; /* 028AB3B4 */ if (_t168) goto L_028AB3C8; else goto L_028AB3B8; L_028AB3B8: ; // 0x28ab3b8 /* 028AB3B8 */ cpu->r[0] = 0x00000000u; /* 028AB3BC */ _t169 = cpu->r[29] + 0x00000004u; /* 028AB3BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t169); /* 028AB3C0 */ _t170 = cpu->r[3] + 0x00000004u; /* 028AB3C0 */ rbrew_write32(cpu->mem, _t170, cpu->r[0]); /* 028AB3C4 */ _t171 = cpu->r[3] + 0x00000000u; /* 028AB3C4 */ rbrew_write32(cpu->mem, _t171, cpu->r[9]); L_028AB3C8: ; // 0x28ab3c8 /* 028AB3C8 */ _t172 = cpu->r[29] + 0x00000028u; /* 028AB3C8 */ rbrew_write32(cpu->mem, _t172, cpu->r[3]); L_028AB3CC: ; // 0x28ab3cc /* 028AB3CC */ cpu->r[3] = cpu->r[29]; /* 028AB3D0 */ Gambit_fn_028AAE1C(cpu); /* 028AB3D4 */ /* nop */ /* 028AB3D8 */ _t173 = cpu->r[1] + 0x0000004Cu; /* 028AB3D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t173); /* 028AB3DC */ cpu->lr = cpu->r[0]; /* 028AB3E0 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 028AB3E4 */ return; } // fn_028AB474 @ 0x28ab474 void Gambit_fn_028AB474(CPUState* 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_028AB474: ; // 0x28ab474 /* 028AB474 */ _t0 = cpu->r[3] + 0x00000024u; /* 028AB474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 028AB478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AB47C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB47C */ _t2 = _t1 & 0x00000001u; /* 028AB47C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028AB47C */ goto L_028AB480; L_028AB480: ; // 0x28ab480 /* 028AB480 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB484 */ _t3 = cpu->r[12] + cpu->r[0]; /* 028AB484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 028AB488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB48C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB48C */ _t5 = _t4 & 0x00000001u; /* 028AB48C */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028AB48C */ goto L_028AB490; L_028AB490: ; // 0x28ab490 /* 028AB490 */ goto L_028B7C60; L_028B7C60: ; // 0x28b7c60 /* 028B7C60 */ cpu->r[0] = cpu->lr; /* 028B7C64 */ _t6 = cpu->r[1] + 0xFFFFFFF0u; /* 028B7C64 */ rbrew_write32(cpu->mem, _t6, cpu->r[1]); /* 028B7C64 */ cpu->r[1] = _t6; /* 028B7C68 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028B7C68 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 028B7C6C */ cpu->r[31] = cpu->r[3]; /* 028B7C70 */ _t8 = cpu->r[1] + 0x00000014u; /* 028B7C70 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 028B7C74 */ _t9 = cpu->r[31] + 0x00000016u; /* 028B7C74 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 028B7C78 */ _t10 = cpu->r[31] + 0x00000014u; /* 028B7C78 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 028B7C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028B7C80 */ cpu->r[3] = cpu->r[31] + cpu->r[11]; /* 028B7C84 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028B7C84 */ _t12 = _t11 & 0x00000001u; /* 028B7C84 */ if (_t12) goto L_028B7C88; else goto L_028B7CA0; L_028B7C88: ; // 0x28b7c88 /* 028B7C88 */ _t13 = cpu->r[31] + 0x00000018u; /* 028B7C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028B7C8C */ cpu->ctr = cpu->r[0]; /* 028B7C90 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028B7C94 */ cpu->r[12] = 0x00000000u; /* 028B7C98 */ _t14 = cpu->r[31] + 0x0000001Cu; /* 028B7C98 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]); /* 028B7C9C */ goto L_028B7CC4; L_028B7CA0: ; // 0x28b7ca0 /* 028B7CA0 */ _t15 = cpu->r[31] + 0x0000001Au; /* 028B7CA0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 028B7CA4 */ _t16 = cpu->r[3] + cpu->r[11]; /* 028B7CA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 028B7CA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028B7CAC */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 028B7CB0 */ _t17 = cpu->r[12] + 0x00000004u; /* 028B7CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028B7CB4 */ cpu->ctr = cpu->r[0]; /* 028B7CB8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028B7CBC */ cpu->r[12] = 0x00000000u; /* 028B7CC0 */ _t18 = cpu->r[31] + 0x0000001Cu; /* 028B7CC0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]); L_028B7CC4: ; // 0x28b7cc4 /* 028B7CC4 */ _t19 = cpu->r[1] + 0x00000014u; /* 028B7CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028B7CC8 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 028B7CC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 028B7CCC */ cpu->lr = cpu->r[0]; /* 028B7CD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028B7CD4 */ return; } // fn_028AB494 @ 0x28ab494 void Gambit_fn_028AB494(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028AB494: ; // 0x28ab494 /* 028AB494 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 028AB494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB494 */ cpu->r[1] = _t0; /* 028AB498 */ cpu->r[0] = cpu->lr; /* 028AB49C */ /* nop */ /* 028AB4A0 */ cpu->r[30] = cpu->r[4]; /* 028AB4A4 */ cpu->r[25] = cpu->r[5]; /* 028AB4A8 */ cpu->r[26] = cpu->r[6]; /* 028AB4AC */ _t1 = cpu->r[1] + 0x00000034u; /* 028AB4AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028AB4B0 */ cpu->r[29] = cpu->r[3]; /* 028AB4B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028AB4B4 */ cpu->r[31] = cpu->r[7]; /* 028AB4B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB4B8 */ _t3 = _t2 & 0x00000001u; /* 028AB4B8 */ if (_t3) goto L_028AB4BC; else goto L_028AB4CC; L_028AB4BC: ; // 0x28ab4bc /* 028AB4BC */ cpu->r[3] = 0x00000050u; /* 028AB4C0 */ Gambit_fn_02801A78(cpu); /* 028AB4C4 */ cpu->r[29] = cpu->r[3]; /* 028AB4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028AB4C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB4C8 */ _t5 = _t4 & 0x00000001u; /* 028AB4C8 */ if (_t5) goto L_028AB6E0; else goto L_028AB4CC; L_028AB4CC: ; // 0x28ab4cc /* 028AB4CC */ cpu->r[27] = 0x00000000u; /* 028AB4D0 */ cpu->r[11] = 0x10130000u; /* 028AB4D4 */ _t6 = cpu->r[29] + 0x00000000u; /* 028AB4D4 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]); /* 028AB4D8 */ cpu->r[11] = cpu->r[11] + 0x00007F90u; /* 028AB4DC */ _t7 = cpu->r[29] + 0x00000004u; /* 028AB4DC */ rbrew_write32(cpu->mem, _t7, cpu->r[27]); /* 028AB4E0 */ cpu->r[28] = cpu->r[29] + 0x00000010u; /* 028AB4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028AB4E4 */ _t8 = cpu->r[29] + 0x00000048u; /* 028AB4E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 028AB4E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB4E8 */ _t10 = _t9 & 0x00000001u; /* 028AB4E8 */ if (_t10) goto L_028AB4EC; else goto L_028AB4FC; L_028AB4EC: ; // 0x28ab4ec /* 028AB4EC */ cpu->r[3] = 0x00000010u; /* 028AB4F0 */ Gambit_fn_02801A78(cpu); /* 028AB4F4 */ cpu->r[28] = cpu->r[3]; /* 028AB4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028AB4F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB4F8 */ _t12 = _t11 & 0x00000001u; /* 028AB4F8 */ if (_t12) goto L_028AB528; else goto L_028AB4FC; L_028AB4FC: ; // 0x28ab4fc /* 028AB4FC */ cpu->r[3] = cpu->r[28]; /* 028AB4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB500 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB500 */ _t14 = _t13 & 0x00000001u; /* 028AB500 */ if (_t14) goto L_028AB504; else goto L_028AB514; L_028AB504: ; // 0x28ab504 /* 028AB504 */ cpu->r[3] = 0x0000000Cu; /* 028AB508 */ Gambit_fn_02801A78(cpu); /* 028AB50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB510 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB510 */ _t16 = _t15 & 0x00000001u; /* 028AB510 */ if (_t16) goto L_028AB520; else goto L_028AB514; L_028AB514: ; // 0x28ab514 /* 028AB514 */ _t17 = cpu->r[3] + 0x00000004u; /* 028AB514 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 028AB518 */ _t18 = cpu->r[3] + 0x00000008u; /* 028AB518 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]); /* 028AB51C */ _t19 = cpu->r[3] + 0x00000000u; /* 028AB51C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]); L_028AB520: ; // 0x28ab520 /* 028AB520 */ cpu->r[12] = 0xFFFFFFFFu; /* 028AB524 */ _t20 = cpu->r[28] + 0x0000000Cu; /* 028AB524 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]); L_028AB528: ; // 0x28ab528 /* 028AB528 */ _t21 = cpu->r[29] + 0x00000020u; /* 028AB528 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]); /* 028AB52C */ cpu->r[3] = cpu->r[29] + 0x00000028u; /* 028AB52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB530 */ _t22 = cpu->r[29] + 0x00000024u; /* 028AB530 */ rbrew_write32(cpu->mem, _t22, cpu->r[26]); /* 028AB534 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB534 */ _t24 = _t23 & 0x00000001u; /* 028AB534 */ if (_t24) goto L_028AB538; else goto L_028AB548; L_028AB538: ; // 0x28ab538 /* 028AB538 */ cpu->r[3] = 0x00000008u; /* 028AB53C */ Gambit_fn_02801A78(cpu); /* 028AB540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB544 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB544 */ _t26 = _t25 & 0x00000001u; /* 028AB544 */ if (_t26) goto L_028AB554; else goto L_028AB548; L_028AB548: ; // 0x28ab548 /* 028AB548 */ cpu->r[0] = 0x00000000u; /* 028AB54C */ _t27 = cpu->r[3] + 0x00000000u; /* 028AB54C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]); /* 028AB550 */ _t28 = cpu->r[3] + 0x00000004u; /* 028AB550 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); L_028AB554: ; // 0x28ab554 /* 028AB554 */ _t29 = cpu->r[29] + 0x00000030u; /* 028AB554 */ rbrew_write32(cpu->mem, _t29, cpu->r[27]); /* 028AB558 */ cpu->r[0] = 0xFFFFFFFFu; /* 028AB55C */ _t30 = cpu->r[29] + 0x00000034u; /* 028AB55C */ rbrew_write32(cpu->mem, _t30, cpu->r[27]); /* 028AB560 */ _t31 = cpu->r[29] + 0x00000038u; /* 028AB560 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]); /* 028AB564 */ _t32 = cpu->r[29] + 0x0000003Cu; /* 028AB564 */ rbrew_write32(cpu->mem, _t32, cpu->r[27]); /* 028AB568 */ _t33 = cpu->r[29] + 0x00000044u; /* 028AB568 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]); /* 028AB56C */ _t34 = cpu->r[29] + 0x0000001Cu; /* 028AB56C */ rbrew_write32(cpu->mem, _t34, cpu->r[27]); /* 028AB570 */ _t35 = cpu->r[26] + 0x00000018u; /* 028AB570 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35); /* 028AB574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028AB578 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AB578 */ _t37 = _t36 & 0x00000001u; /* 028AB578 */ if (_t37) goto L_028AB57C; else goto L_028AB6B8; L_028AB57C: ; // 0x28ab57c /* 028AB57C */ cpu->r[3] = cpu->r[28]; /* 028AB580 */ cpu->r[4] = cpu->r[25]; /* 028AB584 */ cpu->r[5] = 0x00000004u; /* 028AB588 */ Gambit_fn_02801ADC(cpu); /* 028AB58C */ cpu->r[31] = 0x10110000u; /* 028AB590 */ _t38 = cpu->r[29] + 0x00000040u; /* 028AB590 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]); /* 028AB594 */ _t39 = cpu->r[31] + 0x00007399u; /* 028AB594 */ cpu->r[31] = rbrew_read8(cpu->mem, _t39); /* 028AB598 */ cpu->r[8] = cpu->r[3] + cpu->r[28]; /* 028AB59C */ cpu->r[0] = 0x10130000u; /* 028AB5A0 */ _t40 = cpu->r[8] + 0xFFFFFFFFu; /* 028AB5A0 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]); /* 028AB5A4 */ cpu->r[0] = cpu->r[0] + 0x00007EF0u; /* 028AB5A8 */ cpu->r[27] = cpu->r[3]; /* 028AB5AC */ _t41 = cpu->r[1] + 0x0000000Cu; /* 028AB5AC */ rbrew_write32(cpu->mem, _t41, cpu->r[0]); /* 028AB5B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028AB5B4 */ _t42 = cpu->r[1] + 0x00000008u; /* 028AB5B4 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]); /* 028AB5B8 */ Gambit_fn_028ABDD8(cpu); /* 028AB5BC */ _t43 = cpu->r[1] + 0x00000008u; /* 028AB5BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t43); /* 028AB5C0 */ _t44 = cpu->r[7] + 0x00000000u; /* 028AB5C0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t44); /* 028AB5C4 */ cpu->r[30] = 0x00000000u; /* 028AB5C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]); /* 028AB5CC */ cpu->r[8] = 0x00080000u; /* 028AB5D0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB5D0 */ _t46 = _t45 & 0x00000001u; /* 028AB5D0 */ if (_t46) goto L_028AB654; else goto L_028AB5D4; L_028AB5D4: ; // 0x28ab5d4 /* 028AB5D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028AB5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]); /* 028AB5DC */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028AB5E0 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u); /* 028AB5E0 */ _t48 = _t47 & 0x00000001u; /* 028AB5E0 */ if (_t48) goto L_028AB5FC; else goto L_028AB5E4; L_028AB5E4: ; // 0x28ab5e4 /* 028AB5E4 */ _t49 = cpu->r[7] + 0x00000000u; /* 028AB5E4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t49); /* 028AB5E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]); /* 028AB5EC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB5EC */ _t51 = _t50 & 0x00000001u; /* 028AB5EC */ if (_t51) goto L_028AB5F0; else goto L_028AB5D4; L_028AB5F0: ; // 0x28ab5f0 /* 028AB5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[28]); /* 028AB5F4 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB5F4 */ _t53 = _t52 & 0x00000001u; /* 028AB5F4 */ if (_t53) goto L_028AB5F8; else goto L_028AB65C; L_028AB5F8: ; // 0x28ab5f8 /* 028AB5F8 */ goto L_028AB660; L_028AB5FC: ; // 0x28ab5fc /* 028AB5FC */ _t54 = cpu->r[1] + 0x0000000Cu; /* 028AB5FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t54); /* 028AB600 */ _t55 = cpu->r[12] + 0x00000014u; /* 028AB600 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55); /* 028AB604 */ cpu->ctr = cpu->r[5]; /* 028AB608 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028AB60C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB610 */ cpu->r[5] = 0x00000000u; /* 028AB614 */ cpu->r[3] = cpu->r[27]; /* 028AB618 */ _t56 = cpu->r[1] + 0x00000008u; /* 028AB618 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56); /* 028AB61C */ cpu->r[6] = cpu->r[5]; /* 028AB620 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028AB624 */ _t57 = cpu->r[27] + 0x00000000u; /* 028AB624 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[31]); /* 028AB628 */ _t58 = cpu->r[29] + 0x00000040u; /* 028AB628 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58); /* 028AB62C */ _t59 = cpu->r[29] + 0x00000008u; /* 028AB62C */ rbrew_write32(cpu->mem, _t59, cpu->r[30]); /* 028AB630 */ _t60 = cpu->r[26] + 0x00000000u; /* 028AB630 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60); /* 028AB634 */ _t61 = cpu->r[6] + 0x0000002Cu; /* 028AB634 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61); /* 028AB638 */ cpu->ctr = cpu->r[9]; /* 028AB63C */ cpu->r[3] = cpu->r[26]; /* 028AB640 */ cpu->r[4] = cpu->r[29]; /* 028AB644 */ cpu->r[5] = cpu->r[25]; /* 028AB648 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB64C */ _t62 = cpu->r[29] + 0x0000000Cu; /* 028AB64C */ rbrew_write32(cpu->mem, _t62, cpu->r[3]); /* 028AB650 */ goto L_028AB6E0; L_028AB654: ; // 0x28ab654 /* 028AB654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[28]); /* 028AB658 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB658 */ _t64 = _t63 & 0x00000001u; /* 028AB658 */ if (_t64) goto L_028AB660; else goto L_028AB65C; L_028AB65C: ; // 0x28ab65c /* 028AB65C */ cpu->r[30] = cpu->r[28] + 0xFFFFFFFFu; L_028AB660: ; // 0x28ab660 /* 028AB660 */ _t65 = cpu->r[1] + 0x0000000Cu; /* 028AB660 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65); /* 028AB664 */ _t66 = cpu->r[12] + 0x00000014u; /* 028AB664 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 028AB668 */ cpu->ctr = cpu->r[5]; /* 028AB66C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 028AB670 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB674 */ _t67 = cpu->r[1] + 0x00000008u; /* 028AB674 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67); /* 028AB678 */ cpu->r[6] = 0x00000000u; /* 028AB67C */ cpu->r[5] = cpu->r[30]; /* 028AB680 */ cpu->r[3] = cpu->r[27]; /* 028AB684 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 028AB688 */ _t68 = cpu->r[27] + cpu->r[30]; /* 028AB688 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[31]); /* 028AB68C */ _t69 = cpu->r[29] + 0x00000040u; /* 028AB68C */ cpu->r[30] = rbrew_read32(cpu->mem, _t69); /* 028AB690 */ _t70 = cpu->r[29] + 0x00000008u; /* 028AB690 */ rbrew_write32(cpu->mem, _t70, cpu->r[30]); /* 028AB694 */ _t71 = cpu->r[26] + 0x00000000u; /* 028AB694 */ cpu->r[6] = rbrew_read32(cpu->mem, _t71); /* 028AB698 */ _t72 = cpu->r[6] + 0x0000002Cu; /* 028AB698 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72); /* 028AB69C */ cpu->ctr = cpu->r[9]; /* 028AB6A0 */ cpu->r[3] = cpu->r[26]; /* 028AB6A4 */ cpu->r[4] = cpu->r[29]; /* 028AB6A8 */ cpu->r[5] = cpu->r[25]; /* 028AB6AC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB6B0 */ _t73 = cpu->r[29] + 0x0000000Cu; /* 028AB6B0 */ rbrew_write32(cpu->mem, _t73, cpu->r[3]); /* 028AB6B4 */ goto L_028AB6E0; L_028AB6B8: ; // 0x28ab6b8 /* 028AB6B8 */ _t74 = cpu->r[29] + 0x00000008u; /* 028AB6B8 */ rbrew_write32(cpu->mem, _t74, cpu->r[30]); /* 028AB6BC */ _t75 = cpu->r[29] + 0x00000040u; /* 028AB6BC */ rbrew_write32(cpu->mem, _t75, cpu->r[27]); /* 028AB6C0 */ _t76 = cpu->r[26] + 0x00000000u; /* 028AB6C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76); /* 028AB6C4 */ _t77 = cpu->r[6] + 0x0000002Cu; /* 028AB6C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77); /* 028AB6C8 */ cpu->ctr = cpu->r[9]; /* 028AB6CC */ cpu->r[3] = cpu->r[26]; /* 028AB6D0 */ cpu->r[4] = cpu->r[29]; /* 028AB6D4 */ cpu->r[5] = cpu->r[25]; /* 028AB6D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB6DC */ _t78 = cpu->r[29] + 0x0000000Cu; /* 028AB6DC */ rbrew_write32(cpu->mem, _t78, cpu->r[3]); L_028AB6E0: ; // 0x28ab6e0 /* 028AB6E0 */ cpu->r[3] = cpu->r[29]; /* 028AB6E4 */ /* nop */ /* 028AB6E8 */ _t79 = cpu->r[1] + 0x00000034u; /* 028AB6E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79); /* 028AB6EC */ cpu->lr = cpu->r[0]; /* 028AB6F0 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 028AB6F4 */ return; } // fn_028AB6F8 @ 0x28ab6f8 void Gambit_fn_028AB6F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028AB6F8: ; // 0x28ab6f8 /* 028AB6F8 */ cpu->r[0] = cpu->lr; /* 028AB6FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AB6FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB6FC */ cpu->r[1] = _t0; /* 028AB700 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AB700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AB704 */ _t2 = cpu->r[1] + 0x00000008u; /* 028AB704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AB708 */ cpu->r[31] = cpu->r[3]; /* 028AB70C */ _t3 = cpu->r[1] + 0x00000014u; /* 028AB70C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AB710 */ _t4 = cpu->r[31] + 0x00000034u; /* 028AB710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028AB714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB718 */ cpu->r[30] = 0x00000000u; /* 028AB71C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB71C */ _t6 = _t5 & 0x00000001u; /* 028AB71C */ if (_t6) goto L_028AB728; else goto L_028AB720; L_028AB720: ; // 0x28ab720 /* 028AB720 */ Gambit_fn_02801BB4(cpu); /* 028AB724 */ _t7 = cpu->r[31] + 0x00000034u; /* 028AB724 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); L_028AB728: ; // 0x28ab728 /* 028AB728 */ _t8 = cpu->r[31] + 0x00000030u; /* 028AB728 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 028AB72C */ _t9 = cpu->r[1] + 0x00000014u; /* 028AB72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028AB730 */ _t10 = cpu->r[1] + 0x00000008u; /* 028AB730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028AB734 */ cpu->lr = cpu->r[0]; /* 028AB738 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028AB738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028AB73C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AB740 */ return; } // fn_028AB6FC @ 0x28ab6fc void Gambit_fn_028AB6FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028AB6FC: ; // 0x28ab6fc /* 028AB6FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AB6FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB6FC */ cpu->r[1] = _t0; /* 028AB700 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AB700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AB704 */ _t2 = cpu->r[1] + 0x00000008u; /* 028AB704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AB708 */ cpu->r[31] = cpu->r[3]; /* 028AB70C */ _t3 = cpu->r[1] + 0x00000014u; /* 028AB70C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AB710 */ _t4 = cpu->r[31] + 0x00000034u; /* 028AB710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 028AB714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB718 */ cpu->r[30] = 0x00000000u; /* 028AB71C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB71C */ _t6 = _t5 & 0x00000001u; /* 028AB71C */ if (_t6) goto L_028AB728; else goto L_028AB720; L_028AB720: ; // 0x28ab720 /* 028AB720 */ Gambit_fn_02801BB4(cpu); /* 028AB724 */ _t7 = cpu->r[31] + 0x00000034u; /* 028AB724 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); L_028AB728: ; // 0x28ab728 /* 028AB728 */ _t8 = cpu->r[31] + 0x00000030u; /* 028AB728 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 028AB72C */ _t9 = cpu->r[1] + 0x00000014u; /* 028AB72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028AB730 */ _t10 = cpu->r[1] + 0x00000008u; /* 028AB730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 028AB734 */ cpu->lr = cpu->r[0]; /* 028AB738 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028AB738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 028AB73C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AB740 */ return; } // fn_028AB744 @ 0x28ab744 void Gambit_fn_028AB744(CPUState* cpu) { uint32_t _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_028AB744: ; // 0x28ab744 /* 028AB744 */ cpu->r[0] = cpu->lr; /* 028AB748 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AB748 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB748 */ cpu->r[1] = _t0; /* 028AB74C */ _t1 = cpu->r[1] + 0x00000008u; /* 028AB74C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AB750 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AB750 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AB754 */ cpu->r[31] = cpu->r[3]; /* 028AB754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB758 */ cpu->r[30] = cpu->r[4]; /* 028AB75C */ _t3 = cpu->r[1] + 0x00000014u; /* 028AB75C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AB760 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB760 */ _t5 = _t4 & 0x00000001u; /* 028AB760 */ if (_t5) goto L_028AB7D0; else goto L_028AB764; L_028AB764: ; // 0x28ab764 /* 028AB764 */ _t6 = cpu->r[31] + 0x0000003Cu; /* 028AB764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028AB768 */ cpu->r[11] = 0x10130000u; /* 028AB76C */ cpu->r[11] = cpu->r[11] + 0x00007F90u; /* 028AB770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB774 */ _t7 = cpu->r[31] + 0x00000048u; /* 028AB774 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 028AB778 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB778 */ _t9 = _t8 & 0x00000001u; /* 028AB778 */ if (_t9) goto L_028AB780; else goto L_028AB77C; L_028AB77C: ; // 0x28ab77c /* 028AB77C */ Gambit_fn_02801BB4(cpu); L_028AB780: ; // 0x28ab780 /* 028AB780 */ _t10 = cpu->r[31] + 0x00000040u; /* 028AB780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 028AB784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB788 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB788 */ _t12 = _t11 & 0x00000001u; /* 028AB788 */ if (_t12) goto L_028AB790; else goto L_028AB78C; L_028AB78C: ; // 0x28ab78c /* 028AB78C */ Gambit_fn_02801BB0(cpu); L_028AB790: ; // 0x28ab790 /* 028AB790 */ cpu->r[3] = cpu->r[31]; /* 028AB794 */ Gambit_fn_028AB6F8(cpu); /* 028AB798 */ _t13 = cpu->r[31] + 0x0000000Cu; /* 028AB798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 028AB79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB7A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB7A0 */ _t15 = _t14 & 0x00000001u; /* 028AB7A0 */ if (_t15) goto L_028AB7C0; else goto L_028AB7A4; L_028AB7A4: ; // 0x28ab7a4 /* 028AB7A4 */ _t16 = cpu->r[3] + 0x00000060u; /* 028AB7A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 028AB7A8 */ _t17 = cpu->r[12] + 0x0000000Cu; /* 028AB7A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028AB7AC */ cpu->ctr = cpu->r[0]; /* 028AB7B0 */ cpu->r[4] = 0x00000003u; /* 028AB7B4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB7B8 */ cpu->r[9] = 0x00000000u; /* 028AB7BC */ _t18 = cpu->r[31] + 0x0000000Cu; /* 028AB7BC */ rbrew_write32(cpu->mem, _t18, cpu->r[9]); L_028AB7C0: ; // 0x28ab7c0 /* 028AB7C0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028AB7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AB7C4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB7C4 */ _t20 = _t19 & 0x00000001u; /* 028AB7C4 */ if (_t20) goto L_028AB7D0; else goto L_028AB7C8; L_028AB7C8: ; // 0x28ab7c8 /* 028AB7C8 */ cpu->r[3] = cpu->r[31]; /* 028AB7CC */ Gambit_fn_02801BB0(cpu); L_028AB7D0: ; // 0x28ab7d0 /* 028AB7D0 */ _t21 = cpu->r[1] + 0x00000014u; /* 028AB7D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AB7D4 */ _t22 = cpu->r[1] + 0x00000008u; /* 028AB7D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 028AB7D8 */ cpu->lr = cpu->r[0]; /* 028AB7DC */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028AB7DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 028AB7E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AB7E4 */ return; } // fn_028AB748 @ 0x28ab748 void Gambit_fn_028AB748(CPUState* cpu) { uint32_t _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_028AB748: ; // 0x28ab748 /* 028AB748 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AB748 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB748 */ cpu->r[1] = _t0; /* 028AB74C */ _t1 = cpu->r[1] + 0x00000008u; /* 028AB74C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AB750 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AB750 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AB754 */ cpu->r[31] = cpu->r[3]; /* 028AB754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB758 */ cpu->r[30] = cpu->r[4]; /* 028AB75C */ _t3 = cpu->r[1] + 0x00000014u; /* 028AB75C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AB760 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB760 */ _t5 = _t4 & 0x00000001u; /* 028AB760 */ if (_t5) goto L_028AB7D0; else goto L_028AB764; L_028AB764: ; // 0x28ab764 /* 028AB764 */ _t6 = cpu->r[31] + 0x0000003Cu; /* 028AB764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028AB768 */ cpu->r[11] = 0x10130000u; /* 028AB76C */ cpu->r[11] = cpu->r[11] + 0x00007F90u; /* 028AB770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB774 */ _t7 = cpu->r[31] + 0x00000048u; /* 028AB774 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 028AB778 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB778 */ _t9 = _t8 & 0x00000001u; /* 028AB778 */ if (_t9) goto L_028AB780; else goto L_028AB77C; L_028AB77C: ; // 0x28ab77c /* 028AB77C */ Gambit_fn_02801BB4(cpu); L_028AB780: ; // 0x28ab780 /* 028AB780 */ _t10 = cpu->r[31] + 0x00000040u; /* 028AB780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 028AB784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB788 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB788 */ _t12 = _t11 & 0x00000001u; /* 028AB788 */ if (_t12) goto L_028AB790; else goto L_028AB78C; L_028AB78C: ; // 0x28ab78c /* 028AB78C */ Gambit_fn_02801BB0(cpu); L_028AB790: ; // 0x28ab790 /* 028AB790 */ cpu->r[3] = cpu->r[31]; /* 028AB794 */ Gambit_fn_028AB6F8(cpu); /* 028AB798 */ _t13 = cpu->r[31] + 0x0000000Cu; /* 028AB798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 028AB79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028AB7A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB7A0 */ _t15 = _t14 & 0x00000001u; /* 028AB7A0 */ if (_t15) goto L_028AB7C0; else goto L_028AB7A4; L_028AB7A4: ; // 0x28ab7a4 /* 028AB7A4 */ _t16 = cpu->r[3] + 0x00000060u; /* 028AB7A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 028AB7A8 */ _t17 = cpu->r[12] + 0x0000000Cu; /* 028AB7A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028AB7AC */ cpu->ctr = cpu->r[0]; /* 028AB7B0 */ cpu->r[4] = 0x00000003u; /* 028AB7B4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AB7B8 */ cpu->r[9] = 0x00000000u; /* 028AB7BC */ _t18 = cpu->r[31] + 0x0000000Cu; /* 028AB7BC */ rbrew_write32(cpu->mem, _t18, cpu->r[9]); L_028AB7C0: ; // 0x28ab7c0 /* 028AB7C0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028AB7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028AB7C4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB7C4 */ _t20 = _t19 & 0x00000001u; /* 028AB7C4 */ if (_t20) goto L_028AB7D0; else goto L_028AB7C8; L_028AB7C8: ; // 0x28ab7c8 /* 028AB7C8 */ cpu->r[3] = cpu->r[31]; /* 028AB7CC */ Gambit_fn_02801BB0(cpu); L_028AB7D0: ; // 0x28ab7d0 /* 028AB7D0 */ _t21 = cpu->r[1] + 0x00000014u; /* 028AB7D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AB7D4 */ _t22 = cpu->r[1] + 0x00000008u; /* 028AB7D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 028AB7D8 */ cpu->lr = cpu->r[0]; /* 028AB7DC */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028AB7DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 028AB7E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AB7E4 */ return; } // fn_028AB7E8 @ 0x28ab7e8 void Gambit_fn_028AB7E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_028AB7E8: ; // 0x28ab7e8 /* 028AB7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028AB7EC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB7EC */ _t1 = _t0 & 0x00000001u; /* 028AB7EC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028AB7EC */ goto L_028AB7F0; L_028AB7F0: ; // 0x28ab7f0 /* 028AB7F0 */ _t2 = cpu->r[3] + 0x0000003Cu; /* 028AB7F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]); /* 028AB7F4 */ _t3 = cpu->r[3] + 0x00000038u; /* 028AB7F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]); /* 028AB7F8 */ return; } // fn_028AB7FC @ 0x28ab7fc void Gambit_fn_028AB7FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_028AB7FC: ; // 0x28ab7fc /* 028AB7FC */ _t0 = cpu->r[3] + 0x00000038u; /* 028AB7FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 028AB800 */ cpu->r[12] = 0x00000000u; /* 028AB804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 028AB808 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB808 */ _t2 = _t1 & 0x00000001u; /* 028AB808 */ if (_t2) goto L_028AB80C; else goto L_028AB850; L_028AB80C: ; // 0x28ab80c /* 028AB80C */ _t3 = cpu->r[3] + 0x0000003Cu; /* 028AB80C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 028AB810 */ cpu->r[9] = 0x00000000u; L_028AB814: ; // 0x28ab814 /* 028AB814 */ _t4 = cpu->r[10] + cpu->r[9]; /* 028AB814 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 028AB818 */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFFu; /* 028AB81C */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFFu; L_028AB820: ; // 0x28ab820 /* 028AB820 */ _t5 = cpu->r[11] + 0x00000001u; /* 028AB820 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5); /* 028AB820 */ cpu->r[11] = _t5; /* 028AB824 */ _t6 = cpu->r[5] + 0x00000001u; /* 028AB824 */ cpu->r[7] = rbrew_read8(cpu->mem, _t6); /* 028AB824 */ cpu->r[5] = _t6; /* 028AB828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 028AB82C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB82C */ _t8 = _t7 & 0x00000001u; /* 028AB82C */ if (_t8) goto L_028AB830; else goto L_028AB838; L_028AB830: ; // 0x28ab830 /* 028AB830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000000u); /* 028AB834 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB834 */ _t10 = _t9 & 0x00000001u; /* 028AB834 */ if (_t10) goto L_028AB838; else goto L_028AB820; L_028AB838: ; // 0x28ab838 /* 028AB838 */ cpu->r[8] = cpu->r[6] - cpu->r[7]; /* 028AB838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028AB83C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB83C */ _t12 = _t11 & 0x00000001u; /* 028AB83C */ if (_t12) goto L_028AB854; else goto L_028AB840; L_028AB840: ; // 0x28ab840 /* 028AB840 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028AB844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 028AB848 */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 028AB84C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB84C */ _t14 = _t13 & 0x00000001u; /* 028AB84C */ if (_t14) goto L_028AB814; else goto L_028AB850; L_028AB850: ; // 0x28ab850 /* 028AB850 */ cpu->r[12] = 0xFFFFFFFFu; L_028AB854: ; // 0x28ab854 /* 028AB854 */ cpu->r[3] = cpu->r[12]; /* 028AB858 */ return; } // fn_028AB85C @ 0x28ab85c void Gambit_fn_028AB85C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028AB85C: ; // 0x28ab85c /* 028AB85C */ cpu->r[0] = cpu->lr; /* 028AB860 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AB860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB860 */ cpu->r[1] = _t0; /* 028AB864 */ _t1 = cpu->r[1] + 0x00000008u; /* 028AB864 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AB868 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AB868 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AB86C */ cpu->r[31] = cpu->r[4]; /* 028AB86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB870 */ cpu->r[30] = cpu->r[3]; /* 028AB874 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AB874 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AB878 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB878 */ _t5 = _t4 & 0x00000001u; /* 028AB878 */ if (_t5) goto L_028AB8C0; else goto L_028AB87C; L_028AB87C: ; // 0x28ab87c /* 028AB87C */ _t6 = cpu->r[30] + 0x00000020u; /* 028AB87C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 028AB880 */ cpu->r[5] = 0x00000004u; /* 028AB884 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB888 */ Gambit_fn_02801ADC(cpu); /* 028AB88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB890 */ cpu->r[11] = cpu->r[31]; /* 028AB894 */ _t7 = cpu->r[30] + 0x00000034u; /* 028AB894 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]); /* 028AB898 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB898 */ _t9 = _t8 & 0x00000001u; /* 028AB898 */ if (_t9) goto L_028AB8BC; else goto L_028AB89C; L_028AB89C: ; // 0x28ab89c /* 028AB89C */ cpu->r[12] = 0x00000000u; /* 028AB8A0 */ cpu->r[0] = cpu->r[12]; L_028AB8A4: ; // 0x28ab8a4 /* 028AB8A4 */ _t10 = cpu->r[3] + cpu->r[12]; /* 028AB8A4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 028AB8A8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028AB8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AB8AC */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028AB8B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB8B0 */ _t12 = _t11 & 0x00000001u; /* 028AB8B0 */ if (_t12) goto L_028AB8BC; else goto L_028AB8B4; L_028AB8B4: ; // 0x28ab8b4 /* 028AB8B4 */ _t13 = cpu->r[30] + 0x00000034u; /* 028AB8B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 028AB8B8 */ goto L_028AB8A4; L_028AB8BC: ; // 0x28ab8bc /* 028AB8BC */ _t14 = cpu->r[30] + 0x00000030u; /* 028AB8BC */ rbrew_write32(cpu->mem, _t14, cpu->r[31]); L_028AB8C0: ; // 0x28ab8c0 /* 028AB8C0 */ _t15 = cpu->r[1] + 0x00000014u; /* 028AB8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028AB8C4 */ _t16 = cpu->r[1] + 0x00000008u; /* 028AB8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 028AB8C8 */ cpu->lr = cpu->r[0]; /* 028AB8CC */ _t17 = cpu->r[1] + 0x0000000Cu; /* 028AB8CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 028AB8D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AB8D4 */ return; } // fn_028AB860 @ 0x28ab860 void Gambit_fn_028AB860(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028AB860: ; // 0x28ab860 /* 028AB860 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AB860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB860 */ cpu->r[1] = _t0; /* 028AB864 */ _t1 = cpu->r[1] + 0x00000008u; /* 028AB864 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AB868 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AB868 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AB86C */ cpu->r[31] = cpu->r[4]; /* 028AB86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB870 */ cpu->r[30] = cpu->r[3]; /* 028AB874 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AB874 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AB878 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB878 */ _t5 = _t4 & 0x00000001u; /* 028AB878 */ if (_t5) goto L_028AB8C0; else goto L_028AB87C; L_028AB87C: ; // 0x28ab87c /* 028AB87C */ _t6 = cpu->r[30] + 0x00000020u; /* 028AB87C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 028AB880 */ cpu->r[5] = 0x00000004u; /* 028AB884 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB888 */ Gambit_fn_02801ADC(cpu); /* 028AB88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB890 */ cpu->r[11] = cpu->r[31]; /* 028AB894 */ _t7 = cpu->r[30] + 0x00000034u; /* 028AB894 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]); /* 028AB898 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB898 */ _t9 = _t8 & 0x00000001u; /* 028AB898 */ if (_t9) goto L_028AB8BC; else goto L_028AB89C; L_028AB89C: ; // 0x28ab89c /* 028AB89C */ cpu->r[12] = 0x00000000u; /* 028AB8A0 */ cpu->r[0] = cpu->r[12]; L_028AB8A4: ; // 0x28ab8a4 /* 028AB8A4 */ _t10 = cpu->r[3] + cpu->r[12]; /* 028AB8A4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 028AB8A8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028AB8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AB8AC */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028AB8B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB8B0 */ _t12 = _t11 & 0x00000001u; /* 028AB8B0 */ if (_t12) goto L_028AB8BC; else goto L_028AB8B4; L_028AB8B4: ; // 0x28ab8b4 /* 028AB8B4 */ _t13 = cpu->r[30] + 0x00000034u; /* 028AB8B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 028AB8B8 */ goto L_028AB8A4; L_028AB8BC: ; // 0x28ab8bc /* 028AB8BC */ _t14 = cpu->r[30] + 0x00000030u; /* 028AB8BC */ rbrew_write32(cpu->mem, _t14, cpu->r[31]); L_028AB8C0: ; // 0x28ab8c0 /* 028AB8C0 */ _t15 = cpu->r[1] + 0x00000014u; /* 028AB8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028AB8C4 */ _t16 = cpu->r[1] + 0x00000008u; /* 028AB8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 028AB8C8 */ cpu->lr = cpu->r[0]; /* 028AB8CC */ _t17 = cpu->r[1] + 0x0000000Cu; /* 028AB8CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 028AB8D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AB8D4 */ return; } // fn_028AB8D8 @ 0x28ab8d8 void Gambit_fn_028AB8D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028AB8D8: ; // 0x28ab8d8 /* 028AB8D8 */ cpu->r[0] = cpu->lr; /* 028AB8DC */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 028AB8DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB8DC */ cpu->r[1] = _t0; /* 028AB8E0 */ _t1 = cpu->r[1] + 0x00000030u; /* 028AB8E0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028AB8E4 */ /* nop */ /* 028AB8E8 */ _t2 = cpu->r[1] + 0x00000038u; /* 028AB8E8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028AB8EC */ _t3 = cpu->r[1] + 0x00000044u; /* 028AB8EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AB8F0 */ /* nop */ /* 028AB8F4 */ cpu->r[28] = cpu->r[5]; /* 028AB8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028AB8F8 */ cpu->r[27] = cpu->r[4]; /* 028AB8FC */ cpu->r[25] = cpu->r[3]; /* 028AB900 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB900 */ _t5 = _t4 & 0x00000001u; /* 028AB900 */ if (_t5) goto L_028AB904; else goto L_028AB944; L_028AB904: ; // 0x28ab904 /* 028AB904 */ cpu->r[6] = 0x10130000u; /* 028AB908 */ _t6 = cpu->r[25] + 0x00000024u; /* 028AB908 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028AB90C */ cpu->r[5] = cpu->r[25]; /* 028AB910 */ cpu->r[7] = cpu->r[27]; /* 028AB914 */ cpu->r[6] = cpu->r[6] + 0x00007F58u; /* 028AB918 */ cpu->r[4] = 0x00000018u; /* 028AB91C */ _t7 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB91C */ _t8 = _t7 & 0x00000001u; /* 028AB91C */ if (_t8) goto L_028AB920; // else: addr-0 trap, fall-through L_028AB920: ; // 0x28ab920 /* 028AB920 */ Gambit_fn_028AA73C(cpu); /* 028AB924 */ /* nop */ /* 028AB928 */ _t9 = cpu->r[1] + 0x00000038u; /* 028AB928 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9); /* 028AB92C */ _t10 = cpu->r[1] + 0x00000030u; /* 028AB92C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t10); /* 028AB930 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB930 */ _t12 = _t11 & 0x00000001u; /* 028AB930 */ if (_t12) goto L_028AB934; // else: addr-0 trap, fall-through L_028AB934: ; // 0x28ab934 /* 028AB934 */ _t13 = cpu->r[1] + 0x00000044u; /* 028AB934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028AB938 */ cpu->lr = cpu->r[0]; /* 028AB93C */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028AB940 */ return; L_028AB944: ; // 0x28ab944 /* 028AB944 */ _t14 = cpu->r[25] + 0x00000030u; /* 028AB944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028AB948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AB94C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB94C */ _t16 = _t15 & 0x00000001u; /* 028AB94C */ if (_t16) goto L_028AB950; else goto L_028AB98C; L_028AB950: ; // 0x28ab950 /* 028AB950 */ cpu->r[6] = 0x10130000u; /* 028AB954 */ _t17 = cpu->r[25] + 0x00000024u; /* 028AB954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 028AB958 */ cpu->r[5] = cpu->r[25]; /* 028AB95C */ cpu->r[6] = cpu->r[6] + 0x00007F74u; /* 028AB960 */ cpu->r[4] = 0x00000018u; /* 028AB964 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB964 */ _t19 = _t18 & 0x00000001u; /* 028AB964 */ if (_t19) goto L_028AB968; // else: addr-0 trap, fall-through L_028AB968: ; // 0x28ab968 /* 028AB968 */ Gambit_fn_028AA73C(cpu); /* 028AB96C */ /* nop */ /* 028AB970 */ _t20 = cpu->r[1] + 0x00000038u; /* 028AB970 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t20); /* 028AB974 */ _t21 = cpu->r[1] + 0x00000030u; /* 028AB974 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21); /* 028AB978 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB978 */ _t23 = _t22 & 0x00000001u; /* 028AB978 */ if (_t23) goto L_028AB97C; // else: addr-0 trap, fall-through L_028AB97C: ; // 0x28ab97c /* 028AB97C */ _t24 = cpu->r[1] + 0x00000044u; /* 028AB97C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028AB980 */ cpu->lr = cpu->r[0]; /* 028AB984 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028AB988 */ return; L_028AB98C: ; // 0x28ab98c /* 028AB98C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[12]); /* 028AB990 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB990 */ _t26 = _t25 & 0x00000001u; /* 028AB990 */ if (_t26) goto L_028AB9D8; else goto L_028AB994; L_028AB994: ; // 0x28ab994 /* 028AB994 */ cpu->r[6] = 0x10130000u; /* 028AB998 */ _t27 = cpu->r[25] + 0x00000024u; /* 028AB998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27); /* 028AB99C */ cpu->r[5] = cpu->r[25]; /* 028AB9A0 */ cpu->r[7] = cpu->r[27]; /* 028AB9A4 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu; /* 028AB9A8 */ cpu->r[6] = cpu->r[6] + 0x00007F24u; /* 028AB9AC */ cpu->r[4] = 0x00000018u; /* 028AB9B0 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB9B0 */ _t29 = _t28 & 0x00000001u; /* 028AB9B0 */ if (_t29) goto L_028AB9B4; // else: addr-0 trap, fall-through L_028AB9B4: ; // 0x28ab9b4 /* 028AB9B4 */ Gambit_fn_028AA73C(cpu); /* 028AB9B8 */ /* nop */ /* 028AB9BC */ _t30 = cpu->r[1] + 0x00000038u; /* 028AB9BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30); /* 028AB9C0 */ _t31 = cpu->r[1] + 0x00000030u; /* 028AB9C0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31); /* 028AB9C4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB9C4 */ _t33 = _t32 & 0x00000001u; /* 028AB9C4 */ if (_t33) goto L_028AB9C8; // else: addr-0 trap, fall-through L_028AB9C8: ; // 0x28ab9c8 /* 028AB9C8 */ _t34 = cpu->r[1] + 0x00000044u; /* 028AB9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 028AB9CC */ cpu->lr = cpu->r[0]; /* 028AB9D0 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028AB9D4 */ return; L_028AB9D8: ; // 0x28ab9d8 /* 028AB9D8 */ _t35 = cpu->r[25] + 0x00000034u; /* 028AB9D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 028AB9DC */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB9E0 */ _t36 = cpu->r[11] + cpu->r[24]; /* 028AB9E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36); /* 028AB9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB9E8 */ cpu->r[30] = 0x10110000u; /* 028AB9EC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB9EC */ _t38 = _t37 & 0x00000001u; /* 028AB9EC */ if (_t38) goto L_028ABA80; else goto L_028AB9F0; L_028AB9F0: ; // 0x28ab9f0 /* 028AB9F0 */ _t39 = cpu->r[31] + 0x00000004u; /* 028AB9F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); /* 028AB9F4 */ _t40 = cpu->r[10] + 0x00000014u; /* 028AB9F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40); /* 028AB9F8 */ cpu->ctr = cpu->r[11]; /* 028AB9FC */ cpu->r[3] = cpu->r[31]; /* 028ABA00 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABA04 */ _t41 = cpu->r[31] + 0x00000004u; /* 028ABA04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41); /* 028ABA08 */ _t42 = cpu->r[12] + 0x00000014u; /* 028ABA08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028ABA0C */ cpu->ctr = cpu->r[0]; /* 028ABA10 */ cpu->r[3] = cpu->r[31]; /* 028ABA14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABA18 */ _t43 = cpu->r[28] + 0x00000004u; /* 028ABA18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43); /* 028ABA1C */ _t44 = cpu->r[4] + 0x00000014u; /* 028ABA1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t44); /* 028ABA20 */ cpu->ctr = cpu->r[5]; /* 028ABA24 */ _t45 = cpu->r[31] + 0x00000000u; /* 028ABA24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45); /* 028ABA28 */ cpu->r[3] = cpu->r[28]; /* 028ABA2C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABA30 */ _t46 = cpu->r[28] + 0x00000000u; /* 028ABA30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t46); /* 028ABA34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[6]); /* 028ABA38 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABA38 */ _t48 = _t47 & 0x00000001u; /* 028ABA38 */ if (_t48) goto L_028ABC50; else goto L_028ABA3C; L_028ABA3C: ; // 0x28aba3c /* 028ABA3C */ _t49 = cpu->r[31] + 0x00000000u; /* 028ABA3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t49); /* 028ABA40 */ cpu->r[0] = 0x00080000u; /* 028ABA44 */ _t50 = cpu->r[28] + 0x00000000u; /* 028ABA44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50); /* 028ABA48 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 028ABA4C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028ABA50 */ cpu->ctr = cpu->r[0]; /* 028ABA54 */ _t51 = cpu->r[30] + 0x00007399u; /* 028ABA54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51); /* 028ABA58 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; L_028ABA5C: ; // 0x28aba5c /* 028ABA5C */ _t52 = cpu->r[10] + 0x00000001u; /* 028ABA5C */ cpu->r[8] = rbrew_read8(cpu->mem, _t52); /* 028ABA5C */ cpu->r[10] = _t52; /* 028ABA60 */ _t53 = cpu->r[9] + 0x00000001u; /* 028ABA60 */ cpu->r[7] = rbrew_read8(cpu->mem, _t53); /* 028ABA60 */ cpu->r[9] = _t53; /* 028ABA64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]); /* 028ABA68 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABA68 */ _t55 = _t54 & 0x00000001u; /* 028ABA68 */ if (_t55) goto L_028ABA6C; else goto L_028ABA78; L_028ABA6C: ; // 0x28aba6c /* 028ABA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 028ABA70 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABA70 */ _t57 = _t56 & 0x00000001u; /* 028ABA70 */ if (_t57) goto L_028ABC50; else goto L_028ABA74; L_028ABA74: ; // 0x28aba74 /* 028ABA74 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028ABA74 */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028ABA74 */ _t59 = _t58 >> (0x00000002u & 31u); /* 028ABA74 */ _t60 = _t59 & 0x00000001u; /* 028ABA74 */ if (_t60) goto L_028ABA5C; else goto L_028ABA78; L_028ABA78: ; // 0x28aba78 /* 028ABA78 */ _t61 = cpu->r[25] + 0x00000034u; /* 028ABA78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t61); /* 028ABA7C */ _t62 = cpu->r[25] + 0x00000030u; /* 028ABA7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); L_028ABA80: ; // 0x28aba80 /* 028ABA80 */ cpu->r[23] = 0x00000000u; /* 028ABA84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]); /* 028ABA88 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABA88 */ _t64 = _t63 & 0x00000001u; /* 028ABA88 */ if (_t64) goto L_028ABA8C; else goto L_028ABBA4; L_028ABA8C: ; // 0x28aba8c /* 028ABA8C */ cpu->r[29] = 0x00080000u; /* 028ABA90 */ _t65 = cpu->r[30] + 0x00007399u; /* 028ABA90 */ cpu->r[31] = rbrew_read8(cpu->mem, _t65); /* 028ABA94 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028ABA98 */ cpu->r[26] = 0x00000000u; L_028ABA9C: ; // 0x28aba9c /* 028ABA9C */ _t66 = cpu->r[11] + cpu->r[26]; /* 028ABA9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t66); /* 028ABAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028ABAA4 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABAA4 */ _t68 = _t67 & 0x00000001u; /* 028ABAA4 */ if (_t68) goto L_028ABB94; else goto L_028ABAA8; L_028ABAA8: ; // 0x28abaa8 /* 028ABAA8 */ _t69 = cpu->r[30] + 0x00000004u; /* 028ABAA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69); /* 028ABAAC */ _t70 = cpu->r[8] + 0x00000014u; /* 028ABAAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t70); /* 028ABAB0 */ cpu->ctr = cpu->r[9]; /* 028ABAB4 */ cpu->r[3] = cpu->r[30]; /* 028ABAB8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABABC */ _t71 = cpu->r[30] + 0x00000004u; /* 028ABABC */ cpu->r[11] = rbrew_read32(cpu->mem, _t71); /* 028ABAC0 */ _t72 = cpu->r[11] + 0x00000014u; /* 028ABAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 028ABAC4 */ cpu->ctr = cpu->r[0]; /* 028ABAC8 */ cpu->r[3] = cpu->r[30]; /* 028ABACC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABAD0 */ _t73 = cpu->r[28] + 0x00000004u; /* 028ABAD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73); /* 028ABAD4 */ _t74 = cpu->r[4] + 0x00000014u; /* 028ABAD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74); /* 028ABAD8 */ cpu->ctr = cpu->r[5]; /* 028ABADC */ _t75 = cpu->r[30] + 0x00000000u; /* 028ABADC */ cpu->r[22] = rbrew_read32(cpu->mem, _t75); /* 028ABAE0 */ cpu->r[3] = cpu->r[28]; /* 028ABAE4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABAE8 */ _t76 = cpu->r[28] + 0x00000000u; /* 028ABAE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76); /* 028ABAEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[6]); /* 028ABAF0 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABAF0 */ _t78 = _t77 & 0x00000001u; /* 028ABAF0 */ if (_t78) goto L_028ABB40; else goto L_028ABAF4; L_028ABAF4: ; // 0x28abaf4 /* 028ABAF4 */ _t79 = cpu->r[30] + 0x00000000u; /* 028ABAF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t79); /* 028ABAF8 */ _t80 = cpu->r[28] + 0x00000000u; /* 028ABAF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80); /* 028ABAFC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028ABB00 */ cpu->ctr = cpu->r[29]; /* 028ABB04 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; L_028ABB08: ; // 0x28abb08 /* 028ABB08 */ _t81 = cpu->r[7] + 0x00000001u; /* 028ABB08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t81); /* 028ABB08 */ cpu->r[7] = _t81; /* 028ABB0C */ _t82 = cpu->r[6] + 0x00000001u; /* 028ABB0C */ cpu->r[8] = rbrew_read8(cpu->mem, _t82); /* 028ABB0C */ cpu->r[6] = _t82; /* 028ABB10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 028ABB14 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABB14 */ _t84 = _t83 & 0x00000001u; /* 028ABB14 */ if (_t84) goto L_028ABB18; else goto L_028ABB24; L_028ABB18: ; // 0x28abb18 /* 028ABB18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 028ABB1C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABB1C */ _t86 = _t85 & 0x00000001u; /* 028ABB1C */ if (_t86) goto L_028ABB40; else goto L_028ABB20; L_028ABB20: ; // 0x28abb20 /* 028ABB20 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028ABB20 */ _t87 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028ABB20 */ _t88 = _t87 >> (0x00000002u & 31u); /* 028ABB20 */ _t89 = _t88 & 0x00000001u; /* 028ABB20 */ if (_t89) goto L_028ABB08; else goto L_028ABB24; L_028ABB24: ; // 0x28abb24 /* 028ABB24 */ _t90 = cpu->r[25] + 0x00000030u; /* 028ABB24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90); /* 028ABB28 */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 028ABB2C */ cpu->r[26] = cpu->r[26] + 0x00000004u; /* 028ABB30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]); /* 028ABB34 */ _t91 = cpu->r[25] + 0x00000034u; /* 028ABB34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t91); /* 028ABB38 */ _t92 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABB38 */ _t93 = _t92 & 0x00000001u; /* 028ABB38 */ if (_t93) goto L_028ABA9C; else goto L_028ABB3C; L_028ABB3C: ; // 0x28abb3c /* 028ABB3C */ goto L_028ABBA4; L_028ABB40: ; // 0x28abb40 /* 028ABB40 */ _t94 = cpu->r[28] + 0x00000004u; /* 028ABB40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t94); /* 028ABB44 */ _t95 = cpu->r[9] + 0x00000014u; /* 028ABB44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95); /* 028ABB48 */ cpu->ctr = cpu->r[10]; /* 028ABB4C */ cpu->r[3] = cpu->r[28]; /* 028ABB50 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABB54 */ _t96 = cpu->r[25] + 0x00000024u; /* 028ABB54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96); /* 028ABB58 */ cpu->r[4] = 0x00000018u; /* 028ABB5C */ cpu->r[6] = 0x10130000u; /* 028ABB60 */ _t97 = cpu->r[28] + 0x00000000u; /* 028ABB60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t97); /* 028ABB64 */ cpu->r[5] = cpu->r[25]; /* 028ABB68 */ cpu->r[6] = cpu->r[6] + 0x00007F44u; /* 028ABB6C */ _t98 = cpu->cr[1] >> (0x00000001u & 31u); /* 028ABB6C */ _t99 = _t98 & 0x00000001u; /* 028ABB6C */ if (_t99) goto L_028ABB70; // else: addr-0 trap, fall-through L_028ABB70: ; // 0x28abb70 /* 028ABB70 */ Gambit_fn_028AA73C(cpu); /* 028ABB74 */ /* nop */ /* 028ABB78 */ _t100 = cpu->r[1] + 0x00000038u; /* 028ABB78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t100); /* 028ABB7C */ _t101 = cpu->r[1] + 0x00000030u; /* 028ABB7C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t101); /* 028ABB80 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABB80 */ _t103 = _t102 & 0x00000001u; /* 028ABB80 */ if (_t103) goto L_028ABB84; // else: addr-0 trap, fall-through L_028ABB84: ; // 0x28abb84 /* 028ABB84 */ _t104 = cpu->r[1] + 0x00000044u; /* 028ABB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104); /* 028ABB88 */ cpu->lr = cpu->r[0]; /* 028ABB8C */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028ABB90 */ return; L_028ABB94: ; // 0x28abb94 /* 028ABB94 */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 028ABB98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]); /* 028ABB9C */ cpu->r[26] = cpu->r[26] + 0x00000004u; /* 028ABBA0 */ _t105 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABBA0 */ _t106 = _t105 & 0x00000001u; /* 028ABBA0 */ if (_t106) goto L_028ABA9C; else goto L_028ABBA4; L_028ABBA4: ; // 0x28abba4 /* 028ABBA4 */ _t107 = cpu->r[11] + cpu->r[24]; /* 028ABBA4 */ rbrew_write32(cpu->mem, _t107, cpu->r[28]); /* 028ABBA8 */ _t108 = cpu->r[25] + 0x0000001Cu; /* 028ABBA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t108); /* 028ABBAC */ cpu->r[12] = cpu->r[25] + 0x00000010u; /* 028ABBB0 */ _t109 = cpu->r[25] + 0x00000014u; /* 028ABBB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t109); /* 028ABBB4 */ cpu->r[30] = cpu->r[12] - cpu->r[31]; /* 028ABBB8 */ cpu->r[29] = cpu->r[11] - cpu->r[31]; /* 028ABBBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028ABBC0 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABBC0 */ _t111 = _t110 & 0x00000001u; /* 028ABBC0 */ if (_t111) goto L_028ABC50; else goto L_028ABBC4; L_028ABBC4: ; // 0x28abbc4 /* 028ABBC4 */ cpu->r[7] = 0x10130000u; /* 028ABBC8 */ _t112 = cpu->r[7] + 0x00007F20u; /* 028ABBC8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t112); L_028ABBCC: ; // 0x28abbcc /* 028ABBCC */ cpu->r[5] = cpu->r[28]; /* 028ABBD0 */ cpu->r[4] = cpu->r[27]; /* 028ABBD4 */ cpu->r[3] = cpu->r[29]; /* 028ABBD8 */ Gambit_fn_028ABE0C(cpu); /* 028ABBDC */ _t113 = cpu->r[28] + 0x0000004Cu; /* 028ABBDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t113); /* 028ABBE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u); /* 028ABBE4 */ _t114 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABBE4 */ _t115 = _t114 & 0x00000001u; /* 028ABBE4 */ if (_t115) goto L_028ABC04; else goto L_028ABBE8; L_028ABBE8: ; // 0x28abbe8 /* 028ABBE8 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABBE8 */ _t117 = _t116 & 0x00000001u; /* 028ABBE8 */ if (_t117) goto L_028ABC2C; else goto L_028ABBEC; L_028ABBEC: ; // 0x28abbec /* 028ABBEC */ cpu->r[10] = cpu->r[29] + cpu->r[31]; /* 028ABBF0 */ _t118 = cpu->r[10] + 0x00000004u; /* 028ABBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118); /* 028ABBF4 */ cpu->r[29] = cpu->r[0] - cpu->r[31]; /* 028ABBF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028ABBFC */ _t119 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABBFC */ _t120 = _t119 & 0x00000001u; /* 028ABBFC */ if (_t120) goto L_028ABC00; else goto L_028ABBCC; L_028ABC00: ; // 0x28abc00 /* 028ABC00 */ goto L_028ABC50; L_028ABC04: ; // 0x28abc04 /* 028ABC04 */ cpu->r[5] = 0x00000000u; /* 028ABC08 */ cpu->r[4] = cpu->r[27]; /* 028ABC0C */ cpu->r[3] = cpu->r[29]; /* 028ABC10 */ Gambit_fn_028AC3E4(cpu); /* 028ABC14 */ cpu->r[10] = cpu->r[29] + cpu->r[31]; /* 028ABC18 */ _t121 = cpu->r[10] + 0x00000004u; /* 028ABC18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121); /* 028ABC1C */ cpu->r[29] = cpu->r[0] - cpu->r[31]; /* 028ABC20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028ABC24 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABC24 */ _t123 = _t122 & 0x00000001u; /* 028ABC24 */ if (_t123) goto L_028ABC28; else goto L_028ABBCC; L_028ABC28: ; // 0x28abc28 /* 028ABC28 */ goto L_028ABC50; L_028ABC2C: ; // 0x28abc2c /* 028ABC2C */ cpu->f[1] = cpu->f[31]; /* 028ABC30 */ cpu->r[3] = cpu->r[29]; /* 028ABC34 */ cpu->r[4] = cpu->r[27]; /* 028ABC38 */ Gambit_fn_028AC498(cpu); /* 028ABC3C */ cpu->r[10] = cpu->r[29] + cpu->r[31]; /* 028ABC40 */ _t124 = cpu->r[10] + 0x00000004u; /* 028ABC40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 028ABC44 */ cpu->r[29] = cpu->r[0] - cpu->r[31]; /* 028ABC48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028ABC4C */ _t125 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABC4C */ _t126 = _t125 & 0x00000001u; /* 028ABC4C */ if (_t126) goto L_028ABC50; else goto L_028ABBCC; L_028ABC50: ; // 0x28abc50 /* 028ABC50 */ /* nop */ /* 028ABC54 */ _t127 = cpu->r[1] + 0x00000038u; /* 028ABC54 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t127); /* 028ABC58 */ _t128 = cpu->r[1] + 0x00000030u; /* 028ABC58 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t128); /* 028ABC5C */ _t129 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABC5C */ _t130 = _t129 & 0x00000001u; /* 028ABC5C */ if (_t130) goto L_028ABC60; // else: addr-0 trap, fall-through L_028ABC60: ; // 0x28abc60 /* 028ABC60 */ _t131 = cpu->r[1] + 0x00000044u; /* 028ABC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131); /* 028ABC64 */ cpu->lr = cpu->r[0]; /* 028ABC68 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028ABC6C */ return; } // fn_028AB8DC @ 0x28ab8dc void Gambit_fn_028AB8DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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; L_028AB8DC: ; // 0x28ab8dc /* 028AB8DC */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 028AB8DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AB8DC */ cpu->r[1] = _t0; /* 028AB8E0 */ _t1 = cpu->r[1] + 0x00000030u; /* 028AB8E0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028AB8E4 */ /* nop */ /* 028AB8E8 */ _t2 = cpu->r[1] + 0x00000038u; /* 028AB8E8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028AB8EC */ _t3 = cpu->r[1] + 0x00000044u; /* 028AB8EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AB8F0 */ /* nop */ /* 028AB8F4 */ cpu->r[28] = cpu->r[5]; /* 028AB8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028AB8F8 */ cpu->r[27] = cpu->r[4]; /* 028AB8FC */ cpu->r[25] = cpu->r[3]; /* 028AB900 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB900 */ _t5 = _t4 & 0x00000001u; /* 028AB900 */ if (_t5) goto L_028AB904; else goto L_028AB944; L_028AB904: ; // 0x28ab904 /* 028AB904 */ cpu->r[6] = 0x10130000u; /* 028AB908 */ _t6 = cpu->r[25] + 0x00000024u; /* 028AB908 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028AB90C */ cpu->r[5] = cpu->r[25]; /* 028AB910 */ cpu->r[7] = cpu->r[27]; /* 028AB914 */ cpu->r[6] = cpu->r[6] + 0x00007F58u; /* 028AB918 */ cpu->r[4] = 0x00000018u; /* 028AB91C */ _t7 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB91C */ _t8 = _t7 & 0x00000001u; /* 028AB91C */ if (_t8) goto L_028AB920; // else: addr-0 trap, fall-through L_028AB920: ; // 0x28ab920 /* 028AB920 */ Gambit_fn_028AA73C(cpu); /* 028AB924 */ /* nop */ /* 028AB928 */ _t9 = cpu->r[1] + 0x00000038u; /* 028AB928 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9); /* 028AB92C */ _t10 = cpu->r[1] + 0x00000030u; /* 028AB92C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t10); /* 028AB930 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB930 */ _t12 = _t11 & 0x00000001u; /* 028AB930 */ if (_t12) goto L_028AB934; // else: addr-0 trap, fall-through L_028AB934: ; // 0x28ab934 /* 028AB934 */ _t13 = cpu->r[1] + 0x00000044u; /* 028AB934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028AB938 */ cpu->lr = cpu->r[0]; /* 028AB93C */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028AB940 */ return; L_028AB944: ; // 0x28ab944 /* 028AB944 */ _t14 = cpu->r[25] + 0x00000030u; /* 028AB944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028AB948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028AB94C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB94C */ _t16 = _t15 & 0x00000001u; /* 028AB94C */ if (_t16) goto L_028AB950; else goto L_028AB98C; L_028AB950: ; // 0x28ab950 /* 028AB950 */ cpu->r[6] = 0x10130000u; /* 028AB954 */ _t17 = cpu->r[25] + 0x00000024u; /* 028AB954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 028AB958 */ cpu->r[5] = cpu->r[25]; /* 028AB95C */ cpu->r[6] = cpu->r[6] + 0x00007F74u; /* 028AB960 */ cpu->r[4] = 0x00000018u; /* 028AB964 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB964 */ _t19 = _t18 & 0x00000001u; /* 028AB964 */ if (_t19) goto L_028AB968; // else: addr-0 trap, fall-through L_028AB968: ; // 0x28ab968 /* 028AB968 */ Gambit_fn_028AA73C(cpu); /* 028AB96C */ /* nop */ /* 028AB970 */ _t20 = cpu->r[1] + 0x00000038u; /* 028AB970 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t20); /* 028AB974 */ _t21 = cpu->r[1] + 0x00000030u; /* 028AB974 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21); /* 028AB978 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB978 */ _t23 = _t22 & 0x00000001u; /* 028AB978 */ if (_t23) goto L_028AB97C; // else: addr-0 trap, fall-through L_028AB97C: ; // 0x28ab97c /* 028AB97C */ _t24 = cpu->r[1] + 0x00000044u; /* 028AB97C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028AB980 */ cpu->lr = cpu->r[0]; /* 028AB984 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028AB988 */ return; L_028AB98C: ; // 0x28ab98c /* 028AB98C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[12]); /* 028AB990 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB990 */ _t26 = _t25 & 0x00000001u; /* 028AB990 */ if (_t26) goto L_028AB9D8; else goto L_028AB994; L_028AB994: ; // 0x28ab994 /* 028AB994 */ cpu->r[6] = 0x10130000u; /* 028AB998 */ _t27 = cpu->r[25] + 0x00000024u; /* 028AB998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27); /* 028AB99C */ cpu->r[5] = cpu->r[25]; /* 028AB9A0 */ cpu->r[7] = cpu->r[27]; /* 028AB9A4 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu; /* 028AB9A8 */ cpu->r[6] = cpu->r[6] + 0x00007F24u; /* 028AB9AC */ cpu->r[4] = 0x00000018u; /* 028AB9B0 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u); /* 028AB9B0 */ _t29 = _t28 & 0x00000001u; /* 028AB9B0 */ if (_t29) goto L_028AB9B4; // else: addr-0 trap, fall-through L_028AB9B4: ; // 0x28ab9b4 /* 028AB9B4 */ Gambit_fn_028AA73C(cpu); /* 028AB9B8 */ /* nop */ /* 028AB9BC */ _t30 = cpu->r[1] + 0x00000038u; /* 028AB9BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30); /* 028AB9C0 */ _t31 = cpu->r[1] + 0x00000030u; /* 028AB9C0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31); /* 028AB9C4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AB9C4 */ _t33 = _t32 & 0x00000001u; /* 028AB9C4 */ if (_t33) goto L_028AB9C8; // else: addr-0 trap, fall-through L_028AB9C8: ; // 0x28ab9c8 /* 028AB9C8 */ _t34 = cpu->r[1] + 0x00000044u; /* 028AB9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 028AB9CC */ cpu->lr = cpu->r[0]; /* 028AB9D0 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028AB9D4 */ return; L_028AB9D8: ; // 0x28ab9d8 /* 028AB9D8 */ _t35 = cpu->r[25] + 0x00000034u; /* 028AB9D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 028AB9DC */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028AB9E0 */ _t36 = cpu->r[11] + cpu->r[24]; /* 028AB9E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36); /* 028AB9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028AB9E8 */ cpu->r[30] = 0x10110000u; /* 028AB9EC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AB9EC */ _t38 = _t37 & 0x00000001u; /* 028AB9EC */ if (_t38) goto L_028ABA80; else goto L_028AB9F0; L_028AB9F0: ; // 0x28ab9f0 /* 028AB9F0 */ _t39 = cpu->r[31] + 0x00000004u; /* 028AB9F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); /* 028AB9F4 */ _t40 = cpu->r[10] + 0x00000014u; /* 028AB9F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40); /* 028AB9F8 */ cpu->ctr = cpu->r[11]; /* 028AB9FC */ cpu->r[3] = cpu->r[31]; /* 028ABA00 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABA04 */ _t41 = cpu->r[31] + 0x00000004u; /* 028ABA04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41); /* 028ABA08 */ _t42 = cpu->r[12] + 0x00000014u; /* 028ABA08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028ABA0C */ cpu->ctr = cpu->r[0]; /* 028ABA10 */ cpu->r[3] = cpu->r[31]; /* 028ABA14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABA18 */ _t43 = cpu->r[28] + 0x00000004u; /* 028ABA18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43); /* 028ABA1C */ _t44 = cpu->r[4] + 0x00000014u; /* 028ABA1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t44); /* 028ABA20 */ cpu->ctr = cpu->r[5]; /* 028ABA24 */ _t45 = cpu->r[31] + 0x00000000u; /* 028ABA24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45); /* 028ABA28 */ cpu->r[3] = cpu->r[28]; /* 028ABA2C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABA30 */ _t46 = cpu->r[28] + 0x00000000u; /* 028ABA30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t46); /* 028ABA34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[6]); /* 028ABA38 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABA38 */ _t48 = _t47 & 0x00000001u; /* 028ABA38 */ if (_t48) goto L_028ABC50; else goto L_028ABA3C; L_028ABA3C: ; // 0x28aba3c /* 028ABA3C */ _t49 = cpu->r[31] + 0x00000000u; /* 028ABA3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t49); /* 028ABA40 */ cpu->r[0] = 0x00080000u; /* 028ABA44 */ _t50 = cpu->r[28] + 0x00000000u; /* 028ABA44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50); /* 028ABA48 */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 028ABA4C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 028ABA50 */ cpu->ctr = cpu->r[0]; /* 028ABA54 */ _t51 = cpu->r[30] + 0x00007399u; /* 028ABA54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51); /* 028ABA58 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; L_028ABA5C: ; // 0x28aba5c /* 028ABA5C */ _t52 = cpu->r[10] + 0x00000001u; /* 028ABA5C */ cpu->r[8] = rbrew_read8(cpu->mem, _t52); /* 028ABA5C */ cpu->r[10] = _t52; /* 028ABA60 */ _t53 = cpu->r[9] + 0x00000001u; /* 028ABA60 */ cpu->r[7] = rbrew_read8(cpu->mem, _t53); /* 028ABA60 */ cpu->r[9] = _t53; /* 028ABA64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]); /* 028ABA68 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABA68 */ _t55 = _t54 & 0x00000001u; /* 028ABA68 */ if (_t55) goto L_028ABA6C; else goto L_028ABA78; L_028ABA6C: ; // 0x28aba6c /* 028ABA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 028ABA70 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABA70 */ _t57 = _t56 & 0x00000001u; /* 028ABA70 */ if (_t57) goto L_028ABC50; else goto L_028ABA74; L_028ABA74: ; // 0x28aba74 /* 028ABA74 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028ABA74 */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028ABA74 */ _t59 = _t58 >> (0x00000002u & 31u); /* 028ABA74 */ _t60 = _t59 & 0x00000001u; /* 028ABA74 */ if (_t60) goto L_028ABA5C; else goto L_028ABA78; L_028ABA78: ; // 0x28aba78 /* 028ABA78 */ _t61 = cpu->r[25] + 0x00000034u; /* 028ABA78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t61); /* 028ABA7C */ _t62 = cpu->r[25] + 0x00000030u; /* 028ABA7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t62); L_028ABA80: ; // 0x28aba80 /* 028ABA80 */ cpu->r[23] = 0x00000000u; /* 028ABA84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]); /* 028ABA88 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABA88 */ _t64 = _t63 & 0x00000001u; /* 028ABA88 */ if (_t64) goto L_028ABA8C; else goto L_028ABBA4; L_028ABA8C: ; // 0x28aba8c /* 028ABA8C */ cpu->r[29] = 0x00080000u; /* 028ABA90 */ _t65 = cpu->r[30] + 0x00007399u; /* 028ABA90 */ cpu->r[31] = rbrew_read8(cpu->mem, _t65); /* 028ABA94 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 028ABA98 */ cpu->r[26] = 0x00000000u; L_028ABA9C: ; // 0x28aba9c /* 028ABA9C */ _t66 = cpu->r[11] + cpu->r[26]; /* 028ABA9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t66); /* 028ABAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028ABAA4 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABAA4 */ _t68 = _t67 & 0x00000001u; /* 028ABAA4 */ if (_t68) goto L_028ABB94; else goto L_028ABAA8; L_028ABAA8: ; // 0x28abaa8 /* 028ABAA8 */ _t69 = cpu->r[30] + 0x00000004u; /* 028ABAA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69); /* 028ABAAC */ _t70 = cpu->r[8] + 0x00000014u; /* 028ABAAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t70); /* 028ABAB0 */ cpu->ctr = cpu->r[9]; /* 028ABAB4 */ cpu->r[3] = cpu->r[30]; /* 028ABAB8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABABC */ _t71 = cpu->r[30] + 0x00000004u; /* 028ABABC */ cpu->r[11] = rbrew_read32(cpu->mem, _t71); /* 028ABAC0 */ _t72 = cpu->r[11] + 0x00000014u; /* 028ABAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 028ABAC4 */ cpu->ctr = cpu->r[0]; /* 028ABAC8 */ cpu->r[3] = cpu->r[30]; /* 028ABACC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABAD0 */ _t73 = cpu->r[28] + 0x00000004u; /* 028ABAD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73); /* 028ABAD4 */ _t74 = cpu->r[4] + 0x00000014u; /* 028ABAD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74); /* 028ABAD8 */ cpu->ctr = cpu->r[5]; /* 028ABADC */ _t75 = cpu->r[30] + 0x00000000u; /* 028ABADC */ cpu->r[22] = rbrew_read32(cpu->mem, _t75); /* 028ABAE0 */ cpu->r[3] = cpu->r[28]; /* 028ABAE4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABAE8 */ _t76 = cpu->r[28] + 0x00000000u; /* 028ABAE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76); /* 028ABAEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[6]); /* 028ABAF0 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABAF0 */ _t78 = _t77 & 0x00000001u; /* 028ABAF0 */ if (_t78) goto L_028ABB40; else goto L_028ABAF4; L_028ABAF4: ; // 0x28abaf4 /* 028ABAF4 */ _t79 = cpu->r[30] + 0x00000000u; /* 028ABAF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t79); /* 028ABAF8 */ _t80 = cpu->r[28] + 0x00000000u; /* 028ABAF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80); /* 028ABAFC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 028ABB00 */ cpu->ctr = cpu->r[29]; /* 028ABB04 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; L_028ABB08: ; // 0x28abb08 /* 028ABB08 */ _t81 = cpu->r[7] + 0x00000001u; /* 028ABB08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t81); /* 028ABB08 */ cpu->r[7] = _t81; /* 028ABB0C */ _t82 = cpu->r[6] + 0x00000001u; /* 028ABB0C */ cpu->r[8] = rbrew_read8(cpu->mem, _t82); /* 028ABB0C */ cpu->r[6] = _t82; /* 028ABB10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 028ABB14 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABB14 */ _t84 = _t83 & 0x00000001u; /* 028ABB14 */ if (_t84) goto L_028ABB18; else goto L_028ABB24; L_028ABB18: ; // 0x28abb18 /* 028ABB18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 028ABB1C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABB1C */ _t86 = _t85 & 0x00000001u; /* 028ABB1C */ if (_t86) goto L_028ABB40; else goto L_028ABB20; L_028ABB20: ; // 0x28abb20 /* 028ABB20 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028ABB20 */ _t87 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028ABB20 */ _t88 = _t87 >> (0x00000002u & 31u); /* 028ABB20 */ _t89 = _t88 & 0x00000001u; /* 028ABB20 */ if (_t89) goto L_028ABB08; else goto L_028ABB24; L_028ABB24: ; // 0x28abb24 /* 028ABB24 */ _t90 = cpu->r[25] + 0x00000030u; /* 028ABB24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90); /* 028ABB28 */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 028ABB2C */ cpu->r[26] = cpu->r[26] + 0x00000004u; /* 028ABB30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]); /* 028ABB34 */ _t91 = cpu->r[25] + 0x00000034u; /* 028ABB34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t91); /* 028ABB38 */ _t92 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABB38 */ _t93 = _t92 & 0x00000001u; /* 028ABB38 */ if (_t93) goto L_028ABA9C; else goto L_028ABB3C; L_028ABB3C: ; // 0x28abb3c /* 028ABB3C */ goto L_028ABBA4; L_028ABB40: ; // 0x28abb40 /* 028ABB40 */ _t94 = cpu->r[28] + 0x00000004u; /* 028ABB40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t94); /* 028ABB44 */ _t95 = cpu->r[9] + 0x00000014u; /* 028ABB44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95); /* 028ABB48 */ cpu->ctr = cpu->r[10]; /* 028ABB4C */ cpu->r[3] = cpu->r[28]; /* 028ABB50 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABB54 */ _t96 = cpu->r[25] + 0x00000024u; /* 028ABB54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96); /* 028ABB58 */ cpu->r[4] = 0x00000018u; /* 028ABB5C */ cpu->r[6] = 0x10130000u; /* 028ABB60 */ _t97 = cpu->r[28] + 0x00000000u; /* 028ABB60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t97); /* 028ABB64 */ cpu->r[5] = cpu->r[25]; /* 028ABB68 */ cpu->r[6] = cpu->r[6] + 0x00007F44u; /* 028ABB6C */ _t98 = cpu->cr[1] >> (0x00000001u & 31u); /* 028ABB6C */ _t99 = _t98 & 0x00000001u; /* 028ABB6C */ if (_t99) goto L_028ABB70; // else: addr-0 trap, fall-through L_028ABB70: ; // 0x28abb70 /* 028ABB70 */ Gambit_fn_028AA73C(cpu); /* 028ABB74 */ /* nop */ /* 028ABB78 */ _t100 = cpu->r[1] + 0x00000038u; /* 028ABB78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t100); /* 028ABB7C */ _t101 = cpu->r[1] + 0x00000030u; /* 028ABB7C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t101); /* 028ABB80 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABB80 */ _t103 = _t102 & 0x00000001u; /* 028ABB80 */ if (_t103) goto L_028ABB84; // else: addr-0 trap, fall-through L_028ABB84: ; // 0x28abb84 /* 028ABB84 */ _t104 = cpu->r[1] + 0x00000044u; /* 028ABB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104); /* 028ABB88 */ cpu->lr = cpu->r[0]; /* 028ABB8C */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028ABB90 */ return; L_028ABB94: ; // 0x28abb94 /* 028ABB94 */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 028ABB98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]); /* 028ABB9C */ cpu->r[26] = cpu->r[26] + 0x00000004u; /* 028ABBA0 */ _t105 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABBA0 */ _t106 = _t105 & 0x00000001u; /* 028ABBA0 */ if (_t106) goto L_028ABA9C; else goto L_028ABBA4; L_028ABBA4: ; // 0x28abba4 /* 028ABBA4 */ _t107 = cpu->r[11] + cpu->r[24]; /* 028ABBA4 */ rbrew_write32(cpu->mem, _t107, cpu->r[28]); /* 028ABBA8 */ _t108 = cpu->r[25] + 0x0000001Cu; /* 028ABBA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t108); /* 028ABBAC */ cpu->r[12] = cpu->r[25] + 0x00000010u; /* 028ABBB0 */ _t109 = cpu->r[25] + 0x00000014u; /* 028ABBB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t109); /* 028ABBB4 */ cpu->r[30] = cpu->r[12] - cpu->r[31]; /* 028ABBB8 */ cpu->r[29] = cpu->r[11] - cpu->r[31]; /* 028ABBBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028ABBC0 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABBC0 */ _t111 = _t110 & 0x00000001u; /* 028ABBC0 */ if (_t111) goto L_028ABC50; else goto L_028ABBC4; L_028ABBC4: ; // 0x28abbc4 /* 028ABBC4 */ cpu->r[7] = 0x10130000u; /* 028ABBC8 */ _t112 = cpu->r[7] + 0x00007F20u; /* 028ABBC8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t112); L_028ABBCC: ; // 0x28abbcc /* 028ABBCC */ cpu->r[5] = cpu->r[28]; /* 028ABBD0 */ cpu->r[4] = cpu->r[27]; /* 028ABBD4 */ cpu->r[3] = cpu->r[29]; /* 028ABBD8 */ Gambit_fn_028ABE0C(cpu); /* 028ABBDC */ _t113 = cpu->r[28] + 0x0000004Cu; /* 028ABBDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t113); /* 028ABBE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u); /* 028ABBE4 */ _t114 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABBE4 */ _t115 = _t114 & 0x00000001u; /* 028ABBE4 */ if (_t115) goto L_028ABC04; else goto L_028ABBE8; L_028ABBE8: ; // 0x28abbe8 /* 028ABBE8 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABBE8 */ _t117 = _t116 & 0x00000001u; /* 028ABBE8 */ if (_t117) goto L_028ABC2C; else goto L_028ABBEC; L_028ABBEC: ; // 0x28abbec /* 028ABBEC */ cpu->r[10] = cpu->r[29] + cpu->r[31]; /* 028ABBF0 */ _t118 = cpu->r[10] + 0x00000004u; /* 028ABBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118); /* 028ABBF4 */ cpu->r[29] = cpu->r[0] - cpu->r[31]; /* 028ABBF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028ABBFC */ _t119 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABBFC */ _t120 = _t119 & 0x00000001u; /* 028ABBFC */ if (_t120) goto L_028ABC00; else goto L_028ABBCC; L_028ABC00: ; // 0x28abc00 /* 028ABC00 */ goto L_028ABC50; L_028ABC04: ; // 0x28abc04 /* 028ABC04 */ cpu->r[5] = 0x00000000u; /* 028ABC08 */ cpu->r[4] = cpu->r[27]; /* 028ABC0C */ cpu->r[3] = cpu->r[29]; /* 028ABC10 */ Gambit_fn_028AC3E4(cpu); /* 028ABC14 */ cpu->r[10] = cpu->r[29] + cpu->r[31]; /* 028ABC18 */ _t121 = cpu->r[10] + 0x00000004u; /* 028ABC18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121); /* 028ABC1C */ cpu->r[29] = cpu->r[0] - cpu->r[31]; /* 028ABC20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028ABC24 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABC24 */ _t123 = _t122 & 0x00000001u; /* 028ABC24 */ if (_t123) goto L_028ABC28; else goto L_028ABBCC; L_028ABC28: ; // 0x28abc28 /* 028ABC28 */ goto L_028ABC50; L_028ABC2C: ; // 0x28abc2c /* 028ABC2C */ cpu->f[1] = cpu->f[31]; /* 028ABC30 */ cpu->r[3] = cpu->r[29]; /* 028ABC34 */ cpu->r[4] = cpu->r[27]; /* 028ABC38 */ Gambit_fn_028AC498(cpu); /* 028ABC3C */ cpu->r[10] = cpu->r[29] + cpu->r[31]; /* 028ABC40 */ _t124 = cpu->r[10] + 0x00000004u; /* 028ABC40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 028ABC44 */ cpu->r[29] = cpu->r[0] - cpu->r[31]; /* 028ABC48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 028ABC4C */ _t125 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABC4C */ _t126 = _t125 & 0x00000001u; /* 028ABC4C */ if (_t126) goto L_028ABC50; else goto L_028ABBCC; L_028ABC50: ; // 0x28abc50 /* 028ABC50 */ /* nop */ /* 028ABC54 */ _t127 = cpu->r[1] + 0x00000038u; /* 028ABC54 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t127); /* 028ABC58 */ _t128 = cpu->r[1] + 0x00000030u; /* 028ABC58 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t128); /* 028ABC5C */ _t129 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABC5C */ _t130 = _t129 & 0x00000001u; /* 028ABC5C */ if (_t130) goto L_028ABC60; // else: addr-0 trap, fall-through L_028ABC60: ; // 0x28abc60 /* 028ABC60 */ _t131 = cpu->r[1] + 0x00000044u; /* 028ABC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131); /* 028ABC64 */ cpu->lr = cpu->r[0]; /* 028ABC68 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 028ABC6C */ return; } // fn_028ABC70 @ 0x28abc70 void Gambit_fn_028ABC70(CPUState* cpu) { uint32_t _t0, _t1, _t2, _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_028ABC70: ; // 0x28abc70 /* 028ABC70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028ABC70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028ABC70 */ cpu->r[1] = _t0; /* 028ABC74 */ /* nop */ /* 028ABC78 */ cpu->r[0] = cpu->lr; /* 028ABC7C */ _t1 = cpu->r[1] + 0x00000024u; /* 028ABC7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028ABC80 */ cpu->r[29] = cpu->r[3]; /* 028ABC84 */ _t2 = cpu->r[29] + 0x00000030u; /* 028ABC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 028ABC88 */ cpu->r[31] = 0x00000000u; /* 028ABC8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028ABC90 */ cpu->r[30] = cpu->r[4]; /* 028ABC94 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABC94 */ _t4 = _t3 & 0x00000001u; /* 028ABC94 */ if (_t4) goto L_028ABC98; else goto L_028ABD2C; L_028ABC98: ; // 0x28abc98 /* 028ABC98 */ cpu->r[27] = 0x00000000u; L_028ABC9C: ; // 0x28abc9c /* 028ABC9C */ _t5 = cpu->r[29] + 0x00000034u; /* 028ABC9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 028ABCA0 */ _t6 = cpu->r[6] + cpu->r[27]; /* 028ABCA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6); /* 028ABCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028ABCA8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABCA8 */ _t8 = _t7 & 0x00000001u; /* 028ABCA8 */ if (_t8) goto L_028ABD1C; else goto L_028ABCAC; L_028ABCAC: ; // 0x28abcac /* 028ABCAC */ _t9 = cpu->r[28] + 0x00000004u; /* 028ABCAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 028ABCB0 */ _t10 = cpu->r[7] + 0x00000014u; /* 028ABCB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10); /* 028ABCB4 */ cpu->ctr = cpu->r[8]; /* 028ABCB8 */ cpu->r[3] = cpu->r[28]; /* 028ABCBC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABCC0 */ _t11 = cpu->r[28] + 0x00000000u; /* 028ABCC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 028ABCC4 */ cpu->r[9] = cpu->r[30] + 0xFFFFFFFFu; /* 028ABCC8 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu; L_028ABCCC: ; // 0x28abccc /* 028ABCCC */ _t12 = cpu->r[9] + 0x00000001u; /* 028ABCCC */ cpu->r[11] = rbrew_read8(cpu->mem, _t12); /* 028ABCCC */ cpu->r[9] = _t12; /* 028ABCD0 */ _t13 = cpu->r[10] + 0x00000001u; /* 028ABCD0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13); /* 028ABCD0 */ cpu->r[10] = _t13; /* 028ABCD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]); /* 028ABCD8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABCD8 */ _t15 = _t14 & 0x00000001u; /* 028ABCD8 */ if (_t15) goto L_028ABCDC; else goto L_028ABCE4; L_028ABCDC: ; // 0x28abcdc /* 028ABCDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000000u); /* 028ABCE0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABCE0 */ _t17 = _t16 & 0x00000001u; /* 028ABCE0 */ if (_t17) goto L_028ABCE4; else goto L_028ABCCC; L_028ABCE4: ; // 0x28abce4 /* 028ABCE4 */ cpu->r[0] = cpu->r[11] - cpu->r[12]; /* 028ABCE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028ABCE8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABCE8 */ _t19 = _t18 & 0x00000001u; /* 028ABCE8 */ if (_t19) goto L_028ABD04; else goto L_028ABCEC; L_028ABCEC: ; // 0x28abcec /* 028ABCEC */ _t20 = cpu->r[29] + 0x00000030u; /* 028ABCEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028ABCF0 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028ABCF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028ABCF8 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028ABCFC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABCFC */ _t22 = _t21 & 0x00000001u; /* 028ABCFC */ if (_t22) goto L_028ABC9C; else goto L_028ABD00; L_028ABD00: ; // 0x28abd00 /* 028ABD00 */ goto L_028ABD2C; L_028ABD04: ; // 0x28abd04 /* 028ABD04 */ cpu->r[3] = cpu->r[31]; /* 028ABD08 */ /* nop */ /* 028ABD0C */ _t23 = cpu->r[1] + 0x00000024u; /* 028ABD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028ABD10 */ cpu->lr = cpu->r[0]; /* 028ABD14 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028ABD18 */ return; L_028ABD1C: ; // 0x28abd1c /* 028ABD1C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 028ABD20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 028ABD24 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 028ABD28 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABD28 */ _t25 = _t24 & 0x00000001u; /* 028ABD28 */ if (_t25) goto L_028ABC9C; else goto L_028ABD2C; L_028ABD2C: ; // 0x28abd2c /* 028ABD2C */ /* nop */ /* 028ABD30 */ _t26 = cpu->r[1] + 0x00000024u; /* 028ABD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028ABD34 */ cpu->lr = cpu->r[0]; /* 028ABD38 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028ABD3C */ cpu->r[3] = 0xFFFFFFFFu; /* 028ABD40 */ return; } // fn_028ABD44 @ 0x28abd44 void Gambit_fn_028ABD44(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028ABD44: ; // 0x28abd44 /* 028ABD44 */ cpu->r[0] = cpu->lr; /* 028ABD48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028ABD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028ABD48 */ cpu->r[1] = _t0; /* 028ABD4C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028ABD4C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028ABD50 */ _t2 = cpu->r[1] + 0x00000010u; /* 028ABD50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028ABD54 */ _t3 = cpu->r[1] + 0x00000014u; /* 028ABD54 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028ABD58 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028ABD58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028ABD5C */ _t5 = cpu->r[3] + 0x0000001Cu; /* 028ABD5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 028ABD60 */ cpu->r[0] = cpu->r[3] + 0x00000010u; /* 028ABD64 */ _t6 = cpu->r[3] + 0x00000014u; /* 028ABD64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028ABD68 */ cpu->r[31] = cpu->r[0] - cpu->r[30]; /* 028ABD6C */ goto L_028ABD80; L_028ABD70: ; // 0x28abd70 /* 028ABD70 */ cpu->r[3] = cpu->r[29]; /* 028ABD74 */ Gambit_fn_028AC25C(cpu); /* 028ABD78 */ cpu->r[11] = cpu->r[29] + cpu->r[30]; /* 028ABD7C */ _t7 = cpu->r[11] + 0x00000004u; /* 028ABD7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); L_028ABD80: ; // 0x28abd80 /* 028ABD80 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028ABD84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028ABD88 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABD88 */ _t9 = _t8 & 0x00000001u; /* 028ABD88 */ if (_t9) goto L_028ABD94; else goto L_028ABD8C; L_028ABD8C: ; // 0x28abd8c /* 028ABD8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028ABD90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABD90 */ _t11 = _t10 & 0x00000001u; /* 028ABD90 */ if (_t11) goto L_028ABD94; else goto L_028ABD70; L_028ABD94: ; // 0x28abd94 /* 028ABD94 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028ABD94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12); /* 028ABD98 */ _t13 = cpu->r[1] + 0x0000001Cu; /* 028ABD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028ABD9C */ _t14 = cpu->r[1] + 0x00000010u; /* 028ABD9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028ABDA0 */ cpu->lr = cpu->r[0]; /* 028ABDA4 */ _t15 = cpu->r[1] + 0x00000014u; /* 028ABDA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028ABDA8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028ABDAC */ return; } // fn_028ABD48 @ 0x28abd48 void Gambit_fn_028ABD48(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028ABD48: ; // 0x28abd48 /* 028ABD48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028ABD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028ABD48 */ cpu->r[1] = _t0; /* 028ABD4C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028ABD4C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028ABD50 */ _t2 = cpu->r[1] + 0x00000010u; /* 028ABD50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028ABD54 */ _t3 = cpu->r[1] + 0x00000014u; /* 028ABD54 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028ABD58 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028ABD58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028ABD5C */ _t5 = cpu->r[3] + 0x0000001Cu; /* 028ABD5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 028ABD60 */ cpu->r[0] = cpu->r[3] + 0x00000010u; /* 028ABD64 */ _t6 = cpu->r[3] + 0x00000014u; /* 028ABD64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028ABD68 */ cpu->r[31] = cpu->r[0] - cpu->r[30]; /* 028ABD6C */ goto L_028ABD80; L_028ABD70: ; // 0x28abd70 /* 028ABD70 */ cpu->r[3] = cpu->r[29]; /* 028ABD74 */ Gambit_fn_028AC25C(cpu); /* 028ABD78 */ cpu->r[11] = cpu->r[29] + cpu->r[30]; /* 028ABD7C */ _t7 = cpu->r[11] + 0x00000004u; /* 028ABD7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); L_028ABD80: ; // 0x28abd80 /* 028ABD80 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028ABD84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028ABD88 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABD88 */ _t9 = _t8 & 0x00000001u; /* 028ABD88 */ if (_t9) goto L_028ABD94; else goto L_028ABD8C; L_028ABD8C: ; // 0x28abd8c /* 028ABD8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028ABD90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABD90 */ _t11 = _t10 & 0x00000001u; /* 028ABD90 */ if (_t11) goto L_028ABD94; else goto L_028ABD70; L_028ABD94: ; // 0x28abd94 /* 028ABD94 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028ABD94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12); /* 028ABD98 */ _t13 = cpu->r[1] + 0x0000001Cu; /* 028ABD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028ABD9C */ _t14 = cpu->r[1] + 0x00000010u; /* 028ABD9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028ABDA0 */ cpu->lr = cpu->r[0]; /* 028ABDA4 */ _t15 = cpu->r[1] + 0x00000014u; /* 028ABDA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028ABDA8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028ABDAC */ return; } // fn_028ABDB0 @ 0x28abdb0 void Gambit_fn_028ABDB0(CPUState* cpu) { uint32_t _t0, _t1; L_028ABDB0: ; // 0x28abdb0 /* 028ABDB0 */ cpu->r[12] = 0x10130000u; /* 028ABDB4 */ _t0 = cpu->r[12] + 0x00007F8Cu; /* 028ABDB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0); /* 028ABDB8 */ cpu->r[12] = 0x101F0000u; /* 028ABDBC */ _t1 = cpu->r[12] + 0x00006FACu; /* 028ABDBC */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]); /* 028ABDC0 */ return; } // fn_028ABDC4 @ 0x28abdc4 void Gambit_fn_028ABDC4(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_028ABDC4: ; // 0x28abdc4 /* 028ABDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028ABDC8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABDC8 */ _t17 = _t16 & 0x00000001u; /* 028ABDC8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028ABDC8 */ goto L_028ABDCC; L_028ABDCC: ; // 0x28abdcc /* 028ABDCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028ABDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028ABDD0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABDD0 */ _t19 = _t18 & 0x00000001u; /* 028ABDD0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028ABDD0 */ goto L_028ABDD4; L_028ABDD4: ; // 0x28abdd4 /* 028ABDD4 */ goto L_02801BB0; } // fn_028ABDD8 @ 0x28abdd8 void Gambit_fn_028ABDD8(CPUState* cpu) { L_028ABDD8: ; // 0x28abdd8 /* 028ABDD8 */ return; } // fn_028ABDDC @ 0x28abddc void Gambit_fn_028ABDDC(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_028ABDDC: ; // 0x28abddc /* 028ABDDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028ABDE0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABDE0 */ _t17 = _t16 & 0x00000001u; /* 028ABDE0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028ABDE0 */ goto L_028ABDE4; L_028ABDE4: ; // 0x28abde4 /* 028ABDE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028ABDE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028ABDE8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABDE8 */ _t19 = _t18 & 0x00000001u; /* 028ABDE8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028ABDE8 */ goto L_028ABDEC; L_028ABDEC: ; // 0x28abdec /* 028ABDEC */ goto L_02801BB0; } // fn_028ABDF0 @ 0x28abdf0 void Gambit_fn_028ABDF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_028ABDF0: ; // 0x28abdf0 /* 028ABDF0 */ _t0 = cpu->r[3] + 0x00000000u; /* 028ABDF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028ABDF4 */ cpu->r[11] = 0x10110000u; /* 028ABDF8 */ _t1 = cpu->r[3] + 0x00000008u; /* 028ABDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 028ABDFC */ cpu->r[12] = cpu->r[12] + cpu->r[0]; /* 028ABE00 */ _t2 = cpu->r[11] + 0x00007399u; /* 028ABE00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 028ABE04 */ _t3 = cpu->r[12] + 0xFFFFFFFFu; /* 028ABE04 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]); /* 028ABE08 */ return; } // fn_028ABE0C @ 0x28abe0c void Gambit_fn_028ABE0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028ABE0C: ; // 0x28abe0c /* 028ABE0C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu); /* 028ABE10 */ _t0 = cpu->r[3] + 0x00000050u; /* 028ABE10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 028ABE14 */ _t1 = cpu->r[11] + cpu->r[0]; /* 028ABE14 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]); /* 028ABE18 */ _t2 = cpu->r[5] + 0x0000004Cu; /* 028ABE18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 028ABE1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u); /* 028ABE20 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABE20 */ _t4 = _t3 & 0x00000001u; /* 028ABE20 */ if (_t4) goto L_028ABE2C; else goto L_028ABE24; L_028ABE24: ; // 0x28abe24 /* 028ABE24 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABE24 */ _t6 = _t5 & 0x00000001u; /* 028ABE24 */ if (_t6) goto L_028ABE40; else goto L_028ABE28; L_028ABE28: ; // 0x28abe28 /* 028ABE28 */ return; L_028ABE2C: ; // 0x28abe2c /* 028ABE2C */ _t7 = cpu->r[3] + 0x00000050u; /* 028ABE2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 028ABE30 */ cpu->r[12] = 0x00000000u; /* 028ABE34 */ cpu->r[10] = cpu->r[11] + cpu->r[0]; /* 028ABE38 */ _t8 = cpu->r[10] + 0x00000004u; /* 028ABE38 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 028ABE3C */ return; L_028ABE40: ; // 0x28abe40 /* 028ABE40 */ _t9 = cpu->r[3] + 0x00000050u; /* 028ABE40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 028ABE44 */ cpu->r[12] = 0x10130000u; /* 028ABE48 */ _t10 = cpu->r[12] + 0x00007FA0u; /* 028ABE48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10); /* 028ABE4C */ cpu->r[10] = cpu->r[11] + cpu->r[0]; /* 028ABE50 */ _t11 = cpu->r[10] + 0x00000004u; /* 028ABE50 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 028ABE54 */ return; } // fn_028ABE58 @ 0x28abe58 void Gambit_fn_028ABE58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028ABE58: ; // 0x28abe58 /* 028ABE58 */ cpu->r[0] = cpu->lr; /* 028ABE5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028ABE5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028ABE5C */ cpu->r[1] = _t0; /* 028ABE60 */ _t1 = cpu->r[1] + 0x00000008u; /* 028ABE60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028ABE64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028ABE64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028ABE68 */ cpu->r[12] = cpu->r[3]; /* 028ABE6C */ _t3 = cpu->r[1] + 0x00000014u; /* 028ABE6C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028ABE70 */ _t4 = cpu->r[12] + 0x00000020u; /* 028ABE70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 028ABE74 */ _t5 = cpu->r[10] + 0x0000000Cu; /* 028ABE74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 028ABE78 */ _t6 = cpu->r[11] + 0x00000058u; /* 028ABE78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 028ABE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028ABE80 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 028ABE80 */ _t8 = _t7 & 0x00000001u; /* 028ABE80 */ if (_t8) goto L_028ABE84; else goto L_028ABEFC; L_028ABE84: ; // 0x28abe84 /* 028ABE84 */ cpu->r[3] = cpu->r[4]; /* 028ABE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028ABE88 */ _t9 = cpu->r[12] + 0x00000044u; /* 028ABE88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 028ABE8C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABE8C */ _t11 = _t10 & 0x00000001u; /* 028ABE8C */ if (_t11) goto L_028ABE90; else goto L_028ABE9C; L_028ABE90: ; // 0x28abe90 /* 028ABE90 */ cpu->r[3] = 0x101D0000u; /* 028ABE94 */ _t12 = cpu->r[3] + 0xFFFF98F0u; /* 028ABE94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028ABE98 */ Gambit_fn_02826F20(cpu); L_028ABE9C: ; // 0x28abe9c /* 028ABE9C */ _t13 = cpu->r[3] + 0x0000000Cu; /* 028ABE9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 028ABEA0 */ _t14 = cpu->r[9] + 0x00000034u; /* 028ABEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028ABEA4 */ cpu->ctr = cpu->r[0]; /* 028ABEA8 */ cpu->r[5] = 0x00000004u; /* 028ABEAC */ cpu->r[4] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028ABEB0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028ABEB8 */ cpu->r[11] = cpu->r[30]; /* 028ABEBC */ cpu->r[0] = 0x00000000u; /* 028ABEC0 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 028ABEC0 */ _t16 = _t15 & 0x00000001u; /* 028ABEC0 */ if (_t16) goto L_028ABEC8; else goto L_028ABEC4; L_028ABEC4: ; // 0x28abec4 /* 028ABEC4 */ cpu->r[11] = 0x00000001u; L_028ABEC8: ; // 0x28abec8 /* 028ABEC8 */ cpu->ctr = cpu->r[11]; /* 028ABECC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028ABED0 */ cpu->r[10] = 0x00000000u; L_028ABED4: ; // 0x28abed4 /* 028ABED4 */ cpu->r[12] = cpu->r[3] + cpu->r[9]; /* 028ABED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028ABED8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABED8 */ _t18 = _t17 & 0x00000001u; /* 028ABED8 */ if (_t18) goto L_028ABEE4; else goto L_028ABEDC; L_028ABEDC: ; // 0x28abedc /* 028ABEDC */ _t19 = cpu->r[12] + 0x00000004u; /* 028ABEDC */ rbrew_write32(cpu->mem, _t19, cpu->r[10]); /* 028ABEE0 */ _t20 = cpu->r[12] + 0x00000000u; /* 028ABEE0 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]); L_028ABEE4: ; // 0x28abee4 /* 028ABEE4 */ cpu->r[9] = cpu->r[9] + 0x00000008u; /* 028ABEE8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028ABEE8 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028ABEE8 */ _t22 = _t21 >> (0x00000002u & 31u); /* 028ABEE8 */ _t23 = _t22 & 0x00000001u; /* 028ABEE8 */ if (_t23) goto L_028ABED4; else goto L_028ABEEC; L_028ABEEC: ; // 0x28abeec /* 028ABEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028ABEF0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABEF0 */ _t25 = _t24 & 0x00000001u; /* 028ABEF0 */ if (_t25) goto L_028ABEFC; else goto L_028ABEF4; L_028ABEF4: ; // 0x28abef4 /* 028ABEF4 */ _t26 = cpu->r[31] + 0x00000004u; /* 028ABEF4 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]); /* 028ABEF8 */ _t27 = cpu->r[31] + 0x00000000u; /* 028ABEF8 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]); L_028ABEFC: ; // 0x28abefc /* 028ABEFC */ _t28 = cpu->r[1] + 0x00000014u; /* 028ABEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028ABF00 */ _t29 = cpu->r[1] + 0x00000008u; /* 028ABF00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 028ABF04 */ cpu->lr = cpu->r[0]; /* 028ABF08 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028ABF08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 028ABF0C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028ABF10 */ return; } // fn_028ABE5C @ 0x28abe5c void Gambit_fn_028ABE5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028ABE5C: ; // 0x28abe5c /* 028ABE5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028ABE5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028ABE5C */ cpu->r[1] = _t0; /* 028ABE60 */ _t1 = cpu->r[1] + 0x00000008u; /* 028ABE60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028ABE64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028ABE64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028ABE68 */ cpu->r[12] = cpu->r[3]; /* 028ABE6C */ _t3 = cpu->r[1] + 0x00000014u; /* 028ABE6C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028ABE70 */ _t4 = cpu->r[12] + 0x00000020u; /* 028ABE70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 028ABE74 */ _t5 = cpu->r[10] + 0x0000000Cu; /* 028ABE74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 028ABE78 */ _t6 = cpu->r[11] + 0x00000058u; /* 028ABE78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 028ABE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028ABE80 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 028ABE80 */ _t8 = _t7 & 0x00000001u; /* 028ABE80 */ if (_t8) goto L_028ABE84; else goto L_028ABEFC; L_028ABE84: ; // 0x28abe84 /* 028ABE84 */ cpu->r[3] = cpu->r[4]; /* 028ABE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028ABE88 */ _t9 = cpu->r[12] + 0x00000044u; /* 028ABE88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 028ABE8C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABE8C */ _t11 = _t10 & 0x00000001u; /* 028ABE8C */ if (_t11) goto L_028ABE90; else goto L_028ABE9C; L_028ABE90: ; // 0x28abe90 /* 028ABE90 */ cpu->r[3] = 0x101D0000u; /* 028ABE94 */ _t12 = cpu->r[3] + 0xFFFF98F0u; /* 028ABE94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 028ABE98 */ Gambit_fn_02826F20(cpu); L_028ABE9C: ; // 0x28abe9c /* 028ABE9C */ _t13 = cpu->r[3] + 0x0000000Cu; /* 028ABE9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 028ABEA0 */ _t14 = cpu->r[9] + 0x00000034u; /* 028ABEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028ABEA4 */ cpu->ctr = cpu->r[0]; /* 028ABEA8 */ cpu->r[5] = 0x00000004u; /* 028ABEAC */ cpu->r[4] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028ABEB0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028ABEB8 */ cpu->r[11] = cpu->r[30]; /* 028ABEBC */ cpu->r[0] = 0x00000000u; /* 028ABEC0 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 028ABEC0 */ _t16 = _t15 & 0x00000001u; /* 028ABEC0 */ if (_t16) goto L_028ABEC8; else goto L_028ABEC4; L_028ABEC4: ; // 0x28abec4 /* 028ABEC4 */ cpu->r[11] = 0x00000001u; L_028ABEC8: ; // 0x28abec8 /* 028ABEC8 */ cpu->ctr = cpu->r[11]; /* 028ABECC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028ABED0 */ cpu->r[10] = 0x00000000u; L_028ABED4: ; // 0x28abed4 /* 028ABED4 */ cpu->r[12] = cpu->r[3] + cpu->r[9]; /* 028ABED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028ABED8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABED8 */ _t18 = _t17 & 0x00000001u; /* 028ABED8 */ if (_t18) goto L_028ABEE4; else goto L_028ABEDC; L_028ABEDC: ; // 0x28abedc /* 028ABEDC */ _t19 = cpu->r[12] + 0x00000004u; /* 028ABEDC */ rbrew_write32(cpu->mem, _t19, cpu->r[10]); /* 028ABEE0 */ _t20 = cpu->r[12] + 0x00000000u; /* 028ABEE0 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]); L_028ABEE4: ; // 0x28abee4 /* 028ABEE4 */ cpu->r[9] = cpu->r[9] + 0x00000008u; /* 028ABEE8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028ABEE8 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028ABEE8 */ _t22 = _t21 >> (0x00000002u & 31u); /* 028ABEE8 */ _t23 = _t22 & 0x00000001u; /* 028ABEE8 */ if (_t23) goto L_028ABED4; else goto L_028ABEEC; L_028ABEEC: ; // 0x28abeec /* 028ABEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028ABEF0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABEF0 */ _t25 = _t24 & 0x00000001u; /* 028ABEF0 */ if (_t25) goto L_028ABEFC; else goto L_028ABEF4; L_028ABEF4: ; // 0x28abef4 /* 028ABEF4 */ _t26 = cpu->r[31] + 0x00000004u; /* 028ABEF4 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]); /* 028ABEF8 */ _t27 = cpu->r[31] + 0x00000000u; /* 028ABEF8 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]); L_028ABEFC: ; // 0x28abefc /* 028ABEFC */ _t28 = cpu->r[1] + 0x00000014u; /* 028ABEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028ABF00 */ _t29 = cpu->r[1] + 0x00000008u; /* 028ABF00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 028ABF04 */ cpu->lr = cpu->r[0]; /* 028ABF08 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028ABF08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 028ABF0C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028ABF10 */ return; } // fn_028ABF14 @ 0x28abf14 void Gambit_fn_028ABF14(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028ABF14: ; // 0x28abf14 /* 028ABF14 */ cpu->r[0] = cpu->lr; /* 028ABF18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028ABF18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028ABF18 */ cpu->r[1] = _t0; /* 028ABF1C */ _t1 = cpu->r[1] + 0x00000008u; /* 028ABF1C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028ABF20 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028ABF20 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028ABF24 */ cpu->r[30] = cpu->r[3]; /* 028ABF28 */ _t3 = cpu->r[1] + 0x00000014u; /* 028ABF28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028ABF2C */ _t4 = cpu->r[30] + 0x00000018u; /* 028ABF2C */ cpu->r[6] = rbrew_read8(cpu->mem, _t4); /* 028ABF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028ABF34 */ cpu->r[31] = cpu->r[4]; /* 028ABF38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABF38 */ _t6 = _t5 & 0x00000001u; /* 028ABF38 */ if (_t6) goto L_028ABF3C; else goto L_028ABFEC; L_028ABF3C: ; // 0x28abf3c /* 028ABF3C */ _t7 = cpu->r[30] + 0x00000020u; /* 028ABF3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 028ABF40 */ _t8 = cpu->r[5] + 0x0000000Cu; /* 028ABF40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 028ABF44 */ _t9 = cpu->r[11] + 0x0000005Cu; /* 028ABF44 */ cpu->r[7] = rbrew_read8(cpu->mem, _t9); /* 028ABF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028ABF4C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABF4C */ _t11 = _t10 & 0x00000001u; /* 028ABF4C */ if (_t11) goto L_028ABFEC; else goto L_028ABF50; L_028ABF50: ; // 0x28abf50 /* 028ABF50 */ _t12 = cpu->r[5] + 0x00000030u; /* 028ABF50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028ABF54 */ cpu->r[4] = 0x00000000u; /* 028ABF58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]); /* 028ABF5C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABF5C */ _t14 = _t13 & 0x00000001u; /* 028ABF5C */ if (_t14) goto L_028ABF60; else goto L_028ABF9C; L_028ABF60: ; // 0x28abf60 /* 028ABF60 */ cpu->r[8] = 0x00000000u; L_028ABF64: ; // 0x28abf64 /* 028ABF64 */ _t15 = cpu->r[5] + 0x00000034u; /* 028ABF64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 028ABF68 */ _t16 = cpu->r[9] + cpu->r[8]; /* 028ABF68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028ABF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028ABF70 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABF70 */ _t18 = _t17 & 0x00000001u; /* 028ABF70 */ if (_t18) goto L_028ABF88; else goto L_028ABF74; L_028ABF74: ; // 0x28abf74 /* 028ABF74 */ _t19 = cpu->r[5] + 0x00000034u; /* 028ABF74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 028ABF78 */ _t20 = cpu->r[12] + cpu->r[8]; /* 028ABF78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 028ABF7C */ cpu->r[3] = cpu->r[30]; /* 028ABF80 */ Gambit_fn_028ABE0C(cpu); /* 028ABF84 */ _t21 = cpu->r[30] + 0x00000020u; /* 028ABF84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21); L_028ABF88: ; // 0x28abf88 /* 028ABF88 */ _t22 = cpu->r[5] + 0x00000030u; /* 028ABF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 028ABF8C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 028ABF90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 028ABF94 */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 028ABF98 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABF98 */ _t24 = _t23 & 0x00000001u; /* 028ABF98 */ if (_t24) goto L_028ABF64; else goto L_028ABF9C; L_028ABF9C: ; // 0x28abf9c /* 028ABF9C */ _t25 = cpu->r[30] + 0x0000005Cu; /* 028ABF9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25); /* 028ABFA0 */ _t26 = cpu->r[12] + 0x00000044u; /* 028ABFA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028ABFA4 */ cpu->ctr = cpu->r[0]; /* 028ABFA8 */ cpu->r[3] = cpu->r[30]; /* 028ABFAC */ cpu->r[4] = cpu->r[31]; /* 028ABFB0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABFB4 */ _t27 = cpu->r[30] + 0x0000005Cu; /* 028ABFB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 028ABFB8 */ _t28 = cpu->r[5] + 0x0000004Cu; /* 028ABFB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28); /* 028ABFBC */ cpu->ctr = cpu->r[6]; /* 028ABFC0 */ cpu->r[3] = cpu->r[30]; /* 028ABFC4 */ cpu->r[4] = cpu->r[31]; /* 028ABFC8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABFCC */ cpu->r[3] = cpu->r[30]; /* 028ABFD0 */ cpu->r[4] = cpu->r[31]; /* 028ABFD4 */ Gambit_fn_028ABE58(cpu); /* 028ABFD8 */ _t29 = cpu->r[30] + 0x00000054u; /* 028ABFD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29); /* 028ABFDC */ cpu->r[4] = cpu->r[31]; /* 028ABFE0 */ Gambit_fn_028AAF1C(cpu); /* 028ABFE4 */ cpu->r[0] = 0x00000001u; /* 028ABFE8 */ _t30 = cpu->r[30] + 0x00000018u; /* 028ABFE8 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]); L_028ABFEC: ; // 0x28abfec /* 028ABFEC */ _t31 = cpu->r[1] + 0x00000014u; /* 028ABFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 028ABFF0 */ _t32 = cpu->r[1] + 0x00000008u; /* 028ABFF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 028ABFF4 */ cpu->lr = cpu->r[0]; /* 028ABFF8 */ _t33 = cpu->r[1] + 0x0000000Cu; /* 028ABFF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 028ABFFC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC000 */ return; } // fn_028ABF18 @ 0x28abf18 void Gambit_fn_028ABF18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _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_028ABF18: ; // 0x28abf18 /* 028ABF18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028ABF18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028ABF18 */ cpu->r[1] = _t0; /* 028ABF1C */ _t1 = cpu->r[1] + 0x00000008u; /* 028ABF1C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028ABF20 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028ABF20 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028ABF24 */ cpu->r[30] = cpu->r[3]; /* 028ABF28 */ _t3 = cpu->r[1] + 0x00000014u; /* 028ABF28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028ABF2C */ _t4 = cpu->r[30] + 0x00000018u; /* 028ABF2C */ cpu->r[6] = rbrew_read8(cpu->mem, _t4); /* 028ABF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028ABF34 */ cpu->r[31] = cpu->r[4]; /* 028ABF38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABF38 */ _t6 = _t5 & 0x00000001u; /* 028ABF38 */ if (_t6) goto L_028ABF3C; else goto L_028ABFEC; L_028ABF3C: ; // 0x28abf3c /* 028ABF3C */ _t7 = cpu->r[30] + 0x00000020u; /* 028ABF3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 028ABF40 */ _t8 = cpu->r[5] + 0x0000000Cu; /* 028ABF40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 028ABF44 */ _t9 = cpu->r[11] + 0x0000005Cu; /* 028ABF44 */ cpu->r[7] = rbrew_read8(cpu->mem, _t9); /* 028ABF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028ABF4C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABF4C */ _t11 = _t10 & 0x00000001u; /* 028ABF4C */ if (_t11) goto L_028ABFEC; else goto L_028ABF50; L_028ABF50: ; // 0x28abf50 /* 028ABF50 */ _t12 = cpu->r[5] + 0x00000030u; /* 028ABF50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 028ABF54 */ cpu->r[4] = 0x00000000u; /* 028ABF58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]); /* 028ABF5C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABF5C */ _t14 = _t13 & 0x00000001u; /* 028ABF5C */ if (_t14) goto L_028ABF60; else goto L_028ABF9C; L_028ABF60: ; // 0x28abf60 /* 028ABF60 */ cpu->r[8] = 0x00000000u; L_028ABF64: ; // 0x28abf64 /* 028ABF64 */ _t15 = cpu->r[5] + 0x00000034u; /* 028ABF64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 028ABF68 */ _t16 = cpu->r[9] + cpu->r[8]; /* 028ABF68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028ABF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028ABF70 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028ABF70 */ _t18 = _t17 & 0x00000001u; /* 028ABF70 */ if (_t18) goto L_028ABF88; else goto L_028ABF74; L_028ABF74: ; // 0x28abf74 /* 028ABF74 */ _t19 = cpu->r[5] + 0x00000034u; /* 028ABF74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 028ABF78 */ _t20 = cpu->r[12] + cpu->r[8]; /* 028ABF78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 028ABF7C */ cpu->r[3] = cpu->r[30]; /* 028ABF80 */ Gambit_fn_028ABE0C(cpu); /* 028ABF84 */ _t21 = cpu->r[30] + 0x00000020u; /* 028ABF84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21); L_028ABF88: ; // 0x28abf88 /* 028ABF88 */ _t22 = cpu->r[5] + 0x00000030u; /* 028ABF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 028ABF8C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 028ABF90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 028ABF94 */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 028ABF98 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 028ABF98 */ _t24 = _t23 & 0x00000001u; /* 028ABF98 */ if (_t24) goto L_028ABF64; else goto L_028ABF9C; L_028ABF9C: ; // 0x28abf9c /* 028ABF9C */ _t25 = cpu->r[30] + 0x0000005Cu; /* 028ABF9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25); /* 028ABFA0 */ _t26 = cpu->r[12] + 0x00000044u; /* 028ABFA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028ABFA4 */ cpu->ctr = cpu->r[0]; /* 028ABFA8 */ cpu->r[3] = cpu->r[30]; /* 028ABFAC */ cpu->r[4] = cpu->r[31]; /* 028ABFB0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABFB4 */ _t27 = cpu->r[30] + 0x0000005Cu; /* 028ABFB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 028ABFB8 */ _t28 = cpu->r[5] + 0x0000004Cu; /* 028ABFB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28); /* 028ABFBC */ cpu->ctr = cpu->r[6]; /* 028ABFC0 */ cpu->r[3] = cpu->r[30]; /* 028ABFC4 */ cpu->r[4] = cpu->r[31]; /* 028ABFC8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028ABFCC */ cpu->r[3] = cpu->r[30]; /* 028ABFD0 */ cpu->r[4] = cpu->r[31]; /* 028ABFD4 */ Gambit_fn_028ABE58(cpu); /* 028ABFD8 */ _t29 = cpu->r[30] + 0x00000054u; /* 028ABFD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29); /* 028ABFDC */ cpu->r[4] = cpu->r[31]; /* 028ABFE0 */ Gambit_fn_028AAF1C(cpu); /* 028ABFE4 */ cpu->r[0] = 0x00000001u; /* 028ABFE8 */ _t30 = cpu->r[30] + 0x00000018u; /* 028ABFE8 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]); L_028ABFEC: ; // 0x28abfec /* 028ABFEC */ _t31 = cpu->r[1] + 0x00000014u; /* 028ABFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 028ABFF0 */ _t32 = cpu->r[1] + 0x00000008u; /* 028ABFF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 028ABFF4 */ cpu->lr = cpu->r[0]; /* 028ABFF8 */ _t33 = cpu->r[1] + 0x0000000Cu; /* 028ABFF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 028ABFFC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC000 */ return; } // fn_028AC004 @ 0x28ac004 void Gambit_fn_028AC004(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_028AC004: ; // 0x28ac004 /* 028AC004 */ cpu->r[0] = cpu->lr; /* 028AC008 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC008 */ cpu->r[1] = _t0; /* 028AC00C */ _t1 = cpu->r[1] + 0x00000008u; /* 028AC00C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AC010 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AC010 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AC014 */ cpu->r[30] = cpu->r[3]; /* 028AC018 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AC018 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AC01C */ _t4 = cpu->r[30] + 0x0000001Cu; /* 028AC01C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 028AC020 */ _t5 = cpu->r[8] + 0x00000048u; /* 028AC020 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5); /* 028AC024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028AC028 */ cpu->r[31] = cpu->r[4]; /* 028AC02C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC02C */ _t7 = _t6 & 0x00000001u; /* 028AC02C */ if (_t7) goto L_028AC070; else goto L_028AC030; L_028AC030: ; // 0x28ac030 /* 028AC030 */ _t8 = cpu->r[30] + 0x00000020u; /* 028AC030 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8); /* 028AC034 */ _t9 = cpu->r[7] + 0x0000000Cu; /* 028AC034 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 028AC038 */ _t10 = cpu->r[10] + 0x0000005Cu; /* 028AC038 */ cpu->r[11] = rbrew_read8(cpu->mem, _t10); /* 028AC03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AC040 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC040 */ _t12 = _t11 & 0x00000001u; /* 028AC040 */ if (_t12) goto L_028AC044; else goto L_028AC04C; L_028AC044: ; // 0x28ac044 /* 028AC044 */ _t13 = cpu->r[7] + 0x0000000Cu; /* 028AC044 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 028AC048 */ Gambit_fn_028AE0D0(cpu); L_028AC04C: ; // 0x28ac04c /* 028AC04C */ _t14 = cpu->r[30] + 0x0000005Cu; /* 028AC04C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028AC050 */ _t15 = cpu->r[12] + 0x0000003Cu; /* 028AC050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028AC054 */ cpu->ctr = cpu->r[0]; /* 028AC058 */ cpu->r[3] = cpu->r[30]; /* 028AC05C */ cpu->r[4] = cpu->r[31]; /* 028AC060 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC064 */ cpu->r[3] = cpu->r[30]; /* 028AC068 */ cpu->r[4] = cpu->r[31]; /* 028AC06C */ Gambit_fn_028ABF14(cpu); L_028AC070: ; // 0x28ac070 /* 028AC070 */ _t16 = cpu->r[1] + 0x00000014u; /* 028AC070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028AC074 */ _t17 = cpu->r[1] + 0x00000008u; /* 028AC074 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 028AC078 */ cpu->lr = cpu->r[0]; /* 028AC07C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 028AC07C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 028AC080 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC084 */ return; } // fn_028AC008 @ 0x28ac008 void Gambit_fn_028AC008(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_028AC008: ; // 0x28ac008 /* 028AC008 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC008 */ cpu->r[1] = _t0; /* 028AC00C */ _t1 = cpu->r[1] + 0x00000008u; /* 028AC00C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028AC010 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028AC010 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028AC014 */ cpu->r[30] = cpu->r[3]; /* 028AC018 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AC018 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AC01C */ _t4 = cpu->r[30] + 0x0000001Cu; /* 028AC01C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 028AC020 */ _t5 = cpu->r[8] + 0x00000048u; /* 028AC020 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5); /* 028AC024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028AC028 */ cpu->r[31] = cpu->r[4]; /* 028AC02C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC02C */ _t7 = _t6 & 0x00000001u; /* 028AC02C */ if (_t7) goto L_028AC070; else goto L_028AC030; L_028AC030: ; // 0x28ac030 /* 028AC030 */ _t8 = cpu->r[30] + 0x00000020u; /* 028AC030 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8); /* 028AC034 */ _t9 = cpu->r[7] + 0x0000000Cu; /* 028AC034 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 028AC038 */ _t10 = cpu->r[10] + 0x0000005Cu; /* 028AC038 */ cpu->r[11] = rbrew_read8(cpu->mem, _t10); /* 028AC03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028AC040 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC040 */ _t12 = _t11 & 0x00000001u; /* 028AC040 */ if (_t12) goto L_028AC044; else goto L_028AC04C; L_028AC044: ; // 0x28ac044 /* 028AC044 */ _t13 = cpu->r[7] + 0x0000000Cu; /* 028AC044 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 028AC048 */ Gambit_fn_028AE0D0(cpu); L_028AC04C: ; // 0x28ac04c /* 028AC04C */ _t14 = cpu->r[30] + 0x0000005Cu; /* 028AC04C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 028AC050 */ _t15 = cpu->r[12] + 0x0000003Cu; /* 028AC050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 028AC054 */ cpu->ctr = cpu->r[0]; /* 028AC058 */ cpu->r[3] = cpu->r[30]; /* 028AC05C */ cpu->r[4] = cpu->r[31]; /* 028AC060 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC064 */ cpu->r[3] = cpu->r[30]; /* 028AC068 */ cpu->r[4] = cpu->r[31]; /* 028AC06C */ Gambit_fn_028ABF14(cpu); L_028AC070: ; // 0x28ac070 /* 028AC070 */ _t16 = cpu->r[1] + 0x00000014u; /* 028AC070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028AC074 */ _t17 = cpu->r[1] + 0x00000008u; /* 028AC074 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 028AC078 */ cpu->lr = cpu->r[0]; /* 028AC07C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 028AC07C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 028AC080 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC084 */ return; } // fn_028AC088 @ 0x28ac088 void Gambit_fn_028AC088(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028AC088: ; // 0x28ac088 /* 028AC088 */ cpu->r[0] = cpu->lr; /* 028AC08C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC08C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC08C */ cpu->r[1] = _t0; /* 028AC090 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC090 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC094 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AC094 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AC098 */ _t3 = cpu->r[3] + 0x0000005Cu; /* 028AC098 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 028AC09C */ _t4 = cpu->r[11] + 0x0000002Cu; /* 028AC09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028AC0A0 */ cpu->ctr = cpu->r[0]; /* 028AC0A4 */ cpu->r[31] = cpu->r[3]; /* 028AC0A8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC0AC */ cpu->r[12] = 0x00000001u; /* 028AC0B0 */ _t5 = cpu->r[31] + 0x00000019u; /* 028AC0B0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]); /* 028AC0B4 */ _t6 = cpu->r[1] + 0x00000014u; /* 028AC0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AC0B8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028AC0B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028AC0BC */ cpu->lr = cpu->r[0]; /* 028AC0C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC0C4 */ return; } // fn_028AC08C @ 0x28ac08c void Gambit_fn_028AC08C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028AC08C: ; // 0x28ac08c /* 028AC08C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC08C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC08C */ cpu->r[1] = _t0; /* 028AC090 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC090 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC094 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AC094 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AC098 */ _t3 = cpu->r[3] + 0x0000005Cu; /* 028AC098 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 028AC09C */ _t4 = cpu->r[11] + 0x0000002Cu; /* 028AC09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028AC0A0 */ cpu->ctr = cpu->r[0]; /* 028AC0A4 */ cpu->r[31] = cpu->r[3]; /* 028AC0A8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC0AC */ cpu->r[12] = 0x00000001u; /* 028AC0B0 */ _t5 = cpu->r[31] + 0x00000019u; /* 028AC0B0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]); /* 028AC0B4 */ _t6 = cpu->r[1] + 0x00000014u; /* 028AC0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028AC0B8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028AC0B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 028AC0BC */ cpu->lr = cpu->r[0]; /* 028AC0C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC0C4 */ return; } // fn_028AC0C8 @ 0x28ac0c8 void Gambit_fn_028AC0C8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_028AC0C8: ; // 0x28ac0c8 /* 028AC0C8 */ cpu->r[0] = cpu->lr; /* 028AC0CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC0CC */ cpu->r[1] = _t0; /* 028AC0D0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC0D4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028AC0D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AC0D8 */ cpu->r[30] = cpu->r[4]; /* 028AC0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028AC0DC */ cpu->r[31] = cpu->r[3]; /* 028AC0E0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AC0E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AC0E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC0E4 */ _t5 = _t4 & 0x00000001u; /* 028AC0E4 */ if (_t5) goto L_028AC0E8; else goto L_028AC0F0; L_028AC0E8: ; // 0x28ac0e8 /* 028AC0E8 */ cpu->r[3] = cpu->r[31]; /* 028AC0EC */ Gambit_fn_028AC088(cpu); L_028AC0F0: ; // 0x28ac0f0 /* 028AC0F0 */ cpu->r[0] = cpu->r[30] ^ 0x00000001u; /* 028AC0F4 */ _t6 = cpu->r[31] + 0x00000019u; /* 028AC0F4 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 028AC0F8 */ _t7 = cpu->r[1] + 0x00000014u; /* 028AC0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AC0FC */ _t8 = cpu->r[1] + 0x00000008u; /* 028AC0FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 028AC100 */ cpu->lr = cpu->r[0]; /* 028AC104 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028AC104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 028AC108 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC10C */ return; } // fn_028AC0CC @ 0x28ac0cc void Gambit_fn_028AC0CC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_028AC0CC: ; // 0x28ac0cc /* 028AC0CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC0CC */ cpu->r[1] = _t0; /* 028AC0D0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC0D4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028AC0D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028AC0D8 */ cpu->r[30] = cpu->r[4]; /* 028AC0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028AC0DC */ cpu->r[31] = cpu->r[3]; /* 028AC0E0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028AC0E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028AC0E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC0E4 */ _t5 = _t4 & 0x00000001u; /* 028AC0E4 */ if (_t5) goto L_028AC0E8; else goto L_028AC0F0; L_028AC0E8: ; // 0x28ac0e8 /* 028AC0E8 */ cpu->r[3] = cpu->r[31]; /* 028AC0EC */ Gambit_fn_028AC088(cpu); L_028AC0F0: ; // 0x28ac0f0 /* 028AC0F0 */ cpu->r[0] = cpu->r[30] ^ 0x00000001u; /* 028AC0F4 */ _t6 = cpu->r[31] + 0x00000019u; /* 028AC0F4 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 028AC0F8 */ _t7 = cpu->r[1] + 0x00000014u; /* 028AC0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028AC0FC */ _t8 = cpu->r[1] + 0x00000008u; /* 028AC0FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 028AC100 */ cpu->lr = cpu->r[0]; /* 028AC104 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028AC104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 028AC108 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC10C */ return; } // fn_028AC110 @ 0x28ac110 void Gambit_fn_028AC110(CPUState* cpu) { uint32_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_028AC110: ; // 0x28ac110 /* 028AC110 */ cpu->r[0] = cpu->lr; /* 028AC114 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC114 */ cpu->r[1] = _t0; /* 028AC118 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC118 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC11C */ cpu->r[31] = cpu->r[3]; /* 028AC120 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AC120 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AC124 */ _t3 = cpu->r[31] + 0x0000001Cu; /* 028AC124 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 028AC128 */ _t4 = cpu->r[12] + 0x00000048u; /* 028AC128 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 028AC12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AC130 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC130 */ _t6 = _t5 & 0x00000001u; /* 028AC130 */ if (_t6) goto L_028AC1A0; else goto L_028AC134; L_028AC134: ; // 0x28ac134 /* 028AC134 */ _t7 = cpu->r[31] + 0x00000019u; /* 028AC134 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 028AC138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AC13C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC13C */ _t9 = _t8 & 0x00000001u; /* 028AC13C */ if (_t9) goto L_028AC14C; else goto L_028AC140; L_028AC140: ; // 0x28ac140 /* 028AC140 */ cpu->r[3] = cpu->r[31]; /* 028AC144 */ cpu->r[4] = 0x00000001u; /* 028AC148 */ Gambit_fn_028AC0C8(cpu); L_028AC14C: ; // 0x28ac14c /* 028AC14C */ _t10 = cpu->r[31] + 0x00000054u; /* 028AC14C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 028AC150 */ Gambit_fn_028AABC4(cpu); /* 028AC154 */ _t11 = cpu->r[31] + 0x0000005Cu; /* 028AC154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028AC158 */ _t12 = cpu->r[12] + 0x0000001Cu; /* 028AC158 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 028AC15C */ cpu->ctr = cpu->r[7]; /* 028AC160 */ cpu->r[3] = cpu->r[31]; /* 028AC164 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC168 */ _t13 = cpu->r[31] + 0x0000004Cu; /* 028AC168 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 028AC16C */ cpu->r[7] = 0x00000000u; /* 028AC170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 028AC174 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AC174 */ _t15 = _t14 & 0x00000001u; /* 028AC174 */ if (_t15) goto L_028AC178; else goto L_028AC1A0; L_028AC178: ; // 0x28ac178 /* 028AC178 */ cpu->r[12] = 0x00000000u; /* 028AC17C */ cpu->r[0] = cpu->r[12]; L_028AC180: ; // 0x28ac180 /* 028AC180 */ _t16 = cpu->r[31] + 0x00000050u; /* 028AC180 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028AC184 */ cpu->r[9] = cpu->r[10] + cpu->r[12]; /* 028AC188 */ _t17 = cpu->r[9] + 0x00000008u; /* 028AC188 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]); /* 028AC18C */ _t18 = cpu->r[31] + 0x0000004Cu; /* 028AC18C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028AC190 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028AC194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 028AC198 */ cpu->r[12] = cpu->r[12] + 0x0000000Cu; /* 028AC19C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AC19C */ _t20 = _t19 & 0x00000001u; /* 028AC19C */ if (_t20) goto L_028AC180; else goto L_028AC1A0; L_028AC1A0: ; // 0x28ac1a0 /* 028AC1A0 */ _t21 = cpu->r[1] + 0x00000014u; /* 028AC1A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AC1A4 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028AC1A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 028AC1A8 */ cpu->lr = cpu->r[0]; /* 028AC1AC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC1B0 */ return; } // fn_028AC114 @ 0x28ac114 void Gambit_fn_028AC114(CPUState* cpu) { uint32_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_028AC114: ; // 0x28ac114 /* 028AC114 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC114 */ cpu->r[1] = _t0; /* 028AC118 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC118 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC11C */ cpu->r[31] = cpu->r[3]; /* 028AC120 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AC120 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AC124 */ _t3 = cpu->r[31] + 0x0000001Cu; /* 028AC124 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 028AC128 */ _t4 = cpu->r[12] + 0x00000048u; /* 028AC128 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4); /* 028AC12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AC130 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC130 */ _t6 = _t5 & 0x00000001u; /* 028AC130 */ if (_t6) goto L_028AC1A0; else goto L_028AC134; L_028AC134: ; // 0x28ac134 /* 028AC134 */ _t7 = cpu->r[31] + 0x00000019u; /* 028AC134 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 028AC138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028AC13C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC13C */ _t9 = _t8 & 0x00000001u; /* 028AC13C */ if (_t9) goto L_028AC14C; else goto L_028AC140; L_028AC140: ; // 0x28ac140 /* 028AC140 */ cpu->r[3] = cpu->r[31]; /* 028AC144 */ cpu->r[4] = 0x00000001u; /* 028AC148 */ Gambit_fn_028AC0C8(cpu); L_028AC14C: ; // 0x28ac14c /* 028AC14C */ _t10 = cpu->r[31] + 0x00000054u; /* 028AC14C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 028AC150 */ Gambit_fn_028AABC4(cpu); /* 028AC154 */ _t11 = cpu->r[31] + 0x0000005Cu; /* 028AC154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 028AC158 */ _t12 = cpu->r[12] + 0x0000001Cu; /* 028AC158 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 028AC15C */ cpu->ctr = cpu->r[7]; /* 028AC160 */ cpu->r[3] = cpu->r[31]; /* 028AC164 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC168 */ _t13 = cpu->r[31] + 0x0000004Cu; /* 028AC168 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 028AC16C */ cpu->r[7] = 0x00000000u; /* 028AC170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 028AC174 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AC174 */ _t15 = _t14 & 0x00000001u; /* 028AC174 */ if (_t15) goto L_028AC178; else goto L_028AC1A0; L_028AC178: ; // 0x28ac178 /* 028AC178 */ cpu->r[12] = 0x00000000u; /* 028AC17C */ cpu->r[0] = cpu->r[12]; L_028AC180: ; // 0x28ac180 /* 028AC180 */ _t16 = cpu->r[31] + 0x00000050u; /* 028AC180 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 028AC184 */ cpu->r[9] = cpu->r[10] + cpu->r[12]; /* 028AC188 */ _t17 = cpu->r[9] + 0x00000008u; /* 028AC188 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]); /* 028AC18C */ _t18 = cpu->r[31] + 0x0000004Cu; /* 028AC18C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 028AC190 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 028AC194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 028AC198 */ cpu->r[12] = cpu->r[12] + 0x0000000Cu; /* 028AC19C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 028AC19C */ _t20 = _t19 & 0x00000001u; /* 028AC19C */ if (_t20) goto L_028AC180; else goto L_028AC1A0; L_028AC1A0: ; // 0x28ac1a0 /* 028AC1A0 */ _t21 = cpu->r[1] + 0x00000014u; /* 028AC1A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 028AC1A4 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 028AC1A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 028AC1A8 */ cpu->lr = cpu->r[0]; /* 028AC1AC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC1B0 */ return; } // fn_028AC1B4 @ 0x28ac1b4 void Gambit_fn_028AC1B4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_028AC1B4: ; // 0x28ac1b4 /* 028AC1B4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028AC1B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC1B4 */ cpu->r[1] = _t0; /* 028AC1B8 */ /* nop */ /* 028AC1BC */ cpu->r[0] = cpu->lr; /* 028AC1C0 */ _t1 = cpu->r[1] + 0x00000024u; /* 028AC1C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028AC1C4 */ cpu->r[28] = cpu->r[3]; /* 028AC1C8 */ _t2 = cpu->r[28] + 0x0000001Cu; /* 028AC1C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 028AC1CC */ _t3 = cpu->r[3] + 0x00000000u; /* 028AC1CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 028AC1D0 */ _t4 = cpu->r[12] + 0x0000004Cu; /* 028AC1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028AC1D4 */ cpu->ctr = cpu->r[0]; /* 028AC1D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC1DC */ _t5 = cpu->r[3] + 0x00000000u; /* 028AC1DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 028AC1E0 */ _t6 = cpu->r[8] + 0x00000014u; /* 028AC1E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 028AC1E4 */ cpu->ctr = cpu->r[9]; /* 028AC1E8 */ cpu->r[26] = cpu->r[3]; /* 028AC1EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC1F0 */ _t7 = cpu->r[28] + 0x00000014u; /* 028AC1F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 028AC1F4 */ cpu->r[27] = cpu->r[28] + 0x00000008u; /* 028AC1F8 */ _t8 = cpu->r[28] + 0x0000000Cu; /* 028AC1F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 028AC1FC */ cpu->r[31] = cpu->r[27] - cpu->r[30]; /* 028AC200 */ cpu->r[29] = cpu->r[10] - cpu->r[30]; /* 028AC204 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AC208 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC208 */ _t10 = _t9 & 0x00000001u; /* 028AC208 */ if (_t10) goto L_028AC228; else goto L_028AC20C; L_028AC20C: ; // 0x28ac20c /* 028AC20C */ cpu->r[3] = cpu->r[29]; /* 028AC210 */ Gambit_fn_028A545C(cpu); /* 028AC214 */ cpu->r[6] = cpu->r[29] + cpu->r[30]; /* 028AC218 */ _t11 = cpu->r[6] + 0x00000004u; /* 028AC218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 028AC21C */ cpu->r[29] = cpu->r[0] - cpu->r[30]; /* 028AC220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 028AC224 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028AC224 */ _t13 = _t12 & 0x00000001u; /* 028AC224 */ if (_t13) goto L_028AC228; else goto L_028AC20C; L_028AC228: ; // 0x28ac228 /* 028AC228 */ _t14 = cpu->r[28] + 0x0000001Cu; /* 028AC228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 028AC22C */ cpu->r[4] = cpu->r[27]; /* 028AC230 */ Gambit_fn_028AA06C(cpu); /* 028AC234 */ _t15 = cpu->r[26] + 0x00000000u; /* 028AC234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 028AC238 */ _t16 = cpu->r[12] + 0x0000001Cu; /* 028AC238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 028AC23C */ cpu->ctr = cpu->r[0]; /* 028AC240 */ cpu->r[3] = cpu->r[26]; /* 028AC244 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC248 */ /* nop */ /* 028AC24C */ _t17 = cpu->r[1] + 0x00000024u; /* 028AC24C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028AC250 */ cpu->lr = cpu->r[0]; /* 028AC254 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028AC258 */ return; } // fn_028AC25C @ 0x28ac25c void Gambit_fn_028AC25C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_028AC25C: ; // 0x28ac25c /* 028AC25C */ cpu->r[0] = cpu->lr; /* 028AC260 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC260 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC260 */ cpu->r[1] = _t0; /* 028AC264 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC264 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC268 */ cpu->r[31] = cpu->r[3]; /* 028AC26C */ _t2 = cpu->r[1] + 0x00000014u; /* 028AC26C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AC270 */ Gambit_fn_028AC1B4(cpu); /* 028AC274 */ _t3 = cpu->r[31] + 0x00000054u; /* 028AC274 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 028AC278 */ Gambit_fn_028AACF8(cpu); /* 028AC27C */ _t4 = cpu->r[1] + 0x00000014u; /* 028AC27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028AC280 */ cpu->lr = cpu->r[0]; /* 028AC284 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028AC284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 028AC288 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC28C */ return; } // fn_028AC260 @ 0x28ac260 void Gambit_fn_028AC260(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_028AC260: ; // 0x28ac260 /* 028AC260 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC260 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC260 */ cpu->r[1] = _t0; /* 028AC264 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC264 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC268 */ cpu->r[31] = cpu->r[3]; /* 028AC26C */ _t2 = cpu->r[1] + 0x00000014u; /* 028AC26C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AC270 */ Gambit_fn_028AC1B4(cpu); /* 028AC274 */ _t3 = cpu->r[31] + 0x00000054u; /* 028AC274 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 028AC278 */ Gambit_fn_028AACF8(cpu); /* 028AC27C */ _t4 = cpu->r[1] + 0x00000014u; /* 028AC27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028AC280 */ cpu->lr = cpu->r[0]; /* 028AC284 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028AC284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 028AC288 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC28C */ return; } // fn_028AC290 @ 0x28ac290 void Gambit_fn_028AC290(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_028AC290: ; // 0x28ac290 /* 028AC290 */ cpu->r[0] = cpu->lr; /* 028AC294 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028AC294 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028AC294 */ cpu->r[1] = _t0; /* 028AC298 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028AC298 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028AC29C */ cpu->r[31] = cpu->r[3]; /* 028AC2A0 */ _t2 = cpu->r[1] + 0x00000014u; /* 028AC2A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028AC2A4 */ Gambit_fn_028AC25C(cpu); /* 028AC2A8 */ _t3 = cpu->r[31] + 0x0000005Cu; /* 028AC2A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 028AC2AC */ _t4 = cpu->r[12] + 0x00000024u; /* 028AC2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028AC2B0 */ cpu->ctr = cpu->r[0]; /* 028AC2B4 */ cpu->r[3] = cpu->r[31]; /* 028AC2B8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028AC2BC */ _t5 = cpu->r[1] + 0x00000014u; /* 028AC2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028AC2C0 */ cpu->lr = cpu->r[0]; /* 028AC2C4 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028AC2C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 028AC2C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028AC2CC */ return; }