Files
RebrewU/Gambit/Gambit_part0160.cpp
2026-03-23 09:40:22 +01:00

45710 lines
2.4 MiB
Plaintext

// Generated by RebrewU -- do not edit
#include <rebrewu_runtime.h>
#include <stdint.h>
#include <math.h>
#include "Gambit.h"
// fn_028DEDDC @ 0x28deddc
void Gambit_fn_028DEDDC(CPUState* cpu) {
uint32_t _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_028DEDDC: ; // 0x28deddc
/* 028DEDDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028DEDDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DEDDC */ cpu->r[1] = _t0;
/* 028DEDE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DEDE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DEDE4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028DEDE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DEDE8 */ cpu->r[31] = cpu->r[3];
/* 028DEDEC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DEDEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DEDF0 */ _t4 = cpu->r[31] + 0x00000008u;
/* 028DEDF0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
/* 028DEDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028DEDF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEDF8 */ _t6 = _t5 & 0x00000001u;
/* 028DEDF8 */ if (_t6) goto L_028DEE5C; else goto L_028DEDFC;
L_028DEDFC: ; // 0x28dedfc
/* 028DEDFC */ cpu->r[3] = cpu->r[31];
/* 028DEE00 */ Gambit_fn_028DED90(cpu);
/* 028DEE04 */ _t7 = cpu->r[31] + 0x00000040u;
/* 028DEE04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
/* 028DEE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028DEE0C */ cpu->r[30] = 0x00000000u;
/* 028DEE10 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEE10 */ _t9 = _t8 & 0x00000001u;
/* 028DEE10 */ if (_t9) goto L_028DEE44; else goto L_028DEE14;
L_028DEE14: ; // 0x28dee14
/* 028DEE14 */ _t10 = cpu->r[31] + 0x0000003Cu;
/* 028DEE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028DEE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DEE1C */ cpu->r[3] = 0x101D0000u;
/* 028DEE20 */ _t11 = cpu->r[3] + 0xFFFF98F0u;
/* 028DEE20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028DEE24 */ Gambit_fn_02826B90(cpu);
/* 028DEE28 */ _t12 = cpu->r[3] + 0x0000000Cu;
/* 028DEE28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
/* 028DEE2C */ _t13 = cpu->r[10] + 0x0000003Cu;
/* 028DEE2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028DEE30 */ cpu->ctr = cpu->r[11];
/* 028DEE34 */ _t14 = cpu->r[31] + 0x00000040u;
/* 028DEE34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028DEE38 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028DEE3C */ _t15 = cpu->r[31] + 0x0000003Cu;
/* 028DEE3C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028DEE40 */ _t16 = cpu->r[31] + 0x00000040u;
/* 028DEE40 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
L_028DEE44: ; // 0x28dee44
/* 028DEE44 */ _t17 = cpu->r[31] + 0x0000001Cu;
/* 028DEE44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
/* 028DEE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DEE4C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEE4C */ _t19 = _t18 & 0x00000001u;
/* 028DEE4C */ if (_t19) goto L_028DEE58; else goto L_028DEE50;
L_028DEE50: ; // 0x28dee50
/* 028DEE50 */ cpu->r[4] = cpu->r[31];
/* 028DEE54 */ Gambit_fn_028E8788(cpu);
L_028DEE58: ; // 0x28dee58
/* 028DEE58 */ _t20 = cpu->r[31] + 0x00000008u;
/* 028DEE58 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
L_028DEE5C: ; // 0x28dee5c
/* 028DEE5C */ _t21 = cpu->r[1] + 0x00000014u;
/* 028DEE5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028DEE60 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028DEE60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028DEE64 */ cpu->lr = cpu->r[0];
/* 028DEE68 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028DEE68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028DEE6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028DEE70 */ return;
}
// fn_028DEE74 @ 0x28dee74
void Gambit_fn_028DEE74(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028DEE74: ; // 0x28dee74
/* 028DEE74 */ cpu->r[0] = cpu->lr;
/* 028DEE78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028DEE78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DEE78 */ cpu->r[1] = _t0;
/* 028DEE7C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028DEE7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028DEE80 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028DEE80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028DEE84 */ cpu->r[31] = cpu->r[3];
/* 028DEE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DEE88 */ cpu->r[30] = cpu->r[4];
/* 028DEE8C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DEE8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DEE90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEE90 */ _t5 = _t4 & 0x00000001u;
/* 028DEE90 */ if (_t5) goto L_028DEEC4; else goto L_028DEE94;
L_028DEE94: ; // 0x28dee94
/* 028DEE94 */ cpu->r[0] = 0x10140000u;
/* 028DEE98 */ cpu->r[0] = cpu->r[0] + 0xFFFFB5C4u;
/* 028DEE9C */ cpu->r[3] = cpu->r[31];
/* 028DEEA0 */ _t6 = cpu->r[31] + 0x00000084u;
/* 028DEEA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028DEEA4 */ Gambit_fn_028DEDD8(cpu);
/* 028DEEA8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
/* 028DEEAC */ cpu->r[4] = 0x00000002u;
/* 028DEEB0 */ Gambit_fn_02836FA8(cpu);
/* 028DEEB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028DEEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DEEB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEEB8 */ _t8 = _t7 & 0x00000001u;
/* 028DEEB8 */ if (_t8) goto L_028DEEC4; else goto L_028DEEBC;
L_028DEEBC: ; // 0x28deebc
/* 028DEEBC */ cpu->r[3] = cpu->r[31];
/* 028DEEC0 */ Gambit_fn_02801BB0(cpu);
L_028DEEC4: ; // 0x28deec4
/* 028DEEC4 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028DEEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028DEEC8 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028DEEC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028DEECC */ cpu->lr = cpu->r[0];
/* 028DEED0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028DEED0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028DEED4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028DEED8 */ return;
}
// fn_028DEE78 @ 0x28dee78
void Gambit_fn_028DEE78(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028DEE78: ; // 0x28dee78
/* 028DEE78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028DEE78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DEE78 */ cpu->r[1] = _t0;
/* 028DEE7C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028DEE7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028DEE80 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028DEE80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028DEE84 */ cpu->r[31] = cpu->r[3];
/* 028DEE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DEE88 */ cpu->r[30] = cpu->r[4];
/* 028DEE8C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DEE8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DEE90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEE90 */ _t5 = _t4 & 0x00000001u;
/* 028DEE90 */ if (_t5) goto L_028DEEC4; else goto L_028DEE94;
L_028DEE94: ; // 0x28dee94
/* 028DEE94 */ cpu->r[0] = 0x10140000u;
/* 028DEE98 */ cpu->r[0] = cpu->r[0] + 0xFFFFB5C4u;
/* 028DEE9C */ cpu->r[3] = cpu->r[31];
/* 028DEEA0 */ _t6 = cpu->r[31] + 0x00000084u;
/* 028DEEA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028DEEA4 */ Gambit_fn_028DEDD8(cpu);
/* 028DEEA8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
/* 028DEEAC */ cpu->r[4] = 0x00000002u;
/* 028DEEB0 */ Gambit_fn_02836FA8(cpu);
/* 028DEEB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028DEEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DEEB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEEB8 */ _t8 = _t7 & 0x00000001u;
/* 028DEEB8 */ if (_t8) goto L_028DEEC4; else goto L_028DEEBC;
L_028DEEBC: ; // 0x28deebc
/* 028DEEBC */ cpu->r[3] = cpu->r[31];
/* 028DEEC0 */ Gambit_fn_02801BB0(cpu);
L_028DEEC4: ; // 0x28deec4
/* 028DEEC4 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028DEEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028DEEC8 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028DEEC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028DEECC */ cpu->lr = cpu->r[0];
/* 028DEED0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028DEED0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028DEED4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028DEED8 */ return;
}
// fn_028DEEDC @ 0x28deedc
void Gambit_fn_028DEEDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028DEEDC: ; // 0x28deedc
/* 028DEEDC */ cpu->r[10] = 0x10140000u;
/* 028DEEE0 */ cpu->r[0] = 0x00000001u;
/* 028DEEE4 */ _t0 = cpu->r[10] + 0xFFFFB5B0u;
/* 028DEEE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028DEEE8 */ cpu->r[10] = 0x00000000u;
/* 028DEEEC */ _t1 = cpu->r[3] + 0x00000014u;
/* 028DEEEC */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[0]);
/* 028DEEF0 */ cpu->r[0] = 0x00000000u;
/* 028DEEF4 */ _t2 = cpu->r[3] + 0x00000010u;
/* 028DEEF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
/* 028DEEF8 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
/* 028DEEFC */ _t3 = cpu->r[3] + 0x00000000u;
/* 028DEEFC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
/* 028DEF00 */ _t4 = cpu->r[3] + 0x00000016u;
/* 028DEF00 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
/* 028DEF04 */ _t5 = cpu->r[3] + 0x00000004u;
/* 028DEF04 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
/* 028DEF08 */ cpu->r[12] = 0x101D0000u;
/* 028DEF0C */ _t6 = cpu->r[3] + 0x0000000Cu;
/* 028DEF0C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028DEF10 */ _t7 = cpu->r[12] + 0xFFFF9ACCu;
/* 028DEF10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028DEF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028DEF18 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEF18 */ _t9 = _t8 & 0x00000001u;
/* 028DEF18 */ if (_t9) goto L_028DEF20; else goto L_028DEF1C;
L_028DEF1C: ; // 0x28def1c
/* 028DEF1C */ _t10 = cpu->r[12] + 0x00000028u;
/* 028DEF1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
L_028DEF20: ; // 0x28def20
/* 028DEF20 */ _t11 = cpu->r[3] + 0x00000008u;
/* 028DEF20 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028DEF24 */ return;
}
// fn_028DEF28 @ 0x28def28
void Gambit_fn_028DEF28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028DEF28: ; // 0x28def28
/* 028DEF28 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
/* 028DEF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DEF28 */ cpu->r[1] = _t0;
/* 028DEF2C */ /* nop */
/* 028DEF30 */ cpu->r[0] = cpu->lr;
/* 028DEF34 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028DEF34 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028DEF38 */ /* nop */
/* 028DEF3C */ _t2 = cpu->r[1] + 0x00000030u;
/* 028DEF3C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028DEF40 */ _t3 = cpu->r[1] + 0x00000028u;
/* 028DEF40 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028DEF44 */ /* nop */
/* 028DEF48 */ _t4 = cpu->r[1] + 0x00000038u;
/* 028DEF48 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028DEF4C */ _t5 = cpu->r[1] + 0x00000044u;
/* 028DEF4C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028DEF50 */ cpu->r[27] = cpu->r[3];
/* 028DEF54 */ _t6 = cpu->r[27] + 0x0000001Cu;
/* 028DEF54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028DEF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DEF5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEF5C */ _t8 = _t7 & 0x00000001u;
/* 028DEF5C */ if (_t8) goto L_028DEF68; else goto L_028DEF60;
L_028DEF60: ; // 0x28def60
/* 028DEF60 */ cpu->r[4] = cpu->r[27];
/* 028DEF64 */ Gambit_fn_028E8788(cpu);
L_028DEF68: ; // 0x28def68
/* 028DEF68 */ cpu->r[3] = cpu->r[27] + 0x0000000Cu;
/* 028DEF6C */ Gambit_fn_028DEEDC(cpu);
/* 028DEF70 */ cpu->r[3] = cpu->r[27];
/* 028DEF74 */ Gambit_fn_028DED90(cpu);
/* 028DEF78 */ cpu->r[0] = 0x00000000u;
/* 028DEF7C */ _t9 = cpu->r[27] + 0x00000040u;
/* 028DEF7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028DEF80 */ cpu->r[10] = 0xFFFFFFFFu;
/* 028DEF84 */ _t10 = cpu->r[27] + 0x00000028u;
/* 028DEF84 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
/* 028DEF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DEF8C */ _t11 = cpu->r[27] + 0x00000038u;
/* 028DEF8C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
/* 028DEF90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEF90 */ _t13 = _t12 & 0x00000001u;
/* 028DEF90 */ if (_t13) goto L_028DF014; else goto L_028DEF94;
L_028DEF94: ; // 0x28def94
/* 028DEF94 */ _t14 = cpu->r[27] + 0x0000003Cu;
/* 028DEF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028DEF98 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000090u);
/* 028DEF9C */ cpu->r[30] = cpu->r[31] + cpu->r[0];
/* 028DEFA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028DEFA4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DEFA4 */ _t16 = _t15 & 0x00000001u;
/* 028DEFA4 */ if (_t16) goto L_028DF014; else goto L_028DEFA8;
L_028DEFA8: ; // 0x28defa8
/* 028DEFA8 */ cpu->r[10] = 0x10140000u;
/* 028DEFAC */ cpu->r[12] = 0x10140000u;
/* 028DEFB0 */ _t17 = cpu->r[10] + 0xFFFFB5B0u;
/* 028DEFB0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t17);
/* 028DEFB4 */ cpu->r[28] = 0x101F0000u;
/* 028DEFB8 */ _t18 = cpu->r[12] + 0xFFFFB5B4u;
/* 028DEFB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
/* 028DEFBC */ cpu->r[29] = 0x00000000u;
L_028DEFC0: ; // 0x28defc0
/* 028DEFC0 */ _t19 = cpu->r[31] + 0x00000004u;
/* 028DEFC0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[31]);
/* 028DEFC4 */ cpu->r[3] = cpu->r[28] + 0x00005E00u;
/* 028DEFC8 */ _t20 = cpu->r[31] + 0x00000018u;
/* 028DEFC8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
/* 028DEFCC */ cpu->r[4] = cpu->r[31] + 0x00000024u;
/* 028DEFD0 */ _t21 = cpu->r[31] + 0x00000020u;
/* 028DEFD0 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
/* 028DEFD4 */ _t22 = cpu->r[31] + 0x00000014u;
/* 028DEFD4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[30]);
/* 028DEFD8 */ _t23 = cpu->r[31] + 0x00000008u;
/* 028DEFD8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[30]);
/* 028DEFDC */ _t24 = cpu->r[31] + 0x0000001Cu;
/* 028DEFDC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[30]);
/* 028DEFE0 */ _t25 = cpu->r[31] + 0x0000000Cu;
/* 028DEFE0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
/* 028DEFE4 */ _t26 = cpu->r[31] + 0x00000010u;
/* 028DEFE4 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[30]);
/* 028DEFE8 */ _t27 = cpu->r[31] + 0x00000000u;
/* 028DEFE8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[29]);
/* 028DEFEC */ Gambit_fn_02C69510(cpu);
/* 028DEFF0 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
/* 028DEFF4 */ cpu->r[3] = cpu->r[28] + 0x00005E00u;
/* 028DEFF8 */ Gambit_fn_02C69510(cpu);
/* 028DEFFC */ _t28 = cpu->r[31] + 0x00000084u;
/* 028DEFFC */ rbrew_write_f32(cpu->mem, _t28, cpu->f[30]);
/* 028DF000 */ _t29 = cpu->r[31] + 0x00000088u;
/* 028DF000 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
/* 028DF004 */ _t30 = cpu->r[31] + 0x0000008Cu;
/* 028DF004 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[30]);
/* 028DF008 */ cpu->r[31] = cpu->r[31] + 0x00000090u;
/* 028DF00C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028DF010 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF010 */ _t32 = _t31 & 0x00000001u;
/* 028DF010 */ if (_t32) goto L_028DF014; else goto L_028DEFC0;
L_028DF014: ; // 0x28df014
/* 028DF014 */ cpu->r[12] = 0x101F0000u;
/* 028DF018 */ _t33 = cpu->r[12] + 0x000071B0u;
/* 028DF018 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
/* 028DF01C */ _t34 = cpu->r[27] + 0x00000080u;
/* 028DF01C */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
/* 028DF020 */ /* nop */
/* 028DF024 */ _t35 = cpu->r[1] + 0x00000028u;
/* 028DF024 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t35);
/* 028DF028 */ _t36 = cpu->r[1] + 0x00000038u;
/* 028DF028 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
/* 028DF02C */ _t37 = cpu->r[1] + 0x00000020u;
/* 028DF02C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t37);
/* 028DF030 */ _t38 = cpu->r[1] + 0x00000030u;
/* 028DF030 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t38);
/* 028DF034 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF034 */ _t40 = _t39 & 0x00000001u;
/* 028DF034 */ if (_t40) goto L_028DF038; // else: addr-0 trap, fall-through
L_028DF038: ; // 0x28df038
/* 028DF038 */ _t41 = cpu->r[1] + 0x00000044u;
/* 028DF038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028DF03C */ cpu->lr = cpu->r[0];
/* 028DF040 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028DF044 */ return;
}
// fn_028DF048 @ 0x28df048
void Gambit_fn_028DF048(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028DF048: ; // 0x28df048
/* 028DF048 */ cpu->r[0] = cpu->lr;
/* 028DF04C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028DF04C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF04C */ cpu->r[1] = _t0;
/* 028DF050 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DF050 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DF054 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028DF054 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028DF058 */ /* nop */
/* 028DF05C */ cpu->r[31] = cpu->r[3];
/* 028DF060 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028DF060 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028DF064 */ cpu->r[3] = 0x101D0000u;
/* 028DF068 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028DF068 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF06C */ _t5 = cpu->r[3] + 0xFFFF9AC4u;
/* 028DF06C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028DF070 */ Gambit_fn_028DAE84(cpu);
/* 028DF074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF078 */ _t6 = cpu->r[31] + 0x00000024u;
/* 028DF078 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
/* 028DF07C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF07C */ _t8 = _t7 & 0x00000001u;
/* 028DF07C */ if (_t8) goto L_028DF0A4; else goto L_028DF080;
L_028DF080: ; // 0x28df080
/* 028DF080 */ _t9 = cpu->r[31] + 0x00000014u;
/* 028DF080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028DF084 */ Gambit_fn_028DB7A8(cpu);
/* 028DF088 */ _t10 = cpu->r[31] + 0x00000014u;
/* 028DF088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028DF08C */ cpu->f[31] = cpu->f[1];
/* 028DF090 */ Gambit_fn_028DB7BC(cpu);
/* 028DF094 */ cpu->f[2] = cpu->f[1];
/* 028DF098 */ cpu->f[1] = cpu->f[31];
/* 028DF09C */ _t11 = cpu->r[31] + 0x00000024u;
/* 028DF09C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028DF0A0 */ Gambit_fn_028DA8B4(cpu);
L_028DF0A4: ; // 0x28df0a4
/* 028DF0A4 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028DF0A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028DF0A8 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028DF0A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028DF0AC */ _t14 = cpu->r[1] + 0x00000010u;
/* 028DF0AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
/* 028DF0B0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF0B0 */ _t16 = _t15 & 0x00000001u;
/* 028DF0B0 */ if (_t16) goto L_028DF0B4; // else: addr-0 trap, fall-through
L_028DF0B4: ; // 0x28df0b4
/* 028DF0B4 */ _t17 = cpu->r[1] + 0x00000024u;
/* 028DF0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028DF0B8 */ cpu->lr = cpu->r[0];
/* 028DF0BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DF0C0 */ return;
}
// fn_028DF04C @ 0x28df04c
void Gambit_fn_028DF04C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028DF04C: ; // 0x28df04c
/* 028DF04C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028DF04C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF04C */ cpu->r[1] = _t0;
/* 028DF050 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DF050 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DF054 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028DF054 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028DF058 */ /* nop */
/* 028DF05C */ cpu->r[31] = cpu->r[3];
/* 028DF060 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028DF060 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028DF064 */ cpu->r[3] = 0x101D0000u;
/* 028DF068 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028DF068 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF06C */ _t5 = cpu->r[3] + 0xFFFF9AC4u;
/* 028DF06C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028DF070 */ Gambit_fn_028DAE84(cpu);
/* 028DF074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF078 */ _t6 = cpu->r[31] + 0x00000024u;
/* 028DF078 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
/* 028DF07C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF07C */ _t8 = _t7 & 0x00000001u;
/* 028DF07C */ if (_t8) goto L_028DF0A4; else goto L_028DF080;
L_028DF080: ; // 0x28df080
/* 028DF080 */ _t9 = cpu->r[31] + 0x00000014u;
/* 028DF080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028DF084 */ Gambit_fn_028DB7A8(cpu);
/* 028DF088 */ _t10 = cpu->r[31] + 0x00000014u;
/* 028DF088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028DF08C */ cpu->f[31] = cpu->f[1];
/* 028DF090 */ Gambit_fn_028DB7BC(cpu);
/* 028DF094 */ cpu->f[2] = cpu->f[1];
/* 028DF098 */ cpu->f[1] = cpu->f[31];
/* 028DF09C */ _t11 = cpu->r[31] + 0x00000024u;
/* 028DF09C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028DF0A0 */ Gambit_fn_028DA8B4(cpu);
L_028DF0A4: ; // 0x28df0a4
/* 028DF0A4 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028DF0A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028DF0A8 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028DF0A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028DF0AC */ _t14 = cpu->r[1] + 0x00000010u;
/* 028DF0AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
/* 028DF0B0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF0B0 */ _t16 = _t15 & 0x00000001u;
/* 028DF0B0 */ if (_t16) goto L_028DF0B4; // else: addr-0 trap, fall-through
L_028DF0B4: ; // 0x28df0b4
/* 028DF0B4 */ _t17 = cpu->r[1] + 0x00000024u;
/* 028DF0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028DF0B8 */ cpu->lr = cpu->r[0];
/* 028DF0BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DF0C0 */ return;
}
// fn_028DF0C4 @ 0x28df0c4
void Gambit_fn_028DF0C4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028DF0C4: ; // 0x28df0c4
/* 028DF0C4 */ cpu->r[0] = cpu->lr;
/* 028DF0C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028DF0C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF0C8 */ cpu->r[1] = _t0;
/* 028DF0CC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DF0CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DF0D0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028DF0D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DF0D4 */ cpu->r[30] = cpu->r[3];
/* 028DF0D8 */ cpu->r[31] = cpu->r[4];
/* 028DF0DC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF0DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DF0E0 */ Gambit_fn_028DEF28(cpu);
/* 028DF0E4 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
/* 028DF0E8 */ cpu->r[4] = cpu->r[31];
/* 028DF0EC */ cpu->r[5] = 0x00000018u;
/* 028DF0F0 */ cpu->r[6] = 0x00000000u;
/* 028DF0F4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028DF0F8 */ _t4 = cpu->r[30] + 0x00000014u;
/* 028DF0F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028DF0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF100 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF100 */ _t6 = _t5 & 0x00000001u;
/* 028DF100 */ if (_t6) goto L_028DF118; else goto L_028DF104;
L_028DF104: ; // 0x28df104
/* 028DF104 */ Gambit_fn_028DB7A0(cpu);
/* 028DF108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF10C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF10C */ _t8 = _t7 & 0x00000001u;
/* 028DF10C */ if (_t8) goto L_028DF118; else goto L_028DF110;
L_028DF110: ; // 0x28df110
/* 028DF110 */ cpu->r[3] = cpu->r[30];
/* 028DF114 */ Gambit_fn_028DF048(cpu);
L_028DF118: ; // 0x28df118
/* 028DF118 */ _t9 = cpu->r[30] + 0x0000001Cu;
/* 028DF118 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028DF11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF120 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF120 */ _t11 = _t10 & 0x00000001u;
/* 028DF120 */ if (_t11) goto L_028DF12C; else goto L_028DF124;
L_028DF124: ; // 0x28df124
/* 028DF124 */ cpu->r[4] = cpu->r[30];
/* 028DF128 */ Gambit_fn_028E871C(cpu);
L_028DF12C: ; // 0x28df12c
/* 028DF12C */ _t12 = cpu->r[1] + 0x00000014u;
/* 028DF12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028DF130 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028DF130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028DF134 */ cpu->lr = cpu->r[0];
/* 028DF138 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028DF138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028DF13C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028DF140 */ return;
}
// fn_028DF0C8 @ 0x28df0c8
void Gambit_fn_028DF0C8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028DF0C8: ; // 0x28df0c8
/* 028DF0C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028DF0C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF0C8 */ cpu->r[1] = _t0;
/* 028DF0CC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DF0CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DF0D0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028DF0D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DF0D4 */ cpu->r[30] = cpu->r[3];
/* 028DF0D8 */ cpu->r[31] = cpu->r[4];
/* 028DF0DC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF0DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DF0E0 */ Gambit_fn_028DEF28(cpu);
/* 028DF0E4 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
/* 028DF0E8 */ cpu->r[4] = cpu->r[31];
/* 028DF0EC */ cpu->r[5] = 0x00000018u;
/* 028DF0F0 */ cpu->r[6] = 0x00000000u;
/* 028DF0F4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028DF0F8 */ _t4 = cpu->r[30] + 0x00000014u;
/* 028DF0F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028DF0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF100 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF100 */ _t6 = _t5 & 0x00000001u;
/* 028DF100 */ if (_t6) goto L_028DF118; else goto L_028DF104;
L_028DF104: ; // 0x28df104
/* 028DF104 */ Gambit_fn_028DB7A0(cpu);
/* 028DF108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF10C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF10C */ _t8 = _t7 & 0x00000001u;
/* 028DF10C */ if (_t8) goto L_028DF118; else goto L_028DF110;
L_028DF110: ; // 0x28df110
/* 028DF110 */ cpu->r[3] = cpu->r[30];
/* 028DF114 */ Gambit_fn_028DF048(cpu);
L_028DF118: ; // 0x28df118
/* 028DF118 */ _t9 = cpu->r[30] + 0x0000001Cu;
/* 028DF118 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028DF11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF120 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF120 */ _t11 = _t10 & 0x00000001u;
/* 028DF120 */ if (_t11) goto L_028DF12C; else goto L_028DF124;
L_028DF124: ; // 0x28df124
/* 028DF124 */ cpu->r[4] = cpu->r[30];
/* 028DF128 */ Gambit_fn_028E871C(cpu);
L_028DF12C: ; // 0x28df12c
/* 028DF12C */ _t12 = cpu->r[1] + 0x00000014u;
/* 028DF12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028DF130 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028DF130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028DF134 */ cpu->lr = cpu->r[0];
/* 028DF138 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028DF138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028DF13C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028DF140 */ return;
}
// fn_028DF144 @ 0x28df144
void Gambit_fn_028DF144(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028DF144: ; // 0x28df144
/* 028DF144 */ cpu->r[0] = cpu->lr;
/* 028DF148 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028DF148 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF148 */ cpu->r[1] = _t0;
/* 028DF14C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028DF14C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028DF150 */ cpu->r[30] = cpu->r[3];
/* 028DF154 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028DF154 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028DF158 */ cpu->r[31] = cpu->r[30] + 0x00000044u;
/* 028DF15C */ cpu->r[3] = cpu->r[31];
/* 028DF160 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF160 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DF164 */ Gambit_fn_02836FFC(cpu);
/* 028DF168 */ cpu->r[0] = 0x00000000u;
/* 028DF16C */ _t4 = cpu->r[30] + 0x0000000Cu;
/* 028DF16C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF170 */ cpu->r[3] = cpu->r[31];
/* 028DF174 */ _t5 = cpu->r[30] + 0x00000010u;
/* 028DF174 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028DF178 */ Gambit_fn_02837030(cpu);
/* 028DF17C */ _t6 = cpu->r[1] + 0x00000014u;
/* 028DF17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028DF180 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028DF180 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
/* 028DF184 */ cpu->lr = cpu->r[0];
/* 028DF188 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028DF188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028DF18C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028DF190 */ return;
}
// fn_028DF148 @ 0x28df148
void Gambit_fn_028DF148(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028DF148: ; // 0x28df148
/* 028DF148 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028DF148 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF148 */ cpu->r[1] = _t0;
/* 028DF14C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028DF14C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028DF150 */ cpu->r[30] = cpu->r[3];
/* 028DF154 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028DF154 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028DF158 */ cpu->r[31] = cpu->r[30] + 0x00000044u;
/* 028DF15C */ cpu->r[3] = cpu->r[31];
/* 028DF160 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF160 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DF164 */ Gambit_fn_02836FFC(cpu);
/* 028DF168 */ cpu->r[0] = 0x00000000u;
/* 028DF16C */ _t4 = cpu->r[30] + 0x0000000Cu;
/* 028DF16C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF170 */ cpu->r[3] = cpu->r[31];
/* 028DF174 */ _t5 = cpu->r[30] + 0x00000010u;
/* 028DF174 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028DF178 */ Gambit_fn_02837030(cpu);
/* 028DF17C */ _t6 = cpu->r[1] + 0x00000014u;
/* 028DF17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028DF180 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028DF180 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
/* 028DF184 */ cpu->lr = cpu->r[0];
/* 028DF188 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028DF188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028DF18C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028DF190 */ return;
}
// fn_028DF194 @ 0x28df194
void Gambit_fn_028DF194(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_028DF194: ; // 0x28df194
/* 028DF194 */ cpu->r[0] = cpu->lr;
/* 028DF198 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028DF198 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF198 */ cpu->r[1] = _t0;
/* 028DF19C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DF19C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028DF1A0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028DF1A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DF1A4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF1A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028DF1A8 */ cpu->r[30] = cpu->r[3];
/* 028DF1AC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028DF1AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF1B0 */ _t5 = cpu->r[30] + 0x0000001Cu;
/* 028DF1B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028DF1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DF1B8 */ cpu->r[31] = cpu->r[4];
/* 028DF1BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF1BC */ _t7 = _t6 & 0x00000001u;
/* 028DF1BC */ if (_t7) goto L_028DF1C0; else goto L_028DF1E0;
L_028DF1C0: ; // 0x28df1c0
/* 028DF1C0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028DF1C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028DF1C4 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028DF1C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028DF1C8 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028DF1C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028DF1CC */ cpu->lr = cpu->r[0];
/* 028DF1D0 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028DF1D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028DF1D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028DF1D8 */ cpu->r[3] = 0x00000000u;
/* 028DF1DC */ return;
L_028DF1E0: ; // 0x28df1e0
/* 028DF1E0 */ cpu->r[29] = cpu->r[30] + 0x00000044u;
/* 028DF1E4 */ cpu->r[3] = cpu->r[29];
/* 028DF1E8 */ Gambit_fn_02836FFC(cpu);
/* 028DF1EC */ _t12 = cpu->r[30] + 0x0000001Cu;
/* 028DF1EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028DF1F0 */ cpu->r[4] = cpu->r[30];
/* 028DF1F4 */ Gambit_fn_028E8788(cpu);
/* 028DF1F8 */ cpu->r[0] = 0x00000000u;
/* 028DF1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DF200 */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028DF200 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028DF204 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF204 */ _t15 = _t14 & 0x00000001u;
/* 028DF204 */ if (_t15) goto L_028DF210; else goto L_028DF208;
L_028DF208: ; // 0x28df208
/* 028DF208 */ cpu->r[3] = cpu->r[30];
/* 028DF20C */ Gambit_fn_028DF144(cpu);
L_028DF210: ; // 0x28df210
/* 028DF210 */ cpu->r[3] = cpu->r[29];
/* 028DF214 */ Gambit_fn_02837030(cpu);
/* 028DF218 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028DF218 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028DF21C */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028DF21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028DF220 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028DF220 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028DF224 */ cpu->lr = cpu->r[0];
/* 028DF228 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028DF228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028DF22C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028DF230 */ cpu->r[3] = 0x00000001u;
/* 028DF234 */ return;
}
// fn_028DF198 @ 0x28df198
void Gambit_fn_028DF198(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_028DF198: ; // 0x28df198
/* 028DF198 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028DF198 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF198 */ cpu->r[1] = _t0;
/* 028DF19C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DF19C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028DF1A0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028DF1A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DF1A4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF1A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028DF1A8 */ cpu->r[30] = cpu->r[3];
/* 028DF1AC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028DF1AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF1B0 */ _t5 = cpu->r[30] + 0x0000001Cu;
/* 028DF1B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028DF1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DF1B8 */ cpu->r[31] = cpu->r[4];
/* 028DF1BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF1BC */ _t7 = _t6 & 0x00000001u;
/* 028DF1BC */ if (_t7) goto L_028DF1C0; else goto L_028DF1E0;
L_028DF1C0: ; // 0x28df1c0
/* 028DF1C0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028DF1C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028DF1C4 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028DF1C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028DF1C8 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028DF1C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028DF1CC */ cpu->lr = cpu->r[0];
/* 028DF1D0 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028DF1D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028DF1D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028DF1D8 */ cpu->r[3] = 0x00000000u;
/* 028DF1DC */ return;
L_028DF1E0: ; // 0x28df1e0
/* 028DF1E0 */ cpu->r[29] = cpu->r[30] + 0x00000044u;
/* 028DF1E4 */ cpu->r[3] = cpu->r[29];
/* 028DF1E8 */ Gambit_fn_02836FFC(cpu);
/* 028DF1EC */ _t12 = cpu->r[30] + 0x0000001Cu;
/* 028DF1EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028DF1F0 */ cpu->r[4] = cpu->r[30];
/* 028DF1F4 */ Gambit_fn_028E8788(cpu);
/* 028DF1F8 */ cpu->r[0] = 0x00000000u;
/* 028DF1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DF200 */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028DF200 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028DF204 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF204 */ _t15 = _t14 & 0x00000001u;
/* 028DF204 */ if (_t15) goto L_028DF210; else goto L_028DF208;
L_028DF208: ; // 0x28df208
/* 028DF208 */ cpu->r[3] = cpu->r[30];
/* 028DF20C */ Gambit_fn_028DF144(cpu);
L_028DF210: ; // 0x28df210
/* 028DF210 */ cpu->r[3] = cpu->r[29];
/* 028DF214 */ Gambit_fn_02837030(cpu);
/* 028DF218 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028DF218 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028DF21C */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028DF21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028DF220 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028DF220 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028DF224 */ cpu->lr = cpu->r[0];
/* 028DF228 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028DF228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028DF22C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028DF230 */ cpu->r[3] = 0x00000001u;
/* 028DF234 */ return;
}
// fn_028DF238 @ 0x28df238
void Gambit_fn_028DF238(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028DF238: ; // 0x28df238
/* 028DF238 */ _t0 = cpu->r[3] + 0x00000040u;
/* 028DF238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028DF23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028DF240 */ cpu->r[0] = 0x00000000u;
/* 028DF244 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF244 */ _t2 = _t1 & 0x00000001u;
/* 028DF244 */ if (_t2) goto L_028DF24C; else goto L_028DF248;
L_028DF248: ; // 0x28df248
/* 028DF248 */ _t3 = cpu->r[3] + 0x0000003Cu;
/* 028DF248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
L_028DF24C: ; // 0x28df24c
/* 028DF24C */ cpu->r[3] = cpu->r[0];
/* 028DF250 */ return;
}
// fn_028DF254 @ 0x28df254
void Gambit_fn_028DF254(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028DF254: ; // 0x28df254
/* 028DF254 */ cpu->r[0] = cpu->lr;
/* 028DF258 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028DF258 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028DF25C */ cpu->r[11] = cpu->r[3];
/* 028DF260 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028DF260 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028DF260 */ cpu->r[1] = _t1;
/* 028DF264 */ _t2 = cpu->r[11] + 0x00000040u;
/* 028DF264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
/* 028DF268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028DF26C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF26C */ _t4 = _t3 & 0x00000001u;
/* 028DF26C */ if (_t4) goto L_028DF2AC; else goto L_028DF270;
L_028DF270: ; // 0x28df270
/* 028DF270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028DF274 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF274 */ _t6 = _t5 & 0x00000001u;
/* 028DF274 */ if (_t6) goto L_028DF2AC; else goto L_028DF278;
L_028DF278: ; // 0x28df278
/* 028DF278 */ cpu->r[3] = cpu->r[11];
/* 028DF27C */ Gambit_fn_028DF238(cpu);
/* 028DF280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028DF284 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF284 */ _t8 = _t7 & 0x00000001u;
/* 028DF284 */ if (_t8) goto L_028DF288; else goto L_028DF2AC;
L_028DF288: ; // 0x28df288
/* 028DF288 */ _t9 = cpu->r[11] + 0x0000003Cu;
/* 028DF288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028DF28C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028DF290 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF290 */ _t11 = _t10 & 0x00000001u;
/* 028DF290 */ if (_t11) goto L_028DF294; else goto L_028DF2AC;
L_028DF294: ; // 0x28df294
/* 028DF294 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000090u);
/* 028DF298 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
/* 028DF29C */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028DF29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028DF2A0 */ cpu->lr = cpu->r[0];
/* 028DF2A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028DF2A8 */ return;
L_028DF2AC: ; // 0x28df2ac
/* 028DF2AC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028DF2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028DF2B0 */ cpu->lr = cpu->r[0];
/* 028DF2B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028DF2B8 */ cpu->r[3] = 0x00000000u;
/* 028DF2BC */ return;
}
// fn_028DF260 @ 0x28df260
void Gambit_fn_028DF260(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028DF260: ; // 0x28df260
/* 028DF260 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028DF260 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF260 */ cpu->r[1] = _t0;
/* 028DF264 */ _t1 = cpu->r[11] + 0x00000040u;
/* 028DF264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
/* 028DF268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028DF26C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF26C */ _t3 = _t2 & 0x00000001u;
/* 028DF26C */ if (_t3) goto L_028DF2AC; else goto L_028DF270;
L_028DF270: ; // 0x28df270
/* 028DF270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028DF274 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF274 */ _t5 = _t4 & 0x00000001u;
/* 028DF274 */ if (_t5) goto L_028DF2AC; else goto L_028DF278;
L_028DF278: ; // 0x28df278
/* 028DF278 */ cpu->r[3] = cpu->r[11];
/* 028DF27C */ Gambit_fn_028DF238(cpu);
/* 028DF280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028DF284 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF284 */ _t7 = _t6 & 0x00000001u;
/* 028DF284 */ if (_t7) goto L_028DF288; else goto L_028DF2AC;
L_028DF288: ; // 0x28df288
/* 028DF288 */ _t8 = cpu->r[11] + 0x0000003Cu;
/* 028DF288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028DF28C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028DF290 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF290 */ _t10 = _t9 & 0x00000001u;
/* 028DF290 */ if (_t10) goto L_028DF294; else goto L_028DF2AC;
L_028DF294: ; // 0x28df294
/* 028DF294 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000090u);
/* 028DF298 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
/* 028DF29C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028DF29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028DF2A0 */ cpu->lr = cpu->r[0];
/* 028DF2A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028DF2A8 */ return;
L_028DF2AC: ; // 0x28df2ac
/* 028DF2AC */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028DF2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028DF2B0 */ cpu->lr = cpu->r[0];
/* 028DF2B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028DF2B8 */ cpu->r[3] = 0x00000000u;
/* 028DF2BC */ return;
}
// fn_028DF2C0 @ 0x28df2c0
void Gambit_fn_028DF2C0(CPUState* cpu) {
uint32_t _t0;
L_028DF2C0: ; // 0x28df2c0
/* 028DF2C0 */ _t0 = cpu->r[3] + 0x00000020u;
/* 028DF2C0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
/* 028DF2C4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028DF2C8 */ return;
}
// fn_028DF2CC @ 0x28df2cc
void Gambit_fn_028DF2CC(CPUState* cpu) {
uint32_t _t0;
L_028DF2CC: ; // 0x28df2cc
/* 028DF2CC */ _t0 = cpu->r[3] + 0x00000020u;
/* 028DF2CC */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
/* 028DF2D0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028DF2D4 */ return;
}
// fn_028DF2D8 @ 0x28df2d8
void Gambit_fn_028DF2D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028DF2D8: ; // 0x28df2d8
/* 028DF2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028DF2DC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF2DC */ _t1 = _t0 & 0x00000001u;
/* 028DF2DC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028DF2DC */ goto L_028DF2E0;
L_028DF2E0: ; // 0x28df2e0
/* 028DF2E0 */ cpu->r[12] = 0x10140000u;
/* 028DF2E4 */ _t2 = cpu->r[12] + 0xFFFFB5B0u;
/* 028DF2E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028DF2E8 */ _t3 = cpu->r[4] + 0x00000014u;
/* 028DF2E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
/* 028DF2EC */ _t4 = cpu->r[4] + 0x00000004u;
/* 028DF2EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
/* 028DF2F0 */ _t5 = cpu->r[4] + 0x00000010u;
/* 028DF2F0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
/* 028DF2F4 */ _t6 = cpu->r[4] + 0x00000008u;
/* 028DF2F4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028DF2F8 */ _t7 = cpu->r[4] + 0x00000018u;
/* 028DF2F8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028DF2FC */ return;
}
// fn_028DF300 @ 0x28df300
void Gambit_fn_028DF300(CPUState* cpu) {
uint32_t _t0;
L_028DF300: ; // 0x28df300
/* 028DF300 */ cpu->r[12] = 0x101D0000u;
/* 028DF304 */ cpu->f[13] = fabs(cpu->f[1]);
/* 028DF308 */ _t0 = cpu->r[12] + 0xFFFF9ADCu;
/* 028DF308 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028DF30C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028DF310 */ /* nop */
/* 028DF314 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
/* 028DF318 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u;
/* 028DF31C */ return;
}
// fn_028DF320 @ 0x28df320
void Gambit_fn_028DF320(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028DF320: ; // 0x28df320
/* 028DF320 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
/* 028DF320 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF320 */ cpu->r[1] = _t0;
/* 028DF324 */ _t1 = cpu->r[1] + 0x00000078u;
/* 028DF324 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028DF328 */ cpu->r[0] = cpu->lr;
/* 028DF32C */ _t2 = cpu->r[1] + 0x00000058u;
/* 028DF32C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
/* 028DF330 */ /* nop */
/* 028DF334 */ _t3 = cpu->r[1] + 0x00000068u;
/* 028DF334 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
/* 028DF338 */ /* nop */
/* 028DF33C */ _t4 = cpu->r[1] + 0x00000060u;
/* 028DF33C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028DF340 */ /* nop */
/* 028DF344 */ _t5 = cpu->r[1] + 0x00000080u;
/* 028DF344 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
/* 028DF348 */ _t6 = cpu->r[1] + 0x00000070u;
/* 028DF348 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
/* 028DF34C */ _t7 = cpu->r[1] + 0x0000008Cu;
/* 028DF34C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028DF350 */ /* nop */
/* 028DF354 */ cpu->r[28] = cpu->r[3];
/* 028DF358 */ cpu->r[29] = cpu->r[4];
/* 028DF358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028DF35C */ cpu->r[27] = cpu->r[5];
/* 028DF360 */ cpu->r[30] = cpu->r[6];
/* 028DF364 */ cpu->r[31] = cpu->r[7];
/* 028DF368 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF368 */ _t9 = _t8 & 0x00000001u;
/* 028DF368 */ if (_t9) goto L_028DF560; else goto L_028DF36C;
L_028DF36C: ; // 0x28df36c
/* 028DF36C */ _t10 = cpu->r[28] + 0x00000014u;
/* 028DF36C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
/* 028DF370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028DF374 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF374 */ _t12 = _t11 & 0x00000001u;
/* 028DF374 */ if (_t12) goto L_028DF6B8; else goto L_028DF378;
L_028DF378: ; // 0x28df378
/* 028DF378 */ _t13 = cpu->r[29] + 0x00000084u;
/* 028DF378 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t13);
/* 028DF37C */ Gambit_fn_028ED268(cpu);
/* 028DF380 */ _t14 = cpu->r[29] + 0x00000088u;
/* 028DF380 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
/* 028DF384 */ _t15 = cpu->r[28] + 0x00000014u;
/* 028DF384 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028DF388 */ cpu->f[29] = cpu->f[1] * cpu->f[13];
/* 028DF38C */ Gambit_fn_028DB6F4(cpu);
/* 028DF390 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[1]);
/* 028DF394 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF394 */ _t17 = _t16 & 0x00000001u;
/* 028DF394 */ if (_t17) goto L_028DF3B8; else goto L_028DF398;
L_028DF398: ; // 0x28df398
/* 028DF398 */ cpu->r[3] = cpu->r[28];
/* 028DF39C */ cpu->r[4] = cpu->r[29];
/* 028DF3A0 */ Gambit_fn_028DF2D8(cpu);
/* 028DF3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DF3A8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF3A8 */ _t19 = _t18 & 0x00000001u;
/* 028DF3A8 */ if (_t19) goto L_028DF560; else goto L_028DF3AC;
L_028DF3AC: ; // 0x28df3ac
/* 028DF3AC */ cpu->r[10] = 0x00010000u;
/* 028DF3B0 */ _t20 = cpu->r[31] + 0x00000000u;
/* 028DF3B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
/* 028DF3B4 */ goto L_028DF560;
L_028DF3B8: ; // 0x28df3b8
/* 028DF3B8 */ cpu->r[0] = 0x00000004u;
/* 028DF3BC */ _t21 = cpu->r[28] + 0x00000014u;
/* 028DF3BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
/* 028DF3C0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028DF3C4 */ _t22 = cpu->r[1] + 0x00000018u;
/* 028DF3C4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028DF3C8 */ Gambit_fn_028DB650(cpu);
/* 028DF3CC */ cpu->r[11] = 0x10140000u;
/* 028DF3D0 */ cpu->r[8] = 0x10140000u;
/* 028DF3D4 */ _t23 = cpu->r[11] + 0xFFFFB5B0u;
/* 028DF3D4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t23);
/* 028DF3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF3DC */ _t24 = cpu->r[8] + 0xFFFFB5B4u;
/* 028DF3DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028DF3E0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF3E0 */ _t26 = _t25 & 0x00000001u;
/* 028DF3E0 */ if (_t26) goto L_028DF41C; else goto L_028DF3E4;
L_028DF3E4: ; // 0x28df3e4
/* 028DF3E4 */ cpu->f[1] = cpu->f[29];
/* 028DF3E8 */ Gambit_fn_028EDA38(cpu);
/* 028DF3EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
/* 028DF3F0 */ _t27 = cpu->r[29] + 0x00000018u;
/* 028DF3F0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[1]);
/* 028DF3F4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF3F4 */ _t29 = _t28 & 0x00000001u;
/* 028DF3F4 */ if (_t29) goto L_028DF3F8; else goto L_028DF420;
L_028DF3F8: ; // 0x28df3f8
/* 028DF3F8 */ cpu->r[3] = cpu->r[28];
/* 028DF3FC */ cpu->r[4] = cpu->r[29];
/* 028DF400 */ Gambit_fn_028DF2D8(cpu);
/* 028DF404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DF408 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF408 */ _t31 = _t30 & 0x00000001u;
/* 028DF408 */ if (_t31) goto L_028DF560; else goto L_028DF40C;
L_028DF40C: ; // 0x28df40c
/* 028DF40C */ cpu->r[10] = 0x00010000u;
/* 028DF410 */ cpu->r[10] = cpu->r[10] + 0x00000002u;
/* 028DF414 */ _t32 = cpu->r[31] + 0x00000000u;
/* 028DF414 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
/* 028DF418 */ goto L_028DF560;
L_028DF41C: ; // 0x28df41c
/* 028DF41C */ _t33 = cpu->r[29] + 0x00000018u;
/* 028DF41C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[31]);
L_028DF420: ; // 0x28df420
/* 028DF420 */ cpu->r[0] = 0x00000000u;
/* 028DF424 */ _t34 = cpu->r[28] + 0x00000014u;
/* 028DF424 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
/* 028DF428 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
/* 028DF42C */ _t35 = cpu->r[1] + 0x0000001Cu;
/* 028DF42C */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
/* 028DF430 */ Gambit_fn_028DB650(cpu);
/* 028DF434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF438 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF438 */ _t37 = _t36 & 0x00000001u;
/* 028DF438 */ if (_t37) goto L_028DF458; else goto L_028DF43C;
L_028DF43C: ; // 0x28df43c
/* 028DF43C */ cpu->f[1] = cpu->f[29];
/* 028DF440 */ Gambit_fn_028EDA38(cpu);
/* 028DF444 */ _t38 = cpu->r[29] + 0x00000004u;
/* 028DF444 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[1]);
/* 028DF448 */ _t39 = cpu->r[28] + 0x00000024u;
/* 028DF448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028DF44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028DF450 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF450 */ _t41 = _t40 & 0x00000001u;
/* 028DF450 */ if (_t41) goto L_028DF4A4; else goto L_028DF454;
L_028DF454: ; // 0x28df454
/* 028DF454 */ goto L_028DF468;
L_028DF458: ; // 0x28df458
/* 028DF458 */ _t42 = cpu->r[29] + 0x00000004u;
/* 028DF458 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[31]);
/* 028DF45C */ _t43 = cpu->r[28] + 0x00000024u;
/* 028DF45C */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028DF460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028DF464 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF464 */ _t45 = _t44 & 0x00000001u;
/* 028DF464 */ if (_t45) goto L_028DF4A4; else goto L_028DF468;
L_028DF468: ; // 0x28df468
/* 028DF468 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
/* 028DF46C */ cpu->r[4] = cpu->r[27] + 0x00000110u;
/* 028DF470 */ Gambit_fn_0200D450(cpu);
/* 028DF474 */ _t46 = cpu->r[28] + 0x00000024u;
/* 028DF474 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
/* 028DF478 */ cpu->r[4] = cpu->r[29] + 0x00000024u;
/* 028DF47C */ Gambit_fn_028DA7F8(cpu);
/* 028DF480 */ _t47 = cpu->r[28] + 0x00000024u;
/* 028DF480 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
/* 028DF484 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
/* 028DF488 */ Gambit_fn_028DAAFC(cpu);
/* 028DF48C */ _t48 = cpu->r[29] + 0x0000008Cu;
/* 028DF48C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[1]);
/* 028DF490 */ _t49 = cpu->r[28] + 0x00000014u;
/* 028DF490 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
/* 028DF494 */ Gambit_fn_028DB7D0(cpu);
/* 028DF498 */ _t50 = cpu->r[29] + 0x00000004u;
/* 028DF498 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t50);
/* 028DF49C */ cpu->f[11] = cpu->f[11] * cpu->f[1];
/* 028DF4A0 */ _t51 = cpu->r[29] + 0x00000004u;
/* 028DF4A0 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[11]);
L_028DF4A4: ; // 0x28df4a4
/* 028DF4A4 */ cpu->f[1] = cpu->f[29];
/* 028DF4A8 */ _t52 = cpu->r[28] + 0x00000014u;
/* 028DF4A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028DF4AC */ Gambit_fn_028DB714(cpu);
/* 028DF4B0 */ _t53 = cpu->r[29] + 0x00000004u;
/* 028DF4B0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
/* 028DF4B4 */ cpu->f[1] = cpu->f[11] * cpu->f[1];
/* 028DF4B8 */ cpu->r[3] = cpu->r[28];
/* 028DF4BC */ _t54 = cpu->r[29] + 0x00000004u;
/* 028DF4BC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[1]);
/* 028DF4C0 */ Gambit_fn_028DF300(cpu);
/* 028DF4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF4C8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF4C8 */ _t56 = _t55 & 0x00000001u;
/* 028DF4C8 */ if (_t56) goto L_028DF4CC; else goto L_028DF540;
L_028DF4CC: ; // 0x28df4cc
/* 028DF4CC */ _t57 = cpu->r[29] + 0x00000010u;
/* 028DF4CC */ rbrew_write_f32(cpu->mem, _t57, cpu->f[30]);
/* 028DF4D0 */ _t58 = cpu->r[28] + 0x00000014u;
/* 028DF4D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
/* 028DF4D4 */ Gambit_fn_028DB83C(cpu);
/* 028DF4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF4DC */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF4DC */ _t60 = _t59 & 0x00000001u;
/* 028DF4DC */ if (_t60) goto L_028DF5A4; else goto L_028DF4E0;
L_028DF4E0: ; // 0x28df4e0
/* 028DF4E0 */ _t61 = cpu->r[1] + 0x0000000Cu;
/* 028DF4E0 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[30]);
/* 028DF4E4 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
/* 028DF4E8 */ _t62 = cpu->r[1] + 0x00000008u;
/* 028DF4E8 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[30]);
/* 028DF4EC */ cpu->r[4] = cpu->r[29] + 0x00000024u;
/* 028DF4F0 */ _t63 = cpu->r[1] + 0x00000014u;
/* 028DF4F0 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[30]);
/* 028DF4F4 */ _t64 = cpu->r[1] + 0x00000010u;
/* 028DF4F4 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[30]);
/* 028DF4F8 */ Gambit_fn_0200D450(cpu);
/* 028DF4FC */ cpu->r[3] = 0x101D0000u;
/* 028DF500 */ cpu->r[5] = cpu->r[30];
/* 028DF504 */ _t65 = cpu->r[3] + 0xFFFF9ABCu;
/* 028DF504 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
/* 028DF508 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
/* 028DF50C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028DF510 */ Gambit_fn_028D80F4(cpu);
/* 028DF514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF518 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF518 */ _t67 = _t66 & 0x00000001u;
/* 028DF518 */ if (_t67) goto L_028DF5A4; else goto L_028DF51C;
L_028DF51C: ; // 0x28df51c
/* 028DF51C */ _t68 = cpu->r[1] + 0x00000008u;
/* 028DF51C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t68);
/* 028DF520 */ Gambit_fn_02C8B9A0(cpu);
/* 028DF524 */ _t69 = cpu->r[29] + 0x00000004u;
/* 028DF524 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t69);
/* 028DF528 */ cpu->f[1] = cpu->f[11] * cpu->f[1];
/* 028DF52C */ cpu->r[3] = cpu->r[28];
/* 028DF530 */ _t70 = cpu->r[29] + 0x00000004u;
/* 028DF530 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[1]);
/* 028DF534 */ Gambit_fn_028DF300(cpu);
/* 028DF538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF53C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF53C */ _t72 = _t71 & 0x00000001u;
/* 028DF53C */ if (_t72) goto L_028DF594; else goto L_028DF540;
L_028DF540: ; // 0x28df540
/* 028DF540 */ cpu->r[3] = cpu->r[28];
/* 028DF544 */ cpu->r[4] = cpu->r[29];
/* 028DF548 */ Gambit_fn_028DF2D8(cpu);
/* 028DF54C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DF550 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF550 */ _t74 = _t73 & 0x00000001u;
/* 028DF550 */ if (_t74) goto L_028DF560; else goto L_028DF554;
L_028DF554: ; // 0x28df554
/* 028DF554 */ cpu->r[10] = 0x00010000u;
/* 028DF558 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028DF55C */ _t75 = cpu->r[31] + 0x00000000u;
/* 028DF55C */ rbrew_write32(cpu->mem, _t75, cpu->r[10]);
L_028DF560: ; // 0x28df560
/* 028DF560 */ /* nop */
/* 028DF564 */ _t76 = cpu->r[1] + 0x00000060u;
/* 028DF564 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t76);
/* 028DF568 */ _t77 = cpu->r[1] + 0x00000080u;
/* 028DF568 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t77);
/* 028DF56C */ _t78 = cpu->r[1] + 0x00000058u;
/* 028DF56C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t78);
/* 028DF570 */ _t79 = cpu->r[1] + 0x00000070u;
/* 028DF570 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t79);
/* 028DF574 */ _t80 = cpu->r[1] + 0x00000078u;
/* 028DF574 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t80);
/* 028DF578 */ _t81 = cpu->r[1] + 0x00000068u;
/* 028DF578 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t81);
/* 028DF57C */ cpu->r[3] = 0x00000000u;
/* 028DF580 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF580 */ _t83 = _t82 & 0x00000001u;
/* 028DF580 */ if (_t83) goto L_028DF584; // else: addr-0 trap, fall-through
L_028DF584: ; // 0x28df584
/* 028DF584 */ _t84 = cpu->r[1] + 0x0000008Cu;
/* 028DF584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
/* 028DF588 */ cpu->lr = cpu->r[0];
/* 028DF58C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
/* 028DF590 */ return;
L_028DF594: ; // 0x28df594
/* 028DF594 */ _t85 = cpu->r[29] + 0x00000010u;
/* 028DF594 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t85);
/* 028DF598 */ _t86 = cpu->r[1] + 0x0000000Cu;
/* 028DF598 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t86);
/* 028DF59C */ cpu->f[12] = cpu->f[12] + cpu->f[13];
/* 028DF5A0 */ _t87 = cpu->r[29] + 0x00000010u;
/* 028DF5A0 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[12]);
L_028DF5A4: ; // 0x28df5a4
/* 028DF5A4 */ cpu->r[0] = 0x00000002u;
/* 028DF5A8 */ _t88 = cpu->r[28] + 0x00000014u;
/* 028DF5A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
/* 028DF5AC */ cpu->r[4] = cpu->r[1] + 0x00000020u;
/* 028DF5B0 */ _t89 = cpu->r[1] + 0x00000020u;
/* 028DF5B0 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
/* 028DF5B4 */ Gambit_fn_028DB650(cpu);
/* 028DF5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF5BC */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF5BC */ _t91 = _t90 & 0x00000001u;
/* 028DF5BC */ if (_t91) goto L_028DF5D4; else goto L_028DF5C0;
L_028DF5C0: ; // 0x28df5c0
/* 028DF5C0 */ cpu->f[1] = cpu->f[29];
/* 028DF5C4 */ Gambit_fn_028EDA38(cpu);
/* 028DF5C8 */ _t92 = cpu->r[29] + 0x00000010u;
/* 028DF5C8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t92);
/* 028DF5CC */ cpu->f[12] = cpu->f[12] + cpu->f[1];
/* 028DF5D0 */ _t93 = cpu->r[29] + 0x00000010u;
/* 028DF5D0 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[12]);
L_028DF5D4: ; // 0x28df5d4
/* 028DF5D4 */ _t94 = cpu->r[28] + 0x00000024u;
/* 028DF5D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
/* 028DF5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028DF5DC */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF5DC */ _t96 = _t95 & 0x00000001u;
/* 028DF5DC */ if (_t96) goto L_028DF5E0; else goto L_028DF5F0;
L_028DF5E0: ; // 0x28df5e0
/* 028DF5E0 */ _t97 = cpu->r[29] + 0x00000010u;
/* 028DF5E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t97);
/* 028DF5E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[30]);
/* 028DF5E8 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF5E8 */ _t99 = _t98 & 0x00000001u;
/* 028DF5E8 */ if (_t99) goto L_028DF60C; else goto L_028DF5EC;
L_028DF5EC: ; // 0x28df5ec
/* 028DF5EC */ goto L_028DF630;
L_028DF5F0: ; // 0x28df5f0
/* 028DF5F0 */ _t100 = cpu->r[28] + 0x00000014u;
/* 028DF5F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t100);
/* 028DF5F4 */ _t101 = cpu->r[29] + 0x0000008Cu;
/* 028DF5F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t101);
/* 028DF5F8 */ Gambit_fn_028DB80C(cpu);
/* 028DF5FC */ _t102 = cpu->r[29] + 0x00000010u;
/* 028DF5FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t102);
/* 028DF600 */ cpu->f[0] = cpu->f[0] + cpu->f[1];
/* 028DF604 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[30]);
/* 028DF608 */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF608 */ _t104 = _t103 & 0x00000001u;
/* 028DF608 */ if (_t104) goto L_028DF60C; else goto L_028DF630;
L_028DF60C: ; // 0x28df60c
/* 028DF60C */ _t105 = cpu->r[29] + 0x00000010u;
/* 028DF60C */ rbrew_write_f32(cpu->mem, _t105, cpu->f[30]);
/* 028DF610 */ cpu->r[11] = 0x00000001u;
/* 028DF614 */ _t106 = cpu->r[28] + 0x00000014u;
/* 028DF614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
/* 028DF618 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
/* 028DF61C */ _t107 = cpu->r[1] + 0x00000024u;
/* 028DF61C */ rbrew_write32(cpu->mem, _t107, cpu->r[11]);
/* 028DF620 */ Gambit_fn_028DB650(cpu);
/* 028DF624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF628 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF628 */ _t109 = _t108 & 0x00000001u;
/* 028DF628 */ if (_t109) goto L_028DF688; else goto L_028DF62C;
L_028DF62C: ; // 0x28df62c
/* 028DF62C */ goto L_028DF65C;
L_028DF630: ; // 0x28df630
/* 028DF630 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028DF634 */ _t110 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028DF634 */ _t111 = _t110 & 0x00000001u;
/* 028DF634 */ if (_t111) goto L_028DF638; else goto L_028DF63C;
L_028DF638: ; // 0x28df638
/* 028DF638 */ cpu->f[0] = cpu->f[31];
L_028DF63C: ; // 0x28df63c
/* 028DF63C */ _t112 = cpu->r[29] + 0x00000010u;
/* 028DF63C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[0]);
/* 028DF640 */ cpu->r[11] = 0x00000001u;
/* 028DF644 */ _t113 = cpu->r[28] + 0x00000014u;
/* 028DF644 */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
/* 028DF648 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
/* 028DF64C */ _t114 = cpu->r[1] + 0x00000024u;
/* 028DF64C */ rbrew_write32(cpu->mem, _t114, cpu->r[11]);
/* 028DF650 */ Gambit_fn_028DB650(cpu);
/* 028DF654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF658 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF658 */ _t116 = _t115 & 0x00000001u;
/* 028DF658 */ if (_t116) goto L_028DF688; else goto L_028DF65C;
L_028DF65C: ; // 0x28df65c
/* 028DF65C */ cpu->f[1] = cpu->f[29];
/* 028DF660 */ Gambit_fn_028EDA38(cpu);
/* 028DF664 */ _t117 = cpu->r[29] + 0x00000008u;
/* 028DF664 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[1]);
/* 028DF668 */ cpu->r[12] = 0x00000003u;
/* 028DF66C */ _t118 = cpu->r[28] + 0x00000014u;
/* 028DF66C */ cpu->r[3] = rbrew_read32(cpu->mem, _t118);
/* 028DF670 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028DF674 */ _t119 = cpu->r[1] + 0x00000028u;
/* 028DF674 */ rbrew_write32(cpu->mem, _t119, cpu->r[12]);
/* 028DF678 */ Gambit_fn_028DB650(cpu);
/* 028DF67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF680 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF680 */ _t121 = _t120 & 0x00000001u;
/* 028DF680 */ if (_t121) goto L_028DF684; else goto L_028DF6A8;
L_028DF684: ; // 0x28df684
/* 028DF684 */ goto L_028DF6B4;
L_028DF688: ; // 0x28df688
/* 028DF688 */ _t122 = cpu->r[29] + 0x00000008u;
/* 028DF688 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[30]);
/* 028DF68C */ cpu->r[12] = 0x00000003u;
/* 028DF690 */ _t123 = cpu->r[28] + 0x00000014u;
/* 028DF690 */ cpu->r[3] = rbrew_read32(cpu->mem, _t123);
/* 028DF694 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028DF698 */ _t124 = cpu->r[1] + 0x00000028u;
/* 028DF698 */ rbrew_write32(cpu->mem, _t124, cpu->r[12]);
/* 028DF69C */ Gambit_fn_028DB650(cpu);
/* 028DF6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF6A4 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF6A4 */ _t126 = _t125 & 0x00000001u;
/* 028DF6A4 */ if (_t126) goto L_028DF6B4; else goto L_028DF6A8;
L_028DF6A8: ; // 0x28df6a8
/* 028DF6A8 */ cpu->f[1] = cpu->f[29];
/* 028DF6AC */ Gambit_fn_028EDA38(cpu);
/* 028DF6B0 */ cpu->f[30] = cpu->f[1];
L_028DF6B4: ; // 0x28df6b4
/* 028DF6B4 */ _t127 = cpu->r[29] + 0x00000014u;
/* 028DF6B4 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[30]);
L_028DF6B8: ; // 0x28df6b8
/* 028DF6B8 */ /* nop */
/* 028DF6BC */ _t128 = cpu->r[1] + 0x00000060u;
/* 028DF6BC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t128);
/* 028DF6C0 */ _t129 = cpu->r[1] + 0x00000080u;
/* 028DF6C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t129);
/* 028DF6C4 */ _t130 = cpu->r[1] + 0x00000058u;
/* 028DF6C4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t130);
/* 028DF6C8 */ _t131 = cpu->r[1] + 0x00000070u;
/* 028DF6C8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t131);
/* 028DF6CC */ _t132 = cpu->r[1] + 0x00000078u;
/* 028DF6CC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t132);
/* 028DF6D0 */ _t133 = cpu->r[1] + 0x00000068u;
/* 028DF6D0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t133);
/* 028DF6D4 */ cpu->r[3] = 0x00000001u;
/* 028DF6D8 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF6D8 */ _t135 = _t134 & 0x00000001u;
/* 028DF6D8 */ if (_t135) goto L_028DF6DC; // else: addr-0 trap, fall-through
L_028DF6DC: ; // 0x28df6dc
/* 028DF6DC */ _t136 = cpu->r[1] + 0x0000008Cu;
/* 028DF6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
/* 028DF6E0 */ cpu->lr = cpu->r[0];
/* 028DF6E4 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
/* 028DF6E8 */ return;
}
// fn_028DF6EC @ 0x28df6ec
void Gambit_fn_028DF6EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028DF6EC: ; // 0x28df6ec
/* 028DF6EC */ cpu->r[0] = cpu->lr;
/* 028DF6F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028DF6F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF6F0 */ cpu->r[1] = _t0;
/* 028DF6F4 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028DF6F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DF6F8 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028DF6F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DF6FC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF6FC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028DF700 */ cpu->r[30] = cpu->r[5];
/* 028DF704 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028DF704 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF708 */ cpu->r[29] = cpu->r[4];
/* 028DF708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028DF70C */ cpu->r[31] = cpu->r[3];
/* 028DF710 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF710 */ _t6 = _t5 & 0x00000001u;
/* 028DF710 */ if (_t6) goto L_028DF74C; else goto L_028DF714;
L_028DF714: ; // 0x28df714
/* 028DF714 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028DF714 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028DF718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF71C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF71C */ _t9 = _t8 & 0x00000001u;
/* 028DF71C */ if (_t9) goto L_028DF728; else goto L_028DF720;
L_028DF720: ; // 0x28df720
/* 028DF720 */ cpu->r[4] = cpu->r[29];
/* 028DF724 */ Gambit_fn_02C69510(cpu);
L_028DF728: ; // 0x28df728
/* 028DF728 */ _t10 = cpu->r[31] + 0x0000001Cu;
/* 028DF728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028DF72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF730 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF730 */ _t12 = _t11 & 0x00000001u;
/* 028DF730 */ if (_t12) goto L_028DF74C; else goto L_028DF734;
L_028DF734: ; // 0x28df734
/* 028DF734 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028DF738 */ cpu->r[4] = cpu->r[30];
/* 028DF73C */ Gambit_fn_028E8584(cpu);
/* 028DF740 */ cpu->r[3] = cpu->r[29];
/* 028DF744 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028DF748 */ Gambit_fn_021620C4(cpu);
L_028DF74C: ; // 0x28df74c
/* 028DF74C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028DF74C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028DF750 */ _t14 = cpu->r[1] + 0x00000024u;
/* 028DF750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028DF754 */ _t15 = cpu->r[1] + 0x00000018u;
/* 028DF754 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028DF758 */ cpu->lr = cpu->r[0];
/* 028DF75C */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028DF75C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028DF760 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DF764 */ return;
}
// fn_028DF6F0 @ 0x28df6f0
void Gambit_fn_028DF6F0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028DF6F0: ; // 0x28df6f0
/* 028DF6F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028DF6F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF6F0 */ cpu->r[1] = _t0;
/* 028DF6F4 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028DF6F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DF6F8 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028DF6F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DF6FC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF6FC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028DF700 */ cpu->r[30] = cpu->r[5];
/* 028DF704 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028DF704 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF708 */ cpu->r[29] = cpu->r[4];
/* 028DF708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028DF70C */ cpu->r[31] = cpu->r[3];
/* 028DF710 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF710 */ _t6 = _t5 & 0x00000001u;
/* 028DF710 */ if (_t6) goto L_028DF74C; else goto L_028DF714;
L_028DF714: ; // 0x28df714
/* 028DF714 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028DF714 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028DF718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF71C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF71C */ _t9 = _t8 & 0x00000001u;
/* 028DF71C */ if (_t9) goto L_028DF728; else goto L_028DF720;
L_028DF720: ; // 0x28df720
/* 028DF720 */ cpu->r[4] = cpu->r[29];
/* 028DF724 */ Gambit_fn_02C69510(cpu);
L_028DF728: ; // 0x28df728
/* 028DF728 */ _t10 = cpu->r[31] + 0x0000001Cu;
/* 028DF728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028DF72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF730 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF730 */ _t12 = _t11 & 0x00000001u;
/* 028DF730 */ if (_t12) goto L_028DF74C; else goto L_028DF734;
L_028DF734: ; // 0x28df734
/* 028DF734 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028DF738 */ cpu->r[4] = cpu->r[30];
/* 028DF73C */ Gambit_fn_028E8584(cpu);
/* 028DF740 */ cpu->r[3] = cpu->r[29];
/* 028DF744 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028DF748 */ Gambit_fn_021620C4(cpu);
L_028DF74C: ; // 0x28df74c
/* 028DF74C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028DF74C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028DF750 */ _t14 = cpu->r[1] + 0x00000024u;
/* 028DF750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028DF754 */ _t15 = cpu->r[1] + 0x00000018u;
/* 028DF754 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028DF758 */ cpu->lr = cpu->r[0];
/* 028DF75C */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028DF75C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028DF760 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DF764 */ return;
}
// fn_028DF768 @ 0x28df768
void Gambit_fn_028DF768(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028DB798: ; // 0x28db798
/* 028DB798 */ _t0 = cpu->r[3] + 0x00000204u;
/* 028DB798 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
/* 028DB79C */ return;
L_028DF768: ; // 0x28df768
/* 028DF768 */ _t1 = cpu->r[3] + 0x00000014u;
/* 028DF768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028DF76C */ cpu->r[3] = 0x00000000u;
/* 028DF770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DF774 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF774 */ _t3 = _t2 & 0x00000001u;
/* 028DF774 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028DF774 */ goto L_028DF778;
L_028DF778: ; // 0x28df778
/* 028DF778 */ cpu->r[3] = cpu->r[0];
/* 028DF77C */ goto L_028DB798;
}
// fn_028DF780 @ 0x28df780
void Gambit_fn_028DF780(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028DF780: ; // 0x28df780
/* 028DF780 */ cpu->r[0] = cpu->lr;
/* 028DF784 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028DF784 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF784 */ cpu->r[1] = _t0;
/* 028DF788 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028DF788 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028DF78C */ cpu->r[30] = cpu->r[4];
/* 028DF790 */ cpu->r[4] = cpu->r[30] + 0x00000024u;
/* 028DF794 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028DF794 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028DF798 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF798 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028DF79C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028DF79C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF7A0 */ cpu->r[29] = cpu->r[3];
/* 028DF7A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028DF7A8 */ cpu->r[31] = cpu->r[5];
/* 028DF7AC */ Gambit_fn_0200D450(cpu);
/* 028DF7B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028DF7B4 */ cpu->r[3] = cpu->r[31];
/* 028DF7B8 */ Gambit_fn_028D6138(cpu);
/* 028DF7BC */ cpu->r[3] = cpu->r[29];
/* 028DF7C0 */ _t5 = cpu->r[30] + 0x00000084u;
/* 028DF7C0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[1]);
/* 028DF7C4 */ Gambit_fn_028DF768(cpu);
/* 028DF7C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF7CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF7CC */ _t7 = _t6 & 0x00000001u;
/* 028DF7CC */ if (_t7) goto L_028DF7E4; else goto L_028DF7D0;
L_028DF7D0: ; // 0x28df7d0
/* 028DF7D0 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
/* 028DF7D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028DF7D8 */ Gambit_fn_028D6A54(cpu);
/* 028DF7DC */ _t8 = cpu->r[30] + 0x00000088u;
/* 028DF7DC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 028DF7E0 */ goto L_028DF7F0;
L_028DF7E4: ; // 0x28df7e4
/* 028DF7E4 */ cpu->r[12] = 0x10140000u;
/* 028DF7E8 */ _t9 = cpu->r[12] + 0xFFFFB5B4u;
/* 028DF7E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028DF7EC */ _t10 = cpu->r[30] + 0x00000088u;
/* 028DF7EC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
L_028DF7F0: ; // 0x28df7f0
/* 028DF7F0 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028DF7F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
/* 028DF7F4 */ _t12 = cpu->r[1] + 0x00000024u;
/* 028DF7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028DF7F8 */ _t13 = cpu->r[1] + 0x00000018u;
/* 028DF7F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028DF7FC */ cpu->lr = cpu->r[0];
/* 028DF800 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028DF800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028DF804 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DF808 */ return;
}
// fn_028DF784 @ 0x28df784
void Gambit_fn_028DF784(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028DF784: ; // 0x28df784
/* 028DF784 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028DF784 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF784 */ cpu->r[1] = _t0;
/* 028DF788 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028DF788 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028DF78C */ cpu->r[30] = cpu->r[4];
/* 028DF790 */ cpu->r[4] = cpu->r[30] + 0x00000024u;
/* 028DF794 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028DF794 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028DF798 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028DF798 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028DF79C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028DF79C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DF7A0 */ cpu->r[29] = cpu->r[3];
/* 028DF7A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028DF7A8 */ cpu->r[31] = cpu->r[5];
/* 028DF7AC */ Gambit_fn_0200D450(cpu);
/* 028DF7B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028DF7B4 */ cpu->r[3] = cpu->r[31];
/* 028DF7B8 */ Gambit_fn_028D6138(cpu);
/* 028DF7BC */ cpu->r[3] = cpu->r[29];
/* 028DF7C0 */ _t5 = cpu->r[30] + 0x00000084u;
/* 028DF7C0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[1]);
/* 028DF7C4 */ Gambit_fn_028DF768(cpu);
/* 028DF7C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF7CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF7CC */ _t7 = _t6 & 0x00000001u;
/* 028DF7CC */ if (_t7) goto L_028DF7E4; else goto L_028DF7D0;
L_028DF7D0: ; // 0x28df7d0
/* 028DF7D0 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
/* 028DF7D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028DF7D8 */ Gambit_fn_028D6A54(cpu);
/* 028DF7DC */ _t8 = cpu->r[30] + 0x00000088u;
/* 028DF7DC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 028DF7E0 */ goto L_028DF7F0;
L_028DF7E4: ; // 0x28df7e4
/* 028DF7E4 */ cpu->r[12] = 0x10140000u;
/* 028DF7E8 */ _t9 = cpu->r[12] + 0xFFFFB5B4u;
/* 028DF7E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028DF7EC */ _t10 = cpu->r[30] + 0x00000088u;
/* 028DF7EC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
L_028DF7F0: ; // 0x28df7f0
/* 028DF7F0 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028DF7F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
/* 028DF7F4 */ _t12 = cpu->r[1] + 0x00000024u;
/* 028DF7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028DF7F8 */ _t13 = cpu->r[1] + 0x00000018u;
/* 028DF7F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028DF7FC */ cpu->lr = cpu->r[0];
/* 028DF800 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028DF800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028DF804 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DF808 */ return;
}
// fn_028DF80C @ 0x28df80c
void Gambit_fn_028DF80C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
double _ft24, _ft25;
L_028DF80C: ; // 0x28df80c
/* 028DF80C */ cpu->r[0] = cpu->lr;
/* 028DF810 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028DF810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF810 */ cpu->r[1] = _t0;
/* 028DF814 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028DF814 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DF818 */ _t2 = cpu->r[1] + 0x00000020u;
/* 028DF818 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DF81C */ cpu->r[30] = cpu->r[4];
/* 028DF81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028DF820 */ cpu->r[31] = cpu->r[5];
/* 028DF824 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028DF824 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DF828 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF828 */ _t5 = _t4 & 0x00000001u;
/* 028DF828 */ if (_t5) goto L_028DF9F4; else goto L_028DF82C;
L_028DF82C: ; // 0x28df82c
/* 028DF82C */ Gambit_fn_028DF2C0(cpu);
/* 028DF830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF834 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF834 */ _t7 = _t6 & 0x00000001u;
/* 028DF834 */ if (_t7) goto L_028DF838; else goto L_028DF850;
L_028DF838: ; // 0x28df838
/* 028DF838 */ cpu->r[12] = 0x10140000u;
/* 028DF83C */ cpu->r[0] = 0x00000000u;
/* 028DF840 */ _t8 = cpu->r[12] + 0xFFFFB5B8u;
/* 028DF840 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028DF844 */ _t9 = cpu->r[30] + 0x00000020u;
/* 028DF844 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028DF848 */ _t10 = cpu->r[30] + 0x0000001Cu;
/* 028DF848 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028DF84C */ goto L_028DF9F4;
L_028DF850: ; // 0x28df850
/* 028DF850 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028DF854 */ cpu->r[4] = cpu->r[30] + 0x00000054u;
/* 028DF858 */ Gambit_fn_0200D450(cpu);
/* 028DF85C */ _t11 = cpu->r[1] + 0x00000018u;
/* 028DF85C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028DF860 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028DF860 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t12);
/* 028DF864 */ cpu->f[12] = cpu->f[0] * cpu->f[0];
/* 028DF868 */ cpu->r[10] = 0x10140000u;
/* 028DF86C */ cpu->f[13] = -cpu->f[8];
/* 028DF870 */ _t13 = cpu->r[10] + 0xFFFFB5B0u;
/* 028DF870 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
/* 028DF874 */ cpu->f[8] = fma(cpu->f[13], cpu->f[13], cpu->f[12]);
/* 028DF878 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028DF878 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
/* 028DF87C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028DF880 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028DF880 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028DF884 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028DF884 */ _t17 = _t16 & 0x00000001u;
/* 028DF884 */ if (_t17) goto L_028DF8A0; else goto L_028DF888;
L_028DF888: ; // 0x28df888
/* 028DF888 */ cpu->f[9] = cpu->f[11] * cpu->f[8];
/* 028DF88C */ _t18 = cpu->r[30] + 0x0000001Cu;
/* 028DF88C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[9]);
/* 028DF890 */ _t19 = cpu->r[31] + 0x000000D0u;
/* 028DF890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
/* 028DF894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DF898 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF898 */ _t21 = _t20 & 0x00000001u;
/* 028DF898 */ if (_t21) goto L_028DF8E4; else goto L_028DF89C;
L_028DF89C: ; // 0x28df89c
/* 028DF89C */ goto L_028DF8D8;
L_028DF8A0: ; // 0x28df8a0
/* 028DF8A0 */ cpu->r[8] = 0x10140000u;
/* 028DF8A4 */ cpu->r[7] = 0x10140000u;
/* 028DF8A8 */ _t22 = cpu->r[8] + 0xFFFFB5C0u;
/* 028DF8A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
/* 028DF8AC */ _t23 = cpu->r[7] + 0xFFFFB5BCu;
/* 028DF8AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t23);
/* 028DF8B0 */ _ft24 = sqrt(cpu->f[8]);
/* 028DF8B0 */ _ft25 = (double)(int32_t)0x00000001u;
/* 028DF8B0 */ cpu->f[0] = _ft25 / _ft24;
/* 028DF8B4 */ cpu->f[9] = cpu->f[0] * cpu->f[0];
/* 028DF8B8 */ cpu->f[13] = cpu->f[0] * cpu->f[10];
/* 028DF8BC */ cpu->f[9] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[12]));
/* 028DF8C0 */ cpu->f[0] = cpu->f[9] * cpu->f[13];
/* 028DF8C4 */ cpu->f[9] = cpu->f[0] * cpu->f[8];
/* 028DF8C8 */ _t26 = cpu->r[30] + 0x0000001Cu;
/* 028DF8C8 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[9]);
/* 028DF8CC */ _t27 = cpu->r[31] + 0x000000D0u;
/* 028DF8CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
/* 028DF8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DF8D4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF8D4 */ _t29 = _t28 & 0x00000001u;
/* 028DF8D4 */ if (_t29) goto L_028DF8E4; else goto L_028DF8D8;
L_028DF8D8: ; // 0x28df8d8
/* 028DF8D8 */ _t30 = cpu->r[31] + 0x000000D4u;
/* 028DF8D8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
/* 028DF8DC */ cpu->f[9] = cpu->f[9] * cpu->f[10];
/* 028DF8E0 */ _t31 = cpu->r[30] + 0x0000001Cu;
/* 028DF8E0 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[9]);
L_028DF8E4: ; // 0x28df8e4
/* 028DF8E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
/* 028DF8E8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF8E8 */ _t33 = _t32 & 0x00000001u;
/* 028DF8E8 */ if (_t33) goto L_028DF8EC; else goto L_028DF8F8;
L_028DF8EC: ; // 0x28df8ec
/* 028DF8EC */ cpu->r[0] = 0x00000000u;
/* 028DF8F0 */ _t34 = cpu->r[30] + 0x00000020u;
/* 028DF8F0 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028DF8F4 */ goto L_028DF9F4;
L_028DF8F8: ; // 0x28df8f8
/* 028DF8F8 */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028DF8F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t35);
/* 028DF8FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
/* 028DF900 */ _t36 = cpu->r[1] + 0x00000008u;
/* 028DF900 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 028DF904 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF904 */ _t38 = _t37 & 0x00000001u;
/* 028DF904 */ if (_t38) goto L_028DF908; else goto L_028DF918;
L_028DF908: ; // 0x28df908
/* 028DF908 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028DF90C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF90C */ _t40 = _t39 & 0x00000001u;
/* 028DF90C */ if (_t40) goto L_028DF910; else goto L_028DF918;
L_028DF910: ; // 0x28df910
/* 028DF910 */ cpu->r[0] = 0x80000000u;
/* 028DF914 */ goto L_028DF9F0;
L_028DF918: ; // 0x28df918
/* 028DF918 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
/* 028DF91C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF91C */ _t42 = _t41 & 0x00000001u;
/* 028DF91C */ if (_t42) goto L_028DF98C; else goto L_028DF920;
L_028DF920: ; // 0x28df920
/* 028DF920 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028DF924 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF924 */ _t44 = _t43 & 0x00000001u;
/* 028DF924 */ if (_t44) goto L_028DF954; else goto L_028DF928;
L_028DF928: ; // 0x28df928
/* 028DF928 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
/* 028DF92C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF92C */ _t46 = _t45 & 0x00000001u;
/* 028DF92C */ if (_t46) goto L_028DF940; else goto L_028DF930;
L_028DF930: ; // 0x28df930
/* 028DF930 */ cpu->f[1] = cpu->f[0] / cpu->f[9];
/* 028DF934 */ Gambit_fn_02827710(cpu);
/* 028DF938 */ cpu->r[0] = cpu->r[3] + 0x80000000u;
/* 028DF93C */ goto L_028DF9F0;
L_028DF940: ; // 0x28df940
/* 028DF940 */ cpu->f[1] = cpu->f[9] / cpu->f[0];
/* 028DF944 */ Gambit_fn_02827710(cpu);
/* 028DF948 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028DF94C */ cpu->r[0] = cpu->r[3] + 0xC0000000u;
/* 028DF950 */ goto L_028DF9F0;
L_028DF954: ; // 0x28df954
/* 028DF954 */ cpu->f[12] = -cpu->f[0];
/* 028DF958 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
/* 028DF95C */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF95C */ _t48 = _t47 & 0x00000001u;
/* 028DF95C */ if (_t48) goto L_028DF978; else goto L_028DF960;
L_028DF960: ; // 0x28df960
/* 028DF960 */ cpu->f[13] = cpu->f[0] / cpu->f[9];
/* 028DF964 */ cpu->f[1] = -cpu->f[13];
/* 028DF968 */ Gambit_fn_02827710(cpu);
/* 028DF96C */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
/* 028DF970 */ cpu->r[0] = cpu->r[3] + 0x80000000u;
/* 028DF974 */ goto L_028DF9F0;
L_028DF978: ; // 0x28df978
/* 028DF978 */ cpu->f[0] = cpu->f[9] / cpu->f[0];
/* 028DF97C */ cpu->f[1] = -cpu->f[0];
/* 028DF980 */ Gambit_fn_02827710(cpu);
/* 028DF984 */ cpu->r[0] = cpu->r[3] + 0x40000000u;
/* 028DF988 */ goto L_028DF9F0;
L_028DF98C: ; // 0x28df98c
/* 028DF98C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028DF990 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF990 */ _t50 = _t49 & 0x00000001u;
/* 028DF990 */ if (_t50) goto L_028DF9C8; else goto L_028DF994;
L_028DF994: ; // 0x28df994
/* 028DF994 */ cpu->f[8] = -cpu->f[9];
/* 028DF998 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
/* 028DF99C */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF99C */ _t52 = _t51 & 0x00000001u;
/* 028DF99C */ if (_t52) goto L_028DF9B4; else goto L_028DF9A0;
L_028DF9A0: ; // 0x28df9a0
/* 028DF9A0 */ cpu->f[9] = cpu->f[0] / cpu->f[9];
/* 028DF9A4 */ cpu->f[1] = -cpu->f[9];
/* 028DF9A8 */ Gambit_fn_02827710(cpu);
/* 028DF9AC */ cpu->r[0] = 0x00000000u - cpu->r[3];
/* 028DF9B0 */ goto L_028DF9F0;
L_028DF9B4: ; // 0x28df9b4
/* 028DF9B4 */ cpu->f[12] = cpu->f[9] / cpu->f[0];
/* 028DF9B8 */ cpu->f[1] = -cpu->f[12];
/* 028DF9BC */ Gambit_fn_02827710(cpu);
/* 028DF9C0 */ cpu->r[0] = cpu->r[3] + 0xC0000000u;
/* 028DF9C4 */ goto L_028DF9F0;
L_028DF9C8: ; // 0x28df9c8
/* 028DF9C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
/* 028DF9CC */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028DF9CC */ _t54 = _t53 & 0x00000001u;
/* 028DF9CC */ if (_t54) goto L_028DF9E0; else goto L_028DF9D0;
L_028DF9D0: ; // 0x28df9d0
/* 028DF9D0 */ cpu->f[1] = cpu->f[0] / cpu->f[9];
/* 028DF9D4 */ Gambit_fn_02827710(cpu);
/* 028DF9D8 */ cpu->r[0] = cpu->r[3];
/* 028DF9DC */ goto L_028DF9F0;
L_028DF9E0: ; // 0x28df9e0
/* 028DF9E0 */ cpu->f[1] = cpu->f[9] / cpu->f[0];
/* 028DF9E4 */ Gambit_fn_02827710(cpu);
/* 028DF9E8 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028DF9EC */ cpu->r[0] = cpu->r[3] + 0x40000000u;
L_028DF9F0: ; // 0x28df9f0
/* 028DF9F0 */ _t55 = cpu->r[30] + 0x00000020u;
/* 028DF9F0 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
L_028DF9F4: ; // 0x28df9f4
/* 028DF9F4 */ _t56 = cpu->r[1] + 0x0000002Cu;
/* 028DF9F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028DF9F8 */ _t57 = cpu->r[1] + 0x00000020u;
/* 028DF9F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
/* 028DF9FC */ cpu->lr = cpu->r[0];
/* 028DFA00 */ _t58 = cpu->r[1] + 0x00000024u;
/* 028DFA00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028DFA04 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028DFA08 */ return;
}
// fn_028DF810 @ 0x28df810
void Gambit_fn_028DF810(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
double _ft24, _ft25;
L_028DF810: ; // 0x28df810
/* 028DF810 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028DF810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DF810 */ cpu->r[1] = _t0;
/* 028DF814 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028DF814 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DF818 */ _t2 = cpu->r[1] + 0x00000020u;
/* 028DF818 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028DF81C */ cpu->r[30] = cpu->r[4];
/* 028DF81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028DF820 */ cpu->r[31] = cpu->r[5];
/* 028DF824 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028DF824 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028DF828 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF828 */ _t5 = _t4 & 0x00000001u;
/* 028DF828 */ if (_t5) goto L_028DF9F4; else goto L_028DF82C;
L_028DF82C: ; // 0x28df82c
/* 028DF82C */ Gambit_fn_028DF2C0(cpu);
/* 028DF830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DF834 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF834 */ _t7 = _t6 & 0x00000001u;
/* 028DF834 */ if (_t7) goto L_028DF838; else goto L_028DF850;
L_028DF838: ; // 0x28df838
/* 028DF838 */ cpu->r[12] = 0x10140000u;
/* 028DF83C */ cpu->r[0] = 0x00000000u;
/* 028DF840 */ _t8 = cpu->r[12] + 0xFFFFB5B8u;
/* 028DF840 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028DF844 */ _t9 = cpu->r[30] + 0x00000020u;
/* 028DF844 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028DF848 */ _t10 = cpu->r[30] + 0x0000001Cu;
/* 028DF848 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028DF84C */ goto L_028DF9F4;
L_028DF850: ; // 0x28df850
/* 028DF850 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028DF854 */ cpu->r[4] = cpu->r[30] + 0x00000054u;
/* 028DF858 */ Gambit_fn_0200D450(cpu);
/* 028DF85C */ _t11 = cpu->r[1] + 0x00000018u;
/* 028DF85C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028DF860 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028DF860 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t12);
/* 028DF864 */ cpu->f[12] = cpu->f[0] * cpu->f[0];
/* 028DF868 */ cpu->r[10] = 0x10140000u;
/* 028DF86C */ cpu->f[13] = -cpu->f[8];
/* 028DF870 */ _t13 = cpu->r[10] + 0xFFFFB5B0u;
/* 028DF870 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
/* 028DF874 */ cpu->f[8] = fma(cpu->f[13], cpu->f[13], cpu->f[12]);
/* 028DF878 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028DF878 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
/* 028DF87C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028DF880 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028DF880 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028DF884 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028DF884 */ _t17 = _t16 & 0x00000001u;
/* 028DF884 */ if (_t17) goto L_028DF8A0; else goto L_028DF888;
L_028DF888: ; // 0x28df888
/* 028DF888 */ cpu->f[9] = cpu->f[11] * cpu->f[8];
/* 028DF88C */ _t18 = cpu->r[30] + 0x0000001Cu;
/* 028DF88C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[9]);
/* 028DF890 */ _t19 = cpu->r[31] + 0x000000D0u;
/* 028DF890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
/* 028DF894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DF898 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF898 */ _t21 = _t20 & 0x00000001u;
/* 028DF898 */ if (_t21) goto L_028DF8E4; else goto L_028DF89C;
L_028DF89C: ; // 0x28df89c
/* 028DF89C */ goto L_028DF8D8;
L_028DF8A0: ; // 0x28df8a0
/* 028DF8A0 */ cpu->r[8] = 0x10140000u;
/* 028DF8A4 */ cpu->r[7] = 0x10140000u;
/* 028DF8A8 */ _t22 = cpu->r[8] + 0xFFFFB5C0u;
/* 028DF8A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
/* 028DF8AC */ _t23 = cpu->r[7] + 0xFFFFB5BCu;
/* 028DF8AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t23);
/* 028DF8B0 */ _ft24 = sqrt(cpu->f[8]);
/* 028DF8B0 */ _ft25 = (double)(int32_t)0x00000001u;
/* 028DF8B0 */ cpu->f[0] = _ft25 / _ft24;
/* 028DF8B4 */ cpu->f[9] = cpu->f[0] * cpu->f[0];
/* 028DF8B8 */ cpu->f[13] = cpu->f[0] * cpu->f[10];
/* 028DF8BC */ cpu->f[9] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[12]));
/* 028DF8C0 */ cpu->f[0] = cpu->f[9] * cpu->f[13];
/* 028DF8C4 */ cpu->f[9] = cpu->f[0] * cpu->f[8];
/* 028DF8C8 */ _t26 = cpu->r[30] + 0x0000001Cu;
/* 028DF8C8 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[9]);
/* 028DF8CC */ _t27 = cpu->r[31] + 0x000000D0u;
/* 028DF8CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
/* 028DF8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DF8D4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF8D4 */ _t29 = _t28 & 0x00000001u;
/* 028DF8D4 */ if (_t29) goto L_028DF8E4; else goto L_028DF8D8;
L_028DF8D8: ; // 0x28df8d8
/* 028DF8D8 */ _t30 = cpu->r[31] + 0x000000D4u;
/* 028DF8D8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
/* 028DF8DC */ cpu->f[9] = cpu->f[9] * cpu->f[10];
/* 028DF8E0 */ _t31 = cpu->r[30] + 0x0000001Cu;
/* 028DF8E0 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[9]);
L_028DF8E4: ; // 0x28df8e4
/* 028DF8E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
/* 028DF8E8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF8E8 */ _t33 = _t32 & 0x00000001u;
/* 028DF8E8 */ if (_t33) goto L_028DF8EC; else goto L_028DF8F8;
L_028DF8EC: ; // 0x28df8ec
/* 028DF8EC */ cpu->r[0] = 0x00000000u;
/* 028DF8F0 */ _t34 = cpu->r[30] + 0x00000020u;
/* 028DF8F0 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028DF8F4 */ goto L_028DF9F4;
L_028DF8F8: ; // 0x28df8f8
/* 028DF8F8 */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028DF8F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t35);
/* 028DF8FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
/* 028DF900 */ _t36 = cpu->r[1] + 0x00000008u;
/* 028DF900 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 028DF904 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF904 */ _t38 = _t37 & 0x00000001u;
/* 028DF904 */ if (_t38) goto L_028DF908; else goto L_028DF918;
L_028DF908: ; // 0x28df908
/* 028DF908 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028DF90C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF90C */ _t40 = _t39 & 0x00000001u;
/* 028DF90C */ if (_t40) goto L_028DF910; else goto L_028DF918;
L_028DF910: ; // 0x28df910
/* 028DF910 */ cpu->r[0] = 0x80000000u;
/* 028DF914 */ goto L_028DF9F0;
L_028DF918: ; // 0x28df918
/* 028DF918 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
/* 028DF91C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF91C */ _t42 = _t41 & 0x00000001u;
/* 028DF91C */ if (_t42) goto L_028DF98C; else goto L_028DF920;
L_028DF920: ; // 0x28df920
/* 028DF920 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028DF924 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF924 */ _t44 = _t43 & 0x00000001u;
/* 028DF924 */ if (_t44) goto L_028DF954; else goto L_028DF928;
L_028DF928: ; // 0x28df928
/* 028DF928 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
/* 028DF92C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF92C */ _t46 = _t45 & 0x00000001u;
/* 028DF92C */ if (_t46) goto L_028DF940; else goto L_028DF930;
L_028DF930: ; // 0x28df930
/* 028DF930 */ cpu->f[1] = cpu->f[0] / cpu->f[9];
/* 028DF934 */ Gambit_fn_02827710(cpu);
/* 028DF938 */ cpu->r[0] = cpu->r[3] + 0x80000000u;
/* 028DF93C */ goto L_028DF9F0;
L_028DF940: ; // 0x28df940
/* 028DF940 */ cpu->f[1] = cpu->f[9] / cpu->f[0];
/* 028DF944 */ Gambit_fn_02827710(cpu);
/* 028DF948 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028DF94C */ cpu->r[0] = cpu->r[3] + 0xC0000000u;
/* 028DF950 */ goto L_028DF9F0;
L_028DF954: ; // 0x28df954
/* 028DF954 */ cpu->f[12] = -cpu->f[0];
/* 028DF958 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
/* 028DF95C */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF95C */ _t48 = _t47 & 0x00000001u;
/* 028DF95C */ if (_t48) goto L_028DF978; else goto L_028DF960;
L_028DF960: ; // 0x28df960
/* 028DF960 */ cpu->f[13] = cpu->f[0] / cpu->f[9];
/* 028DF964 */ cpu->f[1] = -cpu->f[13];
/* 028DF968 */ Gambit_fn_02827710(cpu);
/* 028DF96C */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
/* 028DF970 */ cpu->r[0] = cpu->r[3] + 0x80000000u;
/* 028DF974 */ goto L_028DF9F0;
L_028DF978: ; // 0x28df978
/* 028DF978 */ cpu->f[0] = cpu->f[9] / cpu->f[0];
/* 028DF97C */ cpu->f[1] = -cpu->f[0];
/* 028DF980 */ Gambit_fn_02827710(cpu);
/* 028DF984 */ cpu->r[0] = cpu->r[3] + 0x40000000u;
/* 028DF988 */ goto L_028DF9F0;
L_028DF98C: ; // 0x28df98c
/* 028DF98C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028DF990 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF990 */ _t50 = _t49 & 0x00000001u;
/* 028DF990 */ if (_t50) goto L_028DF9C8; else goto L_028DF994;
L_028DF994: ; // 0x28df994
/* 028DF994 */ cpu->f[8] = -cpu->f[9];
/* 028DF998 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
/* 028DF99C */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DF99C */ _t52 = _t51 & 0x00000001u;
/* 028DF99C */ if (_t52) goto L_028DF9B4; else goto L_028DF9A0;
L_028DF9A0: ; // 0x28df9a0
/* 028DF9A0 */ cpu->f[9] = cpu->f[0] / cpu->f[9];
/* 028DF9A4 */ cpu->f[1] = -cpu->f[9];
/* 028DF9A8 */ Gambit_fn_02827710(cpu);
/* 028DF9AC */ cpu->r[0] = 0x00000000u - cpu->r[3];
/* 028DF9B0 */ goto L_028DF9F0;
L_028DF9B4: ; // 0x28df9b4
/* 028DF9B4 */ cpu->f[12] = cpu->f[9] / cpu->f[0];
/* 028DF9B8 */ cpu->f[1] = -cpu->f[12];
/* 028DF9BC */ Gambit_fn_02827710(cpu);
/* 028DF9C0 */ cpu->r[0] = cpu->r[3] + 0xC0000000u;
/* 028DF9C4 */ goto L_028DF9F0;
L_028DF9C8: ; // 0x28df9c8
/* 028DF9C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
/* 028DF9CC */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028DF9CC */ _t54 = _t53 & 0x00000001u;
/* 028DF9CC */ if (_t54) goto L_028DF9E0; else goto L_028DF9D0;
L_028DF9D0: ; // 0x28df9d0
/* 028DF9D0 */ cpu->f[1] = cpu->f[0] / cpu->f[9];
/* 028DF9D4 */ Gambit_fn_02827710(cpu);
/* 028DF9D8 */ cpu->r[0] = cpu->r[3];
/* 028DF9DC */ goto L_028DF9F0;
L_028DF9E0: ; // 0x28df9e0
/* 028DF9E0 */ cpu->f[1] = cpu->f[9] / cpu->f[0];
/* 028DF9E4 */ Gambit_fn_02827710(cpu);
/* 028DF9E8 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028DF9EC */ cpu->r[0] = cpu->r[3] + 0x40000000u;
L_028DF9F0: ; // 0x28df9f0
/* 028DF9F0 */ _t55 = cpu->r[30] + 0x00000020u;
/* 028DF9F0 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
L_028DF9F4: ; // 0x28df9f4
/* 028DF9F4 */ _t56 = cpu->r[1] + 0x0000002Cu;
/* 028DF9F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028DF9F8 */ _t57 = cpu->r[1] + 0x00000020u;
/* 028DF9F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
/* 028DF9FC */ cpu->lr = cpu->r[0];
/* 028DFA00 */ _t58 = cpu->r[1] + 0x00000024u;
/* 028DFA00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028DFA04 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028DFA08 */ return;
}
// fn_028DFA0C @ 0x28dfa0c
void Gambit_fn_028DFA0C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028DFA0C: ; // 0x28dfa0c
/* 028DFA0C */ _t0 = cpu->r[1] + 0xFFFFFF78u;
/* 028DFA0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DFA0C */ cpu->r[1] = _t0;
/* 028DFA10 */ _t1 = cpu->r[1] + 0x00000040u;
/* 028DFA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028DFA14 */ cpu->r[0] = cpu->lr;
/* 028DFA18 */ _t2 = cpu->r[1] + 0x00000058u;
/* 028DFA18 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
/* 028DFA1C */ _t3 = cpu->r[1] + 0x00000044u;
/* 028DFA1C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028DFA20 */ /* nop */
/* 028DFA24 */ _t4 = cpu->r[1] + 0x00000048u;
/* 028DFA24 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[28]);
/* 028DFA28 */ cpu->r[31] = cpu->r[5];
/* 028DFA2C */ _t5 = cpu->r[1] + 0x00000068u;
/* 028DFA2C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
/* 028DFA30 */ _t6 = cpu->r[1] + 0x00000060u;
/* 028DFA30 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
/* 028DFA34 */ /* nop */
/* 028DFA38 */ _t7 = cpu->r[1] + 0x00000078u;
/* 028DFA38 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[31]);
/* 028DFA3C */ _t8 = cpu->r[1] + 0x0000008Cu;
/* 028DFA3C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028DFA40 */ /* nop */
/* 028DFA44 */ _t9 = cpu->r[1] + 0x00000070u;
/* 028DFA44 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
/* 028DFA48 */ /* nop */
/* 028DFA4C */ _t10 = cpu->r[1] + 0x00000080u;
/* 028DFA4C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
/* 028DFA50 */ _t11 = cpu->r[1] + 0x0000003Cu;
/* 028DFA50 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
/* 028DFA54 */ _t12 = cpu->r[1] + 0x00000038u;
/* 028DFA54 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028DFA58 */ cpu->r[30] = cpu->r[4];
/* 028DFA58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028DFA5C */ _t13 = cpu->r[1] + 0x00000050u;
/* 028DFA5C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[28]);
/* 028DFA60 */ cpu->r[29] = cpu->r[3];
/* 028DFA64 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFA64 */ _t15 = _t14 & 0x00000001u;
/* 028DFA64 */ if (_t15) goto L_028DFBFC; else goto L_028DFA68;
L_028DFA68: ; // 0x28dfa68
/* 028DFA68 */ cpu->r[12] = 0x10140000u;
/* 028DFA6C */ _t16 = cpu->r[29] + 0x00000018u;
/* 028DFA6C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t16);
/* 028DFA70 */ _t17 = cpu->r[12] + 0xFFFFB5B0u;
/* 028DFA70 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
/* 028DFA74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
/* 028DFA78 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028DFA78 */ _t19 = _t18 & 0x00000001u;
/* 028DFA78 */ if (_t19) goto L_028DFA7C; else goto L_028DFB68;
L_028DFA7C: ; // 0x28dfa7c
/* 028DFA7C */ _t20 = cpu->r[30] + 0x00000084u;
/* 028DFA7C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20);
/* 028DFA80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
/* 028DFA84 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFA84 */ _t22 = _t21 & 0x00000001u;
/* 028DFA84 */ if (_t22) goto L_028DFB68; else goto L_028DFA88;
L_028DFA88: ; // 0x28dfa88
/* 028DFA88 */ _t23 = cpu->r[29] + 0x00000010u;
/* 028DFA88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028DFA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028DFA90 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFA90 */ _t25 = _t24 & 0x00000001u;
/* 028DFA90 */ if (_t25) goto L_028DFBFC; else goto L_028DFA94;
L_028DFA94: ; // 0x28dfa94
/* 028DFA94 */ Gambit_fn_028C29DC(cpu);
/* 028DFA98 */ cpu->r[28] = cpu->r[3];
/* 028DFA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028DFA9C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFA9C */ _t27 = _t26 & 0x00000001u;
/* 028DFA9C */ if (_t27) goto L_028DFBFC; else goto L_028DFAA0;
L_028DFAA0: ; // 0x28dfaa0
/* 028DFAA0 */ _t28 = cpu->r[28] + 0x00000060u;
/* 028DFAA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
/* 028DFAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000002u);
/* 028DFAA8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFAA8 */ _t30 = _t29 & 0x00000001u;
/* 028DFAA8 */ if (_t30) goto L_028DFBFC; else goto L_028DFAAC;
L_028DFAAC: ; // 0x28dfaac
/* 028DFAAC */ _t31 = cpu->r[28] + 0x00000060u;
/* 028DFAAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
/* 028DFAB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
/* 028DFAB4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFAB4 */ _t33 = _t32 & 0x00000001u;
/* 028DFAB4 */ if (_t33) goto L_028DFB68; else goto L_028DFAB8;
L_028DFAB8: ; // 0x28dfab8
/* 028DFAB8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028DFABC */ cpu->r[4] = cpu->r[30] + 0x00000054u;
/* 028DFAC0 */ Gambit_fn_0200D450(cpu);
/* 028DFAC4 */ _t34 = cpu->r[1] + 0x00000014u;
/* 028DFAC4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t34);
/* 028DFAC8 */ _t35 = cpu->r[1] + 0x00000018u;
/* 028DFAC8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t35);
/* 028DFACC */ cpu->f[11] = -cpu->f[12];
/* 028DFAD0 */ _t36 = cpu->r[31] + 0x00000174u;
/* 028DFAD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
/* 028DFAD4 */ cpu->f[13] = -cpu->f[8];
/* 028DFAD8 */ _t37 = cpu->r[1] + 0x0000001Cu;
/* 028DFAD8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t37);
/* 028DFADC */ _t38 = cpu->r[1] + 0x00000008u;
/* 028DFADC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[11]);
/* 028DFAE0 */ _t39 = cpu->r[1] + 0x00000008u;
/* 028DFAE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
/* 028DFAE4 */ _t40 = cpu->r[1] + 0x00000030u;
/* 028DFAE4 */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
/* 028DFAE8 */ _t41 = cpu->r[1] + 0x0000000Cu;
/* 028DFAE8 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
/* 028DFAEC */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 028DFAEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
/* 028DFAF0 */ cpu->f[9] = -cpu->f[10];
/* 028DFAF4 */ _t43 = cpu->r[1] + 0x00000020u;
/* 028DFAF4 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
/* 028DFAF8 */ _t44 = cpu->r[1] + 0x00000010u;
/* 028DFAF8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[9]);
/* 028DFAFC */ _t45 = cpu->r[1] + 0x00000010u;
/* 028DFAFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
/* 028DFB00 */ _t46 = cpu->r[31] + 0x00000178u;
/* 028DFB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028DFB04 */ _t47 = cpu->r[1] + 0x00000024u;
/* 028DFB04 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
/* 028DFB08 */ /* nop */
/* 028DFB0C */ _t48 = cpu->r[1] + 0x00000034u;
/* 028DFB0C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
/* 028DFB10 */ _t49 = cpu->r[31] + 0x00000170u;
/* 028DFB10 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
/* 028DFB14 */ _t50 = cpu->r[29] + 0x00000010u;
/* 028DFB14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
/* 028DFB18 */ _t51 = cpu->r[1] + 0x0000002Cu;
/* 028DFB18 */ rbrew_write32(cpu->mem, _t51, cpu->r[5]);
/* 028DFB1C */ _t52 = cpu->r[1] + 0x00000028u;
/* 028DFB1C */ rbrew_write32(cpu->mem, _t52, cpu->r[10]);
/* 028DFB20 */ /* nop */
/* 028DFB24 */ /* nop */
/* 028DFB28 */ /* nop */
/* 028DFB2C */ _t53 = cpu->r[1] + 0x00000028u;
/* 028DFB2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
/* 028DFB30 */ /* nop */
/* 028DFB34 */ _t54 = cpu->r[1] + 0x00000034u;
/* 028DFB34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t54);
/* 028DFB38 */ /* nop */
/* 028DFB3C */ cpu->f[7] = fma(cpu->f[13], cpu->f[0], cpu->f[7]);
/* 028DFB40 */ _t55 = cpu->r[11] + 0x00000008u;
/* 028DFB40 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
/* 028DFB44 */ /* nop */
/* 028DFB48 */ _t56 = cpu->r[30] + 0x00000084u;
/* 028DFB48 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t56);
/* 028DFB4C */ cpu->f[0] = fma(cpu->f[13], cpu->f[12], cpu->f[10]);
/* 028DFB50 */ cpu->f[28] = cpu->f[7] / cpu->f[8];
/* 028DFB54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[31]);
/* 028DFB58 */ cpu->f[29] = cpu->f[0] / cpu->f[8];
/* 028DFB5C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFB5C */ _t58 = _t57 & 0x00000001u;
/* 028DFB5C */ if (_t58) goto L_028DFB60; else goto L_028DFB78;
L_028DFB60: ; // 0x28dfb60
/* 028DFB60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[31]);
/* 028DFB64 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFB64 */ _t60 = _t59 & 0x00000001u;
/* 028DFB64 */ if (_t60) goto L_028DFB68; else goto L_028DFB78;
L_028DFB68: ; // 0x28dfb68
/* 028DFB68 */ cpu->r[9] = 0x10140000u;
/* 028DFB6C */ _t61 = cpu->r[9] + 0xFFFFB5B4u;
/* 028DFB6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
/* 028DFB70 */ _t62 = cpu->r[30] + 0x0000000Cu;
/* 028DFB70 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
/* 028DFB74 */ goto L_028DFBFC;
L_028DFB78: ; // 0x28dfb78
/* 028DFB78 */ _t63 = cpu->r[28] + 0x00000054u;
/* 028DFB78 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t63);
/* 028DFB7C */ _t64 = cpu->r[29] + 0x00000018u;
/* 028DFB7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t64);
/* 028DFB80 */ cpu->f[11] = cpu->f[30] / cpu->f[0];
/* 028DFB84 */ cpu->f[9] = cpu->f[11] - cpu->f[28];
/* 028DFB88 */ cpu->f[7] = cpu->f[11] - cpu->f[29];
/* 028DFB8C */ /* nop */
/* 028DFB90 */ /* nop */
/* 028DFB94 */ cpu->f[29] = cpu->f[8] * cpu->f[0];
/* 028DFB98 */ cpu->r[3] = cpu->r[28];
/* 028DFB9C */ cpu->f[28] = cpu->f[10] * cpu->f[0];
/* 028DFBA0 */ Gambit_fn_028BD1F4(cpu);
/* 028DFBA4 */ cpu->r[3] = cpu->r[28];
/* 028DFBA8 */ cpu->f[31] = cpu->f[1];
/* 028DFBAC */ Gambit_fn_028BD214(cpu);
/* 028DFBB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[30]);
/* 028DFBB4 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DFBB4 */ _t66 = _t65 & 0x00000001u;
/* 028DFBB4 */ if (_t66) goto L_028DFBC0; else goto L_028DFBB8;
L_028DFBB8: ; // 0x28dfbb8
/* 028DFBB8 */ _t67 = cpu->r[30] + 0x0000000Cu;
/* 028DFBB8 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
/* 028DFBBC */ goto L_028DFBFC;
L_028DFBC0: ; // 0x28dfbc0
/* 028DFBC0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
/* 028DFBC4 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DFBC4 */ _t69 = _t68 & 0x00000001u;
/* 028DFBC4 */ if (_t69) goto L_028DFBD0; else goto L_028DFBC8;
L_028DFBC8: ; // 0x28dfbc8
/* 028DFBC8 */ _t70 = cpu->r[30] + 0x0000000Cu;
/* 028DFBC8 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[1]);
/* 028DFBCC */ goto L_028DFBFC;
L_028DFBD0: ; // 0x28dfbd0
/* 028DFBD0 */ cpu->f[11] = cpu->f[30] - cpu->f[28];
/* 028DFBD4 */ cpu->f[12] = cpu->f[30] - cpu->f[29];
/* 028DFBD8 */ cpu->f[0] = cpu->f[11] / cpu->f[12];
/* 028DFBDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028DFBE0 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DFBE0 */ _t72 = _t71 & 0x00000001u;
/* 028DFBE0 */ if (_t72) goto L_028DFBE4; else goto L_028DFBEC;
L_028DFBE4: ; // 0x28dfbe4
/* 028DFBE4 */ cpu->f[0] = cpu->f[31];
/* 028DFBE8 */ goto L_028DFBF8;
L_028DFBEC: ; // 0x28dfbec
/* 028DFBEC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028DFBF0 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028DFBF0 */ _t74 = _t73 & 0x00000001u;
/* 028DFBF0 */ if (_t74) goto L_028DFBF4; else goto L_028DFBF8;
L_028DFBF4: ; // 0x28dfbf4
/* 028DFBF4 */ cpu->f[0] = cpu->f[1];
L_028DFBF8: ; // 0x28dfbf8
/* 028DFBF8 */ _t75 = cpu->r[30] + 0x0000000Cu;
/* 028DFBF8 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
L_028DFBFC: ; // 0x28dfbfc
/* 028DFBFC */ _t76 = cpu->r[1] + 0x00000038u;
/* 028DFBFC */ cpu->r[28] = rbrew_read32(cpu->mem, _t76);
/* 028DFC00 */ _t77 = cpu->r[1] + 0x0000003Cu;
/* 028DFC00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t77);
/* 028DFC04 */ _t78 = cpu->r[1] + 0x00000080u;
/* 028DFC04 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t78);
/* 028DFC08 */ _t79 = cpu->r[1] + 0x00000060u;
/* 028DFC08 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t79);
/* 028DFC0C */ _t80 = cpu->r[1] + 0x00000078u;
/* 028DFC0C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t80);
/* 028DFC10 */ _t81 = cpu->r[1] + 0x00000070u;
/* 028DFC10 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t81);
/* 028DFC14 */ _t82 = cpu->r[1] + 0x00000058u;
/* 028DFC14 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t82);
/* 028DFC18 */ _t83 = cpu->r[1] + 0x00000068u;
/* 028DFC18 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t83);
/* 028DFC1C */ _t84 = cpu->r[1] + 0x00000050u;
/* 028DFC1C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t84);
/* 028DFC20 */ _t85 = cpu->r[1] + 0x00000044u;
/* 028DFC20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t85);
/* 028DFC24 */ _t86 = cpu->r[1] + 0x00000048u;
/* 028DFC24 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t86);
/* 028DFC28 */ _t87 = cpu->r[1] + 0x00000040u;
/* 028DFC28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
/* 028DFC2C */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DFC2C */ _t89 = _t88 & 0x00000001u;
/* 028DFC2C */ if (_t89) goto L_028DFC30; // else: addr-0 trap, fall-through
L_028DFC30: ; // 0x28dfc30
/* 028DFC30 */ _t90 = cpu->r[1] + 0x0000008Cu;
/* 028DFC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
/* 028DFC34 */ cpu->lr = cpu->r[0];
/* 028DFC38 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
/* 028DFC3C */ return;
}
// fn_028DFC40 @ 0x28dfc40
void Gambit_fn_028DFC40(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028DFC40: ; // 0x28dfc40
/* 028DFC40 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028DFC40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DFC40 */ cpu->r[1] = _t0;
/* 028DFC44 */ cpu->r[0] = cpu->lr;
/* 028DFC48 */ /* nop */
/* 028DFC4C */ cpu->r[28] = cpu->r[3];
/* 028DFC50 */ cpu->r[30] = cpu->r[5];
/* 028DFC54 */ cpu->r[31] = cpu->r[6];
/* 028DFC58 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028DFC58 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028DFC5C */ cpu->r[29] = cpu->r[4];
/* 028DFC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028DFC60 */ cpu->r[27] = cpu->r[7];
/* 028DFC64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFC64 */ _t3 = _t2 & 0x00000001u;
/* 028DFC64 */ if (_t3) goto L_028DFCE4; else goto L_028DFC68;
L_028DFC68: ; // 0x28dfc68
/* 028DFC68 */ cpu->r[5] = cpu->r[30];
/* 028DFC6C */ cpu->r[4] = cpu->r[29] + 0x00000024u;
/* 028DFC70 */ cpu->r[3] = cpu->r[28];
/* 028DFC74 */ Gambit_fn_028DF6EC(cpu);
/* 028DFC78 */ cpu->r[3] = cpu->r[28];
/* 028DFC7C */ Gambit_fn_028DF2CC(cpu);
/* 028DFC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFC84 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFC84 */ _t5 = _t4 & 0x00000001u;
/* 028DFC84 */ if (_t5) goto L_028DFCB4; else goto L_028DFC88;
L_028DFC88: ; // 0x28dfc88
/* 028DFC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028DFC8C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFC8C */ _t7 = _t6 & 0x00000001u;
/* 028DFC8C */ if (_t7) goto L_028DFC9C; else goto L_028DFC90;
L_028DFC90: ; // 0x28dfc90
/* 028DFC90 */ cpu->r[0] = 0x00010000u;
/* 028DFC94 */ cpu->r[0] = cpu->r[0] | 0x00000003u;
/* 028DFC98 */ _t8 = cpu->r[27] + 0x00000000u;
/* 028DFC98 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
L_028DFC9C: ; // 0x28dfc9c
/* 028DFC9C */ /* nop */
/* 028DFCA0 */ _t9 = cpu->r[1] + 0x00000024u;
/* 028DFCA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028DFCA4 */ cpu->lr = cpu->r[0];
/* 028DFCA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DFCAC */ cpu->r[3] = 0x00000001u;
/* 028DFCB0 */ return;
L_028DFCB4: ; // 0x28dfcb4
/* 028DFCB4 */ cpu->r[5] = cpu->r[30];
/* 028DFCB8 */ cpu->r[4] = cpu->r[29];
/* 028DFCBC */ cpu->r[3] = cpu->r[28];
/* 028DFCC0 */ Gambit_fn_028DF780(cpu);
/* 028DFCC4 */ cpu->r[7] = cpu->r[27];
/* 028DFCC8 */ cpu->r[6] = cpu->r[31];
/* 028DFCCC */ cpu->r[5] = cpu->r[30];
/* 028DFCD0 */ cpu->r[4] = cpu->r[29];
/* 028DFCD4 */ cpu->r[3] = cpu->r[28];
/* 028DFCD8 */ Gambit_fn_028DF320(cpu);
/* 028DFCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFCE0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFCE0 */ _t11 = _t10 & 0x00000001u;
/* 028DFCE0 */ if (_t11) goto L_028DFCE4; else goto L_028DFCFC;
L_028DFCE4: ; // 0x28dfce4
/* 028DFCE4 */ /* nop */
/* 028DFCE8 */ _t12 = cpu->r[1] + 0x00000024u;
/* 028DFCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028DFCEC */ cpu->lr = cpu->r[0];
/* 028DFCF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DFCF4 */ cpu->r[3] = 0x00000000u;
/* 028DFCF8 */ return;
L_028DFCFC: ; // 0x28dfcfc
/* 028DFCFC */ cpu->r[5] = cpu->r[29] + 0x00000024u;
/* 028DFD00 */ cpu->r[4] = cpu->r[29] + 0x00000054u;
/* 028DFD04 */ cpu->r[3] = cpu->r[30];
/* 028DFD08 */ Gambit_fn_028D61E8(cpu);
/* 028DFD0C */ cpu->r[5] = cpu->r[30];
/* 028DFD10 */ cpu->r[4] = cpu->r[29];
/* 028DFD14 */ cpu->r[3] = cpu->r[28];
/* 028DFD18 */ Gambit_fn_028DF80C(cpu);
/* 028DFD1C */ cpu->r[5] = cpu->r[30];
/* 028DFD20 */ cpu->r[4] = cpu->r[29];
/* 028DFD24 */ cpu->r[3] = cpu->r[28];
/* 028DFD28 */ Gambit_fn_028DFA0C(cpu);
/* 028DFD2C */ /* nop */
/* 028DFD30 */ _t13 = cpu->r[1] + 0x00000024u;
/* 028DFD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028DFD34 */ cpu->lr = cpu->r[0];
/* 028DFD38 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028DFD3C */ cpu->r[3] = 0x00000001u;
/* 028DFD40 */ return;
}
// fn_028DFD44 @ 0x28dfd44
void Gambit_fn_028DFD44(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028DFD44: ; // 0x28dfd44
/* 028DFD44 */ cpu->r[0] = cpu->lr;
/* 028DFD48 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028DFD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DFD48 */ cpu->r[1] = _t0;
/* 028DFD4C */ _t1 = cpu->r[1] + 0x00000044u;
/* 028DFD4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DFD50 */ cpu->r[31] = cpu->r[3];
/* 028DFD54 */ _t2 = cpu->r[1] + 0x0000004Cu;
/* 028DFD54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028DFD58 */ _t3 = cpu->r[31] + 0x0000001Cu;
/* 028DFD58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028DFD5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFD60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFD60 */ _t5 = _t4 & 0x00000001u;
/* 028DFD60 */ if (_t5) goto L_028DFE08; else goto L_028DFD64;
L_028DFD64: ; // 0x28dfd64
/* 028DFD64 */ _t6 = cpu->r[31] + 0x0000000Cu;
/* 028DFD64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028DFD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028DFD6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFD6C */ _t8 = _t7 & 0x00000001u;
/* 028DFD6C */ if (_t8) goto L_028DFE08; else goto L_028DFD70;
L_028DFD70: ; // 0x28dfd70
/* 028DFD70 */ Gambit_fn_028E86E4(cpu);
/* 028DFD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFD78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFD78 */ _t10 = _t9 & 0x00000001u;
/* 028DFD78 */ if (_t10) goto L_028DFDA4; else goto L_028DFD7C;
L_028DFD7C: ; // 0x28dfd7c
/* 028DFD7C */ _t11 = cpu->r[31] + 0x0000000Cu;
/* 028DFD7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
/* 028DFD80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028DFD84 */ Gambit_fn_0200D450(cpu);
/* 028DFD88 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028DFD88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028DFD8C */ _t13 = cpu->r[31] + 0x0000001Cu;
/* 028DFD8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
/* 028DFD90 */ _t14 = cpu->r[9] + 0x0000002Cu;
/* 028DFD90 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028DFD94 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028DFD94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
/* 028DFD98 */ _t16 = cpu->r[9] + 0x00000030u;
/* 028DFD98 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
/* 028DFD9C */ _t17 = cpu->r[1] + 0x00000010u;
/* 028DFD9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
/* 028DFDA0 */ _t18 = cpu->r[9] + 0x00000034u;
/* 028DFDA0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
L_028DFDA4: ; // 0x28dfda4
/* 028DFDA4 */ _t19 = cpu->r[31] + 0x0000001Cu;
/* 028DFDA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028DFDA8 */ Gambit_fn_028E8710(cpu);
/* 028DFDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFDB0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFDB0 */ _t21 = _t20 & 0x00000001u;
/* 028DFDB0 */ if (_t21) goto L_028DFE08; else goto L_028DFDB4;
L_028DFDB4: ; // 0x28dfdb4
/* 028DFDB4 */ cpu->r[8] = 0x00000003u;
/* 028DFDB8 */ _t22 = cpu->r[31] + 0x0000000Cu;
/* 028DFDB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
/* 028DFDBC */ cpu->ctr = cpu->r[8];
/* 028DFDC0 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFCu;
/* 028DFDC4 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
L_028DFDC8: ; // 0x28dfdc8
/* 028DFDC8 */ _t23 = cpu->r[11] + 0x00000004u;
/* 028DFDC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028DFDCC */ _t24 = cpu->r[7] + 0x00000004u;
/* 028DFDCC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
/* 028DFDD0 */ _t25 = cpu->r[11] + 0x00000008u;
/* 028DFDD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
/* 028DFDD4 */ _t26 = cpu->r[7] + 0x00000008u;
/* 028DFDD4 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
/* 028DFDD8 */ _t27 = cpu->r[11] + 0x0000000Cu;
/* 028DFDD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028DFDDC */ _t28 = cpu->r[7] + 0x0000000Cu;
/* 028DFDDC */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
/* 028DFDE0 */ _t29 = cpu->r[11] + 0x00000010u;
/* 028DFDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028DFDE0 */ cpu->r[11] = _t29;
/* 028DFDE4 */ _t30 = cpu->r[7] + 0x00000010u;
/* 028DFDE4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028DFDE4 */ cpu->r[7] = _t30;
/* 028DFDE8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028DFDE8 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028DFDE8 */ _t32 = _t31 >> (0x00000002u & 31u);
/* 028DFDE8 */ _t33 = _t32 & 0x00000001u;
/* 028DFDE8 */ if (_t33) goto L_028DFDC8; else goto L_028DFDEC;
L_028DFDEC: ; // 0x28dfdec
/* 028DFDEC */ cpu->r[4] = 0x101F0000u;
/* 028DFDF0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028DFDF4 */ cpu->r[4] = cpu->r[4] + 0x00006338u;
/* 028DFDF8 */ Gambit_fn_021620C4(cpu);
/* 028DFDFC */ _t34 = cpu->r[31] + 0x0000001Cu;
/* 028DFDFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
/* 028DFE00 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028DFE04 */ Gambit_fn_028E86B4(cpu);
L_028DFE08: ; // 0x28dfe08
/* 028DFE08 */ _t35 = cpu->r[1] + 0x0000004Cu;
/* 028DFE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028DFE0C */ _t36 = cpu->r[1] + 0x00000044u;
/* 028DFE0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028DFE10 */ cpu->lr = cpu->r[0];
/* 028DFE14 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028DFE18 */ return;
}
// fn_028DFD48 @ 0x28dfd48
void Gambit_fn_028DFD48(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028DFD48: ; // 0x28dfd48
/* 028DFD48 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028DFD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DFD48 */ cpu->r[1] = _t0;
/* 028DFD4C */ _t1 = cpu->r[1] + 0x00000044u;
/* 028DFD4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028DFD50 */ cpu->r[31] = cpu->r[3];
/* 028DFD54 */ _t2 = cpu->r[1] + 0x0000004Cu;
/* 028DFD54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028DFD58 */ _t3 = cpu->r[31] + 0x0000001Cu;
/* 028DFD58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028DFD5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFD60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFD60 */ _t5 = _t4 & 0x00000001u;
/* 028DFD60 */ if (_t5) goto L_028DFE08; else goto L_028DFD64;
L_028DFD64: ; // 0x28dfd64
/* 028DFD64 */ _t6 = cpu->r[31] + 0x0000000Cu;
/* 028DFD64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028DFD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028DFD6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFD6C */ _t8 = _t7 & 0x00000001u;
/* 028DFD6C */ if (_t8) goto L_028DFE08; else goto L_028DFD70;
L_028DFD70: ; // 0x28dfd70
/* 028DFD70 */ Gambit_fn_028E86E4(cpu);
/* 028DFD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFD78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFD78 */ _t10 = _t9 & 0x00000001u;
/* 028DFD78 */ if (_t10) goto L_028DFDA4; else goto L_028DFD7C;
L_028DFD7C: ; // 0x28dfd7c
/* 028DFD7C */ _t11 = cpu->r[31] + 0x0000000Cu;
/* 028DFD7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
/* 028DFD80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028DFD84 */ Gambit_fn_0200D450(cpu);
/* 028DFD88 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028DFD88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028DFD8C */ _t13 = cpu->r[31] + 0x0000001Cu;
/* 028DFD8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
/* 028DFD90 */ _t14 = cpu->r[9] + 0x0000002Cu;
/* 028DFD90 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028DFD94 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028DFD94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
/* 028DFD98 */ _t16 = cpu->r[9] + 0x00000030u;
/* 028DFD98 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
/* 028DFD9C */ _t17 = cpu->r[1] + 0x00000010u;
/* 028DFD9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
/* 028DFDA0 */ _t18 = cpu->r[9] + 0x00000034u;
/* 028DFDA0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
L_028DFDA4: ; // 0x28dfda4
/* 028DFDA4 */ _t19 = cpu->r[31] + 0x0000001Cu;
/* 028DFDA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028DFDA8 */ Gambit_fn_028E8710(cpu);
/* 028DFDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFDB0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFDB0 */ _t21 = _t20 & 0x00000001u;
/* 028DFDB0 */ if (_t21) goto L_028DFE08; else goto L_028DFDB4;
L_028DFDB4: ; // 0x28dfdb4
/* 028DFDB4 */ cpu->r[8] = 0x00000003u;
/* 028DFDB8 */ _t22 = cpu->r[31] + 0x0000000Cu;
/* 028DFDB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
/* 028DFDBC */ cpu->ctr = cpu->r[8];
/* 028DFDC0 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFCu;
/* 028DFDC4 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
L_028DFDC8: ; // 0x28dfdc8
/* 028DFDC8 */ _t23 = cpu->r[11] + 0x00000004u;
/* 028DFDC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028DFDCC */ _t24 = cpu->r[7] + 0x00000004u;
/* 028DFDCC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
/* 028DFDD0 */ _t25 = cpu->r[11] + 0x00000008u;
/* 028DFDD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
/* 028DFDD4 */ _t26 = cpu->r[7] + 0x00000008u;
/* 028DFDD4 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
/* 028DFDD8 */ _t27 = cpu->r[11] + 0x0000000Cu;
/* 028DFDD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028DFDDC */ _t28 = cpu->r[7] + 0x0000000Cu;
/* 028DFDDC */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
/* 028DFDE0 */ _t29 = cpu->r[11] + 0x00000010u;
/* 028DFDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028DFDE0 */ cpu->r[11] = _t29;
/* 028DFDE4 */ _t30 = cpu->r[7] + 0x00000010u;
/* 028DFDE4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028DFDE4 */ cpu->r[7] = _t30;
/* 028DFDE8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028DFDE8 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028DFDE8 */ _t32 = _t31 >> (0x00000002u & 31u);
/* 028DFDE8 */ _t33 = _t32 & 0x00000001u;
/* 028DFDE8 */ if (_t33) goto L_028DFDC8; else goto L_028DFDEC;
L_028DFDEC: ; // 0x28dfdec
/* 028DFDEC */ cpu->r[4] = 0x101F0000u;
/* 028DFDF0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028DFDF4 */ cpu->r[4] = cpu->r[4] + 0x00006338u;
/* 028DFDF8 */ Gambit_fn_021620C4(cpu);
/* 028DFDFC */ _t34 = cpu->r[31] + 0x0000001Cu;
/* 028DFDFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
/* 028DFE00 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028DFE04 */ Gambit_fn_028E86B4(cpu);
L_028DFE08: ; // 0x28dfe08
/* 028DFE08 */ _t35 = cpu->r[1] + 0x0000004Cu;
/* 028DFE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028DFE0C */ _t36 = cpu->r[1] + 0x00000044u;
/* 028DFE0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028DFE10 */ cpu->lr = cpu->r[0];
/* 028DFE14 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028DFE18 */ return;
}
// fn_028DFE1C @ 0x28dfe1c
void Gambit_fn_028DFE1C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028DFE1C: ; // 0x28dfe1c
/* 028DFE1C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028DFE1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DFE1C */ cpu->r[1] = _t0;
/* 028DFE20 */ /* nop */
/* 028DFE24 */ cpu->r[0] = cpu->lr;
/* 028DFE28 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028DFE28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028DFE2C */ cpu->r[29] = cpu->r[3];
/* 028DFE30 */ _t2 = cpu->r[29] + 0x00000034u;
/* 028DFE30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028DFE34 */ _t3 = cpu->r[29] + 0x00000038u;
/* 028DFE34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
/* 028DFE38 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028DFE38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
/* 028DFE3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
/* 028DFE40 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFE40 */ _t6 = _t5 & 0x00000001u;
/* 028DFE40 */ if (_t6) goto L_028DFE44; else goto L_028DFE5C;
L_028DFE44: ; // 0x28dfe44
/* 028DFE44 */ _t7 = cpu->r[29] + 0x00000028u;
/* 028DFE44 */ cpu->r[3] = rbrew_read8(cpu->mem, _t7);
/* 028DFE48 */ /* nop */
/* 028DFE4C */ _t8 = cpu->r[1] + 0x00000034u;
/* 028DFE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028DFE50 */ cpu->lr = cpu->r[0];
/* 028DFE54 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028DFE58 */ return;
L_028DFE5C: ; // 0x28dfe5c
/* 028DFE5C */ cpu->r[28] = cpu->r[29] + 0x00000044u;
/* 028DFE60 */ cpu->r[3] = cpu->r[28];
/* 028DFE64 */ Gambit_fn_02836FFC(cpu);
/* 028DFE68 */ _t9 = cpu->r[29] + 0x0000000Cu;
/* 028DFE68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028DFE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028DFE70 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFE70 */ _t11 = _t10 & 0x00000001u;
/* 028DFE70 */ if (_t11) goto L_028DFE74; else goto L_028DFE98;
L_028DFE74: ; // 0x28dfe74
/* 028DFE74 */ _t12 = cpu->r[29] + 0x00000028u;
/* 028DFE74 */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
/* 028DFE78 */ cpu->r[3] = cpu->r[28];
/* 028DFE7C */ Gambit_fn_02837030(cpu);
/* 028DFE80 */ cpu->r[3] = cpu->r[31];
/* 028DFE84 */ /* nop */
/* 028DFE88 */ _t13 = cpu->r[1] + 0x00000034u;
/* 028DFE88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028DFE8C */ cpu->lr = cpu->r[0];
/* 028DFE90 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028DFE94 */ return;
L_028DFE98: ; // 0x28dfe98
/* 028DFE98 */ cpu->r[3] = cpu->r[29];
/* 028DFE9C */ Gambit_fn_028DFD44(cpu);
/* 028DFEA0 */ cpu->r[23] = 0x00000000u;
/* 028DFEA4 */ cpu->r[25] = cpu->r[23];
/* 028DFEA8 */ Gambit_fn_028C2A24(cpu);
/* 028DFEAC */ _t14 = cpu->r[3] + 0x0000000Cu;
/* 028DFEAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028DFEB0 */ cpu->r[31] = cpu->r[3] + 0xFFFFFE88u;
/* 028DFEB4 */ cpu->r[30] = cpu->r[9] + 0xFFFFFE80u;
/* 028DFEB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028DFEBC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFEBC */ _t16 = _t15 & 0x00000001u;
/* 028DFEBC */ if (_t16) goto L_028DFF54; else goto L_028DFEC0;
L_028DFEC0: ; // 0x28dfec0
/* 028DFEC0 */ cpu->r[24] = 0x00000000u;
/* 028DFEC4 */ cpu->r[26] = 0x00000001u;
/* 028DFEC8 */ cpu->r[27] = cpu->r[24];
L_028DFECC: ; // 0x28dfecc
/* 028DFECC */ _t17 = cpu->r[29] + 0x0000003Cu;
/* 028DFECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028DFED0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
/* 028DFED4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028DFED4 */ _t19 = _t18 & 0x00000001u;
/* 028DFED4 */ if (_t19) goto L_028DFED8; else goto L_028DFF3C;
L_028DFED8: ; // 0x28dfed8
/* 028DFED8 */ _t20 = cpu->r[29] + 0x00000040u;
/* 028DFED8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
/* 028DFEDC */ cpu->r[4] = cpu->r[11] + cpu->r[24];
/* 028DFEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028DFEE0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFEE0 */ _t22 = _t21 & 0x00000001u;
/* 028DFEE0 */ if (_t22) goto L_028DFF3C; else goto L_028DFEE4;
L_028DFEE4: ; // 0x28dfee4
/* 028DFEE4 */ /* nop */
/* 028DFEE8 */ _t23 = cpu->r[29] + 0x00000022u;
/* 028DFEE8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t23);
/* 028DFEEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028DFEF0 */ cpu->r[7] = cpu->r[12] & cpu->r[0];
/* 028DFEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028DFEF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFEF4 */ _t25 = _t24 & 0x00000001u;
/* 028DFEF4 */ if (_t25) goto L_028DFEF8; else goto L_028DFF18;
L_028DFEF8: ; // 0x28dfef8
/* 028DFEF8 */ _t26 = cpu->r[4] + 0x00000000u;
/* 028DFEF8 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[27]);
/* 028DFEFC */ _t27 = cpu->r[30] + 0x00000184u;
/* 028DFEFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
/* 028DFF00 */ cpu->r[30] = cpu->r[8] + 0xFFFFFE80u;
/* 028DFF04 */ cpu->r[24] = cpu->r[24] + 0x00000090u;
/* 028DFF08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028DFF0C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
/* 028DFF10 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFF10 */ _t29 = _t28 & 0x00000001u;
/* 028DFF10 */ if (_t29) goto L_028DFF14; else goto L_028DFECC;
L_028DFF14: ; // 0x28dff14
/* 028DFF14 */ goto L_028DFF54;
L_028DFF18: ; // 0x28dff18
/* 028DFF18 */ cpu->r[7] = cpu->r[29] + 0x00000080u;
/* 028DFF1C */ cpu->r[3] = cpu->r[29];
/* 028DFF20 */ cpu->r[5] = cpu->r[30];
/* 028DFF24 */ cpu->r[6] = cpu->r[25];
/* 028DFF28 */ _t30 = cpu->r[4] + 0x00000000u;
/* 028DFF28 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[26]);
/* 028DFF2C */ Gambit_fn_028DFC40(cpu);
/* 028DFF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFF34 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFF34 */ _t32 = _t31 & 0x00000001u;
/* 028DFF34 */ if (_t32) goto L_028DFF3C; else goto L_028DFF38;
L_028DFF38: ; // 0x28dff38
/* 028DFF38 */ cpu->r[23] = 0x00000001u;
L_028DFF3C: ; // 0x28dff3c
/* 028DFF3C */ _t33 = cpu->r[30] + 0x00000184u;
/* 028DFF3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
/* 028DFF40 */ cpu->r[30] = cpu->r[8] + 0xFFFFFE80u;
/* 028DFF44 */ cpu->r[24] = cpu->r[24] + 0x00000090u;
/* 028DFF48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028DFF4C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
/* 028DFF50 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFF50 */ _t35 = _t34 & 0x00000001u;
/* 028DFF50 */ if (_t35) goto L_028DFF54; else goto L_028DFECC;
L_028DFF54: ; // 0x28dff54
/* 028DFF54 */ _t36 = cpu->r[29] + 0x00000034u;
/* 028DFF54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
/* 028DFF58 */ cpu->r[0] = cpu->r[23] ^ 0x00000001u;
/* 028DFF5C */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028DFF60 */ _t37 = cpu->r[9] + 0x00000000u;
/* 028DFF60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028DFF64 */ _t38 = cpu->r[29] + 0x00000028u;
/* 028DFF64 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[31]);
/* 028DFF68 */ cpu->r[3] = cpu->r[28];
/* 028DFF6C */ _t39 = cpu->r[29] + 0x00000038u;
/* 028DFF6C */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
/* 028DFF70 */ Gambit_fn_02837030(cpu);
/* 028DFF74 */ cpu->r[3] = cpu->r[31];
/* 028DFF78 */ /* nop */
/* 028DFF7C */ _t40 = cpu->r[1] + 0x00000034u;
/* 028DFF7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028DFF80 */ cpu->lr = cpu->r[0];
/* 028DFF84 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028DFF88 */ return;
}
// fn_028DFF8C @ 0x28dff8c
void Gambit_fn_028DFF8C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028DFF8C: ; // 0x28dff8c
/* 028DFF8C */ cpu->r[0] = cpu->lr;
/* 028DFF90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028DFF90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DFF90 */ cpu->r[1] = _t0;
/* 028DFF94 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DFF94 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028DFF98 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028DFF98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028DFF9C */ _t3 = cpu->r[1] + 0x00000010u;
/* 028DFF9C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028DFFA0 */ cpu->r[31] = cpu->r[3];
/* 028DFFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DFFA4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028DFFA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DFFA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFA8 */ _t6 = _t5 & 0x00000001u;
/* 028DFFA8 */ if (_t6) goto L_028DFFAC; else goto L_028DFFBC;
L_028DFFAC: ; // 0x28dffac
/* 028DFFAC */ cpu->r[3] = 0x00000088u;
/* 028DFFB0 */ Gambit_fn_02801A78(cpu);
/* 028DFFB4 */ cpu->r[31] = cpu->r[3];
/* 028DFFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DFFB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFB8 */ _t8 = _t7 & 0x00000001u;
/* 028DFFB8 */ if (_t8) goto L_028E0084; else goto L_028DFFBC;
L_028DFFBC: ; // 0x28dffbc
/* 028DFFBC */ cpu->r[29] = 0x00000000u;
/* 028DFFC0 */ cpu->r[0] = 0x10140000u;
/* 028DFFC4 */ _t9 = cpu->r[31] + 0x00000008u;
/* 028DFFC4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]);
/* 028DFFC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFB5C4u;
/* 028DFFCC */ _t10 = cpu->r[31] + 0x00000004u;
/* 028DFFCC */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
/* 028DFFD0 */ _t11 = cpu->r[31] + 0x00000084u;
/* 028DFFD0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028DFFD4 */ cpu->r[30] = cpu->r[31] + 0x0000000Cu;
/* 028DFFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028DFFD8 */ _t12 = cpu->r[31] + 0x00000000u;
/* 028DFFD8 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
/* 028DFFDC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFDC */ _t14 = _t13 & 0x00000001u;
/* 028DFFDC */ if (_t14) goto L_028DFFE0; else goto L_028DFFF0;
L_028DFFE0: ; // 0x28dffe0
/* 028DFFE0 */ cpu->r[3] = 0x00000018u;
/* 028DFFE4 */ Gambit_fn_02801A78(cpu);
/* 028DFFE8 */ cpu->r[30] = cpu->r[3];
/* 028DFFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028DFFEC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFEC */ _t16 = _t15 & 0x00000001u;
/* 028DFFEC */ if (_t16) goto L_028E0030; else goto L_028DFFF0;
L_028DFFF0: ; // 0x28dfff0
/* 028DFFF0 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028DFFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFFF4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFF4 */ _t18 = _t17 & 0x00000001u;
/* 028DFFF4 */ if (_t18) goto L_028DFFF8; else goto L_028E0008;
L_028DFFF8: ; // 0x28dfff8
/* 028DFFF8 */ cpu->r[3] = 0x00000002u;
/* 028DFFFC */ Gambit_fn_02801A78(cpu);
/* 028E0000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0004 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0004 */ _t20 = _t19 & 0x00000001u;
/* 028E0004 */ if (_t20) goto L_028E000C; else goto L_028E0008;
L_028E0008: ; // 0x28e0008
/* 028E0008 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028E0008 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[29]);
L_028E000C: ; // 0x28e000c
/* 028E000C */ cpu->r[3] = cpu->r[30] + 0x00000016u;
/* 028E000C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0010 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0010 */ _t23 = _t22 & 0x00000001u;
/* 028E0010 */ if (_t23) goto L_028E0014; else goto L_028E0024;
L_028E0014: ; // 0x28e0014
/* 028E0014 */ cpu->r[3] = 0x00000002u;
/* 028E0018 */ Gambit_fn_02801A78(cpu);
/* 028E001C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0020 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0020 */ _t25 = _t24 & 0x00000001u;
/* 028E0020 */ if (_t25) goto L_028E0028; else goto L_028E0024;
L_028E0024: ; // 0x28e0024
/* 028E0024 */ _t26 = cpu->r[3] + 0x00000000u;
/* 028E0024 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[29]);
L_028E0028: ; // 0x28e0028
/* 028E0028 */ cpu->r[3] = cpu->r[30];
/* 028E002C */ Gambit_fn_028DEEDC(cpu);
L_028E0030: ; // 0x28e0030
/* 028E0030 */ _t27 = cpu->r[31] + 0x00000038u;
/* 028E0030 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
/* 028E0034 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
/* 028E0034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0038 */ _t28 = cpu->r[31] + 0x0000002Cu;
/* 028E0038 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
/* 028E003C */ _t29 = cpu->r[31] + 0x00000030u;
/* 028E003C */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
/* 028E0040 */ _t30 = cpu->r[31] + 0x00000024u;
/* 028E0040 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
/* 028E0044 */ _t31 = cpu->r[31] + 0x00000034u;
/* 028E0044 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
/* 028E0048 */ _t32 = cpu->r[31] + 0x00000028u;
/* 028E0048 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
/* 028E004C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E004C */ _t34 = _t33 & 0x00000001u;
/* 028E004C */ if (_t34) goto L_028E0050; else goto L_028E0060;
L_028E0050: ; // 0x28e0050
/* 028E0050 */ cpu->r[3] = 0x00000008u;
/* 028E0054 */ Gambit_fn_02801A78(cpu);
/* 028E0058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E005C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E005C */ _t36 = _t35 & 0x00000001u;
/* 028E005C */ if (_t36) goto L_028E0068; else goto L_028E0060;
L_028E0060: ; // 0x28e0060
/* 028E0060 */ _t37 = cpu->r[3] + 0x00000004u;
/* 028E0060 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
/* 028E0064 */ _t38 = cpu->r[3] + 0x00000000u;
/* 028E0064 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
L_028E0068: ; // 0x28e0068
/* 028E0068 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
/* 028E006C */ Gambit_fn_02836EBC(cpu);
/* 028E0070 */ cpu->r[12] = 0x101F0000u;
/* 028E0074 */ _t39 = cpu->r[12] + 0x000071B0u;
/* 028E0074 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028E0078 */ cpu->r[3] = cpu->r[31];
/* 028E007C */ _t40 = cpu->r[31] + 0x00000080u;
/* 028E007C */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
/* 028E0080 */ Gambit_fn_028DEF28(cpu);
L_028E0084: ; // 0x28e0084
/* 028E0084 */ _t41 = cpu->r[1] + 0x0000000Cu;
/* 028E0084 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
/* 028E0088 */ _t42 = cpu->r[1] + 0x0000001Cu;
/* 028E0088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
/* 028E008C */ cpu->r[3] = cpu->r[31];
/* 028E0090 */ _t43 = cpu->r[1] + 0x00000010u;
/* 028E0090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028E0094 */ cpu->lr = cpu->r[0];
/* 028E0098 */ _t44 = cpu->r[1] + 0x00000014u;
/* 028E0098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
/* 028E009C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E00A0 */ return;
}
// fn_028DFF90 @ 0x28dff90
void Gambit_fn_028DFF90(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028DFF90: ; // 0x28dff90
/* 028DFF90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028DFF90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028DFF90 */ cpu->r[1] = _t0;
/* 028DFF94 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028DFF94 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028DFF98 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028DFF98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028DFF9C */ _t3 = cpu->r[1] + 0x00000010u;
/* 028DFF9C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028DFFA0 */ cpu->r[31] = cpu->r[3];
/* 028DFFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DFFA4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028DFFA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028DFFA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFA8 */ _t6 = _t5 & 0x00000001u;
/* 028DFFA8 */ if (_t6) goto L_028DFFAC; else goto L_028DFFBC;
L_028DFFAC: ; // 0x28dffac
/* 028DFFAC */ cpu->r[3] = 0x00000088u;
/* 028DFFB0 */ Gambit_fn_02801A78(cpu);
/* 028DFFB4 */ cpu->r[31] = cpu->r[3];
/* 028DFFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028DFFB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFB8 */ _t8 = _t7 & 0x00000001u;
/* 028DFFB8 */ if (_t8) goto L_028E0084; else goto L_028DFFBC;
L_028DFFBC: ; // 0x28dffbc
/* 028DFFBC */ cpu->r[29] = 0x00000000u;
/* 028DFFC0 */ cpu->r[0] = 0x10140000u;
/* 028DFFC4 */ _t9 = cpu->r[31] + 0x00000008u;
/* 028DFFC4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]);
/* 028DFFC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFB5C4u;
/* 028DFFCC */ _t10 = cpu->r[31] + 0x00000004u;
/* 028DFFCC */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
/* 028DFFD0 */ _t11 = cpu->r[31] + 0x00000084u;
/* 028DFFD0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028DFFD4 */ cpu->r[30] = cpu->r[31] + 0x0000000Cu;
/* 028DFFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028DFFD8 */ _t12 = cpu->r[31] + 0x00000000u;
/* 028DFFD8 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
/* 028DFFDC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFDC */ _t14 = _t13 & 0x00000001u;
/* 028DFFDC */ if (_t14) goto L_028DFFE0; else goto L_028DFFF0;
L_028DFFE0: ; // 0x28dffe0
/* 028DFFE0 */ cpu->r[3] = 0x00000018u;
/* 028DFFE4 */ Gambit_fn_02801A78(cpu);
/* 028DFFE8 */ cpu->r[30] = cpu->r[3];
/* 028DFFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028DFFEC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFEC */ _t16 = _t15 & 0x00000001u;
/* 028DFFEC */ if (_t16) goto L_028E0030; else goto L_028DFFF0;
L_028DFFF0: ; // 0x28dfff0
/* 028DFFF0 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028DFFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028DFFF4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DFFF4 */ _t18 = _t17 & 0x00000001u;
/* 028DFFF4 */ if (_t18) goto L_028DFFF8; else goto L_028E0008;
L_028DFFF8: ; // 0x28dfff8
/* 028DFFF8 */ cpu->r[3] = 0x00000002u;
/* 028DFFFC */ Gambit_fn_02801A78(cpu);
/* 028E0000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0004 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0004 */ _t20 = _t19 & 0x00000001u;
/* 028E0004 */ if (_t20) goto L_028E000C; else goto L_028E0008;
L_028E0008: ; // 0x28e0008
/* 028E0008 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028E0008 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[29]);
L_028E000C: ; // 0x28e000c
/* 028E000C */ cpu->r[3] = cpu->r[30] + 0x00000016u;
/* 028E000C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0010 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0010 */ _t23 = _t22 & 0x00000001u;
/* 028E0010 */ if (_t23) goto L_028E0014; else goto L_028E0024;
L_028E0014: ; // 0x28e0014
/* 028E0014 */ cpu->r[3] = 0x00000002u;
/* 028E0018 */ Gambit_fn_02801A78(cpu);
/* 028E001C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0020 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0020 */ _t25 = _t24 & 0x00000001u;
/* 028E0020 */ if (_t25) goto L_028E0028; else goto L_028E0024;
L_028E0024: ; // 0x28e0024
/* 028E0024 */ _t26 = cpu->r[3] + 0x00000000u;
/* 028E0024 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[29]);
L_028E0028: ; // 0x28e0028
/* 028E0028 */ cpu->r[3] = cpu->r[30];
/* 028E002C */ Gambit_fn_028DEEDC(cpu);
L_028E0030: ; // 0x28e0030
/* 028E0030 */ _t27 = cpu->r[31] + 0x00000038u;
/* 028E0030 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
/* 028E0034 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
/* 028E0034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0038 */ _t28 = cpu->r[31] + 0x0000002Cu;
/* 028E0038 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
/* 028E003C */ _t29 = cpu->r[31] + 0x00000030u;
/* 028E003C */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
/* 028E0040 */ _t30 = cpu->r[31] + 0x00000024u;
/* 028E0040 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
/* 028E0044 */ _t31 = cpu->r[31] + 0x00000034u;
/* 028E0044 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
/* 028E0048 */ _t32 = cpu->r[31] + 0x00000028u;
/* 028E0048 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
/* 028E004C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E004C */ _t34 = _t33 & 0x00000001u;
/* 028E004C */ if (_t34) goto L_028E0050; else goto L_028E0060;
L_028E0050: ; // 0x28e0050
/* 028E0050 */ cpu->r[3] = 0x00000008u;
/* 028E0054 */ Gambit_fn_02801A78(cpu);
/* 028E0058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E005C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E005C */ _t36 = _t35 & 0x00000001u;
/* 028E005C */ if (_t36) goto L_028E0068; else goto L_028E0060;
L_028E0060: ; // 0x28e0060
/* 028E0060 */ _t37 = cpu->r[3] + 0x00000004u;
/* 028E0060 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
/* 028E0064 */ _t38 = cpu->r[3] + 0x00000000u;
/* 028E0064 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
L_028E0068: ; // 0x28e0068
/* 028E0068 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
/* 028E006C */ Gambit_fn_02836EBC(cpu);
/* 028E0070 */ cpu->r[12] = 0x101F0000u;
/* 028E0074 */ _t39 = cpu->r[12] + 0x000071B0u;
/* 028E0074 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028E0078 */ cpu->r[3] = cpu->r[31];
/* 028E007C */ _t40 = cpu->r[31] + 0x00000080u;
/* 028E007C */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
/* 028E0080 */ Gambit_fn_028DEF28(cpu);
L_028E0084: ; // 0x28e0084
/* 028E0084 */ _t41 = cpu->r[1] + 0x0000000Cu;
/* 028E0084 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
/* 028E0088 */ _t42 = cpu->r[1] + 0x0000001Cu;
/* 028E0088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
/* 028E008C */ cpu->r[3] = cpu->r[31];
/* 028E0090 */ _t43 = cpu->r[1] + 0x00000010u;
/* 028E0090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028E0094 */ cpu->lr = cpu->r[0];
/* 028E0098 */ _t44 = cpu->r[1] + 0x00000014u;
/* 028E0098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
/* 028E009C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E00A0 */ return;
}
// fn_028E00A4 @ 0x28e00a4
void Gambit_fn_028E00A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E00A4: ; // 0x28e00a4
/* 028E00A4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028E00A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E00A4 */ cpu->r[1] = _t0;
/* 028E00A8 */ /* nop */
/* 028E00AC */ _t1 = cpu->r[1] + 0x00000040u;
/* 028E00AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E00B0 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028E00B0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028E00B4 */ /* nop */
/* 028E00B8 */ _t3 = cpu->r[1] + 0x00000048u;
/* 028E00B8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028E00BC */ /* nop */
/* 028E00C0 */ _t4 = cpu->r[1] + 0x00000038u;
/* 028E00C0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
/* 028E00C4 */ cpu->r[0] = cpu->lr;
/* 028E00C8 */ _t5 = cpu->r[1] + 0x00000054u;
/* 028E00C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E00CC */ cpu->r[26] = cpu->r[3];
/* 028E00D0 */ _t6 = cpu->r[26] + 0x00000008u;
/* 028E00D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
/* 028E00D4 */ cpu->r[24] = cpu->r[4];
/* 028E00D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E00DC */ cpu->r[25] = cpu->r[5];
/* 028E00E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E00E0 */ _t8 = _t7 & 0x00000001u;
/* 028E00E0 */ if (_t8) goto L_028E00E4; else goto L_028E01F8;
L_028E00E4: ; // 0x28e00e4
/* 028E00E4 */ Gambit_fn_028C2A24(cpu);
/* 028E00E8 */ _t9 = cpu->r[3] + 0x0000001Cu;
/* 028E00E8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t9);
/* 028E00EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028E00F0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E00F0 */ _t11 = _t10 & 0x00000001u;
/* 028E00F0 */ if (_t11) goto L_028E00F4; else goto L_028E01D8;
L_028E00F4: ; // 0x28e00f4
/* 028E00F4 */ cpu->r[3] = 0x101D0000u;
/* 028E00F8 */ _t12 = cpu->r[3] + 0xFFFF98F0u;
/* 028E00F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028E00FC */ Gambit_fn_02826F20(cpu);
/* 028E0100 */ _t13 = cpu->r[3] + 0x0000000Cu;
/* 028E0100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028E0104 */ _t14 = cpu->r[12] + 0x00000034u;
/* 028E0104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E0108 */ cpu->ctr = cpu->r[0];
/* 028E010C */ cpu->r[5] = 0x00000004u;
/* 028E0110 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x00000090u);
/* 028E0114 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E0118 */ cpu->r[27] = cpu->r[3];
/* 028E011C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028E0120 */ cpu->r[31] = cpu->r[23];
/* 028E0124 */ cpu->r[10] = 0x00000000u;
/* 028E0128 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0128 */ _t16 = _t15 & 0x00000001u;
/* 028E0128 */ if (_t16) goto L_028E0130; else goto L_028E012C;
L_028E012C: ; // 0x28e012c
/* 028E012C */ cpu->r[31] = 0x00000001u;
L_028E0130: ; // 0x28e0130
/* 028E0130 */ cpu->r[8] = 0x10140000u;
/* 028E0134 */ cpu->r[7] = 0x10140000u;
/* 028E0138 */ cpu->r[22] = 0x00000000u;
/* 028E013C */ _t17 = cpu->r[8] + 0xFFFFB5B0u;
/* 028E013C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t17);
/* 028E0140 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000090u);
/* 028E0144 */ _t18 = cpu->r[7] + 0xFFFFB5B4u;
/* 028E0144 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
/* 028E0148 */ cpu->r[29] = 0x101F0000u;
L_028E014C: ; // 0x28e014c
/* 028E014C */ cpu->r[30] = cpu->r[27] + cpu->r[28];
/* 028E014C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E0150 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0150 */ _t20 = _t19 & 0x00000001u;
/* 028E0150 */ if (_t20) goto L_028E01BC; else goto L_028E0154;
L_028E0154: ; // 0x28e0154
/* 028E0154 */ cpu->r[0] = cpu->r[30] + 0x00000024u;
/* 028E0154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0158 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0158 */ _t22 = _t21 & 0x00000001u;
/* 028E0158 */ if (_t22) goto L_028E015C; else goto L_028E0164;
L_028E015C: ; // 0x28e015c
/* 028E015C */ cpu->r[3] = 0x00000030u;
/* 028E0160 */ Gambit_fn_02801A78(cpu);
L_028E0164: ; // 0x28e0164
/* 028E0164 */ cpu->r[0] = cpu->r[30] + 0x00000054u;
/* 028E0164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0168 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0168 */ _t24 = _t23 & 0x00000001u;
/* 028E0168 */ if (_t24) goto L_028E016C; else goto L_028E0174;
L_028E016C: ; // 0x28e016c
/* 028E016C */ cpu->r[3] = 0x00000030u;
/* 028E0170 */ Gambit_fn_02801A78(cpu);
L_028E0174: ; // 0x28e0174
/* 028E0174 */ _t25 = cpu->r[30] + 0x00000004u;
/* 028E0174 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
/* 028E0178 */ cpu->r[3] = cpu->r[29] + 0x00005E00u;
/* 028E017C */ _t26 = cpu->r[30] + 0x00000018u;
/* 028E017C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
/* 028E0180 */ cpu->r[4] = cpu->r[30] + 0x00000024u;
/* 028E0184 */ _t27 = cpu->r[30] + 0x00000020u;
/* 028E0184 */ rbrew_write32(cpu->mem, _t27, cpu->r[22]);
/* 028E0188 */ _t28 = cpu->r[30] + 0x00000014u;
/* 028E0188 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[30]);
/* 028E018C */ _t29 = cpu->r[30] + 0x00000008u;
/* 028E018C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[30]);
/* 028E0190 */ _t30 = cpu->r[30] + 0x0000001Cu;
/* 028E0190 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[30]);
/* 028E0194 */ _t31 = cpu->r[30] + 0x0000000Cu;
/* 028E0194 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
/* 028E0198 */ _t32 = cpu->r[30] + 0x00000010u;
/* 028E0198 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[30]);
/* 028E019C */ _t33 = cpu->r[30] + 0x00000000u;
/* 028E019C */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[22]);
/* 028E01A0 */ Gambit_fn_02C69510(cpu);
/* 028E01A4 */ cpu->r[4] = cpu->r[30] + 0x00000054u;
/* 028E01A8 */ cpu->r[3] = cpu->r[29] + 0x00005E00u;
/* 028E01AC */ Gambit_fn_02C69510(cpu);
/* 028E01B0 */ _t34 = cpu->r[30] + 0x00000084u;
/* 028E01B0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[30]);
/* 028E01B4 */ _t35 = cpu->r[30] + 0x0000008Cu;
/* 028E01B4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[30]);
/* 028E01B8 */ _t36 = cpu->r[30] + 0x00000088u;
/* 028E01B8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
L_028E01BC: ; // 0x28e01bc
/* 028E01BC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028E01BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E01C0 */ cpu->r[28] = cpu->r[28] + 0x00000090u;
/* 028E01C4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E01C4 */ _t38 = _t37 & 0x00000001u;
/* 028E01C4 */ if (_t38) goto L_028E01C8; else goto L_028E014C;
L_028E01C8: ; // 0x28e01c8
/* 028E01C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E01CC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E01CC */ _t40 = _t39 & 0x00000001u;
/* 028E01CC */ if (_t40) goto L_028E01D8; else goto L_028E01D0;
L_028E01D0: ; // 0x28e01d0
/* 028E01D0 */ _t41 = cpu->r[26] + 0x00000040u;
/* 028E01D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
/* 028E01D4 */ _t42 = cpu->r[26] + 0x0000003Cu;
/* 028E01D4 */ rbrew_write32(cpu->mem, _t42, cpu->r[23]);
L_028E01D8: ; // 0x28e01d8
/* 028E01D8 */ _t43 = cpu->r[26] + 0x00000030u;
/* 028E01D8 */ rbrew_write32(cpu->mem, _t43, cpu->r[24]);
/* 028E01DC */ cpu->r[9] = 0x00000000u;
/* 028E01E0 */ _t44 = cpu->r[26] + 0x00000034u;
/* 028E01E0 */ rbrew_write32(cpu->mem, _t44, cpu->r[25]);
/* 028E01E4 */ cpu->r[3] = cpu->r[26];
/* 028E01E8 */ _t45 = cpu->r[26] + 0x0000002Cu;
/* 028E01E8 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
/* 028E01EC */ Gambit_fn_028DEF28(cpu);
/* 028E01F0 */ cpu->r[11] = 0x00000001u;
/* 028E01F4 */ _t46 = cpu->r[26] + 0x00000008u;
/* 028E01F4 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[11]);
L_028E01F8: ; // 0x28e01f8
/* 028E01F8 */ /* nop */
/* 028E01FC */ _t47 = cpu->r[1] + 0x00000038u;
/* 028E01FC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t47);
/* 028E0200 */ _t48 = cpu->r[1] + 0x00000048u;
/* 028E0200 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t48);
/* 028E0204 */ _t49 = cpu->r[1] + 0x00000030u;
/* 028E0204 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t49);
/* 028E0208 */ _t50 = cpu->r[1] + 0x00000040u;
/* 028E0208 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t50);
/* 028E020C */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E020C */ _t52 = _t51 & 0x00000001u;
/* 028E020C */ if (_t52) goto L_028E0210; // else: addr-0 trap, fall-through
L_028E0210: ; // 0x28e0210
/* 028E0210 */ _t53 = cpu->r[1] + 0x00000054u;
/* 028E0210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028E0214 */ cpu->lr = cpu->r[0];
/* 028E0218 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028E021C */ return;
}
// fn_028E0220 @ 0x28e0220
void Gambit_fn_028E0220(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E0220: ; // 0x28e0220
/* 028E0220 */ _t0 = cpu->r[3] + 0x0000002Cu;
/* 028E0220 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E0224 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E0228 */ _t1 = cpu->r[3] + 0x0000002Cu;
/* 028E0228 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028E022C */ return;
}
// fn_028E0230 @ 0x28e0230
void Gambit_fn_028E0230(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E0230: ; // 0x28e0230
/* 028E0230 */ _t0 = cpu->r[3] + 0x0000002Cu;
/* 028E0230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E0234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E0238 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0238 */ _t2 = _t1 & 0x00000001u;
/* 028E0238 */ _t3 = _t2 ^ 0x00000001u;
/* 028E0238 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E0238 */ goto L_028E023C;
L_028E023C: ; // 0x28e023c
/* 028E023C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E0240 */ _t4 = cpu->r[3] + 0x0000002Cu;
/* 028E0240 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E0244 */ return;
}
// fn_028E0248 @ 0x28e0248
void Gambit_fn_028E0248(CPUState* cpu) {
uint32_t _t0;
L_028E0248: ; // 0x28e0248
/* 028E0248 */ _t0 = cpu->r[3] + 0x0000002Cu;
/* 028E0248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E024C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E0250 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
/* 028E0254 */ return;
}
// fn_028E0258 @ 0x28e0258
void Gambit_fn_028E0258(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028E0258: ; // 0x28e0258
/* 028E0258 */ cpu->r[0] = 0x00000018u;
/* 028E025C */ cpu->r[12] = cpu->r[3] + 0x0000000Bu;
/* 028E0260 */ cpu->ctr = cpu->r[0];
/* 028E0264 */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu;
L_028E0268: ; // 0x28e0268
/* 028E0268 */ _t0 = cpu->r[12] + 0x00000001u;
/* 028E0268 */ cpu->r[9] = rbrew_read8(cpu->mem, _t0);
/* 028E0268 */ cpu->r[12] = _t0;
/* 028E026C */ _t1 = cpu->r[10] + 0x00000001u;
/* 028E026C */ cpu->r[11] = rbrew_read8(cpu->mem, _t1);
/* 028E026C */ cpu->r[10] = _t1;
/* 028E0270 */ cpu->r[0] = cpu->r[9] - cpu->r[11];
/* 028E0270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0274 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0274 */ _t3 = _t2 & 0x00000001u;
/* 028E0274 */ if (_t3) goto L_028E0278; else goto L_028E027C;
L_028E0278: ; // 0x28e0278
/* 028E0278 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E0278 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E0278 */ _t5 = _t4 >> (0x00000002u & 31u);
/* 028E0278 */ _t6 = _t5 & 0x00000001u;
/* 028E0278 */ if (_t6) goto L_028E0268; else goto L_028E027C;
L_028E027C: ; // 0x28e027c
/* 028E027C */ cpu->r[12] = rbrew_clz32(cpu->r[0]);
/* 028E0280 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028E0284 */ return;
}
// fn_028E0288 @ 0x28e0288
void Gambit_fn_028E0288(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_028E0288: ; // 0x28e0288
/* 028E0288 */ cpu->r[0] = cpu->lr;
/* 028E028C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E028C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E028C */ cpu->r[1] = _t0;
/* 028E0290 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0290 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E0294 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E0294 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E0298 */ cpu->r[31] = cpu->r[3];
/* 028E0298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E029C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E029C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E02A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E02A0 */ _t5 = _t4 & 0x00000001u;
/* 028E02A0 */ if (_t5) goto L_028E02A4; else goto L_028E02B4;
L_028E02A4: ; // 0x28e02a4
/* 028E02A4 */ cpu->r[3] = 0x00000054u;
/* 028E02A8 */ Gambit_fn_02801A78(cpu);
/* 028E02AC */ cpu->r[31] = cpu->r[3];
/* 028E02AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E02B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E02B0 */ _t7 = _t6 & 0x00000001u;
/* 028E02B0 */ if (_t7) goto L_028E02F4; else goto L_028E02B4;
L_028E02B4: ; // 0x28e02b4
/* 028E02B4 */ cpu->r[0] = 0x10140000u;
/* 028E02B8 */ cpu->r[3] = cpu->r[31];
/* 028E02B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E02BC */ cpu->r[0] = cpu->r[0] + 0xFFFFB5D4u;
/* 028E02C0 */ cpu->r[30] = 0x00000000u;
/* 028E02C4 */ _t8 = cpu->r[31] + 0x00000050u;
/* 028E02C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E02C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E02C8 */ _t10 = _t9 & 0x00000001u;
/* 028E02C8 */ if (_t10) goto L_028E02CC; else goto L_028E02DC;
L_028E02CC: ; // 0x28e02cc
/* 028E02CC */ cpu->r[3] = 0x00000008u;
/* 028E02D0 */ Gambit_fn_02801A78(cpu);
/* 028E02D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E02D8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E02D8 */ _t12 = _t11 & 0x00000001u;
/* 028E02D8 */ if (_t12) goto L_028E02E4; else goto L_028E02DC;
L_028E02DC: ; // 0x28e02dc
/* 028E02DC */ _t13 = cpu->r[3] + 0x00000004u;
/* 028E02DC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028E02E0 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028E02E0 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
L_028E02E4: ; // 0x28e02e4
/* 028E02E4 */ _t15 = cpu->r[31] + 0x0000000Cu;
/* 028E02E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028E02E8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E02EC */ _t16 = cpu->r[31] + 0x00000010u;
/* 028E02EC */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028E02F0 */ Gambit_fn_02836EBC(cpu);
L_028E02F4: ; // 0x28e02f4
/* 028E02F4 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028E02F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E02F8 */ cpu->r[3] = cpu->r[31];
/* 028E02FC */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E02FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E0300 */ cpu->lr = cpu->r[0];
/* 028E0304 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E0304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E0308 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E030C */ return;
}
// fn_028E028C @ 0x28e028c
void Gambit_fn_028E028C(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_028E028C: ; // 0x28e028c
/* 028E028C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E028C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E028C */ cpu->r[1] = _t0;
/* 028E0290 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0290 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E0294 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E0294 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E0298 */ cpu->r[31] = cpu->r[3];
/* 028E0298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E029C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E029C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E02A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E02A0 */ _t5 = _t4 & 0x00000001u;
/* 028E02A0 */ if (_t5) goto L_028E02A4; else goto L_028E02B4;
L_028E02A4: ; // 0x28e02a4
/* 028E02A4 */ cpu->r[3] = 0x00000054u;
/* 028E02A8 */ Gambit_fn_02801A78(cpu);
/* 028E02AC */ cpu->r[31] = cpu->r[3];
/* 028E02AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E02B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E02B0 */ _t7 = _t6 & 0x00000001u;
/* 028E02B0 */ if (_t7) goto L_028E02F4; else goto L_028E02B4;
L_028E02B4: ; // 0x28e02b4
/* 028E02B4 */ cpu->r[0] = 0x10140000u;
/* 028E02B8 */ cpu->r[3] = cpu->r[31];
/* 028E02B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E02BC */ cpu->r[0] = cpu->r[0] + 0xFFFFB5D4u;
/* 028E02C0 */ cpu->r[30] = 0x00000000u;
/* 028E02C4 */ _t8 = cpu->r[31] + 0x00000050u;
/* 028E02C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E02C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E02C8 */ _t10 = _t9 & 0x00000001u;
/* 028E02C8 */ if (_t10) goto L_028E02CC; else goto L_028E02DC;
L_028E02CC: ; // 0x28e02cc
/* 028E02CC */ cpu->r[3] = 0x00000008u;
/* 028E02D0 */ Gambit_fn_02801A78(cpu);
/* 028E02D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E02D8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E02D8 */ _t12 = _t11 & 0x00000001u;
/* 028E02D8 */ if (_t12) goto L_028E02E4; else goto L_028E02DC;
L_028E02DC: ; // 0x28e02dc
/* 028E02DC */ _t13 = cpu->r[3] + 0x00000004u;
/* 028E02DC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028E02E0 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028E02E0 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
L_028E02E4: ; // 0x28e02e4
/* 028E02E4 */ _t15 = cpu->r[31] + 0x0000000Cu;
/* 028E02E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028E02E8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E02EC */ _t16 = cpu->r[31] + 0x00000010u;
/* 028E02EC */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028E02F0 */ Gambit_fn_02836EBC(cpu);
L_028E02F4: ; // 0x28e02f4
/* 028E02F4 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028E02F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E02F8 */ cpu->r[3] = cpu->r[31];
/* 028E02FC */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E02FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E0300 */ cpu->lr = cpu->r[0];
/* 028E0304 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E0304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E0308 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E030C */ return;
}
// fn_028E0310 @ 0x28e0310
void Gambit_fn_028E0310(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028E0310: ; // 0x28e0310
/* 028E0310 */ cpu->r[0] = cpu->lr;
/* 028E0314 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E0314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0314 */ cpu->r[1] = _t0;
/* 028E0318 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0318 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E031C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E031C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E0320 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0320 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E0324 */ cpu->r[30] = cpu->r[3];
/* 028E0328 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E0328 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E032C */ _t5 = cpu->r[30] + 0x00000004u;
/* 028E032C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028E0330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0334 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0334 */ _t7 = _t6 & 0x00000001u;
/* 028E0334 */ if (_t7) goto L_028E03C4; else goto L_028E0338;
L_028E0338: ; // 0x28e0338
/* 028E0338 */ _t8 = cpu->r[30] + 0x00000008u;
/* 028E0338 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028E033C */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E0340 */ cpu->r[29] = cpu->r[31] + cpu->r[7];
/* 028E0344 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
/* 028E0348 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0348 */ _t10 = _t9 & 0x00000001u;
/* 028E0348 */ if (_t10) goto L_028E038C; else goto L_028E034C;
L_028E034C: ; // 0x28e034c
/* 028E034C */ _t11 = cpu->r[31] + 0x00000000u;
/* 028E034C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028E0350 */ Gambit_fn_028DEDD8(cpu);
/* 028E0354 */ _t12 = cpu->r[31] + 0x00000000u;
/* 028E0354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028E0358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E035C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E035C */ _t14 = _t13 & 0x00000001u;
/* 028E035C */ if (_t14) goto L_028E0374; else goto L_028E0360;
L_028E0360: ; // 0x28e0360
/* 028E0360 */ _t15 = cpu->r[3] + 0x00000084u;
/* 028E0360 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028E0364 */ _t16 = cpu->r[8] + 0x0000000Cu;
/* 028E0364 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028E0368 */ cpu->ctr = cpu->r[10];
/* 028E036C */ cpu->r[4] = 0x00000003u;
/* 028E0370 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028E0374: ; // 0x28e0374
/* 028E0374 */ cpu->r[31] = cpu->r[31] + 0x00000008u;
/* 028E0378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
/* 028E037C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E037C */ _t18 = _t17 & 0x00000001u;
/* 028E037C */ if (_t18) goto L_028E0380; else goto L_028E034C;
L_028E0380: ; // 0x28e0380
/* 028E0380 */ _t19 = cpu->r[30] + 0x00000004u;
/* 028E0380 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028E0384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0388 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0388 */ _t21 = _t20 & 0x00000001u;
/* 028E0388 */ if (_t21) goto L_028E03C4; else goto L_028E038C;
L_028E038C: ; // 0x28e038c
/* 028E038C */ _t22 = cpu->r[30] + 0x00000000u;
/* 028E038C */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
/* 028E0390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028E0394 */ cpu->r[3] = 0x101D0000u;
/* 028E0398 */ _t23 = cpu->r[3] + 0xFFFF98F0u;
/* 028E0398 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028E039C */ cpu->r[4] = cpu->r[31];
/* 028E03A0 */ Gambit_fn_02826B90(cpu);
/* 028E03A4 */ _t24 = cpu->r[3] + 0x0000000Cu;
/* 028E03A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028E03A8 */ _t25 = cpu->r[12] + 0x0000003Cu;
/* 028E03A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E03AC */ cpu->ctr = cpu->r[0];
/* 028E03B0 */ _t26 = cpu->r[30] + 0x00000004u;
/* 028E03B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
/* 028E03B4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E03B8 */ cpu->r[0] = 0x00000000u;
/* 028E03BC */ _t27 = cpu->r[30] + 0x00000000u;
/* 028E03BC */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
/* 028E03C0 */ _t28 = cpu->r[30] + 0x00000004u;
/* 028E03C0 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
L_028E03C4: ; // 0x28e03c4
/* 028E03C4 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028E03C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
/* 028E03C8 */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028E03C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E03CC */ _t31 = cpu->r[1] + 0x00000010u;
/* 028E03CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
/* 028E03D0 */ cpu->lr = cpu->r[0];
/* 028E03D4 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028E03D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028E03D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E03DC */ return;
}
// fn_028E0314 @ 0x28e0314
void Gambit_fn_028E0314(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028E0314: ; // 0x28e0314
/* 028E0314 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E0314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0314 */ cpu->r[1] = _t0;
/* 028E0318 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0318 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E031C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E031C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E0320 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0320 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E0324 */ cpu->r[30] = cpu->r[3];
/* 028E0328 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E0328 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E032C */ _t5 = cpu->r[30] + 0x00000004u;
/* 028E032C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028E0330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0334 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0334 */ _t7 = _t6 & 0x00000001u;
/* 028E0334 */ if (_t7) goto L_028E03C4; else goto L_028E0338;
L_028E0338: ; // 0x28e0338
/* 028E0338 */ _t8 = cpu->r[30] + 0x00000008u;
/* 028E0338 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028E033C */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E0340 */ cpu->r[29] = cpu->r[31] + cpu->r[7];
/* 028E0344 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
/* 028E0348 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0348 */ _t10 = _t9 & 0x00000001u;
/* 028E0348 */ if (_t10) goto L_028E038C; else goto L_028E034C;
L_028E034C: ; // 0x28e034c
/* 028E034C */ _t11 = cpu->r[31] + 0x00000000u;
/* 028E034C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028E0350 */ Gambit_fn_028DEDD8(cpu);
/* 028E0354 */ _t12 = cpu->r[31] + 0x00000000u;
/* 028E0354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028E0358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E035C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E035C */ _t14 = _t13 & 0x00000001u;
/* 028E035C */ if (_t14) goto L_028E0374; else goto L_028E0360;
L_028E0360: ; // 0x28e0360
/* 028E0360 */ _t15 = cpu->r[3] + 0x00000084u;
/* 028E0360 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028E0364 */ _t16 = cpu->r[8] + 0x0000000Cu;
/* 028E0364 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028E0368 */ cpu->ctr = cpu->r[10];
/* 028E036C */ cpu->r[4] = 0x00000003u;
/* 028E0370 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028E0374: ; // 0x28e0374
/* 028E0374 */ cpu->r[31] = cpu->r[31] + 0x00000008u;
/* 028E0378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
/* 028E037C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E037C */ _t18 = _t17 & 0x00000001u;
/* 028E037C */ if (_t18) goto L_028E0380; else goto L_028E034C;
L_028E0380: ; // 0x28e0380
/* 028E0380 */ _t19 = cpu->r[30] + 0x00000004u;
/* 028E0380 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028E0384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0388 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0388 */ _t21 = _t20 & 0x00000001u;
/* 028E0388 */ if (_t21) goto L_028E03C4; else goto L_028E038C;
L_028E038C: ; // 0x28e038c
/* 028E038C */ _t22 = cpu->r[30] + 0x00000000u;
/* 028E038C */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
/* 028E0390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028E0394 */ cpu->r[3] = 0x101D0000u;
/* 028E0398 */ _t23 = cpu->r[3] + 0xFFFF98F0u;
/* 028E0398 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028E039C */ cpu->r[4] = cpu->r[31];
/* 028E03A0 */ Gambit_fn_02826B90(cpu);
/* 028E03A4 */ _t24 = cpu->r[3] + 0x0000000Cu;
/* 028E03A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028E03A8 */ _t25 = cpu->r[12] + 0x0000003Cu;
/* 028E03A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E03AC */ cpu->ctr = cpu->r[0];
/* 028E03B0 */ _t26 = cpu->r[30] + 0x00000004u;
/* 028E03B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
/* 028E03B4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E03B8 */ cpu->r[0] = 0x00000000u;
/* 028E03BC */ _t27 = cpu->r[30] + 0x00000000u;
/* 028E03BC */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
/* 028E03C0 */ _t28 = cpu->r[30] + 0x00000004u;
/* 028E03C0 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
L_028E03C4: ; // 0x28e03c4
/* 028E03C4 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028E03C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
/* 028E03C8 */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028E03C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E03CC */ _t31 = cpu->r[1] + 0x00000010u;
/* 028E03CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
/* 028E03D0 */ cpu->lr = cpu->r[0];
/* 028E03D4 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028E03D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028E03D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E03DC */ return;
}
// fn_028E03E0 @ 0x28e03e0
void Gambit_fn_028E03E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E03E0: ; // 0x28e03e0
/* 028E03E0 */ cpu->r[0] = cpu->lr;
/* 028E03E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E03E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E03E4 */ cpu->r[1] = _t0;
/* 028E03E8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E03E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E03EC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E03EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E03F0 */ cpu->r[31] = cpu->r[3];
/* 028E03F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E03F4 */ cpu->r[30] = cpu->r[4];
/* 028E03F8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E03F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E03FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E03FC */ _t5 = _t4 & 0x00000001u;
/* 028E03FC */ if (_t5) goto L_028E0430; else goto L_028E0400;
L_028E0400: ; // 0x28e0400
/* 028E0400 */ cpu->r[0] = 0x10140000u;
/* 028E0404 */ cpu->r[0] = cpu->r[0] + 0xFFFFB5D4u;
/* 028E0408 */ cpu->r[3] = cpu->r[31];
/* 028E040C */ _t6 = cpu->r[31] + 0x00000050u;
/* 028E040C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E0410 */ Gambit_fn_028E0310(cpu);
/* 028E0414 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E0418 */ cpu->r[4] = 0x00000002u;
/* 028E041C */ Gambit_fn_02836FA8(cpu);
/* 028E0420 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E0420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0424 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0424 */ _t8 = _t7 & 0x00000001u;
/* 028E0424 */ if (_t8) goto L_028E0430; else goto L_028E0428;
L_028E0428: ; // 0x28e0428
/* 028E0428 */ cpu->r[3] = cpu->r[31];
/* 028E042C */ Gambit_fn_02801BB0(cpu);
L_028E0430: ; // 0x28e0430
/* 028E0430 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E0430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E0434 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E0434 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E0438 */ cpu->lr = cpu->r[0];
/* 028E043C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E043C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E0440 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0444 */ return;
}
// fn_028E03E4 @ 0x28e03e4
void Gambit_fn_028E03E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E03E4: ; // 0x28e03e4
/* 028E03E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E03E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E03E4 */ cpu->r[1] = _t0;
/* 028E03E8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E03E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E03EC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E03EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E03F0 */ cpu->r[31] = cpu->r[3];
/* 028E03F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E03F4 */ cpu->r[30] = cpu->r[4];
/* 028E03F8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E03F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E03FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E03FC */ _t5 = _t4 & 0x00000001u;
/* 028E03FC */ if (_t5) goto L_028E0430; else goto L_028E0400;
L_028E0400: ; // 0x28e0400
/* 028E0400 */ cpu->r[0] = 0x10140000u;
/* 028E0404 */ cpu->r[0] = cpu->r[0] + 0xFFFFB5D4u;
/* 028E0408 */ cpu->r[3] = cpu->r[31];
/* 028E040C */ _t6 = cpu->r[31] + 0x00000050u;
/* 028E040C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E0410 */ Gambit_fn_028E0310(cpu);
/* 028E0414 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E0418 */ cpu->r[4] = 0x00000002u;
/* 028E041C */ Gambit_fn_02836FA8(cpu);
/* 028E0420 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E0420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0424 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0424 */ _t8 = _t7 & 0x00000001u;
/* 028E0424 */ if (_t8) goto L_028E0430; else goto L_028E0428;
L_028E0428: ; // 0x28e0428
/* 028E0428 */ cpu->r[3] = cpu->r[31];
/* 028E042C */ Gambit_fn_02801BB0(cpu);
L_028E0430: ; // 0x28e0430
/* 028E0430 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E0430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E0434 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E0434 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E0438 */ cpu->lr = cpu->r[0];
/* 028E043C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E043C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E0440 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0444 */ return;
}
// fn_028E0448 @ 0x28e0448
void Gambit_fn_028E0448(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E0448: ; // 0x28e0448
/* 028E0448 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E0448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0448 */ cpu->r[1] = _t0;
/* 028E044C */ /* nop */
/* 028E0450 */ cpu->r[0] = cpu->lr;
/* 028E0454 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028E0454 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E0458 */ cpu->r[26] = cpu->r[3];
/* 028E045C */ _t2 = cpu->r[26] + 0x00000004u;
/* 028E045C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028E0460 */ cpu->r[31] = cpu->r[4];
/* 028E0464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E0468 */ cpu->r[27] = cpu->r[5];
/* 028E046C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E046C */ _t4 = _t3 & 0x00000001u;
/* 028E046C */ if (_t4) goto L_028E0470; else goto L_028E05B4;
L_028E0470: ; // 0x28e0470
/* 028E0470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0474 */ cpu->r[3] = cpu->r[27];
/* 028E0478 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0478 */ _t6 = _t5 & 0x00000001u;
/* 028E0478 */ if (_t6) goto L_028E047C; else goto L_028E04F8;
L_028E047C: ; // 0x28e047c
/* 028E047C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0480 */ _t8 = _t7 & 0x00000001u;
/* 028E0480 */ if (_t8) goto L_028E0484; else goto L_028E0490;
L_028E0484: ; // 0x28e0484
/* 028E0484 */ cpu->r[3] = 0x101D0000u;
/* 028E0488 */ _t9 = cpu->r[3] + 0xFFFF98F0u;
/* 028E0488 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028E048C */ Gambit_fn_02826F20(cpu);
L_028E0490: ; // 0x28e0490
/* 028E0490 */ _t10 = cpu->r[3] + 0x0000000Cu;
/* 028E0490 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
/* 028E0494 */ _t11 = cpu->r[6] + 0x00000034u;
/* 028E0494 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
/* 028E0498 */ cpu->ctr = cpu->r[7];
/* 028E049C */ cpu->r[5] = 0x00000004u;
/* 028E04A0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E04A4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E04A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E04AC */ cpu->r[0] = cpu->r[31];
/* 028E04B0 */ cpu->r[12] = cpu->r[3];
/* 028E04B4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E04B4 */ _t13 = _t12 & 0x00000001u;
/* 028E04B4 */ if (_t13) goto L_028E04BC; else goto L_028E04B8;
L_028E04B8: ; // 0x28e04b8
/* 028E04B8 */ cpu->r[0] = 0x00000001u;
L_028E04BC: ; // 0x28e04bc
/* 028E04BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E04C0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E04C0 */ _t15 = _t14 & 0x00000001u;
/* 028E04C0 */ if (_t15) goto L_028E04C4; else goto L_028E04F0;
L_028E04C4: ; // 0x28e04c4
/* 028E04C4 */ _t16 = cpu->r[26] + 0x00000000u;
/* 028E04C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E04C8 */ cpu->r[24] = 0x00000000u;
/* 028E04CC */ _t17 = cpu->r[26] + 0x00000004u;
/* 028E04CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
/* 028E04D0 */ cpu->r[4] = cpu->r[24];
/* 028E04D4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E04D8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028E04DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E04E0 */ cpu->r[25] = cpu->r[24];
/* 028E04E4 */ _t18 = cpu->r[26] + 0x00000008u;
/* 028E04E4 */ rbrew_write32(cpu->mem, _t18, cpu->r[24]);
/* 028E04E8 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E04E8 */ _t20 = _t19 & 0x00000001u;
/* 028E04E8 */ if (_t20) goto L_028E04EC; else goto L_028E05B0;
L_028E04EC: ; // 0x28e04ec
/* 028E04EC */ goto L_028E0520;
L_028E04F0: ; // 0x28e04f0
/* 028E04F0 */ _t21 = cpu->r[26] + 0x00000004u;
/* 028E04F0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
/* 028E04F4 */ _t22 = cpu->r[26] + 0x00000000u;
/* 028E04F4 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
L_028E04F8: ; // 0x28e04f8
/* 028E04F8 */ _t23 = cpu->r[26] + 0x00000000u;
/* 028E04F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028E04FC */ cpu->r[24] = 0x00000000u;
/* 028E0500 */ cpu->r[3] = cpu->r[12];
/* 028E0504 */ cpu->r[4] = cpu->r[24];
/* 028E0508 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E050C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028E0510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0514 */ cpu->r[25] = cpu->r[24];
/* 028E0518 */ _t24 = cpu->r[26] + 0x00000008u;
/* 028E0518 */ rbrew_write32(cpu->mem, _t24, cpu->r[24]);
/* 028E051C */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E051C */ _t26 = _t25 & 0x00000001u;
/* 028E051C */ if (_t26) goto L_028E0520; else goto L_028E05B0;
L_028E0520: ; // 0x28e0520
/* 028E0520 */ cpu->r[28] = 0x00000000u;
/* 028E0524 */ cpu->r[30] = cpu->r[28];
L_028E0528: ; // 0x28e0528
/* 028E0528 */ cpu->r[4] = cpu->r[27];
/* 028E052C */ cpu->r[3] = 0x00000088u;
/* 028E0530 */ cpu->r[5] = 0x00000004u;
/* 028E0534 */ Gambit_fn_02801AC8(cpu);
/* 028E0538 */ cpu->r[0] = cpu->r[3];
/* 028E0538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E053C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E053C */ _t28 = _t27 & 0x00000001u;
/* 028E053C */ if (_t28) goto L_028E05B0; else goto L_028E0540;
L_028E0540: ; // 0x28e0540
/* 028E0540 */ cpu->r[3] = cpu->r[0];
/* 028E0544 */ Gambit_fn_028DFF8C(cpu);
/* 028E0548 */ cpu->r[29] = cpu->r[3];
/* 028E0548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E054C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E054C */ _t30 = _t29 & 0x00000001u;
/* 028E054C */ if (_t30) goto L_028E05B0; else goto L_028E0550;
L_028E0550: ; // 0x28e0550
/* 028E0550 */ cpu->r[6] = cpu->r[27];
/* 028E0554 */ cpu->r[5] = cpu->r[26] + 0x00000010u;
/* 028E0558 */ cpu->r[4] = cpu->r[25];
/* 028E055C */ cpu->r[3] = cpu->r[29];
/* 028E0560 */ Gambit_fn_028E00A4(cpu);
/* 028E0564 */ _t31 = cpu->r[26] + 0x00000000u;
/* 028E0564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028E0568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
/* 028E056C */ _t32 = cpu->r[26] + 0x00000004u;
/* 028E056C */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
/* 028E0570 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0570 */ _t34 = _t33 & 0x00000001u;
/* 028E0570 */ if (_t34) goto L_028E0574; else goto L_028E0578;
L_028E0574: ; // 0x28e0574
/* 028E0574 */ cpu->r[10] = cpu->r[10] + cpu->r[28];
L_028E0578: ; // 0x28e0578
/* 028E0578 */ _t35 = cpu->r[10] + 0x00000000u;
/* 028E0578 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
/* 028E057C */ _t36 = cpu->r[26] + 0x00000000u;
/* 028E057C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
/* 028E0580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
/* 028E0584 */ _t37 = cpu->r[26] + 0x00000004u;
/* 028E0584 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
/* 028E0588 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0588 */ _t39 = _t38 & 0x00000001u;
/* 028E0588 */ if (_t39) goto L_028E058C; else goto L_028E0590;
L_028E058C: ; // 0x28e058c
/* 028E058C */ cpu->r[11] = cpu->r[11] + cpu->r[28];
L_028E0590: ; // 0x28e0590
/* 028E0590 */ _t40 = cpu->r[11] + 0x00000004u;
/* 028E0590 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
/* 028E0594 */ _t41 = cpu->r[26] + 0x00000008u;
/* 028E0594 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
/* 028E0598 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
/* 028E059C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028E059C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E05A0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028E05A4 */ cpu->r[28] = cpu->r[28] + 0x00000008u;
/* 028E05A8 */ _t42 = cpu->r[26] + 0x00000008u;
/* 028E05A8 */ rbrew_write32(cpu->mem, _t42, cpu->r[5]);
/* 028E05AC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E05AC */ _t44 = _t43 & 0x00000001u;
/* 028E05AC */ if (_t44) goto L_028E05B0; else goto L_028E0528;
L_028E05B0: ; // 0x28e05b0
/* 028E05B0 */ _t45 = cpu->r[26] + 0x0000000Cu;
/* 028E05B0 */ rbrew_write32(cpu->mem, _t45, cpu->r[24]);
L_028E05B4: ; // 0x28e05b4
/* 028E05B4 */ /* nop */
/* 028E05B8 */ _t46 = cpu->r[1] + 0x0000002Cu;
/* 028E05B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028E05BC */ cpu->lr = cpu->r[0];
/* 028E05C0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E05C4 */ return;
}
// fn_028E05C8 @ 0x28e05c8
void Gambit_fn_028E05C8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E05C8: ; // 0x28e05c8
/* 028E05C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E05CC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E05CC */ _t1 = _t0 & 0x00000001u;
/* 028E05CC */ if (_t1) goto L_028E05E4; else goto L_028E05D0;
L_028E05D0: ; // 0x28e05d0
/* 028E05D0 */ _t2 = cpu->r[4] + 0x00000004u;
/* 028E05D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E05D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
/* 028E05D8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E05D8 */ _t4 = _t3 & 0x00000001u;
/* 028E05D8 */ if (_t4) goto L_028E05DC; else goto L_028E05E4;
L_028E05DC: ; // 0x28e05dc
/* 028E05DC */ cpu->r[3] = 0x00000001u;
/* 028E05E0 */ return;
L_028E05E4: ; // 0x28e05e4
/* 028E05E4 */ cpu->r[3] = 0x00000000u;
/* 028E05E8 */ return;
}
// fn_028E05EC @ 0x28e05ec
void Gambit_fn_028E05EC(CPUState* cpu) {
uint32_t _t0, _t1, _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_028E05EC: ; // 0x28e05ec
/* 028E05EC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E05EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E05EC */ cpu->r[1] = _t0;
/* 028E05F0 */ /* nop */
/* 028E05F4 */ cpu->r[0] = cpu->lr;
/* 028E05F8 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E05F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E05FC */ cpu->r[29] = cpu->r[5];
/* 028E0600 */ cpu->r[27] = cpu->r[3];
/* 028E0604 */ _t2 = cpu->r[27] + 0x0000000Cu;
/* 028E0604 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
/* 028E0608 */ _t3 = cpu->r[27] + 0x00000004u;
/* 028E0608 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
/* 028E060C */ cpu->r[12] = cpu->r[7] + 0xFFFFFFFFu;
/* 028E0610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E0614 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFF8u;
/* 028E0618 */ cpu->r[30] = cpu->r[10] + cpu->r[0];
/* 028E061C */ cpu->r[28] = cpu->r[4];
/* 028E0620 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E0624 */ _t4 = cpu->r[27] + 0x00000008u;
/* 028E0624 */ cpu->r[26] = rbrew_read32(cpu->mem, _t4);
/* 028E0628 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0628 */ _t6 = _t5 & 0x00000001u;
/* 028E0628 */ if (_t6) goto L_028E0670; else goto L_028E062C;
L_028E062C: ; // 0x28e062c
/* 028E062C */ cpu->r[5] = cpu->r[28];
/* 028E0630 */ cpu->r[4] = cpu->r[30];
/* 028E0634 */ cpu->r[3] = cpu->r[27];
/* 028E0638 */ Gambit_fn_028E05C8(cpu);
/* 028E063C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0640 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0640 */ _t8 = _t7 & 0x00000001u;
/* 028E0640 */ if (_t8) goto L_028E0658; else goto L_028E0644;
L_028E0644: ; // 0x28e0644
/* 028E0644 */ _t9 = cpu->r[30] + 0x00000000u;
/* 028E0644 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028E0648 */ cpu->r[4] = cpu->r[29];
/* 028E064C */ Gambit_fn_028E0258(cpu);
/* 028E0650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0654 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0654 */ _t11 = _t10 & 0x00000001u;
/* 028E0654 */ if (_t11) goto L_028E0658; else goto L_028E06C8;
L_028E0658: ; // 0x28e0658
/* 028E0658 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFF8u;
/* 028E065C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E0660 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0660 */ _t13 = _t12 & 0x00000001u;
/* 028E0660 */ if (_t13) goto L_028E0664; else goto L_028E062C;
L_028E0664: ; // 0x28e0664
/* 028E0664 */ _t14 = cpu->r[27] + 0x0000000Cu;
/* 028E0664 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
/* 028E0668 */ _t15 = cpu->r[27] + 0x00000004u;
/* 028E0668 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028E066C */ cpu->r[12] = cpu->r[7] + 0xFFFFFFFFu;
L_028E0670: ; // 0x28e0670
/* 028E0670 */ cpu->r[6] = rbrew_rlwinm(cpu->r[26], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E0674 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E0678 */ cpu->r[8] = cpu->r[10] + cpu->r[6];
/* 028E067C */ cpu->r[31] = cpu->r[10] + cpu->r[0];
/* 028E0680 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFF8u;
/* 028E0684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E0688 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0688 */ _t17 = _t16 & 0x00000001u;
/* 028E0688 */ if (_t17) goto L_028E06C4; else goto L_028E068C;
L_028E068C: ; // 0x28e068c
/* 028E068C */ cpu->r[5] = cpu->r[28];
/* 028E0690 */ cpu->r[4] = cpu->r[30];
/* 028E0694 */ cpu->r[3] = cpu->r[27];
/* 028E0698 */ Gambit_fn_028E05C8(cpu);
/* 028E069C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E06A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E06A0 */ _t19 = _t18 & 0x00000001u;
/* 028E06A0 */ if (_t19) goto L_028E06B8; else goto L_028E06A4;
L_028E06A4: ; // 0x28e06a4
/* 028E06A4 */ _t20 = cpu->r[30] + 0x00000000u;
/* 028E06A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028E06A8 */ cpu->r[4] = cpu->r[29];
/* 028E06AC */ Gambit_fn_028E0258(cpu);
/* 028E06B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E06B4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E06B4 */ _t22 = _t21 & 0x00000001u;
/* 028E06B4 */ if (_t22) goto L_028E06B8; else goto L_028E06C8;
L_028E06B8: ; // 0x28e06b8
/* 028E06B8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFF8u;
/* 028E06BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E06C0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E06C0 */ _t24 = _t23 & 0x00000001u;
/* 028E06C0 */ if (_t24) goto L_028E06C4; else goto L_028E068C;
L_028E06C4: ; // 0x28e06c4
/* 028E06C4 */ cpu->r[30] = 0x00000000u;
L_028E06C8: ; // 0x28e06c8
/* 028E06C8 */ cpu->r[3] = cpu->r[30];
/* 028E06CC */ /* nop */
/* 028E06D0 */ _t25 = cpu->r[1] + 0x00000024u;
/* 028E06D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E06D4 */ cpu->lr = cpu->r[0];
/* 028E06D8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E06DC */ return;
}
// fn_028E06E0 @ 0x28e06e0
void Gambit_fn_028E06E0(CPUState* cpu) {
uint32_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_028E06E0: ; // 0x28e06e0
/* 028E06E0 */ _t0 = cpu->r[3] + 0x0000000Cu;
/* 028E06E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E06E4 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028E06E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
/* 028E06E8 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028E06E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028E06EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E06F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E06F4 */ cpu->r[3] = cpu->r[11] + cpu->r[0];
/* 028E06F8 */ cpu->r[9] = cpu->r[11] + cpu->r[7];
/* 028E06FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
/* 028E0700 */ cpu->r[0] = cpu->r[11];
/* 028E0704 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0704 */ _t4 = _t3 & 0x00000001u;
/* 028E0704 */ if (_t4) goto L_028E0738; else goto L_028E0708;
L_028E0708: ; // 0x28e0708
/* 028E0708 */ _t5 = cpu->r[3] + 0x00000004u;
/* 028E0708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028E070C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E0710 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0710 */ _t7 = _t6 & 0x00000001u;
/* 028E0710 */ if (_t7) goto L_028E0714; else goto L_028E072C;
L_028E0714: ; // 0x28e0714
/* 028E0714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E0718 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0718 */ _t9 = _t8 & 0x00000001u;
/* 028E0718 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E0718 */ goto L_028E071C;
L_028E071C: ; // 0x28e071c
/* 028E071C */ cpu->r[0] = cpu->r[3] - cpu->r[0];
/* 028E0720 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
/* 028E0724 */ _t10 = cpu->r[4] + 0x00000000u;
/* 028E0724 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
/* 028E0728 */ return;
L_028E072C: ; // 0x28e072c
/* 028E072C */ cpu->r[3] = cpu->r[3] + 0x00000008u;
/* 028E0730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
/* 028E0734 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0734 */ _t12 = _t11 & 0x00000001u;
/* 028E0734 */ if (_t12) goto L_028E0738; else goto L_028E0708;
L_028E0738: ; // 0x28e0738
/* 028E0738 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E073C */ cpu->r[3] = cpu->r[11];
/* 028E0740 */ cpu->r[8] = cpu->r[11] + cpu->r[8];
/* 028E0744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
/* 028E0748 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0748 */ _t14 = _t13 & 0x00000001u;
/* 028E0748 */ if (_t14) goto L_028E077C; else goto L_028E074C;
L_028E074C: ; // 0x28e074c
/* 028E074C */ _t15 = cpu->r[3] + 0x00000004u;
/* 028E074C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
/* 028E0750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E0754 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0754 */ _t17 = _t16 & 0x00000001u;
/* 028E0754 */ if (_t17) goto L_028E0758; else goto L_028E0770;
L_028E0758: ; // 0x28e0758
/* 028E0758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E075C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E075C */ _t19 = _t18 & 0x00000001u;
/* 028E075C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E075C */ goto L_028E0760;
L_028E0760: ; // 0x28e0760
/* 028E0760 */ cpu->r[10] = cpu->r[3] - cpu->r[11];
/* 028E0764 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x00000003u, 0x0000001Fu);
/* 028E0768 */ _t20 = cpu->r[4] + 0x00000000u;
/* 028E0768 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
/* 028E076C */ return;
L_028E0770: ; // 0x28e0770
/* 028E0770 */ cpu->r[3] = cpu->r[3] + 0x00000008u;
/* 028E0774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
/* 028E0778 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0778 */ _t22 = _t21 & 0x00000001u;
/* 028E0778 */ if (_t22) goto L_028E077C; else goto L_028E074C;
L_028E077C: ; // 0x28e077c
/* 028E077C */ cpu->r[3] = 0x00000000u;
/* 028E0780 */ return;
}
// fn_028E0784 @ 0x28e0784
void Gambit_fn_028E0784(CPUState* cpu) {
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_028E0784: ; // 0x28e0784
/* 028E0784 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E0784 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0784 */ cpu->r[1] = _t0;
/* 028E0788 */ cpu->r[0] = cpu->lr;
/* 028E078C */ /* nop */
/* 028E0790 */ cpu->r[26] = cpu->r[4];
/* 028E0794 */ cpu->r[4] = 0x00000018u;
/* 028E0798 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028E0798 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E079C */ cpu->r[29] = cpu->r[3];
/* 028E07A0 */ cpu->r[3] = cpu->r[26];
/* 028E07A4 */ Gambit_fn_02801E30(cpu);
/* 028E07A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E07AC */ cpu->r[30] = cpu->r[3];
/* 028E07B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E07B0 */ _t3 = _t2 & 0x00000001u;
/* 028E07B0 */ if (_t3) goto L_028E07B4; else goto L_028E07B8;
L_028E07B4: ; // 0x28e07b4
/* 028E07B4 */ cpu->r[30] = 0x00000001u;
L_028E07B8: ; // 0x28e07b8
/* 028E07B8 */ cpu->r[27] = cpu->r[29] + 0x00000014u;
/* 028E07BC */ cpu->r[3] = cpu->r[27];
/* 028E07C0 */ Gambit_fn_02836FFC(cpu);
/* 028E07C4 */ cpu->r[5] = cpu->r[26];
/* 028E07C8 */ cpu->r[4] = cpu->r[30];
/* 028E07CC */ cpu->r[3] = cpu->r[29];
/* 028E07D0 */ Gambit_fn_028E05EC(cpu);
/* 028E07D4 */ cpu->r[31] = cpu->r[3];
/* 028E07D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E07D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E07D8 */ _t5 = _t4 & 0x00000001u;
/* 028E07D8 */ if (_t5) goto L_028E07DC; else goto L_028E0824;
L_028E07DC: ; // 0x28e07dc
/* 028E07DC */ cpu->r[28] = 0x00000000u;
/* 028E07E0 */ cpu->r[3] = cpu->r[29];
/* 028E07E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E07E8 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028E07E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
/* 028E07EC */ Gambit_fn_028E06E0(cpu);
/* 028E07F0 */ cpu->r[31] = cpu->r[3];
/* 028E07F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E07F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E07F4 */ _t8 = _t7 & 0x00000001u;
/* 028E07F4 */ if (_t8) goto L_028E082C; else goto L_028E07F8;
L_028E07F8: ; // 0x28e07f8
/* 028E07F8 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028E07F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028E07FC */ cpu->r[4] = cpu->r[26];
/* 028E0800 */ Gambit_fn_028DF0C4(cpu);
/* 028E0804 */ _t10 = cpu->r[31] + 0x00000004u;
/* 028E0804 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
/* 028E0808 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028E0808 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028E080C */ cpu->r[11] = cpu->r[12] + 0x00000001u;
/* 028E0810 */ _t12 = cpu->r[29] + 0x00000008u;
/* 028E0810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E0814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
/* 028E0818 */ _t13 = cpu->r[29] + 0x0000000Cu;
/* 028E0818 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028E081C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E081C */ _t15 = _t14 & 0x00000001u;
/* 028E081C */ if (_t15) goto L_028E0824; else goto L_028E0820;
L_028E0820: ; // 0x28e0820
/* 028E0820 */ _t16 = cpu->r[29] + 0x0000000Cu;
/* 028E0820 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
L_028E0824: ; // 0x28e0824
/* 028E0824 */ _t17 = cpu->r[31] + 0x00000000u;
/* 028E0824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
/* 028E0828 */ Gambit_fn_028E0220(cpu);
L_028E082C: ; // 0x28e082c
/* 028E082C */ cpu->r[3] = cpu->r[27];
/* 028E0830 */ Gambit_fn_02837030(cpu);
/* 028E0834 */ cpu->r[3] = cpu->r[31];
/* 028E0834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0838 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0838 */ _t19 = _t18 & 0x00000001u;
/* 028E0838 */ if (_t19) goto L_028E0840; else goto L_028E083C;
L_028E083C: ; // 0x28e083c
/* 028E083C */ _t20 = cpu->r[31] + 0x00000000u;
/* 028E083C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
L_028E0840: ; // 0x28e0840
/* 028E0840 */ /* nop */
/* 028E0844 */ _t21 = cpu->r[1] + 0x0000002Cu;
/* 028E0844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028E0848 */ cpu->lr = cpu->r[0];
/* 028E084C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E0850 */ return;
}
// fn_028E0854 @ 0x28e0854
void Gambit_fn_028E0854(CPUState* cpu) {
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_028E0854: ; // 0x28e0854
/* 028E0854 */ cpu->r[0] = cpu->lr;
/* 028E0858 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E0858 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0858 */ cpu->r[1] = _t0;
/* 028E085C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E085C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E0860 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E0860 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E0864 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0864 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E0868 */ cpu->r[30] = cpu->r[3];
/* 028E086C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E086C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E0870 */ _t5 = cpu->r[30] + 0x00000004u;
/* 028E0870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028E0874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E0878 */ cpu->r[31] = cpu->r[4];
/* 028E087C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E087C */ _t7 = _t6 & 0x00000001u;
/* 028E087C */ if (_t7) goto L_028E08E0; else goto L_028E0880;
L_028E0880: ; // 0x28e0880
/* 028E0880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0884 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0884 */ _t9 = _t8 & 0x00000001u;
/* 028E0884 */ if (_t9) goto L_028E08E0; else goto L_028E0888;
L_028E0888: ; // 0x28e0888
/* 028E0888 */ cpu->r[29] = cpu->r[30] + 0x00000014u;
/* 028E088C */ cpu->r[3] = cpu->r[29];
/* 028E0890 */ Gambit_fn_02836FFC(cpu);
/* 028E0894 */ cpu->r[3] = cpu->r[31];
/* 028E0898 */ Gambit_fn_028E0230(cpu);
/* 028E089C */ cpu->r[3] = cpu->r[31];
/* 028E08A0 */ Gambit_fn_028E0248(cpu);
/* 028E08A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E08A8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E08A8 */ _t11 = _t10 & 0x00000001u;
/* 028E08A8 */ if (_t11) goto L_028E08AC; else goto L_028E08D8;
L_028E08AC: ; // 0x28e08ac
/* 028E08AC */ cpu->r[3] = cpu->r[31];
/* 028E08B0 */ Gambit_fn_028DEF28(cpu);
/* 028E08B4 */ _t12 = cpu->r[31] + 0x00000030u;
/* 028E08B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028E08B8 */ _t13 = cpu->r[30] + 0x00000000u;
/* 028E08B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E08BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
/* 028E08C0 */ _t14 = cpu->r[30] + 0x00000004u;
/* 028E08C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E08C4 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E08C4 */ _t16 = _t15 & 0x00000001u;
/* 028E08C4 */ if (_t16) goto L_028E08C8; else goto L_028E08D0;
L_028E08C8: ; // 0x28e08c8
/* 028E08C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E08CC */ cpu->r[12] = cpu->r[12] + cpu->r[8];
L_028E08D0: ; // 0x28e08d0
/* 028E08D0 */ cpu->r[0] = 0x00000000u;
/* 028E08D4 */ _t17 = cpu->r[12] + 0x00000004u;
/* 028E08D4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
L_028E08D8: ; // 0x28e08d8
/* 028E08D8 */ cpu->r[3] = cpu->r[29];
/* 028E08DC */ Gambit_fn_02837030(cpu);
L_028E08E0: ; // 0x28e08e0
/* 028E08E0 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E08E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028E08E4 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028E08E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E08E8 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028E08E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028E08EC */ cpu->lr = cpu->r[0];
/* 028E08F0 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E08F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028E08F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E08F8 */ return;
}
// fn_028E0858 @ 0x28e0858
void Gambit_fn_028E0858(CPUState* cpu) {
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_028E0858: ; // 0x28e0858
/* 028E0858 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E0858 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0858 */ cpu->r[1] = _t0;
/* 028E085C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E085C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E0860 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E0860 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E0864 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0864 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E0868 */ cpu->r[30] = cpu->r[3];
/* 028E086C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E086C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E0870 */ _t5 = cpu->r[30] + 0x00000004u;
/* 028E0870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028E0874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E0878 */ cpu->r[31] = cpu->r[4];
/* 028E087C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E087C */ _t7 = _t6 & 0x00000001u;
/* 028E087C */ if (_t7) goto L_028E08E0; else goto L_028E0880;
L_028E0880: ; // 0x28e0880
/* 028E0880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0884 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0884 */ _t9 = _t8 & 0x00000001u;
/* 028E0884 */ if (_t9) goto L_028E08E0; else goto L_028E0888;
L_028E0888: ; // 0x28e0888
/* 028E0888 */ cpu->r[29] = cpu->r[30] + 0x00000014u;
/* 028E088C */ cpu->r[3] = cpu->r[29];
/* 028E0890 */ Gambit_fn_02836FFC(cpu);
/* 028E0894 */ cpu->r[3] = cpu->r[31];
/* 028E0898 */ Gambit_fn_028E0230(cpu);
/* 028E089C */ cpu->r[3] = cpu->r[31];
/* 028E08A0 */ Gambit_fn_028E0248(cpu);
/* 028E08A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E08A8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E08A8 */ _t11 = _t10 & 0x00000001u;
/* 028E08A8 */ if (_t11) goto L_028E08AC; else goto L_028E08D8;
L_028E08AC: ; // 0x28e08ac
/* 028E08AC */ cpu->r[3] = cpu->r[31];
/* 028E08B0 */ Gambit_fn_028DEF28(cpu);
/* 028E08B4 */ _t12 = cpu->r[31] + 0x00000030u;
/* 028E08B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028E08B8 */ _t13 = cpu->r[30] + 0x00000000u;
/* 028E08B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E08BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
/* 028E08C0 */ _t14 = cpu->r[30] + 0x00000004u;
/* 028E08C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E08C4 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E08C4 */ _t16 = _t15 & 0x00000001u;
/* 028E08C4 */ if (_t16) goto L_028E08C8; else goto L_028E08D0;
L_028E08C8: ; // 0x28e08c8
/* 028E08C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028E08CC */ cpu->r[12] = cpu->r[12] + cpu->r[8];
L_028E08D0: ; // 0x28e08d0
/* 028E08D0 */ cpu->r[0] = 0x00000000u;
/* 028E08D4 */ _t17 = cpu->r[12] + 0x00000004u;
/* 028E08D4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
L_028E08D8: ; // 0x28e08d8
/* 028E08D8 */ cpu->r[3] = cpu->r[29];
/* 028E08DC */ Gambit_fn_02837030(cpu);
L_028E08E0: ; // 0x28e08e0
/* 028E08E0 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E08E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028E08E4 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028E08E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E08E8 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028E08E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028E08EC */ cpu->lr = cpu->r[0];
/* 028E08F0 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E08F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028E08F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E08F8 */ return;
}
// fn_028E08FC @ 0x28e08fc
void Gambit_fn_028E08FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E08FC: ; // 0x28e08fc
/* 028E08FC */ _t0 = cpu->r[3] + 0x00000010u;
/* 028E08FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E0900 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
/* 028E0904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
/* 028E0908 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0908 */ _t2 = _t1 & 0x00000001u;
/* 028E0908 */ if (_t2) goto L_028E090C; else goto L_028E0910;
L_028E090C: ; // 0x28e090c
/* 028E090C */ cpu->r[0] = 0x00000000u;
L_028E0910: ; // 0x28e0910
/* 028E0910 */ _t3 = cpu->r[3] + 0x00000010u;
/* 028E0910 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E0914 */ return;
}
// fn_028E0918 @ 0x28e0918
void Gambit_fn_028E0918(CPUState* cpu) {
uint32_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_028E0918: ; // 0x28e0918
/* 028E0918 */ _t0 = cpu->r[3] + 0x00000018u;
/* 028E0918 */ cpu->r[6] = rbrew_read32(cpu->mem, _t0);
/* 028E091C */ cpu->r[10] = 0x10140000u;
/* 028E0920 */ cpu->r[9] = 0x10140000u;
/* 028E0924 */ _t1 = cpu->r[10] + 0xFFFFB5E4u;
/* 028E0924 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028E0928 */ _t2 = cpu->r[9] + 0xFFFFB5E8u;
/* 028E0928 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028E092C */ cpu->r[10] = 0x00000000u;
/* 028E0930 */ _t3 = cpu->r[3] + 0x00000004u;
/* 028E0930 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
/* 028E0934 */ _t4 = cpu->r[3] + 0x00000014u;
/* 028E0934 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
/* 028E0938 */ cpu->r[8] = 0x10140000u;
/* 028E093C */ _t5 = cpu->r[3] + 0x0000000Cu;
/* 028E093C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
/* 028E0940 */ _t6 = cpu->r[8] + 0xFFFFB5ECu;
/* 028E0940 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028E0944 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028E0944 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
/* 028E0948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[6]);
/* 028E094C */ _t8 = cpu->r[3] + 0x00000010u;
/* 028E094C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028E0950 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0950 */ _t10 = _t9 & 0x00000001u;
/* 028E0950 */ _t11 = _t10 ^ 0x00000001u;
/* 028E0950 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E0950 */ goto L_028E0954;
L_028E0954: ; // 0x28e0954
/* 028E0954 */ cpu->r[11] = 0x00000000u;
/* 028E0958 */ cpu->r[8] = 0xFFFFFFFFu;
/* 028E095C */ cpu->r[0] = cpu->r[11];
L_028E0960: ; // 0x28e0960
/* 028E0960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
/* 028E0964 */ _t12 = cpu->r[3] + 0x0000001Cu;
/* 028E0964 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028E0968 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0968 */ _t14 = _t13 & 0x00000001u;
/* 028E0968 */ if (_t14) goto L_028E096C; else goto L_028E0970;
L_028E096C: ; // 0x28e096c
/* 028E096C */ cpu->r[12] = cpu->r[12] + cpu->r[11];
L_028E0970: ; // 0x28e0970
/* 028E0970 */ _t15 = cpu->r[12] + 0x00000004u;
/* 028E0970 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028E0974 */ _t16 = cpu->r[12] + 0x00000000u;
/* 028E0974 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
/* 028E0978 */ _t17 = cpu->r[12] + 0x00000010u;
/* 028E0978 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
/* 028E097C */ _t18 = cpu->r[12] + 0x0000000Cu;
/* 028E097C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028E0980 */ _t19 = cpu->r[12] + 0x00000008u;
/* 028E0980 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028E0984 */ _t20 = cpu->r[3] + 0x00000018u;
/* 028E0984 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
/* 028E0988 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E098C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[6]);
/* 028E0990 */ cpu->r[11] = cpu->r[11] + 0x00000014u;
/* 028E0994 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0994 */ _t22 = _t21 & 0x00000001u;
/* 028E0994 */ if (_t22) goto L_028E0960; else goto L_028E0998;
L_028E0998: ; // 0x28e0998
/* 028E0998 */ return;
}
// fn_028E099C @ 0x28e099c
void Gambit_fn_028E099C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E099C: ; // 0x28e099c
/* 028E099C */ cpu->r[0] = cpu->lr;
/* 028E09A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E09A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E09A0 */ cpu->r[1] = _t0;
/* 028E09A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E09A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E09A8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E09A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E09AC */ cpu->r[31] = cpu->r[3];
/* 028E09AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E09B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E09B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E09B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E09B4 */ _t5 = _t4 & 0x00000001u;
/* 028E09B4 */ if (_t5) goto L_028E09B8; else goto L_028E09C8;
L_028E09B8: ; // 0x28e09b8
/* 028E09B8 */ cpu->r[3] = 0x00000024u;
/* 028E09BC */ Gambit_fn_02801A78(cpu);
/* 028E09C0 */ cpu->r[31] = cpu->r[3];
/* 028E09C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E09C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E09C4 */ _t7 = _t6 & 0x00000001u;
/* 028E09C4 */ if (_t7) goto L_028E0A04; else goto L_028E09C8;
L_028E09C8: ; // 0x28e09c8
/* 028E09C8 */ cpu->r[0] = 0x10140000u;
/* 028E09CC */ cpu->r[30] = 0x00000000u;
/* 028E09D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFB5F0u;
/* 028E09D4 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E09D4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
/* 028E09D8 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028E09D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E09DC */ _t9 = cpu->r[31] + 0x00000020u;
/* 028E09DC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E09E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E09E0 */ _t11 = _t10 & 0x00000001u;
/* 028E09E0 */ if (_t11) goto L_028E09E4; else goto L_028E09F4;
L_028E09E4: ; // 0x28e09e4
/* 028E09E4 */ cpu->r[3] = 0x00000008u;
/* 028E09E8 */ Gambit_fn_02801A78(cpu);
/* 028E09EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E09F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E09F0 */ _t13 = _t12 & 0x00000001u;
/* 028E09F0 */ if (_t13) goto L_028E09FC; else goto L_028E09F4;
L_028E09F4: ; // 0x28e09f4
/* 028E09F4 */ _t14 = cpu->r[3] + 0x00000004u;
/* 028E09F4 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028E09F8 */ _t15 = cpu->r[3] + 0x00000000u;
/* 028E09F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028E09FC: ; // 0x28e09fc
/* 028E09FC */ cpu->r[3] = cpu->r[31];
/* 028E0A00 */ Gambit_fn_028E0918(cpu);
L_028E0A04: ; // 0x28e0a04
/* 028E0A04 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E0A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E0A08 */ cpu->r[3] = cpu->r[31];
/* 028E0A0C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E0A0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028E0A10 */ cpu->lr = cpu->r[0];
/* 028E0A14 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E0A14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028E0A18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0A1C */ return;
}
// fn_028E09A0 @ 0x28e09a0
void Gambit_fn_028E09A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E09A0: ; // 0x28e09a0
/* 028E09A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E09A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E09A0 */ cpu->r[1] = _t0;
/* 028E09A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E09A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E09A8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E09A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E09AC */ cpu->r[31] = cpu->r[3];
/* 028E09AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E09B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E09B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E09B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E09B4 */ _t5 = _t4 & 0x00000001u;
/* 028E09B4 */ if (_t5) goto L_028E09B8; else goto L_028E09C8;
L_028E09B8: ; // 0x28e09b8
/* 028E09B8 */ cpu->r[3] = 0x00000024u;
/* 028E09BC */ Gambit_fn_02801A78(cpu);
/* 028E09C0 */ cpu->r[31] = cpu->r[3];
/* 028E09C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E09C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E09C4 */ _t7 = _t6 & 0x00000001u;
/* 028E09C4 */ if (_t7) goto L_028E0A04; else goto L_028E09C8;
L_028E09C8: ; // 0x28e09c8
/* 028E09C8 */ cpu->r[0] = 0x10140000u;
/* 028E09CC */ cpu->r[30] = 0x00000000u;
/* 028E09D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFB5F0u;
/* 028E09D4 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E09D4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
/* 028E09D8 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028E09D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E09DC */ _t9 = cpu->r[31] + 0x00000020u;
/* 028E09DC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E09E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E09E0 */ _t11 = _t10 & 0x00000001u;
/* 028E09E0 */ if (_t11) goto L_028E09E4; else goto L_028E09F4;
L_028E09E4: ; // 0x28e09e4
/* 028E09E4 */ cpu->r[3] = 0x00000008u;
/* 028E09E8 */ Gambit_fn_02801A78(cpu);
/* 028E09EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E09F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E09F0 */ _t13 = _t12 & 0x00000001u;
/* 028E09F0 */ if (_t13) goto L_028E09FC; else goto L_028E09F4;
L_028E09F4: ; // 0x28e09f4
/* 028E09F4 */ _t14 = cpu->r[3] + 0x00000004u;
/* 028E09F4 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028E09F8 */ _t15 = cpu->r[3] + 0x00000000u;
/* 028E09F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028E09FC: ; // 0x28e09fc
/* 028E09FC */ cpu->r[3] = cpu->r[31];
/* 028E0A00 */ Gambit_fn_028E0918(cpu);
L_028E0A04: ; // 0x28e0a04
/* 028E0A04 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E0A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E0A08 */ cpu->r[3] = cpu->r[31];
/* 028E0A0C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E0A0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028E0A10 */ cpu->lr = cpu->r[0];
/* 028E0A14 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E0A14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028E0A18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0A1C */ return;
}
// fn_028E0A20 @ 0x28e0a20
void Gambit_fn_028E0A20(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E0A20: ; // 0x28e0a20
/* 028E0A20 */ cpu->r[0] = cpu->lr;
/* 028E0A24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E0A24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0A24 */ cpu->r[1] = _t0;
/* 028E0A28 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0A28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E0A2C */ cpu->r[31] = cpu->r[3];
/* 028E0A30 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E0A30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E0A34 */ _t3 = cpu->r[31] + 0x0000001Cu;
/* 028E0A34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028E0A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E0A3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0A3C */ _t5 = _t4 & 0x00000001u;
/* 028E0A3C */ if (_t5) goto L_028E0A74; else goto L_028E0A40;
L_028E0A40: ; // 0x28e0a40
/* 028E0A40 */ _t6 = cpu->r[31] + 0x00000018u;
/* 028E0A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E0A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0A48 */ cpu->r[3] = 0x101D0000u;
/* 028E0A4C */ _t7 = cpu->r[3] + 0xFFFF98F0u;
/* 028E0A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028E0A50 */ Gambit_fn_02826B90(cpu);
/* 028E0A54 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028E0A54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E0A58 */ _t9 = cpu->r[12] + 0x0000003Cu;
/* 028E0A58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E0A5C */ cpu->ctr = cpu->r[0];
/* 028E0A60 */ _t10 = cpu->r[31] + 0x0000001Cu;
/* 028E0A60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028E0A64 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E0A68 */ cpu->r[9] = 0x00000000u;
/* 028E0A6C */ _t11 = cpu->r[31] + 0x00000018u;
/* 028E0A6C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
/* 028E0A70 */ _t12 = cpu->r[31] + 0x0000001Cu;
/* 028E0A70 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
L_028E0A74: ; // 0x28e0a74
/* 028E0A74 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E0A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E0A78 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E0A78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E0A7C */ cpu->lr = cpu->r[0];
/* 028E0A80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0A84 */ return;
}
// fn_028E0A24 @ 0x28e0a24
void Gambit_fn_028E0A24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E0A24: ; // 0x28e0a24
/* 028E0A24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E0A24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0A24 */ cpu->r[1] = _t0;
/* 028E0A28 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0A28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E0A2C */ cpu->r[31] = cpu->r[3];
/* 028E0A30 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E0A30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E0A34 */ _t3 = cpu->r[31] + 0x0000001Cu;
/* 028E0A34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028E0A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E0A3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0A3C */ _t5 = _t4 & 0x00000001u;
/* 028E0A3C */ if (_t5) goto L_028E0A74; else goto L_028E0A40;
L_028E0A40: ; // 0x28e0a40
/* 028E0A40 */ _t6 = cpu->r[31] + 0x00000018u;
/* 028E0A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E0A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0A48 */ cpu->r[3] = 0x101D0000u;
/* 028E0A4C */ _t7 = cpu->r[3] + 0xFFFF98F0u;
/* 028E0A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028E0A50 */ Gambit_fn_02826B90(cpu);
/* 028E0A54 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028E0A54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E0A58 */ _t9 = cpu->r[12] + 0x0000003Cu;
/* 028E0A58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E0A5C */ cpu->ctr = cpu->r[0];
/* 028E0A60 */ _t10 = cpu->r[31] + 0x0000001Cu;
/* 028E0A60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028E0A64 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E0A68 */ cpu->r[9] = 0x00000000u;
/* 028E0A6C */ _t11 = cpu->r[31] + 0x00000018u;
/* 028E0A6C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
/* 028E0A70 */ _t12 = cpu->r[31] + 0x0000001Cu;
/* 028E0A70 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
L_028E0A74: ; // 0x28e0a74
/* 028E0A74 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E0A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E0A78 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E0A78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E0A7C */ cpu->lr = cpu->r[0];
/* 028E0A80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0A84 */ return;
}
// fn_028E0A88 @ 0x28e0a88
void Gambit_fn_028E0A88(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E0A88: ; // 0x28e0a88
/* 028E0A88 */ cpu->r[0] = cpu->lr;
/* 028E0A8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E0A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0A8C */ cpu->r[1] = _t0;
/* 028E0A90 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E0A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E0A94 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E0A94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E0A98 */ cpu->r[31] = cpu->r[3];
/* 028E0A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0A9C */ cpu->r[30] = cpu->r[4];
/* 028E0AA0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0AA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E0AA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0AA4 */ _t5 = _t4 & 0x00000001u;
/* 028E0AA4 */ if (_t5) goto L_028E0ACC; else goto L_028E0AA8;
L_028E0AA8: ; // 0x28e0aa8
/* 028E0AA8 */ cpu->r[0] = 0x10140000u;
/* 028E0AAC */ cpu->r[0] = cpu->r[0] + 0xFFFFB5F0u;
/* 028E0AB0 */ cpu->r[3] = cpu->r[31];
/* 028E0AB4 */ _t6 = cpu->r[31] + 0x00000020u;
/* 028E0AB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E0AB8 */ Gambit_fn_028E0A20(cpu);
/* 028E0ABC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E0ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0AC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0AC0 */ _t8 = _t7 & 0x00000001u;
/* 028E0AC0 */ if (_t8) goto L_028E0ACC; else goto L_028E0AC4;
L_028E0AC4: ; // 0x28e0ac4
/* 028E0AC4 */ cpu->r[3] = cpu->r[31];
/* 028E0AC8 */ Gambit_fn_02801BB0(cpu);
L_028E0ACC: ; // 0x28e0acc
/* 028E0ACC */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E0ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E0AD0 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E0AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E0AD4 */ cpu->lr = cpu->r[0];
/* 028E0AD8 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E0AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E0ADC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0AE0 */ return;
}
// fn_028E0A8C @ 0x28e0a8c
void Gambit_fn_028E0A8C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E0A8C: ; // 0x28e0a8c
/* 028E0A8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E0A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0A8C */ cpu->r[1] = _t0;
/* 028E0A90 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E0A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E0A94 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E0A94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E0A98 */ cpu->r[31] = cpu->r[3];
/* 028E0A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0A9C */ cpu->r[30] = cpu->r[4];
/* 028E0AA0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0AA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E0AA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0AA4 */ _t5 = _t4 & 0x00000001u;
/* 028E0AA4 */ if (_t5) goto L_028E0ACC; else goto L_028E0AA8;
L_028E0AA8: ; // 0x28e0aa8
/* 028E0AA8 */ cpu->r[0] = 0x10140000u;
/* 028E0AAC */ cpu->r[0] = cpu->r[0] + 0xFFFFB5F0u;
/* 028E0AB0 */ cpu->r[3] = cpu->r[31];
/* 028E0AB4 */ _t6 = cpu->r[31] + 0x00000020u;
/* 028E0AB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E0AB8 */ Gambit_fn_028E0A20(cpu);
/* 028E0ABC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E0ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0AC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0AC0 */ _t8 = _t7 & 0x00000001u;
/* 028E0AC0 */ if (_t8) goto L_028E0ACC; else goto L_028E0AC4;
L_028E0AC4: ; // 0x28e0ac4
/* 028E0AC4 */ cpu->r[3] = cpu->r[31];
/* 028E0AC8 */ Gambit_fn_02801BB0(cpu);
L_028E0ACC: ; // 0x28e0acc
/* 028E0ACC */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E0ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E0AD0 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E0AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E0AD4 */ cpu->lr = cpu->r[0];
/* 028E0AD8 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E0AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E0ADC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0AE0 */ return;
}
// fn_028E0AE4 @ 0x28e0ae4
void Gambit_fn_028E0AE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_028E0AE4: ; // 0x28e0ae4
/* 028E0AE4 */ cpu->r[0] = cpu->lr;
/* 028E0AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E0AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0AE8 */ cpu->r[1] = _t0;
/* 028E0AEC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E0AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E0AF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E0AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E0AF4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E0AF8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E0AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E0AFC */ cpu->r[29] = cpu->r[3];
/* 028E0B00 */ _t5 = cpu->r[29] + 0x0000001Cu;
/* 028E0B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E0B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0B08 */ cpu->r[31] = cpu->r[4];
/* 028E0B0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0B0C */ _t7 = _t6 & 0x00000001u;
/* 028E0B0C */ if (_t7) goto L_028E0B10; else goto L_028E0BB0;
L_028E0B10: ; // 0x28e0b10
/* 028E0B10 */ Gambit_fn_028C2A24(cpu);
/* 028E0B14 */ _t8 = cpu->r[3] + 0x0000001Cu;
/* 028E0B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028E0B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E0B1C */ cpu->r[3] = cpu->r[31];
/* 028E0B20 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0B20 */ _t10 = _t9 & 0x00000001u;
/* 028E0B20 */ if (_t10) goto L_028E0B24; else goto L_028E0BB0;
L_028E0B24: ; // 0x28e0b24
/* 028E0B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0B28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0B28 */ _t12 = _t11 & 0x00000001u;
/* 028E0B28 */ if (_t12) goto L_028E0B2C; else goto L_028E0B38;
L_028E0B2C: ; // 0x28e0b2c
/* 028E0B2C */ cpu->r[3] = 0x101D0000u;
/* 028E0B30 */ _t13 = cpu->r[3] + 0xFFFF98F0u;
/* 028E0B30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028E0B34 */ Gambit_fn_02826F20(cpu);
L_028E0B38: ; // 0x28e0b38
/* 028E0B38 */ _t14 = cpu->r[3] + 0x0000000Cu;
/* 028E0B38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E0B3C */ _t15 = cpu->r[12] + 0x00000034u;
/* 028E0B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E0B40 */ cpu->ctr = cpu->r[0];
/* 028E0B44 */ cpu->r[5] = 0x00000004u;
/* 028E0B48 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000014u);
/* 028E0B4C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E0B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E0B54 */ cpu->r[9] = cpu->r[30];
/* 028E0B58 */ cpu->r[11] = 0x00000000u;
/* 028E0B5C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0B5C */ _t17 = _t16 & 0x00000001u;
/* 028E0B5C */ if (_t17) goto L_028E0B64; else goto L_028E0B60;
L_028E0B60: ; // 0x28e0b60
/* 028E0B60 */ cpu->r[9] = 0x00000001u;
L_028E0B64: ; // 0x28e0b64
/* 028E0B64 */ cpu->r[10] = 0x10140000u;
/* 028E0B68 */ cpu->ctr = cpu->r[9];
/* 028E0B6C */ _t18 = cpu->r[10] + 0xFFFFB5ECu;
/* 028E0B6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028E0B70 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000014u);
/* 028E0B74 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028E0B78 */ cpu->r[0] = 0x00000000u;
L_028E0B7C: ; // 0x28e0b7c
/* 028E0B7C */ cpu->r[8] = cpu->r[3] + cpu->r[10];
/* 028E0B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028E0B80 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0B80 */ _t20 = _t19 & 0x00000001u;
/* 028E0B80 */ if (_t20) goto L_028E0B98; else goto L_028E0B84;
L_028E0B84: ; // 0x28e0b84
/* 028E0B84 */ _t21 = cpu->r[8] + 0x00000010u;
/* 028E0B84 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
/* 028E0B88 */ _t22 = cpu->r[8] + 0x00000000u;
/* 028E0B88 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
/* 028E0B8C */ _t23 = cpu->r[8] + 0x00000008u;
/* 028E0B8C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 028E0B90 */ _t24 = cpu->r[8] + 0x0000000Cu;
/* 028E0B90 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028E0B94 */ _t25 = cpu->r[8] + 0x00000004u;
/* 028E0B94 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
L_028E0B98: ; // 0x28e0b98
/* 028E0B98 */ cpu->r[10] = cpu->r[10] + 0x00000014u;
/* 028E0B9C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E0B9C */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E0B9C */ _t27 = _t26 >> (0x00000002u & 31u);
/* 028E0B9C */ _t28 = _t27 & 0x00000001u;
/* 028E0B9C */ if (_t28) goto L_028E0B7C; else goto L_028E0BA0;
L_028E0BA0: ; // 0x28e0ba0
/* 028E0BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0BA4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0BA4 */ _t30 = _t29 & 0x00000001u;
/* 028E0BA4 */ if (_t30) goto L_028E0BB0; else goto L_028E0BA8;
L_028E0BA8: ; // 0x28e0ba8
/* 028E0BA8 */ _t31 = cpu->r[29] + 0x0000001Cu;
/* 028E0BA8 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
/* 028E0BAC */ _t32 = cpu->r[29] + 0x00000018u;
/* 028E0BAC */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
L_028E0BB0: ; // 0x28e0bb0
/* 028E0BB0 */ cpu->r[0] = 0x00000000u;
/* 028E0BB4 */ _t33 = cpu->r[29] + 0x00000000u;
/* 028E0BB4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
/* 028E0BB8 */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028E0BB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
/* 028E0BBC */ _t35 = cpu->r[1] + 0x0000001Cu;
/* 028E0BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028E0BC0 */ _t36 = cpu->r[1] + 0x00000010u;
/* 028E0BC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028E0BC4 */ cpu->lr = cpu->r[0];
/* 028E0BC8 */ _t37 = cpu->r[1] + 0x00000014u;
/* 028E0BC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
/* 028E0BCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E0BD0 */ return;
}
// fn_028E0AE8 @ 0x28e0ae8
void Gambit_fn_028E0AE8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_028E0AE8: ; // 0x28e0ae8
/* 028E0AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E0AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0AE8 */ cpu->r[1] = _t0;
/* 028E0AEC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E0AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E0AF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E0AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E0AF4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E0AF8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E0AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E0AFC */ cpu->r[29] = cpu->r[3];
/* 028E0B00 */ _t5 = cpu->r[29] + 0x0000001Cu;
/* 028E0B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E0B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0B08 */ cpu->r[31] = cpu->r[4];
/* 028E0B0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0B0C */ _t7 = _t6 & 0x00000001u;
/* 028E0B0C */ if (_t7) goto L_028E0B10; else goto L_028E0BB0;
L_028E0B10: ; // 0x28e0b10
/* 028E0B10 */ Gambit_fn_028C2A24(cpu);
/* 028E0B14 */ _t8 = cpu->r[3] + 0x0000001Cu;
/* 028E0B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028E0B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E0B1C */ cpu->r[3] = cpu->r[31];
/* 028E0B20 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0B20 */ _t10 = _t9 & 0x00000001u;
/* 028E0B20 */ if (_t10) goto L_028E0B24; else goto L_028E0BB0;
L_028E0B24: ; // 0x28e0b24
/* 028E0B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0B28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0B28 */ _t12 = _t11 & 0x00000001u;
/* 028E0B28 */ if (_t12) goto L_028E0B2C; else goto L_028E0B38;
L_028E0B2C: ; // 0x28e0b2c
/* 028E0B2C */ cpu->r[3] = 0x101D0000u;
/* 028E0B30 */ _t13 = cpu->r[3] + 0xFFFF98F0u;
/* 028E0B30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028E0B34 */ Gambit_fn_02826F20(cpu);
L_028E0B38: ; // 0x28e0b38
/* 028E0B38 */ _t14 = cpu->r[3] + 0x0000000Cu;
/* 028E0B38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E0B3C */ _t15 = cpu->r[12] + 0x00000034u;
/* 028E0B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E0B40 */ cpu->ctr = cpu->r[0];
/* 028E0B44 */ cpu->r[5] = 0x00000004u;
/* 028E0B48 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000014u);
/* 028E0B4C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E0B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E0B54 */ cpu->r[9] = cpu->r[30];
/* 028E0B58 */ cpu->r[11] = 0x00000000u;
/* 028E0B5C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0B5C */ _t17 = _t16 & 0x00000001u;
/* 028E0B5C */ if (_t17) goto L_028E0B64; else goto L_028E0B60;
L_028E0B60: ; // 0x28e0b60
/* 028E0B60 */ cpu->r[9] = 0x00000001u;
L_028E0B64: ; // 0x28e0b64
/* 028E0B64 */ cpu->r[10] = 0x10140000u;
/* 028E0B68 */ cpu->ctr = cpu->r[9];
/* 028E0B6C */ _t18 = cpu->r[10] + 0xFFFFB5ECu;
/* 028E0B6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028E0B70 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000014u);
/* 028E0B74 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028E0B78 */ cpu->r[0] = 0x00000000u;
L_028E0B7C: ; // 0x28e0b7c
/* 028E0B7C */ cpu->r[8] = cpu->r[3] + cpu->r[10];
/* 028E0B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028E0B80 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0B80 */ _t20 = _t19 & 0x00000001u;
/* 028E0B80 */ if (_t20) goto L_028E0B98; else goto L_028E0B84;
L_028E0B84: ; // 0x28e0b84
/* 028E0B84 */ _t21 = cpu->r[8] + 0x00000010u;
/* 028E0B84 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
/* 028E0B88 */ _t22 = cpu->r[8] + 0x00000000u;
/* 028E0B88 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
/* 028E0B8C */ _t23 = cpu->r[8] + 0x00000008u;
/* 028E0B8C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 028E0B90 */ _t24 = cpu->r[8] + 0x0000000Cu;
/* 028E0B90 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028E0B94 */ _t25 = cpu->r[8] + 0x00000004u;
/* 028E0B94 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
L_028E0B98: ; // 0x28e0b98
/* 028E0B98 */ cpu->r[10] = cpu->r[10] + 0x00000014u;
/* 028E0B9C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E0B9C */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E0B9C */ _t27 = _t26 >> (0x00000002u & 31u);
/* 028E0B9C */ _t28 = _t27 & 0x00000001u;
/* 028E0B9C */ if (_t28) goto L_028E0B7C; else goto L_028E0BA0;
L_028E0BA0: ; // 0x28e0ba0
/* 028E0BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0BA4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0BA4 */ _t30 = _t29 & 0x00000001u;
/* 028E0BA4 */ if (_t30) goto L_028E0BB0; else goto L_028E0BA8;
L_028E0BA8: ; // 0x28e0ba8
/* 028E0BA8 */ _t31 = cpu->r[29] + 0x0000001Cu;
/* 028E0BA8 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
/* 028E0BAC */ _t32 = cpu->r[29] + 0x00000018u;
/* 028E0BAC */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
L_028E0BB0: ; // 0x28e0bb0
/* 028E0BB0 */ cpu->r[0] = 0x00000000u;
/* 028E0BB4 */ _t33 = cpu->r[29] + 0x00000000u;
/* 028E0BB4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
/* 028E0BB8 */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028E0BB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
/* 028E0BBC */ _t35 = cpu->r[1] + 0x0000001Cu;
/* 028E0BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028E0BC0 */ _t36 = cpu->r[1] + 0x00000010u;
/* 028E0BC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028E0BC4 */ cpu->lr = cpu->r[0];
/* 028E0BC8 */ _t37 = cpu->r[1] + 0x00000014u;
/* 028E0BC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
/* 028E0BCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E0BD0 */ return;
}
// fn_028E0BD4 @ 0x28e0bd4
void Gambit_fn_028E0BD4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E0BD4: ; // 0x28e0bd4
/* 028E0BD4 */ cpu->r[0] = cpu->lr;
/* 028E0BD8 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E0BD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E0BDC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E0BDC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E0BDC */ cpu->r[1] = _t1;
/* 028E0BE0 */ Gambit_fn_028E0918(cpu);
/* 028E0BE4 */ cpu->r[0] = 0x00000001u;
/* 028E0BE8 */ _t2 = cpu->r[3] + 0x00000000u;
/* 028E0BE8 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
/* 028E0BEC */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E0BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E0BF0 */ cpu->lr = cpu->r[0];
/* 028E0BF4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E0BF8 */ return;
}
// fn_028E0BDC @ 0x28e0bdc
void Gambit_fn_028E0BDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028E0BDC: ; // 0x28e0bdc
/* 028E0BDC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E0BDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0BDC */ cpu->r[1] = _t0;
/* 028E0BE0 */ Gambit_fn_028E0918(cpu);
/* 028E0BE4 */ cpu->r[0] = 0x00000001u;
/* 028E0BE8 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028E0BE8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
/* 028E0BEC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E0BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E0BF0 */ cpu->lr = cpu->r[0];
/* 028E0BF4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E0BF8 */ return;
}
// fn_028E0BFC @ 0x28e0bfc
void Gambit_fn_028E0BFC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E0BFC: ; // 0x28e0bfc
/* 028E0BFC */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028E0BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E0C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0C04 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0C04 */ _t2 = _t1 & 0x00000001u;
/* 028E0C04 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E0C04 */ goto L_028E0C08;
L_028E0C08: ; // 0x28e0c08
/* 028E0C08 */ _t3 = cpu->r[3] + 0x00000014u;
/* 028E0C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E0C0C */ _t4 = cpu->r[3] + 0x00000018u;
/* 028E0C0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
/* 028E0C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]);
/* 028E0C14 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0C14 */ _t6 = _t5 & 0x00000001u;
/* 028E0C14 */ _t7 = _t6 ^ 0x00000001u;
/* 028E0C14 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E0C14 */ goto L_028E0C18;
L_028E0C18: ; // 0x28e0c18
/* 028E0C18 */ _t8 = cpu->r[5] + 0x00000008u;
/* 028E0C18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028E0C1C */ _t9 = cpu->r[3] + 0x00000004u;
/* 028E0C1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028E0C20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028E0C24 */ _t10 = cpu->r[3] + 0x00000008u;
/* 028E0C24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028E0C28 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0C28 */ _t12 = _t11 & 0x00000001u;
/* 028E0C28 */ if (_t12) goto L_028E0C2C; else goto L_028E0C30;
L_028E0C2C: ; // 0x28e0c2c
/* 028E0C2C */ _t13 = cpu->r[3] + 0x00000004u;
/* 028E0C2C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
L_028E0C30: ; // 0x28e0c30
/* 028E0C30 */ _t14 = cpu->r[5] + 0x0000000Cu;
/* 028E0C30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
/* 028E0C34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028E0C38 */ _t15 = cpu->r[3] + 0x0000000Cu;
/* 028E0C38 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
/* 028E0C3C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0C3C */ _t17 = _t16 & 0x00000001u;
/* 028E0C3C */ if (_t17) goto L_028E0C40; else goto L_028E0C44;
L_028E0C40: ; // 0x28e0c40
/* 028E0C40 */ _t18 = cpu->r[3] + 0x00000008u;
/* 028E0C40 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
L_028E0C44: ; // 0x28e0c44
/* 028E0C44 */ _t19 = cpu->r[5] + 0x00000010u;
/* 028E0C44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
/* 028E0C48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028E0C4C */ _t20 = cpu->r[3] + 0x00000010u;
/* 028E0C4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
/* 028E0C50 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0C50 */ _t22 = _t21 & 0x00000001u;
/* 028E0C50 */ if (_t22) goto L_028E0C54; else goto L_028E0C58;
L_028E0C54: ; // 0x28e0c54
/* 028E0C54 */ _t23 = cpu->r[3] + 0x0000000Cu;
/* 028E0C54 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
L_028E0C58: ; // 0x28e0c58
/* 028E0C58 */ _t24 = cpu->r[5] + 0x00000018u;
/* 028E0C58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
/* 028E0C5C */ _t25 = cpu->r[3] + 0x00000014u;
/* 028E0C5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
/* 028E0C60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028E0C64 */ _t26 = cpu->r[3] + 0x00000018u;
/* 028E0C64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028E0C68 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E0C68 */ _t28 = _t27 & 0x00000001u;
/* 028E0C68 */ if (_t28) goto L_028E0C6C; else goto L_028E0C70;
L_028E0C6C: ; // 0x28e0c6c
/* 028E0C6C */ _t29 = cpu->r[3] + 0x00000010u;
/* 028E0C6C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
L_028E0C70: ; // 0x28e0c70
/* 028E0C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
/* 028E0C74 */ _t30 = cpu->r[3] + 0x0000001Cu;
/* 028E0C74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
/* 028E0C78 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0C78 */ _t32 = _t31 & 0x00000001u;
/* 028E0C78 */ if (_t32) goto L_028E0C7C; else goto L_028E0C84;
L_028E0C7C: ; // 0x28e0c7c
/* 028E0C7C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000014u);
/* 028E0C80 */ cpu->r[10] = cpu->r[10] + cpu->r[9];
L_028E0C84: ; // 0x28e0c84
/* 028E0C84 */ _t33 = cpu->r[10] + 0x00000000u;
/* 028E0C84 */ rbrew_write32(cpu->mem, _t33, cpu->r[4]);
/* 028E0C88 */ _t34 = cpu->r[3] + 0x00000018u;
/* 028E0C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028E0C8C */ _t35 = cpu->r[3] + 0x00000014u;
/* 028E0C8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028E0C90 */ _t36 = cpu->r[3] + 0x0000001Cu;
/* 028E0C90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
/* 028E0C94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
/* 028E0C98 */ _t37 = cpu->r[5] + 0x00000004u;
/* 028E0C98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
/* 028E0C9C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0C9C */ _t39 = _t38 & 0x00000001u;
/* 028E0C9C */ if (_t39) goto L_028E0CA0; else goto L_028E0CA8;
L_028E0CA0: ; // 0x28e0ca0
/* 028E0CA0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000014u);
/* 028E0CA4 */ cpu->r[11] = cpu->r[11] + cpu->r[8];
L_028E0CA8: ; // 0x28e0ca8
/* 028E0CA8 */ _t40 = cpu->r[11] + 0x00000004u;
/* 028E0CA8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
/* 028E0CAC */ _t41 = cpu->r[3] + 0x00000018u;
/* 028E0CAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
/* 028E0CB0 */ _t42 = cpu->r[3] + 0x00000014u;
/* 028E0CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
/* 028E0CB4 */ _t43 = cpu->r[3] + 0x0000001Cu;
/* 028E0CB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
/* 028E0CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
/* 028E0CBC */ _t44 = cpu->r[5] + 0x0000001Cu;
/* 028E0CBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
/* 028E0CC0 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0CC0 */ _t46 = _t45 & 0x00000001u;
/* 028E0CC0 */ if (_t46) goto L_028E0CC4; else goto L_028E0CCC;
L_028E0CC4: ; // 0x28e0cc4
/* 028E0CC4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000014u);
/* 028E0CC8 */ cpu->r[8] = cpu->r[8] + cpu->r[11];
L_028E0CCC: ; // 0x28e0ccc
/* 028E0CCC */ _t47 = cpu->r[8] + 0x00000008u;
/* 028E0CCC */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
/* 028E0CD0 */ _t48 = cpu->r[3] + 0x00000018u;
/* 028E0CD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
/* 028E0CD4 */ _t49 = cpu->r[3] + 0x00000014u;
/* 028E0CD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
/* 028E0CD8 */ _t50 = cpu->r[3] + 0x0000001Cu;
/* 028E0CD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
/* 028E0CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028E0CE0 */ _t51 = cpu->r[5] + 0x00000020u;
/* 028E0CE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
/* 028E0CE4 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0CE4 */ _t53 = _t52 & 0x00000001u;
/* 028E0CE4 */ if (_t53) goto L_028E0CE8; else goto L_028E0CF0;
L_028E0CE8: ; // 0x28e0ce8
/* 028E0CE8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000014u);
/* 028E0CEC */ cpu->r[9] = cpu->r[9] + cpu->r[0];
L_028E0CF0: ; // 0x28e0cf0
/* 028E0CF0 */ _t54 = cpu->r[9] + 0x0000000Cu;
/* 028E0CF0 */ rbrew_write32(cpu->mem, _t54, cpu->r[8]);
/* 028E0CF4 */ _t55 = cpu->r[3] + 0x00000018u;
/* 028E0CF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
/* 028E0CF8 */ _t56 = cpu->r[3] + 0x00000014u;
/* 028E0CF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
/* 028E0CFC */ _t57 = cpu->r[3] + 0x0000001Cu;
/* 028E0CFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
/* 028E0D00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
/* 028E0D04 */ _t58 = cpu->r[5] + 0x00000014u;
/* 028E0D04 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t58);
/* 028E0D08 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0D08 */ _t60 = _t59 & 0x00000001u;
/* 028E0D08 */ if (_t60) goto L_028E0D0C; else goto L_028E0D14;
L_028E0D0C: ; // 0x28e0d0c
/* 028E0D0C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000014u);
/* 028E0D10 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
L_028E0D14: ; // 0x28e0d14
/* 028E0D14 */ _t61 = cpu->r[12] + 0x00000010u;
/* 028E0D14 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[0]);
/* 028E0D18 */ _t62 = cpu->r[3] + 0x00000014u;
/* 028E0D18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
/* 028E0D1C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E0D20 */ _t63 = cpu->r[3] + 0x00000014u;
/* 028E0D20 */ rbrew_write32(cpu->mem, _t63, cpu->r[12]);
/* 028E0D24 */ return;
}
// fn_028E0D28 @ 0x28e0d28
void Gambit_fn_028E0D28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028E0D28: ; // 0x28e0d28
/* 028E0D28 */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028E0D28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E0D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E0D30 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0D30 */ _t2 = _t1 & 0x00000001u;
/* 028E0D30 */ if (_t2) goto L_028E0D40; else goto L_028E0D34;
L_028E0D34: ; // 0x28e0d34
/* 028E0D34 */ _t3 = cpu->r[3] + 0x00000018u;
/* 028E0D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E0D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028E0D3C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0D3C */ _t5 = _t4 & 0x00000001u;
/* 028E0D3C */ if (_t5) goto L_028E0D48; else goto L_028E0D40;
L_028E0D40: ; // 0x28e0d40
/* 028E0D40 */ cpu->r[3] = 0xFFFFFFFFu;
/* 028E0D44 */ return;
L_028E0D48: ; // 0x28e0d48
/* 028E0D48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E0D4C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0D4C */ _t7 = _t6 & 0x00000001u;
/* 028E0D4C */ if (_t7) goto L_028E0D50; else goto L_028E0D58;
L_028E0D50: ; // 0x28e0d50
/* 028E0D50 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000014u);
/* 028E0D54 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028E0D58: ; // 0x28e0d58
/* 028E0D58 */ _t8 = cpu->r[12] + 0x00000000u;
/* 028E0D58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028E0D5C */ return;
}
// fn_028E0D60 @ 0x28e0d60
void Gambit_fn_028E0D60(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028E0D60: ; // 0x28e0d60
/* 028E0D60 */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028E0D60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E0D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E0D68 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0D68 */ _t2 = _t1 & 0x00000001u;
/* 028E0D68 */ if (_t2) goto L_028E0D78; else goto L_028E0D6C;
L_028E0D6C: ; // 0x28e0d6c
/* 028E0D6C */ _t3 = cpu->r[3] + 0x00000018u;
/* 028E0D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E0D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028E0D74 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0D74 */ _t5 = _t4 & 0x00000001u;
/* 028E0D74 */ if (_t5) goto L_028E0D84; else goto L_028E0D78;
L_028E0D78: ; // 0x28e0d78
/* 028E0D78 */ cpu->r[12] = 0x10140000u;
/* 028E0D7C */ _t6 = cpu->r[12] + 0xFFFFB5ECu;
/* 028E0D7C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028E0D80 */ return;
L_028E0D84: ; // 0x28e0d84
/* 028E0D84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E0D88 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0D88 */ _t8 = _t7 & 0x00000001u;
/* 028E0D88 */ if (_t8) goto L_028E0D8C; else goto L_028E0D94;
L_028E0D8C: ; // 0x28e0d8c
/* 028E0D8C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000014u);
/* 028E0D90 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028E0D94: ; // 0x28e0d94
/* 028E0D94 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028E0D94 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028E0D98 */ return;
}
// fn_028E0D9C @ 0x28e0d9c
void Gambit_fn_028E0D9C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028E0D9C: ; // 0x28e0d9c
/* 028E0D9C */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028E0D9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E0DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E0DA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0DA4 */ _t2 = _t1 & 0x00000001u;
/* 028E0DA4 */ if (_t2) goto L_028E0DB4; else goto L_028E0DA8;
L_028E0DA8: ; // 0x28e0da8
/* 028E0DA8 */ _t3 = cpu->r[3] + 0x00000018u;
/* 028E0DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E0DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028E0DB0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0DB0 */ _t5 = _t4 & 0x00000001u;
/* 028E0DB0 */ if (_t5) goto L_028E0DC0; else goto L_028E0DB4;
L_028E0DB4: ; // 0x28e0db4
/* 028E0DB4 */ cpu->r[12] = 0x10140000u;
/* 028E0DB8 */ _t6 = cpu->r[12] + 0xFFFFB5ECu;
/* 028E0DB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028E0DBC */ return;
L_028E0DC0: ; // 0x28e0dc0
/* 028E0DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E0DC4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0DC4 */ _t8 = _t7 & 0x00000001u;
/* 028E0DC4 */ if (_t8) goto L_028E0DC8; else goto L_028E0DD0;
L_028E0DC8: ; // 0x28e0dc8
/* 028E0DC8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000014u);
/* 028E0DCC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028E0DD0: ; // 0x28e0dd0
/* 028E0DD0 */ _t9 = cpu->r[12] + 0x00000008u;
/* 028E0DD0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028E0DD4 */ return;
}
// fn_028E0DD8 @ 0x28e0dd8
void Gambit_fn_028E0DD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028E0DD8: ; // 0x28e0dd8
/* 028E0DD8 */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028E0DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E0DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E0DE0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0DE0 */ _t2 = _t1 & 0x00000001u;
/* 028E0DE0 */ if (_t2) goto L_028E0DF0; else goto L_028E0DE4;
L_028E0DE4: ; // 0x28e0de4
/* 028E0DE4 */ _t3 = cpu->r[3] + 0x00000018u;
/* 028E0DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E0DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028E0DEC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0DEC */ _t5 = _t4 & 0x00000001u;
/* 028E0DEC */ if (_t5) goto L_028E0DF8; else goto L_028E0DF0;
L_028E0DF0: ; // 0x28e0df0
/* 028E0DF0 */ cpu->r[3] = 0x00000000u;
/* 028E0DF4 */ return;
L_028E0DF8: ; // 0x28e0df8
/* 028E0DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E0DFC */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0DFC */ _t7 = _t6 & 0x00000001u;
/* 028E0DFC */ if (_t7) goto L_028E0E00; else goto L_028E0E08;
L_028E0E00: ; // 0x28e0e00
/* 028E0E00 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000014u);
/* 028E0E04 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028E0E08: ; // 0x28e0e08
/* 028E0E08 */ _t8 = cpu->r[12] + 0x0000000Cu;
/* 028E0E08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028E0E0C */ return;
}
// fn_028E0E10 @ 0x28e0e10
void Gambit_fn_028E0E10(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028E0E10: ; // 0x28e0e10
/* 028E0E10 */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028E0E10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E0E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E0E18 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E18 */ _t2 = _t1 & 0x00000001u;
/* 028E0E18 */ if (_t2) goto L_028E0E28; else goto L_028E0E1C;
L_028E0E1C: ; // 0x28e0e1c
/* 028E0E1C */ _t3 = cpu->r[3] + 0x00000018u;
/* 028E0E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E0E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028E0E24 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0E24 */ _t5 = _t4 & 0x00000001u;
/* 028E0E24 */ if (_t5) goto L_028E0E34; else goto L_028E0E28;
L_028E0E28: ; // 0x28e0e28
/* 028E0E28 */ cpu->r[12] = 0x10140000u;
/* 028E0E2C */ _t6 = cpu->r[12] + 0xFFFFB5ECu;
/* 028E0E2C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028E0E30 */ return;
L_028E0E34: ; // 0x28e0e34
/* 028E0E34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E0E38 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0E38 */ _t8 = _t7 & 0x00000001u;
/* 028E0E38 */ if (_t8) goto L_028E0E3C; else goto L_028E0E44;
L_028E0E3C: ; // 0x28e0e3c
/* 028E0E3C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000014u);
/* 028E0E40 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028E0E44: ; // 0x28e0e44
/* 028E0E44 */ _t9 = cpu->r[12] + 0x00000010u;
/* 028E0E44 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028E0E48 */ return;
}
// fn_028E0E4C @ 0x28e0e4c
void Gambit_fn_028E0E4C(CPUState* cpu) {
uint32_t _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_028E0E4C: ; // 0x28e0e4c
/* 028E0E4C */ cpu->r[0] = cpu->lr;
/* 028E0E50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E0E50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0E50 */ cpu->r[1] = _t0;
/* 028E0E54 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0E54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E0E58 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E0E58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E0E5C */ cpu->r[31] = cpu->r[3];
/* 028E0E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0E60 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0E60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E0E64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E64 */ _t5 = _t4 & 0x00000001u;
/* 028E0E64 */ if (_t5) goto L_028E0E68; else goto L_028E0E78;
L_028E0E68: ; // 0x28e0e68
/* 028E0E68 */ cpu->r[3] = 0x00000050u;
/* 028E0E6C */ Gambit_fn_02801A78(cpu);
/* 028E0E70 */ cpu->r[31] = cpu->r[3];
/* 028E0E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0E74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E74 */ _t7 = _t6 & 0x00000001u;
/* 028E0E74 */ if (_t7) goto L_028E0ED0; else goto L_028E0E78;
L_028E0E78: ; // 0x28e0e78
/* 028E0E78 */ cpu->r[0] = 0x10140000u;
/* 028E0E7C */ cpu->r[3] = cpu->r[31];
/* 028E0E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0E80 */ cpu->r[0] = cpu->r[0] + 0xFFFFB600u;
/* 028E0E84 */ cpu->r[30] = 0x00000000u;
/* 028E0E88 */ _t8 = cpu->r[31] + 0x0000004Cu;
/* 028E0E88 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E0E8C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E8C */ _t10 = _t9 & 0x00000001u;
/* 028E0E8C */ if (_t10) goto L_028E0E90; else goto L_028E0EA0;
L_028E0E90: ; // 0x28e0e90
/* 028E0E90 */ cpu->r[3] = 0x0000000Cu;
/* 028E0E94 */ Gambit_fn_02801A78(cpu);
/* 028E0E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0E9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E9C */ _t12 = _t11 & 0x00000001u;
/* 028E0E9C */ if (_t12) goto L_028E0EC4; else goto L_028E0EA0;
L_028E0EA0: ; // 0x28e0ea0
/* 028E0EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0EA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0EA4 */ _t14 = _t13 & 0x00000001u;
/* 028E0EA4 */ if (_t14) goto L_028E0EA8; else goto L_028E0EB8;
L_028E0EA8: ; // 0x28e0ea8
/* 028E0EA8 */ cpu->r[3] = 0x0000000Cu;
/* 028E0EAC */ Gambit_fn_02801A78(cpu);
/* 028E0EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0EB4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0EB4 */ _t16 = _t15 & 0x00000001u;
/* 028E0EB4 */ if (_t16) goto L_028E0EC4; else goto L_028E0EB8;
L_028E0EB8: ; // 0x28e0eb8
/* 028E0EB8 */ _t17 = cpu->r[3] + 0x00000004u;
/* 028E0EB8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
/* 028E0EBC */ _t18 = cpu->r[3] + 0x00000000u;
/* 028E0EBC */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
/* 028E0EC0 */ _t19 = cpu->r[3] + 0x00000008u;
/* 028E0EC0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
L_028E0EC4: ; // 0x28e0ec4
/* 028E0EC4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028E0EC8 */ _t20 = cpu->r[31] + 0x0000000Cu;
/* 028E0EC8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028E0ECC */ Gambit_fn_02836EBC(cpu);
L_028E0ED0: ; // 0x28e0ed0
/* 028E0ED0 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E0ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028E0ED4 */ cpu->r[3] = cpu->r[31];
/* 028E0ED8 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028E0ED8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028E0EDC */ cpu->lr = cpu->r[0];
/* 028E0EE0 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E0EE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028E0EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0EE8 */ return;
}
// fn_028E0E50 @ 0x28e0e50
void Gambit_fn_028E0E50(CPUState* cpu) {
uint32_t _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_028E0E50: ; // 0x28e0e50
/* 028E0E50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E0E50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0E50 */ cpu->r[1] = _t0;
/* 028E0E54 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0E54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E0E58 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E0E58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E0E5C */ cpu->r[31] = cpu->r[3];
/* 028E0E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0E60 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0E60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E0E64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E64 */ _t5 = _t4 & 0x00000001u;
/* 028E0E64 */ if (_t5) goto L_028E0E68; else goto L_028E0E78;
L_028E0E68: ; // 0x28e0e68
/* 028E0E68 */ cpu->r[3] = 0x00000050u;
/* 028E0E6C */ Gambit_fn_02801A78(cpu);
/* 028E0E70 */ cpu->r[31] = cpu->r[3];
/* 028E0E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0E74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E74 */ _t7 = _t6 & 0x00000001u;
/* 028E0E74 */ if (_t7) goto L_028E0ED0; else goto L_028E0E78;
L_028E0E78: ; // 0x28e0e78
/* 028E0E78 */ cpu->r[0] = 0x10140000u;
/* 028E0E7C */ cpu->r[3] = cpu->r[31];
/* 028E0E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0E80 */ cpu->r[0] = cpu->r[0] + 0xFFFFB600u;
/* 028E0E84 */ cpu->r[30] = 0x00000000u;
/* 028E0E88 */ _t8 = cpu->r[31] + 0x0000004Cu;
/* 028E0E88 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E0E8C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E8C */ _t10 = _t9 & 0x00000001u;
/* 028E0E8C */ if (_t10) goto L_028E0E90; else goto L_028E0EA0;
L_028E0E90: ; // 0x28e0e90
/* 028E0E90 */ cpu->r[3] = 0x0000000Cu;
/* 028E0E94 */ Gambit_fn_02801A78(cpu);
/* 028E0E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0E9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0E9C */ _t12 = _t11 & 0x00000001u;
/* 028E0E9C */ if (_t12) goto L_028E0EC4; else goto L_028E0EA0;
L_028E0EA0: ; // 0x28e0ea0
/* 028E0EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0EA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0EA4 */ _t14 = _t13 & 0x00000001u;
/* 028E0EA4 */ if (_t14) goto L_028E0EA8; else goto L_028E0EB8;
L_028E0EA8: ; // 0x28e0ea8
/* 028E0EA8 */ cpu->r[3] = 0x0000000Cu;
/* 028E0EAC */ Gambit_fn_02801A78(cpu);
/* 028E0EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0EB4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0EB4 */ _t16 = _t15 & 0x00000001u;
/* 028E0EB4 */ if (_t16) goto L_028E0EC4; else goto L_028E0EB8;
L_028E0EB8: ; // 0x28e0eb8
/* 028E0EB8 */ _t17 = cpu->r[3] + 0x00000004u;
/* 028E0EB8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
/* 028E0EBC */ _t18 = cpu->r[3] + 0x00000000u;
/* 028E0EBC */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
/* 028E0EC0 */ _t19 = cpu->r[3] + 0x00000008u;
/* 028E0EC0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
L_028E0EC4: ; // 0x28e0ec4
/* 028E0EC4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028E0EC8 */ _t20 = cpu->r[31] + 0x0000000Cu;
/* 028E0EC8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028E0ECC */ Gambit_fn_02836EBC(cpu);
L_028E0ED0: ; // 0x28e0ed0
/* 028E0ED0 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E0ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028E0ED4 */ cpu->r[3] = cpu->r[31];
/* 028E0ED8 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028E0ED8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028E0EDC */ cpu->lr = cpu->r[0];
/* 028E0EE0 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E0EE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028E0EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E0EE8 */ return;
}
// fn_028E0EEC @ 0x28e0eec
void Gambit_fn_028E0EEC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028E0EEC: ; // 0x28e0eec
/* 028E0EEC */ cpu->r[0] = cpu->lr;
/* 028E0EF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E0EF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0EF0 */ cpu->r[1] = _t0;
/* 028E0EF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0EF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E0EF8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E0EF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E0EFC */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E0EFC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E0F00 */ cpu->r[31] = cpu->r[3];
/* 028E0F04 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E0F04 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E0F08 */ _t5 = cpu->r[31] + 0x00000008u;
/* 028E0F08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
/* 028E0F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E0F10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0F10 */ _t7 = _t6 & 0x00000001u;
/* 028E0F10 */ if (_t7) goto L_028E0F90; else goto L_028E0F14;
L_028E0F14: ; // 0x28e0f14
/* 028E0F14 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E0F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E0F18 */ cpu->r[30] = 0x00000000u;
/* 028E0F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E0F20 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0F20 */ _t10 = _t9 & 0x00000001u;
/* 028E0F20 */ if (_t10) goto L_028E0F24; else goto L_028E0F88;
L_028E0F24: ; // 0x28e0f24
/* 028E0F24 */ cpu->r[29] = 0x00000000u;
L_028E0F28: ; // 0x28e0f28
/* 028E0F28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
/* 028E0F2C */ cpu->r[3] = 0x00000000u;
/* 028E0F30 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0F30 */ _t12 = _t11 & 0x00000001u;
/* 028E0F30 */ if (_t12) goto L_028E0F34; else goto L_028E0F3C;
L_028E0F34: ; // 0x28e0f34
/* 028E0F34 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028E0F34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028E0F38 */ _t14 = cpu->r[10] + cpu->r[29];
/* 028E0F38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
L_028E0F3C: ; // 0x28e0f3c
/* 028E0F3C */ Gambit_fn_028E0A20(cpu);
/* 028E0F40 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028E0F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E0F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
/* 028E0F48 */ cpu->r[3] = 0x00000000u;
/* 028E0F4C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0F4C */ _t17 = _t16 & 0x00000001u;
/* 028E0F4C */ if (_t17) goto L_028E0F50; else goto L_028E0F58;
L_028E0F50: ; // 0x28e0f50
/* 028E0F50 */ _t18 = cpu->r[31] + 0x00000008u;
/* 028E0F50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028E0F54 */ _t19 = cpu->r[11] + cpu->r[29];
/* 028E0F54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
L_028E0F58: ; // 0x28e0f58
/* 028E0F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0F5C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0F5C */ _t21 = _t20 & 0x00000001u;
/* 028E0F5C */ if (_t21) goto L_028E0F78; else goto L_028E0F60;
L_028E0F60: ; // 0x28e0f60
/* 028E0F60 */ _t22 = cpu->r[3] + 0x00000020u;
/* 028E0F60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028E0F64 */ _t23 = cpu->r[12] + 0x0000000Cu;
/* 028E0F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028E0F68 */ cpu->ctr = cpu->r[0];
/* 028E0F6C */ cpu->r[4] = 0x00000003u;
/* 028E0F70 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E0F74 */ _t24 = cpu->r[31] + 0x00000000u;
/* 028E0F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
L_028E0F78: ; // 0x28e0f78
/* 028E0F78 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E0F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E0F80 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028E0F84 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0F84 */ _t26 = _t25 & 0x00000001u;
/* 028E0F84 */ if (_t26) goto L_028E0F28; else goto L_028E0F88;
L_028E0F88: ; // 0x28e0f88
/* 028E0F88 */ cpu->r[3] = cpu->r[31];
/* 028E0F8C */ Gambit_fn_02802424(cpu);
L_028E0F90: ; // 0x28e0f90
/* 028E0F90 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028E0F90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
/* 028E0F94 */ _t28 = cpu->r[1] + 0x0000001Cu;
/* 028E0F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E0F98 */ _t29 = cpu->r[1] + 0x00000010u;
/* 028E0F98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028E0F9C */ cpu->lr = cpu->r[0];
/* 028E0FA0 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028E0FA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028E0FA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E0FA8 */ return;
}
// fn_028E0EF0 @ 0x28e0ef0
void Gambit_fn_028E0EF0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028E0EF0: ; // 0x28e0ef0
/* 028E0EF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E0EF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0EF0 */ cpu->r[1] = _t0;
/* 028E0EF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E0EF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E0EF8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E0EF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E0EFC */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E0EFC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E0F00 */ cpu->r[31] = cpu->r[3];
/* 028E0F04 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E0F04 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E0F08 */ _t5 = cpu->r[31] + 0x00000008u;
/* 028E0F08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
/* 028E0F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E0F10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0F10 */ _t7 = _t6 & 0x00000001u;
/* 028E0F10 */ if (_t7) goto L_028E0F90; else goto L_028E0F14;
L_028E0F14: ; // 0x28e0f14
/* 028E0F14 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E0F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E0F18 */ cpu->r[30] = 0x00000000u;
/* 028E0F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E0F20 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0F20 */ _t10 = _t9 & 0x00000001u;
/* 028E0F20 */ if (_t10) goto L_028E0F24; else goto L_028E0F88;
L_028E0F24: ; // 0x28e0f24
/* 028E0F24 */ cpu->r[29] = 0x00000000u;
L_028E0F28: ; // 0x28e0f28
/* 028E0F28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
/* 028E0F2C */ cpu->r[3] = 0x00000000u;
/* 028E0F30 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0F30 */ _t12 = _t11 & 0x00000001u;
/* 028E0F30 */ if (_t12) goto L_028E0F34; else goto L_028E0F3C;
L_028E0F34: ; // 0x28e0f34
/* 028E0F34 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028E0F34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028E0F38 */ _t14 = cpu->r[10] + cpu->r[29];
/* 028E0F38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
L_028E0F3C: ; // 0x28e0f3c
/* 028E0F3C */ Gambit_fn_028E0A20(cpu);
/* 028E0F40 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028E0F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E0F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
/* 028E0F48 */ cpu->r[3] = 0x00000000u;
/* 028E0F4C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0F4C */ _t17 = _t16 & 0x00000001u;
/* 028E0F4C */ if (_t17) goto L_028E0F50; else goto L_028E0F58;
L_028E0F50: ; // 0x28e0f50
/* 028E0F50 */ _t18 = cpu->r[31] + 0x00000008u;
/* 028E0F50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028E0F54 */ _t19 = cpu->r[11] + cpu->r[29];
/* 028E0F54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
L_028E0F58: ; // 0x28e0f58
/* 028E0F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E0F5C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0F5C */ _t21 = _t20 & 0x00000001u;
/* 028E0F5C */ if (_t21) goto L_028E0F78; else goto L_028E0F60;
L_028E0F60: ; // 0x28e0f60
/* 028E0F60 */ _t22 = cpu->r[3] + 0x00000020u;
/* 028E0F60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028E0F64 */ _t23 = cpu->r[12] + 0x0000000Cu;
/* 028E0F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028E0F68 */ cpu->ctr = cpu->r[0];
/* 028E0F6C */ cpu->r[4] = 0x00000003u;
/* 028E0F70 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E0F74 */ _t24 = cpu->r[31] + 0x00000000u;
/* 028E0F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
L_028E0F78: ; // 0x28e0f78
/* 028E0F78 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E0F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E0F80 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028E0F84 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E0F84 */ _t26 = _t25 & 0x00000001u;
/* 028E0F84 */ if (_t26) goto L_028E0F28; else goto L_028E0F88;
L_028E0F88: ; // 0x28e0f88
/* 028E0F88 */ cpu->r[3] = cpu->r[31];
/* 028E0F8C */ Gambit_fn_02802424(cpu);
L_028E0F90: ; // 0x28e0f90
/* 028E0F90 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028E0F90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
/* 028E0F94 */ _t28 = cpu->r[1] + 0x0000001Cu;
/* 028E0F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E0F98 */ _t29 = cpu->r[1] + 0x00000010u;
/* 028E0F98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028E0F9C */ cpu->lr = cpu->r[0];
/* 028E0FA0 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028E0FA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028E0FA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E0FA8 */ return;
}
// fn_028E0FAC @ 0x28e0fac
void Gambit_fn_028E0FAC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E0FAC: ; // 0x28e0fac
/* 028E0FAC */ cpu->r[0] = cpu->lr;
/* 028E0FB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E0FB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0FB0 */ cpu->r[1] = _t0;
/* 028E0FB4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E0FB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E0FB8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E0FB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E0FBC */ cpu->r[31] = cpu->r[3];
/* 028E0FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0FC0 */ cpu->r[30] = cpu->r[4];
/* 028E0FC4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0FC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E0FC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0FC8 */ _t5 = _t4 & 0x00000001u;
/* 028E0FC8 */ if (_t5) goto L_028E0FFC; else goto L_028E0FCC;
L_028E0FCC: ; // 0x28e0fcc
/* 028E0FCC */ cpu->r[0] = 0x10140000u;
/* 028E0FD0 */ cpu->r[0] = cpu->r[0] + 0xFFFFB600u;
/* 028E0FD4 */ cpu->r[3] = cpu->r[31];
/* 028E0FD8 */ _t6 = cpu->r[31] + 0x0000004Cu;
/* 028E0FD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E0FDC */ Gambit_fn_028E0EEC(cpu);
/* 028E0FE0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028E0FE4 */ cpu->r[4] = 0x00000002u;
/* 028E0FE8 */ Gambit_fn_02836FA8(cpu);
/* 028E0FEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E0FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0FF0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0FF0 */ _t8 = _t7 & 0x00000001u;
/* 028E0FF0 */ if (_t8) goto L_028E0FFC; else goto L_028E0FF4;
L_028E0FF4: ; // 0x28e0ff4
/* 028E0FF4 */ cpu->r[3] = cpu->r[31];
/* 028E0FF8 */ Gambit_fn_02801BB0(cpu);
L_028E0FFC: ; // 0x28e0ffc
/* 028E0FFC */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E0FFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E1000 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E1000 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E1004 */ cpu->lr = cpu->r[0];
/* 028E1008 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E1008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E100C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E1010 */ return;
}
// fn_028E0FB0 @ 0x28e0fb0
void Gambit_fn_028E0FB0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E0FB0: ; // 0x28e0fb0
/* 028E0FB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E0FB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E0FB0 */ cpu->r[1] = _t0;
/* 028E0FB4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E0FB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E0FB8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E0FB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E0FBC */ cpu->r[31] = cpu->r[3];
/* 028E0FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E0FC0 */ cpu->r[30] = cpu->r[4];
/* 028E0FC4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E0FC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E0FC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0FC8 */ _t5 = _t4 & 0x00000001u;
/* 028E0FC8 */ if (_t5) goto L_028E0FFC; else goto L_028E0FCC;
L_028E0FCC: ; // 0x28e0fcc
/* 028E0FCC */ cpu->r[0] = 0x10140000u;
/* 028E0FD0 */ cpu->r[0] = cpu->r[0] + 0xFFFFB600u;
/* 028E0FD4 */ cpu->r[3] = cpu->r[31];
/* 028E0FD8 */ _t6 = cpu->r[31] + 0x0000004Cu;
/* 028E0FD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E0FDC */ Gambit_fn_028E0EEC(cpu);
/* 028E0FE0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028E0FE4 */ cpu->r[4] = 0x00000002u;
/* 028E0FE8 */ Gambit_fn_02836FA8(cpu);
/* 028E0FEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E0FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E0FF0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E0FF0 */ _t8 = _t7 & 0x00000001u;
/* 028E0FF0 */ if (_t8) goto L_028E0FFC; else goto L_028E0FF4;
L_028E0FF4: ; // 0x28e0ff4
/* 028E0FF4 */ cpu->r[3] = cpu->r[31];
/* 028E0FF8 */ Gambit_fn_02801BB0(cpu);
L_028E0FFC: ; // 0x28e0ffc
/* 028E0FFC */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E0FFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E1000 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E1000 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E1004 */ cpu->lr = cpu->r[0];
/* 028E1008 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E1008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E100C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E1010 */ return;
}
// fn_028E1014 @ 0x28e1014
void Gambit_fn_028E1014(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028E1014: ; // 0x28e1014
/* 028E1014 */ cpu->r[0] = cpu->lr;
/* 028E1018 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E1018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1018 */ cpu->r[1] = _t0;
/* 028E101C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E101C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028E1020 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E1020 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E1024 */ cpu->r[28] = cpu->r[3];
/* 028E1028 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E1028 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E102C */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E102C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E1030 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E1030 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E1034 */ cpu->r[29] = cpu->r[5];
/* 028E1038 */ _t6 = cpu->r[28] + 0x00000008u;
/* 028E1038 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028E103C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E1040 */ cpu->r[31] = cpu->r[4];
/* 028E1044 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1044 */ _t8 = _t7 & 0x00000001u;
/* 028E1044 */ if (_t8) goto L_028E1048; else goto L_028E10D0;
L_028E1048: ; // 0x28e1048
/* 028E1048 */ cpu->r[6] = 0x00000004u;
/* 028E104C */ cpu->r[5] = cpu->r[29];
/* 028E1050 */ cpu->r[4] = cpu->r[31];
/* 028E1054 */ cpu->r[3] = cpu->r[28];
/* 028E1058 */ Gambit_fn_028023CC(cpu);
/* 028E105C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E1060 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E1060 */ _t10 = _t9 & 0x00000001u;
/* 028E1060 */ if (_t10) goto L_028E1064; else goto L_028E10C8;
L_028E1064: ; // 0x28e1064
/* 028E1064 */ cpu->r[4] = cpu->r[29];
/* 028E1068 */ cpu->r[3] = 0x00000024u;
/* 028E106C */ cpu->r[5] = 0x00000004u;
/* 028E1070 */ Gambit_fn_02801AC8(cpu);
/* 028E1074 */ cpu->r[0] = cpu->r[3];
/* 028E1074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1078 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1078 */ _t12 = _t11 & 0x00000001u;
/* 028E1078 */ if (_t12) goto L_028E10C0; else goto L_028E107C;
L_028E107C: ; // 0x28e107c
/* 028E107C */ cpu->r[3] = cpu->r[0];
/* 028E1080 */ Gambit_fn_028E099C(cpu);
/* 028E1084 */ cpu->r[30] = cpu->r[3];
/* 028E1084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E1088 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1088 */ _t14 = _t13 & 0x00000001u;
/* 028E1088 */ if (_t14) goto L_028E10C0; else goto L_028E108C;
L_028E108C: ; // 0x28e108c
/* 028E108C */ cpu->r[3] = cpu->r[30];
/* 028E1090 */ cpu->r[4] = cpu->r[29];
/* 028E1094 */ Gambit_fn_028E0AE4(cpu);
/* 028E1098 */ _t15 = cpu->r[28] + 0x00000000u;
/* 028E1098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028E109C */ _t16 = cpu->r[28] + 0x00000004u;
/* 028E109C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E10A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
/* 028E10A4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E10A4 */ _t18 = _t17 & 0x00000001u;
/* 028E10A4 */ if (_t18) goto L_028E10A8; else goto L_028E10C0;
L_028E10A8: ; // 0x28e10a8
/* 028E10A8 */ _t19 = cpu->r[28] + 0x00000008u;
/* 028E10A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E10AC */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E10B0 */ _t20 = cpu->r[12] + cpu->r[0];
/* 028E10B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028E10B4 */ _t21 = cpu->r[28] + 0x00000000u;
/* 028E10B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
/* 028E10B8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028E10BC */ _t22 = cpu->r[28] + 0x00000000u;
/* 028E10BC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
L_028E10C0: ; // 0x28e10c0
/* 028E10C0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028E10C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E10C4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E10C4 */ _t24 = _t23 & 0x00000001u;
/* 028E10C4 */ if (_t24) goto L_028E10C8; else goto L_028E1064;
L_028E10C8: ; // 0x28e10c8
/* 028E10C8 */ cpu->r[8] = 0x00000000u;
/* 028E10CC */ _t25 = cpu->r[28] + 0x0000000Cu;
/* 028E10CC */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
L_028E10D0: ; // 0x28e10d0
/* 028E10D0 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028E10D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
/* 028E10D4 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028E10D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
/* 028E10D8 */ _t28 = cpu->r[1] + 0x0000001Cu;
/* 028E10D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E10DC */ _t29 = cpu->r[1] + 0x00000010u;
/* 028E10DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028E10E0 */ cpu->lr = cpu->r[0];
/* 028E10E4 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028E10E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028E10E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E10EC */ return;
}
// fn_028E1018 @ 0x28e1018
void Gambit_fn_028E1018(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028E1018: ; // 0x28e1018
/* 028E1018 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E1018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1018 */ cpu->r[1] = _t0;
/* 028E101C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E101C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028E1020 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E1020 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E1024 */ cpu->r[28] = cpu->r[3];
/* 028E1028 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E1028 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E102C */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E102C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E1030 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E1030 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E1034 */ cpu->r[29] = cpu->r[5];
/* 028E1038 */ _t6 = cpu->r[28] + 0x00000008u;
/* 028E1038 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028E103C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E1040 */ cpu->r[31] = cpu->r[4];
/* 028E1044 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1044 */ _t8 = _t7 & 0x00000001u;
/* 028E1044 */ if (_t8) goto L_028E1048; else goto L_028E10D0;
L_028E1048: ; // 0x28e1048
/* 028E1048 */ cpu->r[6] = 0x00000004u;
/* 028E104C */ cpu->r[5] = cpu->r[29];
/* 028E1050 */ cpu->r[4] = cpu->r[31];
/* 028E1054 */ cpu->r[3] = cpu->r[28];
/* 028E1058 */ Gambit_fn_028023CC(cpu);
/* 028E105C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E1060 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E1060 */ _t10 = _t9 & 0x00000001u;
/* 028E1060 */ if (_t10) goto L_028E1064; else goto L_028E10C8;
L_028E1064: ; // 0x28e1064
/* 028E1064 */ cpu->r[4] = cpu->r[29];
/* 028E1068 */ cpu->r[3] = 0x00000024u;
/* 028E106C */ cpu->r[5] = 0x00000004u;
/* 028E1070 */ Gambit_fn_02801AC8(cpu);
/* 028E1074 */ cpu->r[0] = cpu->r[3];
/* 028E1074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1078 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1078 */ _t12 = _t11 & 0x00000001u;
/* 028E1078 */ if (_t12) goto L_028E10C0; else goto L_028E107C;
L_028E107C: ; // 0x28e107c
/* 028E107C */ cpu->r[3] = cpu->r[0];
/* 028E1080 */ Gambit_fn_028E099C(cpu);
/* 028E1084 */ cpu->r[30] = cpu->r[3];
/* 028E1084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E1088 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1088 */ _t14 = _t13 & 0x00000001u;
/* 028E1088 */ if (_t14) goto L_028E10C0; else goto L_028E108C;
L_028E108C: ; // 0x28e108c
/* 028E108C */ cpu->r[3] = cpu->r[30];
/* 028E1090 */ cpu->r[4] = cpu->r[29];
/* 028E1094 */ Gambit_fn_028E0AE4(cpu);
/* 028E1098 */ _t15 = cpu->r[28] + 0x00000000u;
/* 028E1098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028E109C */ _t16 = cpu->r[28] + 0x00000004u;
/* 028E109C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E10A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
/* 028E10A4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E10A4 */ _t18 = _t17 & 0x00000001u;
/* 028E10A4 */ if (_t18) goto L_028E10A8; else goto L_028E10C0;
L_028E10A8: ; // 0x28e10a8
/* 028E10A8 */ _t19 = cpu->r[28] + 0x00000008u;
/* 028E10A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E10AC */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E10B0 */ _t20 = cpu->r[12] + cpu->r[0];
/* 028E10B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028E10B4 */ _t21 = cpu->r[28] + 0x00000000u;
/* 028E10B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
/* 028E10B8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028E10BC */ _t22 = cpu->r[28] + 0x00000000u;
/* 028E10BC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
L_028E10C0: ; // 0x28e10c0
/* 028E10C0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028E10C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E10C4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E10C4 */ _t24 = _t23 & 0x00000001u;
/* 028E10C4 */ if (_t24) goto L_028E10C8; else goto L_028E1064;
L_028E10C8: ; // 0x28e10c8
/* 028E10C8 */ cpu->r[8] = 0x00000000u;
/* 028E10CC */ _t25 = cpu->r[28] + 0x0000000Cu;
/* 028E10CC */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
L_028E10D0: ; // 0x28e10d0
/* 028E10D0 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028E10D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
/* 028E10D4 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028E10D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
/* 028E10D8 */ _t28 = cpu->r[1] + 0x0000001Cu;
/* 028E10D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E10DC */ _t29 = cpu->r[1] + 0x00000010u;
/* 028E10DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028E10E0 */ cpu->lr = cpu->r[0];
/* 028E10E4 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028E10E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028E10E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E10EC */ return;
}
// fn_028E10F0 @ 0x28e10f0
void Gambit_fn_028E10F0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E10F0: ; // 0x28e10f0
/* 028E10F0 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028E10F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E10F4 */ cpu->r[0] = cpu->r[4] + 0x00000001u;
/* 028E10F8 */ _t1 = cpu->r[3] + 0x0000000Cu;
/* 028E10F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E10FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
/* 028E1100 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1100 */ _t3 = _t2 & 0x00000001u;
/* 028E1100 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E1100 */ goto L_028E1104;
L_028E1104: ; // 0x28e1104
/* 028E1104 */ cpu->r[11] = 0x00000000u;
/* 028E1108 */ _t4 = cpu->r[3] + 0x0000000Cu;
/* 028E1108 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
/* 028E110C */ return;
}
// fn_028E1110 @ 0x28e1110
void Gambit_fn_028E1110(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
L_028E1110: ; // 0x28e1110
/* 028E1110 */ cpu->r[0] = cpu->lr;
/* 028E1114 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E1114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1114 */ cpu->r[1] = _t0;
/* 028E1118 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1118 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E111C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E111C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E1120 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E1120 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E1124 */ cpu->r[30] = cpu->r[3];
/* 028E1128 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E1128 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E112C */ _t5 = cpu->r[30] + 0x00000008u;
/* 028E112C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E1130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1134 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1134 */ _t7 = _t6 & 0x00000001u;
/* 028E1134 */ if (_t7) goto L_028E1280; else goto L_028E1138;
L_028E1138: ; // 0x28e1138
/* 028E1138 */ cpu->r[29] = cpu->r[30] + 0x00000010u;
/* 028E113C */ cpu->r[3] = cpu->r[29];
/* 028E1140 */ _t8 = cpu->r[30] + 0x00000000u;
/* 028E1140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E1144 */ Gambit_fn_02836FFC(cpu);
/* 028E1148 */ _t9 = cpu->r[30] + 0x0000000Cu;
/* 028E1148 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028E114C */ cpu->r[4] = cpu->r[11];
/* 028E1150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[31]);
/* 028E1154 */ cpu->r[7] = cpu->r[31] - cpu->r[4];
/* 028E1158 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1158 */ _t11 = _t10 & 0x00000001u;
/* 028E1158 */ if (_t11) goto L_028E115C; else goto L_028E11E4;
L_028E115C: ; // 0x28e115c
/* 028E115C */ _t12 = cpu->r[30] + 0x00000000u;
/* 028E115C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E1160 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028E1164: ; // 0x28e1164
/* 028E1164 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E1168 */ cpu->r[10] = 0x00000000u;
/* 028E116C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E116C */ _t14 = _t13 & 0x00000001u;
/* 028E116C */ if (_t14) goto L_028E1170; else goto L_028E1178;
L_028E1170: ; // 0x28e1170
/* 028E1170 */ _t15 = cpu->r[30] + 0x00000008u;
/* 028E1170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028E1174 */ _t16 = cpu->r[12] + cpu->r[8];
/* 028E1174 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
L_028E1178: ; // 0x28e1178
/* 028E1178 */ _t17 = cpu->r[10] + 0x00000000u;
/* 028E1178 */ cpu->r[9] = rbrew_read8(cpu->mem, _t17);
/* 028E117C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E1180 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1180 */ _t19 = _t18 & 0x00000001u;
/* 028E1180 */ if (_t19) goto L_028E1184; else goto L_028E11D4;
L_028E1184: ; // 0x28e1184
/* 028E1184 */ cpu->r[3] = cpu->r[30];
/* 028E1188 */ Gambit_fn_028E10F0(cpu);
/* 028E118C */ _t20 = cpu->r[30] + 0x00000000u;
/* 028E118C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028E1190 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E1194 */ cpu->r[31] = 0x00000000u;
/* 028E1198 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1198 */ _t22 = _t21 & 0x00000001u;
/* 028E1198 */ if (_t22) goto L_028E119C; else goto L_028E11A4;
L_028E119C: ; // 0x28e119c
/* 028E119C */ _t23 = cpu->r[30] + 0x00000008u;
/* 028E119C */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028E11A0 */ _t24 = cpu->r[11] + cpu->r[8];
/* 028E11A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
L_028E11A4: ; // 0x28e11a4
/* 028E11A4 */ cpu->r[3] = cpu->r[31];
/* 028E11A8 */ Gambit_fn_028E0BD4(cpu);
/* 028E11AC */ cpu->r[3] = cpu->r[29];
/* 028E11B0 */ Gambit_fn_02837030(cpu);
/* 028E11B4 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028E11B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
/* 028E11B8 */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028E11B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028E11BC */ cpu->r[3] = cpu->r[31];
/* 028E11C0 */ _t27 = cpu->r[1] + 0x00000010u;
/* 028E11C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028E11C4 */ cpu->lr = cpu->r[0];
/* 028E11C8 */ _t28 = cpu->r[1] + 0x00000014u;
/* 028E11C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
/* 028E11CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E11D0 */ return;
L_028E11D4: ; // 0x28e11d4
/* 028E11D4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
/* 028E11D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028E11D8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E11DC */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028E11E0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E11E0 */ _t30 = _t29 & 0x00000001u;
/* 028E11E0 */ if (_t30) goto L_028E11E4; else goto L_028E1164;
L_028E11E4: ; // 0x28e11e4
/* 028E11E4 */ cpu->r[4] = 0x00000000u;
/* 028E11E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
/* 028E11EC */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E11EC */ _t32 = _t31 & 0x00000001u;
/* 028E11EC */ if (_t32) goto L_028E11F0; else goto L_028E1278;
L_028E11F0: ; // 0x28e11f0
/* 028E11F0 */ _t33 = cpu->r[30] + 0x00000000u;
/* 028E11F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028E11F4 */ cpu->r[8] = 0x00000000u;
L_028E11F8: ; // 0x28e11f8
/* 028E11F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E11FC */ cpu->r[12] = 0x00000000u;
/* 028E1200 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1200 */ _t35 = _t34 & 0x00000001u;
/* 028E1200 */ if (_t35) goto L_028E1204; else goto L_028E120C;
L_028E1204: ; // 0x28e1204
/* 028E1204 */ _t36 = cpu->r[30] + 0x00000008u;
/* 028E1204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
/* 028E1208 */ _t37 = cpu->r[9] + cpu->r[8];
/* 028E1208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
L_028E120C: ; // 0x28e120c
/* 028E120C */ _t38 = cpu->r[12] + 0x00000000u;
/* 028E120C */ cpu->r[10] = rbrew_read8(cpu->mem, _t38);
/* 028E1210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E1214 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1214 */ _t40 = _t39 & 0x00000001u;
/* 028E1214 */ if (_t40) goto L_028E1218; else goto L_028E1268;
L_028E1218: ; // 0x28e1218
/* 028E1218 */ cpu->r[3] = cpu->r[30];
/* 028E121C */ Gambit_fn_028E10F0(cpu);
/* 028E1220 */ _t41 = cpu->r[30] + 0x00000000u;
/* 028E1220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028E1224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E1228 */ cpu->r[31] = 0x00000000u;
/* 028E122C */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E122C */ _t43 = _t42 & 0x00000001u;
/* 028E122C */ if (_t43) goto L_028E1230; else goto L_028E1238;
L_028E1230: ; // 0x28e1230
/* 028E1230 */ _t44 = cpu->r[30] + 0x00000008u;
/* 028E1230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028E1234 */ _t45 = cpu->r[12] + cpu->r[8];
/* 028E1234 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
L_028E1238: ; // 0x28e1238
/* 028E1238 */ cpu->r[3] = cpu->r[31];
/* 028E123C */ Gambit_fn_028E0BD4(cpu);
/* 028E1240 */ cpu->r[3] = cpu->r[29];
/* 028E1244 */ Gambit_fn_02837030(cpu);
/* 028E1248 */ _t46 = cpu->r[1] + 0x0000000Cu;
/* 028E1248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
/* 028E124C */ _t47 = cpu->r[1] + 0x0000001Cu;
/* 028E124C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028E1250 */ cpu->r[3] = cpu->r[31];
/* 028E1254 */ _t48 = cpu->r[1] + 0x00000010u;
/* 028E1254 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
/* 028E1258 */ cpu->lr = cpu->r[0];
/* 028E125C */ _t49 = cpu->r[1] + 0x00000014u;
/* 028E125C */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
/* 028E1260 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E1264 */ return;
L_028E1268: ; // 0x28e1268
/* 028E1268 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E126C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
/* 028E1270 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028E1274 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1274 */ _t51 = _t50 & 0x00000001u;
/* 028E1274 */ if (_t51) goto L_028E11F8; else goto L_028E1278;
L_028E1278: ; // 0x28e1278
/* 028E1278 */ cpu->r[3] = cpu->r[29];
/* 028E127C */ Gambit_fn_02837030(cpu);
L_028E1280: ; // 0x28e1280
/* 028E1280 */ _t52 = cpu->r[1] + 0x0000000Cu;
/* 028E1280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
/* 028E1284 */ _t53 = cpu->r[1] + 0x0000001Cu;
/* 028E1284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028E1288 */ _t54 = cpu->r[1] + 0x00000010u;
/* 028E1288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
/* 028E128C */ cpu->lr = cpu->r[0];
/* 028E1290 */ _t55 = cpu->r[1] + 0x00000014u;
/* 028E1290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
/* 028E1294 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E1298 */ cpu->r[3] = 0x00000000u;
/* 028E129C */ return;
}
// fn_028E1114 @ 0x28e1114
void Gambit_fn_028E1114(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
L_028E1114: ; // 0x28e1114
/* 028E1114 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E1114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1114 */ cpu->r[1] = _t0;
/* 028E1118 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1118 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E111C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E111C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E1120 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E1120 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E1124 */ cpu->r[30] = cpu->r[3];
/* 028E1128 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E1128 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E112C */ _t5 = cpu->r[30] + 0x00000008u;
/* 028E112C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E1130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1134 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1134 */ _t7 = _t6 & 0x00000001u;
/* 028E1134 */ if (_t7) goto L_028E1280; else goto L_028E1138;
L_028E1138: ; // 0x28e1138
/* 028E1138 */ cpu->r[29] = cpu->r[30] + 0x00000010u;
/* 028E113C */ cpu->r[3] = cpu->r[29];
/* 028E1140 */ _t8 = cpu->r[30] + 0x00000000u;
/* 028E1140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E1144 */ Gambit_fn_02836FFC(cpu);
/* 028E1148 */ _t9 = cpu->r[30] + 0x0000000Cu;
/* 028E1148 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028E114C */ cpu->r[4] = cpu->r[11];
/* 028E1150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[31]);
/* 028E1154 */ cpu->r[7] = cpu->r[31] - cpu->r[4];
/* 028E1158 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1158 */ _t11 = _t10 & 0x00000001u;
/* 028E1158 */ if (_t11) goto L_028E115C; else goto L_028E11E4;
L_028E115C: ; // 0x28e115c
/* 028E115C */ _t12 = cpu->r[30] + 0x00000000u;
/* 028E115C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E1160 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028E1164: ; // 0x28e1164
/* 028E1164 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E1168 */ cpu->r[10] = 0x00000000u;
/* 028E116C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E116C */ _t14 = _t13 & 0x00000001u;
/* 028E116C */ if (_t14) goto L_028E1170; else goto L_028E1178;
L_028E1170: ; // 0x28e1170
/* 028E1170 */ _t15 = cpu->r[30] + 0x00000008u;
/* 028E1170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028E1174 */ _t16 = cpu->r[12] + cpu->r[8];
/* 028E1174 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
L_028E1178: ; // 0x28e1178
/* 028E1178 */ _t17 = cpu->r[10] + 0x00000000u;
/* 028E1178 */ cpu->r[9] = rbrew_read8(cpu->mem, _t17);
/* 028E117C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E1180 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1180 */ _t19 = _t18 & 0x00000001u;
/* 028E1180 */ if (_t19) goto L_028E1184; else goto L_028E11D4;
L_028E1184: ; // 0x28e1184
/* 028E1184 */ cpu->r[3] = cpu->r[30];
/* 028E1188 */ Gambit_fn_028E10F0(cpu);
/* 028E118C */ _t20 = cpu->r[30] + 0x00000000u;
/* 028E118C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028E1190 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E1194 */ cpu->r[31] = 0x00000000u;
/* 028E1198 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1198 */ _t22 = _t21 & 0x00000001u;
/* 028E1198 */ if (_t22) goto L_028E119C; else goto L_028E11A4;
L_028E119C: ; // 0x28e119c
/* 028E119C */ _t23 = cpu->r[30] + 0x00000008u;
/* 028E119C */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028E11A0 */ _t24 = cpu->r[11] + cpu->r[8];
/* 028E11A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
L_028E11A4: ; // 0x28e11a4
/* 028E11A4 */ cpu->r[3] = cpu->r[31];
/* 028E11A8 */ Gambit_fn_028E0BD4(cpu);
/* 028E11AC */ cpu->r[3] = cpu->r[29];
/* 028E11B0 */ Gambit_fn_02837030(cpu);
/* 028E11B4 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028E11B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
/* 028E11B8 */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028E11B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028E11BC */ cpu->r[3] = cpu->r[31];
/* 028E11C0 */ _t27 = cpu->r[1] + 0x00000010u;
/* 028E11C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028E11C4 */ cpu->lr = cpu->r[0];
/* 028E11C8 */ _t28 = cpu->r[1] + 0x00000014u;
/* 028E11C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
/* 028E11CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E11D0 */ return;
L_028E11D4: ; // 0x28e11d4
/* 028E11D4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
/* 028E11D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028E11D8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E11DC */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028E11E0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E11E0 */ _t30 = _t29 & 0x00000001u;
/* 028E11E0 */ if (_t30) goto L_028E11E4; else goto L_028E1164;
L_028E11E4: ; // 0x28e11e4
/* 028E11E4 */ cpu->r[4] = 0x00000000u;
/* 028E11E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
/* 028E11EC */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E11EC */ _t32 = _t31 & 0x00000001u;
/* 028E11EC */ if (_t32) goto L_028E11F0; else goto L_028E1278;
L_028E11F0: ; // 0x28e11f0
/* 028E11F0 */ _t33 = cpu->r[30] + 0x00000000u;
/* 028E11F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028E11F4 */ cpu->r[8] = 0x00000000u;
L_028E11F8: ; // 0x28e11f8
/* 028E11F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E11FC */ cpu->r[12] = 0x00000000u;
/* 028E1200 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1200 */ _t35 = _t34 & 0x00000001u;
/* 028E1200 */ if (_t35) goto L_028E1204; else goto L_028E120C;
L_028E1204: ; // 0x28e1204
/* 028E1204 */ _t36 = cpu->r[30] + 0x00000008u;
/* 028E1204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
/* 028E1208 */ _t37 = cpu->r[9] + cpu->r[8];
/* 028E1208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
L_028E120C: ; // 0x28e120c
/* 028E120C */ _t38 = cpu->r[12] + 0x00000000u;
/* 028E120C */ cpu->r[10] = rbrew_read8(cpu->mem, _t38);
/* 028E1210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E1214 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1214 */ _t40 = _t39 & 0x00000001u;
/* 028E1214 */ if (_t40) goto L_028E1218; else goto L_028E1268;
L_028E1218: ; // 0x28e1218
/* 028E1218 */ cpu->r[3] = cpu->r[30];
/* 028E121C */ Gambit_fn_028E10F0(cpu);
/* 028E1220 */ _t41 = cpu->r[30] + 0x00000000u;
/* 028E1220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028E1224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028E1228 */ cpu->r[31] = 0x00000000u;
/* 028E122C */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E122C */ _t43 = _t42 & 0x00000001u;
/* 028E122C */ if (_t43) goto L_028E1230; else goto L_028E1238;
L_028E1230: ; // 0x28e1230
/* 028E1230 */ _t44 = cpu->r[30] + 0x00000008u;
/* 028E1230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028E1234 */ _t45 = cpu->r[12] + cpu->r[8];
/* 028E1234 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
L_028E1238: ; // 0x28e1238
/* 028E1238 */ cpu->r[3] = cpu->r[31];
/* 028E123C */ Gambit_fn_028E0BD4(cpu);
/* 028E1240 */ cpu->r[3] = cpu->r[29];
/* 028E1244 */ Gambit_fn_02837030(cpu);
/* 028E1248 */ _t46 = cpu->r[1] + 0x0000000Cu;
/* 028E1248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
/* 028E124C */ _t47 = cpu->r[1] + 0x0000001Cu;
/* 028E124C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028E1250 */ cpu->r[3] = cpu->r[31];
/* 028E1254 */ _t48 = cpu->r[1] + 0x00000010u;
/* 028E1254 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
/* 028E1258 */ cpu->lr = cpu->r[0];
/* 028E125C */ _t49 = cpu->r[1] + 0x00000014u;
/* 028E125C */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
/* 028E1260 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E1264 */ return;
L_028E1268: ; // 0x28e1268
/* 028E1268 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E126C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
/* 028E1270 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028E1274 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1274 */ _t51 = _t50 & 0x00000001u;
/* 028E1274 */ if (_t51) goto L_028E11F8; else goto L_028E1278;
L_028E1278: ; // 0x28e1278
/* 028E1278 */ cpu->r[3] = cpu->r[29];
/* 028E127C */ Gambit_fn_02837030(cpu);
L_028E1280: ; // 0x28e1280
/* 028E1280 */ _t52 = cpu->r[1] + 0x0000000Cu;
/* 028E1280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
/* 028E1284 */ _t53 = cpu->r[1] + 0x0000001Cu;
/* 028E1284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028E1288 */ _t54 = cpu->r[1] + 0x00000010u;
/* 028E1288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
/* 028E128C */ cpu->lr = cpu->r[0];
/* 028E1290 */ _t55 = cpu->r[1] + 0x00000014u;
/* 028E1290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
/* 028E1294 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E1298 */ cpu->r[3] = 0x00000000u;
/* 028E129C */ return;
}
// fn_028E12A0 @ 0x28e12a0
void Gambit_fn_028E12A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028E12A0: ; // 0x28e12a0
/* 028E12A0 */ cpu->r[0] = cpu->lr;
/* 028E12A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E12A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E12A4 */ cpu->r[1] = _t0;
/* 028E12A8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E12A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E12AC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E12AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E12B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E12B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E12B4 */ _t4 = cpu->r[3] + 0x00000008u;
/* 028E12B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E12B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E12BC */ cpu->r[30] = cpu->r[4];
/* 028E12C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E12C0 */ _t6 = _t5 & 0x00000001u;
/* 028E12C0 */ if (_t6) goto L_028E12E8; else goto L_028E12C4;
L_028E12C4: ; // 0x28e12c4
/* 028E12C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E12C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E12C8 */ _t8 = _t7 & 0x00000001u;
/* 028E12C8 */ if (_t8) goto L_028E12E8; else goto L_028E12CC;
L_028E12CC: ; // 0x28e12cc
/* 028E12CC */ cpu->r[31] = cpu->r[3] + 0x00000010u;
/* 028E12D0 */ cpu->r[3] = cpu->r[31];
/* 028E12D4 */ Gambit_fn_02836FFC(cpu);
/* 028E12D8 */ cpu->r[0] = 0x00000000u;
/* 028E12DC */ cpu->r[3] = cpu->r[31];
/* 028E12E0 */ _t9 = cpu->r[30] + 0x00000000u;
/* 028E12E0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
/* 028E12E4 */ Gambit_fn_02837030(cpu);
L_028E12E8: ; // 0x28e12e8
/* 028E12E8 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028E12E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E12EC */ _t11 = cpu->r[1] + 0x00000008u;
/* 028E12EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028E12F0 */ cpu->lr = cpu->r[0];
/* 028E12F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028E12F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028E12F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E12FC */ return;
}
// fn_028E12A4 @ 0x28e12a4
void Gambit_fn_028E12A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028E12A4: ; // 0x28e12a4
/* 028E12A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E12A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E12A4 */ cpu->r[1] = _t0;
/* 028E12A8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E12A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E12AC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E12AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E12B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E12B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E12B4 */ _t4 = cpu->r[3] + 0x00000008u;
/* 028E12B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E12B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E12BC */ cpu->r[30] = cpu->r[4];
/* 028E12C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E12C0 */ _t6 = _t5 & 0x00000001u;
/* 028E12C0 */ if (_t6) goto L_028E12E8; else goto L_028E12C4;
L_028E12C4: ; // 0x28e12c4
/* 028E12C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E12C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E12C8 */ _t8 = _t7 & 0x00000001u;
/* 028E12C8 */ if (_t8) goto L_028E12E8; else goto L_028E12CC;
L_028E12CC: ; // 0x28e12cc
/* 028E12CC */ cpu->r[31] = cpu->r[3] + 0x00000010u;
/* 028E12D0 */ cpu->r[3] = cpu->r[31];
/* 028E12D4 */ Gambit_fn_02836FFC(cpu);
/* 028E12D8 */ cpu->r[0] = 0x00000000u;
/* 028E12DC */ cpu->r[3] = cpu->r[31];
/* 028E12E0 */ _t9 = cpu->r[30] + 0x00000000u;
/* 028E12E0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
/* 028E12E4 */ Gambit_fn_02837030(cpu);
L_028E12E8: ; // 0x28e12e8
/* 028E12E8 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028E12E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E12EC */ _t11 = cpu->r[1] + 0x00000008u;
/* 028E12EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028E12F0 */ cpu->lr = cpu->r[0];
/* 028E12F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028E12F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028E12F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E12FC */ return;
}
// fn_028E1300 @ 0x28e1300
void Gambit_fn_028E1300(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E1300: ; // 0x28e1300
/* 028E1300 */ cpu->r[0] = cpu->lr;
/* 028E1304 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E1304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1304 */ cpu->r[1] = _t0;
/* 028E1308 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1308 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E130C */ cpu->r[31] = cpu->r[3];
/* 028E1310 */ cpu->r[3] = 0x101F0000u;
/* 028E1314 */ cpu->r[3] = cpu->r[3] + 0x00005E00u;
/* 028E1318 */ cpu->r[4] = cpu->r[31];
/* 028E131C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E131C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E1320 */ Gambit_fn_02C69510(cpu);
/* 028E1324 */ cpu->r[11] = 0x101F0000u;
/* 028E1328 */ _t3 = cpu->r[11] + 0x00006338u;
/* 028E1328 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028E1328 */ cpu->r[11] = _t3;
/* 028E132C */ _t4 = cpu->r[31] + 0x00000030u;
/* 028E132C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
/* 028E1330 */ _t5 = cpu->r[11] + 0x00000004u;
/* 028E1330 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028E1334 */ cpu->r[0] = 0x00000001u;
/* 028E1338 */ _t6 = cpu->r[31] + 0x00000034u;
/* 028E1338 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028E133C */ _t7 = cpu->r[11] + 0x00000008u;
/* 028E133C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E1340 */ _t8 = cpu->r[31] + 0x0000003Cu;
/* 028E1340 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
/* 028E1344 */ _t9 = cpu->r[31] + 0x00000038u;
/* 028E1344 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028E1348 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
/* 028E134C */ _t10 = cpu->r[31] + 0x0000003Du;
/* 028E134C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
/* 028E1350 */ Gambit_fn_028DEEDC(cpu);
/* 028E1354 */ cpu->r[0] = cpu->r[31] + 0x00000030u;
/* 028E1358 */ _t11 = cpu->r[31] + 0x00000040u;
/* 028E1358 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
/* 028E135C */ _t12 = cpu->r[31] + 0x00000044u;
/* 028E135C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028E1360 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E1360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E1364 */ cpu->lr = cpu->r[0];
/* 028E1368 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E1368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E136C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E1370 */ return;
}
// fn_028E1304 @ 0x28e1304
void Gambit_fn_028E1304(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E1304: ; // 0x28e1304
/* 028E1304 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E1304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1304 */ cpu->r[1] = _t0;
/* 028E1308 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1308 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E130C */ cpu->r[31] = cpu->r[3];
/* 028E1310 */ cpu->r[3] = 0x101F0000u;
/* 028E1314 */ cpu->r[3] = cpu->r[3] + 0x00005E00u;
/* 028E1318 */ cpu->r[4] = cpu->r[31];
/* 028E131C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E131C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E1320 */ Gambit_fn_02C69510(cpu);
/* 028E1324 */ cpu->r[11] = 0x101F0000u;
/* 028E1328 */ _t3 = cpu->r[11] + 0x00006338u;
/* 028E1328 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028E1328 */ cpu->r[11] = _t3;
/* 028E132C */ _t4 = cpu->r[31] + 0x00000030u;
/* 028E132C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
/* 028E1330 */ _t5 = cpu->r[11] + 0x00000004u;
/* 028E1330 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028E1334 */ cpu->r[0] = 0x00000001u;
/* 028E1338 */ _t6 = cpu->r[31] + 0x00000034u;
/* 028E1338 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028E133C */ _t7 = cpu->r[11] + 0x00000008u;
/* 028E133C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E1340 */ _t8 = cpu->r[31] + 0x0000003Cu;
/* 028E1340 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
/* 028E1344 */ _t9 = cpu->r[31] + 0x00000038u;
/* 028E1344 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028E1348 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
/* 028E134C */ _t10 = cpu->r[31] + 0x0000003Du;
/* 028E134C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
/* 028E1350 */ Gambit_fn_028DEEDC(cpu);
/* 028E1354 */ cpu->r[0] = cpu->r[31] + 0x00000030u;
/* 028E1358 */ _t11 = cpu->r[31] + 0x00000040u;
/* 028E1358 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
/* 028E135C */ _t12 = cpu->r[31] + 0x00000044u;
/* 028E135C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028E1360 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E1360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E1364 */ cpu->lr = cpu->r[0];
/* 028E1368 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E1368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E136C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E1370 */ return;
}
// fn_028E1374 @ 0x28e1374
void Gambit_fn_028E1374(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E1374: ; // 0x28e1374
/* 028E1374 */ cpu->r[0] = cpu->lr;
/* 028E1378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E1378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1378 */ cpu->r[1] = _t0;
/* 028E137C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E137C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E1380 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E1384 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E1384 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E1388 */ cpu->r[31] = cpu->r[3];
/* 028E1388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E138C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E138C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E1390 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1390 */ _t6 = _t5 & 0x00000001u;
/* 028E1390 */ if (_t6) goto L_028E1394; else goto L_028E13A4;
L_028E1394: ; // 0x28e1394
/* 028E1394 */ cpu->r[3] = 0x0000005Cu;
/* 028E1398 */ Gambit_fn_02801A78(cpu);
/* 028E139C */ cpu->r[31] = cpu->r[3];
/* 028E139C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E13A0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13A0 */ _t8 = _t7 & 0x00000001u;
/* 028E13A0 */ if (_t8) goto L_028E1434; else goto L_028E13A4;
L_028E13A4: ; // 0x28e13a4
/* 028E13A4 */ cpu->r[12] = 0x10140000u;
/* 028E13A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFB610u;
/* 028E13AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E13B0 */ _t9 = cpu->r[31] + 0x00000058u;
/* 028E13B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028E13B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13B4 */ _t11 = _t10 & 0x00000001u;
/* 028E13B4 */ if (_t11) goto L_028E13B8; else goto L_028E13C0;
L_028E13B8: ; // 0x28e13b8
/* 028E13B8 */ cpu->r[3] = 0x00000030u;
/* 028E13BC */ Gambit_fn_02801A78(cpu);
L_028E13C0: ; // 0x28e13c0
/* 028E13C0 */ cpu->r[0] = cpu->r[31] + 0x00000030u;
/* 028E13C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E13C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13C4 */ _t13 = _t12 & 0x00000001u;
/* 028E13C4 */ if (_t13) goto L_028E13C8; else goto L_028E13D0;
L_028E13C8: ; // 0x28e13c8
/* 028E13C8 */ cpu->r[3] = 0x0000000Cu;
/* 028E13CC */ Gambit_fn_02801A78(cpu);
L_028E13D0: ; // 0x28e13d0
/* 028E13D0 */ cpu->r[29] = cpu->r[31] + 0x00000040u;
/* 028E13D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E13D4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13D4 */ _t15 = _t14 & 0x00000001u;
/* 028E13D4 */ if (_t15) goto L_028E13D8; else goto L_028E13E8;
L_028E13D8: ; // 0x28e13d8
/* 028E13D8 */ cpu->r[3] = 0x00000018u;
/* 028E13DC */ Gambit_fn_02801A78(cpu);
/* 028E13E0 */ cpu->r[29] = cpu->r[3];
/* 028E13E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E13E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13E4 */ _t17 = _t16 & 0x00000001u;
/* 028E13E4 */ if (_t17) goto L_028E142C; else goto L_028E13E8;
L_028E13E8: ; // 0x28e13e8
/* 028E13E8 */ cpu->r[3] = cpu->r[29] + 0x00000014u;
/* 028E13E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E13EC */ cpu->r[30] = 0x00000000u;
/* 028E13F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13F0 */ _t19 = _t18 & 0x00000001u;
/* 028E13F0 */ if (_t19) goto L_028E13F4; else goto L_028E1404;
L_028E13F4: ; // 0x28e13f4
/* 028E13F4 */ cpu->r[3] = 0x00000002u;
/* 028E13F8 */ Gambit_fn_02801A78(cpu);
/* 028E13FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1400 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1400 */ _t21 = _t20 & 0x00000001u;
/* 028E1400 */ if (_t21) goto L_028E1408; else goto L_028E1404;
L_028E1404: ; // 0x28e1404
/* 028E1404 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028E1404 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[30]);
L_028E1408: ; // 0x28e1408
/* 028E1408 */ cpu->r[3] = cpu->r[29] + 0x00000016u;
/* 028E1408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E140C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E140C */ _t24 = _t23 & 0x00000001u;
/* 028E140C */ if (_t24) goto L_028E1410; else goto L_028E1420;
L_028E1410: ; // 0x28e1410
/* 028E1410 */ cpu->r[3] = 0x00000002u;
/* 028E1414 */ Gambit_fn_02801A78(cpu);
/* 028E1418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E141C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E141C */ _t26 = _t25 & 0x00000001u;
/* 028E141C */ if (_t26) goto L_028E1424; else goto L_028E1420;
L_028E1420: ; // 0x28e1420
/* 028E1420 */ _t27 = cpu->r[3] + 0x00000000u;
/* 028E1420 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[30]);
L_028E1424: ; // 0x28e1424
/* 028E1424 */ cpu->r[3] = cpu->r[29];
/* 028E1428 */ Gambit_fn_028DEEDC(cpu);
L_028E142C: ; // 0x28e142c
/* 028E142C */ cpu->r[3] = cpu->r[31];
/* 028E1430 */ Gambit_fn_028E1300(cpu);
L_028E1434: ; // 0x28e1434
/* 028E1434 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028E1434 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028E1438 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028E1438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028E143C */ cpu->r[3] = cpu->r[31];
/* 028E1440 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028E1440 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028E1444 */ cpu->lr = cpu->r[0];
/* 028E1448 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028E1448 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028E144C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E1450 */ return;
}
// fn_028E1378 @ 0x28e1378
void Gambit_fn_028E1378(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E1378: ; // 0x28e1378
/* 028E1378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E1378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1378 */ cpu->r[1] = _t0;
/* 028E137C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E137C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E1380 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E1384 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E1384 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E1388 */ cpu->r[31] = cpu->r[3];
/* 028E1388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E138C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E138C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E1390 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1390 */ _t6 = _t5 & 0x00000001u;
/* 028E1390 */ if (_t6) goto L_028E1394; else goto L_028E13A4;
L_028E1394: ; // 0x28e1394
/* 028E1394 */ cpu->r[3] = 0x0000005Cu;
/* 028E1398 */ Gambit_fn_02801A78(cpu);
/* 028E139C */ cpu->r[31] = cpu->r[3];
/* 028E139C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E13A0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13A0 */ _t8 = _t7 & 0x00000001u;
/* 028E13A0 */ if (_t8) goto L_028E1434; else goto L_028E13A4;
L_028E13A4: ; // 0x28e13a4
/* 028E13A4 */ cpu->r[12] = 0x10140000u;
/* 028E13A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFB610u;
/* 028E13AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E13B0 */ _t9 = cpu->r[31] + 0x00000058u;
/* 028E13B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028E13B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13B4 */ _t11 = _t10 & 0x00000001u;
/* 028E13B4 */ if (_t11) goto L_028E13B8; else goto L_028E13C0;
L_028E13B8: ; // 0x28e13b8
/* 028E13B8 */ cpu->r[3] = 0x00000030u;
/* 028E13BC */ Gambit_fn_02801A78(cpu);
L_028E13C0: ; // 0x28e13c0
/* 028E13C0 */ cpu->r[0] = cpu->r[31] + 0x00000030u;
/* 028E13C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E13C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13C4 */ _t13 = _t12 & 0x00000001u;
/* 028E13C4 */ if (_t13) goto L_028E13C8; else goto L_028E13D0;
L_028E13C8: ; // 0x28e13c8
/* 028E13C8 */ cpu->r[3] = 0x0000000Cu;
/* 028E13CC */ Gambit_fn_02801A78(cpu);
L_028E13D0: ; // 0x28e13d0
/* 028E13D0 */ cpu->r[29] = cpu->r[31] + 0x00000040u;
/* 028E13D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E13D4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13D4 */ _t15 = _t14 & 0x00000001u;
/* 028E13D4 */ if (_t15) goto L_028E13D8; else goto L_028E13E8;
L_028E13D8: ; // 0x28e13d8
/* 028E13D8 */ cpu->r[3] = 0x00000018u;
/* 028E13DC */ Gambit_fn_02801A78(cpu);
/* 028E13E0 */ cpu->r[29] = cpu->r[3];
/* 028E13E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E13E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13E4 */ _t17 = _t16 & 0x00000001u;
/* 028E13E4 */ if (_t17) goto L_028E142C; else goto L_028E13E8;
L_028E13E8: ; // 0x28e13e8
/* 028E13E8 */ cpu->r[3] = cpu->r[29] + 0x00000014u;
/* 028E13E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E13EC */ cpu->r[30] = 0x00000000u;
/* 028E13F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E13F0 */ _t19 = _t18 & 0x00000001u;
/* 028E13F0 */ if (_t19) goto L_028E13F4; else goto L_028E1404;
L_028E13F4: ; // 0x28e13f4
/* 028E13F4 */ cpu->r[3] = 0x00000002u;
/* 028E13F8 */ Gambit_fn_02801A78(cpu);
/* 028E13FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1400 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1400 */ _t21 = _t20 & 0x00000001u;
/* 028E1400 */ if (_t21) goto L_028E1408; else goto L_028E1404;
L_028E1404: ; // 0x28e1404
/* 028E1404 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028E1404 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[30]);
L_028E1408: ; // 0x28e1408
/* 028E1408 */ cpu->r[3] = cpu->r[29] + 0x00000016u;
/* 028E1408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E140C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E140C */ _t24 = _t23 & 0x00000001u;
/* 028E140C */ if (_t24) goto L_028E1410; else goto L_028E1420;
L_028E1410: ; // 0x28e1410
/* 028E1410 */ cpu->r[3] = 0x00000002u;
/* 028E1414 */ Gambit_fn_02801A78(cpu);
/* 028E1418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E141C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E141C */ _t26 = _t25 & 0x00000001u;
/* 028E141C */ if (_t26) goto L_028E1424; else goto L_028E1420;
L_028E1420: ; // 0x28e1420
/* 028E1420 */ _t27 = cpu->r[3] + 0x00000000u;
/* 028E1420 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[30]);
L_028E1424: ; // 0x28e1424
/* 028E1424 */ cpu->r[3] = cpu->r[29];
/* 028E1428 */ Gambit_fn_028DEEDC(cpu);
L_028E142C: ; // 0x28e142c
/* 028E142C */ cpu->r[3] = cpu->r[31];
/* 028E1430 */ Gambit_fn_028E1300(cpu);
L_028E1434: ; // 0x28e1434
/* 028E1434 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028E1434 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028E1438 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028E1438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028E143C */ cpu->r[3] = cpu->r[31];
/* 028E1440 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028E1440 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028E1444 */ cpu->lr = cpu->r[0];
/* 028E1448 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028E1448 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028E144C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E1450 */ return;
}
// fn_028E1454 @ 0x28e1454
void Gambit_fn_028E1454(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_028E1454: ; // 0x28e1454
/* 028E1454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1458 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1458 */ _t17 = _t16 & 0x00000001u;
/* 028E1458 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E1458 */ goto L_028E145C;
L_028E145C: ; // 0x28e145c
/* 028E145C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E145C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1460 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1460 */ _t19 = _t18 & 0x00000001u;
/* 028E1460 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E1460 */ goto L_028E1464;
L_028E1464: ; // 0x28e1464
/* 028E1464 */ goto L_02801BB0;
}
// fn_028E1468 @ 0x28e1468
void Gambit_fn_028E1468(CPUState* cpu) {
uint32_t _t0;
L_028E1468: ; // 0x28e1468
/* 028E1468 */ _t0 = cpu->r[3] + 0x0000003Cu;
/* 028E1468 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
/* 028E146C */ return;
}
// fn_028E1470 @ 0x28e1470
void Gambit_fn_028E1470(CPUState* cpu) {
uint32_t _t0;
L_028E1470: ; // 0x28e1470
/* 028E1470 */ _t0 = cpu->r[3] + 0x0000003Du;
/* 028E1470 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
/* 028E1474 */ return;
}
// fn_028E1478 @ 0x28e1478
void Gambit_fn_028E1478(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E1478: ; // 0x28e1478
/* 028E1478 */ cpu->r[0] = cpu->lr;
/* 028E147C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E147C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E147C */ cpu->r[1] = _t0;
/* 028E1480 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1480 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E1484 */ cpu->r[31] = cpu->r[3];
/* 028E1488 */ cpu->r[3] = cpu->r[4];
/* 028E148C */ cpu->r[4] = cpu->r[31];
/* 028E1490 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1490 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E1494 */ Gambit_fn_02C69510(cpu);
/* 028E1498 */ _t3 = cpu->r[31] + 0x00000040u;
/* 028E1498 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E149C */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E149C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E14A0 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028E14A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028E14A4 */ cpu->lr = cpu->r[0];
/* 028E14A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E14AC */ return;
}
// fn_028E147C @ 0x28e147c
void Gambit_fn_028E147C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E147C: ; // 0x28e147c
/* 028E147C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E147C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E147C */ cpu->r[1] = _t0;
/* 028E1480 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1480 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E1484 */ cpu->r[31] = cpu->r[3];
/* 028E1488 */ cpu->r[3] = cpu->r[4];
/* 028E148C */ cpu->r[4] = cpu->r[31];
/* 028E1490 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1490 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E1494 */ Gambit_fn_02C69510(cpu);
/* 028E1498 */ _t3 = cpu->r[31] + 0x00000040u;
/* 028E1498 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E149C */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E149C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E14A0 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028E14A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028E14A4 */ cpu->lr = cpu->r[0];
/* 028E14A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E14AC */ return;
}
// fn_028E14B0 @ 0x28e14b0
void Gambit_fn_028E14B0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028E14B0: ; // 0x28e14b0
/* 028E14B0 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028E14B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028E14B4 */ _t1 = cpu->r[3] + 0x00000030u;
/* 028E14B4 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
/* 028E14B8 */ _t2 = cpu->r[4] + 0x00000004u;
/* 028E14B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028E14BC */ cpu->r[0] = cpu->r[3] + 0x00000030u;
/* 028E14C0 */ _t3 = cpu->r[3] + 0x00000034u;
/* 028E14C0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
/* 028E14C4 */ _t4 = cpu->r[4] + 0x00000008u;
/* 028E14C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028E14C8 */ _t5 = cpu->r[3] + 0x00000044u;
/* 028E14C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E14CC */ _t6 = cpu->r[3] + 0x00000038u;
/* 028E14CC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028E14D0 */ return;
}
// fn_028E14D4 @ 0x28e14d4
void Gambit_fn_028E14D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E14D4: ; // 0x28e14d4
/* 028E14D4 */ cpu->r[0] = cpu->lr;
/* 028E14D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E14D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E14D8 */ cpu->r[1] = _t0;
/* 028E14DC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E14DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E14E0 */ cpu->r[31] = cpu->r[3];
/* 028E14E4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E14E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E14E8 */ cpu->r[0] = cpu->r[4];
/* 028E14EC */ cpu->r[4] = cpu->r[5];
/* 028E14F0 */ cpu->r[5] = cpu->r[0];
/* 028E14F4 */ Gambit_fn_023D860C(cpu);
/* 028E14F8 */ _t3 = cpu->r[31] + 0x00000040u;
/* 028E14F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E14FC */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E14FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E1500 */ cpu->lr = cpu->r[0];
/* 028E1504 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028E1504 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028E1508 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E150C */ return;
}
// fn_028E14D8 @ 0x28e14d8
void Gambit_fn_028E14D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E14D8: ; // 0x28e14d8
/* 028E14D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E14D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E14D8 */ cpu->r[1] = _t0;
/* 028E14DC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E14DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E14E0 */ cpu->r[31] = cpu->r[3];
/* 028E14E4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E14E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E14E8 */ cpu->r[0] = cpu->r[4];
/* 028E14EC */ cpu->r[4] = cpu->r[5];
/* 028E14F0 */ cpu->r[5] = cpu->r[0];
/* 028E14F4 */ Gambit_fn_023D860C(cpu);
/* 028E14F8 */ _t3 = cpu->r[31] + 0x00000040u;
/* 028E14F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E14FC */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E14FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E1500 */ cpu->lr = cpu->r[0];
/* 028E1504 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028E1504 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028E1508 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E150C */ return;
}
// fn_028E1510 @ 0x28e1510
void Gambit_fn_028E1510(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028E1510: ; // 0x28e1510
/* 028E1510 */ cpu->r[0] = cpu->lr;
/* 028E1514 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E1514 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1514 */ cpu->r[1] = _t0;
/* 028E1518 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1518 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E151C */ cpu->r[31] = cpu->r[3];
/* 028E1520 */ cpu->r[3] = 0x101D0000u;
/* 028E1524 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1524 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E1528 */ _t3 = cpu->r[3] + 0xFFFF9ACCu;
/* 028E1528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028E152C */ Gambit_fn_028DBAB0(cpu);
/* 028E1530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1534 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1534 */ _t5 = _t4 & 0x00000001u;
/* 028E1534 */ if (_t5) goto L_028E153C; else goto L_028E1538;
L_028E1538: ; // 0x28e1538
/* 028E1538 */ _t6 = cpu->r[31] + 0x00000048u;
/* 028E1538 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
L_028E153C: ; // 0x28e153c
/* 028E153C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028E153C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E1540 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E1540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E1544 */ cpu->lr = cpu->r[0];
/* 028E1548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E154C */ return;
}
// fn_028E1514 @ 0x28e1514
void Gambit_fn_028E1514(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028E1514: ; // 0x28e1514
/* 028E1514 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E1514 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1514 */ cpu->r[1] = _t0;
/* 028E1518 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1518 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E151C */ cpu->r[31] = cpu->r[3];
/* 028E1520 */ cpu->r[3] = 0x101D0000u;
/* 028E1524 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1524 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E1528 */ _t3 = cpu->r[3] + 0xFFFF9ACCu;
/* 028E1528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028E152C */ Gambit_fn_028DBAB0(cpu);
/* 028E1530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1534 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1534 */ _t5 = _t4 & 0x00000001u;
/* 028E1534 */ if (_t5) goto L_028E153C; else goto L_028E1538;
L_028E1538: ; // 0x28e1538
/* 028E1538 */ _t6 = cpu->r[31] + 0x00000048u;
/* 028E1538 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
L_028E153C: ; // 0x28e153c
/* 028E153C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028E153C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E1540 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E1540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E1544 */ cpu->lr = cpu->r[0];
/* 028E1548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E154C */ return;
}
// fn_028E1550 @ 0x28e1550
void Gambit_fn_028E1550(CPUState* cpu) {
uint32_t _t0;
L_028E1550: ; // 0x28e1550
/* 028E1550 */ _t0 = cpu->r[3] + 0x0000004Cu;
/* 028E1550 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028E1554 */ return;
}
// fn_028E1558 @ 0x28e1558
void Gambit_fn_028E1558(CPUState* cpu) {
uint32_t _t0;
L_028E1558: ; // 0x28e1558
/* 028E1558 */ _t0 = cpu->r[3] + 0x00000050u;
/* 028E1558 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
/* 028E155C */ return;
}
// fn_028E1560 @ 0x28e1560
void Gambit_fn_028E1560(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E1560: ; // 0x28e1560
/* 028E1560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E1564 */ _t0 = cpu->r[3] + 0x00000054u;
/* 028E1564 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
/* 028E1568 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1568 */ _t2 = _t1 & 0x00000001u;
/* 028E1568 */ if (_t2) goto L_028E1578; else goto L_028E156C;
L_028E156C: ; // 0x28e156c
/* 028E156C */ cpu->r[0] = cpu->r[0] | 0x00000002u;
/* 028E1570 */ _t3 = cpu->r[3] + 0x00000054u;
/* 028E1570 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
/* 028E1574 */ return;
L_028E1578: ; // 0x28e1578
/* 028E1578 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du);
/* 028E157C */ _t4 = cpu->r[3] + 0x00000054u;
/* 028E157C */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
/* 028E1580 */ return;
}
// fn_028E1584 @ 0x28e1584
void Gambit_fn_028E1584(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E1584: ; // 0x28e1584
/* 028E1584 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028E1584 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028E1588 */ _t1 = cpu->r[3] + 0x00000040u;
/* 028E1588 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
/* 028E158C */ _t2 = cpu->r[4] + 0x00000004u;
/* 028E158C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028E1590 */ _t3 = cpu->r[3] + 0x00000044u;
/* 028E1590 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
/* 028E1594 */ _t4 = cpu->r[4] + 0x00000008u;
/* 028E1594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E1598 */ _t5 = cpu->r[3] + 0x00000048u;
/* 028E1598 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E159C */ _t6 = cpu->r[4] + 0x0000000Cu;
/* 028E159C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028E15A0 */ _t7 = cpu->r[3] + 0x0000004Cu;
/* 028E15A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028E15A4 */ _t8 = cpu->r[4] + 0x00000010u;
/* 028E15A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E15A8 */ _t9 = cpu->r[3] + 0x00000050u;
/* 028E15A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028E15AC */ _t10 = cpu->r[4] + 0x00000014u;
/* 028E15AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E15B0 */ _t11 = cpu->r[3] + 0x00000054u;
/* 028E15B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028E15B4 */ return;
}
// fn_028E15B8 @ 0x28e15b8
void Gambit_fn_028E15B8(CPUState* cpu) {
uint32_t _t0, _t1, _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_028E15B8: ; // 0x28e15b8
/* 028E15B8 */ cpu->r[0] = cpu->lr;
/* 028E15BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E15BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E15BC */ cpu->r[1] = _t0;
/* 028E15C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E15C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E15C4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E15C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E15C8 */ cpu->r[31] = cpu->r[3];
/* 028E15C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E15CC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E15CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E15D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E15D0 */ _t5 = _t4 & 0x00000001u;
/* 028E15D0 */ if (_t5) goto L_028E15D4; else goto L_028E15E4;
L_028E15D4: ; // 0x28e15d4
/* 028E15D4 */ cpu->r[3] = 0x0000001Cu;
/* 028E15D8 */ Gambit_fn_02801A78(cpu);
/* 028E15DC */ cpu->r[31] = cpu->r[3];
/* 028E15DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E15E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E15E0 */ _t7 = _t6 & 0x00000001u;
/* 028E15E0 */ if (_t7) goto L_028E163C; else goto L_028E15E4;
L_028E15E4: ; // 0x28e15e4
/* 028E15E4 */ cpu->r[3] = cpu->r[31];
/* 028E15E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E15E8 */ cpu->r[30] = 0x00000000u;
/* 028E15EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E15EC */ _t9 = _t8 & 0x00000001u;
/* 028E15EC */ if (_t9) goto L_028E15F0; else goto L_028E1600;
L_028E15F0: ; // 0x28e15f0
/* 028E15F0 */ cpu->r[3] = 0x00000010u;
/* 028E15F4 */ Gambit_fn_02801A78(cpu);
/* 028E15F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E15FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E15FC */ _t11 = _t10 & 0x00000001u;
/* 028E15FC */ if (_t11) goto L_028E1610; else goto L_028E1600;
L_028E1600: ; // 0x28e1600
/* 028E1600 */ _t12 = cpu->r[3] + 0x00000004u;
/* 028E1600 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
/* 028E1604 */ _t13 = cpu->r[3] + 0x00000008u;
/* 028E1604 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
/* 028E1608 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028E1608 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028E160C */ _t15 = cpu->r[3] + 0x0000000Cu;
/* 028E160C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028E1610: ; // 0x28e1610
/* 028E1610 */ cpu->r[0] = 0x10140000u;
/* 028E1614 */ cpu->r[0] = cpu->r[0] + 0xFFFFB620u;
/* 028E1618 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E1618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E161C */ _t16 = cpu->r[31] + 0x00000010u;
/* 028E161C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E1620 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1620 */ _t18 = _t17 & 0x00000001u;
/* 028E1620 */ if (_t18) goto L_028E1624; else goto L_028E1634;
L_028E1624: ; // 0x28e1624
/* 028E1624 */ cpu->r[3] = 0x00000008u;
/* 028E1628 */ Gambit_fn_02801A78(cpu);
/* 028E162C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1630 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1630 */ _t20 = _t19 & 0x00000001u;
/* 028E1630 */ if (_t20) goto L_028E163C; else goto L_028E1634;
L_028E1634: ; // 0x28e1634
/* 028E1634 */ _t21 = cpu->r[3] + 0x00000004u;
/* 028E1634 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E1638 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028E1638 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
L_028E163C: ; // 0x28e163c
/* 028E163C */ _t23 = cpu->r[1] + 0x00000014u;
/* 028E163C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028E1640 */ cpu->r[3] = cpu->r[31];
/* 028E1644 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E1644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028E1648 */ cpu->lr = cpu->r[0];
/* 028E164C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E164C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028E1650 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E1654 */ return;
}
// fn_028E15BC @ 0x28e15bc
void Gambit_fn_028E15BC(CPUState* cpu) {
uint32_t _t0, _t1, _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_028E15BC: ; // 0x28e15bc
/* 028E15BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E15BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E15BC */ cpu->r[1] = _t0;
/* 028E15C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E15C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E15C4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E15C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E15C8 */ cpu->r[31] = cpu->r[3];
/* 028E15C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E15CC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E15CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E15D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E15D0 */ _t5 = _t4 & 0x00000001u;
/* 028E15D0 */ if (_t5) goto L_028E15D4; else goto L_028E15E4;
L_028E15D4: ; // 0x28e15d4
/* 028E15D4 */ cpu->r[3] = 0x0000001Cu;
/* 028E15D8 */ Gambit_fn_02801A78(cpu);
/* 028E15DC */ cpu->r[31] = cpu->r[3];
/* 028E15DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E15E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E15E0 */ _t7 = _t6 & 0x00000001u;
/* 028E15E0 */ if (_t7) goto L_028E163C; else goto L_028E15E4;
L_028E15E4: ; // 0x28e15e4
/* 028E15E4 */ cpu->r[3] = cpu->r[31];
/* 028E15E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E15E8 */ cpu->r[30] = 0x00000000u;
/* 028E15EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E15EC */ _t9 = _t8 & 0x00000001u;
/* 028E15EC */ if (_t9) goto L_028E15F0; else goto L_028E1600;
L_028E15F0: ; // 0x28e15f0
/* 028E15F0 */ cpu->r[3] = 0x00000010u;
/* 028E15F4 */ Gambit_fn_02801A78(cpu);
/* 028E15F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E15FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E15FC */ _t11 = _t10 & 0x00000001u;
/* 028E15FC */ if (_t11) goto L_028E1610; else goto L_028E1600;
L_028E1600: ; // 0x28e1600
/* 028E1600 */ _t12 = cpu->r[3] + 0x00000004u;
/* 028E1600 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
/* 028E1604 */ _t13 = cpu->r[3] + 0x00000008u;
/* 028E1604 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
/* 028E1608 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028E1608 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028E160C */ _t15 = cpu->r[3] + 0x0000000Cu;
/* 028E160C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028E1610: ; // 0x28e1610
/* 028E1610 */ cpu->r[0] = 0x10140000u;
/* 028E1614 */ cpu->r[0] = cpu->r[0] + 0xFFFFB620u;
/* 028E1618 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E1618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E161C */ _t16 = cpu->r[31] + 0x00000010u;
/* 028E161C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E1620 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1620 */ _t18 = _t17 & 0x00000001u;
/* 028E1620 */ if (_t18) goto L_028E1624; else goto L_028E1634;
L_028E1624: ; // 0x28e1624
/* 028E1624 */ cpu->r[3] = 0x00000008u;
/* 028E1628 */ Gambit_fn_02801A78(cpu);
/* 028E162C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1630 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1630 */ _t20 = _t19 & 0x00000001u;
/* 028E1630 */ if (_t20) goto L_028E163C; else goto L_028E1634;
L_028E1634: ; // 0x28e1634
/* 028E1634 */ _t21 = cpu->r[3] + 0x00000004u;
/* 028E1634 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E1638 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028E1638 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
L_028E163C: ; // 0x28e163c
/* 028E163C */ _t23 = cpu->r[1] + 0x00000014u;
/* 028E163C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028E1640 */ cpu->r[3] = cpu->r[31];
/* 028E1644 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E1644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028E1648 */ cpu->lr = cpu->r[0];
/* 028E164C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E164C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028E1650 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E1654 */ return;
}
// fn_028E1658 @ 0x28e1658
void Gambit_fn_028E1658(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E1658: ; // 0x28e1658
/* 028E1658 */ cpu->r[0] = cpu->lr;
/* 028E165C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E165C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E165C */ cpu->r[1] = _t0;
/* 028E1660 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1660 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E1664 */ cpu->r[31] = cpu->r[3];
/* 028E1668 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1668 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E166C */ _t3 = cpu->r[31] + 0x00000018u;
/* 028E166C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028E1670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E1674 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1674 */ _t5 = _t4 & 0x00000001u;
/* 028E1674 */ if (_t5) goto L_028E16AC; else goto L_028E1678;
L_028E1678: ; // 0x28e1678
/* 028E1678 */ _t6 = cpu->r[31] + 0x00000014u;
/* 028E1678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E167C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1680 */ cpu->r[3] = 0x101D0000u;
/* 028E1684 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
/* 028E1684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028E1688 */ Gambit_fn_02826B90(cpu);
/* 028E168C */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028E168C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E1690 */ _t9 = cpu->r[12] + 0x0000003Cu;
/* 028E1690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E1694 */ cpu->ctr = cpu->r[0];
/* 028E1698 */ _t10 = cpu->r[31] + 0x00000018u;
/* 028E1698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028E169C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E16A0 */ cpu->r[9] = 0x00000000u;
/* 028E16A4 */ _t11 = cpu->r[31] + 0x00000014u;
/* 028E16A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
/* 028E16A8 */ _t12 = cpu->r[31] + 0x00000018u;
/* 028E16A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
L_028E16AC: ; // 0x28e16ac
/* 028E16AC */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E16AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E16B0 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E16B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E16B4 */ cpu->lr = cpu->r[0];
/* 028E16B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E16BC */ return;
}
// fn_028E165C @ 0x28e165c
void Gambit_fn_028E165C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E165C: ; // 0x28e165c
/* 028E165C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E165C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E165C */ cpu->r[1] = _t0;
/* 028E1660 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E1660 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E1664 */ cpu->r[31] = cpu->r[3];
/* 028E1668 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1668 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E166C */ _t3 = cpu->r[31] + 0x00000018u;
/* 028E166C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028E1670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E1674 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1674 */ _t5 = _t4 & 0x00000001u;
/* 028E1674 */ if (_t5) goto L_028E16AC; else goto L_028E1678;
L_028E1678: ; // 0x28e1678
/* 028E1678 */ _t6 = cpu->r[31] + 0x00000014u;
/* 028E1678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E167C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1680 */ cpu->r[3] = 0x101D0000u;
/* 028E1684 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
/* 028E1684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028E1688 */ Gambit_fn_02826B90(cpu);
/* 028E168C */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028E168C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E1690 */ _t9 = cpu->r[12] + 0x0000003Cu;
/* 028E1690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E1694 */ cpu->ctr = cpu->r[0];
/* 028E1698 */ _t10 = cpu->r[31] + 0x00000018u;
/* 028E1698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028E169C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E16A0 */ cpu->r[9] = 0x00000000u;
/* 028E16A4 */ _t11 = cpu->r[31] + 0x00000014u;
/* 028E16A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
/* 028E16A8 */ _t12 = cpu->r[31] + 0x00000018u;
/* 028E16A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
L_028E16AC: ; // 0x28e16ac
/* 028E16AC */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E16AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E16B0 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E16B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E16B4 */ cpu->lr = cpu->r[0];
/* 028E16B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E16BC */ return;
}
// fn_028E16C0 @ 0x28e16c0
void Gambit_fn_028E16C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E16C0: ; // 0x28e16c0
/* 028E16C0 */ cpu->r[0] = cpu->lr;
/* 028E16C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E16C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E16C4 */ cpu->r[1] = _t0;
/* 028E16C8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E16C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E16CC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E16CC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E16D0 */ cpu->r[31] = cpu->r[3];
/* 028E16D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E16D4 */ cpu->r[30] = cpu->r[4];
/* 028E16D8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E16D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E16DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E16DC */ _t5 = _t4 & 0x00000001u;
/* 028E16DC */ if (_t5) goto L_028E1704; else goto L_028E16E0;
L_028E16E0: ; // 0x28e16e0
/* 028E16E0 */ cpu->r[0] = 0x10140000u;
/* 028E16E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFB620u;
/* 028E16E8 */ cpu->r[3] = cpu->r[31];
/* 028E16EC */ _t6 = cpu->r[31] + 0x00000010u;
/* 028E16EC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E16F0 */ Gambit_fn_028E1658(cpu);
/* 028E16F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E16F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E16F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E16F8 */ _t8 = _t7 & 0x00000001u;
/* 028E16F8 */ if (_t8) goto L_028E1704; else goto L_028E16FC;
L_028E16FC: ; // 0x28e16fc
/* 028E16FC */ cpu->r[3] = cpu->r[31];
/* 028E1700 */ Gambit_fn_02801BB0(cpu);
L_028E1704: ; // 0x28e1704
/* 028E1704 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E1704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E1708 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E1708 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E170C */ cpu->lr = cpu->r[0];
/* 028E1710 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E1710 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E1714 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E1718 */ return;
}
// fn_028E16C4 @ 0x28e16c4
void Gambit_fn_028E16C4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E16C4: ; // 0x28e16c4
/* 028E16C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E16C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E16C4 */ cpu->r[1] = _t0;
/* 028E16C8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E16C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E16CC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E16CC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E16D0 */ cpu->r[31] = cpu->r[3];
/* 028E16D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E16D4 */ cpu->r[30] = cpu->r[4];
/* 028E16D8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E16D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E16DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E16DC */ _t5 = _t4 & 0x00000001u;
/* 028E16DC */ if (_t5) goto L_028E1704; else goto L_028E16E0;
L_028E16E0: ; // 0x28e16e0
/* 028E16E0 */ cpu->r[0] = 0x10140000u;
/* 028E16E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFB620u;
/* 028E16E8 */ cpu->r[3] = cpu->r[31];
/* 028E16EC */ _t6 = cpu->r[31] + 0x00000010u;
/* 028E16EC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E16F0 */ Gambit_fn_028E1658(cpu);
/* 028E16F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E16F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E16F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E16F8 */ _t8 = _t7 & 0x00000001u;
/* 028E16F8 */ if (_t8) goto L_028E1704; else goto L_028E16FC;
L_028E16FC: ; // 0x28e16fc
/* 028E16FC */ cpu->r[3] = cpu->r[31];
/* 028E1700 */ Gambit_fn_02801BB0(cpu);
L_028E1704: ; // 0x28e1704
/* 028E1704 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E1704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E1708 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E1708 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E170C */ cpu->lr = cpu->r[0];
/* 028E1710 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E1710 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E1714 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E1718 */ return;
}
// fn_028E171C @ 0x28e171c
void Gambit_fn_028E171C(CPUState* 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_028E171C: ; // 0x28e171c
/* 028E171C */ _t0 = cpu->r[3] + 0x00000018u;
/* 028E171C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E1720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E1724 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1724 */ _t2 = _t1 & 0x00000001u;
/* 028E1724 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E1724 */ goto L_028E1728;
L_028E1728: ; // 0x28e1728
/* 028E1728 */ _t3 = cpu->r[3] + 0x00000014u;
/* 028E1728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E172C */ cpu->r[10] = 0x00000000u;
/* 028E1730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
/* 028E1734 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1734 */ _t5 = _t4 & 0x00000001u;
/* 028E1734 */ _t6 = _t5 ^ 0x00000001u;
/* 028E1734 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E1734 */ goto L_028E1738;
L_028E1738: ; // 0x28e1738
/* 028E1738 */ cpu->r[7] = 0x101F0000u;
/* 028E173C */ cpu->r[7] = cpu->r[7] + 0x00006338u;
/* 028E1740 */ _t7 = cpu->r[7] + 0x00000008u;
/* 028E1740 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
/* 028E1744 */ _t8 = cpu->r[7] + 0x00000000u;
/* 028E1744 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028E1748 */ cpu->r[8] = 0x00000000u;
/* 028E174C */ _t9 = cpu->r[7] + 0x00000004u;
/* 028E174C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028E1750 */ cpu->r[9] = cpu->r[8];
L_028E1754: ; // 0x28e1754
/* 028E1754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
/* 028E1758 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1758 */ _t11 = _t10 & 0x00000001u;
/* 028E1758 */ if (_t11) goto L_028E175C; else goto L_028E1760;
L_028E175C: ; // 0x28e175c
/* 028E175C */ cpu->r[12] = cpu->r[12] + cpu->r[8];
L_028E1760: ; // 0x28e1760
/* 028E1760 */ _t12 = cpu->r[12] + 0x00000008u;
/* 028E1760 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
/* 028E1764 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E1768 */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028E1768 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[9]);
/* 028E176C */ _t14 = cpu->r[12] + 0x00000000u;
/* 028E176C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028E1770 */ _t15 = cpu->r[12] + 0x00000004u;
/* 028E1770 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
/* 028E1774 */ _t16 = cpu->r[3] + 0x00000014u;
/* 028E1774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E1778 */ cpu->r[8] = cpu->r[8] + 0x00000010u;
/* 028E177C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
/* 028E1780 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1780 */ _t18 = _t17 & 0x00000001u;
/* 028E1780 */ _t19 = _t18 ^ 0x00000001u;
/* 028E1780 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E1780 */ goto L_028E1784;
L_028E1784: ; // 0x28e1784
/* 028E1784 */ _t20 = cpu->r[3] + 0x00000018u;
/* 028E1784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028E1788 */ goto L_028E1754;
}
// fn_028E178C @ 0x28e178c
void Gambit_fn_028E178C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028E178C: ; // 0x28e178c
/* 028E178C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E178C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E178C */ cpu->r[1] = _t0;
/* 028E1790 */ /* nop */
/* 028E1794 */ cpu->r[0] = cpu->lr;
/* 028E1798 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028E1798 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E179C */ cpu->r[24] = cpu->r[3];
/* 028E17A0 */ _t2 = cpu->r[24] + 0x00000018u;
/* 028E17A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E17A4 */ cpu->r[31] = cpu->r[4];
/* 028E17A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E17AC */ cpu->r[25] = cpu->r[5];
/* 028E17B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E17B0 */ _t4 = _t3 & 0x00000001u;
/* 028E17B0 */ if (_t4) goto L_028E17B4; else goto L_028E1874;
L_028E17B4: ; // 0x28e17b4
/* 028E17B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028E17B8 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E17B8 */ _t6 = _t5 & 0x00000001u;
/* 028E17B8 */ if (_t6) goto L_028E17C4; else goto L_028E17BC;
L_028E17BC: ; // 0x28e17bc
/* 028E17BC */ Gambit_fn_028C2A24(cpu);
/* 028E17C0 */ _t7 = cpu->r[3] + 0x0000001Cu;
/* 028E17C0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t7);
L_028E17C4: ; // 0x28e17c4
/* 028E17C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028E17C8 */ cpu->r[3] = cpu->r[31];
/* 028E17CC */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E17CC */ _t9 = _t8 & 0x00000001u;
/* 028E17CC */ if (_t9) goto L_028E17D0; else goto L_028E1874;
L_028E17D0: ; // 0x28e17d0
/* 028E17D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E17D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E17D4 */ _t11 = _t10 & 0x00000001u;
/* 028E17D4 */ if (_t11) goto L_028E17D8; else goto L_028E17E4;
L_028E17D8: ; // 0x28e17d8
/* 028E17D8 */ cpu->r[3] = 0x101D0000u;
/* 028E17DC */ _t12 = cpu->r[3] + 0xFFFF98F0u;
/* 028E17DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028E17E0 */ Gambit_fn_02826F20(cpu);
L_028E17E4: ; // 0x28e17e4
/* 028E17E4 */ _t13 = cpu->r[3] + 0x0000000Cu;
/* 028E17E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E17E8 */ _t14 = cpu->r[11] + 0x00000034u;
/* 028E17E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E17EC */ cpu->ctr = cpu->r[0];
/* 028E17F0 */ cpu->r[5] = 0x00000004u;
/* 028E17F4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E17F8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E17FC */ cpu->r[26] = cpu->r[3];
/* 028E1800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028E1804 */ cpu->r[31] = cpu->r[25];
/* 028E1808 */ cpu->r[0] = 0x00000000u;
/* 028E180C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E180C */ _t16 = _t15 & 0x00000001u;
/* 028E180C */ if (_t16) goto L_028E1814; else goto L_028E1810;
L_028E1810: ; // 0x28e1810
/* 028E1810 */ cpu->r[31] = 0x00000001u;
L_028E1814: ; // 0x28e1814
/* 028E1814 */ cpu->r[27] = 0x101F0000u;
/* 028E1818 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E181C */ cpu->r[29] = 0x00000000u;
/* 028E1820 */ cpu->r[27] = cpu->r[27] + 0x00006338u;
L_028E1824: ; // 0x28e1824
/* 028E1824 */ cpu->r[30] = cpu->r[26] + cpu->r[28];
/* 028E1824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E1828 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1828 */ _t18 = _t17 & 0x00000001u;
/* 028E1828 */ if (_t18) goto L_028E1858; else goto L_028E182C;
L_028E182C: ; // 0x28e182c
/* 028E182C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E1830 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1830 */ _t20 = _t19 & 0x00000001u;
/* 028E1830 */ if (_t20) goto L_028E1834; else goto L_028E183C;
L_028E1834: ; // 0x28e1834
/* 028E1834 */ cpu->r[3] = 0x0000000Cu;
/* 028E1838 */ Gambit_fn_02801A78(cpu);
L_028E183C: ; // 0x28e183c
/* 028E183C */ _t21 = cpu->r[27] + 0x00000000u;
/* 028E183C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
/* 028E1840 */ _t22 = cpu->r[30] + 0x00000000u;
/* 028E1840 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
/* 028E1844 */ _t23 = cpu->r[27] + 0x00000004u;
/* 028E1844 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028E1848 */ _t24 = cpu->r[30] + 0x00000004u;
/* 028E1848 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
/* 028E184C */ _t25 = cpu->r[27] + 0x00000008u;
/* 028E184C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
/* 028E1850 */ _t26 = cpu->r[30] + 0x0000000Cu;
/* 028E1850 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[29]);
/* 028E1854 */ _t27 = cpu->r[30] + 0x00000008u;
/* 028E1854 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
L_028E1858: ; // 0x28e1858
/* 028E1858 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028E1858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E185C */ cpu->r[28] = cpu->r[28] + 0x00000010u;
/* 028E1860 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1860 */ _t29 = _t28 & 0x00000001u;
/* 028E1860 */ if (_t29) goto L_028E1864; else goto L_028E1824;
L_028E1864: ; // 0x28e1864
/* 028E1864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028E1868 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1868 */ _t31 = _t30 & 0x00000001u;
/* 028E1868 */ if (_t31) goto L_028E1874; else goto L_028E186C;
L_028E186C: ; // 0x28e186c
/* 028E186C */ _t32 = cpu->r[24] + 0x00000018u;
/* 028E186C */ rbrew_write32(cpu->mem, _t32, cpu->r[26]);
/* 028E1870 */ _t33 = cpu->r[24] + 0x00000014u;
/* 028E1870 */ rbrew_write32(cpu->mem, _t33, cpu->r[25]);
L_028E1874: ; // 0x28e1874
/* 028E1874 */ cpu->r[3] = cpu->r[24];
/* 028E1878 */ Gambit_fn_028E171C(cpu);
/* 028E187C */ /* nop */
/* 028E1880 */ _t34 = cpu->r[1] + 0x0000002Cu;
/* 028E1880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028E1884 */ cpu->lr = cpu->r[0];
/* 028E1888 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E188C */ return;
}
// fn_028E1928 @ 0x28e1928
void Gambit_fn_028E1928(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028E1928: ; // 0x28e1928
/* 028E1928 */ cpu->r[0] = cpu->lr;
/* 028E192C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E192C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E192C */ cpu->r[1] = _t0;
/* 028E1930 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E1930 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E1934 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1934 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E1938 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028E1938 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028E193C */ cpu->r[28] = cpu->r[4];
/* 028E1940 */ cpu->r[30] = cpu->r[6];
/* 028E1944 */ cpu->r[31] = cpu->r[3];
/* 028E1948 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028E1948 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028E194C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E194C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E1950 */ cpu->r[29] = cpu->r[5];
/* 028E1954 */ Gambit_fn_028C2A24(cpu);
/* 028E1958 */ cpu->r[4] = cpu->r[28];
/* 028E195C */ Gambit_fn_028D7208(cpu);
/* 028E1960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1964 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1964 */ _t7 = _t6 & 0x00000001u;
/* 028E1964 */ if (_t7) goto L_028E1994; else goto L_028E1968;
L_028E1968: ; // 0x28e1968
/* 028E1968 */ _t8 = cpu->r[31] + 0x00000014u;
/* 028E1968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E196C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]);
/* 028E1970 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1970 */ _t10 = _t9 & 0x00000001u;
/* 028E1970 */ if (_t10) goto L_028E1974; else goto L_028E1994;
L_028E1974: ; // 0x28e1974
/* 028E1974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028E1978 */ _t11 = cpu->r[31] + 0x00000018u;
/* 028E1978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E197C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E197C */ _t13 = _t12 & 0x00000001u;
/* 028E197C */ if (_t13) goto L_028E1980; else goto L_028E1988;
L_028E1980: ; // 0x28e1980
/* 028E1980 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E1984 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
L_028E1988: ; // 0x28e1988
/* 028E1988 */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028E1988 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
/* 028E198C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1990 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1990 */ _t16 = _t15 & 0x00000001u;
/* 028E1990 */ if (_t16) goto L_028E1994; else goto L_028E19B8;
L_028E1994: ; // 0x28e1994
/* 028E1994 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E1994 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028E1998 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E1998 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028E199C */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028E199C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E19A0 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028E19A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028E19A4 */ cpu->lr = cpu->r[0];
/* 028E19A8 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E19A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028E19AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E19B0 */ cpu->r[3] = 0x00000000u;
/* 028E19B4 */ return;
L_028E19B8: ; // 0x28e19b8
/* 028E19B8 */ cpu->r[5] = cpu->r[31];
/* 028E19BC */ cpu->r[4] = cpu->r[29];
/* 028E19C0 */ cpu->r[3] = cpu->r[28];
/* 028E19C4 */ Gambit_fn_028D60D8(cpu);
/* 028E19C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E19CC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E19CC */ _t23 = _t22 & 0x00000001u;
/* 028E19CC */ if (_t23) goto L_028E19E8; else goto L_028E19D0;
L_028E19D0: ; // 0x28e19d0
/* 028E19D0 */ _t24 = cpu->r[31] + 0x00000000u;
/* 028E19D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
/* 028E19D4 */ _t25 = cpu->r[30] + 0x00000000u;
/* 028E19D4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 028E19D8 */ _t26 = cpu->r[31] + 0x00000004u;
/* 028E19D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028E19DC */ _t27 = cpu->r[30] + 0x00000004u;
/* 028E19DC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
/* 028E19E0 */ _t28 = cpu->r[31] + 0x00000008u;
/* 028E19E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
/* 028E19E4 */ _t29 = cpu->r[30] + 0x00000008u;
/* 028E19E4 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
L_028E19E8: ; // 0x28e19e8
/* 028E19E8 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028E19E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
/* 028E19EC */ _t31 = cpu->r[1] + 0x0000000Cu;
/* 028E19EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
/* 028E19F0 */ _t32 = cpu->r[1] + 0x0000001Cu;
/* 028E19F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028E19F4 */ _t33 = cpu->r[1] + 0x00000010u;
/* 028E19F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
/* 028E19F8 */ cpu->lr = cpu->r[0];
/* 028E19FC */ _t34 = cpu->r[1] + 0x00000014u;
/* 028E19FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028E1A00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E1A04 */ cpu->r[3] = 0x00000001u;
/* 028E1A08 */ return;
}
// fn_028E192C @ 0x28e192c
void Gambit_fn_028E192C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028E192C: ; // 0x28e192c
/* 028E192C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E192C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E192C */ cpu->r[1] = _t0;
/* 028E1930 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E1930 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E1934 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E1934 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E1938 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028E1938 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028E193C */ cpu->r[28] = cpu->r[4];
/* 028E1940 */ cpu->r[30] = cpu->r[6];
/* 028E1944 */ cpu->r[31] = cpu->r[3];
/* 028E1948 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028E1948 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028E194C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E194C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E1950 */ cpu->r[29] = cpu->r[5];
/* 028E1954 */ Gambit_fn_028C2A24(cpu);
/* 028E1958 */ cpu->r[4] = cpu->r[28];
/* 028E195C */ Gambit_fn_028D7208(cpu);
/* 028E1960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1964 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1964 */ _t7 = _t6 & 0x00000001u;
/* 028E1964 */ if (_t7) goto L_028E1994; else goto L_028E1968;
L_028E1968: ; // 0x28e1968
/* 028E1968 */ _t8 = cpu->r[31] + 0x00000014u;
/* 028E1968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E196C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]);
/* 028E1970 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1970 */ _t10 = _t9 & 0x00000001u;
/* 028E1970 */ if (_t10) goto L_028E1974; else goto L_028E1994;
L_028E1974: ; // 0x28e1974
/* 028E1974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028E1978 */ _t11 = cpu->r[31] + 0x00000018u;
/* 028E1978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E197C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E197C */ _t13 = _t12 & 0x00000001u;
/* 028E197C */ if (_t13) goto L_028E1980; else goto L_028E1988;
L_028E1980: ; // 0x28e1980
/* 028E1980 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E1984 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
L_028E1988: ; // 0x28e1988
/* 028E1988 */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028E1988 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
/* 028E198C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1990 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1990 */ _t16 = _t15 & 0x00000001u;
/* 028E1990 */ if (_t16) goto L_028E1994; else goto L_028E19B8;
L_028E1994: ; // 0x28e1994
/* 028E1994 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E1994 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028E1998 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E1998 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028E199C */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028E199C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E19A0 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028E19A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028E19A4 */ cpu->lr = cpu->r[0];
/* 028E19A8 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E19A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028E19AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E19B0 */ cpu->r[3] = 0x00000000u;
/* 028E19B4 */ return;
L_028E19B8: ; // 0x28e19b8
/* 028E19B8 */ cpu->r[5] = cpu->r[31];
/* 028E19BC */ cpu->r[4] = cpu->r[29];
/* 028E19C0 */ cpu->r[3] = cpu->r[28];
/* 028E19C4 */ Gambit_fn_028D60D8(cpu);
/* 028E19C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E19CC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E19CC */ _t23 = _t22 & 0x00000001u;
/* 028E19CC */ if (_t23) goto L_028E19E8; else goto L_028E19D0;
L_028E19D0: ; // 0x28e19d0
/* 028E19D0 */ _t24 = cpu->r[31] + 0x00000000u;
/* 028E19D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
/* 028E19D4 */ _t25 = cpu->r[30] + 0x00000000u;
/* 028E19D4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 028E19D8 */ _t26 = cpu->r[31] + 0x00000004u;
/* 028E19D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028E19DC */ _t27 = cpu->r[30] + 0x00000004u;
/* 028E19DC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
/* 028E19E0 */ _t28 = cpu->r[31] + 0x00000008u;
/* 028E19E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
/* 028E19E4 */ _t29 = cpu->r[30] + 0x00000008u;
/* 028E19E4 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
L_028E19E8: ; // 0x28e19e8
/* 028E19E8 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028E19E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
/* 028E19EC */ _t31 = cpu->r[1] + 0x0000000Cu;
/* 028E19EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
/* 028E19F0 */ _t32 = cpu->r[1] + 0x0000001Cu;
/* 028E19F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028E19F4 */ _t33 = cpu->r[1] + 0x00000010u;
/* 028E19F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
/* 028E19F8 */ cpu->lr = cpu->r[0];
/* 028E19FC */ _t34 = cpu->r[1] + 0x00000014u;
/* 028E19FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028E1A00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E1A04 */ cpu->r[3] = 0x00000001u;
/* 028E1A08 */ return;
}
// fn_028E1A18 @ 0x28e1a18
void Gambit_fn_028E1A18(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028E1A18: ; // 0x28e1a18
/* 028E1A18 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E1A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1A18 */ cpu->r[1] = _t0;
/* 028E1A1C */ cpu->r[0] = cpu->lr;
/* 028E1A20 */ /* nop */
/* 028E1A24 */ cpu->r[30] = cpu->r[3];
/* 028E1A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E1A28 */ cpu->r[31] = cpu->r[4];
/* 028E1A2C */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E1A2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E1A30 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1A30 */ _t3 = _t2 & 0x00000001u;
/* 028E1A30 */ if (_t3) goto L_028E1B34; else goto L_028E1A34;
L_028E1A34: ; // 0x28e1a34
/* 028E1A34 */ cpu->r[10] = 0x10140000u;
/* 028E1A38 */ _t4 = cpu->r[30] + 0x00000018u;
/* 028E1A38 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
/* 028E1A3C */ cpu->r[29] = cpu->r[30] + 0x00000014u;
/* 028E1A40 */ cpu->r[10] = cpu->r[10] + 0xFFFFB690u;
/* 028E1A44 */ cpu->r[0] = 0x10140000u;
/* 028E1A48 */ _t5 = cpu->r[30] + 0x00000004u;
/* 028E1A48 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
/* 028E1A4C */ cpu->r[0] = cpu->r[0] + 0xFFFFB6E8u;
/* 028E1A50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[29]);
/* 028E1A54 */ _t6 = cpu->r[30] + 0x00000008u;
/* 028E1A54 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E1A58 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1A58 */ _t8 = _t7 & 0x00000001u;
/* 028E1A58 */ if (_t8) goto L_028E1A90; else goto L_028E1A5C;
L_028E1A5C: ; // 0x28e1a5c
/* 028E1A5C */ cpu->r[28] = 0x00000000u;
L_028E1A60: ; // 0x28e1a60
/* 028E1A60 */ cpu->r[3] = cpu->r[27];
/* 028E1A64 */ _t9 = cpu->r[3] + 0x0000000Cu;
/* 028E1A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E1A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1A6C */ _t10 = cpu->r[27] + 0x00000004u;
/* 028E1A6C */ cpu->r[27] = rbrew_read32(cpu->mem, _t10);
/* 028E1A70 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1A70 */ _t12 = _t11 & 0x00000001u;
/* 028E1A70 */ if (_t12) goto L_028E1A88; else goto L_028E1A74;
L_028E1A74: ; // 0x28e1a74
/* 028E1A74 */ _t13 = cpu->r[3] + 0x0000000Cu;
/* 028E1A74 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028E1A78 */ Gambit_fn_02801EDC(cpu);
/* 028E1A7C */ _t14 = cpu->r[29] + 0x00000008u;
/* 028E1A7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028E1A80 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028E1A84 */ _t15 = cpu->r[29] + 0x00000008u;
/* 028E1A84 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
L_028E1A88: ; // 0x28e1a88
/* 028E1A88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[29]);
/* 028E1A8C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1A8C */ _t17 = _t16 & 0x00000001u;
/* 028E1A8C */ if (_t17) goto L_028E1A90; else goto L_028E1A60;
L_028E1A90: ; // 0x28e1a90
/* 028E1A90 */ _t18 = cpu->r[30] + 0x00000028u;
/* 028E1A90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
/* 028E1A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E1A98 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1A98 */ _t20 = _t19 & 0x00000001u;
/* 028E1A98 */ if (_t20) goto L_028E1B0C; else goto L_028E1A9C;
L_028E1A9C: ; // 0x28e1a9c
/* 028E1A9C */ _t21 = cpu->r[30] + 0x00000024u;
/* 028E1A9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
/* 028E1AA0 */ cpu->r[28] = 0x00000000u;
/* 028E1AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
/* 028E1AA8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1AA8 */ _t23 = _t22 & 0x00000001u;
/* 028E1AA8 */ if (_t23) goto L_028E1AAC; else goto L_028E1AE0;
L_028E1AAC: ; // 0x28e1aac
/* 028E1AAC */ cpu->r[29] = 0x00000000u;
L_028E1AB0: ; // 0x28e1ab0
/* 028E1AB0 */ cpu->r[3] = cpu->r[4] + cpu->r[29];
/* 028E1AB4 */ _t24 = cpu->r[3] + 0x00000714u;
/* 028E1AB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
/* 028E1AB8 */ _t25 = cpu->r[11] + 0x0000000Cu;
/* 028E1AB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028E1ABC */ cpu->ctr = cpu->r[12];
/* 028E1AC0 */ cpu->r[4] = 0x00000002u;
/* 028E1AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E1AC8 */ _t26 = cpu->r[30] + 0x00000024u;
/* 028E1AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028E1ACC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E1AD0 */ cpu->r[29] = cpu->r[29] + 0x00000718u;
/* 028E1AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
/* 028E1AD8 */ _t27 = cpu->r[30] + 0x00000028u;
/* 028E1AD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
/* 028E1ADC */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1ADC */ _t29 = _t28 & 0x00000001u;
/* 028E1ADC */ if (_t29) goto L_028E1AB0; else goto L_028E1AE0;
L_028E1AE0: ; // 0x28e1ae0
/* 028E1AE0 */ cpu->r[3] = 0x101D0000u;
/* 028E1AE4 */ _t30 = cpu->r[3] + 0xFFFF98F0u;
/* 028E1AE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028E1AE8 */ Gambit_fn_02826B90(cpu);
/* 028E1AEC */ _t31 = cpu->r[3] + 0x0000000Cu;
/* 028E1AEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
/* 028E1AF0 */ _t32 = cpu->r[5] + 0x0000003Cu;
/* 028E1AF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
/* 028E1AF4 */ cpu->ctr = cpu->r[6];
/* 028E1AF8 */ _t33 = cpu->r[30] + 0x00000028u;
/* 028E1AF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
/* 028E1AFC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E1B00 */ cpu->r[7] = 0x00000000u;
/* 028E1B04 */ _t34 = cpu->r[30] + 0x00000024u;
/* 028E1B04 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
/* 028E1B08 */ _t35 = cpu->r[30] + 0x00000028u;
/* 028E1B08 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
L_028E1B0C: ; // 0x28e1b0c
/* 028E1B0C */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
/* 028E1B10 */ cpu->r[4] = 0x00000002u;
/* 028E1B14 */ Gambit_fn_02836FA8(cpu);
/* 028E1B18 */ cpu->r[3] = cpu->r[30];
/* 028E1B1C */ cpu->r[4] = 0x00000000u;
/* 028E1B20 */ Gambit_fn_028DA3D8(cpu);
/* 028E1B24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E1B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1B28 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1B28 */ _t37 = _t36 & 0x00000001u;
/* 028E1B28 */ if (_t37) goto L_028E1B34; else goto L_028E1B2C;
L_028E1B2C: ; // 0x28e1b2c
/* 028E1B2C */ cpu->r[3] = cpu->r[30];
/* 028E1B30 */ Gambit_fn_02801BB0(cpu);
L_028E1B34: ; // 0x28e1b34
/* 028E1B34 */ /* nop */
/* 028E1B38 */ _t38 = cpu->r[1] + 0x00000024u;
/* 028E1B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028E1B3C */ cpu->lr = cpu->r[0];
/* 028E1B40 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E1B44 */ return;
}
// fn_028E1B48 @ 0x28e1b48
void Gambit_fn_028E1B48(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_028E1B48: ; // 0x28e1b48
/* 028E1B48 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
/* 028E1B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1B48 */ cpu->r[1] = _t0;
/* 028E1B4C */ /* nop */
/* 028E1B50 */ cpu->r[0] = cpu->lr;
/* 028E1B54 */ _t1 = cpu->r[1] + 0x00000044u;
/* 028E1B54 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E1B58 */ cpu->r[29] = cpu->r[3];
/* 028E1B5C */ cpu->r[26] = cpu->r[29] + 0x000001A4u;
/* 028E1B60 */ cpu->r[3] = cpu->r[26];
/* 028E1B64 */ cpu->r[30] = cpu->r[4];
/* 028E1B68 */ cpu->r[31] = cpu->r[5];
/* 028E1B6C */ Gambit_fn_02836FFC(cpu);
/* 028E1B70 */ _t2 = cpu->r[29] + 0x00000018u;
/* 028E1B70 */ cpu->r[27] = rbrew_read32(cpu->mem, _t2);
/* 028E1B74 */ cpu->r[28] = cpu->r[29] + 0x00000014u;
/* 028E1B78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
/* 028E1B7C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1B7C */ _t4 = _t3 & 0x00000001u;
/* 028E1B7C */ if (_t4) goto L_028E1BE0; else goto L_028E1B80;
L_028E1B80: ; // 0x28e1b80
/* 028E1B80 */ cpu->r[25] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000718u);
L_028E1B84: ; // 0x28e1b84
/* 028E1B84 */ _t5 = cpu->r[27] + 0x00000008u;
/* 028E1B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028E1B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1B8C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1B8C */ _t7 = _t6 & 0x00000001u;
/* 028E1B8C */ if (_t7) goto L_028E1BD4; else goto L_028E1B90;
L_028E1B90: ; // 0x28e1b90
/* 028E1B90 */ _t8 = cpu->r[3] + 0x00000010u;
/* 028E1B90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E1B94 */ _t9 = cpu->r[12] + 0x00000014u;
/* 028E1B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E1B98 */ cpu->ctr = cpu->r[0];
/* 028E1B9C */ cpu->r[4] = cpu->r[30];
/* 028E1BA0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028E1BA4 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
/* 028E1BA8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E1BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1BB0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1BB0 */ _t11 = _t10 & 0x00000001u;
/* 028E1BB0 */ if (_t11) goto L_028E1BD4; else goto L_028E1BB4;
L_028E1BB4: ; // 0x28e1bb4
/* 028E1BB4 */ _t12 = cpu->r[29] + 0x00000024u;
/* 028E1BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E1BB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028E1BBC */ _t13 = cpu->r[29] + 0x00000028u;
/* 028E1BBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028E1BC0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1BC0 */ _t15 = _t14 & 0x00000001u;
/* 028E1BC0 */ if (_t15) goto L_028E1BC4; else goto L_028E1BC8;
L_028E1BC4: ; // 0x28e1bc4
/* 028E1BC4 */ cpu->r[3] = cpu->r[3] + cpu->r[25];
L_028E1BC8: ; // 0x28e1bc8
/* 028E1BC8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
/* 028E1BCC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E1BD0 */ Gambit_fn_028E2DBC(cpu);
L_028E1BD4: ; // 0x28e1bd4
/* 028E1BD4 */ _t16 = cpu->r[27] + 0x00000004u;
/* 028E1BD4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t16);
/* 028E1BD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
/* 028E1BDC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1BDC */ _t18 = _t17 & 0x00000001u;
/* 028E1BDC */ if (_t18) goto L_028E1BE0; else goto L_028E1B84;
L_028E1BE0: ; // 0x28e1be0
/* 028E1BE0 */ cpu->r[3] = cpu->r[26];
/* 028E1BE4 */ Gambit_fn_02837030(cpu);
/* 028E1BE8 */ /* nop */
/* 028E1BEC */ _t19 = cpu->r[1] + 0x00000044u;
/* 028E1BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E1BF0 */ cpu->lr = cpu->r[0];
/* 028E1BF4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028E1BF8 */ return;
}
// fn_028E1BFC @ 0x28e1bfc
void Gambit_fn_028E1BFC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305;
double _ft282, _ft283;
L_028E1BFC: ; // 0x28e1bfc
/* 028E1BFC */ _t0 = cpu->r[1] + 0xFFFFFED0u;
/* 028E1BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E1BFC */ cpu->r[1] = _t0;
/* 028E1C00 */ /* nop */
/* 028E1C04 */ _t1 = cpu->r[1] + 0x00000110u;
/* 028E1C04 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028E1C08 */ _t2 = cpu->r[1] + 0x00000100u;
/* 028E1C08 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
/* 028E1C0C */ /* nop */
/* 028E1C10 */ _t3 = cpu->r[1] + 0x00000118u;
/* 028E1C10 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028E1C14 */ /* nop */
/* 028E1C18 */ _t4 = cpu->r[1] + 0x00000108u;
/* 028E1C18 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028E1C1C */ _t5 = cpu->r[1] + 0x00000120u;
/* 028E1C1C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
/* 028E1C20 */ _t6 = cpu->r[1] + 0x000000E0u;
/* 028E1C20 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[27]);
/* 028E1C24 */ /* nop */
/* 028E1C28 */ _t7 = cpu->r[1] + 0x00000128u;
/* 028E1C28 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028E1C2C */ /* nop */
/* 028E1C30 */ _t8 = cpu->r[1] + 0x000000D0u;
/* 028E1C30 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[26]);
/* 028E1C34 */ cpu->r[0] = cpu->lr;
/* 028E1C38 */ _t9 = cpu->r[1] + 0x00000134u;
/* 028E1C38 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E1C3C */ /* nop */
/* 028E1C40 */ _t10 = cpu->r[1] + 0x000000D8u;
/* 028E1C40 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[26]);
/* 028E1C44 */ _t11 = cpu->r[1] + 0x000000F0u;
/* 028E1C44 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[28]);
/* 028E1C48 */ _t12 = cpu->r[1] + 0x000000E8u;
/* 028E1C48 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[27]);
/* 028E1C4C */ /* nop */
/* 028E1C50 */ _t13 = cpu->r[1] + 0x000000F8u;
/* 028E1C50 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[28]);
/* 028E1C54 */ cpu->r[31] = cpu->r[3];
/* 028E1C58 */ _t14 = cpu->r[31] + 0x000001E2u;
/* 028E1C58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
/* 028E1C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1C60 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1C60 */ _t16 = _t15 & 0x00000001u;
/* 028E1C60 */ if (_t16) goto L_028E1C64; else goto L_028E1C74;
L_028E1C64: ; // 0x28e1c64
/* 028E1C64 */ _t17 = cpu->r[31] + 0x000001E1u;
/* 028E1C64 */ cpu->r[3] = rbrew_read8(cpu->mem, _t17);
/* 028E1C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1C6C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1C6C */ _t19 = _t18 & 0x00000001u;
/* 028E1C6C */ if (_t19) goto L_028E1C70; else goto L_028E1CD8;
L_028E1C70: ; // 0x28e1c70
/* 028E1C70 */ goto L_028E1C88;
L_028E1C74: ; // 0x28e1c74
/* 028E1C74 */ cpu->r[3] = cpu->r[31];
/* 028E1C78 */ Gambit_fn_028DA43C(cpu);
/* 028E1C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1C80 */ _t20 = cpu->r[31] + 0x000001E1u;
/* 028E1C80 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[3]);
/* 028E1C84 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1C84 */ _t22 = _t21 & 0x00000001u;
/* 028E1C84 */ if (_t22) goto L_028E1C88; else goto L_028E1CD8;
L_028E1C88: ; // 0x28e1c88
/* 028E1C88 */ cpu->r[0] = 0x00000001u;
/* 028E1C8C */ _t23 = cpu->r[31] + 0x000001E0u;
/* 028E1C8C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
/* 028E1C90 */ /* nop */
/* 028E1C94 */ _t24 = cpu->r[1] + 0x00000118u;
/* 028E1C94 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t24);
/* 028E1C98 */ _t25 = cpu->r[1] + 0x000000F8u;
/* 028E1C98 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t25);
/* 028E1C9C */ _t26 = cpu->r[1] + 0x00000110u;
/* 028E1C9C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t26);
/* 028E1CA0 */ _t27 = cpu->r[1] + 0x000000F0u;
/* 028E1CA0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t27);
/* 028E1CA4 */ _t28 = cpu->r[1] + 0x000000E8u;
/* 028E1CA4 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t28);
/* 028E1CA8 */ _t29 = cpu->r[1] + 0x00000108u;
/* 028E1CA8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t29);
/* 028E1CAC */ _t30 = cpu->r[1] + 0x000000E0u;
/* 028E1CAC */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t30);
/* 028E1CB0 */ _t31 = cpu->r[1] + 0x00000100u;
/* 028E1CB0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t31);
/* 028E1CB4 */ _t32 = cpu->r[1] + 0x000000D8u;
/* 028E1CB4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t32);
/* 028E1CB8 */ _t33 = cpu->r[1] + 0x00000128u;
/* 028E1CB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t33);
/* 028E1CBC */ _t34 = cpu->r[1] + 0x000000D0u;
/* 028E1CBC */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t34);
/* 028E1CC0 */ _t35 = cpu->r[1] + 0x00000120u;
/* 028E1CC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t35);
/* 028E1CC4 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1CC4 */ _t37 = _t36 & 0x00000001u;
/* 028E1CC4 */ if (_t37) goto L_028E1CC8; // else: addr-0 trap, fall-through
L_028E1CC8: ; // 0x28e1cc8
/* 028E1CC8 */ _t38 = cpu->r[1] + 0x00000134u;
/* 028E1CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028E1CCC */ cpu->lr = cpu->r[0];
/* 028E1CD0 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
/* 028E1CD4 */ return;
L_028E1CD8: ; // 0x28e1cd8
/* 028E1CD8 */ cpu->r[0] = cpu->r[31] + 0x00000080u;
/* 028E1CDC */ cpu->r[30] = 0x00000002u;
/* 028E1CE0 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
/* 028E1CE4 */ _t39 = cpu->r[1] + 0x00000008u;
/* 028E1CE4 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
L_028E1CE8: ; // 0x28e1ce8
/* 028E1CE8 */ cpu->r[28] = cpu->r[28] + 0x00000078u;
/* 028E1CEC */ cpu->r[29] = 0x00000006u;
/* 028E1CF0 */ cpu->r[27] = cpu->r[28] + 0xFFFFFFECu;
L_028E1CF4: ; // 0x28e1cf4
/* 028E1CF4 */ cpu->r[27] = cpu->r[27] + 0x00000014u;
/* 028E1CF8 */ cpu->r[3] = cpu->r[27];
/* 028E1CFC */ Gambit_fn_028CA194(cpu);
/* 028E1D00 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
/* 028E1D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E1D04 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1D04 */ _t41 = _t40 & 0x00000001u;
/* 028E1D04 */ if (_t41) goto L_028E1D08; else goto L_028E1CF4;
L_028E1D08: ; // 0x28e1d08
/* 028E1D08 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028E1D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E1D0C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1D0C */ _t43 = _t42 & 0x00000001u;
/* 028E1D0C */ if (_t43) goto L_028E1D10; else goto L_028E1CE8;
L_028E1D10: ; // 0x28e1d10
/* 028E1D10 */ cpu->r[3] = cpu->r[31] + 0x00000170u;
/* 028E1D14 */ Gambit_fn_028CA194(cpu);
/* 028E1D18 */ cpu->r[3] = cpu->r[31] + 0x00000184u;
/* 028E1D1C */ Gambit_fn_028CA194(cpu);
/* 028E1D20 */ cpu->r[9] = 0x00000000u;
/* 028E1D24 */ cpu->r[30] = cpu->r[31] + 0x00000030u;
/* 028E1D28 */ cpu->r[0] = cpu->r[9];
L_028E1D2C: ; // 0x28e1d2c
/* 028E1D2C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000018u);
/* 028E1D30 */ cpu->r[10] = cpu->r[30] + cpu->r[7];
/* 028E1D34 */ _t44 = cpu->r[10] + 0x00000004u;
/* 028E1D34 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
/* 028E1D38 */ _t45 = cpu->r[10] + 0x00000008u;
/* 028E1D38 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
/* 028E1D3C */ _t46 = cpu->r[10] + 0x00000010u;
/* 028E1D3C */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
/* 028E1D40 */ _t47 = cpu->r[10] + 0x00000000u;
/* 028E1D40 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
/* 028E1D44 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028E1D48 */ _t48 = cpu->r[10] + 0x00000014u;
/* 028E1D48 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
/* 028E1D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
/* 028E1D50 */ _t49 = cpu->r[10] + 0x0000000Cu;
/* 028E1D50 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
/* 028E1D54 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1D54 */ _t51 = _t50 & 0x00000001u;
/* 028E1D54 */ if (_t51) goto L_028E1D58; else goto L_028E1D88;
L_028E1D58: ; // 0x28e1d58
/* 028E1D58 */ cpu->r[11] = 0x00000000u;
L_028E1D5C: ; // 0x28e1d5c
/* 028E1D5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
/* 028E1D60 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1D60 */ _t53 = _t52 & 0x00000001u;
/* 028E1D60 */ if (_t53) goto L_028E1D2C; else goto L_028E1D64;
L_028E1D64: ; // 0x28e1d64
/* 028E1D64 */ _t54 = cpu->r[30] + 0x00000000u;
/* 028E1D64 */ rbrew_write32(cpu->mem, _t54, cpu->r[11]);
/* 028E1D68 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028E1D6C */ _t55 = cpu->r[30] + 0x00000008u;
/* 028E1D6C */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
/* 028E1D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
/* 028E1D74 */ _t56 = cpu->r[30] + 0x0000000Cu;
/* 028E1D74 */ rbrew_write32(cpu->mem, _t56, cpu->r[11]);
/* 028E1D78 */ _t57 = cpu->r[30] + 0x00000010u;
/* 028E1D78 */ rbrew_write32(cpu->mem, _t57, cpu->r[11]);
/* 028E1D7C */ _t58 = cpu->r[30] + 0x00000004u;
/* 028E1D7C */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
/* 028E1D80 */ _t59 = cpu->r[30] + 0x00000014u;
/* 028E1D80 */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
/* 028E1D84 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1D84 */ _t61 = _t60 & 0x00000001u;
/* 028E1D84 */ if (_t61) goto L_028E1D5C; else goto L_028E1D88;
L_028E1D88: ; // 0x28e1d88
/* 028E1D88 */ _t62 = cpu->r[31] + 0x0000001Cu;
/* 028E1D88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
/* 028E1D8C */ cpu->r[8] = 0x10140000u;
/* 028E1D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E1D94 */ _t63 = cpu->r[8] + 0xFFFFB684u;
/* 028E1D94 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t63);
/* 028E1D98 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1D98 */ _t65 = _t64 & 0x00000001u;
/* 028E1D98 */ if (_t65) goto L_028E1DC4; else goto L_028E1D9C;
L_028E1D9C: ; // 0x28e1d9c
/* 028E1D9C */ _t66 = cpu->r[31] + 0x00000074u;
/* 028E1D9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
/* 028E1DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E1DA4 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1DA4 */ _t68 = _t67 & 0x00000001u;
/* 028E1DA4 */ if (_t68) goto L_028E1E18; else goto L_028E1DA8;
L_028E1DA8: ; // 0x28e1da8
/* 028E1DA8 */ _t69 = cpu->r[3] + 0x00000000u;
/* 028E1DA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
/* 028E1DAC */ _t70 = cpu->r[8] + 0x00000024u;
/* 028E1DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
/* 028E1DB0 */ cpu->ctr = cpu->r[0];
/* 028E1DB4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E1DB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
/* 028E1DBC */ _t71 = cpu->r[31] + 0x00000078u;
/* 028E1DBC */ rbrew_write_f32(cpu->mem, _t71, cpu->f[1]);
/* 028E1DC0 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1DC0 */ _t73 = _t72 & 0x00000001u;
/* 028E1DC0 */ if (_t73) goto L_028E1DC4; else goto L_028E1E18;
L_028E1DC4: ; // 0x28e1dc4
/* 028E1DC4 */ _t74 = cpu->r[31] + 0x0000006Cu;
/* 028E1DC4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[30]);
/* 028E1DC8 */ _t75 = cpu->r[31] + 0x00000068u;
/* 028E1DC8 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[30]);
/* 028E1DCC */ _t76 = cpu->r[31] + 0x00000070u;
/* 028E1DCC */ rbrew_write_f32(cpu->mem, _t76, cpu->f[30]);
/* 028E1DD0 */ /* nop */
/* 028E1DD4 */ _t77 = cpu->r[1] + 0x00000118u;
/* 028E1DD4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t77);
/* 028E1DD8 */ _t78 = cpu->r[1] + 0x000000F8u;
/* 028E1DD8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t78);
/* 028E1DDC */ _t79 = cpu->r[1] + 0x00000110u;
/* 028E1DDC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t79);
/* 028E1DE0 */ _t80 = cpu->r[1] + 0x000000F0u;
/* 028E1DE0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t80);
/* 028E1DE4 */ _t81 = cpu->r[1] + 0x000000E8u;
/* 028E1DE4 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t81);
/* 028E1DE8 */ _t82 = cpu->r[1] + 0x00000108u;
/* 028E1DE8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t82);
/* 028E1DEC */ _t83 = cpu->r[1] + 0x000000E0u;
/* 028E1DEC */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t83);
/* 028E1DF0 */ _t84 = cpu->r[1] + 0x00000100u;
/* 028E1DF0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t84);
/* 028E1DF4 */ _t85 = cpu->r[1] + 0x000000D8u;
/* 028E1DF4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t85);
/* 028E1DF8 */ _t86 = cpu->r[1] + 0x00000128u;
/* 028E1DF8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t86);
/* 028E1DFC */ _t87 = cpu->r[1] + 0x000000D0u;
/* 028E1DFC */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t87);
/* 028E1E00 */ _t88 = cpu->r[1] + 0x00000120u;
/* 028E1E00 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t88);
/* 028E1E04 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1E04 */ _t90 = _t89 & 0x00000001u;
/* 028E1E04 */ if (_t90) goto L_028E1E08; // else: addr-0 trap, fall-through
L_028E1E08: ; // 0x28e1e08
/* 028E1E08 */ _t91 = cpu->r[1] + 0x00000134u;
/* 028E1E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
/* 028E1E0C */ cpu->lr = cpu->r[0];
/* 028E1E10 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
/* 028E1E14 */ return;
L_028E1E18: ; // 0x28e1e18
/* 028E1E18 */ cpu->r[11] = 0x10140000u;
/* 028E1E1C */ cpu->r[8] = 0x10140000u;
/* 028E1E20 */ _t92 = cpu->r[11] + 0xFFFFB68Cu;
/* 028E1E20 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t92);
/* 028E1E24 */ _t93 = cpu->r[8] + 0xFFFFB688u;
/* 028E1E24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t93);
/* 028E1E28 */ cpu->f[27] = cpu->f[29];
/* 028E1E2C */ cpu->r[12] = 0x101D0000u;
/* 028E1E30 */ _t94 = cpu->r[31] + 0x00000070u;
/* 028E1E30 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[31]);
/* 028E1E34 */ _t95 = cpu->r[12] + 0xFFFF9A84u;
/* 028E1E34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
/* 028E1E38 */ cpu->f[28] = cpu->f[29];
/* 028E1E3C */ cpu->r[24] = 0x00000000u;
/* 028E1E40 */ _t96 = cpu->r[12] + 0x00000020u;
/* 028E1E40 */ cpu->r[23] = rbrew_read32(cpu->mem, _t96);
/* 028E1E44 */ Gambit_fn_028C2A24(cpu);
/* 028E1E48 */ _t97 = cpu->r[3] + 0x0000000Cu;
/* 028E1E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
/* 028E1E4C */ cpu->r[26] = cpu->r[3] + 0xFFFFFE88u;
/* 028E1E50 */ cpu->r[29] = cpu->r[12] + 0xFFFFFE80u;
/* 028E1E54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[26]);
/* 028E1E58 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1E58 */ _t99 = _t98 & 0x00000001u;
/* 028E1E58 */ if (_t99) goto L_028E2354; else goto L_028E1E5C;
L_028E1E5C: ; // 0x28e1e5c
/* 028E1E5C */ cpu->f[26] = cpu->f[30];
/* 028E1E60 */ cpu->r[28] = 0x00000002u;
/* 028E1E64 */ cpu->r[27] = 0x028E0000u;
/* 028E1E68 */ cpu->r[25] = 0x00000000u;
L_028E1E6C: ; // 0x28e1e6c
/* 028E1E6C */ _t100 = cpu->r[31] + 0x00000024u;
/* 028E1E6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t100);
/* 028E1E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[5]);
/* 028E1E74 */ _t101 = cpu->r[31] + 0x00000028u;
/* 028E1E74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
/* 028E1E78 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1E78 */ _t103 = _t102 & 0x00000001u;
/* 028E1E78 */ if (_t103) goto L_028E1E7C; else goto L_028E1E80;
L_028E1E7C: ; // 0x28e1e7c
/* 028E1E7C */ cpu->r[3] = cpu->r[3] + cpu->r[25];
L_028E1E80: ; // 0x28e1e80
/* 028E1E80 */ Gambit_fn_028E2CB8(cpu);
/* 028E1E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000010u);
/* 028E1E88 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1E88 */ _t105 = _t104 & 0x00000001u;
/* 028E1E88 */ if (_t105) goto L_028E1E8C; else goto L_028E1EA0;
L_028E1E8C: ; // 0x28e1e8c
/* 028E1E8C */ cpu->r[5] = 0x00000001u;
/* 028E1E90 */ _t106 = cpu->r[31] + 0x0000007Cu;
/* 028E1E90 */ cpu->r[4] = rbrew_read16(cpu->mem, _t106);
/* 028E1E94 */ /* nop */
/* 028E1E98 */ cpu->r[0] = cpu->r[4] & cpu->r[9];
/* 028E1E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E1E9C */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E1E9C */ _t108 = _t107 & 0x00000001u;
/* 028E1E9C */ if (_t108) goto L_028E233C; else goto L_028E1EA0;
L_028E1EA0: ; // 0x28e1ea0
/* 028E1EA0 */ cpu->r[3] = cpu->r[31];
/* 028E1EA4 */ cpu->r[4] = cpu->r[29];
/* 028E1EA8 */ cpu->r[5] = cpu->r[24];
/* 028E1EAC */ Gambit_fn_028E1B48(cpu);
/* 028E1EB0 */ cpu->f[5] = cpu->f[26];
/* 028E1EB4 */ cpu->r[4] = 0x00000000u;
/* 028E1EB8 */ cpu->r[9] = 0x00000002u;
/* 028E1EBC */ cpu->f[0] = cpu->f[31];
/* 028E1EC0 */ _t109 = cpu->r[31] + 0x00000078u;
/* 028E1EC0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t109);
/* 028E1EC4 */ cpu->ctr = cpu->r[9];
/* 028E1EC8 */ cpu->r[22] = cpu->r[1] + 0x00000014u;
/* 028E1ECC */ cpu->r[11] = cpu->r[1] + 0x0000001Cu;
/* 028E1ED0 */ cpu->r[3] = cpu->r[4];
/* 028E1ED4 */ cpu->r[5] = cpu->r[29] + 0x00000040u;
/* 028E1ED8 */ cpu->r[12] = cpu->r[31] + 0x00000060u;
L_028E1EDC: ; // 0x28e1edc
/* 028E1EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1EE0 */ _t110 = cpu->r[1] + 0x0000001Cu;
/* 028E1EE0 */ rbrew_write32(cpu->mem, _t110, cpu->r[4]);
/* 028E1EE4 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
/* 028E1EE8 */ _t111 = cpu->r[11] + 0x00000000u;
/* 028E1EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t111);
/* 028E1EEC */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1EEC */ _t113 = _t112 & 0x00000001u;
/* 028E1EEC */ if (_t113) goto L_028E1EF0; else goto L_028E1EF4;
L_028E1EF0: ; // 0x28e1ef0
/* 028E1EF0 */ cpu->r[7] = cpu->r[22];
L_028E1EF4: ; // 0x28e1ef4
/* 028E1EF4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E1EF8 */ _t114 = cpu->r[7] + 0x00000000u;
/* 028E1EF8 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[0]);
/* 028E1EFC */ _t115 = cpu->r[8] + cpu->r[5];
/* 028E1EFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t115);
/* 028E1F00 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[5]);
/* 028E1F04 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F04 */ _t117 = _t116 & 0x00000001u;
/* 028E1F04 */ if (_t117) goto L_028E1F38; else goto L_028E1F08;
L_028E1F08: ; // 0x28e1f08
/* 028E1F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1F0C */ cpu->r[10] = cpu->r[1] + 0x00000014u;
/* 028E1F10 */ _t118 = cpu->r[11] + 0x00000000u;
/* 028E1F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
/* 028E1F14 */ _t119 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F14 */ _t120 = _t119 & 0x00000001u;
/* 028E1F14 */ if (_t120) goto L_028E1F18; else goto L_028E1F1C;
L_028E1F18: ; // 0x28e1f18
/* 028E1F18 */ cpu->r[10] = cpu->r[22];
L_028E1F1C: ; // 0x28e1f1c
/* 028E1F1C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E1F20 */ _t121 = cpu->r[5] + cpu->r[8];
/* 028E1F20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t121);
/* 028E1F24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[5]);
/* 028E1F28 */ _t122 = cpu->r[29] + 0x0000003Cu;
/* 028E1F28 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t122);
/* 028E1F2C */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F2C */ _t124 = _t123 & 0x00000001u;
/* 028E1F2C */ if (_t124) goto L_028E1F34; else goto L_028E1F30;
L_028E1F30: ; // 0x28e1f30
/* 028E1F30 */ cpu->f[10] = cpu->f[12] * cpu->f[10];
L_028E1F34: ; // 0x28e1f34
/* 028E1F34 */ _t125 = cpu->r[10] + 0x00000000u;
/* 028E1F34 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[10]);
L_028E1F38: ; // 0x28e1f38
/* 028E1F38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1F3C */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F3C */ _t127 = _t126 & 0x00000001u;
/* 028E1F3C */ if (_t127) goto L_028E1F40; else goto L_028E1F50;
L_028E1F40: ; // 0x28e1f40
/* 028E1F40 */ _t128 = cpu->r[12] + cpu->r[3];
/* 028E1F40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t128);
/* 028E1F44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[5]);
/* 028E1F48 */ _t129 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F48 */ _t130 = _t129 & 0x00000001u;
/* 028E1F48 */ if (_t130) goto L_028E1FF8; else goto L_028E1F4C;
L_028E1F4C: ; // 0x28e1f4c
/* 028E1F4C */ goto L_028E1F5C;
L_028E1F50: ; // 0x28e1f50
/* 028E1F50 */ _t131 = cpu->r[12] + 0x00000000u;
/* 028E1F50 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t131);
/* 028E1F54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[5]);
/* 028E1F58 */ _t132 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F58 */ _t133 = _t132 & 0x00000001u;
/* 028E1F58 */ if (_t133) goto L_028E1FF8; else goto L_028E1F5C;
L_028E1F5C: ; // 0x28e1f5c
/* 028E1F5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1F60 */ cpu->r[10] = cpu->r[1] + 0x00000014u;
/* 028E1F64 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F64 */ _t135 = _t134 & 0x00000001u;
/* 028E1F64 */ if (_t135) goto L_028E1F68; else goto L_028E1F6C;
L_028E1F68: ; // 0x28e1f68
/* 028E1F68 */ cpu->r[10] = cpu->r[22];
L_028E1F6C: ; // 0x28e1f6c
/* 028E1F6C */ _t136 = cpu->r[10] + 0x00000000u;
/* 028E1F6C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t136);
/* 028E1F70 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[5]);
/* 028E1F74 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
/* 028E1F78 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F78 */ _t138 = _t137 & 0x00000001u;
/* 028E1F78 */ if (_t138) goto L_028E1F7C; else goto L_028E1FC0;
L_028E1F7C: ; // 0x28e1f7c
/* 028E1F7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1F80 */ _t139 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F80 */ _t140 = _t139 & 0x00000001u;
/* 028E1F80 */ if (_t140) goto L_028E1F84; else goto L_028E1FA8;
L_028E1F84: ; // 0x28e1f84
/* 028E1F84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1F88 */ cpu->r[8] = cpu->r[22];
/* 028E1F8C */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1F8C */ _t142 = _t141 & 0x00000001u;
/* 028E1F8C */ if (_t142) goto L_028E1F90; else goto L_028E1FA8;
L_028E1F90: ; // 0x28e1f90
/* 028E1F90 */ _t143 = cpu->r[12] + cpu->r[3];
/* 028E1F90 */ cpu->r[13] = rbrew_read32(cpu->mem, _t143);
/* 028E1F94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1F98 */ cpu->r[10] = cpu->r[1] + 0x00000014u;
/* 028E1F9C */ _t144 = cpu->r[8] + 0x00000000u;
/* 028E1F9C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[13]);
/* 028E1FA0 */ _t145 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1FA0 */ _t146 = _t145 & 0x00000001u;
/* 028E1FA0 */ if (_t146) goto L_028E1FA4; else goto L_028E2008;
L_028E1FA4: ; // 0x28e1fa4
/* 028E1FA4 */ goto L_028E2004;
L_028E1FA8: ; // 0x28e1fa8
/* 028E1FA8 */ _t147 = cpu->r[12] + 0x00000000u;
/* 028E1FA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t147);
/* 028E1FAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1FB0 */ cpu->r[10] = cpu->r[1] + 0x00000014u;
/* 028E1FB4 */ _t148 = cpu->r[8] + 0x00000000u;
/* 028E1FB4 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[13]);
/* 028E1FB8 */ _t149 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1FB8 */ _t150 = _t149 & 0x00000001u;
/* 028E1FB8 */ if (_t150) goto L_028E1FBC; else goto L_028E2008;
L_028E1FBC: ; // 0x28e1fbc
/* 028E1FBC */ goto L_028E2004;
L_028E1FC0: ; // 0x28e1fc0
/* 028E1FC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1FC4 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1FC4 */ _t152 = _t151 & 0x00000001u;
/* 028E1FC4 */ if (_t152) goto L_028E1FC8; else goto L_028E1FE8;
L_028E1FC8: ; // 0x28e1fc8
/* 028E1FC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1FCC */ cpu->r[8] = cpu->r[22];
/* 028E1FD0 */ _t153 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E1FD0 */ _t154 = _t153 & 0x00000001u;
/* 028E1FD0 */ if (_t154) goto L_028E1FD4; else goto L_028E1FE8;
L_028E1FD4: ; // 0x28e1fd4
/* 028E1FD4 */ _t155 = cpu->r[8] + 0x00000000u;
/* 028E1FD4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t155);
/* 028E1FD8 */ _t156 = cpu->r[12] + cpu->r[3];
/* 028E1FD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t156);
/* 028E1FDC */ cpu->f[6] = cpu->f[6] * cpu->f[7];
/* 028E1FE0 */ _t157 = cpu->r[8] + 0x00000000u;
/* 028E1FE0 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[6]);
/* 028E1FE4 */ goto L_028E1FF8;
L_028E1FE8: ; // 0x28e1fe8
/* 028E1FE8 */ _t158 = cpu->r[8] + 0x00000000u;
/* 028E1FE8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t158);
/* 028E1FEC */ _t159 = cpu->r[12] + 0x00000000u;
/* 028E1FEC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t159);
/* 028E1FF0 */ cpu->f[6] = cpu->f[6] * cpu->f[7];
/* 028E1FF4 */ _t160 = cpu->r[8] + 0x00000000u;
/* 028E1FF4 */ rbrew_write_f32(cpu->mem, _t160, cpu->f[6]);
L_028E1FF8: ; // 0x28e1ff8
/* 028E1FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E1FFC */ cpu->r[10] = cpu->r[1] + 0x00000014u;
/* 028E2000 */ _t161 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2000 */ _t162 = _t161 & 0x00000001u;
/* 028E2000 */ if (_t162) goto L_028E2004; else goto L_028E2008;
L_028E2004: ; // 0x28e2004
/* 028E2004 */ cpu->r[10] = cpu->r[22];
L_028E2008: ; // 0x28e2008
/* 028E2008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E200C */ cpu->r[6] = cpu->r[1] + 0x00000014u;
/* 028E2010 */ _t163 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2010 */ _t164 = _t163 & 0x00000001u;
/* 028E2010 */ if (_t164) goto L_028E2014; else goto L_028E2018;
L_028E2014: ; // 0x28e2014
/* 028E2014 */ cpu->r[6] = cpu->r[22];
L_028E2018: ; // 0x28e2018
/* 028E2018 */ _t165 = cpu->r[6] + 0x00000000u;
/* 028E2018 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t165);
/* 028E201C */ /* nop */
/* 028E2020 */ _t166 = cpu->r[11] + 0x00000000u;
/* 028E2020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
/* 028E2024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028E2028 */ cpu->r[9] = cpu->r[1] + 0x00000014u;
/* 028E202C */ _t167 = cpu->r[10] + 0x00000000u;
/* 028E202C */ rbrew_write_f32(cpu->mem, _t167, cpu->f[10]);
/* 028E2030 */ _t168 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2030 */ _t169 = _t168 & 0x00000001u;
/* 028E2030 */ if (_t169) goto L_028E2034; else goto L_028E2038;
L_028E2034: ; // 0x28e2034
/* 028E2034 */ cpu->r[9] = cpu->r[22];
L_028E2038: ; // 0x28e2038
/* 028E2038 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
/* 028E203C */ cpu->r[7] = cpu->r[23] + 0x0000001Cu;
/* 028E2040 */ _t170 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2040 */ _t171 = _t170 & 0x00000001u;
/* 028E2040 */ if (_t171) goto L_028E2044; else goto L_028E204C;
L_028E2044: ; // 0x28e2044
/* 028E2044 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E2048 */ cpu->r[7] = cpu->r[7] + cpu->r[0];
L_028E204C: ; // 0x28e204c
/* 028E204C */ _t172 = cpu->r[7] + 0x00000000u;
/* 028E204C */ cpu->r[6] = rbrew_read32(cpu->mem, _t172);
/* 028E2050 */ _t173 = cpu->r[6] + 0x00000010u;
/* 028E2050 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t173);
/* 028E2054 */ cpu->f[8] = cpu->f[9] * cpu->f[11];
/* 028E2058 */ _t174 = cpu->r[9] + 0x00000000u;
/* 028E2058 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t174);
/* 028E205C */ cpu->f[10] = cpu->f[10] * cpu->f[8];
/* 028E2060 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E2064 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028E2068 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
/* 028E206C */ _t175 = cpu->r[9] + 0x00000000u;
/* 028E206C */ rbrew_write_f32(cpu->mem, _t175, cpu->f[10]);
/* 028E2070 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E2070 */ _t176 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E2070 */ _t177 = _t176 >> (0x00000002u & 31u);
/* 028E2070 */ _t178 = _t177 & 0x00000001u;
/* 028E2070 */ if (_t178) goto L_028E1EDC; else goto L_028E2074;
L_028E2074: ; // 0x28e2074
/* 028E2074 */ cpu->r[6] = cpu->r[27] + 0x00002B68u;
/* 028E2078 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
/* 028E207C */ cpu->r[4] = 0x00000002u;
/* 028E2080 */ cpu->r[5] = 0x00000018u;
/* 028E2084 */ Gambit_fn_02C82E00(cpu);
/* 028E2088 */ _t179 = cpu->r[31] + 0x00000024u;
/* 028E2088 */ cpu->r[9] = rbrew_read32(cpu->mem, _t179);
/* 028E208C */ cpu->r[8] = cpu->r[1] + 0x00000028u;
/* 028E2090 */ _t180 = cpu->r[1] + 0x0000000Cu;
/* 028E2090 */ rbrew_write32(cpu->mem, _t180, cpu->r[28]);
/* 028E2094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[9]);
/* 028E2098 */ _t181 = cpu->r[1] + 0x00000010u;
/* 028E2098 */ rbrew_write32(cpu->mem, _t181, cpu->r[8]);
/* 028E209C */ _t182 = cpu->r[31] + 0x00000028u;
/* 028E209C */ cpu->r[3] = rbrew_read32(cpu->mem, _t182);
/* 028E20A0 */ _t183 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E20A0 */ _t184 = _t183 & 0x00000001u;
/* 028E20A0 */ if (_t184) goto L_028E20A4; else goto L_028E20A8;
L_028E20A4: ; // 0x28e20a4
/* 028E20A4 */ cpu->r[3] = cpu->r[3] + cpu->r[25];
L_028E20A8: ; // 0x28e20a8
/* 028E20A8 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
/* 028E20AC */ cpu->r[7] = cpu->r[29];
/* 028E20B0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028E20B4 */ _t185 = cpu->r[1] + 0x00000024u;
/* 028E20B4 */ rbrew_write32(cpu->mem, _t185, cpu->r[6]);
/* 028E20B8 */ cpu->r[6] = 0x00000002u;
/* 028E20BC */ cpu->r[5] = cpu->r[1] + 0x00000020u;
/* 028E20C0 */ _t186 = cpu->r[1] + 0x00000020u;
/* 028E20C0 */ rbrew_write32(cpu->mem, _t186, cpu->r[28]);
/* 028E20C4 */ Gambit_fn_028E30DC(cpu);
/* 028E20C8 */ _t187 = cpu->r[31] + 0x00000198u;
/* 028E20C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t187);
/* 028E20CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[26]);
/* 028E20D0 */ _t188 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E20D0 */ _t189 = _t188 & 0x00000001u;
/* 028E20D0 */ if (_t189) goto L_028E20D4; else goto L_028E20E0;
L_028E20D4: ; // 0x28e20d4
/* 028E20D4 */ _t190 = cpu->r[31] + 0x000001E0u;
/* 028E20D4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t190);
/* 028E20D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E20DC */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E20DC */ _t192 = _t191 & 0x00000001u;
/* 028E20DC */ if (_t192) goto L_028E21AC; else goto L_028E20E0;
L_028E20E0: ; // 0x28e20e0
/* 028E20E0 */ cpu->r[11] = 0x00000000u;
/* 028E20E4 */ cpu->r[6] = 0x00000002u;
/* 028E20E8 */ cpu->r[9] = cpu->r[11];
L_028E20EC: ; // 0x28e20ec
/* 028E20EC */ cpu->r[7] = 0x00000005u;
/* 028E20F0 */ cpu->ctr = cpu->r[7];
/* 028E20F4 */ cpu->r[8] = 0x00000000u;
L_028E20F8: ; // 0x28e20f8
/* 028E20F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
/* 028E20FC */ _t193 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E20FC */ _t194 = _t193 & 0x00000001u;
/* 028E20FC */ if (_t194) goto L_028E2100; else goto L_028E2114;
L_028E2100: ; // 0x28e2100
/* 028E2100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
/* 028E2104 */ _t195 = cpu->r[1] + 0x0000000Cu;
/* 028E2104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t195);
/* 028E2108 */ cpu->r[12] = cpu->r[30] + cpu->r[9];
/* 028E210C */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E210C */ _t197 = _t196 & 0x00000001u;
/* 028E210C */ if (_t197) goto L_028E2124; else goto L_028E2110;
L_028E2110: ; // 0x28e2110
/* 028E2110 */ goto L_028E2138;
L_028E2114: ; // 0x28e2114
/* 028E2114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
/* 028E2118 */ _t198 = cpu->r[1] + 0x0000000Cu;
/* 028E2118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t198);
/* 028E211C */ cpu->r[12] = cpu->r[30];
/* 028E2120 */ _t199 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2120 */ _t200 = _t199 & 0x00000001u;
/* 028E2120 */ if (_t200) goto L_028E2124; else goto L_028E2138;
L_028E2124: ; // 0x28e2124
/* 028E2124 */ cpu->r[4] = cpu->r[30] + cpu->r[9];
/* 028E2128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
/* 028E212C */ _t201 = cpu->r[4] + cpu->r[8];
/* 028E212C */ cpu->r[0] = rbrew_read32(cpu->mem, _t201);
/* 028E2130 */ _t202 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2130 */ _t203 = _t202 & 0x00000001u;
/* 028E2130 */ if (_t203) goto L_028E2148; else goto L_028E2134;
L_028E2134: ; // 0x28e2134
/* 028E2134 */ goto L_028E216C;
L_028E2138: ; // 0x28e2138
/* 028E2138 */ cpu->r[4] = cpu->r[30];
/* 028E213C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
/* 028E2140 */ _t204 = cpu->r[4] + cpu->r[8];
/* 028E2140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t204);
/* 028E2144 */ _t205 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2144 */ _t206 = _t205 & 0x00000001u;
/* 028E2144 */ if (_t206) goto L_028E2148; else goto L_028E216C;
L_028E2148: ; // 0x28e2148
/* 028E2148 */ _t207 = cpu->r[1] + 0x00000010u;
/* 028E2148 */ cpu->r[5] = rbrew_read32(cpu->mem, _t207);
/* 028E214C */ cpu->r[5] = cpu->r[5] + cpu->r[9];
/* 028E2150 */ _t208 = cpu->r[5] + cpu->r[8];
/* 028E2150 */ cpu->r[13] = rbrew_read32(cpu->mem, _t208);
/* 028E2154 */ cpu->f[6] = cpu->f[13] - cpu->f[0];
/* 028E2158 */ /* nop */
/* 028E215C */ _t209 = cpu->r[12] + cpu->r[8];
/* 028E215C */ rbrew_write32(cpu->mem, _t209, cpu->r[7]);
/* 028E2160 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028E2164 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E2164 */ _t210 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E2164 */ _t211 = _t210 >> (0x00000002u & 31u);
/* 028E2164 */ _t212 = _t211 & 0x00000001u;
/* 028E2164 */ if (_t212) goto L_028E20F8; else goto L_028E2168;
L_028E2168: ; // 0x28e2168
/* 028E2168 */ goto L_028E2188;
L_028E216C: ; // 0x28e216c
/* 028E216C */ _t213 = cpu->r[1] + 0x00000010u;
/* 028E216C */ cpu->r[5] = rbrew_read32(cpu->mem, _t213);
/* 028E2170 */ _t214 = cpu->r[5] + cpu->r[8];
/* 028E2170 */ cpu->r[13] = rbrew_read32(cpu->mem, _t214);
/* 028E2174 */ cpu->f[6] = cpu->f[13] - cpu->f[0];
/* 028E2178 */ /* nop */
/* 028E217C */ _t215 = cpu->r[12] + cpu->r[8];
/* 028E217C */ rbrew_write32(cpu->mem, _t215, cpu->r[7]);
/* 028E2180 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028E2184 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E2184 */ _t216 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E2184 */ _t217 = _t216 >> (0x00000002u & 31u);
/* 028E2184 */ _t218 = _t217 & 0x00000001u;
/* 028E2184 */ if (_t218) goto L_028E20F8; else goto L_028E2188;
L_028E2188: ; // 0x28e2188
/* 028E2188 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
/* 028E2188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028E218C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028E2190 */ cpu->r[9] = cpu->r[9] + 0x00000018u;
/* 028E2194 */ _t219 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2194 */ _t220 = _t219 & 0x00000001u;
/* 028E2194 */ if (_t220) goto L_028E2198; else goto L_028E20EC;
L_028E2198: ; // 0x28e2198
/* 028E2198 */ _t221 = cpu->r[31] + 0x00000024u;
/* 028E2198 */ cpu->r[12] = rbrew_read32(cpu->mem, _t221);
/* 028E219C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[12]);
/* 028E21A0 */ _t222 = cpu->r[31] + 0x00000028u;
/* 028E21A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t222);
/* 028E21A4 */ _t223 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E21A4 */ _t224 = _t223 & 0x00000001u;
/* 028E21A4 */ if (_t224) goto L_028E22C0; else goto L_028E21A8;
L_028E21A8: ; // 0x28e21a8
/* 028E21A8 */ goto L_028E22DC;
L_028E21AC: ; // 0x28e21ac
/* 028E21AC */ cpu->r[5] = 0x00000018u;
/* 028E21B0 */ cpu->r[4] = 0x00000002u;
/* 028E21B4 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
/* 028E21B8 */ cpu->r[6] = cpu->r[27] + 0x00002B68u;
/* 028E21BC */ Gambit_fn_02C82E00(cpu);
/* 028E21C0 */ cpu->r[17] = 0x00000000u;
/* 028E21C4 */ _t225 = cpu->r[1] + 0x00000008u;
/* 028E21C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t225);
/* 028E21C8 */ cpu->r[20] = cpu->r[17];
/* 028E21CC */ cpu->r[16] = cpu->r[1] + 0x00000058u;
/* 028E21D0 */ cpu->r[15] = cpu->r[4] + 0xFFFFFF88u;
/* 028E21D4 */ cpu->r[18] = 0x00000002u;
L_028E21D8: ; // 0x28e21d8
/* 028E21D8 */ _t226 = cpu->r[1] + 0x0000000Cu;
/* 028E21D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t226);
/* 028E21DC */ cpu->r[0] = cpu->r[20];
/* 028E21E0 */ cpu->r[5] = 0x00000005u;
/* 028E21E4 */ cpu->r[9] = cpu->r[17] - cpu->r[8];
/* 028E21E8 */ cpu->r[11] = 0x00000000u;
/* 028E21EC */ cpu->r[4] = cpu->r[9] - cpu->r[9];
/* 028E21F0 */ _t227 = cpu->r[1] + 0x00000010u;
/* 028E21F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t227);
/* 028E21F4 */ cpu->ctr = cpu->r[5];
/* 028E21F8 */ cpu->r[6] = cpu->r[16] + cpu->r[0];
/* 028E21FC */ cpu->r[10] = (uint32_t)(-(int32_t)cpu->r[4]);
L_028E2200: ; // 0x28e2200
/* 028E2200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E2204 */ _t228 = cpu->r[6] + cpu->r[11];
/* 028E2204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t228);
/* 028E2208 */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2208 */ _t230 = _t229 & 0x00000001u;
/* 028E2208 */ if (_t230) goto L_028E222C; else goto L_028E220C;
L_028E220C: ; // 0x28e220c
/* 028E220C */ cpu->r[7] = cpu->r[12] + cpu->r[0];
/* 028E2210 */ _t231 = cpu->r[7] + cpu->r[11];
/* 028E2210 */ cpu->r[8] = rbrew_read32(cpu->mem, _t231);
/* 028E2214 */ cpu->f[11] = cpu->f[8] - cpu->f[9];
/* 028E2218 */ /* nop */
/* 028E221C */ _t232 = cpu->r[6] + cpu->r[11];
/* 028E221C */ rbrew_write32(cpu->mem, _t232, cpu->r[12]);
/* 028E2220 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
/* 028E2224 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E2224 */ _t233 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E2224 */ _t234 = _t233 >> (0x00000002u & 31u);
/* 028E2224 */ _t235 = _t234 & 0x00000001u;
/* 028E2224 */ if (_t235) goto L_028E2200; else goto L_028E2228;
L_028E2228: ; // 0x28e2228
/* 028E2228 */ goto L_028E2244;
L_028E222C: ; // 0x28e222c
/* 028E222C */ _t236 = cpu->r[12] + cpu->r[11];
/* 028E222C */ cpu->r[8] = rbrew_read32(cpu->mem, _t236);
/* 028E2230 */ cpu->f[11] = cpu->f[8] - cpu->f[9];
/* 028E2234 */ /* nop */
/* 028E2238 */ _t237 = cpu->r[6] + cpu->r[11];
/* 028E2238 */ rbrew_write32(cpu->mem, _t237, cpu->r[12]);
/* 028E223C */ cpu->r[11] = cpu->r[11] + 0x00000004u;
/* 028E2240 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E2240 */ _t238 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E2240 */ _t239 = _t238 >> (0x00000002u & 31u);
/* 028E2240 */ _t240 = _t239 & 0x00000001u;
/* 028E2240 */ if (_t240) goto L_028E2200; else goto L_028E2244;
L_028E2244: ; // 0x28e2244
/* 028E2244 */ cpu->r[15] = cpu->r[15] + 0x00000078u;
/* 028E2248 */ cpu->r[21] = 0x00000000u;
/* 028E224C */ cpu->r[19] = cpu->r[15] + 0xFFFFFFECu;
/* 028E2250 */ cpu->r[22] = cpu->r[16] + cpu->r[20];
/* 028E2254 */ cpu->r[14] = 0x00000005u;
L_028E2258: ; // 0x28e2258
/* 028E2258 */ cpu->r[19] = cpu->r[19] + 0x00000014u;
/* 028E225C */ _t241 = cpu->r[22] + cpu->r[21];
/* 028E225C */ cpu->r[1] = rbrew_read32(cpu->mem, _t241);
/* 028E2260 */ cpu->r[3] = cpu->r[19];
/* 028E2264 */ _t242 = cpu->r[31] + 0x00000198u;
/* 028E2264 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t242);
/* 028E2268 */ Gambit_fn_028CA1D8(cpu);
/* 028E226C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], 0x00000002u);
/* 028E2270 */ _t243 = cpu->r[19] + 0x00000000u;
/* 028E2270 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t243);
/* 028E2274 */ _t244 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2274 */ _t245 = _t244 & 0x00000001u;
/* 028E2274 */ if (_t245) goto L_028E2278; else goto L_028E2290;
L_028E2278: ; // 0x28e2278
/* 028E2278 */ cpu->r[5] = cpu->r[30] + cpu->r[20];
/* 028E227C */ cpu->r[14] = cpu->r[14] + 0xFFFFFFFFu;
/* 028E227C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u);
/* 028E2280 */ _t246 = cpu->r[5] + cpu->r[21];
/* 028E2280 */ rbrew_write32(cpu->mem, _t246, cpu->r[13]);
/* 028E2284 */ cpu->r[21] = cpu->r[21] + 0x00000004u;
/* 028E2288 */ _t247 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2288 */ _t248 = _t247 & 0x00000001u;
/* 028E2288 */ if (_t248) goto L_028E228C; else goto L_028E2258;
L_028E228C: ; // 0x28e228c
/* 028E228C */ goto L_028E22A0;
L_028E2290: ; // 0x28e2290
/* 028E2290 */ cpu->r[14] = cpu->r[14] + 0xFFFFFFFFu;
/* 028E2290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u);
/* 028E2294 */ _t249 = cpu->r[30] + cpu->r[21];
/* 028E2294 */ rbrew_write32(cpu->mem, _t249, cpu->r[13]);
/* 028E2298 */ cpu->r[21] = cpu->r[21] + 0x00000004u;
/* 028E229C */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E229C */ _t251 = _t250 & 0x00000001u;
/* 028E229C */ if (_t251) goto L_028E22A0; else goto L_028E2258;
L_028E22A0: ; // 0x28e22a0
/* 028E22A0 */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu;
/* 028E22A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
/* 028E22A4 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
/* 028E22A8 */ cpu->r[20] = cpu->r[20] + 0x00000018u;
/* 028E22AC */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E22AC */ _t253 = _t252 & 0x00000001u;
/* 028E22AC */ if (_t253) goto L_028E22B0; else goto L_028E21D8;
L_028E22B0: ; // 0x28e22b0
/* 028E22B0 */ _t254 = cpu->r[31] + 0x00000024u;
/* 028E22B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t254);
/* 028E22B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[12]);
/* 028E22B8 */ _t255 = cpu->r[31] + 0x00000028u;
/* 028E22B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t255);
/* 028E22BC */ _t256 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E22BC */ _t257 = _t256 & 0x00000001u;
/* 028E22BC */ if (_t257) goto L_028E22C0; else goto L_028E22DC;
L_028E22C0: ; // 0x28e22c0
/* 028E22C0 */ cpu->r[9] = cpu->r[10] + cpu->r[25];
/* 028E22C4 */ _t258 = cpu->r[9] + 0x00000708u;
/* 028E22C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t258);
/* 028E22C8 */ cpu->f[6] = cpu->f[0] - cpu->f[27];
/* 028E22CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[12]);
/* 028E22D0 */ /* nop */
/* 028E22D4 */ _t259 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E22D4 */ _t260 = _t259 & 0x00000001u;
/* 028E22D4 */ if (_t260) goto L_028E22F0; else goto L_028E22D8;
L_028E22D8: ; // 0x28e22d8
/* 028E22D8 */ goto L_028E2310;
L_028E22DC: ; // 0x28e22dc
/* 028E22DC */ _t261 = cpu->r[10] + 0x00000708u;
/* 028E22DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t261);
/* 028E22E0 */ cpu->f[6] = cpu->f[0] - cpu->f[27];
/* 028E22E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[12]);
/* 028E22E8 */ /* nop */
/* 028E22EC */ _t262 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E22EC */ _t263 = _t262 & 0x00000001u;
/* 028E22EC */ if (_t263) goto L_028E22F0; else goto L_028E2310;
L_028E22F0: ; // 0x28e22f0
/* 028E22F0 */ cpu->r[11] = cpu->r[10] + cpu->r[25];
/* 028E22F4 */ _t264 = cpu->r[11] + 0x0000070Cu;
/* 028E22F4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t264);
/* 028E22F8 */ cpu->f[8] = cpu->f[7] - cpu->f[28];
/* 028E22FC */ _t265 = cpu->r[31] + 0x00000070u;
/* 028E22FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t265);
/* 028E2300 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[12]);
/* 028E2304 */ /* nop */
/* 028E2308 */ _t266 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2308 */ _t267 = _t266 & 0x00000001u;
/* 028E2308 */ if (_t267) goto L_028E2328; else goto L_028E230C;
L_028E230C: ; // 0x28e230c
/* 028E230C */ goto L_028E232C;
L_028E2310: ; // 0x28e2310
/* 028E2310 */ _t268 = cpu->r[10] + 0x0000070Cu;
/* 028E2310 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t268);
/* 028E2314 */ _t269 = cpu->r[31] + 0x00000070u;
/* 028E2314 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t269);
/* 028E2318 */ cpu->f[8] = cpu->f[7] - cpu->f[28];
/* 028E231C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[12]);
/* 028E2320 */ /* nop */
/* 028E2324 */ _t270 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2324 */ _t271 = _t270 & 0x00000001u;
/* 028E2324 */ if (_t271) goto L_028E2328; else goto L_028E230C;
L_028E2328: ; // 0x28e2328
/* 028E2328 */ cpu->r[10] = cpu->r[10] + cpu->r[25];
L_028E232C: ; // 0x28e232c
/* 028E232C */ _t272 = cpu->r[10] + 0x00000710u;
/* 028E232C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t272);
/* 028E2330 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
/* 028E2334 */ /* nop */
/* 028E2338 */ _t273 = cpu->r[31] + 0x00000070u;
/* 028E2338 */ rbrew_write_f32(cpu->mem, _t273, cpu->f[12]);
L_028E233C: ; // 0x28e233c
/* 028E233C */ cpu->r[25] = cpu->r[25] + 0x00000718u;
/* 028E2340 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028E2344 */ _t274 = cpu->r[29] + 0x00000184u;
/* 028E2344 */ cpu->r[4] = rbrew_read32(cpu->mem, _t274);
/* 028E2348 */ cpu->r[29] = cpu->r[4] + 0xFFFFFE80u;
/* 028E234C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[26]);
/* 028E2350 */ _t275 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2350 */ _t276 = _t275 & 0x00000001u;
/* 028E2350 */ if (_t276) goto L_028E2354; else goto L_028E1E6C;
L_028E2354: ; // 0x28e2354
/* 028E2354 */ _t277 = cpu->r[31] + 0x00000070u;
/* 028E2354 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t277);
/* 028E2358 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[30]);
/* 028E235C */ _t278 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E235C */ _t279 = _t278 & 0x00000001u;
/* 028E235C */ if (_t279) goto L_028E2360; else goto L_028E236C;
L_028E2360: ; // 0x28e2360
/* 028E2360 */ cpu->r[11] = 0x10140000u;
/* 028E2364 */ _t280 = cpu->r[11] + 0xFFFFB638u;
/* 028E2364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t280);
/* 028E2368 */ _t281 = cpu->r[31] + 0x00000070u;
/* 028E2368 */ rbrew_write_f32(cpu->mem, _t281, cpu->f[0]);
L_028E236C: ; // 0x28e236c
/* 028E236C */ cpu->f[9] = cpu->f[29] - cpu->f[27];
/* 028E2370 */ cpu->f[13] = cpu->f[29] - cpu->f[28];
/* 028E2374 */ _ft282 = fabs(cpu->f[9]);
/* 028E2374 */ cpu->f[12] = -_ft282;
/* 028E2378 */ _ft283 = fabs(cpu->f[13]);
/* 028E2378 */ cpu->f[0] = -_ft283;
/* 028E237C */ /* nop */
/* 028E2380 */ /* nop */
/* 028E2384 */ _t284 = cpu->r[31] + 0x0000019Cu;
/* 028E2384 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t284);
/* 028E2388 */ cpu->f[1] = cpu->f[27];
/* 028E238C */ cpu->r[3] = cpu->r[31] + 0x00000170u;
/* 028E2390 */ Gambit_fn_028CA1D8(cpu);
/* 028E2394 */ _t285 = cpu->r[31] + 0x00000170u;
/* 028E2394 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t285);
/* 028E2398 */ cpu->f[1] = cpu->f[28];
/* 028E239C */ _t286 = cpu->r[31] + 0x000001A0u;
/* 028E239C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t286);
/* 028E23A0 */ cpu->r[3] = cpu->r[31] + 0x00000184u;
/* 028E23A4 */ _t287 = cpu->r[31] + 0x00000068u;
/* 028E23A4 */ rbrew_write_f32(cpu->mem, _t287, cpu->f[6]);
/* 028E23A8 */ Gambit_fn_028CA1D8(cpu);
/* 028E23AC */ _t288 = cpu->r[31] + 0x00000184u;
/* 028E23AC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t288);
/* 028E23B0 */ cpu->r[7] = 0x00000000u;
/* 028E23B4 */ _t289 = cpu->r[31] + 0x000001E0u;
/* 028E23B4 */ rbrew_write8(cpu->mem, _t289, (uint8_t)cpu->r[7]);
/* 028E23B8 */ _t290 = cpu->r[31] + 0x0000006Cu;
/* 028E23B8 */ rbrew_write_f32(cpu->mem, _t290, cpu->f[7]);
/* 028E23BC */ /* nop */
/* 028E23C0 */ _t291 = cpu->r[1] + 0x00000118u;
/* 028E23C0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t291);
/* 028E23C4 */ _t292 = cpu->r[1] + 0x000000F8u;
/* 028E23C4 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t292);
/* 028E23C8 */ _t293 = cpu->r[1] + 0x00000110u;
/* 028E23C8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t293);
/* 028E23CC */ _t294 = cpu->r[1] + 0x000000F0u;
/* 028E23CC */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t294);
/* 028E23D0 */ _t295 = cpu->r[1] + 0x000000E8u;
/* 028E23D0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t295);
/* 028E23D4 */ _t296 = cpu->r[1] + 0x00000108u;
/* 028E23D4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t296);
/* 028E23D8 */ _t297 = cpu->r[1] + 0x000000E0u;
/* 028E23D8 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t297);
/* 028E23DC */ _t298 = cpu->r[1] + 0x00000100u;
/* 028E23DC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t298);
/* 028E23E0 */ _t299 = cpu->r[1] + 0x000000D8u;
/* 028E23E0 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t299);
/* 028E23E4 */ _t300 = cpu->r[1] + 0x00000128u;
/* 028E23E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t300);
/* 028E23E8 */ _t301 = cpu->r[1] + 0x000000D0u;
/* 028E23E8 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t301);
/* 028E23EC */ _t302 = cpu->r[1] + 0x00000120u;
/* 028E23EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t302);
/* 028E23F0 */ _t303 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E23F0 */ _t304 = _t303 & 0x00000001u;
/* 028E23F0 */ if (_t304) goto L_028E23F4; // else: addr-0 trap, fall-through
L_028E23F4: ; // 0x28e23f4
/* 028E23F4 */ _t305 = cpu->r[1] + 0x00000134u;
/* 028E23F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t305);
/* 028E23F8 */ cpu->lr = cpu->r[0];
/* 028E23FC */ cpu->r[1] = cpu->r[1] + 0x00000130u;
/* 028E2400 */ return;
}
// fn_028E2404 @ 0x28e2404
void Gambit_fn_028E2404(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E2404: ; // 0x28e2404
/* 028E2404 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
/* 028E2404 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2404 */ cpu->r[1] = _t0;
/* 028E2408 */ _t1 = cpu->r[1] + 0x00000050u;
/* 028E2408 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028E240C */ /* nop */
/* 028E2410 */ _t2 = cpu->r[1] + 0x00000040u;
/* 028E2410 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
/* 028E2414 */ /* nop */
/* 028E2418 */ /* nop */
/* 028E241C */ cpu->r[0] = cpu->lr;
/* 028E2420 */ cpu->r[10] = 0x10140000u;
/* 028E2424 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028E2424 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]);
/* 028E2428 */ _t4 = cpu->r[1] + 0x00000060u;
/* 028E2428 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
/* 028E242C */ /* nop */
/* 028E2430 */ _t5 = cpu->r[1] + 0x00000058u;
/* 028E2430 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
/* 028E2434 */ /* nop */
/* 028E2438 */ _t6 = cpu->r[1] + 0x00000048u;
/* 028E2438 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
/* 028E243C */ cpu->r[23] = 0x00000000u;
/* 028E2440 */ _t7 = cpu->r[1] + 0x00000038u;
/* 028E2440 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[28]);
/* 028E2444 */ _t8 = cpu->r[1] + 0x00000068u;
/* 028E2444 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
/* 028E2448 */ cpu->r[12] = 0x10140000u;
/* 028E244C */ _t9 = cpu->r[10] + 0xFFFFB684u;
/* 028E244C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028E2450 */ cpu->r[30] = cpu->r[3];
/* 028E2454 */ _t10 = cpu->r[12] + 0xFFFFB638u;
/* 028E2454 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028E2458 */ _t11 = cpu->r[1] + 0x00000074u;
/* 028E2458 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028E245C */ cpu->r[29] = cpu->r[30] + 0x00000030u;
/* 028E2460 */ cpu->r[4] = 0x00000001u;
/* 028E2464 */ _t12 = cpu->r[30] + 0x000001E1u;
/* 028E2464 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[23]);
/* 028E2468 */ cpu->r[0] = 0x00000000u;
/* 028E246C */ _t13 = cpu->r[30] + 0x00000070u;
/* 028E246C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[31]);
/* 028E2470 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
/* 028E2474 */ _t14 = cpu->r[30] + 0x00000064u;
/* 028E2474 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
/* 028E2478 */ cpu->r[27] = cpu->r[30] + 0x00000080u;
/* 028E247C */ _t15 = cpu->r[30] + 0x000001E2u;
/* 028E247C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[4]);
/* 028E2480 */ cpu->f[28] = cpu->f[31];
/* 028E2484 */ _t16 = cpu->r[30] + 0x000001E0u;
/* 028E2484 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[4]);
/* 028E2488 */ cpu->r[28] = cpu->r[29];
/* 028E248C */ _t17 = cpu->r[30] + 0x00000068u;
/* 028E248C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
/* 028E2490 */ _t18 = cpu->r[30] + 0x0000007Cu;
/* 028E2490 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]);
/* 028E2494 */ _t19 = cpu->r[30] + 0x00000020u;
/* 028E2494 */ rbrew_write32(cpu->mem, _t19, cpu->r[23]);
/* 028E2498 */ _t20 = cpu->r[30] + 0x00000078u;
/* 028E2498 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
/* 028E249C */ _t21 = cpu->r[30] + 0x0000006Cu;
/* 028E249C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
/* 028E24A0 */ _t22 = cpu->r[30] + 0x00000074u;
/* 028E24A0 */ rbrew_write32(cpu->mem, _t22, cpu->r[23]);
/* 028E24A4 */ _t23 = cpu->r[30] + 0x0000019Cu;
/* 028E24A4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]);
/* 028E24A8 */ _t24 = cpu->r[30] + 0x00000198u;
/* 028E24A8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
/* 028E24AC */ _t25 = cpu->r[30] + 0x00000060u;
/* 028E24AC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 028E24B0 */ _t26 = cpu->r[30] + 0x000001A0u;
/* 028E24B0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
/* 028E24B4 */ goto L_028E24C0;
L_028E24B8: ; // 0x28e24b8
/* 028E24B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], 0x00000002u);
/* 028E24BC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E24BC */ _t28 = _t27 & 0x00000001u;
/* 028E24BC */ if (_t28) goto L_028E24C0; else goto L_028E24D4;
L_028E24C0: ; // 0x28e24c0
/* 028E24C0 */ cpu->r[7] = cpu->r[28];
/* 028E24C4 */ cpu->r[26] = cpu->r[27];
/* 028E24C8 */ cpu->r[31] = 0x00000000u;
/* 028E24CC */ cpu->f[29] = cpu->f[28];
/* 028E24D0 */ goto L_028E24D8;
L_028E24D4: ; // 0x28e24d4
/* 028E24D4 */ cpu->r[7] = cpu->r[29];
L_028E24D8: ; // 0x28e24d8
/* 028E24D8 */ _t29 = cpu->r[7] + 0x00000014u;
/* 028E24D8 */ rbrew_write32(cpu->mem, _t29, cpu->r[31]);
/* 028E24DC */ cpu->r[24] = 0x00000006u;
/* 028E24E0 */ _t30 = cpu->r[7] + 0x00000010u;
/* 028E24E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
/* 028E24E4 */ cpu->r[25] = cpu->r[26] + 0xFFFFFFECu;
/* 028E24E8 */ _t31 = cpu->r[7] + 0x00000000u;
/* 028E24E8 */ rbrew_write32(cpu->mem, _t31, cpu->r[31]);
/* 028E24EC */ cpu->f[30] = cpu->f[29];
/* 028E24F0 */ _t32 = cpu->r[7] + 0x0000000Cu;
/* 028E24F0 */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
/* 028E24F4 */ _t33 = cpu->r[7] + 0x00000008u;
/* 028E24F4 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
/* 028E24F8 */ _t34 = cpu->r[7] + 0x00000004u;
/* 028E24F8 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
L_028E24FC: ; // 0x28e24fc
/* 028E24FC */ cpu->f[1] = cpu->f[30];
/* 028E2500 */ cpu->r[25] = cpu->r[25] + 0x00000014u;
/* 028E2504 */ cpu->r[3] = cpu->r[25];
/* 028E2508 */ Gambit_fn_028CA0C8(cpu);
/* 028E250C */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
/* 028E250C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028E2510 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2510 */ _t36 = _t35 & 0x00000001u;
/* 028E2510 */ if (_t36) goto L_028E2514; else goto L_028E24FC;
L_028E2514: ; // 0x28e2514
/* 028E2514 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
/* 028E2518 */ cpu->r[27] = cpu->r[27] + 0x00000078u;
/* 028E251C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000002u);
/* 028E2520 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
/* 028E2524 */ cpu->r[26] = cpu->r[26] + 0x00000078u;
/* 028E2528 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2528 */ _t38 = _t37 & 0x00000001u;
/* 028E2528 */ if (_t38) goto L_028E24B8; else goto L_028E252C;
L_028E252C: ; // 0x28e252c
/* 028E252C */ cpu->f[1] = cpu->f[31];
/* 028E2530 */ cpu->r[3] = cpu->r[30] + 0x00000170u;
/* 028E2534 */ Gambit_fn_028CA0C8(cpu);
/* 028E2538 */ cpu->f[1] = cpu->f[31];
/* 028E253C */ cpu->r[3] = cpu->r[30] + 0x00000184u;
/* 028E2540 */ Gambit_fn_028CA0C8(cpu);
/* 028E2544 */ /* nop */
/* 028E2548 */ _t39 = cpu->r[1] + 0x00000048u;
/* 028E2548 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t39);
/* 028E254C */ _t40 = cpu->r[1] + 0x00000058u;
/* 028E254C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t40);
/* 028E2550 */ _t41 = cpu->r[1] + 0x00000040u;
/* 028E2550 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t41);
/* 028E2554 */ _t42 = cpu->r[1] + 0x00000050u;
/* 028E2554 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t42);
/* 028E2558 */ _t43 = cpu->r[1] + 0x00000038u;
/* 028E2558 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t43);
/* 028E255C */ _t44 = cpu->r[1] + 0x00000068u;
/* 028E255C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t44);
/* 028E2560 */ _t45 = cpu->r[1] + 0x00000030u;
/* 028E2560 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t45);
/* 028E2564 */ _t46 = cpu->r[1] + 0x00000060u;
/* 028E2564 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t46);
/* 028E2568 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2568 */ _t48 = _t47 & 0x00000001u;
/* 028E2568 */ if (_t48) goto L_028E256C; // else: addr-0 trap, fall-through
L_028E256C: ; // 0x28e256c
/* 028E256C */ _t49 = cpu->r[1] + 0x00000074u;
/* 028E256C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028E2570 */ cpu->lr = cpu->r[0];
/* 028E2574 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
/* 028E2578 */ return;
}
// fn_028E257C @ 0x28e257c
void Gambit_fn_028E257C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028E257C: ; // 0x28e257c
/* 028E257C */ cpu->r[0] = cpu->lr;
/* 028E2580 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E2580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2580 */ cpu->r[1] = _t0;
/* 028E2584 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E2584 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E2588 */ cpu->r[31] = cpu->r[3];
/* 028E258C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E258C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E2590 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E2590 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E2594 */ cpu->r[28] = cpu->r[4];
/* 028E2594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E2598 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E2598 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E259C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E259C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E25A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E25A0 */ _t7 = _t6 & 0x00000001u;
/* 028E25A0 */ if (_t7) goto L_028E261C; else goto L_028E25A4;
L_028E25A4: ; // 0x28e25a4
/* 028E25A4 */ cpu->r[29] = cpu->r[31] + 0x000001A4u;
/* 028E25A8 */ cpu->r[3] = cpu->r[29];
/* 028E25AC */ Gambit_fn_02836FFC(cpu);
/* 028E25B0 */ _t8 = cpu->r[28] + 0x0000000Cu;
/* 028E25B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028E25B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E25B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E25B8 */ _t10 = _t9 & 0x00000001u;
/* 028E25B8 */ if (_t10) goto L_028E25D8; else goto L_028E25BC;
L_028E25BC: ; // 0x28e25bc
/* 028E25BC */ cpu->r[0] = 0x00000000u;
/* 028E25C0 */ cpu->r[3] = cpu->r[28];
/* 028E25C4 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028E25C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028E25C8 */ Gambit_fn_02801EDC(cpu);
/* 028E25CC */ _t12 = cpu->r[30] + 0x00000008u;
/* 028E25CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028E25D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E25D4 */ _t13 = cpu->r[30] + 0x00000008u;
/* 028E25D4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
L_028E25D8: ; // 0x28e25d8
/* 028E25D8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E25DC */ cpu->r[4] = cpu->r[28];
/* 028E25E0 */ _t14 = cpu->r[28] + 0x0000000Cu;
/* 028E25E0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
/* 028E25E4 */ Gambit_fn_02801EBC(cpu);
/* 028E25E8 */ _t15 = cpu->r[31] + 0x0000001Cu;
/* 028E25E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
/* 028E25EC */ _t16 = cpu->r[31] + 0x00000074u;
/* 028E25EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028E25F0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E25F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E25F8 */ _t17 = cpu->r[31] + 0x0000001Cu;
/* 028E25F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
/* 028E25FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E25FC */ _t19 = _t18 & 0x00000001u;
/* 028E25FC */ if (_t19) goto L_028E2614; else goto L_028E2600;
L_028E2600: ; // 0x28e2600
/* 028E2600 */ _t20 = cpu->r[3] + 0x00000000u;
/* 028E2600 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028E2604 */ _t21 = cpu->r[9] + 0x00000024u;
/* 028E2604 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
/* 028E2608 */ cpu->ctr = cpu->r[10];
/* 028E260C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E2610 */ _t22 = cpu->r[31] + 0x00000078u;
/* 028E2610 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[1]);
L_028E2614: ; // 0x28e2614
/* 028E2614 */ cpu->r[3] = cpu->r[29];
/* 028E2618 */ Gambit_fn_02837030(cpu);
L_028E261C: ; // 0x28e261c
/* 028E261C */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E261C */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
/* 028E2620 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E2620 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
/* 028E2624 */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028E2624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E2628 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028E2628 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028E262C */ cpu->lr = cpu->r[0];
/* 028E2630 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028E2630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028E2634 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E2638 */ return;
}
// fn_028E2580 @ 0x28e2580
void Gambit_fn_028E2580(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028E2580: ; // 0x28e2580
/* 028E2580 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E2580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2580 */ cpu->r[1] = _t0;
/* 028E2584 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E2584 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E2588 */ cpu->r[31] = cpu->r[3];
/* 028E258C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E258C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E2590 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E2590 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E2594 */ cpu->r[28] = cpu->r[4];
/* 028E2594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E2598 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E2598 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E259C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E259C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E25A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E25A0 */ _t7 = _t6 & 0x00000001u;
/* 028E25A0 */ if (_t7) goto L_028E261C; else goto L_028E25A4;
L_028E25A4: ; // 0x28e25a4
/* 028E25A4 */ cpu->r[29] = cpu->r[31] + 0x000001A4u;
/* 028E25A8 */ cpu->r[3] = cpu->r[29];
/* 028E25AC */ Gambit_fn_02836FFC(cpu);
/* 028E25B0 */ _t8 = cpu->r[28] + 0x0000000Cu;
/* 028E25B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028E25B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E25B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E25B8 */ _t10 = _t9 & 0x00000001u;
/* 028E25B8 */ if (_t10) goto L_028E25D8; else goto L_028E25BC;
L_028E25BC: ; // 0x28e25bc
/* 028E25BC */ cpu->r[0] = 0x00000000u;
/* 028E25C0 */ cpu->r[3] = cpu->r[28];
/* 028E25C4 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028E25C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028E25C8 */ Gambit_fn_02801EDC(cpu);
/* 028E25CC */ _t12 = cpu->r[30] + 0x00000008u;
/* 028E25CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028E25D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E25D4 */ _t13 = cpu->r[30] + 0x00000008u;
/* 028E25D4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
L_028E25D8: ; // 0x28e25d8
/* 028E25D8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E25DC */ cpu->r[4] = cpu->r[28];
/* 028E25E0 */ _t14 = cpu->r[28] + 0x0000000Cu;
/* 028E25E0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
/* 028E25E4 */ Gambit_fn_02801EBC(cpu);
/* 028E25E8 */ _t15 = cpu->r[31] + 0x0000001Cu;
/* 028E25E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
/* 028E25EC */ _t16 = cpu->r[31] + 0x00000074u;
/* 028E25EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028E25F0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E25F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E25F8 */ _t17 = cpu->r[31] + 0x0000001Cu;
/* 028E25F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
/* 028E25FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E25FC */ _t19 = _t18 & 0x00000001u;
/* 028E25FC */ if (_t19) goto L_028E2614; else goto L_028E2600;
L_028E2600: ; // 0x28e2600
/* 028E2600 */ _t20 = cpu->r[3] + 0x00000000u;
/* 028E2600 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028E2604 */ _t21 = cpu->r[9] + 0x00000024u;
/* 028E2604 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
/* 028E2608 */ cpu->ctr = cpu->r[10];
/* 028E260C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E2610 */ _t22 = cpu->r[31] + 0x00000078u;
/* 028E2610 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[1]);
L_028E2614: ; // 0x28e2614
/* 028E2614 */ cpu->r[3] = cpu->r[29];
/* 028E2618 */ Gambit_fn_02837030(cpu);
L_028E261C: ; // 0x28e261c
/* 028E261C */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E261C */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
/* 028E2620 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E2620 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
/* 028E2624 */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028E2624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E2628 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028E2628 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028E262C */ cpu->lr = cpu->r[0];
/* 028E2630 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028E2630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028E2634 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E2638 */ return;
}
// fn_028E263C @ 0x28e263c
void Gambit_fn_028E263C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E263C: ; // 0x28e263c
/* 028E263C */ cpu->r[0] = cpu->lr;
/* 028E2640 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E2640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2640 */ cpu->r[1] = _t0;
/* 028E2644 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E2644 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E2648 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E2648 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E264C */ cpu->r[31] = cpu->r[4];
/* 028E264C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E2650 */ cpu->r[30] = cpu->r[3];
/* 028E2654 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E2654 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E2658 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E2658 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E265C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E265C */ _t6 = _t5 & 0x00000001u;
/* 028E265C */ if (_t6) goto L_028E26B0; else goto L_028E2660;
L_028E2660: ; // 0x28e2660
/* 028E2660 */ cpu->r[29] = cpu->r[30] + 0x000001A4u;
/* 028E2664 */ cpu->r[3] = cpu->r[29];
/* 028E2668 */ Gambit_fn_02836FFC(cpu);
/* 028E266C */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028E2670 */ cpu->r[4] = cpu->r[31];
/* 028E2674 */ Gambit_fn_02802290(cpu);
/* 028E2678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E267C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E267C */ _t8 = _t7 & 0x00000001u;
/* 028E267C */ if (_t8) goto L_028E26A8; else goto L_028E2680;
L_028E2680: ; // 0x28e2680
/* 028E2680 */ _t9 = cpu->r[31] + 0x0000000Cu;
/* 028E2680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E2684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E2688 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2688 */ _t11 = _t10 & 0x00000001u;
/* 028E2688 */ if (_t11) goto L_028E26A8; else goto L_028E268C;
L_028E268C: ; // 0x28e268c
/* 028E268C */ cpu->r[0] = 0x00000000u;
/* 028E2690 */ cpu->r[3] = cpu->r[31];
/* 028E2694 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028E2694 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028E2698 */ Gambit_fn_02801EDC(cpu);
/* 028E269C */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028E269C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028E26A0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E26A4 */ _t14 = cpu->r[30] + 0x0000001Cu;
/* 028E26A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
L_028E26A8: ; // 0x28e26a8
/* 028E26A8 */ cpu->r[3] = cpu->r[29];
/* 028E26AC */ Gambit_fn_02837030(cpu);
L_028E26B0: ; // 0x28e26b0
/* 028E26B0 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E26B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E26B4 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028E26B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E26B8 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028E26B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E26BC */ cpu->lr = cpu->r[0];
/* 028E26C0 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E26C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E26C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E26C8 */ return;
}
// fn_028E2640 @ 0x28e2640
void Gambit_fn_028E2640(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E2640: ; // 0x28e2640
/* 028E2640 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E2640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2640 */ cpu->r[1] = _t0;
/* 028E2644 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E2644 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E2648 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E2648 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E264C */ cpu->r[31] = cpu->r[4];
/* 028E264C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E2650 */ cpu->r[30] = cpu->r[3];
/* 028E2654 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E2654 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E2658 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E2658 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E265C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E265C */ _t6 = _t5 & 0x00000001u;
/* 028E265C */ if (_t6) goto L_028E26B0; else goto L_028E2660;
L_028E2660: ; // 0x28e2660
/* 028E2660 */ cpu->r[29] = cpu->r[30] + 0x000001A4u;
/* 028E2664 */ cpu->r[3] = cpu->r[29];
/* 028E2668 */ Gambit_fn_02836FFC(cpu);
/* 028E266C */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028E2670 */ cpu->r[4] = cpu->r[31];
/* 028E2674 */ Gambit_fn_02802290(cpu);
/* 028E2678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E267C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E267C */ _t8 = _t7 & 0x00000001u;
/* 028E267C */ if (_t8) goto L_028E26A8; else goto L_028E2680;
L_028E2680: ; // 0x28e2680
/* 028E2680 */ _t9 = cpu->r[31] + 0x0000000Cu;
/* 028E2680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E2684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E2688 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2688 */ _t11 = _t10 & 0x00000001u;
/* 028E2688 */ if (_t11) goto L_028E26A8; else goto L_028E268C;
L_028E268C: ; // 0x28e268c
/* 028E268C */ cpu->r[0] = 0x00000000u;
/* 028E2690 */ cpu->r[3] = cpu->r[31];
/* 028E2694 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028E2694 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028E2698 */ Gambit_fn_02801EDC(cpu);
/* 028E269C */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028E269C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028E26A0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E26A4 */ _t14 = cpu->r[30] + 0x0000001Cu;
/* 028E26A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
L_028E26A8: ; // 0x28e26a8
/* 028E26A8 */ cpu->r[3] = cpu->r[29];
/* 028E26AC */ Gambit_fn_02837030(cpu);
L_028E26B0: ; // 0x28e26b0
/* 028E26B0 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E26B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E26B4 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028E26B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E26B8 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028E26B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E26BC */ cpu->lr = cpu->r[0];
/* 028E26C0 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E26C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E26C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E26C8 */ return;
}
// fn_028E26CC @ 0x28e26cc
void Gambit_fn_028E26CC(CPUState* 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_028E26CC: ; // 0x28e26cc
/* 028E26CC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E26CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E26CC */ cpu->r[1] = _t0;
/* 028E26D0 */ /* nop */
/* 028E26D4 */ cpu->r[31] = cpu->r[3];
/* 028E26D8 */ cpu->r[28] = cpu->r[31] + 0x000001A4u;
/* 028E26DC */ cpu->r[3] = cpu->r[28];
/* 028E26E0 */ cpu->r[0] = cpu->lr;
/* 028E26E4 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E26E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E26E8 */ Gambit_fn_02836FFC(cpu);
/* 028E26EC */ _t2 = cpu->r[31] + 0x00000018u;
/* 028E26EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
/* 028E26F0 */ cpu->r[30] = cpu->r[31] + 0x00000014u;
/* 028E26F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
/* 028E26F8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E26F8 */ _t4 = _t3 & 0x00000001u;
/* 028E26F8 */ if (_t4) goto L_028E2730; else goto L_028E26FC;
L_028E26FC: ; // 0x28e26fc
/* 028E26FC */ cpu->r[27] = 0x00000000u;
L_028E2700: ; // 0x28e2700
/* 028E2700 */ cpu->r[3] = cpu->r[29];
/* 028E2704 */ _t5 = cpu->r[3] + 0x0000000Cu;
/* 028E2704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E2708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E270C */ _t6 = cpu->r[29] + 0x00000004u;
/* 028E270C */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
/* 028E2710 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2710 */ _t8 = _t7 & 0x00000001u;
/* 028E2710 */ if (_t8) goto L_028E2728; else goto L_028E2714;
L_028E2714: ; // 0x28e2714
/* 028E2714 */ _t9 = cpu->r[3] + 0x0000000Cu;
/* 028E2714 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
/* 028E2718 */ Gambit_fn_02801EDC(cpu);
/* 028E271C */ _t10 = cpu->r[30] + 0x00000008u;
/* 028E271C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028E2720 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028E2724 */ _t11 = cpu->r[30] + 0x00000008u;
/* 028E2724 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
L_028E2728: ; // 0x28e2728
/* 028E2728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
/* 028E272C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E272C */ _t13 = _t12 & 0x00000001u;
/* 028E272C */ if (_t13) goto L_028E2730; else goto L_028E2700;
L_028E2730: ; // 0x28e2730
/* 028E2730 */ _t14 = cpu->r[31] + 0x00000074u;
/* 028E2730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028E2734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2738 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2738 */ _t16 = _t15 & 0x00000001u;
/* 028E2738 */ if (_t16) goto L_028E2754; else goto L_028E273C;
L_028E273C: ; // 0x28e273c
/* 028E273C */ _t17 = cpu->r[3] + 0x00000000u;
/* 028E273C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028E2740 */ _t18 = cpu->r[12] + 0x00000024u;
/* 028E2740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E2744 */ cpu->ctr = cpu->r[0];
/* 028E2748 */ cpu->r[4] = 0x00000000u;
/* 028E274C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E2750 */ _t19 = cpu->r[31] + 0x00000078u;
/* 028E2750 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[1]);
L_028E2754: ; // 0x28e2754
/* 028E2754 */ cpu->r[3] = cpu->r[28];
/* 028E2758 */ Gambit_fn_02837030(cpu);
/* 028E275C */ /* nop */
/* 028E2760 */ _t20 = cpu->r[1] + 0x00000024u;
/* 028E2760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028E2764 */ cpu->lr = cpu->r[0];
/* 028E2768 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E276C */ return;
}
// fn_028E2770 @ 0x28e2770
void Gambit_fn_028E2770(CPUState* 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_028E2770: ; // 0x28e2770
/* 028E2770 */ cpu->r[0] = cpu->lr;
/* 028E2774 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E2774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2774 */ cpu->r[1] = _t0;
/* 028E2778 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E2778 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E277C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E277C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E2780 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E2780 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E2784 */ cpu->r[28] = cpu->r[3];
/* 028E2788 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E2788 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E278C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E278C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E2790 */ cpu->r[29] = cpu->r[4];
/* 028E2794 */ _t6 = cpu->r[28] + 0x00000024u;
/* 028E2794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E2798 */ cpu->r[30] = 0x00000000u;
/* 028E279C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E27A0 */ _t7 = cpu->r[28] + 0x00000020u;
/* 028E27A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
/* 028E27A4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E27A4 */ _t9 = _t8 & 0x00000001u;
/* 028E27A4 */ if (_t9) goto L_028E27A8; else goto L_028E27D8;
L_028E27A8: ; // 0x28e27a8
/* 028E27A8 */ cpu->r[31] = 0x00000000u;
L_028E27AC: ; // 0x28e27ac
/* 028E27AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
/* 028E27B0 */ _t10 = cpu->r[28] + 0x00000028u;
/* 028E27B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028E27B4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E27B4 */ _t12 = _t11 & 0x00000001u;
/* 028E27B4 */ if (_t12) goto L_028E27B8; else goto L_028E27BC;
L_028E27B8: ; // 0x28e27b8
/* 028E27B8 */ cpu->r[3] = cpu->r[3] + cpu->r[31];
L_028E27BC: ; // 0x28e27bc
/* 028E27BC */ cpu->r[4] = cpu->r[29];
/* 028E27C0 */ Gambit_fn_028E3078(cpu);
/* 028E27C4 */ _t13 = cpu->r[28] + 0x00000024u;
/* 028E27C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E27C8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E27CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E27D0 */ cpu->r[31] = cpu->r[31] + 0x00000718u;
/* 028E27D4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E27D4 */ _t15 = _t14 & 0x00000001u;
/* 028E27D4 */ if (_t15) goto L_028E27AC; else goto L_028E27D8;
L_028E27D8: ; // 0x28e27d8
/* 028E27D8 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E27D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028E27DC */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E27DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E27E0 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E27E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E27E4 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E27E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E27E8 */ cpu->lr = cpu->r[0];
/* 028E27EC */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E27EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E27F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E27F4 */ return;
}
// fn_028E2774 @ 0x28e2774
void Gambit_fn_028E2774(CPUState* 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_028E2774: ; // 0x28e2774
/* 028E2774 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E2774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2774 */ cpu->r[1] = _t0;
/* 028E2778 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E2778 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E277C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E277C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E2780 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E2780 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E2784 */ cpu->r[28] = cpu->r[3];
/* 028E2788 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E2788 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E278C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E278C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E2790 */ cpu->r[29] = cpu->r[4];
/* 028E2794 */ _t6 = cpu->r[28] + 0x00000024u;
/* 028E2794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E2798 */ cpu->r[30] = 0x00000000u;
/* 028E279C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E27A0 */ _t7 = cpu->r[28] + 0x00000020u;
/* 028E27A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
/* 028E27A4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E27A4 */ _t9 = _t8 & 0x00000001u;
/* 028E27A4 */ if (_t9) goto L_028E27A8; else goto L_028E27D8;
L_028E27A8: ; // 0x28e27a8
/* 028E27A8 */ cpu->r[31] = 0x00000000u;
L_028E27AC: ; // 0x28e27ac
/* 028E27AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
/* 028E27B0 */ _t10 = cpu->r[28] + 0x00000028u;
/* 028E27B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028E27B4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E27B4 */ _t12 = _t11 & 0x00000001u;
/* 028E27B4 */ if (_t12) goto L_028E27B8; else goto L_028E27BC;
L_028E27B8: ; // 0x28e27b8
/* 028E27B8 */ cpu->r[3] = cpu->r[3] + cpu->r[31];
L_028E27BC: ; // 0x28e27bc
/* 028E27BC */ cpu->r[4] = cpu->r[29];
/* 028E27C0 */ Gambit_fn_028E3078(cpu);
/* 028E27C4 */ _t13 = cpu->r[28] + 0x00000024u;
/* 028E27C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E27C8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E27CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E27D0 */ cpu->r[31] = cpu->r[31] + 0x00000718u;
/* 028E27D4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E27D4 */ _t15 = _t14 & 0x00000001u;
/* 028E27D4 */ if (_t15) goto L_028E27AC; else goto L_028E27D8;
L_028E27D8: ; // 0x28e27d8
/* 028E27D8 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E27D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028E27DC */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E27DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E27E0 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E27E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E27E4 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E27E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E27E8 */ cpu->lr = cpu->r[0];
/* 028E27EC */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E27EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E27F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E27F4 */ return;
}
// fn_028E27F8 @ 0x28e27f8
void Gambit_fn_028E27F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028E27F8: ; // 0x28e27f8
/* 028E27F8 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028E27F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E27FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028E2800 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2800 */ _t2 = _t1 & 0x00000001u;
/* 028E2800 */ _t3 = _t2 ^ 0x00000001u;
/* 028E2800 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E2800 */ goto L_028E2804;
L_028E2804: ; // 0x28e2804
/* 028E2804 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028E2808 */ cpu->r[12] = cpu->r[3] + 0x00000060u;
/* 028E280C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E280C */ _t5 = _t4 & 0x00000001u;
/* 028E280C */ if (_t5) goto L_028E2810; else goto L_028E2818;
L_028E2810: ; // 0x28e2810
/* 028E2810 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E2814 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028E2818: ; // 0x28e2818
/* 028E2818 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028E2818 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
/* 028E281C */ return;
}
// fn_028E2820 @ 0x28e2820
void Gambit_fn_028E2820(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E2820: ; // 0x28e2820
/* 028E2820 */ _t0 = cpu->r[5] + 0x00000000u;
/* 028E2820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E2824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028E2828 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2828 */ _t2 = _t1 & 0x00000001u;
/* 028E2828 */ _t3 = _t2 ^ 0x00000001u;
/* 028E2828 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E2828 */ goto L_028E282C;
L_028E282C: ; // 0x28e282c
/* 028E282C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028E2830 */ cpu->r[12] = cpu->r[3] + 0x00000030u;
/* 028E2834 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2834 */ _t5 = _t4 & 0x00000001u;
/* 028E2834 */ if (_t5) goto L_028E2838; else goto L_028E2840;
L_028E2838: ; // 0x28e2838
/* 028E2838 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000018u);
/* 028E283C */ cpu->r[12] = cpu->r[12] + cpu->r[10];
L_028E2840: ; // 0x28e2840
/* 028E2840 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028E2840 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
/* 028E2844 */ _t7 = cpu->r[4] + 0x00000000u;
/* 028E2844 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[0]);
/* 028E2848 */ _t8 = cpu->r[12] + 0x00000008u;
/* 028E2848 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t8);
/* 028E284C */ _t9 = cpu->r[4] + 0x00000008u;
/* 028E284C */ rbrew_write_f64(cpu->mem, _t9, cpu->f[0]);
/* 028E2850 */ _t10 = cpu->r[12] + 0x00000010u;
/* 028E2850 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t10);
/* 028E2854 */ _t11 = cpu->r[4] + 0x00000010u;
/* 028E2854 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[0]);
/* 028E2858 */ return;
}
// fn_028E285C @ 0x28e285c
void Gambit_fn_028E285C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E285C: ; // 0x28e285c
/* 028E285C */ _t0 = cpu->r[1] + 0xFFFFFF90u;
/* 028E285C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E285C */ cpu->r[1] = _t0;
/* 028E2860 */ _t1 = cpu->r[1] + 0x00000030u;
/* 028E2860 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
/* 028E2864 */ /* nop */
/* 028E2868 */ _t2 = cpu->r[1] + 0x00000050u;
/* 028E2868 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028E286C */ cpu->r[0] = cpu->lr;
/* 028E2870 */ _t3 = cpu->r[1] + 0x00000038u;
/* 028E2870 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[28]);
/* 028E2874 */ /* nop */
/* 028E2878 */ _t4 = cpu->r[1] + 0x00000060u;
/* 028E2878 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
/* 028E287C */ _t5 = cpu->r[1] + 0x00000058u;
/* 028E287C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
/* 028E2880 */ /* nop */
/* 028E2884 */ _t6 = cpu->r[1] + 0x00000040u;
/* 028E2884 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
/* 028E2888 */ _t7 = cpu->r[1] + 0x00000068u;
/* 028E2888 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028E288C */ /* nop */
/* 028E2890 */ _t8 = cpu->r[1] + 0x00000074u;
/* 028E2890 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E2894 */ _t9 = cpu->r[1] + 0x00000048u;
/* 028E2894 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
/* 028E2898 */ /* nop */
/* 028E289C */ cpu->r[30] = cpu->r[3];
/* 028E289C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E28A0 */ cpu->r[31] = cpu->r[4];
/* 028E28A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E28A4 */ _t11 = _t10 & 0x00000001u;
/* 028E28A4 */ if (_t11) goto L_028E28A8; else goto L_028E28B8;
L_028E28A8: ; // 0x28e28a8
/* 028E28A8 */ cpu->r[3] = 0x000001E8u;
/* 028E28AC */ Gambit_fn_02801A78(cpu);
/* 028E28B0 */ cpu->r[30] = cpu->r[3];
/* 028E28B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E28B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E28B4 */ _t13 = _t12 & 0x00000001u;
/* 028E28B4 */ if (_t13) goto L_028E2B14; else goto L_028E28B8;
L_028E28B8: ; // 0x28e28b8
/* 028E28B8 */ cpu->r[3] = cpu->r[30];
/* 028E28BC */ Gambit_fn_028DA390(cpu);
/* 028E28C0 */ cpu->r[12] = 0x10140000u;
/* 028E28C4 */ cpu->r[12] = cpu->r[12] + 0xFFFFB690u;
/* 028E28C8 */ cpu->r[0] = 0x10140000u;
/* 028E28CC */ _t14 = cpu->r[30] + 0x00000004u;
/* 028E28CC */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
/* 028E28D0 */ cpu->r[29] = 0x00000000u;
/* 028E28D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFB6E8u;
/* 028E28D8 */ _t15 = cpu->r[30] + 0x0000000Cu;
/* 028E28D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
/* 028E28DC */ _t16 = cpu->r[30] + 0x00000008u;
/* 028E28DC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E28E0 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028E28E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E28E4 */ _t17 = cpu->r[30] + 0x00000010u;
/* 028E28E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
/* 028E28E8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E28E8 */ _t19 = _t18 & 0x00000001u;
/* 028E28E8 */ if (_t19) goto L_028E28EC; else goto L_028E28FC;
L_028E28EC: ; // 0x28e28ec
/* 028E28EC */ cpu->r[3] = 0x0000000Cu;
/* 028E28F0 */ Gambit_fn_02801A78(cpu);
/* 028E28F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E28F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E28F8 */ _t21 = _t20 & 0x00000001u;
/* 028E28F8 */ if (_t21) goto L_028E2920; else goto L_028E28FC;
L_028E28FC: ; // 0x28e28fc
/* 028E28FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2900 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2900 */ _t23 = _t22 & 0x00000001u;
/* 028E2900 */ if (_t23) goto L_028E2904; else goto L_028E2914;
L_028E2904: ; // 0x28e2904
/* 028E2904 */ cpu->r[3] = 0x0000000Cu;
/* 028E2908 */ Gambit_fn_02801A78(cpu);
/* 028E290C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2910 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2910 */ _t25 = _t24 & 0x00000001u;
/* 028E2910 */ if (_t25) goto L_028E2920; else goto L_028E2914;
L_028E2914: ; // 0x28e2914
/* 028E2914 */ _t26 = cpu->r[3] + 0x00000004u;
/* 028E2914 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
/* 028E2918 */ _t27 = cpu->r[3] + 0x00000008u;
/* 028E2918 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
/* 028E291C */ _t28 = cpu->r[3] + 0x00000000u;
/* 028E291C */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
L_028E2920: ; // 0x28e2920
/* 028E2920 */ cpu->r[3] = cpu->r[30] + 0x00000024u;
/* 028E2920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2924 */ _t29 = cpu->r[30] + 0x00000020u;
/* 028E2924 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
/* 028E2928 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2928 */ _t31 = _t30 & 0x00000001u;
/* 028E2928 */ if (_t31) goto L_028E292C; else goto L_028E293C;
L_028E292C: ; // 0x28e292c
/* 028E292C */ cpu->r[3] = 0x00000008u;
/* 028E2930 */ Gambit_fn_02801A78(cpu);
/* 028E2934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2938 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2938 */ _t33 = _t32 & 0x00000001u;
/* 028E2938 */ if (_t33) goto L_028E2944; else goto L_028E293C;
L_028E293C: ; // 0x28e293c
/* 028E293C */ _t34 = cpu->r[3] + 0x00000004u;
/* 028E293C */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
/* 028E2940 */ _t35 = cpu->r[3] + 0x00000000u;
/* 028E2940 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
L_028E2944: ; // 0x28e2944
/* 028E2944 */ cpu->r[28] = cpu->r[30] + 0x00000030u;
/* 028E2948 */ cpu->r[6] = 0x028E0000u;
/* 028E294C */ cpu->r[5] = 0x00000018u;
/* 028E2950 */ cpu->r[3] = cpu->r[28];
/* 028E2954 */ cpu->r[4] = 0x00000002u;
/* 028E2958 */ cpu->r[6] = cpu->r[6] + 0x00002B68u;
/* 028E295C */ _t36 = cpu->r[30] + 0x0000002Cu;
/* 028E295C */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
/* 028E2960 */ Gambit_fn_02C82E00(cpu);
/* 028E2964 */ cpu->r[11] = 0x10140000u;
/* 028E2968 */ cpu->r[10] = 0x10140000u;
/* 028E296C */ _t37 = cpu->r[11] + 0xFFFFB684u;
/* 028E296C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
/* 028E2970 */ cpu->r[0] = 0x00000000u;
/* 028E2974 */ _t38 = cpu->r[30] + 0x00000074u;
/* 028E2974 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
/* 028E2978 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
/* 028E297C */ _t39 = cpu->r[10] + 0xFFFFB638u;
/* 028E297C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t39);
/* 028E2980 */ cpu->r[5] = 0x00000014u;
/* 028E2984 */ _t40 = cpu->r[30] + 0x0000006Cu;
/* 028E2984 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]);
/* 028E2988 */ cpu->r[6] = 0x028E0000u;
/* 028E298C */ _t41 = cpu->r[30] + 0x00000078u;
/* 028E298C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[30]);
/* 028E2990 */ cpu->r[6] = cpu->r[6] + 0x00001A0Cu;
/* 028E2994 */ _t42 = cpu->r[30] + 0x0000007Cu;
/* 028E2994 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
/* 028E2998 */ cpu->r[4] = 0x0000000Cu;
/* 028E299C */ _t43 = cpu->r[30] + 0x00000070u;
/* 028E299C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[31]);
/* 028E29A0 */ cpu->r[3] = cpu->r[30] + 0x00000080u;
/* 028E29A4 */ _t44 = cpu->r[30] + 0x00000068u;
/* 028E29A4 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[31]);
/* 028E29A8 */ Gambit_fn_02C82E00(cpu);
/* 028E29AC */ cpu->f[1] = cpu->f[30];
/* 028E29B0 */ cpu->r[3] = cpu->r[30] + 0x00000170u;
/* 028E29B4 */ Gambit_fn_028CA0E4(cpu);
/* 028E29B8 */ cpu->f[1] = cpu->f[30];
/* 028E29BC */ cpu->r[3] = cpu->r[30] + 0x00000184u;
/* 028E29C0 */ Gambit_fn_028CA0E4(cpu);
/* 028E29C4 */ _t45 = cpu->r[30] + 0x00000198u;
/* 028E29C4 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[31]);
/* 028E29C8 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
/* 028E29CC */ _t46 = cpu->r[30] + 0x0000019Cu;
/* 028E29CC */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
/* 028E29D0 */ _t47 = cpu->r[30] + 0x000001A0u;
/* 028E29D0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[31]);
/* 028E29D4 */ Gambit_fn_02836EBC(cpu);
/* 028E29D8 */ cpu->r[0] = 0x00000001u;
/* 028E29DC */ _t48 = cpu->r[30] + 0x000001E1u;
/* 028E29DC */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[29]);
/* 028E29E0 */ _t49 = cpu->r[30] + 0x000001E0u;
/* 028E29E0 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
/* 028E29E4 */ _t50 = cpu->r[30] + 0x000001E2u;
/* 028E29E4 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[0]);
/* 028E29E8 */ Gambit_fn_028C2A24(cpu);
/* 028E29EC */ _t51 = cpu->r[3] + 0x0000001Cu;
/* 028E29EC */ cpu->r[26] = rbrew_read32(cpu->mem, _t51);
/* 028E29F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028E29F4 */ cpu->r[3] = cpu->r[31];
/* 028E29F8 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E29F8 */ _t53 = _t52 & 0x00000001u;
/* 028E29F8 */ if (_t53) goto L_028E29FC; else goto L_028E2A6C;
L_028E29FC: ; // 0x28e29fc
/* 028E29FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2A00 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2A00 */ _t55 = _t54 & 0x00000001u;
/* 028E2A00 */ if (_t55) goto L_028E2A04; else goto L_028E2A10;
L_028E2A04: ; // 0x28e2a04
/* 028E2A04 */ cpu->r[3] = 0x101D0000u;
/* 028E2A08 */ _t56 = cpu->r[3] + 0xFFFF98F0u;
/* 028E2A08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
/* 028E2A0C */ Gambit_fn_02826F20(cpu);
L_028E2A10: ; // 0x28e2a10
/* 028E2A10 */ _t57 = cpu->r[3] + 0x0000000Cu;
/* 028E2A10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
/* 028E2A14 */ _t58 = cpu->r[7] + 0x00000034u;
/* 028E2A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028E2A18 */ cpu->ctr = cpu->r[0];
/* 028E2A1C */ cpu->r[5] = 0x00000004u;
/* 028E2A20 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000718u);
/* 028E2A24 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E2A28 */ cpu->r[27] = cpu->r[3];
/* 028E2A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028E2A30 */ cpu->r[31] = cpu->r[26];
/* 028E2A34 */ cpu->r[6] = 0x00000000u;
/* 028E2A38 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E2A38 */ _t60 = _t59 & 0x00000001u;
/* 028E2A38 */ if (_t60) goto L_028E2A40; else goto L_028E2A3C;
L_028E2A3C: ; // 0x28e2a3c
/* 028E2A3C */ cpu->r[31] = 0x00000001u;
L_028E2A40: ; // 0x28e2a40
/* 028E2A40 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000718u);
L_028E2A44: ; // 0x28e2a44
/* 028E2A44 */ cpu->r[3] = cpu->r[27] + cpu->r[29];
/* 028E2A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2A48 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2A48 */ _t62 = _t61 & 0x00000001u;
/* 028E2A48 */ if (_t62) goto L_028E2A50; else goto L_028E2A4C;
L_028E2A4C: ; // 0x28e2a4c
/* 028E2A4C */ Gambit_fn_028E2D0C(cpu);
L_028E2A50: ; // 0x28e2a50
/* 028E2A50 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028E2A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E2A54 */ cpu->r[29] = cpu->r[29] + 0x00000718u;
/* 028E2A58 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2A58 */ _t64 = _t63 & 0x00000001u;
/* 028E2A58 */ if (_t64) goto L_028E2A5C; else goto L_028E2A44;
L_028E2A5C: ; // 0x28e2a5c
/* 028E2A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E2A60 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2A60 */ _t66 = _t65 & 0x00000001u;
/* 028E2A60 */ if (_t66) goto L_028E2A6C; else goto L_028E2A64;
L_028E2A64: ; // 0x28e2a64
/* 028E2A64 */ _t67 = cpu->r[30] + 0x00000028u;
/* 028E2A64 */ rbrew_write32(cpu->mem, _t67, cpu->r[27]);
/* 028E2A68 */ _t68 = cpu->r[30] + 0x00000024u;
/* 028E2A68 */ rbrew_write32(cpu->mem, _t68, cpu->r[26]);
L_028E2A6C: ; // 0x28e2a6c
/* 028E2A6C */ _t69 = cpu->r[30] + 0x00000060u;
/* 028E2A6C */ rbrew_write_f32(cpu->mem, _t69, cpu->f[30]);
/* 028E2A70 */ cpu->r[29] = 0x00000000u;
/* 028E2A74 */ cpu->r[26] = cpu->r[30] + 0x00000080u;
/* 028E2A78 */ cpu->r[27] = cpu->r[28];
/* 028E2A7C */ _t70 = cpu->r[30] + 0x00000064u;
/* 028E2A7C */ rbrew_write_f32(cpu->mem, _t70, cpu->f[31]);
/* 028E2A80 */ cpu->f[28] = cpu->f[31];
/* 028E2A84 */ goto L_028E2A90;
L_028E2A88: ; // 0x28e2a88
/* 028E2A88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
/* 028E2A8C */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2A8C */ _t72 = _t71 & 0x00000001u;
/* 028E2A8C */ if (_t72) goto L_028E2A90; else goto L_028E2AA4;
L_028E2A90: ; // 0x28e2a90
/* 028E2A90 */ cpu->r[9] = cpu->r[27];
/* 028E2A94 */ cpu->r[25] = cpu->r[26];
/* 028E2A98 */ cpu->r[31] = 0x00000000u;
/* 028E2A9C */ cpu->f[29] = cpu->f[28];
/* 028E2AA0 */ goto L_028E2AA8;
L_028E2AA4: ; // 0x28e2aa4
/* 028E2AA4 */ cpu->r[9] = cpu->r[28];
L_028E2AA8: ; // 0x28e2aa8
/* 028E2AA8 */ _t73 = cpu->r[9] + 0x00000014u;
/* 028E2AA8 */ rbrew_write32(cpu->mem, _t73, cpu->r[31]);
/* 028E2AAC */ cpu->r[23] = 0x00000006u;
/* 028E2AB0 */ _t74 = cpu->r[9] + 0x00000010u;
/* 028E2AB0 */ rbrew_write32(cpu->mem, _t74, cpu->r[31]);
/* 028E2AB4 */ cpu->r[24] = cpu->r[25] + 0xFFFFFFECu;
/* 028E2AB8 */ _t75 = cpu->r[9] + 0x00000000u;
/* 028E2AB8 */ rbrew_write32(cpu->mem, _t75, cpu->r[31]);
/* 028E2ABC */ cpu->f[30] = cpu->f[29];
/* 028E2AC0 */ _t76 = cpu->r[9] + 0x0000000Cu;
/* 028E2AC0 */ rbrew_write32(cpu->mem, _t76, cpu->r[31]);
/* 028E2AC4 */ _t77 = cpu->r[9] + 0x00000008u;
/* 028E2AC4 */ rbrew_write32(cpu->mem, _t77, cpu->r[31]);
/* 028E2AC8 */ _t78 = cpu->r[9] + 0x00000004u;
/* 028E2AC8 */ rbrew_write32(cpu->mem, _t78, cpu->r[31]);
L_028E2ACC: ; // 0x28e2acc
/* 028E2ACC */ cpu->f[1] = cpu->f[30];
/* 028E2AD0 */ cpu->r[24] = cpu->r[24] + 0x00000014u;
/* 028E2AD4 */ cpu->r[3] = cpu->r[24];
/* 028E2AD8 */ Gambit_fn_028CA0C8(cpu);
/* 028E2ADC */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
/* 028E2ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028E2AE0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2AE0 */ _t80 = _t79 & 0x00000001u;
/* 028E2AE0 */ if (_t80) goto L_028E2AE4; else goto L_028E2ACC;
L_028E2AE4: ; // 0x28e2ae4
/* 028E2AE4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E2AE8 */ cpu->r[26] = cpu->r[26] + 0x00000078u;
/* 028E2AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u);
/* 028E2AF0 */ cpu->r[27] = cpu->r[27] + 0x00000018u;
/* 028E2AF4 */ cpu->r[25] = cpu->r[25] + 0x00000078u;
/* 028E2AF8 */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2AF8 */ _t82 = _t81 & 0x00000001u;
/* 028E2AF8 */ if (_t82) goto L_028E2A88; else goto L_028E2AFC;
L_028E2AFC: ; // 0x28e2afc
/* 028E2AFC */ cpu->f[1] = cpu->f[31];
/* 028E2B00 */ cpu->r[3] = cpu->r[30] + 0x00000170u;
/* 028E2B04 */ Gambit_fn_028CA0C8(cpu);
/* 028E2B08 */ cpu->f[1] = cpu->f[31];
/* 028E2B0C */ cpu->r[3] = cpu->r[30] + 0x00000184u;
/* 028E2B10 */ Gambit_fn_028CA0C8(cpu);
L_028E2B14: ; // 0x28e2b14
/* 028E2B14 */ cpu->r[3] = cpu->r[30];
/* 028E2B18 */ /* nop */
/* 028E2B1C */ _t83 = cpu->r[1] + 0x00000048u;
/* 028E2B1C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t83);
/* 028E2B20 */ _t84 = cpu->r[1] + 0x00000058u;
/* 028E2B20 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t84);
/* 028E2B24 */ _t85 = cpu->r[1] + 0x00000040u;
/* 028E2B24 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t85);
/* 028E2B28 */ _t86 = cpu->r[1] + 0x00000050u;
/* 028E2B28 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t86);
/* 028E2B2C */ _t87 = cpu->r[1] + 0x00000038u;
/* 028E2B2C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t87);
/* 028E2B30 */ _t88 = cpu->r[1] + 0x00000068u;
/* 028E2B30 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t88);
/* 028E2B34 */ _t89 = cpu->r[1] + 0x00000030u;
/* 028E2B34 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t89);
/* 028E2B38 */ _t90 = cpu->r[1] + 0x00000060u;
/* 028E2B38 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t90);
/* 028E2B3C */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2B3C */ _t92 = _t91 & 0x00000001u;
/* 028E2B3C */ if (_t92) goto L_028E2B40; // else: addr-0 trap, fall-through
L_028E2B40: ; // 0x28e2b40
/* 028E2B40 */ _t93 = cpu->r[1] + 0x00000074u;
/* 028E2B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
/* 028E2B44 */ cpu->lr = cpu->r[0];
/* 028E2B48 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
/* 028E2B4C */ return;
}
// fn_028E2B50 @ 0x28e2b50
void Gambit_fn_028E2B50(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_028E2B50: ; // 0x28e2b50
/* 028E2B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2B54 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2B54 */ _t17 = _t16 & 0x00000001u;
/* 028E2B54 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E2B54 */ goto L_028E2B58;
L_028E2B58: ; // 0x28e2b58
/* 028E2B58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E2B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E2B5C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2B5C */ _t19 = _t18 & 0x00000001u;
/* 028E2B5C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E2B5C */ goto L_028E2B60;
L_028E2B60: ; // 0x28e2b60
/* 028E2B60 */ goto L_02801BB0;
}
// fn_028E2B64 @ 0x28e2b64
void Gambit_fn_028E2B64(CPUState* cpu) {
L_028E2B64: ; // 0x28e2b64
/* 028E2B64 */ return;
}
// fn_028E2B74 @ 0x28e2b74
void Gambit_fn_028E2B74(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E2B74: ; // 0x28e2b74
/* 028E2B74 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E2B74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2B74 */ cpu->r[1] = _t0;
/* 028E2B78 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2B78 */ _t2 = _t1 & 0x00000001u;
/* 028E2B78 */ if (_t2) goto L_028E2B7C; else goto L_028E2B8C;
L_028E2B7C: ; // 0x28e2b7c
/* 028E2B7C */ cpu->r[3] = 0x00000018u;
/* 028E2B80 */ Gambit_fn_02801A78(cpu);
/* 028E2B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2B88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2B88 */ _t4 = _t3 & 0x00000001u;
/* 028E2B88 */ if (_t4) goto L_028E2BA8; else goto L_028E2B8C;
L_028E2B8C: ; // 0x28e2b8c
/* 028E2B8C */ cpu->r[0] = 0x00000000u;
/* 028E2B90 */ _t5 = cpu->r[3] + 0x00000010u;
/* 028E2B90 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E2B94 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028E2B94 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E2B98 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028E2B98 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E2B9C */ _t8 = cpu->r[3] + 0x00000014u;
/* 028E2B9C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E2BA0 */ _t9 = cpu->r[3] + 0x0000000Cu;
/* 028E2BA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E2BA4 */ _t10 = cpu->r[3] + 0x00000004u;
/* 028E2BA4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
L_028E2BA8: ; // 0x28e2ba8
/* 028E2BA8 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E2BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028E2BAC */ cpu->lr = cpu->r[0];
/* 028E2BB0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E2BB4 */ return;
}
// fn_028E2BB8 @ 0x28e2bb8
void Gambit_fn_028E2BB8(CPUState* cpu) {
uint32_t _t0;
L_028E2BB8: ; // 0x28e2bb8
/* 028E2BB8 */ _t0 = cpu->r[3] + 0x0000007Cu;
/* 028E2BB8 */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[4]);
/* 028E2BBC */ return;
}
// fn_028E2BC0 @ 0x28e2bc0
void Gambit_fn_028E2BC0(CPUState* cpu) {
uint32_t _t0;
L_028E2BC0: ; // 0x28e2bc0
/* 028E2BC0 */ _t0 = cpu->r[3] + 0x00000068u;
/* 028E2BC0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
/* 028E2BC4 */ return;
}
// fn_028E2BC8 @ 0x28e2bc8
void Gambit_fn_028E2BC8(CPUState* cpu) {
uint32_t _t0;
L_028E2BC8: ; // 0x28e2bc8
/* 028E2BC8 */ _t0 = cpu->r[3] + 0x0000006Cu;
/* 028E2BC8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
/* 028E2BCC */ return;
}
// fn_028E2BD0 @ 0x28e2bd0
void Gambit_fn_028E2BD0(CPUState* cpu) {
uint32_t _t0;
L_028E2BD0: ; // 0x28e2bd0
/* 028E2BD0 */ _t0 = cpu->r[3] + 0x00000070u;
/* 028E2BD0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
/* 028E2BD4 */ return;
}
// fn_028E2BE4 @ 0x28e2be4
void Gambit_fn_028E2BE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028E2BE4: ; // 0x28e2be4
/* 028E2BE4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E2BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2BE4 */ cpu->r[1] = _t0;
/* 028E2BE8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2BE8 */ _t2 = _t1 & 0x00000001u;
/* 028E2BE8 */ if (_t2) goto L_028E2BEC; else goto L_028E2BFC;
L_028E2BEC: ; // 0x28e2bec
/* 028E2BEC */ cpu->r[3] = 0x0000001Cu;
/* 028E2BF0 */ Gambit_fn_02801A78(cpu);
/* 028E2BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2BF8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2BF8 */ _t4 = _t3 & 0x00000001u;
/* 028E2BF8 */ if (_t4) goto L_028E2C3C; else goto L_028E2BFC;
L_028E2BFC: ; // 0x28e2bfc
/* 028E2BFC */ cpu->r[0] = 0x10140000u;
/* 028E2C00 */ cpu->r[0] = cpu->r[0] + 0xFFFFB714u;
/* 028E2C04 */ cpu->r[8] = 0x101F0000u;
/* 028E2C08 */ _t5 = cpu->r[3] + 0x00000018u;
/* 028E2C08 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E2C0C */ _t6 = cpu->r[8] + 0x00006338u;
/* 028E2C0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028E2C0C */ cpu->r[8] = _t6;
/* 028E2C10 */ cpu->r[9] = 0x10140000u;
/* 028E2C14 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028E2C14 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028E2C18 */ _t8 = cpu->r[8] + 0x00000004u;
/* 028E2C18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028E2C1C */ _t9 = cpu->r[9] + 0xFFFFB6F8u;
/* 028E2C1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028E2C20 */ _t10 = cpu->r[3] + 0x00000004u;
/* 028E2C20 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
/* 028E2C24 */ cpu->r[0] = 0x00000000u;
/* 028E2C28 */ _t11 = cpu->r[8] + 0x00000008u;
/* 028E2C28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028E2C2C */ _t12 = cpu->r[3] + 0x00000014u;
/* 028E2C2C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
/* 028E2C30 */ _t13 = cpu->r[3] + 0x00000008u;
/* 028E2C30 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
/* 028E2C34 */ _t14 = cpu->r[3] + 0x0000000Cu;
/* 028E2C34 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028E2C38 */ _t15 = cpu->r[3] + 0x00000010u;
/* 028E2C38 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
L_028E2C3C: ; // 0x28e2c3c
/* 028E2C3C */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E2C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E2C40 */ cpu->lr = cpu->r[0];
/* 028E2C44 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E2C48 */ return;
}
// fn_028E2C4C @ 0x28e2c4c
void Gambit_fn_028E2C4C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028E2C4C: ; // 0x28e2c4c
/* 028E2C4C */ cpu->r[10] = 0x101F0000u;
/* 028E2C50 */ _t0 = cpu->r[10] + 0x00006338u;
/* 028E2C50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028E2C50 */ cpu->r[10] = _t0;
/* 028E2C54 */ cpu->r[12] = 0x10140000u;
/* 028E2C58 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028E2C58 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
/* 028E2C5C */ _t2 = cpu->r[10] + 0x00000004u;
/* 028E2C5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028E2C60 */ _t3 = cpu->r[12] + 0xFFFFB6F8u;
/* 028E2C60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028E2C64 */ _t4 = cpu->r[3] + 0x00000004u;
/* 028E2C64 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
/* 028E2C68 */ _t5 = cpu->r[10] + 0x00000008u;
/* 028E2C68 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
/* 028E2C6C */ _t6 = cpu->r[3] + 0x00000010u;
/* 028E2C6C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028E2C70 */ cpu->r[0] = 0x00000000u;
/* 028E2C74 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028E2C74 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
/* 028E2C78 */ _t8 = cpu->r[3] + 0x00000014u;
/* 028E2C78 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
/* 028E2C7C */ _t9 = cpu->r[3] + 0x0000000Cu;
/* 028E2C7C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028E2C80 */ return;
}
// fn_028E2C84 @ 0x28e2c84
void Gambit_fn_028E2C84(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E2C84: ; // 0x28e2c84
/* 028E2C84 */ cpu->r[12] = cpu->r[3];
/* 028E2C88 */ _t0 = cpu->r[12] + 0x0000000Cu;
/* 028E2C88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028E2C8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028E2C90 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2C90 */ _t2 = _t1 & 0x00000001u;
/* 028E2C90 */ if (_t2) goto L_028E2C94; else goto L_028E2CA8;
L_028E2C94: ; // 0x28e2c94
/* 028E2C94 */ cpu->r[0] = 0x00000001u;
/* 028E2C98 */ _t3 = cpu->r[12] + 0x0000000Cu;
/* 028E2C98 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028E2C9C */ cpu->r[3] = cpu->r[0];
/* 028E2CA0 */ _t4 = cpu->r[12] + 0x00000014u;
/* 028E2CA0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
/* 028E2CA4 */ return;
L_028E2CA8: ; // 0x28e2ca8
/* 028E2CA8 */ cpu->r[3] = 0x00000000u;
/* 028E2CAC */ return;
}
// fn_028E2CB0 @ 0x28e2cb0
void Gambit_fn_028E2CB0(CPUState* cpu) {
uint32_t _t0;
L_028E2CB0: ; // 0x28e2cb0
/* 028E2CB0 */ _t0 = cpu->r[3] + 0x00000010u;
/* 028E2CB0 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028E2CB4 */ return;
}
// fn_028E2CB8 @ 0x28e2cb8
void Gambit_fn_028E2CB8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028E2CB8: ; // 0x28e2cb8
/* 028E2CB8 */ cpu->r[0] = cpu->lr;
/* 028E2CBC */ cpu->r[11] = cpu->r[3];
/* 028E2CC0 */ cpu->r[8] = 0x00000000u;
/* 028E2CC4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E2CC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E2CC8 */ cpu->r[9] = cpu->r[11];
/* 028E2CCC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E2CCC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E2CCC */ cpu->r[1] = _t1;
/* 028E2CD0 */ goto L_028E2CDC;
L_028E2CD4: ; // 0x28e2cd4
/* 028E2CD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000040u);
/* 028E2CD8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2CD8 */ _t3 = _t2 & 0x00000001u;
/* 028E2CD8 */ if (_t3) goto L_028E2CDC; else goto L_028E2CE4;
L_028E2CDC: ; // 0x28e2cdc
/* 028E2CDC */ cpu->r[3] = cpu->r[9];
/* 028E2CE0 */ goto L_028E2CE8;
L_028E2CE4: ; // 0x28e2ce4
/* 028E2CE4 */ cpu->r[3] = cpu->r[11];
L_028E2CE8: ; // 0x28e2ce8
/* 028E2CE8 */ Gambit_fn_028E2C4C(cpu);
/* 028E2CEC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028E2CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000040u);
/* 028E2CF4 */ cpu->r[9] = cpu->r[9] + 0x0000001Cu;
/* 028E2CF8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2CF8 */ _t5 = _t4 & 0x00000001u;
/* 028E2CF8 */ if (_t5) goto L_028E2CD4; else goto L_028E2CFC;
L_028E2CFC: ; // 0x28e2cfc
/* 028E2CFC */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028E2CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E2D00 */ cpu->lr = cpu->r[0];
/* 028E2D04 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E2D08 */ return;
}
// fn_028E2CCC @ 0x28e2ccc
void Gambit_fn_028E2CCC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E2CCC: ; // 0x28e2ccc
/* 028E2CCC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E2CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2CCC */ cpu->r[1] = _t0;
/* 028E2CD0 */ goto L_028E2CDC;
L_028E2CD4: ; // 0x28e2cd4
/* 028E2CD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000040u);
/* 028E2CD8 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2CD8 */ _t2 = _t1 & 0x00000001u;
/* 028E2CD8 */ if (_t2) goto L_028E2CDC; else goto L_028E2CE4;
L_028E2CDC: ; // 0x28e2cdc
/* 028E2CDC */ cpu->r[3] = cpu->r[9];
/* 028E2CE0 */ goto L_028E2CE8;
L_028E2CE4: ; // 0x28e2ce4
/* 028E2CE4 */ cpu->r[3] = cpu->r[11];
L_028E2CE8: ; // 0x28e2ce8
/* 028E2CE8 */ Gambit_fn_028E2C4C(cpu);
/* 028E2CEC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028E2CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000040u);
/* 028E2CF4 */ cpu->r[9] = cpu->r[9] + 0x0000001Cu;
/* 028E2CF8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2CF8 */ _t4 = _t3 & 0x00000001u;
/* 028E2CF8 */ if (_t4) goto L_028E2CD4; else goto L_028E2CFC;
L_028E2CFC: ; // 0x28e2cfc
/* 028E2CFC */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028E2CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E2D00 */ cpu->lr = cpu->r[0];
/* 028E2D04 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E2D08 */ return;
}
// fn_028E2D0C @ 0x28e2d0c
void Gambit_fn_028E2D0C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028E2D0C: ; // 0x28e2d0c
/* 028E2D0C */ cpu->r[0] = cpu->lr;
/* 028E2D10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E2D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2D10 */ cpu->r[1] = _t0;
/* 028E2D14 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E2D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E2D18 */ cpu->r[31] = cpu->r[3];
/* 028E2D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E2D1C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E2D1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E2D20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2D20 */ _t4 = _t3 & 0x00000001u;
/* 028E2D20 */ if (_t4) goto L_028E2D24; else goto L_028E2D34;
L_028E2D24: ; // 0x28e2d24
/* 028E2D24 */ cpu->r[3] = 0x00000718u;
/* 028E2D28 */ Gambit_fn_02801A78(cpu);
/* 028E2D2C */ cpu->r[31] = cpu->r[3];
/* 028E2D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E2D30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2D30 */ _t6 = _t5 & 0x00000001u;
/* 028E2D30 */ if (_t6) goto L_028E2D90; else goto L_028E2D34;
L_028E2D34: ; // 0x28e2d34
/* 028E2D34 */ cpu->r[0] = 0x10140000u;
/* 028E2D38 */ cpu->r[6] = 0x028E0000u;
/* 028E2D3C */ cpu->r[3] = cpu->r[31];
/* 028E2D40 */ cpu->r[0] = cpu->r[0] + 0xFFFFB724u;
/* 028E2D44 */ cpu->r[6] = cpu->r[6] + 0x00002BD8u;
/* 028E2D48 */ cpu->r[4] = 0x00000040u;
/* 028E2D4C */ cpu->r[5] = 0x0000001Cu;
/* 028E2D50 */ _t7 = cpu->r[31] + 0x00000714u;
/* 028E2D50 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E2D54 */ Gambit_fn_02C82E00(cpu);
/* 028E2D58 */ cpu->r[12] = 0x10140000u;
/* 028E2D5C */ cpu->r[0] = 0x00000000u;
/* 028E2D60 */ _t8 = cpu->r[12] + 0xFFFFB6FCu;
/* 028E2D60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028E2D64 */ cpu->r[12] = 0x10140000u;
/* 028E2D68 */ _t9 = cpu->r[31] + 0x00000700u;
/* 028E2D68 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E2D6C */ _t10 = cpu->r[12] + 0xFFFFB700u;
/* 028E2D6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028E2D70 */ cpu->r[12] = 0x10140000u;
/* 028E2D74 */ _t11 = cpu->r[31] + 0x00000708u;
/* 028E2D74 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
/* 028E2D78 */ _t12 = cpu->r[12] + 0xFFFFB6F8u;
/* 028E2D78 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
/* 028E2D7C */ _t13 = cpu->r[31] + 0x0000070Cu;
/* 028E2D7C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
/* 028E2D80 */ _t14 = cpu->r[31] + 0x00000710u;
/* 028E2D80 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028E2D84 */ cpu->r[3] = cpu->r[31];
/* 028E2D88 */ _t15 = cpu->r[31] + 0x00000704u;
/* 028E2D88 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
/* 028E2D8C */ Gambit_fn_028E2CB8(cpu);
L_028E2D90: ; // 0x28e2d90
/* 028E2D90 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E2D90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E2D94 */ cpu->r[3] = cpu->r[31];
/* 028E2D98 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E2D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028E2D9C */ cpu->lr = cpu->r[0];
/* 028E2DA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E2DA4 */ return;
}
// fn_028E2D10 @ 0x28e2d10
void Gambit_fn_028E2D10(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028E2D10: ; // 0x28e2d10
/* 028E2D10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E2D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2D10 */ cpu->r[1] = _t0;
/* 028E2D14 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E2D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E2D18 */ cpu->r[31] = cpu->r[3];
/* 028E2D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E2D1C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E2D1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E2D20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2D20 */ _t4 = _t3 & 0x00000001u;
/* 028E2D20 */ if (_t4) goto L_028E2D24; else goto L_028E2D34;
L_028E2D24: ; // 0x28e2d24
/* 028E2D24 */ cpu->r[3] = 0x00000718u;
/* 028E2D28 */ Gambit_fn_02801A78(cpu);
/* 028E2D2C */ cpu->r[31] = cpu->r[3];
/* 028E2D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E2D30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2D30 */ _t6 = _t5 & 0x00000001u;
/* 028E2D30 */ if (_t6) goto L_028E2D90; else goto L_028E2D34;
L_028E2D34: ; // 0x28e2d34
/* 028E2D34 */ cpu->r[0] = 0x10140000u;
/* 028E2D38 */ cpu->r[6] = 0x028E0000u;
/* 028E2D3C */ cpu->r[3] = cpu->r[31];
/* 028E2D40 */ cpu->r[0] = cpu->r[0] + 0xFFFFB724u;
/* 028E2D44 */ cpu->r[6] = cpu->r[6] + 0x00002BD8u;
/* 028E2D48 */ cpu->r[4] = 0x00000040u;
/* 028E2D4C */ cpu->r[5] = 0x0000001Cu;
/* 028E2D50 */ _t7 = cpu->r[31] + 0x00000714u;
/* 028E2D50 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E2D54 */ Gambit_fn_02C82E00(cpu);
/* 028E2D58 */ cpu->r[12] = 0x10140000u;
/* 028E2D5C */ cpu->r[0] = 0x00000000u;
/* 028E2D60 */ _t8 = cpu->r[12] + 0xFFFFB6FCu;
/* 028E2D60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028E2D64 */ cpu->r[12] = 0x10140000u;
/* 028E2D68 */ _t9 = cpu->r[31] + 0x00000700u;
/* 028E2D68 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E2D6C */ _t10 = cpu->r[12] + 0xFFFFB700u;
/* 028E2D6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028E2D70 */ cpu->r[12] = 0x10140000u;
/* 028E2D74 */ _t11 = cpu->r[31] + 0x00000708u;
/* 028E2D74 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
/* 028E2D78 */ _t12 = cpu->r[12] + 0xFFFFB6F8u;
/* 028E2D78 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
/* 028E2D7C */ _t13 = cpu->r[31] + 0x0000070Cu;
/* 028E2D7C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
/* 028E2D80 */ _t14 = cpu->r[31] + 0x00000710u;
/* 028E2D80 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028E2D84 */ cpu->r[3] = cpu->r[31];
/* 028E2D88 */ _t15 = cpu->r[31] + 0x00000704u;
/* 028E2D88 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
/* 028E2D8C */ Gambit_fn_028E2CB8(cpu);
L_028E2D90: ; // 0x28e2d90
/* 028E2D90 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E2D90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E2D94 */ cpu->r[3] = cpu->r[31];
/* 028E2D98 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E2D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028E2D9C */ cpu->lr = cpu->r[0];
/* 028E2DA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E2DA4 */ return;
}
// fn_028E2DA8 @ 0x28e2da8
void Gambit_fn_028E2DA8(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_028E2DA8: ; // 0x28e2da8
/* 028E2DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2DAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2DAC */ _t17 = _t16 & 0x00000001u;
/* 028E2DAC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E2DAC */ goto L_028E2DB0;
L_028E2DB0: ; // 0x28e2db0
/* 028E2DB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E2DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E2DB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2DB4 */ _t19 = _t18 & 0x00000001u;
/* 028E2DB4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E2DB4 */ goto L_028E2DB8;
L_028E2DB8: ; // 0x28e2db8
/* 028E2DB8 */ goto L_02801BB0;
}
// fn_028E2DBC @ 0x28e2dbc
void Gambit_fn_028E2DBC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E2DBC: ; // 0x28e2dbc
/* 028E2DBC */ cpu->r[0] = cpu->lr;
/* 028E2DC0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E2DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2DC0 */ cpu->r[1] = _t0;
/* 028E2DC4 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028E2DC4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E2DC8 */ /* nop */
/* 028E2DCC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E2DCC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E2DD0 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028E2DD0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028E2DD4 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E2DD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E2DD8 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028E2DD8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028E2DDC */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028E2DDC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E2DE0 */ cpu->r[29] = cpu->r[4];
/* 028E2DE4 */ _t7 = cpu->r[29] + 0x00000004u;
/* 028E2DE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E2DE8 */ cpu->f[13] = cpu->f[0] * cpu->f[0];
/* 028E2DEC */ _t8 = cpu->r[29] + 0x00000000u;
/* 028E2DEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
/* 028E2DF0 */ cpu->f[0] = fma(cpu->f[12], cpu->f[12], cpu->f[13]);
/* 028E2DF4 */ _t9 = cpu->r[29] + 0x00000008u;
/* 028E2DF4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
/* 028E2DF8 */ cpu->r[30] = cpu->r[5];
/* 028E2DFC */ cpu->r[31] = cpu->r[3];
/* 028E2E00 */ cpu->f[31] = fma(cpu->f[11], cpu->f[11], cpu->f[0]);
/* 028E2E04 */ Gambit_fn_028C29DC(cpu);
/* 028E2E08 */ _t10 = cpu->r[3] + 0x0000004Cu;
/* 028E2E08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028E2E0C */ cpu->f[0] = cpu->f[31] / cpu->f[13];
/* 028E2E10 */ _t11 = cpu->r[31] + 0x00000704u;
/* 028E2E10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
/* 028E2E14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028E2E18 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E18 */ _t13 = _t12 & 0x00000001u;
/* 028E2E18 */ if (_t13) goto L_028E2E1C; else goto L_028E2E58;
L_028E2E1C: ; // 0x28e2e1c
/* 028E2E1C */ cpu->r[8] = 0x10140000u;
/* 028E2E20 */ _t14 = cpu->r[29] + 0x00000000u;
/* 028E2E20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
/* 028E2E24 */ _t15 = cpu->r[8] + 0xFFFFB6FCu;
/* 028E2E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
/* 028E2E28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028E2E2C */ _t16 = cpu->r[29] + 0x00000008u;
/* 028E2E2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
/* 028E2E30 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2E30 */ _t18 = _t17 & 0x00000001u;
/* 028E2E30 */ if (_t18) goto L_028E2E34; else goto L_028E2E84;
L_028E2E34: ; // 0x28e2e34
/* 028E2E34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 028E2E38 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2E38 */ _t20 = _t19 & 0x00000001u;
/* 028E2E38 */ if (_t20) goto L_028E2E3C; else goto L_028E2E84;
L_028E2E3C: ; // 0x28e2e3c
/* 028E2E3C */ cpu->r[11] = 0x00000010u;
/* 028E2E40 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
/* 028E2E44 */ cpu->f[1] = cpu->f[31];
/* 028E2E48 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
/* 028E2E4C */ Gambit_fn_028E2C84(cpu);
/* 028E2E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2E54 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2E54 */ _t22 = _t21 & 0x00000001u;
/* 028E2E54 */ if (_t22) goto L_028E2E58; else goto L_028E2FE8;
L_028E2E58: ; // 0x28e2e58
/* 028E2E58 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028E2E58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028E2E5C */ _t24 = cpu->r[1] + 0x00000020u;
/* 028E2E5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028E2E60 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028E2E60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028E2E64 */ _t26 = cpu->r[1] + 0x00000018u;
/* 028E2E64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
/* 028E2E68 */ _t27 = cpu->r[1] + 0x00000010u;
/* 028E2E68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028E2E6C */ cpu->r[3] = 0x00000000u;
/* 028E2E70 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E70 */ _t29 = _t28 & 0x00000001u;
/* 028E2E70 */ if (_t29) goto L_028E2E74; // else: addr-0 trap, fall-through
L_028E2E74: ; // 0x28e2e74
/* 028E2E74 */ _t30 = cpu->r[1] + 0x0000002Cu;
/* 028E2E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E2E78 */ cpu->lr = cpu->r[0];
/* 028E2E7C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E2E80 */ return;
L_028E2E84: ; // 0x28e2e84
/* 028E2E84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028E2E88 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E88 */ _t32 = _t31 & 0x00000001u;
/* 028E2E88 */ if (_t32) goto L_028E2F24; else goto L_028E2E8C;
L_028E2E8C: ; // 0x28e2e8c
/* 028E2E8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 028E2E90 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E90 */ _t34 = _t33 & 0x00000001u;
/* 028E2E90 */ if (_t34) goto L_028E2ED8; else goto L_028E2E94;
L_028E2E94: ; // 0x28e2e94
/* 028E2E94 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
/* 028E2E98 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E98 */ _t36 = _t35 & 0x00000001u;
/* 028E2E98 */ if (_t36) goto L_028E2EB8; else goto L_028E2E9C;
L_028E2E9C: ; // 0x28e2e9c
/* 028E2E9C */ cpu->f[1] = cpu->f[10] / cpu->f[13];
/* 028E2EA0 */ Gambit_fn_02827710(cpu);
/* 028E2EA4 */ cpu->r[3] = cpu->r[3] + 0x40000000u;
/* 028E2EA8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2EB0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2EB0 */ _t38 = _t37 & 0x00000001u;
/* 028E2EB0 */ if (_t38) goto L_028E2FB8; else goto L_028E2EB4;
L_028E2EB4: ; // 0x28e2eb4
/* 028E2EB4 */ goto L_028E2FD4;
L_028E2EB8: ; // 0x28e2eb8
/* 028E2EB8 */ cpu->f[1] = cpu->f[13] / cpu->f[10];
/* 028E2EBC */ Gambit_fn_02827710(cpu);
/* 028E2EC0 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028E2EC4 */ cpu->r[3] = cpu->r[3] + 0x80000000u;
/* 028E2EC8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2ECC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2ED0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2ED0 */ _t40 = _t39 & 0x00000001u;
/* 028E2ED0 */ if (_t40) goto L_028E2FB8; else goto L_028E2ED4;
L_028E2ED4: ; // 0x28e2ed4
/* 028E2ED4 */ goto L_028E2FD4;
L_028E2ED8: ; // 0x28e2ed8
/* 028E2ED8 */ cpu->f[12] = -cpu->f[10];
/* 028E2EDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
/* 028E2EE0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2EE0 */ _t42 = _t41 & 0x00000001u;
/* 028E2EE0 */ if (_t42) goto L_028E2F08; else goto L_028E2EE4;
L_028E2EE4: ; // 0x28e2ee4
/* 028E2EE4 */ cpu->f[13] = cpu->f[10] / cpu->f[13];
/* 028E2EE8 */ cpu->f[1] = -cpu->f[13];
/* 028E2EEC */ Gambit_fn_02827710(cpu);
/* 028E2EF0 */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
/* 028E2EF4 */ cpu->r[3] = cpu->r[3] + 0x40000000u;
/* 028E2EF8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2EFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F00 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F00 */ _t44 = _t43 & 0x00000001u;
/* 028E2F00 */ if (_t44) goto L_028E2FB8; else goto L_028E2F04;
L_028E2F04: ; // 0x28e2f04
/* 028E2F04 */ goto L_028E2FD4;
L_028E2F08: ; // 0x28e2f08
/* 028E2F08 */ cpu->f[0] = cpu->f[13] / cpu->f[10];
/* 028E2F0C */ cpu->f[1] = -cpu->f[0];
/* 028E2F10 */ Gambit_fn_02827710(cpu);
/* 028E2F14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F1C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F1C */ _t46 = _t45 & 0x00000001u;
/* 028E2F1C */ if (_t46) goto L_028E2FB8; else goto L_028E2F20;
L_028E2F20: ; // 0x28e2f20
/* 028E2F20 */ goto L_028E2FD4;
L_028E2F24: ; // 0x28e2f24
/* 028E2F24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 028E2F28 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F28 */ _t48 = _t47 & 0x00000001u;
/* 028E2F28 */ if (_t48) goto L_028E2F7C; else goto L_028E2F2C;
L_028E2F2C: ; // 0x28e2f2c
/* 028E2F2C */ cpu->f[11] = -cpu->f[13];
/* 028E2F30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[10]);
/* 028E2F34 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F34 */ _t50 = _t49 & 0x00000001u;
/* 028E2F34 */ if (_t50) goto L_028E2F5C; else goto L_028E2F38;
L_028E2F38: ; // 0x28e2f38
/* 028E2F38 */ cpu->f[12] = cpu->f[10] / cpu->f[13];
/* 028E2F3C */ cpu->f[1] = -cpu->f[12];
/* 028E2F40 */ Gambit_fn_02827710(cpu);
/* 028E2F44 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028E2F48 */ cpu->r[3] = cpu->r[3] + 0xC0000000u;
/* 028E2F4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2F50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F54 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F54 */ _t52 = _t51 & 0x00000001u;
/* 028E2F54 */ if (_t52) goto L_028E2FB8; else goto L_028E2F58;
L_028E2F58: ; // 0x28e2f58
/* 028E2F58 */ goto L_028E2FD4;
L_028E2F5C: ; // 0x28e2f5c
/* 028E2F5C */ cpu->f[13] = cpu->f[13] / cpu->f[10];
/* 028E2F60 */ cpu->f[1] = -cpu->f[13];
/* 028E2F64 */ Gambit_fn_02827710(cpu);
/* 028E2F68 */ cpu->r[3] = cpu->r[3] + 0x80000000u;
/* 028E2F6C */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2F70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F74 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F74 */ _t54 = _t53 & 0x00000001u;
/* 028E2F74 */ if (_t54) goto L_028E2FB8; else goto L_028E2F78;
L_028E2F78: ; // 0x28e2f78
/* 028E2F78 */ goto L_028E2FD4;
L_028E2F7C: ; // 0x28e2f7c
/* 028E2F7C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
/* 028E2F80 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E2F80 */ _t56 = _t55 & 0x00000001u;
/* 028E2F80 */ if (_t56) goto L_028E2FA0; else goto L_028E2F84;
L_028E2F84: ; // 0x28e2f84
/* 028E2F84 */ cpu->f[1] = cpu->f[10] / cpu->f[13];
/* 028E2F88 */ Gambit_fn_02827710(cpu);
/* 028E2F8C */ cpu->r[3] = cpu->r[3] + 0xC0000000u;
/* 028E2F90 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2F94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F98 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F98 */ _t58 = _t57 & 0x00000001u;
/* 028E2F98 */ if (_t58) goto L_028E2FB8; else goto L_028E2F9C;
L_028E2F9C: ; // 0x28e2f9c
/* 028E2F9C */ goto L_028E2FD4;
L_028E2FA0: ; // 0x28e2fa0
/* 028E2FA0 */ cpu->f[1] = cpu->f[13] / cpu->f[10];
/* 028E2FA4 */ Gambit_fn_02827710(cpu);
/* 028E2FA8 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028E2FAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2FB4 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2FB4 */ _t60 = _t59 & 0x00000001u;
/* 028E2FB4 */ if (_t60) goto L_028E2FB8; else goto L_028E2FD4;
L_028E2FB8: ; // 0x28e2fb8
/* 028E2FB8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
/* 028E2FBC */ cpu->f[1] = cpu->f[31];
/* 028E2FC0 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
/* 028E2FC4 */ Gambit_fn_028E2C84(cpu);
/* 028E2FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2FCC */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2FCC */ _t62 = _t61 & 0x00000001u;
/* 028E2FCC */ if (_t62) goto L_028E2E58; else goto L_028E2FD0;
L_028E2FD0: ; // 0x28e2fd0
/* 028E2FD0 */ goto L_028E2FE8;
L_028E2FD4: ; // 0x28e2fd4
/* 028E2FD4 */ cpu->f[1] = cpu->f[31];
/* 028E2FD8 */ cpu->r[3] = cpu->r[31];
/* 028E2FDC */ Gambit_fn_028E2C84(cpu);
/* 028E2FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2FE4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2FE4 */ _t64 = _t63 & 0x00000001u;
/* 028E2FE4 */ if (_t64) goto L_028E2E58; else goto L_028E2FE8;
L_028E2FE8: ; // 0x28e2fe8
/* 028E2FE8 */ _t65 = cpu->r[29] + 0x00000008u;
/* 028E2FE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65);
/* 028E2FEC */ _t66 = cpu->r[29] + 0x00000000u;
/* 028E2FEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t66);
/* 028E2FF0 */ cpu->f[11] = cpu->f[0] * cpu->f[0];
/* 028E2FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2FF8 */ cpu->f[1] = fma(cpu->f[12], cpu->f[12], cpu->f[11]);
/* 028E2FFC */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2FFC */ _t68 = _t67 & 0x00000001u;
/* 028E2FFC */ if (_t68) goto L_028E3000; else goto L_028E301C;
L_028E3000: ; // 0x28e3000
/* 028E3000 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
/* 028E3004 */ cpu->r[3] = cpu->r[31] + cpu->r[7];
/* 028E3008 */ Gambit_fn_028E2CB0(cpu);
/* 028E300C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E3010 */ _t69 = cpu->r[30] + 0x00000000u;
/* 028E3010 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t69);
/* 028E3014 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3014 */ _t71 = _t70 & 0x00000001u;
/* 028E3014 */ if (_t71) goto L_028E3030; else goto L_028E3018;
L_028E3018: ; // 0x28e3018
/* 028E3018 */ goto L_028E3038;
L_028E301C: ; // 0x28e301c
/* 028E301C */ cpu->r[3] = cpu->r[31];
/* 028E3020 */ Gambit_fn_028E2CB0(cpu);
/* 028E3024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E3028 */ _t72 = cpu->r[30] + 0x00000000u;
/* 028E3028 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t72);
/* 028E302C */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E302C */ _t74 = _t73 & 0x00000001u;
/* 028E302C */ if (_t74) goto L_028E3030; else goto L_028E3018;
L_028E3030: ; // 0x28e3030
/* 028E3030 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
/* 028E3034 */ cpu->r[31] = cpu->r[31] + cpu->r[9];
L_028E3038: ; // 0x28e3038
/* 028E3038 */ _t75 = cpu->r[31] + 0x00000000u;
/* 028E3038 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
/* 028E303C */ _t76 = cpu->r[30] + 0x00000004u;
/* 028E303C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
/* 028E3040 */ _t77 = cpu->r[31] + 0x00000004u;
/* 028E3040 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
/* 028E3044 */ _t78 = cpu->r[30] + 0x00000008u;
/* 028E3044 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t78);
/* 028E3048 */ _t79 = cpu->r[31] + 0x00000008u;
/* 028E3048 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[13]);
/* 028E304C */ _t80 = cpu->r[1] + 0x0000000Cu;
/* 028E304C */ cpu->r[29] = rbrew_read32(cpu->mem, _t80);
/* 028E3050 */ _t81 = cpu->r[1] + 0x00000020u;
/* 028E3050 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t81);
/* 028E3054 */ _t82 = cpu->r[1] + 0x00000010u;
/* 028E3054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t82);
/* 028E3058 */ _t83 = cpu->r[1] + 0x00000018u;
/* 028E3058 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t83);
/* 028E305C */ _t84 = cpu->r[1] + 0x00000014u;
/* 028E305C */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
/* 028E3060 */ cpu->r[3] = 0x00000001u;
/* 028E3064 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3064 */ _t86 = _t85 & 0x00000001u;
/* 028E3064 */ if (_t86) goto L_028E3068; // else: addr-0 trap, fall-through
L_028E3068: ; // 0x28e3068
/* 028E3068 */ _t87 = cpu->r[1] + 0x0000002Cu;
/* 028E3068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
/* 028E306C */ cpu->lr = cpu->r[0];
/* 028E3070 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E3074 */ return;
}
// fn_028E2DC0 @ 0x28e2dc0
void Gambit_fn_028E2DC0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E2DC0: ; // 0x28e2dc0
/* 028E2DC0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E2DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E2DC0 */ cpu->r[1] = _t0;
/* 028E2DC4 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028E2DC4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E2DC8 */ /* nop */
/* 028E2DCC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E2DCC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E2DD0 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028E2DD0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028E2DD4 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E2DD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E2DD8 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028E2DD8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028E2DDC */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028E2DDC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E2DE0 */ cpu->r[29] = cpu->r[4];
/* 028E2DE4 */ _t7 = cpu->r[29] + 0x00000004u;
/* 028E2DE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E2DE8 */ cpu->f[13] = cpu->f[0] * cpu->f[0];
/* 028E2DEC */ _t8 = cpu->r[29] + 0x00000000u;
/* 028E2DEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
/* 028E2DF0 */ cpu->f[0] = fma(cpu->f[12], cpu->f[12], cpu->f[13]);
/* 028E2DF4 */ _t9 = cpu->r[29] + 0x00000008u;
/* 028E2DF4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
/* 028E2DF8 */ cpu->r[30] = cpu->r[5];
/* 028E2DFC */ cpu->r[31] = cpu->r[3];
/* 028E2E00 */ cpu->f[31] = fma(cpu->f[11], cpu->f[11], cpu->f[0]);
/* 028E2E04 */ Gambit_fn_028C29DC(cpu);
/* 028E2E08 */ _t10 = cpu->r[3] + 0x0000004Cu;
/* 028E2E08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028E2E0C */ cpu->f[0] = cpu->f[31] / cpu->f[13];
/* 028E2E10 */ _t11 = cpu->r[31] + 0x00000704u;
/* 028E2E10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
/* 028E2E14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028E2E18 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E18 */ _t13 = _t12 & 0x00000001u;
/* 028E2E18 */ if (_t13) goto L_028E2E1C; else goto L_028E2E58;
L_028E2E1C: ; // 0x28e2e1c
/* 028E2E1C */ cpu->r[8] = 0x10140000u;
/* 028E2E20 */ _t14 = cpu->r[29] + 0x00000000u;
/* 028E2E20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
/* 028E2E24 */ _t15 = cpu->r[8] + 0xFFFFB6FCu;
/* 028E2E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
/* 028E2E28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028E2E2C */ _t16 = cpu->r[29] + 0x00000008u;
/* 028E2E2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
/* 028E2E30 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2E30 */ _t18 = _t17 & 0x00000001u;
/* 028E2E30 */ if (_t18) goto L_028E2E34; else goto L_028E2E84;
L_028E2E34: ; // 0x28e2e34
/* 028E2E34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 028E2E38 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2E38 */ _t20 = _t19 & 0x00000001u;
/* 028E2E38 */ if (_t20) goto L_028E2E3C; else goto L_028E2E84;
L_028E2E3C: ; // 0x28e2e3c
/* 028E2E3C */ cpu->r[11] = 0x00000010u;
/* 028E2E40 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
/* 028E2E44 */ cpu->f[1] = cpu->f[31];
/* 028E2E48 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
/* 028E2E4C */ Gambit_fn_028E2C84(cpu);
/* 028E2E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2E54 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2E54 */ _t22 = _t21 & 0x00000001u;
/* 028E2E54 */ if (_t22) goto L_028E2E58; else goto L_028E2FE8;
L_028E2E58: ; // 0x28e2e58
/* 028E2E58 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028E2E58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028E2E5C */ _t24 = cpu->r[1] + 0x00000020u;
/* 028E2E5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028E2E60 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028E2E60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028E2E64 */ _t26 = cpu->r[1] + 0x00000018u;
/* 028E2E64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
/* 028E2E68 */ _t27 = cpu->r[1] + 0x00000010u;
/* 028E2E68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028E2E6C */ cpu->r[3] = 0x00000000u;
/* 028E2E70 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E70 */ _t29 = _t28 & 0x00000001u;
/* 028E2E70 */ if (_t29) goto L_028E2E74; // else: addr-0 trap, fall-through
L_028E2E74: ; // 0x28e2e74
/* 028E2E74 */ _t30 = cpu->r[1] + 0x0000002Cu;
/* 028E2E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E2E78 */ cpu->lr = cpu->r[0];
/* 028E2E7C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E2E80 */ return;
L_028E2E84: ; // 0x28e2e84
/* 028E2E84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028E2E88 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E88 */ _t32 = _t31 & 0x00000001u;
/* 028E2E88 */ if (_t32) goto L_028E2F24; else goto L_028E2E8C;
L_028E2E8C: ; // 0x28e2e8c
/* 028E2E8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 028E2E90 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E90 */ _t34 = _t33 & 0x00000001u;
/* 028E2E90 */ if (_t34) goto L_028E2ED8; else goto L_028E2E94;
L_028E2E94: ; // 0x28e2e94
/* 028E2E94 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
/* 028E2E98 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2E98 */ _t36 = _t35 & 0x00000001u;
/* 028E2E98 */ if (_t36) goto L_028E2EB8; else goto L_028E2E9C;
L_028E2E9C: ; // 0x28e2e9c
/* 028E2E9C */ cpu->f[1] = cpu->f[10] / cpu->f[13];
/* 028E2EA0 */ Gambit_fn_02827710(cpu);
/* 028E2EA4 */ cpu->r[3] = cpu->r[3] + 0x40000000u;
/* 028E2EA8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2EB0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2EB0 */ _t38 = _t37 & 0x00000001u;
/* 028E2EB0 */ if (_t38) goto L_028E2FB8; else goto L_028E2EB4;
L_028E2EB4: ; // 0x28e2eb4
/* 028E2EB4 */ goto L_028E2FD4;
L_028E2EB8: ; // 0x28e2eb8
/* 028E2EB8 */ cpu->f[1] = cpu->f[13] / cpu->f[10];
/* 028E2EBC */ Gambit_fn_02827710(cpu);
/* 028E2EC0 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028E2EC4 */ cpu->r[3] = cpu->r[3] + 0x80000000u;
/* 028E2EC8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2ECC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2ED0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2ED0 */ _t40 = _t39 & 0x00000001u;
/* 028E2ED0 */ if (_t40) goto L_028E2FB8; else goto L_028E2ED4;
L_028E2ED4: ; // 0x28e2ed4
/* 028E2ED4 */ goto L_028E2FD4;
L_028E2ED8: ; // 0x28e2ed8
/* 028E2ED8 */ cpu->f[12] = -cpu->f[10];
/* 028E2EDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
/* 028E2EE0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2EE0 */ _t42 = _t41 & 0x00000001u;
/* 028E2EE0 */ if (_t42) goto L_028E2F08; else goto L_028E2EE4;
L_028E2EE4: ; // 0x28e2ee4
/* 028E2EE4 */ cpu->f[13] = cpu->f[10] / cpu->f[13];
/* 028E2EE8 */ cpu->f[1] = -cpu->f[13];
/* 028E2EEC */ Gambit_fn_02827710(cpu);
/* 028E2EF0 */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
/* 028E2EF4 */ cpu->r[3] = cpu->r[3] + 0x40000000u;
/* 028E2EF8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2EFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F00 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F00 */ _t44 = _t43 & 0x00000001u;
/* 028E2F00 */ if (_t44) goto L_028E2FB8; else goto L_028E2F04;
L_028E2F04: ; // 0x28e2f04
/* 028E2F04 */ goto L_028E2FD4;
L_028E2F08: ; // 0x28e2f08
/* 028E2F08 */ cpu->f[0] = cpu->f[13] / cpu->f[10];
/* 028E2F0C */ cpu->f[1] = -cpu->f[0];
/* 028E2F10 */ Gambit_fn_02827710(cpu);
/* 028E2F14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F1C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F1C */ _t46 = _t45 & 0x00000001u;
/* 028E2F1C */ if (_t46) goto L_028E2FB8; else goto L_028E2F20;
L_028E2F20: ; // 0x28e2f20
/* 028E2F20 */ goto L_028E2FD4;
L_028E2F24: ; // 0x28e2f24
/* 028E2F24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 028E2F28 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F28 */ _t48 = _t47 & 0x00000001u;
/* 028E2F28 */ if (_t48) goto L_028E2F7C; else goto L_028E2F2C;
L_028E2F2C: ; // 0x28e2f2c
/* 028E2F2C */ cpu->f[11] = -cpu->f[13];
/* 028E2F30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[10]);
/* 028E2F34 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F34 */ _t50 = _t49 & 0x00000001u;
/* 028E2F34 */ if (_t50) goto L_028E2F5C; else goto L_028E2F38;
L_028E2F38: ; // 0x28e2f38
/* 028E2F38 */ cpu->f[12] = cpu->f[10] / cpu->f[13];
/* 028E2F3C */ cpu->f[1] = -cpu->f[12];
/* 028E2F40 */ Gambit_fn_02827710(cpu);
/* 028E2F44 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028E2F48 */ cpu->r[3] = cpu->r[3] + 0xC0000000u;
/* 028E2F4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2F50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F54 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F54 */ _t52 = _t51 & 0x00000001u;
/* 028E2F54 */ if (_t52) goto L_028E2FB8; else goto L_028E2F58;
L_028E2F58: ; // 0x28e2f58
/* 028E2F58 */ goto L_028E2FD4;
L_028E2F5C: ; // 0x28e2f5c
/* 028E2F5C */ cpu->f[13] = cpu->f[13] / cpu->f[10];
/* 028E2F60 */ cpu->f[1] = -cpu->f[13];
/* 028E2F64 */ Gambit_fn_02827710(cpu);
/* 028E2F68 */ cpu->r[3] = cpu->r[3] + 0x80000000u;
/* 028E2F6C */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2F70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F74 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F74 */ _t54 = _t53 & 0x00000001u;
/* 028E2F74 */ if (_t54) goto L_028E2FB8; else goto L_028E2F78;
L_028E2F78: ; // 0x28e2f78
/* 028E2F78 */ goto L_028E2FD4;
L_028E2F7C: ; // 0x28e2f7c
/* 028E2F7C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
/* 028E2F80 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E2F80 */ _t56 = _t55 & 0x00000001u;
/* 028E2F80 */ if (_t56) goto L_028E2FA0; else goto L_028E2F84;
L_028E2F84: ; // 0x28e2f84
/* 028E2F84 */ cpu->f[1] = cpu->f[10] / cpu->f[13];
/* 028E2F88 */ Gambit_fn_02827710(cpu);
/* 028E2F8C */ cpu->r[3] = cpu->r[3] + 0xC0000000u;
/* 028E2F90 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2F94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2F98 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2F98 */ _t58 = _t57 & 0x00000001u;
/* 028E2F98 */ if (_t58) goto L_028E2FB8; else goto L_028E2F9C;
L_028E2F9C: ; // 0x28e2f9c
/* 028E2F9C */ goto L_028E2FD4;
L_028E2FA0: ; // 0x28e2fa0
/* 028E2FA0 */ cpu->f[1] = cpu->f[13] / cpu->f[10];
/* 028E2FA4 */ Gambit_fn_02827710(cpu);
/* 028E2FA8 */ cpu->r[3] = 0x00000000u - cpu->r[3];
/* 028E2FAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x0000001Au, 0x0000001Fu);
/* 028E2FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2FB4 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2FB4 */ _t60 = _t59 & 0x00000001u;
/* 028E2FB4 */ if (_t60) goto L_028E2FB8; else goto L_028E2FD4;
L_028E2FB8: ; // 0x28e2fb8
/* 028E2FB8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
/* 028E2FBC */ cpu->f[1] = cpu->f[31];
/* 028E2FC0 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
/* 028E2FC4 */ Gambit_fn_028E2C84(cpu);
/* 028E2FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2FCC */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2FCC */ _t62 = _t61 & 0x00000001u;
/* 028E2FCC */ if (_t62) goto L_028E2E58; else goto L_028E2FD0;
L_028E2FD0: ; // 0x28e2fd0
/* 028E2FD0 */ goto L_028E2FE8;
L_028E2FD4: ; // 0x28e2fd4
/* 028E2FD4 */ cpu->f[1] = cpu->f[31];
/* 028E2FD8 */ cpu->r[3] = cpu->r[31];
/* 028E2FDC */ Gambit_fn_028E2C84(cpu);
/* 028E2FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E2FE4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E2FE4 */ _t64 = _t63 & 0x00000001u;
/* 028E2FE4 */ if (_t64) goto L_028E2E58; else goto L_028E2FE8;
L_028E2FE8: ; // 0x28e2fe8
/* 028E2FE8 */ _t65 = cpu->r[29] + 0x00000008u;
/* 028E2FE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65);
/* 028E2FEC */ _t66 = cpu->r[29] + 0x00000000u;
/* 028E2FEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t66);
/* 028E2FF0 */ cpu->f[11] = cpu->f[0] * cpu->f[0];
/* 028E2FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E2FF8 */ cpu->f[1] = fma(cpu->f[12], cpu->f[12], cpu->f[11]);
/* 028E2FFC */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E2FFC */ _t68 = _t67 & 0x00000001u;
/* 028E2FFC */ if (_t68) goto L_028E3000; else goto L_028E301C;
L_028E3000: ; // 0x28e3000
/* 028E3000 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
/* 028E3004 */ cpu->r[3] = cpu->r[31] + cpu->r[7];
/* 028E3008 */ Gambit_fn_028E2CB0(cpu);
/* 028E300C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E3010 */ _t69 = cpu->r[30] + 0x00000000u;
/* 028E3010 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t69);
/* 028E3014 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3014 */ _t71 = _t70 & 0x00000001u;
/* 028E3014 */ if (_t71) goto L_028E3030; else goto L_028E3018;
L_028E3018: ; // 0x28e3018
/* 028E3018 */ goto L_028E3038;
L_028E301C: ; // 0x28e301c
/* 028E301C */ cpu->r[3] = cpu->r[31];
/* 028E3020 */ Gambit_fn_028E2CB0(cpu);
/* 028E3024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
/* 028E3028 */ _t72 = cpu->r[30] + 0x00000000u;
/* 028E3028 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t72);
/* 028E302C */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E302C */ _t74 = _t73 & 0x00000001u;
/* 028E302C */ if (_t74) goto L_028E3030; else goto L_028E3018;
L_028E3030: ; // 0x28e3030
/* 028E3030 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
/* 028E3034 */ cpu->r[31] = cpu->r[31] + cpu->r[9];
L_028E3038: ; // 0x28e3038
/* 028E3038 */ _t75 = cpu->r[31] + 0x00000000u;
/* 028E3038 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
/* 028E303C */ _t76 = cpu->r[30] + 0x00000004u;
/* 028E303C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
/* 028E3040 */ _t77 = cpu->r[31] + 0x00000004u;
/* 028E3040 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
/* 028E3044 */ _t78 = cpu->r[30] + 0x00000008u;
/* 028E3044 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t78);
/* 028E3048 */ _t79 = cpu->r[31] + 0x00000008u;
/* 028E3048 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[13]);
/* 028E304C */ _t80 = cpu->r[1] + 0x0000000Cu;
/* 028E304C */ cpu->r[29] = rbrew_read32(cpu->mem, _t80);
/* 028E3050 */ _t81 = cpu->r[1] + 0x00000020u;
/* 028E3050 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t81);
/* 028E3054 */ _t82 = cpu->r[1] + 0x00000010u;
/* 028E3054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t82);
/* 028E3058 */ _t83 = cpu->r[1] + 0x00000018u;
/* 028E3058 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t83);
/* 028E305C */ _t84 = cpu->r[1] + 0x00000014u;
/* 028E305C */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
/* 028E3060 */ cpu->r[3] = 0x00000001u;
/* 028E3064 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3064 */ _t86 = _t85 & 0x00000001u;
/* 028E3064 */ if (_t86) goto L_028E3068; // else: addr-0 trap, fall-through
L_028E3068: ; // 0x28e3068
/* 028E3068 */ _t87 = cpu->r[1] + 0x0000002Cu;
/* 028E3068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
/* 028E306C */ cpu->lr = cpu->r[0];
/* 028E3070 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E3074 */ return;
}
// fn_028E3078 @ 0x28e3078
void Gambit_fn_028E3078(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028E3078: ; // 0x28e3078
/* 028E3078 */ cpu->r[0] = cpu->lr;
/* 028E307C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E307C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E307C */ cpu->r[1] = _t0;
/* 028E3080 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E3080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E3084 */ cpu->r[31] = cpu->r[3];
/* 028E3088 */ cpu->r[3] = cpu->r[4];
/* 028E3088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E308C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E308C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E3090 */ _t3 = cpu->r[31] + 0x00000700u;
/* 028E3090 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
/* 028E3094 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3094 */ _t5 = _t4 & 0x00000001u;
/* 028E3094 */ if (_t5) goto L_028E30C8; else goto L_028E3098;
L_028E3098: ; // 0x28e3098
/* 028E3098 */ Gambit_fn_028DB6F4(cpu);
/* 028E309C */ cpu->r[12] = 0x10140000u;
/* 028E30A0 */ _t6 = cpu->r[12] + 0xFFFFB6FCu;
/* 028E30A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028E30A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028E30A8 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E30A8 */ _t8 = _t7 & 0x00000001u;
/* 028E30A8 */ if (_t8) goto L_028E30BC; else goto L_028E30AC;
L_028E30AC: ; // 0x28e30ac
/* 028E30AC */ cpu->r[11] = 0x10140000u;
/* 028E30B0 */ _t9 = cpu->r[11] + 0xFFFFB6F8u;
/* 028E30B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028E30B4 */ _t10 = cpu->r[31] + 0x00000704u;
/* 028E30B4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028E30B8 */ goto L_028E30C8;
L_028E30BC: ; // 0x28e30bc
/* 028E30BC */ Gambit_fn_028ED238(cpu);
/* 028E30C0 */ cpu->f[13] = cpu->f[1] * cpu->f[1];
/* 028E30C4 */ _t11 = cpu->r[31] + 0x00000704u;
/* 028E30C4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
L_028E30C8: ; // 0x28e30c8
/* 028E30C8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E30C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E30CC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E30CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028E30D0 */ cpu->lr = cpu->r[0];
/* 028E30D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E30D8 */ return;
}
// fn_028E307C @ 0x28e307c
void Gambit_fn_028E307C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028E307C: ; // 0x28e307c
/* 028E307C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E307C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E307C */ cpu->r[1] = _t0;
/* 028E3080 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E3080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E3084 */ cpu->r[31] = cpu->r[3];
/* 028E3088 */ cpu->r[3] = cpu->r[4];
/* 028E3088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E308C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E308C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E3090 */ _t3 = cpu->r[31] + 0x00000700u;
/* 028E3090 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
/* 028E3094 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3094 */ _t5 = _t4 & 0x00000001u;
/* 028E3094 */ if (_t5) goto L_028E30C8; else goto L_028E3098;
L_028E3098: ; // 0x28e3098
/* 028E3098 */ Gambit_fn_028DB6F4(cpu);
/* 028E309C */ cpu->r[12] = 0x10140000u;
/* 028E30A0 */ _t6 = cpu->r[12] + 0xFFFFB6FCu;
/* 028E30A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028E30A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028E30A8 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E30A8 */ _t8 = _t7 & 0x00000001u;
/* 028E30A8 */ if (_t8) goto L_028E30BC; else goto L_028E30AC;
L_028E30AC: ; // 0x28e30ac
/* 028E30AC */ cpu->r[11] = 0x10140000u;
/* 028E30B0 */ _t9 = cpu->r[11] + 0xFFFFB6F8u;
/* 028E30B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028E30B4 */ _t10 = cpu->r[31] + 0x00000704u;
/* 028E30B4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028E30B8 */ goto L_028E30C8;
L_028E30BC: ; // 0x28e30bc
/* 028E30BC */ Gambit_fn_028ED238(cpu);
/* 028E30C0 */ cpu->f[13] = cpu->f[1] * cpu->f[1];
/* 028E30C4 */ _t11 = cpu->r[31] + 0x00000704u;
/* 028E30C4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
L_028E30C8: ; // 0x28e30c8
/* 028E30C8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E30C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E30CC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E30CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028E30D0 */ cpu->lr = cpu->r[0];
/* 028E30D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E30D8 */ return;
}
// fn_028E30DC @ 0x28e30dc
void Gambit_fn_028E30DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _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;
double _ft67, _ft68, _ft76, _ft77;
L_028E30DC: ; // 0x28e30dc
/* 028E30DC */ _t0 = cpu->r[1] + 0xFFFFFE50u;
/* 028E30DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E30DC */ cpu->r[1] = _t0;
/* 028E30E0 */ _t1 = cpu->r[1] + 0x000000F0u;
/* 028E30E0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[20]);
/* 028E30E4 */ /* nop */
/* 028E30E8 */ _t2 = cpu->r[1] + 0x000000A0u;
/* 028E30E8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[15]);
/* 028E30EC */ _t3 = cpu->r[1] + 0x00000120u;
/* 028E30EC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[23]);
/* 028E30F0 */ /* nop */
/* 028E30F4 */ _t4 = cpu->r[1] + 0x00000110u;
/* 028E30F4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[22]);
/* 028E30F8 */ /* nop */
/* 028E30FC */ _t5 = cpu->r[1] + 0x000000A8u;
/* 028E30FC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[15]);
/* 028E3100 */ /* nop */
/* 028E3104 */ _t6 = cpu->r[1] + 0x000000B0u;
/* 028E3104 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[16]);
/* 028E3108 */ _t7 = cpu->r[1] + 0x00000100u;
/* 028E3108 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[21]);
/* 028E310C */ /* nop */
/* 028E3110 */ _t8 = cpu->r[1] + 0x000000F8u;
/* 028E3110 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[20]);
/* 028E3114 */ /* nop */
/* 028E3118 */ _t9 = cpu->r[1] + 0x00000128u;
/* 028E3118 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[23]);
/* 028E311C */ _t10 = cpu->r[1] + 0x000000B8u;
/* 028E311C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[16]);
/* 028E3120 */ _t11 = cpu->r[1] + 0x000000C0u;
/* 028E3120 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[17]);
/* 028E3124 */ _t12 = cpu->r[1] + 0x000000E0u;
/* 028E3124 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[19]);
/* 028E3128 */ /* nop */
/* 028E312C */ _t13 = cpu->r[1] + 0x00000108u;
/* 028E312C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[21]);
/* 028E3130 */ /* nop */
/* 028E3134 */ _t14 = cpu->r[1] + 0x000000C8u;
/* 028E3134 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[17]);
/* 028E3138 */ _t15 = cpu->r[1] + 0x000000E8u;
/* 028E3138 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[19]);
/* 028E313C */ _t16 = cpu->r[1] + 0x000000D0u;
/* 028E313C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[18]);
/* 028E3140 */ _t17 = cpu->r[1] + 0x00000090u;
/* 028E3140 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[14]);
/* 028E3144 */ /* nop */
/* 028E3148 */ _t18 = cpu->r[1] + 0x00000118u;
/* 028E3148 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[22]);
/* 028E314C */ /* nop */
/* 028E3150 */ _t19 = cpu->r[1] + 0x000000D8u;
/* 028E3150 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[18]);
/* 028E3154 */ cpu->r[0] = cpu->lr;
/* 028E3158 */ _t20 = cpu->r[1] + 0x00000098u;
/* 028E3158 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[14]);
/* 028E315C */ _t21 = cpu->r[1] + 0x00000130u;
/* 028E315C */ rbrew_write_f64(cpu->mem, _t21, cpu->f[24]);
/* 028E3160 */ /* nop */
/* 028E3164 */ _t22 = cpu->r[1] + 0x00000138u;
/* 028E3164 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[24]);
/* 028E3168 */ _t23 = cpu->r[1] + 0x00000140u;
/* 028E3168 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[25]);
/* 028E316C */ /* nop */
/* 028E3170 */ _t24 = cpu->r[1] + 0x00000148u;
/* 028E3170 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[25]);
/* 028E3174 */ _t25 = cpu->r[1] + 0x00000150u;
/* 028E3174 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[26]);
/* 028E3178 */ /* nop */
/* 028E317C */ _t26 = cpu->r[1] + 0x00000158u;
/* 028E317C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[26]);
/* 028E3180 */ _t27 = cpu->r[1] + 0x00000160u;
/* 028E3180 */ rbrew_write_f64(cpu->mem, _t27, cpu->f[27]);
/* 028E3184 */ /* nop */
/* 028E3188 */ _t28 = cpu->r[1] + 0x00000168u;
/* 028E3188 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[27]);
/* 028E318C */ _t29 = cpu->r[1] + 0x00000170u;
/* 028E318C */ rbrew_write_f64(cpu->mem, _t29, cpu->f[28]);
/* 028E3190 */ /* nop */
/* 028E3194 */ /* nop */
/* 028E3198 */ _t30 = cpu->r[1] + 0x000001A0u;
/* 028E3198 */ rbrew_write_f64(cpu->mem, _t30, cpu->f[31]);
/* 028E319C */ /* nop */
/* 028E31A0 */ _t31 = cpu->r[1] + 0x000001B4u;
/* 028E31A0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
/* 028E31A4 */ _t32 = cpu->r[1] + 0x00000190u;
/* 028E31A4 */ rbrew_write_f64(cpu->mem, _t32, cpu->f[30]);
/* 028E31A8 */ _t33 = cpu->r[1] + 0x00000178u;
/* 028E31A8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[28]);
/* 028E31AC */ /* nop */
/* 028E31B0 */ _t34 = cpu->r[1] + 0x00000180u;
/* 028E31B0 */ rbrew_write_f64(cpu->mem, _t34, cpu->f[29]);
/* 028E31B4 */ _t35 = cpu->r[1] + 0x000001A8u;
/* 028E31B4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[31]);
/* 028E31B8 */ /* nop */
/* 028E31BC */ _t36 = cpu->r[1] + 0x00000188u;
/* 028E31BC */ rbrew_write_f32(cpu->mem, _t36, cpu->f[29]);
/* 028E31C0 */ _t37 = cpu->r[1] + 0x00000198u;
/* 028E31C0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[30]);
/* 028E31C4 */ cpu->r[29] = cpu->r[5];
/* 028E31C8 */ cpu->r[30] = cpu->r[3];
/* 028E31CC */ _t38 = cpu->r[30] + 0x00000700u;
/* 028E31CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
/* 028E31D0 */ cpu->r[24] = cpu->r[6];
/* 028E31D4 */ cpu->r[28] = cpu->r[4];
/* 028E31D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E31DC */ cpu->r[25] = cpu->r[7];
/* 028E31E0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E31E0 */ _t40 = _t39 & 0x00000001u;
/* 028E31E0 */ if (_t40) goto L_028E31E4; else goto L_028E31FC;
L_028E31E4: ; // 0x28e31e4
/* 028E31E4 */ cpu->r[12] = 0x101D0000u;
/* 028E31E8 */ _t41 = cpu->r[12] + 0xFFFF9ACCu;
/* 028E31E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
/* 028E31EC */ _t42 = cpu->r[12] + 0x00000028u;
/* 028E31EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
/* 028E31F0 */ cpu->r[3] = cpu->r[30];
/* 028E31F4 */ Gambit_fn_028E3078(cpu);
/* 028E31F8 */ _t43 = cpu->r[30] + 0x00000700u;
/* 028E31F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
L_028E31FC: ; // 0x28e31fc
/* 028E31FC */ cpu->r[31] = 0x101D0000u;
/* 028E3200 */ cpu->r[22] = 0x00000000u;
/* 028E3204 */ _t44 = cpu->r[31] + 0xFFFF9AE0u;
/* 028E3204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
/* 028E3208 */ cpu->r[7] = 0x10140000u;
/* 028E320C */ _t45 = cpu->r[1] + 0x00000044u;
/* 028E320C */ rbrew_write32(cpu->mem, _t45, cpu->r[22]);
/* 028E3210 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
/* 028E3214 */ _t46 = cpu->r[7] + 0xFFFFB6F8u;
/* 028E3214 */ cpu->f[14] = rbrew_read_f32(cpu->mem, _t46);
/* 028E3218 */ Gambit_fn_028DB650(cpu);
/* 028E321C */ cpu->r[5] = 0x10140000u;
/* 028E3220 */ cpu->r[9] = 0x10140000u;
/* 028E3224 */ _t47 = cpu->r[5] + 0xFFFFB700u;
/* 028E3224 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t47);
/* 028E3228 */ cpu->r[11] = 0x10140000u;
/* 028E322C */ _t48 = cpu->r[9] + 0xFFFFB704u;
/* 028E322C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t48);
/* 028E3230 */ cpu->r[8] = 0x10140000u;
/* 028E3234 */ _t49 = cpu->r[11] + 0xFFFFB6FCu;
/* 028E3234 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t49);
/* 028E3238 */ _t50 = cpu->r[8] + 0xFFFFB708u;
/* 028E3238 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t50);
/* 028E323C */ _t51 = cpu->r[1] + 0x00000010u;
/* 028E323C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[30]);
/* 028E3240 */ cpu->r[21] = cpu->r[3];
/* 028E3244 */ _t52 = cpu->r[1] + 0x00000008u;
/* 028E3244 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[29]);
/* 028E3248 */ cpu->r[20] = cpu->r[22];
/* 028E324C */ _t53 = cpu->r[1] + 0x0000000Cu;
/* 028E324C */ rbrew_write_f32(cpu->mem, _t53, cpu->f[9]);
/* 028E3250 */ goto L_028E325C;
L_028E3254: ; // 0x28e3254
/* 028E3254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000040u);
/* 028E3258 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3258 */ _t55 = _t54 & 0x00000001u;
/* 028E3258 */ if (_t55) goto L_028E325C; else goto L_028E3270;
L_028E325C: ; // 0x28e325c
/* 028E325C */ cpu->f[27] = cpu->f[29];
/* 028E3260 */ cpu->r[27] = cpu->r[30] + cpu->r[20];
/* 028E3264 */ _t56 = cpu->r[1] + 0x0000000Cu;
/* 028E3264 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t56);
/* 028E3268 */ cpu->f[26] = cpu->f[30];
/* 028E326C */ goto L_028E3274;
L_028E3270: ; // 0x28e3270
/* 028E3270 */ cpu->r[27] = cpu->r[30];
L_028E3274: ; // 0x28e3274
/* 028E3274 */ _t57 = cpu->r[27] + 0x00000014u;
/* 028E3274 */ cpu->r[0] = rbrew_read8(cpu->mem, _t57);
/* 028E3278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E327C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E327C */ _t59 = _t58 & 0x00000001u;
/* 028E327C */ if (_t59) goto L_028E3654; else goto L_028E3280;
L_028E3280: ; // 0x28e3280
/* 028E3280 */ _t60 = cpu->r[27] + 0x0000000Cu;
/* 028E3280 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t60);
/* 028E3284 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[26]);
/* 028E3288 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E3288 */ _t62 = _t61 & 0x00000001u;
/* 028E3288 */ if (_t62) goto L_028E32A0; else goto L_028E328C;
L_028E328C: ; // 0x28e328c
/* 028E328C */ cpu->f[12] = cpu->f[26] * cpu->f[0];
/* 028E3290 */ _t63 = cpu->r[27] + 0x00000010u;
/* 028E3290 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
/* 028E3294 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[26]);
/* 028E3298 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E3298 */ _t65 = _t64 & 0x00000001u;
/* 028E3298 */ if (_t65) goto L_028E329C; else goto L_028E32CC;
L_028E329C: ; // 0x28e329c
/* 028E329C */ goto L_028E32F0;
L_028E32A0: ; // 0x28e32a0
/* 028E32A0 */ cpu->r[4] = 0x10140000u;
/* 028E32A4 */ _t66 = cpu->r[4] + 0xFFFFB70Cu;
/* 028E32A4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t66);
/* 028E32A8 */ _ft67 = sqrt(cpu->f[0]);
/* 028E32A8 */ _ft68 = (double)(int32_t)0x00000001u;
/* 028E32A8 */ cpu->f[17] = _ft68 / _ft67;
/* 028E32AC */ cpu->f[18] = cpu->f[17] * cpu->f[17];
/* 028E32B0 */ cpu->f[19] = cpu->f[17] * cpu->f[31];
/* 028E32B4 */ cpu->f[18] = -fma(cpu->f[18], cpu->f[0], -(cpu->f[6]));
/* 028E32B8 */ cpu->f[17] = cpu->f[18] * cpu->f[19];
/* 028E32BC */ cpu->f[12] = cpu->f[17] * cpu->f[0];
/* 028E32C0 */ _t69 = cpu->r[27] + 0x00000010u;
/* 028E32C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t69);
/* 028E32C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[26]);
/* 028E32C8 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E32C8 */ _t71 = _t70 & 0x00000001u;
/* 028E32C8 */ if (_t71) goto L_028E32F0; else goto L_028E32CC;
L_028E32CC: ; // 0x28e32cc
/* 028E32CC */ cpu->f[1] = cpu->f[12];
/* 028E32D0 */ cpu->f[15] = cpu->f[26] * cpu->f[0];
/* 028E32D4 */ Gambit_fn_028ED268(cpu);
/* 028E32D8 */ _t72 = cpu->r[30] + 0x00000700u;
/* 028E32D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
/* 028E32DC */ cpu->f[25] = cpu->f[1];
/* 028E32E0 */ Gambit_fn_028DB798(cpu);
/* 028E32E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E32E8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E32E8 */ _t74 = _t73 & 0x00000001u;
/* 028E32E8 */ if (_t74) goto L_028E3354; else goto L_028E32EC;
L_028E32EC: ; // 0x28e32ec
/* 028E32EC */ goto L_028E332C;
L_028E32F0: ; // 0x28e32f0
/* 028E32F0 */ cpu->r[11] = 0x10140000u;
/* 028E32F4 */ _t75 = cpu->r[11] + 0xFFFFB70Cu;
/* 028E32F4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t75);
/* 028E32F8 */ _ft76 = sqrt(cpu->f[0]);
/* 028E32F8 */ _ft77 = (double)(int32_t)0x00000001u;
/* 028E32F8 */ cpu->f[20] = _ft77 / _ft76;
/* 028E32FC */ cpu->f[21] = cpu->f[20] * cpu->f[20];
/* 028E3300 */ cpu->f[22] = cpu->f[20] * cpu->f[31];
/* 028E3304 */ cpu->f[21] = -fma(cpu->f[21], cpu->f[0], -(cpu->f[7]));
/* 028E3308 */ cpu->f[20] = cpu->f[21] * cpu->f[22];
/* 028E330C */ cpu->f[1] = cpu->f[12];
/* 028E3310 */ cpu->f[15] = cpu->f[20] * cpu->f[0];
/* 028E3314 */ Gambit_fn_028ED268(cpu);
/* 028E3318 */ _t78 = cpu->r[30] + 0x00000700u;
/* 028E3318 */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
/* 028E331C */ cpu->f[25] = cpu->f[1];
/* 028E3320 */ Gambit_fn_028DB798(cpu);
/* 028E3324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3328 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3328 */ _t80 = _t79 & 0x00000001u;
/* 028E3328 */ if (_t80) goto L_028E3354; else goto L_028E332C;
L_028E332C: ; // 0x28e332c
/* 028E332C */ _t81 = cpu->r[27] + 0x00000000u;
/* 028E332C */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
/* 028E3330 */ _t82 = cpu->r[1] + 0x00000038u;
/* 028E3330 */ rbrew_write32(cpu->mem, _t82, cpu->r[6]);
/* 028E3334 */ _t83 = cpu->r[27] + 0x00000004u;
/* 028E3334 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
/* 028E3338 */ _t84 = cpu->r[1] + 0x0000003Cu;
/* 028E3338 */ rbrew_write32(cpu->mem, _t84, cpu->r[8]);
/* 028E333C */ _t85 = cpu->r[27] + 0x00000008u;
/* 028E333C */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
/* 028E3340 */ cpu->r[3] = cpu->r[25] + 0x00000060u;
/* 028E3344 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
/* 028E3348 */ _t86 = cpu->r[1] + 0x00000040u;
/* 028E3348 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
/* 028E334C */ Gambit_fn_028D6A54(cpu);
/* 028E3350 */ cpu->f[25] = cpu->f[25] * cpu->f[1];
L_028E3354: ; // 0x28e3354
/* 028E3354 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[25], cpu->f[14]);
/* 028E3358 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3358 */ _t88 = _t87 & 0x00000001u;
/* 028E3358 */ if (_t88) goto L_028E335C; else goto L_028E3360;
L_028E335C: ; // 0x28e335c
/* 028E335C */ cpu->f[14] = cpu->f[25];
L_028E3360: ; // 0x28e3360
/* 028E3360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028E3364 */ cpu->f[16] = cpu->f[27];
/* 028E3368 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3368 */ _t90 = _t89 & 0x00000001u;
/* 028E3368 */ if (_t90) goto L_028E337C; else goto L_028E336C;
L_028E336C: ; // 0x28e336c
/* 028E336C */ cpu->f[1] = cpu->f[25];
/* 028E3370 */ cpu->r[3] = cpu->r[21];
/* 028E3374 */ Gambit_fn_028EDA38(cpu);
/* 028E3378 */ cpu->f[16] = cpu->f[1];
L_028E337C: ; // 0x28e337c
/* 028E337C */ cpu->f[1] = cpu->f[25];
/* 028E3380 */ _t91 = cpu->r[30] + 0x00000700u;
/* 028E3380 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
/* 028E3384 */ Gambit_fn_028DB714(cpu);
/* 028E3388 */ cpu->r[17] = cpu->r[24];
/* 028E3388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028E338C */ cpu->r[18] = 0x00000000u;
/* 028E3390 */ cpu->f[16] = cpu->f[16] * cpu->f[1];
/* 028E3394 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E3394 */ _t93 = _t92 & 0x00000001u;
/* 028E3394 */ if (_t93) goto L_028E3398; else goto L_028E3654;
L_028E3398: ; // 0x28e3398
/* 028E3398 */ cpu->f[23] = cpu->f[26];
/* 028E339C */ cpu->r[19] = 0x00000000u;
/* 028E33A0 */ cpu->f[24] = cpu->f[28] * cpu->f[16];
/* 028E33A4 */ cpu->r[27] = cpu->r[19];
/* 028E33A8 */ cpu->r[26] = cpu->r[19];
/* 028E33AC */ cpu->f[25] = cpu->f[27];
/* 028E33B0 */ cpu->r[23] = cpu->r[26];
L_028E33B4: ; // 0x28e33b4
/* 028E33B4 */ _t94 = cpu->r[29] + 0x00000000u;
/* 028E33B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t94);
/* 028E33B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[7]);
/* 028E33BC */ _t95 = cpu->r[29] + 0x00000004u;
/* 028E33BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t95);
/* 028E33C0 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E33C0 */ _t97 = _t96 & 0x00000001u;
/* 028E33C0 */ if (_t97) goto L_028E33C4; else goto L_028E33C8;
L_028E33C4: ; // 0x28e33c4
/* 028E33C4 */ cpu->r[9] = cpu->r[9] + cpu->r[23];
L_028E33C8: ; // 0x28e33c8
/* 028E33C8 */ _t98 = cpu->r[9] + 0x00000000u;
/* 028E33C8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t98);
/* 028E33CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[23]);
/* 028E33D0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E33D0 */ _t100 = _t99 & 0x00000001u;
/* 028E33D0 */ if (_t100) goto L_028E3640; else goto L_028E33D4;
L_028E33D4: ; // 0x28e33d4
/* 028E33D4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028E33D8 */ cpu->r[3] = cpu->r[31];
/* 028E33DC */ _t101 = cpu->r[1] + 0x00000014u;
/* 028E33DC */ rbrew_write32(cpu->mem, _t101, cpu->r[18]);
/* 028E33E0 */ Gambit_fn_028E4270(cpu);
/* 028E33E4 */ _t102 = cpu->r[1] + 0x00000024u;
/* 028E33E4 */ rbrew_write32(cpu->mem, _t102, cpu->r[27]);
/* 028E33E8 */ cpu->f[0] = cpu->f[1];
/* 028E33EC */ _t103 = cpu->r[1] + 0x0000002Cu;
/* 028E33EC */ rbrew_write32(cpu->mem, _t103, cpu->r[27]);
/* 028E33F0 */ _t104 = cpu->r[1] + 0x00000018u;
/* 028E33F0 */ rbrew_write32(cpu->mem, _t104, cpu->r[26]);
/* 028E33F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[23]);
/* 028E33F8 */ _t105 = cpu->r[1] + 0x00000020u;
/* 028E33F8 */ rbrew_write32(cpu->mem, _t105, cpu->r[26]);
/* 028E33FC */ _t106 = cpu->r[1] + 0x00000028u;
/* 028E33FC */ rbrew_write32(cpu->mem, _t106, cpu->r[26]);
/* 028E3400 */ _t107 = cpu->r[1] + 0x0000001Cu;
/* 028E3400 */ rbrew_write32(cpu->mem, _t107, cpu->r[27]);
/* 028E3404 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3404 */ _t109 = _t108 & 0x00000001u;
/* 028E3404 */ if (_t109) goto L_028E3408; else goto L_028E3428;
L_028E3408: ; // 0x28e3408
/* 028E3408 */ _t110 = cpu->r[28] + 0x00000000u;
/* 028E3408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
/* 028E340C */ cpu->f[13] = cpu->f[24];
/* 028E3410 */ _t111 = cpu->r[1] + 0x0000001Cu;
/* 028E3410 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[24]);
/* 028E3414 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3418 */ _t112 = cpu->r[28] + 0x00000004u;
/* 028E3418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t112);
/* 028E341C */ _t113 = cpu->r[1] + 0x00000018u;
/* 028E341C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[13]);
/* 028E3420 */ _t114 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3420 */ _t115 = _t114 & 0x00000001u;
/* 028E3420 */ if (_t115) goto L_028E3500; else goto L_028E3424;
L_028E3424: ; // 0x28e3424
/* 028E3424 */ goto L_028E3510;
L_028E3428: ; // 0x28e3428
/* 028E3428 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[15], cpu->f[0]);
/* 028E342C */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E342C */ _t117 = _t116 & 0x00000001u;
/* 028E342C */ if (_t117) goto L_028E3430; else goto L_028E3440;
L_028E3430: ; // 0x28e3430
/* 028E3430 */ cpu->f[9] = cpu->f[15] / cpu->f[0];
/* 028E3434 */ cpu->f[13] = cpu->f[25] - cpu->f[9];
/* 028E3438 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[23]);
/* 028E343C */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E343C */ _t119 = _t118 & 0x00000001u;
/* 028E343C */ if (_t119) goto L_028E3440; else goto L_028E3498;
L_028E3440: ; // 0x28e3440
/* 028E3440 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
/* 028E3444 */ cpu->r[3] = cpu->r[31];
/* 028E3448 */ cpu->r[5] = cpu->r[22];
/* 028E344C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028E3450 */ _t120 = cpu->r[1] + 0x00000030u;
/* 028E3450 */ rbrew_write32(cpu->mem, _t120, cpu->r[18]);
/* 028E3454 */ Gambit_fn_028E4210(cpu);
/* 028E3458 */ _t121 = cpu->r[1] + 0x00000018u;
/* 028E3458 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t121);
/* 028E345C */ _t122 = cpu->r[1] + 0x0000001Cu;
/* 028E345C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t122);
/* 028E3460 */ cpu->f[13] = cpu->f[11] * cpu->f[16];
/* 028E3464 */ _t123 = cpu->r[1] + 0x00000020u;
/* 028E3464 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t123);
/* 028E3468 */ _t124 = cpu->r[1] + 0x00000028u;
/* 028E3468 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t124);
/* 028E346C */ cpu->f[12] = cpu->f[12] * cpu->f[16];
/* 028E3470 */ _t125 = cpu->r[1] + 0x00000024u;
/* 028E3470 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t125);
/* 028E3474 */ cpu->f[0] = cpu->f[0] * cpu->f[16];
/* 028E3478 */ _t126 = cpu->r[1] + 0x0000001Cu;
/* 028E3478 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[12]);
/* 028E347C */ cpu->f[6] = cpu->f[6] * cpu->f[16];
/* 028E3480 */ _t127 = cpu->r[1] + 0x00000020u;
/* 028E3480 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[0]);
/* 028E3484 */ cpu->f[7] = cpu->f[7] * cpu->f[16];
/* 028E3488 */ _t128 = cpu->r[1] + 0x00000024u;
/* 028E3488 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[6]);
/* 028E348C */ _t129 = cpu->r[1] + 0x00000018u;
/* 028E348C */ rbrew_write_f32(cpu->mem, _t129, cpu->f[13]);
/* 028E3490 */ _t130 = cpu->r[1] + 0x00000028u;
/* 028E3490 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[7]);
/* 028E3494 */ goto L_028E34F0;
L_028E3498: ; // 0x28e3498
/* 028E3498 */ cpu->f[1] = cpu->f[13];
/* 028E349C */ cpu->r[6] = cpu->r[1] + 0x00000034u;
/* 028E34A0 */ cpu->r[3] = cpu->r[31];
/* 028E34A4 */ cpu->r[5] = cpu->r[22];
/* 028E34A8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028E34AC */ _t131 = cpu->r[1] + 0x00000034u;
/* 028E34AC */ rbrew_write32(cpu->mem, _t131, cpu->r[18]);
/* 028E34B0 */ Gambit_fn_028E4240(cpu);
/* 028E34B4 */ _t132 = cpu->r[1] + 0x00000018u;
/* 028E34B4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t132);
/* 028E34B8 */ _t133 = cpu->r[1] + 0x0000001Cu;
/* 028E34B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t133);
/* 028E34BC */ cpu->f[13] = cpu->f[11] * cpu->f[16];
/* 028E34C0 */ _t134 = cpu->r[1] + 0x00000020u;
/* 028E34C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t134);
/* 028E34C4 */ _t135 = cpu->r[1] + 0x00000028u;
/* 028E34C4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t135);
/* 028E34C8 */ cpu->f[12] = cpu->f[12] * cpu->f[16];
/* 028E34CC */ _t136 = cpu->r[1] + 0x00000024u;
/* 028E34CC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t136);
/* 028E34D0 */ cpu->f[0] = cpu->f[0] * cpu->f[16];
/* 028E34D4 */ _t137 = cpu->r[1] + 0x0000001Cu;
/* 028E34D4 */ rbrew_write_f32(cpu->mem, _t137, cpu->f[12]);
/* 028E34D8 */ cpu->f[6] = cpu->f[6] * cpu->f[16];
/* 028E34DC */ _t138 = cpu->r[1] + 0x00000020u;
/* 028E34DC */ rbrew_write_f32(cpu->mem, _t138, cpu->f[0]);
/* 028E34E0 */ cpu->f[7] = cpu->f[7] * cpu->f[16];
/* 028E34E4 */ _t139 = cpu->r[1] + 0x00000024u;
/* 028E34E4 */ rbrew_write_f32(cpu->mem, _t139, cpu->f[6]);
/* 028E34E8 */ _t140 = cpu->r[1] + 0x00000018u;
/* 028E34E8 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[13]);
/* 028E34EC */ _t141 = cpu->r[1] + 0x00000028u;
/* 028E34EC */ rbrew_write_f32(cpu->mem, _t141, cpu->f[7]);
L_028E34F0: ; // 0x28e34f0
/* 028E34F0 */ _t142 = cpu->r[28] + 0x00000000u;
/* 028E34F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
/* 028E34F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E34F8 */ _t143 = cpu->r[28] + 0x00000004u;
/* 028E34F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t143);
/* 028E34FC */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E34FC */ _t145 = _t144 & 0x00000001u;
/* 028E34FC */ if (_t145) goto L_028E3500; else goto L_028E3510;
L_028E3500: ; // 0x28e3500
/* 028E3500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3504 */ cpu->r[9] = cpu->r[10] + cpu->r[19];
/* 028E3508 */ _t146 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3508 */ _t147 = _t146 & 0x00000001u;
/* 028E3508 */ if (_t147) goto L_028E351C; else goto L_028E350C;
L_028E350C: ; // 0x28e350c
/* 028E350C */ goto L_028E3520;
L_028E3510: ; // 0x28e3510
/* 028E3510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3514 */ cpu->r[9] = cpu->r[10];
/* 028E3518 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3518 */ _t149 = _t148 & 0x00000001u;
/* 028E3518 */ if (_t149) goto L_028E351C; else goto L_028E350C;
L_028E351C: ; // 0x28e351c
/* 028E351C */ cpu->r[10] = cpu->r[10] + cpu->r[19];
L_028E3520: ; // 0x28e3520
/* 028E3520 */ _t150 = cpu->r[10] + 0x00000000u;
/* 028E3520 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t150);
/* 028E3524 */ cpu->f[9] = cpu->f[13] - cpu->f[8];
/* 028E3528 */ /* nop */
/* 028E352C */ _t151 = cpu->r[9] + 0x00000000u;
/* 028E352C */ rbrew_write_f32(cpu->mem, _t151, cpu->f[10]);
/* 028E3530 */ _t152 = cpu->r[28] + 0x00000000u;
/* 028E3530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t152);
/* 028E3534 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3538 */ _t153 = cpu->r[28] + 0x00000004u;
/* 028E3538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153);
/* 028E353C */ _t154 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E353C */ _t155 = _t154 & 0x00000001u;
/* 028E353C */ if (_t155) goto L_028E3540; else goto L_028E3550;
L_028E3540: ; // 0x28e3540
/* 028E3540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3544 */ cpu->r[11] = cpu->r[10] + cpu->r[19];
/* 028E3548 */ _t156 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3548 */ _t157 = _t156 & 0x00000001u;
/* 028E3548 */ if (_t157) goto L_028E355C; else goto L_028E354C;
L_028E354C: ; // 0x28e354c
/* 028E354C */ goto L_028E3560;
L_028E3550: ; // 0x28e3550
/* 028E3550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3554 */ cpu->r[11] = cpu->r[10];
/* 028E3558 */ _t158 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3558 */ _t159 = _t158 & 0x00000001u;
/* 028E3558 */ if (_t159) goto L_028E355C; else goto L_028E354C;
L_028E355C: ; // 0x28e355c
/* 028E355C */ cpu->r[10] = cpu->r[10] + cpu->r[19];
L_028E3560: ; // 0x28e3560
/* 028E3560 */ _t160 = cpu->r[1] + 0x0000001Cu;
/* 028E3560 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t160);
/* 028E3564 */ _t161 = cpu->r[10] + 0x00000004u;
/* 028E3564 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t161);
/* 028E3568 */ cpu->f[13] = cpu->f[11] - cpu->f[12];
/* 028E356C */ /* nop */
/* 028E3570 */ _t162 = cpu->r[11] + 0x00000004u;
/* 028E3570 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[0]);
/* 028E3574 */ _t163 = cpu->r[28] + 0x00000000u;
/* 028E3574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t163);
/* 028E3578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E357C */ _t164 = cpu->r[28] + 0x00000004u;
/* 028E357C */ cpu->r[10] = rbrew_read32(cpu->mem, _t164);
/* 028E3580 */ _t165 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3580 */ _t166 = _t165 & 0x00000001u;
/* 028E3580 */ if (_t166) goto L_028E3584; else goto L_028E3594;
L_028E3584: ; // 0x28e3584
/* 028E3584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3588 */ cpu->r[4] = cpu->r[10] + cpu->r[19];
/* 028E358C */ _t167 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E358C */ _t168 = _t167 & 0x00000001u;
/* 028E358C */ if (_t168) goto L_028E35A0; else goto L_028E3590;
L_028E3590: ; // 0x28e3590
/* 028E3590 */ goto L_028E35A4;
L_028E3594: ; // 0x28e3594
/* 028E3594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3598 */ cpu->r[4] = cpu->r[10];
/* 028E359C */ _t169 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E359C */ _t170 = _t169 & 0x00000001u;
/* 028E359C */ if (_t170) goto L_028E35A0; else goto L_028E3590;
L_028E35A0: ; // 0x28e35a0
/* 028E35A0 */ cpu->r[10] = cpu->r[10] + cpu->r[19];
L_028E35A4: ; // 0x28e35a4
/* 028E35A4 */ _t171 = cpu->r[1] + 0x00000020u;
/* 028E35A4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t171);
/* 028E35A8 */ _t172 = cpu->r[10] + 0x00000008u;
/* 028E35A8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t172);
/* 028E35AC */ cpu->f[8] = cpu->f[6] - cpu->f[7];
/* 028E35B0 */ /* nop */
/* 028E35B4 */ _t173 = cpu->r[4] + 0x00000008u;
/* 028E35B4 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[9]);
/* 028E35B8 */ _t174 = cpu->r[28] + 0x00000000u;
/* 028E35B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
/* 028E35BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E35C0 */ _t175 = cpu->r[28] + 0x00000004u;
/* 028E35C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t175);
/* 028E35C4 */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E35C4 */ _t177 = _t176 & 0x00000001u;
/* 028E35C4 */ if (_t177) goto L_028E35C8; else goto L_028E35D8;
L_028E35C8: ; // 0x28e35c8
/* 028E35C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E35CC */ cpu->r[9] = cpu->r[10] + cpu->r[19];
/* 028E35D0 */ _t178 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E35D0 */ _t179 = _t178 & 0x00000001u;
/* 028E35D0 */ if (_t179) goto L_028E35E4; else goto L_028E35D4;
L_028E35D4: ; // 0x28e35d4
/* 028E35D4 */ goto L_028E35E8;
L_028E35D8: ; // 0x28e35d8
/* 028E35D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E35DC */ cpu->r[9] = cpu->r[10];
/* 028E35E0 */ _t180 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E35E0 */ _t181 = _t180 & 0x00000001u;
/* 028E35E0 */ if (_t181) goto L_028E35E4; else goto L_028E35D4;
L_028E35E4: ; // 0x28e35e4
/* 028E35E4 */ cpu->r[10] = cpu->r[10] + cpu->r[19];
L_028E35E8: ; // 0x28e35e8
/* 028E35E8 */ _t182 = cpu->r[1] + 0x00000024u;
/* 028E35E8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t182);
/* 028E35EC */ _t183 = cpu->r[10] + 0x0000000Cu;
/* 028E35EC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t183);
/* 028E35F0 */ cpu->f[12] = cpu->f[10] - cpu->f[11];
/* 028E35F4 */ /* nop */
/* 028E35F8 */ _t184 = cpu->r[9] + 0x0000000Cu;
/* 028E35F8 */ rbrew_write_f32(cpu->mem, _t184, cpu->f[0]);
/* 028E35FC */ _t185 = cpu->r[28] + 0x00000000u;
/* 028E35FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t185);
/* 028E3600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3604 */ _t186 = cpu->r[28] + 0x00000004u;
/* 028E3604 */ cpu->r[10] = rbrew_read32(cpu->mem, _t186);
/* 028E3608 */ _t187 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3608 */ _t188 = _t187 & 0x00000001u;
/* 028E3608 */ if (_t188) goto L_028E360C; else goto L_028E361C;
L_028E360C: ; // 0x28e360c
/* 028E360C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3610 */ cpu->r[6] = cpu->r[10] + cpu->r[19];
/* 028E3614 */ _t189 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3614 */ _t190 = _t189 & 0x00000001u;
/* 028E3614 */ if (_t190) goto L_028E3628; else goto L_028E3618;
L_028E3618: ; // 0x28e3618
/* 028E3618 */ goto L_028E362C;
L_028E361C: ; // 0x28e361c
/* 028E361C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
/* 028E3620 */ cpu->r[6] = cpu->r[10];
/* 028E3624 */ _t191 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3624 */ _t192 = _t191 & 0x00000001u;
/* 028E3624 */ if (_t192) goto L_028E3628; else goto L_028E3618;
L_028E3628: ; // 0x28e3628
/* 028E3628 */ cpu->r[10] = cpu->r[10] + cpu->r[19];
L_028E362C: ; // 0x28e362c
/* 028E362C */ _t193 = cpu->r[1] + 0x00000028u;
/* 028E362C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t193);
/* 028E3630 */ _t194 = cpu->r[10] + 0x00000010u;
/* 028E3630 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t194);
/* 028E3634 */ cpu->f[8] = cpu->f[6] - cpu->f[7];
/* 028E3638 */ /* nop */
/* 028E363C */ _t195 = cpu->r[6] + 0x00000010u;
/* 028E363C */ rbrew_write_f32(cpu->mem, _t195, cpu->f[9]);
L_028E3640: ; // 0x28e3640
/* 028E3640 */ cpu->r[19] = cpu->r[19] + 0x00000018u;
/* 028E3644 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
/* 028E3644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028E3648 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
/* 028E364C */ cpu->r[23] = cpu->r[23] + 0x00000004u;
/* 028E3650 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3650 */ _t197 = _t196 & 0x00000001u;
/* 028E3650 */ if (_t197) goto L_028E3654; else goto L_028E33B4;
L_028E3654: ; // 0x28e3654
/* 028E3654 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
/* 028E3658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000040u);
/* 028E365C */ cpu->r[20] = cpu->r[20] + 0x0000001Cu;
/* 028E3660 */ _t198 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3660 */ _t199 = _t198 & 0x00000001u;
/* 028E3660 */ if (_t199) goto L_028E3254; else goto L_028E3664;
L_028E3664: ; // 0x28e3664
/* 028E3664 */ _t200 = cpu->r[29] + 0x00000000u;
/* 028E3664 */ cpu->r[5] = rbrew_read32(cpu->mem, _t200);
/* 028E3668 */ cpu->r[3] = 0x00000000u;
/* 028E366C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]);
/* 028E3670 */ _t201 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3670 */ _t202 = _t201 & 0x00000001u;
/* 028E3670 */ if (_t202) goto L_028E3674; else goto L_028E37C4;
L_028E3674: ; // 0x28e3674
/* 028E3674 */ cpu->r[7] = 0x10140000u;
/* 028E3678 */ cpu->r[27] = 0x00000000u;
/* 028E367C */ _t203 = cpu->r[7] + 0xFFFFB710u;
/* 028E367C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t203);
/* 028E3680 */ cpu->r[31] = cpu->r[27];
L_028E3684: ; // 0x28e3684
/* 028E3684 */ _t204 = cpu->r[28] + 0x00000000u;
/* 028E3684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t204);
/* 028E3688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028E368C */ _t205 = cpu->r[28] + 0x00000004u;
/* 028E368C */ cpu->r[8] = rbrew_read32(cpu->mem, _t205);
/* 028E3690 */ _t206 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3690 */ _t207 = _t206 & 0x00000001u;
/* 028E3690 */ if (_t207) goto L_028E3694; else goto L_028E3698;
L_028E3694: ; // 0x28e3694
/* 028E3694 */ cpu->r[8] = cpu->r[8] + cpu->r[27];
L_028E3698: ; // 0x28e3698
/* 028E3698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]);
/* 028E369C */ _t208 = cpu->r[29] + 0x00000004u;
/* 028E369C */ cpu->r[9] = rbrew_read32(cpu->mem, _t208);
/* 028E36A0 */ _t209 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E36A0 */ _t210 = _t209 & 0x00000001u;
/* 028E36A0 */ if (_t210) goto L_028E36A4; else goto L_028E36A8;
L_028E36A4: ; // 0x28e36a4
/* 028E36A4 */ cpu->r[9] = cpu->r[9] + cpu->r[31];
L_028E36A8: ; // 0x28e36a8
/* 028E36A8 */ _t211 = cpu->r[9] + 0x00000000u;
/* 028E36A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t211);
/* 028E36AC */ cpu->f[10] = cpu->f[11] / cpu->f[8];
/* 028E36B0 */ _t212 = cpu->r[8] + 0x00000000u;
/* 028E36B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t212);
/* 028E36B4 */ cpu->f[12] = cpu->f[12] * cpu->f[10];
/* 028E36B8 */ _t213 = cpu->r[8] + 0x00000000u;
/* 028E36B8 */ rbrew_write_f32(cpu->mem, _t213, cpu->f[12]);
/* 028E36BC */ _t214 = cpu->r[28] + 0x00000000u;
/* 028E36BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t214);
/* 028E36C0 */ _t215 = cpu->r[28] + 0x00000004u;
/* 028E36C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t215);
/* 028E36C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]);
/* 028E36C8 */ _t216 = cpu->r[29] + 0x00000000u;
/* 028E36C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t216);
/* 028E36CC */ _t217 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E36CC */ _t218 = _t217 & 0x00000001u;
/* 028E36CC */ if (_t218) goto L_028E36D0; else goto L_028E36D4;
L_028E36D0: ; // 0x28e36d0
/* 028E36D0 */ cpu->r[10] = cpu->r[10] + cpu->r[27];
L_028E36D4: ; // 0x28e36d4
/* 028E36D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
/* 028E36D8 */ _t219 = cpu->r[29] + 0x00000004u;
/* 028E36D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t219);
/* 028E36DC */ _t220 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E36DC */ _t221 = _t220 & 0x00000001u;
/* 028E36DC */ if (_t221) goto L_028E36E0; else goto L_028E36E4;
L_028E36E0: ; // 0x28e36e0
/* 028E36E0 */ cpu->r[11] = cpu->r[11] + cpu->r[31];
L_028E36E4: ; // 0x28e36e4
/* 028E36E4 */ _t222 = cpu->r[11] + 0x00000000u;
/* 028E36E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t222);
/* 028E36E8 */ cpu->f[13] = cpu->f[0] / cpu->f[8];
/* 028E36EC */ _t223 = cpu->r[10] + 0x00000004u;
/* 028E36EC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t223);
/* 028E36F0 */ cpu->f[10] = cpu->f[10] * cpu->f[13];
/* 028E36F4 */ _t224 = cpu->r[10] + 0x00000004u;
/* 028E36F4 */ rbrew_write_f32(cpu->mem, _t224, cpu->f[10]);
/* 028E36F8 */ _t225 = cpu->r[28] + 0x00000000u;
/* 028E36F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t225);
/* 028E36FC */ _t226 = cpu->r[28] + 0x00000004u;
/* 028E36FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t226);
/* 028E3700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[7]);
/* 028E3704 */ _t227 = cpu->r[29] + 0x00000000u;
/* 028E3704 */ cpu->r[8] = rbrew_read32(cpu->mem, _t227);
/* 028E3708 */ _t228 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3708 */ _t229 = _t228 & 0x00000001u;
/* 028E3708 */ if (_t229) goto L_028E370C; else goto L_028E3710;
L_028E370C: ; // 0x28e370c
/* 028E370C */ cpu->r[12] = cpu->r[12] + cpu->r[27];
L_028E3710: ; // 0x28e3710
/* 028E3710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
/* 028E3714 */ _t230 = cpu->r[29] + 0x00000004u;
/* 028E3714 */ cpu->r[4] = rbrew_read32(cpu->mem, _t230);
/* 028E3718 */ _t231 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3718 */ _t232 = _t231 & 0x00000001u;
/* 028E3718 */ if (_t232) goto L_028E371C; else goto L_028E3720;
L_028E371C: ; // 0x28e371c
/* 028E371C */ cpu->r[4] = cpu->r[4] + cpu->r[31];
L_028E3720: ; // 0x28e3720
/* 028E3720 */ _t233 = cpu->r[4] + 0x00000000u;
/* 028E3720 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t233);
/* 028E3724 */ cpu->f[11] = cpu->f[12] / cpu->f[8];
/* 028E3728 */ _t234 = cpu->r[12] + 0x00000008u;
/* 028E3728 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t234);
/* 028E372C */ cpu->f[13] = cpu->f[13] * cpu->f[11];
/* 028E3730 */ _t235 = cpu->r[12] + 0x00000008u;
/* 028E3730 */ rbrew_write_f32(cpu->mem, _t235, cpu->f[13]);
/* 028E3734 */ _t236 = cpu->r[28] + 0x00000000u;
/* 028E3734 */ cpu->r[10] = rbrew_read32(cpu->mem, _t236);
/* 028E3738 */ _t237 = cpu->r[28] + 0x00000004u;
/* 028E3738 */ cpu->r[5] = rbrew_read32(cpu->mem, _t237);
/* 028E373C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]);
/* 028E3740 */ _t238 = cpu->r[29] + 0x00000000u;
/* 028E3740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t238);
/* 028E3744 */ _t239 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3744 */ _t240 = _t239 & 0x00000001u;
/* 028E3744 */ if (_t240) goto L_028E3748; else goto L_028E374C;
L_028E3748: ; // 0x28e3748
/* 028E3748 */ cpu->r[5] = cpu->r[5] + cpu->r[27];
L_028E374C: ; // 0x28e374c
/* 028E374C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028E3750 */ _t241 = cpu->r[29] + 0x00000004u;
/* 028E3750 */ cpu->r[6] = rbrew_read32(cpu->mem, _t241);
/* 028E3754 */ _t242 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3754 */ _t243 = _t242 & 0x00000001u;
/* 028E3754 */ if (_t243) goto L_028E3758; else goto L_028E375C;
L_028E3758: ; // 0x28e3758
/* 028E3758 */ cpu->r[6] = cpu->r[6] + cpu->r[31];
L_028E375C: ; // 0x28e375c
/* 028E375C */ _t244 = cpu->r[6] + 0x00000000u;
/* 028E375C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t244);
/* 028E3760 */ cpu->f[7] = cpu->f[9] / cpu->f[8];
/* 028E3764 */ _t245 = cpu->r[5] + 0x0000000Cu;
/* 028E3764 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t245);
/* 028E3768 */ cpu->f[10] = cpu->f[10] * cpu->f[7];
/* 028E376C */ _t246 = cpu->r[5] + 0x0000000Cu;
/* 028E376C */ rbrew_write_f32(cpu->mem, _t246, cpu->f[10]);
/* 028E3770 */ _t247 = cpu->r[28] + 0x00000000u;
/* 028E3770 */ cpu->r[12] = rbrew_read32(cpu->mem, _t247);
/* 028E3774 */ _t248 = cpu->r[28] + 0x00000004u;
/* 028E3774 */ cpu->r[7] = rbrew_read32(cpu->mem, _t248);
/* 028E3778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
/* 028E377C */ _t249 = cpu->r[29] + 0x00000000u;
/* 028E377C */ cpu->r[5] = rbrew_read32(cpu->mem, _t249);
/* 028E3780 */ _t250 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3780 */ _t251 = _t250 & 0x00000001u;
/* 028E3780 */ if (_t251) goto L_028E3784; else goto L_028E3788;
L_028E3784: ; // 0x28e3784
/* 028E3784 */ cpu->r[7] = cpu->r[7] + cpu->r[27];
L_028E3788: ; // 0x28e3788
/* 028E3788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]);
/* 028E378C */ _t252 = cpu->r[29] + 0x00000004u;
/* 028E378C */ cpu->r[11] = rbrew_read32(cpu->mem, _t252);
/* 028E3790 */ _t253 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3790 */ _t254 = _t253 & 0x00000001u;
/* 028E3790 */ if (_t254) goto L_028E3794; else goto L_028E3798;
L_028E3794: ; // 0x28e3794
/* 028E3794 */ cpu->r[11] = cpu->r[11] + cpu->r[31];
L_028E3798: ; // 0x28e3798
/* 028E3798 */ _t255 = cpu->r[11] + 0x00000000u;
/* 028E3798 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t255);
/* 028E379C */ cpu->f[12] = cpu->f[0] / cpu->f[8];
/* 028E37A0 */ _t256 = cpu->r[7] + 0x00000010u;
/* 028E37A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t256);
/* 028E37A4 */ cpu->f[7] = cpu->f[7] * cpu->f[12];
/* 028E37A8 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
/* 028E37AC */ _t257 = cpu->r[7] + 0x00000010u;
/* 028E37AC */ rbrew_write_f32(cpu->mem, _t257, cpu->f[7]);
/* 028E37B0 */ _t258 = cpu->r[29] + 0x00000000u;
/* 028E37B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t258);
/* 028E37B4 */ cpu->r[27] = cpu->r[27] + 0x00000018u;
/* 028E37B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]);
/* 028E37BC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028E37C0 */ _t259 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E37C0 */ _t260 = _t259 & 0x00000001u;
/* 028E37C0 */ if (_t260) goto L_028E3684; else goto L_028E37C4;
L_028E37C4: ; // 0x28e37c4
/* 028E37C4 */ cpu->r[10] = 0x00000001u;
/* 028E37C8 */ _t261 = cpu->r[30] + 0x00000700u;
/* 028E37C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t261);
/* 028E37CC */ cpu->r[4] = cpu->r[1] + 0x00000048u;
/* 028E37D0 */ _t262 = cpu->r[1] + 0x00000048u;
/* 028E37D0 */ rbrew_write32(cpu->mem, _t262, cpu->r[10]);
/* 028E37D4 */ Gambit_fn_028DB650(cpu);
/* 028E37D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E37DC */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E37DC */ _t264 = _t263 & 0x00000001u;
/* 028E37DC */ if (_t264) goto L_028E380C; else goto L_028E37E0;
L_028E37E0: ; // 0x28e37e0
/* 028E37E0 */ cpu->f[1] = cpu->f[14];
/* 028E37E4 */ Gambit_fn_028EDA38(cpu);
/* 028E37E8 */ _t265 = cpu->r[30] + 0x00000700u;
/* 028E37E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t265);
/* 028E37EC */ cpu->r[12] = 0x00000002u;
/* 028E37F0 */ _t266 = cpu->r[30] + 0x00000708u;
/* 028E37F0 */ rbrew_write_f32(cpu->mem, _t266, cpu->f[1]);
/* 028E37F4 */ cpu->r[4] = cpu->r[1] + 0x0000004Cu;
/* 028E37F8 */ _t267 = cpu->r[1] + 0x0000004Cu;
/* 028E37F8 */ rbrew_write32(cpu->mem, _t267, cpu->r[12]);
/* 028E37FC */ Gambit_fn_028DB650(cpu);
/* 028E3800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3804 */ _t268 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3804 */ _t269 = _t268 & 0x00000001u;
/* 028E3804 */ if (_t269) goto L_028E3864; else goto L_028E3808;
L_028E3808: ; // 0x28e3808
/* 028E3808 */ goto L_028E3830;
L_028E380C: ; // 0x28e380c
/* 028E380C */ _t270 = cpu->r[1] + 0x00000010u;
/* 028E380C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t270);
/* 028E3810 */ _t271 = cpu->r[30] + 0x00000700u;
/* 028E3810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t271);
/* 028E3814 */ cpu->r[12] = 0x00000002u;
/* 028E3818 */ _t272 = cpu->r[30] + 0x00000708u;
/* 028E3818 */ rbrew_write_f32(cpu->mem, _t272, cpu->f[10]);
/* 028E381C */ cpu->r[4] = cpu->r[1] + 0x0000004Cu;
/* 028E3820 */ _t273 = cpu->r[1] + 0x0000004Cu;
/* 028E3820 */ rbrew_write32(cpu->mem, _t273, cpu->r[12]);
/* 028E3824 */ Gambit_fn_028DB650(cpu);
/* 028E3828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E382C */ _t274 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E382C */ _t275 = _t274 & 0x00000001u;
/* 028E382C */ if (_t275) goto L_028E3864; else goto L_028E3830;
L_028E3830: ; // 0x28e3830
/* 028E3830 */ cpu->f[1] = cpu->f[14];
/* 028E3834 */ Gambit_fn_028EDA38(cpu);
/* 028E3838 */ _t276 = cpu->r[30] + 0x00000700u;
/* 028E3838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t276);
/* 028E383C */ cpu->r[0] = 0x00000004u;
/* 028E3840 */ _t277 = cpu->r[30] + 0x0000070Cu;
/* 028E3840 */ rbrew_write_f32(cpu->mem, _t277, cpu->f[1]);
/* 028E3844 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
/* 028E3848 */ _t278 = cpu->r[1] + 0x00000050u;
/* 028E3848 */ rbrew_write32(cpu->mem, _t278, cpu->r[0]);
/* 028E384C */ Gambit_fn_028DB650(cpu);
/* 028E3850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3854 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3854 */ _t280 = _t279 & 0x00000001u;
/* 028E3854 */ if (_t280) goto L_028E3858; else goto L_028E3888;
L_028E3858: ; // 0x28e3858
/* 028E3858 */ _t281 = cpu->r[1] + 0x00000008u;
/* 028E3858 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t281);
/* 028E385C */ _t282 = cpu->r[30] + 0x00000710u;
/* 028E385C */ rbrew_write_f32(cpu->mem, _t282, cpu->f[1]);
/* 028E3860 */ goto L_028E3894;
L_028E3864: ; // 0x28e3864
/* 028E3864 */ _t283 = cpu->r[1] + 0x00000010u;
/* 028E3864 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t283);
/* 028E3868 */ _t284 = cpu->r[30] + 0x00000700u;
/* 028E3868 */ cpu->r[3] = rbrew_read32(cpu->mem, _t284);
/* 028E386C */ cpu->r[0] = 0x00000004u;
/* 028E3870 */ _t285 = cpu->r[30] + 0x0000070Cu;
/* 028E3870 */ rbrew_write_f32(cpu->mem, _t285, cpu->f[11]);
/* 028E3874 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
/* 028E3878 */ _t286 = cpu->r[1] + 0x00000050u;
/* 028E3878 */ rbrew_write32(cpu->mem, _t286, cpu->r[0]);
/* 028E387C */ Gambit_fn_028DB650(cpu);
/* 028E3880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3884 */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3884 */ _t288 = _t287 & 0x00000001u;
/* 028E3884 */ if (_t288) goto L_028E3858; else goto L_028E3888;
L_028E3888: ; // 0x28e3888
/* 028E3888 */ cpu->f[1] = cpu->f[14];
/* 028E388C */ Gambit_fn_028EDA38(cpu);
/* 028E3890 */ _t289 = cpu->r[30] + 0x00000710u;
/* 028E3890 */ rbrew_write_f32(cpu->mem, _t289, cpu->f[1]);
L_028E3894: ; // 0x28e3894
/* 028E3894 */ /* nop */
/* 028E3898 */ _t290 = cpu->r[1] + 0x000000D8u;
/* 028E3898 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t290);
/* 028E389C */ _t291 = cpu->r[1] + 0x000000B8u;
/* 028E389C */ cpu->f[16] = rbrew_read_f32(cpu->mem, _t291);
/* 028E38A0 */ _t292 = cpu->r[1] + 0x000000D0u;
/* 028E38A0 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t292);
/* 028E38A4 */ _t293 = cpu->r[1] + 0x000000F8u;
/* 028E38A4 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t293);
/* 028E38A8 */ _t294 = cpu->r[1] + 0x000000B0u;
/* 028E38A8 */ cpu->f[16] = rbrew_read_f64(cpu->mem, _t294);
/* 028E38AC */ _t295 = cpu->r[1] + 0x000000F0u;
/* 028E38AC */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t295);
/* 028E38B0 */ _t296 = cpu->r[1] + 0x000000C8u;
/* 028E38B0 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t296);
/* 028E38B4 */ _t297 = cpu->r[1] + 0x00000118u;
/* 028E38B4 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t297);
/* 028E38B8 */ _t298 = cpu->r[1] + 0x000000C0u;
/* 028E38B8 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t298);
/* 028E38BC */ _t299 = cpu->r[1] + 0x00000110u;
/* 028E38BC */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t299);
/* 028E38C0 */ _t300 = cpu->r[1] + 0x000000E8u;
/* 028E38C0 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t300);
/* 028E38C4 */ _t301 = cpu->r[1] + 0x00000138u;
/* 028E38C4 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t301);
/* 028E38C8 */ _t302 = cpu->r[1] + 0x000000E0u;
/* 028E38C8 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t302);
/* 028E38CC */ _t303 = cpu->r[1] + 0x00000130u;
/* 028E38CC */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t303);
/* 028E38D0 */ _t304 = cpu->r[1] + 0x00000108u;
/* 028E38D0 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t304);
/* 028E38D4 */ _t305 = cpu->r[1] + 0x00000148u;
/* 028E38D4 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t305);
/* 028E38D8 */ _t306 = cpu->r[1] + 0x00000178u;
/* 028E38D8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t306);
/* 028E38DC */ _t307 = cpu->r[1] + 0x00000140u;
/* 028E38DC */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t307);
/* 028E38E0 */ _t308 = cpu->r[1] + 0x00000170u;
/* 028E38E0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t308);
/* 028E38E4 */ _t309 = cpu->r[1] + 0x000000A8u;
/* 028E38E4 */ cpu->f[15] = rbrew_read_f32(cpu->mem, _t309);
/* 028E38E8 */ _t310 = cpu->r[1] + 0x00000168u;
/* 028E38E8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t310);
/* 028E38EC */ _t311 = cpu->r[1] + 0x000000A0u;
/* 028E38EC */ cpu->f[15] = rbrew_read_f64(cpu->mem, _t311);
/* 028E38F0 */ _t312 = cpu->r[1] + 0x00000160u;
/* 028E38F0 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t312);
/* 028E38F4 */ _t313 = cpu->r[1] + 0x00000098u;
/* 028E38F4 */ cpu->f[14] = rbrew_read_f32(cpu->mem, _t313);
/* 028E38F8 */ _t314 = cpu->r[1] + 0x00000188u;
/* 028E38F8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t314);
/* 028E38FC */ _t315 = cpu->r[1] + 0x00000090u;
/* 028E38FC */ cpu->f[14] = rbrew_read_f64(cpu->mem, _t315);
/* 028E3900 */ _t316 = cpu->r[1] + 0x00000180u;
/* 028E3900 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t316);
/* 028E3904 */ _t317 = cpu->r[1] + 0x00000198u;
/* 028E3904 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t317);
/* 028E3908 */ _t318 = cpu->r[1] + 0x000001A8u;
/* 028E3908 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t318);
/* 028E390C */ _t319 = cpu->r[1] + 0x00000190u;
/* 028E390C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t319);
/* 028E3910 */ _t320 = cpu->r[1] + 0x000001A0u;
/* 028E3910 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t320);
/* 028E3914 */ _t321 = cpu->r[1] + 0x00000100u;
/* 028E3914 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t321);
/* 028E3918 */ _t322 = cpu->r[1] + 0x00000128u;
/* 028E3918 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t322);
/* 028E391C */ _t323 = cpu->r[1] + 0x00000158u;
/* 028E391C */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t323);
/* 028E3920 */ _t324 = cpu->r[1] + 0x00000120u;
/* 028E3920 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t324);
/* 028E3924 */ _t325 = cpu->r[1] + 0x00000150u;
/* 028E3924 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t325);
/* 028E3928 */ _t326 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3928 */ _t327 = _t326 & 0x00000001u;
/* 028E3928 */ if (_t327) goto L_028E392C; // else: addr-0 trap, fall-through
L_028E392C: ; // 0x28e392c
/* 028E392C */ _t328 = cpu->r[1] + 0x000001B4u;
/* 028E392C */ cpu->r[0] = rbrew_read32(cpu->mem, _t328);
/* 028E3930 */ cpu->lr = cpu->r[0];
/* 028E3934 */ cpu->r[1] = cpu->r[1] + 0x000001B0u;
/* 028E3938 */ return;
}
// fn_028E393C @ 0x28e393c
void Gambit_fn_028E393C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
L_028E393C: ; // 0x28e393c
/* 028E393C */ cpu->r[0] = cpu->lr;
/* 028E3940 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E3940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3940 */ cpu->r[1] = _t0;
/* 028E3944 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E3944 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E3948 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E3948 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E394C */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E394C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E3950 */ cpu->r[31] = cpu->r[3];
/* 028E3950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E3954 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E3954 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E3958 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3958 */ _t6 = _t5 & 0x00000001u;
/* 028E3958 */ if (_t6) goto L_028E395C; else goto L_028E396C;
L_028E395C: ; // 0x28e395c
/* 028E395C */ cpu->r[3] = 0x0000004Cu;
/* 028E3960 */ Gambit_fn_02801A78(cpu);
/* 028E3964 */ cpu->r[31] = cpu->r[3];
/* 028E3964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E3968 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3968 */ _t8 = _t7 & 0x00000001u;
/* 028E3968 */ if (_t8) goto L_028E3A2C; else goto L_028E396C;
L_028E396C: ; // 0x28e396c
/* 028E396C */ cpu->r[0] = 0x10140000u;
/* 028E3970 */ cpu->r[29] = 0x00000000u;
/* 028E3974 */ cpu->r[0] = cpu->r[0] + 0xFFFFB780u;
/* 028E3978 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E3978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E397C */ _t9 = cpu->r[31] + 0x00000000u;
/* 028E397C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E3980 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3980 */ _t11 = _t10 & 0x00000001u;
/* 028E3980 */ if (_t11) goto L_028E3984; else goto L_028E3994;
L_028E3984: ; // 0x28e3984
/* 028E3984 */ cpu->r[3] = 0x0000000Cu;
/* 028E3988 */ Gambit_fn_02801A78(cpu);
/* 028E398C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3990 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3990 */ _t13 = _t12 & 0x00000001u;
/* 028E3990 */ if (_t13) goto L_028E39B8; else goto L_028E3994;
L_028E3994: ; // 0x28e3994
/* 028E3994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3998 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3998 */ _t15 = _t14 & 0x00000001u;
/* 028E3998 */ if (_t15) goto L_028E399C; else goto L_028E39AC;
L_028E399C: ; // 0x28e399c
/* 028E399C */ cpu->r[3] = 0x0000000Cu;
/* 028E39A0 */ Gambit_fn_02801A78(cpu);
/* 028E39A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E39A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39A8 */ _t17 = _t16 & 0x00000001u;
/* 028E39A8 */ if (_t17) goto L_028E39B8; else goto L_028E39AC;
L_028E39AC: ; // 0x28e39ac
/* 028E39AC */ _t18 = cpu->r[3] + 0x00000004u;
/* 028E39AC */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
/* 028E39B0 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028E39B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
/* 028E39B4 */ _t20 = cpu->r[3] + 0x00000008u;
/* 028E39B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
L_028E39B8: ; // 0x28e39b8
/* 028E39B8 */ cpu->r[30] = cpu->r[31] + 0x00000020u;
/* 028E39B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E39BC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39BC */ _t22 = _t21 & 0x00000001u;
/* 028E39BC */ if (_t22) goto L_028E39C0; else goto L_028E39D0;
L_028E39C0: ; // 0x28e39c0
/* 028E39C0 */ cpu->r[3] = 0x00000010u;
/* 028E39C4 */ Gambit_fn_02801A78(cpu);
/* 028E39C8 */ cpu->r[30] = cpu->r[3];
/* 028E39C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E39CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39CC */ _t24 = _t23 & 0x00000001u;
/* 028E39CC */ if (_t24) goto L_028E39FC; else goto L_028E39D0;
L_028E39D0: ; // 0x28e39d0
/* 028E39D0 */ cpu->r[3] = cpu->r[30];
/* 028E39D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E39D4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39D4 */ _t26 = _t25 & 0x00000001u;
/* 028E39D4 */ if (_t26) goto L_028E39D8; else goto L_028E39E8;
L_028E39D8: ; // 0x28e39d8
/* 028E39D8 */ cpu->r[3] = 0x0000000Cu;
/* 028E39DC */ Gambit_fn_02801A78(cpu);
/* 028E39E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E39E4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39E4 */ _t28 = _t27 & 0x00000001u;
/* 028E39E4 */ if (_t28) goto L_028E39F4; else goto L_028E39E8;
L_028E39E8: ; // 0x28e39e8
/* 028E39E8 */ _t29 = cpu->r[3] + 0x00000004u;
/* 028E39E8 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
/* 028E39EC */ _t30 = cpu->r[3] + 0x00000008u;
/* 028E39EC */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
/* 028E39F0 */ _t31 = cpu->r[3] + 0x00000000u;
/* 028E39F0 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
L_028E39F4: ; // 0x28e39f4
/* 028E39F4 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028E39F8 */ _t32 = cpu->r[30] + 0x0000000Cu;
/* 028E39F8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
L_028E39FC: ; // 0x28e39fc
/* 028E39FC */ _t33 = cpu->r[31] + 0x00000040u;
/* 028E39FC */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
/* 028E3A00 */ cpu->r[11] = 0x10140000u;
/* 028E3A04 */ _t34 = cpu->r[31] + 0x00000044u;
/* 028E3A04 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
/* 028E3A08 */ _t35 = cpu->r[11] + 0xFFFFB76Cu;
/* 028E3A08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
/* 028E3A0C */ cpu->r[0] = 0x00000001u;
/* 028E3A10 */ _t36 = cpu->r[31] + 0x00000030u;
/* 028E3A10 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
/* 028E3A14 */ _t37 = cpu->r[31] + 0x0000003Cu;
/* 028E3A14 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
/* 028E3A18 */ _t38 = cpu->r[31] + 0x00000048u;
/* 028E3A18 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
/* 028E3A1C */ _t39 = cpu->r[31] + 0x00000038u;
/* 028E3A1C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
/* 028E3A20 */ cpu->r[10] = 0x0000000Cu;
/* 028E3A24 */ _t40 = cpu->r[31] + 0x00000034u;
/* 028E3A24 */ rbrew_write32(cpu->mem, _t40, cpu->r[29]);
/* 028E3A28 */ _t41 = cpu->r[31] + 0x0000002Cu;
/* 028E3A28 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
L_028E3A2C: ; // 0x28e3a2c
/* 028E3A2C */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 028E3A2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
/* 028E3A30 */ _t43 = cpu->r[1] + 0x0000001Cu;
/* 028E3A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
/* 028E3A34 */ cpu->r[3] = cpu->r[31];
/* 028E3A38 */ _t44 = cpu->r[1] + 0x00000010u;
/* 028E3A38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
/* 028E3A3C */ cpu->lr = cpu->r[0];
/* 028E3A40 */ _t45 = cpu->r[1] + 0x00000014u;
/* 028E3A40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
/* 028E3A44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E3A48 */ return;
}
// fn_028E3940 @ 0x28e3940
void Gambit_fn_028E3940(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
L_028E3940: ; // 0x28e3940
/* 028E3940 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E3940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3940 */ cpu->r[1] = _t0;
/* 028E3944 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E3944 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E3948 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E3948 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E394C */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E394C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E3950 */ cpu->r[31] = cpu->r[3];
/* 028E3950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E3954 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E3954 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E3958 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3958 */ _t6 = _t5 & 0x00000001u;
/* 028E3958 */ if (_t6) goto L_028E395C; else goto L_028E396C;
L_028E395C: ; // 0x28e395c
/* 028E395C */ cpu->r[3] = 0x0000004Cu;
/* 028E3960 */ Gambit_fn_02801A78(cpu);
/* 028E3964 */ cpu->r[31] = cpu->r[3];
/* 028E3964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E3968 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3968 */ _t8 = _t7 & 0x00000001u;
/* 028E3968 */ if (_t8) goto L_028E3A2C; else goto L_028E396C;
L_028E396C: ; // 0x28e396c
/* 028E396C */ cpu->r[0] = 0x10140000u;
/* 028E3970 */ cpu->r[29] = 0x00000000u;
/* 028E3974 */ cpu->r[0] = cpu->r[0] + 0xFFFFB780u;
/* 028E3978 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028E3978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E397C */ _t9 = cpu->r[31] + 0x00000000u;
/* 028E397C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E3980 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3980 */ _t11 = _t10 & 0x00000001u;
/* 028E3980 */ if (_t11) goto L_028E3984; else goto L_028E3994;
L_028E3984: ; // 0x28e3984
/* 028E3984 */ cpu->r[3] = 0x0000000Cu;
/* 028E3988 */ Gambit_fn_02801A78(cpu);
/* 028E398C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3990 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3990 */ _t13 = _t12 & 0x00000001u;
/* 028E3990 */ if (_t13) goto L_028E39B8; else goto L_028E3994;
L_028E3994: ; // 0x28e3994
/* 028E3994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3998 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3998 */ _t15 = _t14 & 0x00000001u;
/* 028E3998 */ if (_t15) goto L_028E399C; else goto L_028E39AC;
L_028E399C: ; // 0x28e399c
/* 028E399C */ cpu->r[3] = 0x0000000Cu;
/* 028E39A0 */ Gambit_fn_02801A78(cpu);
/* 028E39A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E39A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39A8 */ _t17 = _t16 & 0x00000001u;
/* 028E39A8 */ if (_t17) goto L_028E39B8; else goto L_028E39AC;
L_028E39AC: ; // 0x28e39ac
/* 028E39AC */ _t18 = cpu->r[3] + 0x00000004u;
/* 028E39AC */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
/* 028E39B0 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028E39B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
/* 028E39B4 */ _t20 = cpu->r[3] + 0x00000008u;
/* 028E39B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
L_028E39B8: ; // 0x28e39b8
/* 028E39B8 */ cpu->r[30] = cpu->r[31] + 0x00000020u;
/* 028E39B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E39BC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39BC */ _t22 = _t21 & 0x00000001u;
/* 028E39BC */ if (_t22) goto L_028E39C0; else goto L_028E39D0;
L_028E39C0: ; // 0x28e39c0
/* 028E39C0 */ cpu->r[3] = 0x00000010u;
/* 028E39C4 */ Gambit_fn_02801A78(cpu);
/* 028E39C8 */ cpu->r[30] = cpu->r[3];
/* 028E39C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E39CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39CC */ _t24 = _t23 & 0x00000001u;
/* 028E39CC */ if (_t24) goto L_028E39FC; else goto L_028E39D0;
L_028E39D0: ; // 0x28e39d0
/* 028E39D0 */ cpu->r[3] = cpu->r[30];
/* 028E39D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E39D4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39D4 */ _t26 = _t25 & 0x00000001u;
/* 028E39D4 */ if (_t26) goto L_028E39D8; else goto L_028E39E8;
L_028E39D8: ; // 0x28e39d8
/* 028E39D8 */ cpu->r[3] = 0x0000000Cu;
/* 028E39DC */ Gambit_fn_02801A78(cpu);
/* 028E39E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E39E4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E39E4 */ _t28 = _t27 & 0x00000001u;
/* 028E39E4 */ if (_t28) goto L_028E39F4; else goto L_028E39E8;
L_028E39E8: ; // 0x28e39e8
/* 028E39E8 */ _t29 = cpu->r[3] + 0x00000004u;
/* 028E39E8 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
/* 028E39EC */ _t30 = cpu->r[3] + 0x00000008u;
/* 028E39EC */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
/* 028E39F0 */ _t31 = cpu->r[3] + 0x00000000u;
/* 028E39F0 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
L_028E39F4: ; // 0x28e39f4
/* 028E39F4 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028E39F8 */ _t32 = cpu->r[30] + 0x0000000Cu;
/* 028E39F8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
L_028E39FC: ; // 0x28e39fc
/* 028E39FC */ _t33 = cpu->r[31] + 0x00000040u;
/* 028E39FC */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
/* 028E3A00 */ cpu->r[11] = 0x10140000u;
/* 028E3A04 */ _t34 = cpu->r[31] + 0x00000044u;
/* 028E3A04 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
/* 028E3A08 */ _t35 = cpu->r[11] + 0xFFFFB76Cu;
/* 028E3A08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
/* 028E3A0C */ cpu->r[0] = 0x00000001u;
/* 028E3A10 */ _t36 = cpu->r[31] + 0x00000030u;
/* 028E3A10 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
/* 028E3A14 */ _t37 = cpu->r[31] + 0x0000003Cu;
/* 028E3A14 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
/* 028E3A18 */ _t38 = cpu->r[31] + 0x00000048u;
/* 028E3A18 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
/* 028E3A1C */ _t39 = cpu->r[31] + 0x00000038u;
/* 028E3A1C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
/* 028E3A20 */ cpu->r[10] = 0x0000000Cu;
/* 028E3A24 */ _t40 = cpu->r[31] + 0x00000034u;
/* 028E3A24 */ rbrew_write32(cpu->mem, _t40, cpu->r[29]);
/* 028E3A28 */ _t41 = cpu->r[31] + 0x0000002Cu;
/* 028E3A28 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
L_028E3A2C: ; // 0x28e3a2c
/* 028E3A2C */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 028E3A2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
/* 028E3A30 */ _t43 = cpu->r[1] + 0x0000001Cu;
/* 028E3A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
/* 028E3A34 */ cpu->r[3] = cpu->r[31];
/* 028E3A38 */ _t44 = cpu->r[1] + 0x00000010u;
/* 028E3A38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
/* 028E3A3C */ cpu->lr = cpu->r[0];
/* 028E3A40 */ _t45 = cpu->r[1] + 0x00000014u;
/* 028E3A40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
/* 028E3A44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E3A48 */ return;
}
// fn_028E3A4C @ 0x28e3a4c
void Gambit_fn_028E3A4C(CPUState* 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_028E3A4C: ; // 0x28e3a4c
/* 028E3A4C */ cpu->r[0] = cpu->lr;
/* 028E3A50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E3A50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3A50 */ cpu->r[1] = _t0;
/* 028E3A54 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E3A54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E3A58 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E3A58 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E3A5C */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E3A5C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E3A60 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E3A60 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E3A64 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E3A64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E3A68 */ cpu->r[29] = 0x101D0000u;
/* 028E3A6C */ cpu->r[30] = cpu->r[3];
/* 028E3A70 */ _t6 = cpu->r[29] + 0xFFFF9AE0u;
/* 028E3A70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028E3A70 */ cpu->r[29] = _t6;
/* 028E3A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3A78 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3A78 */ _t8 = _t7 & 0x00000001u;
/* 028E3A78 */ if (_t8) goto L_028E3A7C; else goto L_028E3ACC;
L_028E3A7C: ; // 0x28e3a7c
/* 028E3A7C */ cpu->r[4] = cpu->r[30];
/* 028E3A80 */ cpu->r[3] = 0x0000004Cu;
/* 028E3A84 */ cpu->r[5] = 0x00000004u;
/* 028E3A88 */ Gambit_fn_02801ADC(cpu);
/* 028E3A8C */ cpu->r[31] = cpu->r[3];
/* 028E3A90 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028E3A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E3A94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3A94 */ _t10 = _t9 & 0x00000001u;
/* 028E3A94 */ if (_t10) goto L_028E3AB4; else goto L_028E3A98;
L_028E3A98: ; // 0x28e3a98
/* 028E3A98 */ cpu->r[5] = 0x00000003u;
/* 028E3A9C */ cpu->r[4] = cpu->r[30];
/* 028E3AA0 */ cpu->r[3] = cpu->r[28];
/* 028E3AA4 */ Gambit_fn_02821D88(cpu);
/* 028E3AA8 */ cpu->r[0] = 0x10140000u;
/* 028E3AAC */ cpu->r[0] = cpu->r[0] + 0xFFFFB770u;
/* 028E3AB0 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028E3AB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028E3AB4: ; // 0x28e3ab4
/* 028E3AB4 */ cpu->r[12] = 0x101D0000u;
/* 028E3AB8 */ cpu->r[3] = cpu->r[31];
/* 028E3AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3ABC */ _t12 = cpu->r[12] + 0xFFFF9AE4u;
/* 028E3ABC */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028E3AC0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3AC0 */ _t14 = _t13 & 0x00000001u;
/* 028E3AC0 */ if (_t14) goto L_028E3AC8; else goto L_028E3AC4;
L_028E3AC4: ; // 0x28e3ac4
/* 028E3AC4 */ Gambit_fn_028E393C(cpu);
L_028E3AC8: ; // 0x28e3ac8
/* 028E3AC8 */ _t15 = cpu->r[29] + 0x00000000u;
/* 028E3AC8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028E3ACC: ; // 0x28e3acc
/* 028E3ACC */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E3ACC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028E3AD0 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E3AD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E3AD4 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E3AD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E3AD8 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E3AD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E3ADC */ cpu->lr = cpu->r[0];
/* 028E3AE0 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E3AE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E3AE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E3AE8 */ return;
}
// fn_028E3A50 @ 0x28e3a50
void Gambit_fn_028E3A50(CPUState* 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_028E3A50: ; // 0x28e3a50
/* 028E3A50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E3A50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3A50 */ cpu->r[1] = _t0;
/* 028E3A54 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E3A54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E3A58 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E3A58 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E3A5C */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E3A5C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E3A60 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E3A60 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E3A64 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E3A64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E3A68 */ cpu->r[29] = 0x101D0000u;
/* 028E3A6C */ cpu->r[30] = cpu->r[3];
/* 028E3A70 */ _t6 = cpu->r[29] + 0xFFFF9AE0u;
/* 028E3A70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028E3A70 */ cpu->r[29] = _t6;
/* 028E3A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3A78 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3A78 */ _t8 = _t7 & 0x00000001u;
/* 028E3A78 */ if (_t8) goto L_028E3A7C; else goto L_028E3ACC;
L_028E3A7C: ; // 0x28e3a7c
/* 028E3A7C */ cpu->r[4] = cpu->r[30];
/* 028E3A80 */ cpu->r[3] = 0x0000004Cu;
/* 028E3A84 */ cpu->r[5] = 0x00000004u;
/* 028E3A88 */ Gambit_fn_02801ADC(cpu);
/* 028E3A8C */ cpu->r[31] = cpu->r[3];
/* 028E3A90 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028E3A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E3A94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3A94 */ _t10 = _t9 & 0x00000001u;
/* 028E3A94 */ if (_t10) goto L_028E3AB4; else goto L_028E3A98;
L_028E3A98: ; // 0x28e3a98
/* 028E3A98 */ cpu->r[5] = 0x00000003u;
/* 028E3A9C */ cpu->r[4] = cpu->r[30];
/* 028E3AA0 */ cpu->r[3] = cpu->r[28];
/* 028E3AA4 */ Gambit_fn_02821D88(cpu);
/* 028E3AA8 */ cpu->r[0] = 0x10140000u;
/* 028E3AAC */ cpu->r[0] = cpu->r[0] + 0xFFFFB770u;
/* 028E3AB0 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028E3AB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028E3AB4: ; // 0x28e3ab4
/* 028E3AB4 */ cpu->r[12] = 0x101D0000u;
/* 028E3AB8 */ cpu->r[3] = cpu->r[31];
/* 028E3AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3ABC */ _t12 = cpu->r[12] + 0xFFFF9AE4u;
/* 028E3ABC */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028E3AC0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3AC0 */ _t14 = _t13 & 0x00000001u;
/* 028E3AC0 */ if (_t14) goto L_028E3AC8; else goto L_028E3AC4;
L_028E3AC4: ; // 0x28e3ac4
/* 028E3AC4 */ Gambit_fn_028E393C(cpu);
L_028E3AC8: ; // 0x28e3ac8
/* 028E3AC8 */ _t15 = cpu->r[29] + 0x00000000u;
/* 028E3AC8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028E3ACC: ; // 0x28e3acc
/* 028E3ACC */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E3ACC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028E3AD0 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E3AD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E3AD4 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E3AD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E3AD8 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E3AD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E3ADC */ cpu->lr = cpu->r[0];
/* 028E3AE0 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E3AE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E3AE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E3AE8 */ return;
}
// fn_028E3AEC @ 0x28e3aec
void Gambit_fn_028E3AEC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E3AEC: ; // 0x28e3aec
/* 028E3AEC */ cpu->r[0] = cpu->lr;
/* 028E3AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E3AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3AF0 */ cpu->r[1] = _t0;
/* 028E3AF4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E3AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E3AF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E3AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E3AFC */ cpu->r[9] = 0x101D0000u;
/* 028E3B00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E3B00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E3B04 */ _t4 = cpu->r[9] + 0xFFFF9AE4u;
/* 028E3B04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028E3B04 */ cpu->r[9] = _t4;
/* 028E3B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3B0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3B0C */ _t6 = _t5 & 0x00000001u;
/* 028E3B0C */ if (_t6) goto L_028E3B54; else goto L_028E3B10;
L_028E3B10: ; // 0x28e3b10
/* 028E3B10 */ cpu->r[30] = 0x00000000u;
/* 028E3B14 */ _t7 = cpu->r[9] + 0x00000000u;
/* 028E3B14 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028E3B18 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028E3B18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028E3B1C */ _t9 = cpu->r[11] + 0x0000000Cu;
/* 028E3B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E3B20 */ cpu->ctr = cpu->r[0];
/* 028E3B24 */ cpu->r[4] = 0x00000002u;
/* 028E3B28 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E3B2C */ cpu->r[31] = 0x101D0000u;
/* 028E3B30 */ _t10 = cpu->r[31] + 0xFFFF9AE0u;
/* 028E3B30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028E3B30 */ cpu->r[31] = _t10;
/* 028E3B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3B38 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3B38 */ _t12 = _t11 & 0x00000001u;
/* 028E3B38 */ if (_t12) goto L_028E3B50; else goto L_028E3B3C;
L_028E3B3C: ; // 0x28e3b3c
/* 028E3B3C */ _t13 = cpu->r[3] + 0x00000000u;
/* 028E3B3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028E3B40 */ _t14 = cpu->r[10] + 0x00000014u;
/* 028E3B40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E3B44 */ cpu->ctr = cpu->r[12];
/* 028E3B48 */ cpu->r[4] = 0x00000003u;
/* 028E3B4C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028E3B50: ; // 0x28e3b50
/* 028E3B50 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028E3B50 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028E3B54: ; // 0x28e3b54
/* 028E3B54 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E3B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E3B58 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E3B58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E3B5C */ cpu->lr = cpu->r[0];
/* 028E3B60 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E3B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E3B64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E3B68 */ return;
}
// fn_028E3AF0 @ 0x28e3af0
void Gambit_fn_028E3AF0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E3AF0: ; // 0x28e3af0
/* 028E3AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E3AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3AF0 */ cpu->r[1] = _t0;
/* 028E3AF4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E3AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E3AF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E3AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E3AFC */ cpu->r[9] = 0x101D0000u;
/* 028E3B00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E3B00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E3B04 */ _t4 = cpu->r[9] + 0xFFFF9AE4u;
/* 028E3B04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028E3B04 */ cpu->r[9] = _t4;
/* 028E3B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3B0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3B0C */ _t6 = _t5 & 0x00000001u;
/* 028E3B0C */ if (_t6) goto L_028E3B54; else goto L_028E3B10;
L_028E3B10: ; // 0x28e3b10
/* 028E3B10 */ cpu->r[30] = 0x00000000u;
/* 028E3B14 */ _t7 = cpu->r[9] + 0x00000000u;
/* 028E3B14 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028E3B18 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028E3B18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028E3B1C */ _t9 = cpu->r[11] + 0x0000000Cu;
/* 028E3B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E3B20 */ cpu->ctr = cpu->r[0];
/* 028E3B24 */ cpu->r[4] = 0x00000002u;
/* 028E3B28 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E3B2C */ cpu->r[31] = 0x101D0000u;
/* 028E3B30 */ _t10 = cpu->r[31] + 0xFFFF9AE0u;
/* 028E3B30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028E3B30 */ cpu->r[31] = _t10;
/* 028E3B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3B38 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3B38 */ _t12 = _t11 & 0x00000001u;
/* 028E3B38 */ if (_t12) goto L_028E3B50; else goto L_028E3B3C;
L_028E3B3C: ; // 0x28e3b3c
/* 028E3B3C */ _t13 = cpu->r[3] + 0x00000000u;
/* 028E3B3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028E3B40 */ _t14 = cpu->r[10] + 0x00000014u;
/* 028E3B40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E3B44 */ cpu->ctr = cpu->r[12];
/* 028E3B48 */ cpu->r[4] = 0x00000003u;
/* 028E3B4C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028E3B50: ; // 0x28e3b50
/* 028E3B50 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028E3B50 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028E3B54: ; // 0x28e3b54
/* 028E3B54 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E3B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E3B58 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E3B58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E3B5C */ cpu->lr = cpu->r[0];
/* 028E3B60 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E3B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E3B64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E3B68 */ return;
}
// fn_028E3B6C @ 0x28e3b6c
void Gambit_fn_028E3B6C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028E3B6C: ; // 0x28e3b6c
/* 028E3B6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E3B6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3B6C */ cpu->r[1] = _t0;
/* 028E3B70 */ cpu->r[0] = cpu->lr;
/* 028E3B74 */ /* nop */
/* 028E3B78 */ cpu->r[30] = cpu->r[3];
/* 028E3B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E3B7C */ cpu->r[31] = cpu->r[4];
/* 028E3B80 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E3B80 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E3B84 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3B84 */ _t3 = _t2 & 0x00000001u;
/* 028E3B84 */ if (_t3) goto L_028E3C7C; else goto L_028E3B88;
L_028E3B88: ; // 0x28e3b88
/* 028E3B88 */ cpu->r[9] = 0x10140000u;
/* 028E3B8C */ cpu->r[9] = cpu->r[9] + 0xFFFFB780u;
/* 028E3B90 */ cpu->r[3] = cpu->r[30] + 0x00000020u;
/* 028E3B94 */ _t4 = cpu->r[30] + 0x00000000u;
/* 028E3B94 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
/* 028E3B98 */ Gambit_fn_0280236C(cpu);
/* 028E3B9C */ _t5 = cpu->r[30] + 0x0000001Cu;
/* 028E3B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E3BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E3BA4 */ cpu->r[29] = 0x00000000u;
/* 028E3BA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3BA8 */ _t7 = _t6 & 0x00000001u;
/* 028E3BA8 */ if (_t7) goto L_028E3C0C; else goto L_028E3BAC;
L_028E3BAC: ; // 0x28e3bac
/* 028E3BAC */ _t8 = cpu->r[30] + 0x00000014u;
/* 028E3BAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028E3BB0 */ cpu->r[28] = 0x00000000u;
/* 028E3BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
/* 028E3BB8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3BB8 */ _t10 = _t9 & 0x00000001u;
/* 028E3BB8 */ if (_t10) goto L_028E3BBC; else goto L_028E3C04;
L_028E3BBC: ; // 0x28e3bbc
/* 028E3BBC */ cpu->r[27] = 0x00000000u;
L_028E3BC0: ; // 0x28e3bc0
/* 028E3BC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]);
/* 028E3BC4 */ cpu->r[3] = 0x00000000u;
/* 028E3BC8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3BC8 */ _t12 = _t11 & 0x00000001u;
/* 028E3BC8 */ if (_t12) goto L_028E3BCC; else goto L_028E3BD4;
L_028E3BCC: ; // 0x28e3bcc
/* 028E3BCC */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028E3BCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E3BD0 */ _t14 = cpu->r[11] + cpu->r[27];
/* 028E3BD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
L_028E3BD4: ; // 0x28e3bd4
/* 028E3BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3BD8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3BD8 */ _t16 = _t15 & 0x00000001u;
/* 028E3BD8 */ if (_t16) goto L_028E3BF4; else goto L_028E3BDC;
L_028E3BDC: ; // 0x28e3bdc
/* 028E3BDC */ _t17 = cpu->r[3] + 0x00000004u;
/* 028E3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028E3BE0 */ _t18 = cpu->r[12] + 0x0000001Cu;
/* 028E3BE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E3BE4 */ cpu->ctr = cpu->r[0];
/* 028E3BE8 */ cpu->r[4] = 0x00000003u;
/* 028E3BEC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E3BF0 */ _t19 = cpu->r[30] + 0x00000014u;
/* 028E3BF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
L_028E3BF4: ; // 0x28e3bf4
/* 028E3BF4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E3BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
/* 028E3BFC */ cpu->r[27] = cpu->r[27] + 0x00000004u;
/* 028E3C00 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3C00 */ _t21 = _t20 & 0x00000001u;
/* 028E3C00 */ if (_t21) goto L_028E3BC0; else goto L_028E3C04;
L_028E3C04: ; // 0x28e3c04
/* 028E3C04 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028E3C08 */ Gambit_fn_02802424(cpu);
L_028E3C0C: ; // 0x28e3c0c
/* 028E3C0C */ _t22 = cpu->r[30] + 0x00000040u;
/* 028E3C0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028E3C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3C14 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3C14 */ _t24 = _t23 & 0x00000001u;
/* 028E3C14 */ if (_t24) goto L_028E3C30; else goto L_028E3C18;
L_028E3C18: ; // 0x28e3c18
/* 028E3C18 */ _t25 = cpu->r[3] + 0x00000000u;
/* 028E3C18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028E3C1C */ _t26 = cpu->r[12] + 0x00000014u;
/* 028E3C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028E3C20 */ cpu->ctr = cpu->r[0];
/* 028E3C24 */ cpu->r[4] = 0x00000003u;
/* 028E3C28 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E3C2C */ _t27 = cpu->r[30] + 0x00000040u;
/* 028E3C2C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
L_028E3C30: ; // 0x28e3c30
/* 028E3C30 */ _t28 = cpu->r[30] + 0x00000044u;
/* 028E3C30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028E3C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3C38 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3C38 */ _t30 = _t29 & 0x00000001u;
/* 028E3C38 */ if (_t30) goto L_028E3C54; else goto L_028E3C3C;
L_028E3C3C: ; // 0x28e3c3c
/* 028E3C3C */ _t31 = cpu->r[3] + 0x00000000u;
/* 028E3C3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
/* 028E3C40 */ _t32 = cpu->r[6] + 0x00000014u;
/* 028E3C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028E3C44 */ cpu->ctr = cpu->r[0];
/* 028E3C48 */ cpu->r[4] = 0x00000003u;
/* 028E3C4C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E3C50 */ _t33 = cpu->r[30] + 0x00000044u;
/* 028E3C50 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
L_028E3C54: ; // 0x28e3c54
/* 028E3C54 */ _t34 = cpu->r[30] + 0x00000048u;
/* 028E3C54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
/* 028E3C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3C5C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3C5C */ _t36 = _t35 & 0x00000001u;
/* 028E3C5C */ if (_t36) goto L_028E3C6C; else goto L_028E3C60;
L_028E3C60: ; // 0x28e3c60
/* 028E3C60 */ cpu->r[4] = 0x00000003u;
/* 028E3C64 */ Gambit_fn_028E5700(cpu);
/* 028E3C68 */ _t37 = cpu->r[30] + 0x00000048u;
/* 028E3C68 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
L_028E3C6C: ; // 0x28e3c6c
/* 028E3C6C */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E3C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028E3C70 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3C70 */ _t39 = _t38 & 0x00000001u;
/* 028E3C70 */ if (_t39) goto L_028E3C7C; else goto L_028E3C74;
L_028E3C74: ; // 0x28e3c74
/* 028E3C74 */ cpu->r[3] = cpu->r[30];
/* 028E3C78 */ Gambit_fn_02801BB0(cpu);
L_028E3C7C: ; // 0x28e3c7c
/* 028E3C7C */ /* nop */
/* 028E3C80 */ _t40 = cpu->r[1] + 0x00000024u;
/* 028E3C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028E3C84 */ cpu->lr = cpu->r[0];
/* 028E3C88 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E3C8C */ return;
}
// fn_028E3C90 @ 0x28e3c90
void Gambit_fn_028E3C90(CPUState* cpu) {
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_028E3C90: ; // 0x28e3c90
/* 028E3C90 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028E3C90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3C90 */ cpu->r[1] = _t0;
/* 028E3C94 */ /* nop */
/* 028E3C98 */ cpu->r[0] = cpu->lr;
/* 028E3C9C */ _t1 = cpu->r[1] + 0x00000020u;
/* 028E3C9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E3CA0 */ /* nop */
/* 028E3CA4 */ _t2 = cpu->r[1] + 0x00000028u;
/* 028E3CA4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028E3CA8 */ cpu->r[8] = 0x10140000u;
/* 028E3CAC */ _t3 = cpu->r[8] + 0xFFFFB76Cu;
/* 028E3CAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t3);
/* 028E3CB0 */ _t4 = cpu->r[1] + 0x00000034u;
/* 028E3CB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E3CB4 */ cpu->r[28] = 0x00000000u;
/* 028E3CB8 */ cpu->r[12] = 0x101D0000u;
/* 028E3CBC */ _t5 = cpu->r[12] + 0xFFFF9A84u;
/* 028E3CBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028E3CC0 */ cpu->r[29] = 0x00000002u;
/* 028E3CC4 */ cpu->r[31] = cpu->r[3];
/* 028E3CC8 */ _t6 = cpu->r[12] + 0x00000020u;
/* 028E3CC8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t6);
/* 028E3CCC */ cpu->r[30] = cpu->r[28];
L_028E3CD0: ; // 0x28e3cd0
/* 028E3CD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E3CD4 */ cpu->r[10] = cpu->r[27] + cpu->r[0];
/* 028E3CD8 */ _t7 = cpu->r[10] + 0x0000001Cu;
/* 028E3CD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
/* 028E3CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E3CE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3CE0 */ _t9 = _t8 & 0x00000001u;
/* 028E3CE0 */ if (_t9) goto L_028E3D08; else goto L_028E3CE4;
L_028E3CE4: ; // 0x28e3ce4
/* 028E3CE4 */ _t10 = cpu->r[9] + 0x00000004u;
/* 028E3CE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028E3CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3CEC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3CEC */ _t12 = _t11 & 0x00000001u;
/* 028E3CEC */ if (_t12) goto L_028E3D00; else goto L_028E3CF0;
L_028E3CF0: ; // 0x28e3cf0
/* 028E3CF0 */ Gambit_fn_028D836C(cpu);
/* 028E3CF4 */ cpu->r[7] = cpu->r[31] + cpu->r[30];
/* 028E3CF8 */ _t13 = cpu->r[7] + 0x00000038u;
/* 028E3CF8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[1]);
/* 028E3CFC */ goto L_028E3D08;
L_028E3D00: ; // 0x28e3d00
/* 028E3D00 */ cpu->r[7] = cpu->r[31] + cpu->r[30];
/* 028E3D04 */ _t14 = cpu->r[7] + 0x00000038u;
/* 028E3D04 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
L_028E3D08: ; // 0x28e3d08
/* 028E3D08 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
/* 028E3D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E3D0C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E3D10 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
/* 028E3D14 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3D14 */ _t16 = _t15 & 0x00000001u;
/* 028E3D14 */ if (_t16) goto L_028E3D18; else goto L_028E3CD0;
L_028E3D18: ; // 0x28e3d18
/* 028E3D18 */ /* nop */
/* 028E3D1C */ _t17 = cpu->r[1] + 0x00000028u;
/* 028E3D1C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
/* 028E3D20 */ _t18 = cpu->r[1] + 0x00000020u;
/* 028E3D20 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
/* 028E3D24 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3D24 */ _t20 = _t19 & 0x00000001u;
/* 028E3D24 */ if (_t20) goto L_028E3D28; // else: addr-0 trap, fall-through
L_028E3D28: ; // 0x28e3d28
/* 028E3D28 */ _t21 = cpu->r[1] + 0x00000034u;
/* 028E3D28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028E3D2C */ cpu->lr = cpu->r[0];
/* 028E3D30 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028E3D34 */ return;
}
// fn_028E3D38 @ 0x28e3d38
void Gambit_fn_028E3D38(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
L_028E3D38: ; // 0x28e3d38
/* 028E3D38 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E3D38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3D38 */ cpu->r[1] = _t0;
/* 028E3D3C */ /* nop */
/* 028E3D40 */ cpu->r[0] = cpu->lr;
/* 028E3D44 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028E3D44 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E3D48 */ cpu->r[29] = cpu->r[3];
/* 028E3D4C */ cpu->r[3] = cpu->r[29] + 0x00000014u;
/* 028E3D50 */ cpu->r[30] = cpu->r[4];
/* 028E3D54 */ cpu->r[6] = 0x00000004u;
/* 028E3D58 */ _t2 = cpu->r[30] + 0x00000000u;
/* 028E3D58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028E3D5C */ cpu->r[31] = cpu->r[5];
/* 028E3D60 */ Gambit_fn_028023CC(cpu);
/* 028E3D64 */ _t3 = cpu->r[30] + 0x00000000u;
/* 028E3D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E3D68 */ cpu->r[27] = 0x00000000u;
/* 028E3D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
/* 028E3D70 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3D70 */ _t5 = _t4 & 0x00000001u;
/* 028E3D70 */ if (_t5) goto L_028E3D74; else goto L_028E3DDC;
L_028E3D74: ; // 0x28e3d74
/* 028E3D74 */ cpu->r[28] = 0x00000000u;
L_028E3D78: ; // 0x28e3d78
/* 028E3D78 */ cpu->r[4] = cpu->r[31];
/* 028E3D7C */ cpu->r[3] = 0x000001E8u;
/* 028E3D80 */ cpu->r[5] = 0x00000004u;
/* 028E3D84 */ Gambit_fn_02801AC8(cpu);
/* 028E3D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3D8C */ cpu->r[12] = cpu->r[3];
/* 028E3D90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3D90 */ _t7 = _t6 & 0x00000001u;
/* 028E3D90 */ if (_t7) goto L_028E3DA0; else goto L_028E3D94;
L_028E3D94: ; // 0x28e3d94
/* 028E3D94 */ cpu->r[4] = cpu->r[31];
/* 028E3D98 */ Gambit_fn_028E285C(cpu);
/* 028E3D9C */ cpu->r[12] = cpu->r[3];
L_028E3DA0: ; // 0x28e3da0
/* 028E3DA0 */ _t8 = cpu->r[12] + 0x0000002Cu;
/* 028E3DA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
/* 028E3DA4 */ _t9 = cpu->r[29] + 0x00000014u;
/* 028E3DA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028E3DA8 */ _t10 = cpu->r[29] + 0x00000018u;
/* 028E3DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E3DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
/* 028E3DB0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3DB0 */ _t12 = _t11 & 0x00000001u;
/* 028E3DB0 */ if (_t12) goto L_028E3DB4; else goto L_028E3DCC;
L_028E3DB4: ; // 0x28e3db4
/* 028E3DB4 */ _t13 = cpu->r[29] + 0x0000001Cu;
/* 028E3DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E3DB8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E3DBC */ _t14 = cpu->r[7] + cpu->r[0];
/* 028E3DBC */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
/* 028E3DC0 */ _t15 = cpu->r[29] + 0x00000014u;
/* 028E3DC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028E3DC4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E3DC8 */ _t16 = cpu->r[29] + 0x00000014u;
/* 028E3DC8 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
L_028E3DCC: ; // 0x28e3dcc
/* 028E3DCC */ _t17 = cpu->r[30] + 0x00000000u;
/* 028E3DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E3DD0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028E3DD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
/* 028E3DD8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3DD8 */ _t19 = _t18 & 0x00000001u;
/* 028E3DD8 */ if (_t19) goto L_028E3D78; else goto L_028E3DDC;
L_028E3DDC: ; // 0x28e3ddc
/* 028E3DDC */ cpu->r[3] = cpu->r[29] + 0x00000020u;
/* 028E3DE0 */ Gambit_fn_0280236C(cpu);
/* 028E3DE4 */ cpu->r[4] = cpu->r[31];
/* 028E3DE8 */ cpu->r[3] = 0x00000068u;
/* 028E3DEC */ cpu->r[5] = 0x00000004u;
/* 028E3DF0 */ Gambit_fn_02801AC8(cpu);
/* 028E3DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3DF8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3DF8 */ _t21 = _t20 & 0x00000001u;
/* 028E3DF8 */ if (_t21) goto L_028E3E00; else goto L_028E3DFC;
L_028E3DFC: ; // 0x28e3dfc
/* 028E3DFC */ Gambit_fn_028DDB24(cpu);
L_028E3E00: ; // 0x28e3e00
/* 028E3E00 */ _t22 = cpu->r[29] + 0x00000040u;
/* 028E3E00 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
/* 028E3E04 */ _t23 = cpu->r[30] + 0x00000004u;
/* 028E3E04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
/* 028E3E08 */ cpu->r[6] = cpu->r[31];
/* 028E3E0C */ _t24 = cpu->r[30] + 0x00000008u;
/* 028E3E0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
/* 028E3E10 */ Gambit_fn_028DDDF4(cpu);
/* 028E3E14 */ cpu->r[4] = cpu->r[31];
/* 028E3E18 */ cpu->r[3] = 0x00000034u;
/* 028E3E1C */ cpu->r[5] = 0x00000004u;
/* 028E3E20 */ Gambit_fn_02801AC8(cpu);
/* 028E3E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3E28 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3E28 */ _t26 = _t25 & 0x00000001u;
/* 028E3E28 */ if (_t26) goto L_028E3E30; else goto L_028E3E2C;
L_028E3E2C: ; // 0x28e3e2c
/* 028E3E2C */ Gambit_fn_028E5A00(cpu);
L_028E3E30: ; // 0x28e3e30
/* 028E3E30 */ _t27 = cpu->r[29] + 0x00000044u;
/* 028E3E30 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
/* 028E3E34 */ _t28 = cpu->r[30] + 0x0000000Cu;
/* 028E3E34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
/* 028E3E38 */ _t29 = cpu->r[30] + 0x00000010u;
/* 028E3E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028E3E3C */ cpu->r[5] = cpu->r[31];
/* 028E3E40 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028E3E40 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
/* 028E3E44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E3E48 */ _t31 = cpu->r[1] + 0x0000000Cu;
/* 028E3E48 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
/* 028E3E4C */ Gambit_fn_028E5C38(cpu);
/* 028E3E50 */ cpu->r[4] = cpu->r[31];
/* 028E3E54 */ cpu->r[3] = 0x00007800u;
/* 028E3E58 */ cpu->r[5] = 0x00000004u;
/* 028E3E5C */ Gambit_fn_02801AC8(cpu);
/* 028E3E60 */ cpu->r[0] = cpu->r[3];
/* 028E3E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E3E64 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3E64 */ _t33 = _t32 & 0x00000001u;
/* 028E3E64 */ if (_t33) goto L_028E3E74; else goto L_028E3E68;
L_028E3E68: ; // 0x28e3e68
/* 028E3E68 */ cpu->r[3] = cpu->r[0];
/* 028E3E6C */ Gambit_fn_028E56A0(cpu);
/* 028E3E70 */ cpu->r[0] = cpu->r[3];
L_028E3E74: ; // 0x28e3e74
/* 028E3E74 */ cpu->r[3] = cpu->r[29];
/* 028E3E78 */ _t34 = cpu->r[29] + 0x00000048u;
/* 028E3E78 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028E3E7C */ Gambit_fn_028E3C90(cpu);
/* 028E3E80 */ /* nop */
/* 028E3E84 */ _t35 = cpu->r[1] + 0x0000002Cu;
/* 028E3E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028E3E88 */ cpu->lr = cpu->r[0];
/* 028E3E8C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E3E90 */ return;
}
// fn_028E3E94 @ 0x28e3e94
void Gambit_fn_028E3E94(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E3E94: ; // 0x28e3e94
/* 028E3E94 */ cpu->r[0] = cpu->lr;
/* 028E3E98 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E3E98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3E98 */ cpu->r[1] = _t0;
/* 028E3E9C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E3E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E3EA0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E3EA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E3EA4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E3EA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E3EA8 */ cpu->r[31] = cpu->r[3];
/* 028E3EAC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E3EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E3EB0 */ _t5 = cpu->r[31] + 0x00000040u;
/* 028E3EB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028E3EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3EB8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3EB8 */ _t7 = _t6 & 0x00000001u;
/* 028E3EB8 */ if (_t7) goto L_028E3EF8; else goto L_028E3EBC;
L_028E3EBC: ; // 0x28e3ebc
/* 028E3EBC */ Gambit_fn_028DE080(cpu);
/* 028E3EC0 */ _t8 = cpu->r[31] + 0x0000002Cu;
/* 028E3EC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028E3EC4 */ cpu->r[9] = cpu->r[31] + 0x00000020u;
/* 028E3EC8 */ _t9 = cpu->r[31] + 0x00000024u;
/* 028E3EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E3ECC */ cpu->r[31] = cpu->r[9] - cpu->r[30];
/* 028E3ED0 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
/* 028E3ED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
/* 028E3ED8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3ED8 */ _t11 = _t10 & 0x00000001u;
/* 028E3ED8 */ if (_t11) goto L_028E3EF8; else goto L_028E3EDC;
L_028E3EDC: ; // 0x28e3edc
/* 028E3EDC */ cpu->r[3] = cpu->r[29];
/* 028E3EE0 */ Gambit_fn_028E1BFC(cpu);
/* 028E3EE4 */ cpu->r[11] = cpu->r[29] + cpu->r[30];
/* 028E3EE8 */ _t12 = cpu->r[11] + 0x00000004u;
/* 028E3EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E3EEC */ cpu->r[29] = cpu->r[0] - cpu->r[30];
/* 028E3EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
/* 028E3EF4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3EF4 */ _t14 = _t13 & 0x00000001u;
/* 028E3EF4 */ if (_t14) goto L_028E3EF8; else goto L_028E3EDC;
L_028E3EF8: ; // 0x28e3ef8
/* 028E3EF8 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E3EF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E3EFC */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028E3EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E3F00 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028E3F00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E3F04 */ cpu->lr = cpu->r[0];
/* 028E3F08 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E3F08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E3F0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E3F10 */ return;
}
// fn_028E3E98 @ 0x28e3e98
void Gambit_fn_028E3E98(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E3E98: ; // 0x28e3e98
/* 028E3E98 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E3E98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3E98 */ cpu->r[1] = _t0;
/* 028E3E9C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E3E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E3EA0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E3EA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E3EA4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E3EA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E3EA8 */ cpu->r[31] = cpu->r[3];
/* 028E3EAC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E3EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E3EB0 */ _t5 = cpu->r[31] + 0x00000040u;
/* 028E3EB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028E3EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3EB8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3EB8 */ _t7 = _t6 & 0x00000001u;
/* 028E3EB8 */ if (_t7) goto L_028E3EF8; else goto L_028E3EBC;
L_028E3EBC: ; // 0x28e3ebc
/* 028E3EBC */ Gambit_fn_028DE080(cpu);
/* 028E3EC0 */ _t8 = cpu->r[31] + 0x0000002Cu;
/* 028E3EC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028E3EC4 */ cpu->r[9] = cpu->r[31] + 0x00000020u;
/* 028E3EC8 */ _t9 = cpu->r[31] + 0x00000024u;
/* 028E3EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E3ECC */ cpu->r[31] = cpu->r[9] - cpu->r[30];
/* 028E3ED0 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
/* 028E3ED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
/* 028E3ED8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3ED8 */ _t11 = _t10 & 0x00000001u;
/* 028E3ED8 */ if (_t11) goto L_028E3EF8; else goto L_028E3EDC;
L_028E3EDC: ; // 0x28e3edc
/* 028E3EDC */ cpu->r[3] = cpu->r[29];
/* 028E3EE0 */ Gambit_fn_028E1BFC(cpu);
/* 028E3EE4 */ cpu->r[11] = cpu->r[29] + cpu->r[30];
/* 028E3EE8 */ _t12 = cpu->r[11] + 0x00000004u;
/* 028E3EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E3EEC */ cpu->r[29] = cpu->r[0] - cpu->r[30];
/* 028E3EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
/* 028E3EF4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3EF4 */ _t14 = _t13 & 0x00000001u;
/* 028E3EF4 */ if (_t14) goto L_028E3EF8; else goto L_028E3EDC;
L_028E3EF8: ; // 0x28e3ef8
/* 028E3EF8 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E3EF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E3EFC */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028E3EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E3F00 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028E3F00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E3F04 */ cpu->lr = cpu->r[0];
/* 028E3F08 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E3F08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E3F0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E3F10 */ return;
}
// fn_028E3F14 @ 0x28e3f14
void Gambit_fn_028E3F14(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E3F14: ; // 0x28e3f14
/* 028E3F14 */ _t0 = cpu->r[3] + 0x00000048u;
/* 028E3F14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028E3F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3F1C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3F1C */ _t2 = _t1 & 0x00000001u;
/* 028E3F1C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E3F1C */ goto L_028E3F20;
L_028E3F20: ; // 0x28e3f20
/* 028E3F20 */ goto L_028E5304;
L_028E5304: ; // 0x28e5304
/* 028E5304 */ _t3 = cpu->r[1] + 0xFFFFFF60u;
/* 028E5304 */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
/* 028E5304 */ cpu->r[1] = _t3;
/* 028E5308 */ /* nop */
/* 028E530C */ _t4 = cpu->r[1] + 0x00000050u;
/* 028E530C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[27]);
/* 028E5310 */ _t5 = cpu->r[1] + 0x00000060u;
/* 028E5310 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[28]);
/* 028E5314 */ _t6 = cpu->r[1] + 0x00000070u;
/* 028E5314 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
/* 028E5318 */ /* nop */
/* 028E531C */ _t7 = cpu->r[1] + 0x00000080u;
/* 028E531C */ rbrew_write_f64(cpu->mem, _t7, cpu->f[30]);
/* 028E5320 */ /* nop */
/* 028E5324 */ _t8 = cpu->r[1] + 0x00000090u;
/* 028E5324 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[31]);
/* 028E5328 */ /* nop */
/* 028E532C */ /* nop */
/* 028E5330 */ _t9 = cpu->r[1] + 0x00000058u;
/* 028E5330 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[27]);
/* 028E5334 */ /* nop */
/* 028E5338 */ _t10 = cpu->r[1] + 0x00000068u;
/* 028E5338 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[28]);
/* 028E533C */ _t11 = cpu->r[1] + 0x00000078u;
/* 028E533C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[29]);
/* 028E5340 */ _t12 = cpu->r[1] + 0x00000088u;
/* 028E5340 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[30]);
/* 028E5344 */ _t13 = cpu->r[1] + 0x00000098u;
/* 028E5344 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[31]);
/* 028E5348 */ cpu->r[7] = 0x10140000u;
/* 028E534C */ cpu->r[0] = cpu->lr;
/* 028E5350 */ _t14 = cpu->r[7] + 0xFFFFB7B8u;
/* 028E5350 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028E5354 */ cpu->r[6] = 0x10140000u;
/* 028E5358 */ _t15 = cpu->r[6] + 0xFFFFB7B0u;
/* 028E5358 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t15);
/* 028E535C */ _t16 = cpu->r[1] + 0x000000A4u;
/* 028E535C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E5360 */ cpu->r[12] = 0x101D0000u;
/* 028E5364 */ _t17 = cpu->r[12] + 0xFFFF9A84u;
/* 028E5364 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028E5368 */ cpu->r[23] = cpu->r[3];
/* 028E536C */ cpu->r[22] = 0x00000000u;
/* 028E5370 */ _t18 = cpu->r[12] + 0x00000020u;
/* 028E5370 */ cpu->r[21] = rbrew_read32(cpu->mem, _t18);
/* 028E5374 */ cpu->r[12] = 0x10140000u;
/* 028E5378 */ cpu->r[30] = cpu->r[22];
/* 028E537C */ _t19 = cpu->r[12] + 0xFFFFB7ACu;
/* 028E537C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t19);
/* 028E5380 */ cpu->r[28] = 0x00000002u;
L_028E5384: ; // 0x28e5384
/* 028E5384 */ cpu->r[6] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E5388 */ cpu->r[7] = cpu->r[21] + cpu->r[6];
/* 028E538C */ _t20 = cpu->r[7] + 0x0000001Cu;
/* 028E538C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028E5390 */ _t21 = cpu->r[12] + 0x00000004u;
/* 028E5390 */ cpu->r[24] = rbrew_read32(cpu->mem, _t21);
/* 028E5394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028E5398 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5398 */ _t23 = _t22 & 0x00000001u;
/* 028E5398 */ if (_t23) goto L_028E539C; else goto L_028E53A0;
L_028E539C: ; // 0x28e539c
/* 028E539C */ _t24 = cpu->r[12] + 0x0000000Cu;
/* 028E539C */ cpu->r[24] = rbrew_read32(cpu->mem, _t24);
L_028E53A0: ; // 0x28e53a0
/* 028E53A0 */ _t25 = cpu->r[24] + 0x00000014u;
/* 028E53A0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t25);
/* 028E53A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[27], cpu->f[29]);
/* 028E53A8 */ cpu->f[28] = cpu->f[30] - cpu->f[27];
/* 028E53AC */ cpu->r[26] = 0x00000000u;
/* 028E53B0 */ /* nop */
/* 028E53B4 */ cpu->r[20] = cpu->r[26];
/* 028E53B8 */ cpu->r[31] = cpu->r[30];
/* 028E53BC */ cpu->r[27] = 0x00000040u;
/* 028E53C0 */ cpu->r[29] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x0000001Fu, 0x0000001Fu);
L_028E53C4: ; // 0x28e53c4
/* 028E53C4 */ _t26 = cpu->r[24] + 0x00000008u;
/* 028E53C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028E53C8 */ _t27 = cpu->r[11] + 0x0000002Cu;
/* 028E53C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
/* 028E53CC */ cpu->ctr = cpu->r[8];
/* 028E53D0 */ cpu->r[25] = cpu->r[20] + 0x02000000u;
/* 028E53D4 */ cpu->r[3] = cpu->r[24];
/* 028E53D8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E53DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E53E0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E53E0 */ _t29 = _t28 & 0x00000001u;
/* 028E53E0 */ if (_t29) goto L_028E5524; else goto L_028E53E4;
L_028E53E4: ; // 0x28e53e4
/* 028E53E4 */ _t30 = cpu->r[24] + 0x0000001Cu;
/* 028E53E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
/* 028E53E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E53EC */ cpu->r[25] = cpu->r[25] - cpu->r[9];
/* 028E53F0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E53F0 */ _t32 = _t31 & 0x00000001u;
/* 028E53F0 */ if (_t32) goto L_028E53F4; else goto L_028E5444;
L_028E53F4: ; // 0x28e53f4
/* 028E53F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E53F8 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E53F8 */ _t34 = _t33 & 0x00000001u;
/* 028E53F8 */ if (_t34) goto L_028E53FC; else goto L_028E540C;
L_028E53FC: ; // 0x28e53fc
/* 028E53FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5400 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E5404 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5404 */ _t36 = _t35 & 0x00000001u;
/* 028E5404 */ if (_t36) goto L_028E5418; else goto L_028E5408;
L_028E5408: ; // 0x28e5408
/* 028E5408 */ goto L_028E5420;
L_028E540C: ; // 0x28e540c
/* 028E540C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5410 */ cpu->r[4] = cpu->r[23];
/* 028E5414 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5414 */ _t38 = _t37 & 0x00000001u;
/* 028E5414 */ if (_t38) goto L_028E5418; else goto L_028E5408;
L_028E5418: ; // 0x28e5418
/* 028E5418 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E541C */ cpu->r[4] = cpu->r[4] + cpu->r[0];
L_028E5420: ; // 0x28e5420
/* 028E5420 */ cpu->f[1] = cpu->f[27];
/* 028E5424 */ cpu->r[3] = cpu->r[23];
/* 028E5428 */ cpu->r[5] = cpu->r[24];
/* 028E542C */ cpu->r[6] = cpu->r[25];
/* 028E5430 */ Gambit_fn_028E46D8(cpu);
/* 028E5434 */ cpu->r[18] = 0x00000001u;
/* 028E5438 */ cpu->r[17] = 0x0000002Fu;
/* 028E543C */ cpu->r[19] = 0x00000140u;
/* 028E5440 */ goto L_028E548C;
L_028E5444: ; // 0x28e5444
/* 028E5444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E5448 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5448 */ _t40 = _t39 & 0x00000001u;
/* 028E5448 */ if (_t40) goto L_028E544C; else goto L_028E545C;
L_028E544C: ; // 0x28e544c
/* 028E544C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5450 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E5454 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5454 */ _t42 = _t41 & 0x00000001u;
/* 028E5454 */ if (_t42) goto L_028E5468; else goto L_028E5458;
L_028E5458: ; // 0x28e5458
/* 028E5458 */ goto L_028E5470;
L_028E545C: ; // 0x28e545c
/* 028E545C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5460 */ cpu->r[4] = cpu->r[23];
/* 028E5464 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5464 */ _t44 = _t43 & 0x00000001u;
/* 028E5464 */ if (_t44) goto L_028E5468; else goto L_028E5458;
L_028E5468: ; // 0x28e5468
/* 028E5468 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E546C */ cpu->r[4] = cpu->r[4] + cpu->r[0];
L_028E5470: ; // 0x28e5470
/* 028E5470 */ cpu->r[6] = cpu->r[25];
/* 028E5474 */ cpu->r[5] = cpu->r[24];
/* 028E5478 */ cpu->r[3] = cpu->r[23];
/* 028E547C */ Gambit_fn_028E4A74(cpu);
/* 028E5480 */ cpu->r[19] = 0x00000140u;
/* 028E5484 */ cpu->r[17] = 0x0000002Fu;
/* 028E5488 */ cpu->r[18] = 0x00000001u;
L_028E548C: ; // 0x28e548c
/* 028E548C */ cpu->r[11] = 0x10140000u;
/* 028E5490 */ cpu->r[4] = 0x43300000u;
/* 028E5494 */ _t45 = cpu->r[11] + 0xFFFFB7C0u;
/* 028E5494 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t45);
/* 028E5498 */ cpu->r[5] = cpu->r[18] ^ 0x80000000u;
/* 028E549C */ _t46 = cpu->r[1] + 0x00000008u;
/* 028E549C */ rbrew_write32(cpu->mem, _t46, cpu->r[4]);
/* 028E54A0 */ _t47 = cpu->r[1] + 0x0000000Cu;
/* 028E54A0 */ rbrew_write32(cpu->mem, _t47, cpu->r[5]);
/* 028E54A4 */ _t48 = cpu->r[1] + 0x00000008u;
/* 028E54A4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t48);
/* 028E54A8 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
/* 028E54AC */ cpu->f[11] = (double)(float)cpu->f[10];
/* 028E54B0 */ cpu->f[1] = cpu->f[11] / cpu->f[31];
/* 028E54B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E54B8 */ cpu->f[1] = fma(cpu->f[1], cpu->f[28], cpu->f[27]);
/* 028E54BC */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E54BC */ _t50 = _t49 & 0x00000001u;
/* 028E54BC */ if (_t50) goto L_028E54C0; else goto L_028E54D0;
L_028E54C0: ; // 0x28e54c0
/* 028E54C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], 0x00000030u);
/* 028E54C4 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E54C8 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E54C8 */ _t52 = _t51 & 0x00000001u;
/* 028E54C8 */ if (_t52) goto L_028E54DC; else goto L_028E54CC;
L_028E54CC: ; // 0x28e54cc
/* 028E54CC */ goto L_028E54E0;
L_028E54D0: ; // 0x28e54d0
/* 028E54D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], 0x00000030u);
/* 028E54D4 */ cpu->r[4] = cpu->r[23];
/* 028E54D8 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E54D8 */ _t54 = _t53 & 0x00000001u;
/* 028E54D8 */ if (_t54) goto L_028E54DC; else goto L_028E54CC;
L_028E54DC: ; // 0x28e54dc
/* 028E54DC */ cpu->r[4] = cpu->r[4] + cpu->r[19];
L_028E54E0: ; // 0x28e54e0
/* 028E54E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E54E4 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E54E4 */ _t56 = _t55 & 0x00000001u;
/* 028E54E4 */ if (_t56) goto L_028E54E8; else goto L_028E54F0;
L_028E54E8: ; // 0x28e54e8
/* 028E54E8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E54EC */ cpu->r[4] = cpu->r[4] + cpu->r[9];
L_028E54F0: ; // 0x28e54f0
/* 028E54F0 */ cpu->r[6] = cpu->r[25];
/* 028E54F4 */ cpu->r[5] = cpu->r[24];
/* 028E54F8 */ cpu->r[3] = cpu->r[23];
/* 028E54FC */ Gambit_fn_028E46D8(cpu);
/* 028E5500 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
/* 028E5500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028E5504 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
/* 028E5508 */ cpu->r[19] = cpu->r[19] + 0x00000140u;
/* 028E550C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E550C */ _t58 = _t57 & 0x00000001u;
/* 028E550C */ if (_t58) goto L_028E5510; else goto L_028E548C;
L_028E5510: ; // 0x28e5510
/* 028E5510 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028E5510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E5514 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
/* 028E5518 */ cpu->r[20] = cpu->r[20] + 0x04000000u;
/* 028E551C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E551C */ _t60 = _t59 & 0x00000001u;
/* 028E551C */ if (_t60) goto L_028E5520; else goto L_028E53C4;
L_028E5520: ; // 0x28e5520
/* 028E5520 */ goto L_028E5650;
L_028E5524: ; // 0x28e5524
/* 028E5524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5528 */ cpu->r[25] = cpu->r[25] + 0xC0000000u;
/* 028E552C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E552C */ _t62 = _t61 & 0x00000001u;
/* 028E552C */ if (_t62) goto L_028E5530; else goto L_028E557C;
L_028E5530: ; // 0x28e5530
/* 028E5530 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E5534 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5534 */ _t64 = _t63 & 0x00000001u;
/* 028E5534 */ if (_t64) goto L_028E5538; else goto L_028E5548;
L_028E5538: ; // 0x28e5538
/* 028E5538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E553C */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E5540 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5540 */ _t66 = _t65 & 0x00000001u;
/* 028E5540 */ if (_t66) goto L_028E5554; else goto L_028E5544;
L_028E5544: ; // 0x28e5544
/* 028E5544 */ goto L_028E555C;
L_028E5548: ; // 0x28e5548
/* 028E5548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E554C */ cpu->r[4] = cpu->r[23];
/* 028E5550 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5550 */ _t68 = _t67 & 0x00000001u;
/* 028E5550 */ if (_t68) goto L_028E5554; else goto L_028E5544;
L_028E5554: ; // 0x28e5554
/* 028E5554 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E5558 */ cpu->r[4] = cpu->r[4] + cpu->r[10];
L_028E555C: ; // 0x28e555c
/* 028E555C */ cpu->f[1] = cpu->f[27];
/* 028E5560 */ cpu->r[3] = cpu->r[23];
/* 028E5564 */ cpu->r[5] = cpu->r[25];
/* 028E5568 */ Gambit_fn_028E4E68(cpu);
/* 028E556C */ cpu->r[17] = 0x00000001u;
/* 028E5570 */ cpu->r[18] = 0x0000002Fu;
/* 028E5574 */ cpu->r[19] = 0x00000140u;
/* 028E5578 */ goto L_028E55C0;
L_028E557C: ; // 0x28e557c
/* 028E557C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E5580 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5580 */ _t70 = _t69 & 0x00000001u;
/* 028E5580 */ if (_t70) goto L_028E5584; else goto L_028E5594;
L_028E5584: ; // 0x28e5584
/* 028E5584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5588 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E558C */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E558C */ _t72 = _t71 & 0x00000001u;
/* 028E558C */ if (_t72) goto L_028E55A0; else goto L_028E5590;
L_028E5590: ; // 0x28e5590
/* 028E5590 */ goto L_028E55A8;
L_028E5594: ; // 0x28e5594
/* 028E5594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5598 */ cpu->r[4] = cpu->r[23];
/* 028E559C */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E559C */ _t74 = _t73 & 0x00000001u;
/* 028E559C */ if (_t74) goto L_028E55A0; else goto L_028E5590;
L_028E55A0: ; // 0x28e55a0
/* 028E55A0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E55A4 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
L_028E55A8: ; // 0x28e55a8
/* 028E55A8 */ cpu->r[5] = cpu->r[25];
/* 028E55AC */ cpu->r[3] = cpu->r[23];
/* 028E55B0 */ Gambit_fn_028E50CC(cpu);
/* 028E55B4 */ cpu->r[19] = 0x00000140u;
/* 028E55B8 */ cpu->r[18] = 0x0000002Fu;
/* 028E55BC */ cpu->r[17] = 0x00000001u;
L_028E55C0: ; // 0x28e55c0
/* 028E55C0 */ cpu->r[9] = 0x10140000u;
/* 028E55C4 */ cpu->r[4] = 0x43300000u;
/* 028E55C8 */ _t75 = cpu->r[9] + 0xFFFFB7C0u;
/* 028E55C8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t75);
/* 028E55CC */ cpu->r[5] = cpu->r[17] ^ 0x80000000u;
/* 028E55D0 */ _t76 = cpu->r[1] + 0x00000008u;
/* 028E55D0 */ rbrew_write32(cpu->mem, _t76, cpu->r[4]);
/* 028E55D4 */ _t77 = cpu->r[1] + 0x0000000Cu;
/* 028E55D4 */ rbrew_write32(cpu->mem, _t77, cpu->r[5]);
/* 028E55D8 */ _t78 = cpu->r[1] + 0x00000008u;
/* 028E55D8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t78);
/* 028E55DC */ cpu->f[7] = cpu->f[12] - cpu->f[13];
/* 028E55E0 */ cpu->f[8] = (double)(float)cpu->f[7];
/* 028E55E4 */ cpu->f[1] = cpu->f[8] / cpu->f[31];
/* 028E55E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E55EC */ cpu->f[1] = fma(cpu->f[1], cpu->f[28], cpu->f[27]);
/* 028E55F0 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E55F0 */ _t80 = _t79 & 0x00000001u;
/* 028E55F0 */ if (_t80) goto L_028E55F4; else goto L_028E5604;
L_028E55F4: ; // 0x28e55f4
/* 028E55F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], 0x00000030u);
/* 028E55F8 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E55FC */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E55FC */ _t82 = _t81 & 0x00000001u;
/* 028E55FC */ if (_t82) goto L_028E5610; else goto L_028E5600;
L_028E5600: ; // 0x28e5600
/* 028E5600 */ goto L_028E5614;
L_028E5604: ; // 0x28e5604
/* 028E5604 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], 0x00000030u);
/* 028E5608 */ cpu->r[4] = cpu->r[23];
/* 028E560C */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E560C */ _t84 = _t83 & 0x00000001u;
/* 028E560C */ if (_t84) goto L_028E5610; else goto L_028E5600;
L_028E5610: ; // 0x28e5610
/* 028E5610 */ cpu->r[4] = cpu->r[4] + cpu->r[19];
L_028E5614: ; // 0x28e5614
/* 028E5614 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5618 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5618 */ _t86 = _t85 & 0x00000001u;
/* 028E5618 */ if (_t86) goto L_028E561C; else goto L_028E5624;
L_028E561C: ; // 0x28e561c
/* 028E561C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E5620 */ cpu->r[4] = cpu->r[4] + cpu->r[8];
L_028E5624: ; // 0x28e5624
/* 028E5624 */ cpu->r[5] = cpu->r[25];
/* 028E5628 */ cpu->r[3] = cpu->r[23];
/* 028E562C */ Gambit_fn_028E4E68(cpu);
/* 028E5630 */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu;
/* 028E5630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
/* 028E5634 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
/* 028E5638 */ cpu->r[19] = cpu->r[19] + 0x00000140u;
/* 028E563C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E563C */ _t88 = _t87 & 0x00000001u;
/* 028E563C */ if (_t88) goto L_028E5640; else goto L_028E55C0;
L_028E5640: ; // 0x28e5640
/* 028E5640 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028E5640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E5644 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
/* 028E5648 */ cpu->r[20] = cpu->r[20] + 0x04000000u;
/* 028E564C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E564C */ _t90 = _t89 & 0x00000001u;
/* 028E564C */ if (_t90) goto L_028E5650; else goto L_028E53C4;
L_028E5650: ; // 0x28e5650
/* 028E5650 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
/* 028E5650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E5654 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
/* 028E5658 */ cpu->r[30] = cpu->r[30] + 0x00003C00u;
/* 028E565C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E565C */ _t92 = _t91 & 0x00000001u;
/* 028E565C */ if (_t92) goto L_028E5660; else goto L_028E5384;
L_028E5660: ; // 0x28e5660
/* 028E5660 */ /* nop */
/* 028E5664 */ _t93 = cpu->r[1] + 0x00000068u;
/* 028E5664 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t93);
/* 028E5668 */ _t94 = cpu->r[1] + 0x00000088u;
/* 028E5668 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t94);
/* 028E566C */ _t95 = cpu->r[1] + 0x00000060u;
/* 028E566C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t95);
/* 028E5670 */ _t96 = cpu->r[1] + 0x00000078u;
/* 028E5670 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t96);
/* 028E5674 */ _t97 = cpu->r[1] + 0x00000080u;
/* 028E5674 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t97);
/* 028E5678 */ _t98 = cpu->r[1] + 0x00000070u;
/* 028E5678 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t98);
/* 028E567C */ _t99 = cpu->r[1] + 0x00000058u;
/* 028E567C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t99);
/* 028E5680 */ _t100 = cpu->r[1] + 0x00000098u;
/* 028E5680 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t100);
/* 028E5684 */ _t101 = cpu->r[1] + 0x00000050u;
/* 028E5684 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t101);
/* 028E5688 */ _t102 = cpu->r[1] + 0x00000090u;
/* 028E5688 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t102);
/* 028E568C */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E568C */ _t104 = _t103 & 0x00000001u;
/* 028E568C */ if (_t104) goto L_028E5690; // else: addr-0 trap, fall-through
L_028E5690: ; // 0x28e5690
/* 028E5690 */ _t105 = cpu->r[1] + 0x000000A4u;
/* 028E5690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
/* 028E5694 */ cpu->lr = cpu->r[0];
/* 028E5698 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028E569C */ return;
}
// fn_028E3F24 @ 0x28e3f24
void Gambit_fn_028E3F24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E3F24: ; // 0x28e3f24
/* 028E3F24 */ _t0 = cpu->r[3] + 0x00000014u;
/* 028E3F24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E3F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028E3F2C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3F2C */ _t2 = _t1 & 0x00000001u;
/* 028E3F2C */ if (_t2) goto L_028E3F34; else goto L_028E3F30;
L_028E3F30: ; // 0x28e3f30
/* 028E3F30 */ cpu->r[4] = 0x00000000u;
L_028E3F34: ; // 0x28e3f34
/* 028E3F34 */ _t3 = cpu->r[3] + 0x00000034u;
/* 028E3F34 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
/* 028E3F38 */ return;
}
// fn_028E3F3C @ 0x28e3f3c
void Gambit_fn_028E3F3C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E3F3C: ; // 0x28e3f3c
/* 028E3F3C */ cpu->r[0] = cpu->lr;
/* 028E3F40 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E3F40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3F40 */ cpu->r[1] = _t0;
/* 028E3F44 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E3F44 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E3F48 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E3F48 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E3F4C */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E3F4C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E3F50 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E3F50 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E3F54 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E3F54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E3F58 */ cpu->r[29] = cpu->r[3];
/* 028E3F5C */ _t6 = cpu->r[29] + 0x00000034u;
/* 028E3F5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028E3F60 */ _t7 = cpu->r[29] + 0x00000014u;
/* 028E3F60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028E3F64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
/* 028E3F68 */ cpu->r[28] = cpu->r[10] - cpu->r[31];
/* 028E3F6C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3F6C */ _t9 = _t8 & 0x00000001u;
/* 028E3F6C */ if (_t9) goto L_028E3F70; else goto L_028E4020;
L_028E3F70: ; // 0x28e3f70
/* 028E3F70 */ cpu->r[30] = cpu->r[31] + 0x00000001u;
L_028E3F74: ; // 0x28e3f74
/* 028E3F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
/* 028E3F78 */ cpu->r[11] = 0x00000000u;
/* 028E3F7C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3F7C */ _t11 = _t10 & 0x00000001u;
/* 028E3F7C */ if (_t11) goto L_028E3F80; else goto L_028E3F8C;
L_028E3F80: ; // 0x28e3f80
/* 028E3F80 */ _t12 = cpu->r[29] + 0x0000001Cu;
/* 028E3F80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028E3F84 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E3F88 */ _t13 = cpu->r[12] + cpu->r[8];
/* 028E3F88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
L_028E3F8C: ; // 0x28e3f8c
/* 028E3F8C */ _t14 = cpu->r[11] + 0x0000002Cu;
/* 028E3F8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028E3F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E3F94 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3F94 */ _t16 = _t15 & 0x00000001u;
/* 028E3F94 */ if (_t16) goto L_028E3F98; else goto L_028E4004;
L_028E3F98: ; // 0x28e3f98
/* 028E3F98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
/* 028E3F9C */ cpu->r[3] = 0x00000000u;
/* 028E3FA0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3FA0 */ _t18 = _t17 & 0x00000001u;
/* 028E3FA0 */ if (_t18) goto L_028E3FA4; else goto L_028E3FB0;
L_028E3FA4: ; // 0x28e3fa4
/* 028E3FA4 */ _t19 = cpu->r[29] + 0x0000001Cu;
/* 028E3FA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028E3FA8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E3FAC */ _t20 = cpu->r[10] + cpu->r[11];
/* 028E3FAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
L_028E3FB0: ; // 0x28e3fb0
/* 028E3FB0 */ Gambit_fn_028DA43C(cpu);
/* 028E3FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3FB8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3FB8 */ _t22 = _t21 & 0x00000001u;
/* 028E3FB8 */ if (_t22) goto L_028E3FBC; else goto L_028E4004;
L_028E3FBC: ; // 0x28e3fbc
/* 028E3FBC */ cpu->r[3] = cpu->r[29];
/* 028E3FC0 */ cpu->r[4] = cpu->r[30];
/* 028E3FC4 */ Gambit_fn_028E3F24(cpu);
/* 028E3FC8 */ _t23 = cpu->r[29] + 0x00000014u;
/* 028E3FC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
/* 028E3FCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
/* 028E3FD0 */ cpu->r[3] = 0x00000000u;
/* 028E3FD4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3FD4 */ _t25 = _t24 & 0x00000001u;
/* 028E3FD4 */ if (_t25) goto L_028E3FD8; else goto L_028E3FE4;
L_028E3FD8: ; // 0x28e3fd8
/* 028E3FD8 */ _t26 = cpu->r[29] + 0x0000001Cu;
/* 028E3FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
/* 028E3FDC */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E3FE0 */ _t27 = cpu->r[9] + cpu->r[10];
/* 028E3FE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
L_028E3FE4: ; // 0x28e3fe4
/* 028E3FE4 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028E3FE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
/* 028E3FE8 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028E3FE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
/* 028E3FEC */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028E3FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E3FF0 */ _t31 = cpu->r[1] + 0x00000010u;
/* 028E3FF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
/* 028E3FF4 */ cpu->lr = cpu->r[0];
/* 028E3FF8 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028E3FF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028E3FFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E4000 */ return;
L_028E4004: ; // 0x28e4004
/* 028E4004 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
/* 028E4004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E4008 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028E400C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E4010 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4010 */ _t34 = _t33 & 0x00000001u;
/* 028E4010 */ if (_t34) goto L_028E401C; else goto L_028E4014;
L_028E4014: ; // 0x28e4014
/* 028E4014 */ _t35 = cpu->r[29] + 0x00000014u;
/* 028E4014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028E4018 */ goto L_028E3F74;
L_028E401C: ; // 0x28e401c
/* 028E401C */ _t36 = cpu->r[29] + 0x00000034u;
/* 028E401C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
L_028E4020: ; // 0x28e4020
/* 028E4020 */ cpu->r[30] = 0x00000000u;
/* 028E4024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E4028 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4028 */ _t38 = _t37 & 0x00000001u;
/* 028E4028 */ if (_t38) goto L_028E402C; else goto L_028E40EC;
L_028E402C: ; // 0x28e402c
/* 028E402C */ cpu->r[28] = 0x00000001u;
L_028E4030: ; // 0x28e4030
/* 028E4030 */ _t39 = cpu->r[29] + 0x00000014u;
/* 028E4030 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028E4034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
/* 028E4038 */ cpu->r[12] = 0x00000000u;
/* 028E403C */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E403C */ _t41 = _t40 & 0x00000001u;
/* 028E403C */ if (_t41) goto L_028E4040; else goto L_028E404C;
L_028E4040: ; // 0x28e4040
/* 028E4040 */ _t42 = cpu->r[29] + 0x0000001Cu;
/* 028E4040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028E4044 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E4048 */ _t43 = cpu->r[11] + cpu->r[12];
/* 028E4048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
L_028E404C: ; // 0x28e404c
/* 028E404C */ _t44 = cpu->r[12] + 0x0000002Cu;
/* 028E404C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028E4050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4054 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4054 */ _t46 = _t45 & 0x00000001u;
/* 028E4054 */ if (_t46) goto L_028E4058; else goto L_028E40DC;
L_028E4058: ; // 0x28e4058
/* 028E4058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
/* 028E405C */ cpu->r[3] = 0x00000000u;
/* 028E4060 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4060 */ _t48 = _t47 & 0x00000001u;
/* 028E4060 */ if (_t48) goto L_028E4064; else goto L_028E4070;
L_028E4064: ; // 0x28e4064
/* 028E4064 */ _t49 = cpu->r[29] + 0x0000001Cu;
/* 028E4064 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
/* 028E4068 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E406C */ _t50 = cpu->r[8] + cpu->r[9];
/* 028E406C */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
L_028E4070: ; // 0x28e4070
/* 028E4070 */ Gambit_fn_028DA43C(cpu);
/* 028E4074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E4078 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4078 */ _t52 = _t51 & 0x00000001u;
/* 028E4078 */ if (_t52) goto L_028E4094; else goto L_028E407C;
L_028E407C: ; // 0x28e407c
/* 028E407C */ _t53 = cpu->r[29] + 0x00000034u;
/* 028E407C */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
/* 028E4080 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E4084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E4088 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E408C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E408C */ _t55 = _t54 & 0x00000001u;
/* 028E408C */ if (_t55) goto L_028E4030; else goto L_028E4090;
L_028E4090: ; // 0x28e4090
/* 028E4090 */ goto L_028E40EC;
L_028E4094: ; // 0x28e4094
/* 028E4094 */ cpu->r[3] = cpu->r[29];
/* 028E4098 */ cpu->r[4] = cpu->r[28];
/* 028E409C */ Gambit_fn_028E3F24(cpu);
/* 028E40A0 */ _t56 = cpu->r[29] + 0x00000014u;
/* 028E40A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
/* 028E40A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
/* 028E40A8 */ cpu->r[3] = 0x00000000u;
/* 028E40AC */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E40AC */ _t58 = _t57 & 0x00000001u;
/* 028E40AC */ if (_t58) goto L_028E40B0; else goto L_028E40BC;
L_028E40B0: ; // 0x28e40b0
/* 028E40B0 */ _t59 = cpu->r[29] + 0x0000001Cu;
/* 028E40B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
/* 028E40B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E40B8 */ _t60 = cpu->r[12] + cpu->r[0];
/* 028E40B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
L_028E40BC: ; // 0x28e40bc
/* 028E40BC */ _t61 = cpu->r[1] + 0x00000008u;
/* 028E40BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
/* 028E40C0 */ _t62 = cpu->r[1] + 0x0000000Cu;
/* 028E40C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
/* 028E40C4 */ _t63 = cpu->r[1] + 0x0000001Cu;
/* 028E40C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
/* 028E40C8 */ _t64 = cpu->r[1] + 0x00000010u;
/* 028E40C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
/* 028E40CC */ cpu->lr = cpu->r[0];
/* 028E40D0 */ _t65 = cpu->r[1] + 0x00000014u;
/* 028E40D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
/* 028E40D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E40D8 */ return;
L_028E40DC: ; // 0x28e40dc
/* 028E40DC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E40E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E40E4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E40E8 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E40E8 */ _t67 = _t66 & 0x00000001u;
/* 028E40E8 */ if (_t67) goto L_028E4030; else goto L_028E40EC;
L_028E40EC: ; // 0x28e40ec
/* 028E40EC */ _t68 = cpu->r[1] + 0x00000008u;
/* 028E40EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t68);
/* 028E40F0 */ _t69 = cpu->r[1] + 0x0000000Cu;
/* 028E40F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
/* 028E40F4 */ _t70 = cpu->r[1] + 0x0000001Cu;
/* 028E40F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
/* 028E40F8 */ _t71 = cpu->r[1] + 0x00000010u;
/* 028E40F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
/* 028E40FC */ cpu->lr = cpu->r[0];
/* 028E4100 */ _t72 = cpu->r[1] + 0x00000014u;
/* 028E4100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
/* 028E4104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E4108 */ cpu->r[3] = 0x00000000u;
/* 028E410C */ return;
}
// fn_028E3F40 @ 0x28e3f40
void Gambit_fn_028E3F40(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E3F40: ; // 0x28e3f40
/* 028E3F40 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E3F40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E3F40 */ cpu->r[1] = _t0;
/* 028E3F44 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E3F44 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E3F48 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E3F48 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E3F4C */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E3F4C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E3F50 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E3F50 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E3F54 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E3F54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E3F58 */ cpu->r[29] = cpu->r[3];
/* 028E3F5C */ _t6 = cpu->r[29] + 0x00000034u;
/* 028E3F5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028E3F60 */ _t7 = cpu->r[29] + 0x00000014u;
/* 028E3F60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028E3F64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
/* 028E3F68 */ cpu->r[28] = cpu->r[10] - cpu->r[31];
/* 028E3F6C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3F6C */ _t9 = _t8 & 0x00000001u;
/* 028E3F6C */ if (_t9) goto L_028E3F70; else goto L_028E4020;
L_028E3F70: ; // 0x28e3f70
/* 028E3F70 */ cpu->r[30] = cpu->r[31] + 0x00000001u;
L_028E3F74: ; // 0x28e3f74
/* 028E3F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
/* 028E3F78 */ cpu->r[11] = 0x00000000u;
/* 028E3F7C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3F7C */ _t11 = _t10 & 0x00000001u;
/* 028E3F7C */ if (_t11) goto L_028E3F80; else goto L_028E3F8C;
L_028E3F80: ; // 0x28e3f80
/* 028E3F80 */ _t12 = cpu->r[29] + 0x0000001Cu;
/* 028E3F80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028E3F84 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E3F88 */ _t13 = cpu->r[12] + cpu->r[8];
/* 028E3F88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
L_028E3F8C: ; // 0x28e3f8c
/* 028E3F8C */ _t14 = cpu->r[11] + 0x0000002Cu;
/* 028E3F8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028E3F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E3F94 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3F94 */ _t16 = _t15 & 0x00000001u;
/* 028E3F94 */ if (_t16) goto L_028E3F98; else goto L_028E4004;
L_028E3F98: ; // 0x28e3f98
/* 028E3F98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
/* 028E3F9C */ cpu->r[3] = 0x00000000u;
/* 028E3FA0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3FA0 */ _t18 = _t17 & 0x00000001u;
/* 028E3FA0 */ if (_t18) goto L_028E3FA4; else goto L_028E3FB0;
L_028E3FA4: ; // 0x28e3fa4
/* 028E3FA4 */ _t19 = cpu->r[29] + 0x0000001Cu;
/* 028E3FA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028E3FA8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E3FAC */ _t20 = cpu->r[10] + cpu->r[11];
/* 028E3FAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
L_028E3FB0: ; // 0x28e3fb0
/* 028E3FB0 */ Gambit_fn_028DA43C(cpu);
/* 028E3FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E3FB8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E3FB8 */ _t22 = _t21 & 0x00000001u;
/* 028E3FB8 */ if (_t22) goto L_028E3FBC; else goto L_028E4004;
L_028E3FBC: ; // 0x28e3fbc
/* 028E3FBC */ cpu->r[3] = cpu->r[29];
/* 028E3FC0 */ cpu->r[4] = cpu->r[30];
/* 028E3FC4 */ Gambit_fn_028E3F24(cpu);
/* 028E3FC8 */ _t23 = cpu->r[29] + 0x00000014u;
/* 028E3FC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
/* 028E3FCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
/* 028E3FD0 */ cpu->r[3] = 0x00000000u;
/* 028E3FD4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E3FD4 */ _t25 = _t24 & 0x00000001u;
/* 028E3FD4 */ if (_t25) goto L_028E3FD8; else goto L_028E3FE4;
L_028E3FD8: ; // 0x28e3fd8
/* 028E3FD8 */ _t26 = cpu->r[29] + 0x0000001Cu;
/* 028E3FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
/* 028E3FDC */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E3FE0 */ _t27 = cpu->r[9] + cpu->r[10];
/* 028E3FE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
L_028E3FE4: ; // 0x28e3fe4
/* 028E3FE4 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028E3FE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
/* 028E3FE8 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028E3FE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
/* 028E3FEC */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028E3FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E3FF0 */ _t31 = cpu->r[1] + 0x00000010u;
/* 028E3FF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
/* 028E3FF4 */ cpu->lr = cpu->r[0];
/* 028E3FF8 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028E3FF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028E3FFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E4000 */ return;
L_028E4004: ; // 0x28e4004
/* 028E4004 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
/* 028E4004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E4008 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028E400C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E4010 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4010 */ _t34 = _t33 & 0x00000001u;
/* 028E4010 */ if (_t34) goto L_028E401C; else goto L_028E4014;
L_028E4014: ; // 0x28e4014
/* 028E4014 */ _t35 = cpu->r[29] + 0x00000014u;
/* 028E4014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028E4018 */ goto L_028E3F74;
L_028E401C: ; // 0x28e401c
/* 028E401C */ _t36 = cpu->r[29] + 0x00000034u;
/* 028E401C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
L_028E4020: ; // 0x28e4020
/* 028E4020 */ cpu->r[30] = 0x00000000u;
/* 028E4024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E4028 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4028 */ _t38 = _t37 & 0x00000001u;
/* 028E4028 */ if (_t38) goto L_028E402C; else goto L_028E40EC;
L_028E402C: ; // 0x28e402c
/* 028E402C */ cpu->r[28] = 0x00000001u;
L_028E4030: ; // 0x28e4030
/* 028E4030 */ _t39 = cpu->r[29] + 0x00000014u;
/* 028E4030 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028E4034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
/* 028E4038 */ cpu->r[12] = 0x00000000u;
/* 028E403C */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E403C */ _t41 = _t40 & 0x00000001u;
/* 028E403C */ if (_t41) goto L_028E4040; else goto L_028E404C;
L_028E4040: ; // 0x28e4040
/* 028E4040 */ _t42 = cpu->r[29] + 0x0000001Cu;
/* 028E4040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028E4044 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E4048 */ _t43 = cpu->r[11] + cpu->r[12];
/* 028E4048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
L_028E404C: ; // 0x28e404c
/* 028E404C */ _t44 = cpu->r[12] + 0x0000002Cu;
/* 028E404C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028E4050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4054 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4054 */ _t46 = _t45 & 0x00000001u;
/* 028E4054 */ if (_t46) goto L_028E4058; else goto L_028E40DC;
L_028E4058: ; // 0x28e4058
/* 028E4058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
/* 028E405C */ cpu->r[3] = 0x00000000u;
/* 028E4060 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4060 */ _t48 = _t47 & 0x00000001u;
/* 028E4060 */ if (_t48) goto L_028E4064; else goto L_028E4070;
L_028E4064: ; // 0x28e4064
/* 028E4064 */ _t49 = cpu->r[29] + 0x0000001Cu;
/* 028E4064 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
/* 028E4068 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E406C */ _t50 = cpu->r[8] + cpu->r[9];
/* 028E406C */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
L_028E4070: ; // 0x28e4070
/* 028E4070 */ Gambit_fn_028DA43C(cpu);
/* 028E4074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E4078 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4078 */ _t52 = _t51 & 0x00000001u;
/* 028E4078 */ if (_t52) goto L_028E4094; else goto L_028E407C;
L_028E407C: ; // 0x28e407c
/* 028E407C */ _t53 = cpu->r[29] + 0x00000034u;
/* 028E407C */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
/* 028E4080 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E4084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E4088 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E408C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E408C */ _t55 = _t54 & 0x00000001u;
/* 028E408C */ if (_t55) goto L_028E4030; else goto L_028E4090;
L_028E4090: ; // 0x28e4090
/* 028E4090 */ goto L_028E40EC;
L_028E4094: ; // 0x28e4094
/* 028E4094 */ cpu->r[3] = cpu->r[29];
/* 028E4098 */ cpu->r[4] = cpu->r[28];
/* 028E409C */ Gambit_fn_028E3F24(cpu);
/* 028E40A0 */ _t56 = cpu->r[29] + 0x00000014u;
/* 028E40A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
/* 028E40A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
/* 028E40A8 */ cpu->r[3] = 0x00000000u;
/* 028E40AC */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E40AC */ _t58 = _t57 & 0x00000001u;
/* 028E40AC */ if (_t58) goto L_028E40B0; else goto L_028E40BC;
L_028E40B0: ; // 0x28e40b0
/* 028E40B0 */ _t59 = cpu->r[29] + 0x0000001Cu;
/* 028E40B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
/* 028E40B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E40B8 */ _t60 = cpu->r[12] + cpu->r[0];
/* 028E40B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
L_028E40BC: ; // 0x28e40bc
/* 028E40BC */ _t61 = cpu->r[1] + 0x00000008u;
/* 028E40BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
/* 028E40C0 */ _t62 = cpu->r[1] + 0x0000000Cu;
/* 028E40C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
/* 028E40C4 */ _t63 = cpu->r[1] + 0x0000001Cu;
/* 028E40C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
/* 028E40C8 */ _t64 = cpu->r[1] + 0x00000010u;
/* 028E40C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
/* 028E40CC */ cpu->lr = cpu->r[0];
/* 028E40D0 */ _t65 = cpu->r[1] + 0x00000014u;
/* 028E40D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
/* 028E40D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E40D8 */ return;
L_028E40DC: ; // 0x28e40dc
/* 028E40DC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E40E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E40E4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E40E8 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E40E8 */ _t67 = _t66 & 0x00000001u;
/* 028E40E8 */ if (_t67) goto L_028E4030; else goto L_028E40EC;
L_028E40EC: ; // 0x28e40ec
/* 028E40EC */ _t68 = cpu->r[1] + 0x00000008u;
/* 028E40EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t68);
/* 028E40F0 */ _t69 = cpu->r[1] + 0x0000000Cu;
/* 028E40F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
/* 028E40F4 */ _t70 = cpu->r[1] + 0x0000001Cu;
/* 028E40F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
/* 028E40F8 */ _t71 = cpu->r[1] + 0x00000010u;
/* 028E40F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
/* 028E40FC */ cpu->lr = cpu->r[0];
/* 028E4100 */ _t72 = cpu->r[1] + 0x00000014u;
/* 028E4100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
/* 028E4104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E4108 */ cpu->r[3] = 0x00000000u;
/* 028E410C */ return;
}
// fn_028E4110 @ 0x28e4110
void Gambit_fn_028E4110(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028E4110: ; // 0x28e4110
/* 028E4110 */ cpu->r[0] = cpu->lr;
/* 028E4114 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E4114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4114 */ cpu->r[1] = _t0;
/* 028E4118 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E4118 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E411C */ cpu->r[30] = cpu->r[3];
/* 028E4120 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E4120 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E4124 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E4124 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E4128 */ Gambit_fn_028E3F3C(cpu);
/* 028E412C */ cpu->r[31] = cpu->r[3];
/* 028E412C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E4130 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4130 */ _t5 = _t4 & 0x00000001u;
/* 028E4130 */ if (_t5) goto L_028E4174; else goto L_028E4134;
L_028E4134: ; // 0x28e4134
/* 028E4134 */ _t6 = cpu->r[30] + 0x00000030u;
/* 028E4134 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028E4138 */ _t7 = cpu->r[31] + 0x0000002Cu;
/* 028E4138 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028E413C */ _t8 = cpu->r[30] + 0x00000030u;
/* 028E413C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E4140 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
/* 028E4140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4144 */ _t9 = cpu->r[30] + 0x0000002Cu;
/* 028E4144 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028E4148 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4148 */ _t11 = _t10 & 0x00000001u;
/* 028E4148 */ if (_t11) goto L_028E414C; else goto L_028E4150;
L_028E414C: ; // 0x28e414c
/* 028E414C */ cpu->r[0] = 0x00000001u;
L_028E4150: ; // 0x28e4150
/* 028E4150 */ _t12 = cpu->r[30] + 0x00000030u;
/* 028E4150 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028E4154 */ cpu->r[4] = cpu->r[31] + cpu->r[9];
/* 028E4158 */ cpu->r[3] = cpu->r[30] + 0x00000020u;
/* 028E415C */ Gambit_fn_02801EBC(cpu);
/* 028E4160 */ _t13 = cpu->r[30] + 0x00000028u;
/* 028E4160 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E4164 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028E4168 */ cpu->r[3] = cpu->r[31];
/* 028E416C */ _t14 = cpu->r[30] + 0x00000028u;
/* 028E416C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028E4170 */ Gambit_fn_028E2404(cpu);
L_028E4174: ; // 0x28e4174
/* 028E4174 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028E4174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E4178 */ cpu->r[3] = cpu->r[31];
/* 028E417C */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E417C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E4180 */ cpu->lr = cpu->r[0];
/* 028E4184 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E4184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E4188 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E418C */ return;
}
// fn_028E4114 @ 0x28e4114
void Gambit_fn_028E4114(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028E4114: ; // 0x28e4114
/* 028E4114 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E4114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4114 */ cpu->r[1] = _t0;
/* 028E4118 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E4118 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E411C */ cpu->r[30] = cpu->r[3];
/* 028E4120 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E4120 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E4124 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E4124 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E4128 */ Gambit_fn_028E3F3C(cpu);
/* 028E412C */ cpu->r[31] = cpu->r[3];
/* 028E412C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E4130 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4130 */ _t5 = _t4 & 0x00000001u;
/* 028E4130 */ if (_t5) goto L_028E4174; else goto L_028E4134;
L_028E4134: ; // 0x28e4134
/* 028E4134 */ _t6 = cpu->r[30] + 0x00000030u;
/* 028E4134 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028E4138 */ _t7 = cpu->r[31] + 0x0000002Cu;
/* 028E4138 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028E413C */ _t8 = cpu->r[30] + 0x00000030u;
/* 028E413C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E4140 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
/* 028E4140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4144 */ _t9 = cpu->r[30] + 0x0000002Cu;
/* 028E4144 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028E4148 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4148 */ _t11 = _t10 & 0x00000001u;
/* 028E4148 */ if (_t11) goto L_028E414C; else goto L_028E4150;
L_028E414C: ; // 0x28e414c
/* 028E414C */ cpu->r[0] = 0x00000001u;
L_028E4150: ; // 0x28e4150
/* 028E4150 */ _t12 = cpu->r[30] + 0x00000030u;
/* 028E4150 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028E4154 */ cpu->r[4] = cpu->r[31] + cpu->r[9];
/* 028E4158 */ cpu->r[3] = cpu->r[30] + 0x00000020u;
/* 028E415C */ Gambit_fn_02801EBC(cpu);
/* 028E4160 */ _t13 = cpu->r[30] + 0x00000028u;
/* 028E4160 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E4164 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028E4168 */ cpu->r[3] = cpu->r[31];
/* 028E416C */ _t14 = cpu->r[30] + 0x00000028u;
/* 028E416C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028E4170 */ Gambit_fn_028E2404(cpu);
L_028E4174: ; // 0x28e4174
/* 028E4174 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028E4174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E4178 */ cpu->r[3] = cpu->r[31];
/* 028E417C */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E417C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E4180 */ cpu->lr = cpu->r[0];
/* 028E4184 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E4184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E4188 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E418C */ return;
}
// fn_028E4190 @ 0x28e4190
void Gambit_fn_028E4190(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_028E4190: ; // 0x28e4190
/* 028E4190 */ cpu->r[0] = cpu->lr;
/* 028E4194 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E4194 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4194 */ cpu->r[1] = _t0;
/* 028E4198 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E4198 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E419C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E419C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E41A0 */ cpu->r[31] = cpu->r[4];
/* 028E41A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E41A4 */ cpu->r[30] = cpu->r[3];
/* 028E41A8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E41A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E41AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E41AC */ _t5 = _t4 & 0x00000001u;
/* 028E41AC */ if (_t5) goto L_028E41F8; else goto L_028E41B0;
L_028E41B0: ; // 0x28e41b0
/* 028E41B0 */ _t6 = cpu->r[30] + 0x0000002Cu;
/* 028E41B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028E41B4 */ cpu->r[7] = cpu->r[31] + cpu->r[8];
/* 028E41B8 */ _t7 = cpu->r[7] + 0x00000004u;
/* 028E41B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
/* 028E41BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E41C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E41C0 */ _t9 = _t8 & 0x00000001u;
/* 028E41C0 */ if (_t9) goto L_028E41C4; else goto L_028E41D0;
L_028E41C4: ; // 0x28e41c4
/* 028E41C4 */ _t10 = cpu->r[7] + 0x00000000u;
/* 028E41C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028E41C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E41CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E41CC */ _t12 = _t11 & 0x00000001u;
/* 028E41CC */ if (_t12) goto L_028E41F0; else goto L_028E41D0;
L_028E41D0: ; // 0x28e41d0
/* 028E41D0 */ cpu->r[3] = cpu->r[31];
/* 028E41D4 */ Gambit_fn_028E26CC(cpu);
/* 028E41D8 */ _t13 = cpu->r[30] + 0x0000002Cu;
/* 028E41D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E41DC */ cpu->r[3] = cpu->r[31] + cpu->r[11];
/* 028E41E0 */ Gambit_fn_02801EDC(cpu);
/* 028E41E4 */ _t14 = cpu->r[30] + 0x00000028u;
/* 028E41E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E41E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E41EC */ _t15 = cpu->r[30] + 0x00000028u;
/* 028E41EC */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
L_028E41F0: ; // 0x28e41f0
/* 028E41F0 */ cpu->r[0] = 0x00000000u;
/* 028E41F4 */ _t16 = cpu->r[31] + 0x0000002Cu;
/* 028E41F4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
L_028E41F8: ; // 0x28e41f8
/* 028E41F8 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028E41F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E41FC */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E41FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028E4200 */ cpu->lr = cpu->r[0];
/* 028E4204 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028E4204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028E4208 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E420C */ return;
}
// fn_028E4194 @ 0x28e4194
void Gambit_fn_028E4194(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_028E4194: ; // 0x28e4194
/* 028E4194 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E4194 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4194 */ cpu->r[1] = _t0;
/* 028E4198 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E4198 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E419C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E419C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E41A0 */ cpu->r[31] = cpu->r[4];
/* 028E41A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E41A4 */ cpu->r[30] = cpu->r[3];
/* 028E41A8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E41A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E41AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E41AC */ _t5 = _t4 & 0x00000001u;
/* 028E41AC */ if (_t5) goto L_028E41F8; else goto L_028E41B0;
L_028E41B0: ; // 0x28e41b0
/* 028E41B0 */ _t6 = cpu->r[30] + 0x0000002Cu;
/* 028E41B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028E41B4 */ cpu->r[7] = cpu->r[31] + cpu->r[8];
/* 028E41B8 */ _t7 = cpu->r[7] + 0x00000004u;
/* 028E41B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
/* 028E41BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E41C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E41C0 */ _t9 = _t8 & 0x00000001u;
/* 028E41C0 */ if (_t9) goto L_028E41C4; else goto L_028E41D0;
L_028E41C4: ; // 0x28e41c4
/* 028E41C4 */ _t10 = cpu->r[7] + 0x00000000u;
/* 028E41C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028E41C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E41CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E41CC */ _t12 = _t11 & 0x00000001u;
/* 028E41CC */ if (_t12) goto L_028E41F0; else goto L_028E41D0;
L_028E41D0: ; // 0x28e41d0
/* 028E41D0 */ cpu->r[3] = cpu->r[31];
/* 028E41D4 */ Gambit_fn_028E26CC(cpu);
/* 028E41D8 */ _t13 = cpu->r[30] + 0x0000002Cu;
/* 028E41D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E41DC */ cpu->r[3] = cpu->r[31] + cpu->r[11];
/* 028E41E0 */ Gambit_fn_02801EDC(cpu);
/* 028E41E4 */ _t14 = cpu->r[30] + 0x00000028u;
/* 028E41E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E41E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E41EC */ _t15 = cpu->r[30] + 0x00000028u;
/* 028E41EC */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
L_028E41F0: ; // 0x28e41f0
/* 028E41F0 */ cpu->r[0] = 0x00000000u;
/* 028E41F4 */ _t16 = cpu->r[31] + 0x0000002Cu;
/* 028E41F4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
L_028E41F8: ; // 0x28e41f8
/* 028E41F8 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028E41F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E41FC */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E41FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028E4200 */ cpu->lr = cpu->r[0];
/* 028E4204 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028E4204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028E4208 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E420C */ return;
}
// fn_028E4210 @ 0x28e4210
void Gambit_fn_028E4210(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E4210: ; // 0x28e4210
/* 028E4210 */ cpu->r[0] = cpu->lr;
/* 028E4214 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E4214 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E4218 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E4218 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E4218 */ cpu->r[1] = _t1;
/* 028E421C */ _t2 = cpu->r[6] + 0x00000000u;
/* 028E421C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E4220 */ _t3 = cpu->r[3] + 0x00000048u;
/* 028E4220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028E4224 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028E4228 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028E4228 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E422C */ Gambit_fn_028E5714(cpu);
/* 028E4230 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E4230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E4234 */ cpu->lr = cpu->r[0];
/* 028E4238 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E423C */ return;
}
// fn_028E4218 @ 0x28e4218
void Gambit_fn_028E4218(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E4218: ; // 0x28e4218
/* 028E4218 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E4218 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4218 */ cpu->r[1] = _t0;
/* 028E421C */ _t1 = cpu->r[6] + 0x00000000u;
/* 028E421C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028E4220 */ _t2 = cpu->r[3] + 0x00000048u;
/* 028E4220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
/* 028E4224 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028E4228 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028E4228 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E422C */ Gambit_fn_028E5714(cpu);
/* 028E4230 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E4230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E4234 */ cpu->lr = cpu->r[0];
/* 028E4238 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E423C */ return;
}
// fn_028E4240 @ 0x28e4240
void Gambit_fn_028E4240(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E4240: ; // 0x28e4240
/* 028E4240 */ cpu->r[0] = cpu->lr;
/* 028E4244 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E4244 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E4248 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E4248 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E4248 */ cpu->r[1] = _t1;
/* 028E424C */ _t2 = cpu->r[6] + 0x00000000u;
/* 028E424C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E4250 */ _t3 = cpu->r[3] + 0x00000048u;
/* 028E4250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028E4254 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028E4258 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028E4258 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E425C */ Gambit_fn_028E57CC(cpu);
/* 028E4260 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E4260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E4264 */ cpu->lr = cpu->r[0];
/* 028E4268 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E426C */ return;
}
// fn_028E4248 @ 0x28e4248
void Gambit_fn_028E4248(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E4248: ; // 0x28e4248
/* 028E4248 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E4248 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4248 */ cpu->r[1] = _t0;
/* 028E424C */ _t1 = cpu->r[6] + 0x00000000u;
/* 028E424C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028E4250 */ _t2 = cpu->r[3] + 0x00000048u;
/* 028E4250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
/* 028E4254 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028E4258 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028E4258 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E425C */ Gambit_fn_028E57CC(cpu);
/* 028E4260 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E4260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E4264 */ cpu->lr = cpu->r[0];
/* 028E4268 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E426C */ return;
}
// fn_028E4270 @ 0x28e4270
void Gambit_fn_028E4270(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E4270: ; // 0x28e4270
/* 028E4270 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028E4270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E4274 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E4278 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
/* 028E427C */ _t1 = cpu->r[12] + 0x00000038u;
/* 028E427C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
/* 028E4280 */ return;
}
// fn_028E4284 @ 0x28e4284
void Gambit_fn_028E4284(CPUState* cpu) {
uint32_t _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_028E4284: ; // 0x28e4284
/* 028E4284 */ cpu->r[0] = cpu->lr;
/* 028E4288 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E4288 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4288 */ cpu->r[1] = _t0;
/* 028E428C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E428C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028E4290 */ cpu->r[28] = cpu->r[4];
/* 028E4294 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E4294 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E4298 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E4298 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E429C */ cpu->r[31] = cpu->r[3];
/* 028E429C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E42A0 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E42A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E42A4 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E42A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E42A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E42A8 */ _t7 = _t6 & 0x00000001u;
/* 028E42A8 */ if (_t7) goto L_028E430C; else goto L_028E42AC;
L_028E42AC: ; // 0x28e42ac
/* 028E42AC */ cpu->r[6] = 0x10140000u;
/* 028E42B0 */ cpu->r[6] = cpu->r[6] + 0xFFFFB770u;
/* 028E42B4 */ cpu->r[12] = 0x101D0000u;
/* 028E42B8 */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028E42B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
/* 028E42BC */ _t9 = cpu->r[12] + 0xFFFF9AE4u;
/* 028E42BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E42BC */ cpu->r[12] = _t9;
/* 028E42C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028E42C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E42C4 */ _t11 = _t10 & 0x00000001u;
/* 028E42C4 */ if (_t11) goto L_028E42C8; else goto L_028E42F0;
L_028E42C8: ; // 0x28e42c8
/* 028E42C8 */ cpu->r[30] = 0x101D0000u;
/* 028E42CC */ cpu->r[29] = 0x00000000u;
/* 028E42D0 */ _t12 = cpu->r[30] + 0xFFFF9AE0u;
/* 028E42D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028E42D4 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028E42D4 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
/* 028E42D8 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028E42D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028E42DC */ _t15 = cpu->r[8] + 0x00000014u;
/* 028E42DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028E42E0 */ cpu->ctr = cpu->r[10];
/* 028E42E4 */ cpu->r[4] = 0x00000002u;
/* 028E42E8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E42EC */ _t16 = cpu->r[30] + 0xFFFF9AE0u;
/* 028E42EC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
L_028E42F0: ; // 0x28e42f0
/* 028E42F0 */ cpu->r[3] = cpu->r[31];
/* 028E42F4 */ cpu->r[4] = 0x00000000u;
/* 028E42F8 */ Gambit_fn_02821E68(cpu);
/* 028E42FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E42FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4300 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4300 */ _t18 = _t17 & 0x00000001u;
/* 028E4300 */ if (_t18) goto L_028E430C; else goto L_028E4304;
L_028E4304: ; // 0x28e4304
/* 028E4304 */ cpu->r[3] = cpu->r[31];
/* 028E4308 */ Gambit_fn_02801BB0(cpu);
L_028E430C: ; // 0x28e430c
/* 028E430C */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E430C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
/* 028E4310 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028E4310 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028E4314 */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028E4314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028E4318 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028E4318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028E431C */ cpu->lr = cpu->r[0];
/* 028E4320 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028E4320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028E4324 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E4328 */ return;
}
// fn_028E4288 @ 0x28e4288
void Gambit_fn_028E4288(CPUState* cpu) {
uint32_t _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_028E4288: ; // 0x28e4288
/* 028E4288 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E4288 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4288 */ cpu->r[1] = _t0;
/* 028E428C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E428C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028E4290 */ cpu->r[28] = cpu->r[4];
/* 028E4294 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E4294 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E4298 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E4298 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E429C */ cpu->r[31] = cpu->r[3];
/* 028E429C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E42A0 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E42A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E42A4 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E42A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E42A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E42A8 */ _t7 = _t6 & 0x00000001u;
/* 028E42A8 */ if (_t7) goto L_028E430C; else goto L_028E42AC;
L_028E42AC: ; // 0x28e42ac
/* 028E42AC */ cpu->r[6] = 0x10140000u;
/* 028E42B0 */ cpu->r[6] = cpu->r[6] + 0xFFFFB770u;
/* 028E42B4 */ cpu->r[12] = 0x101D0000u;
/* 028E42B8 */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028E42B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
/* 028E42BC */ _t9 = cpu->r[12] + 0xFFFF9AE4u;
/* 028E42BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E42BC */ cpu->r[12] = _t9;
/* 028E42C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028E42C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E42C4 */ _t11 = _t10 & 0x00000001u;
/* 028E42C4 */ if (_t11) goto L_028E42C8; else goto L_028E42F0;
L_028E42C8: ; // 0x28e42c8
/* 028E42C8 */ cpu->r[30] = 0x101D0000u;
/* 028E42CC */ cpu->r[29] = 0x00000000u;
/* 028E42D0 */ _t12 = cpu->r[30] + 0xFFFF9AE0u;
/* 028E42D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028E42D4 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028E42D4 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
/* 028E42D8 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028E42D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028E42DC */ _t15 = cpu->r[8] + 0x00000014u;
/* 028E42DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028E42E0 */ cpu->ctr = cpu->r[10];
/* 028E42E4 */ cpu->r[4] = 0x00000002u;
/* 028E42E8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E42EC */ _t16 = cpu->r[30] + 0xFFFF9AE0u;
/* 028E42EC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
L_028E42F0: ; // 0x28e42f0
/* 028E42F0 */ cpu->r[3] = cpu->r[31];
/* 028E42F4 */ cpu->r[4] = 0x00000000u;
/* 028E42F8 */ Gambit_fn_02821E68(cpu);
/* 028E42FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E42FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4300 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4300 */ _t18 = _t17 & 0x00000001u;
/* 028E4300 */ if (_t18) goto L_028E430C; else goto L_028E4304;
L_028E4304: ; // 0x28e4304
/* 028E4304 */ cpu->r[3] = cpu->r[31];
/* 028E4308 */ Gambit_fn_02801BB0(cpu);
L_028E430C: ; // 0x28e430c
/* 028E430C */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E430C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
/* 028E4310 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028E4310 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028E4314 */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028E4314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028E4318 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028E4318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028E431C */ cpu->lr = cpu->r[0];
/* 028E4320 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028E4320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028E4324 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E4328 */ return;
}
// fn_028E432C @ 0x28e432c
void Gambit_fn_028E432C(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_028E432C: ; // 0x28e432c
/* 028E432C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E4330 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4330 */ _t17 = _t16 & 0x00000001u;
/* 028E4330 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E4330 */ goto L_028E4334;
L_028E4334: ; // 0x28e4334
/* 028E4334 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E4334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4338 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4338 */ _t19 = _t18 & 0x00000001u;
/* 028E4338 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E4338 */ goto L_028E433C;
L_028E433C: ; // 0x28e433c
/* 028E433C */ goto L_02801BB0;
}
// fn_028E4340 @ 0x28e4340
void Gambit_fn_028E4340(CPUState* cpu) {
L_028E4340: ; // 0x28e4340
/* 028E4340 */ return;
}
// fn_028E4344 @ 0x28e4344
void Gambit_fn_028E4344(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_028E4344: ; // 0x28e4344
/* 028E4344 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E4344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4344 */ cpu->r[1] = _t0;
/* 028E4348 */ /* nop */
/* 028E434C */ cpu->r[0] = cpu->lr;
/* 028E4350 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E4350 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E4354 */ cpu->r[29] = cpu->r[4];
/* 028E4358 */ cpu->r[30] = cpu->r[5];
/* 028E435C */ cpu->r[3] = cpu->r[6];
/* 028E4360 */ _t2 = cpu->r[3] + 0x00000008u;
/* 028E4360 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
/* 028E4364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000005u);
/* 028E4368 */ cpu->r[31] = cpu->r[3] + 0x00000024u;
/* 028E436C */ _t3 = cpu->r[7] + 0x0000001Cu;
/* 028E436C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
/* 028E4370 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4370 */ _t5 = _t4 & 0x00000001u;
/* 028E4370 */ if (_t5) goto L_028E4374; else goto L_028E4398;
L_028E4374: ; // 0x28e4374
/* 028E4374 */ cpu->ctr = cpu->r[8];
/* 028E4378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E437C */ _t6 = cpu->r[31] + cpu->r[0];
/* 028E437C */ cpu->r[26] = rbrew_read32(cpu->mem, _t6);
/* 028E4380 */ cpu->r[27] = 0xFFFFFFFFu;
/* 028E4384 */ cpu->r[28] = 0x00000005u;
/* 028E4388 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E438C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E4390 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4390 */ _t8 = _t7 & 0x00000001u;
/* 028E4390 */ if (_t8) goto L_028E43B4; else goto L_028E4394;
L_028E4394: ; // 0x28e4394
/* 028E4394 */ goto L_028E43B8;
L_028E4398: ; // 0x28e4398
/* 028E4398 */ cpu->ctr = cpu->r[8];
/* 028E439C */ _t9 = cpu->r[31] + 0x00000000u;
/* 028E439C */ cpu->r[26] = rbrew_read32(cpu->mem, _t9);
/* 028E43A0 */ cpu->r[27] = 0xFFFFFFFFu;
/* 028E43A4 */ cpu->r[28] = 0x00000005u;
/* 028E43A8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E43AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E43B0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E43B0 */ _t11 = _t10 & 0x00000001u;
/* 028E43B0 */ if (_t11) goto L_028E43B4; else goto L_028E43B8;
L_028E43B4: ; // 0x28e43b4
/* 028E43B4 */ cpu->r[28] = 0x00000004u;
L_028E43B8: ; // 0x28e43b8
/* 028E43B8 */ cpu->r[9] = cpu->r[28] + 0xFFFFFFFFu;
/* 028E43BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028E43C0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E43C0 */ _t13 = _t12 & 0x00000001u;
/* 028E43C0 */ if (_t13) goto L_028E43C4; else goto L_028E43E0;
L_028E43C4: ; // 0x28e43c4
/* 028E43C4 */ cpu->r[5] = cpu->r[30] + 0x00000001u;
/* 028E43C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000005u);
/* 028E43CC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E43CC */ _t15 = _t14 & 0x00000001u;
/* 028E43CC */ if (_t15) goto L_028E43D0; else goto L_028E43D8;
L_028E43D0: ; // 0x28e43d0
/* 028E43D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E43D4 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
L_028E43D8: ; // 0x28e43d8
/* 028E43D8 */ _t16 = cpu->r[31] + 0x00000000u;
/* 028E43D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028E43DC */ cpu->r[27] = cpu->r[12] + 0xFFFFFFFFu;
L_028E43E0: ; // 0x28e43e0
/* 028E43E0 */ _t17 = cpu->r[29] + 0x00000004u;
/* 028E43E0 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
/* 028E43E4 */ _t18 = cpu->r[29] + 0x00000000u;
/* 028E43E4 */ rbrew_write32(cpu->mem, _t18, cpu->r[26]);
/* 028E43E8 */ /* nop */
/* 028E43EC */ _t19 = cpu->r[1] + 0x00000024u;
/* 028E43EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E43F0 */ cpu->lr = cpu->r[0];
/* 028E43F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E43F8 */ return;
}
// fn_028E43FC @ 0x28e43fc
void Gambit_fn_028E43FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028E43FC: ; // 0x28e43fc
/* 028E43FC */ _t0 = cpu->r[6] + 0x00000000u;
/* 028E43FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
/* 028E4400 */ _t1 = cpu->r[6] + 0x00000004u;
/* 028E4400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028E4404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
/* 028E4408 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4408 */ _t3 = _t2 & 0x00000001u;
/* 028E4408 */ if (_t3) goto L_028E4424; else goto L_028E440C;
L_028E440C: ; // 0x28e440c
/* 028E440C */ _t4 = cpu->r[5] + 0x00000000u;
/* 028E440C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028E4410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
/* 028E4414 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4414 */ _t6 = _t5 & 0x00000001u;
/* 028E4414 */ if (_t6) goto L_028E4424; else goto L_028E4418;
L_028E4418: ; // 0x28e4418
/* 028E4418 */ _t7 = cpu->r[5] + 0x00000004u;
/* 028E4418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
/* 028E441C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
/* 028E4420 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4420 */ _t9 = _t8 & 0x00000001u;
/* 028E4420 */ if (_t9) goto L_028E4424; else goto L_028E442C;
L_028E4424: ; // 0x28e4424
/* 028E4424 */ cpu->r[3] = 0x00000000u;
/* 028E4428 */ return;
L_028E442C: ; // 0x28e442c
/* 028E442C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
/* 028E4430 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4430 */ _t11 = _t10 & 0x00000001u;
/* 028E4430 */ if (_t11) goto L_028E4434; else goto L_028E4438;
L_028E4434: ; // 0x28e4434
/* 028E4434 */ cpu->r[9] = cpu->r[10];
L_028E4438: ; // 0x28e4438
/* 028E4438 */ _t12 = cpu->r[4] + 0x00000000u;
/* 028E4438 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
/* 028E443C */ _t13 = cpu->r[5] + 0x00000004u;
/* 028E443C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E4440 */ _t14 = cpu->r[6] + 0x00000004u;
/* 028E4440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E4444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028E4448 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4448 */ _t16 = _t15 & 0x00000001u;
/* 028E4448 */ if (_t16) goto L_028E444C; else goto L_028E4450;
L_028E444C: ; // 0x28e444c
/* 028E444C */ cpu->r[11] = cpu->r[0];
L_028E4450: ; // 0x28e4450
/* 028E4450 */ cpu->r[3] = 0x00000001u;
/* 028E4454 */ _t17 = cpu->r[4] + 0x00000004u;
/* 028E4454 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
/* 028E4458 */ return;
}
// fn_028E445C @ 0x28e445c
void Gambit_fn_028E445C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028E445C: ; // 0x28e445c
/* 028E445C */ cpu->r[12] = 0x10140000u;
/* 028E4460 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E4460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4460 */ cpu->r[1] = _t0;
/* 028E4464 */ _t1 = cpu->r[12] + 0xFFFFB798u;
/* 028E4464 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028E4468 */ cpu->r[11] = 0x10140000u;
/* 028E446C */ cpu->f[12] = cpu->f[0] * cpu->f[1];
/* 028E4470 */ _t2 = cpu->r[11] + 0xFFFFB79Cu;
/* 028E4470 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
/* 028E4474 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[11]);
/* 028E4478 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4478 */ _t4 = _t3 & 0x00000001u;
/* 028E4478 */ if (_t4) goto L_028E447C; else goto L_028E44EC;
L_028E447C: ; // 0x28e447c
/* 028E447C */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12];
/* 028E4480 */ cpu->r[11] = 0x10140000u;
/* 028E4484 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028E4488 */ /* nop */
/* 028E448C */ _t5 = cpu->r[1] + 0x00000008u;
/* 028E448C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E4490 */ cpu->r[10] = 0x43300000u;
/* 028E4494 */ _t6 = cpu->r[11] + 0xFFFFB7A0u;
/* 028E4494 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
/* 028E4498 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
/* 028E449C */ _t7 = cpu->r[1] + 0x00000008u;
/* 028E449C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028E44A0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E44A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028E44A4 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028E44A4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
/* 028E44A8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
/* 028E44AC */ cpu->f[11] = cpu->f[0] - cpu->f[13];
/* 028E44B0 */ cpu->r[10] = cpu->r[9] + 0x10110000u;
/* 028E44B4 */ cpu->r[12] = 0x10140000u;
/* 028E44B8 */ cpu->r[11] = cpu->r[10] + 0x000053A0u;
/* 028E44BC */ _t10 = cpu->r[12] + 0xFFFFB7A8u;
/* 028E44BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
/* 028E44C0 */ cpu->f[13] = (double)(float)cpu->f[11];
/* 028E44C4 */ _t11 = cpu->r[11] + 0x00000004u;
/* 028E44C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028E44C8 */ cpu->f[12] = cpu->f[13] * cpu->f[12];
/* 028E44CC */ _t12 = cpu->r[10] + 0x000053A0u;
/* 028E44CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
/* 028E44D0 */ cpu->f[0] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
/* 028E44D4 */ _t13 = cpu->r[5] + 0x00000000u;
/* 028E44D4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028E44D8 */ _t14 = cpu->r[11] + 0x0000000Cu;
/* 028E44D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
/* 028E44DC */ _t15 = cpu->r[11] + 0x00000008u;
/* 028E44DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
/* 028E44E0 */ cpu->f[11] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
/* 028E44E4 */ _t16 = cpu->r[4] + 0x00000000u;
/* 028E44E4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
/* 028E44E8 */ goto L_028E4560;
L_028E44EC: ; // 0x28e44ec
/* 028E44EC */ cpu->f[0] = cpu->f[12] - cpu->f[11];
/* 028E44F0 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
/* 028E44F4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028E44F8 */ cpu->r[11] = 0x10140000u;
/* 028E44FC */ /* nop */
/* 028E4500 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E4500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028E4504 */ cpu->r[10] = 0x43300000u;
/* 028E4508 */ _t18 = cpu->r[11] + 0xFFFFB7A0u;
/* 028E4508 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t18);
/* 028E450C */ cpu->r[0] = cpu->r[12] + 0x80000000u;
/* 028E4510 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E4510 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028E4514 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
/* 028E4518 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028E4518 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
/* 028E451C */ _t21 = cpu->r[1] + 0x00000008u;
/* 028E451C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t21);
/* 028E4520 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
/* 028E4524 */ cpu->f[11] = cpu->f[0] - cpu->f[13];
/* 028E4528 */ cpu->r[10] = cpu->r[9] + 0x10110000u;
/* 028E452C */ cpu->r[12] = 0x10140000u;
/* 028E4530 */ cpu->r[11] = cpu->r[10] + 0x000053A0u;
/* 028E4534 */ _t22 = cpu->r[12] + 0xFFFFB7A8u;
/* 028E4534 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
/* 028E4538 */ cpu->f[13] = (double)(float)cpu->f[11];
/* 028E453C */ _t23 = cpu->r[11] + 0x00000004u;
/* 028E453C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028E4540 */ cpu->f[12] = cpu->f[13] * cpu->f[12];
/* 028E4544 */ _t24 = cpu->r[10] + 0x000053A0u;
/* 028E4544 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
/* 028E4548 */ cpu->f[0] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
/* 028E454C */ _t25 = cpu->r[5] + 0x00000000u;
/* 028E454C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 028E4550 */ _t26 = cpu->r[11] + 0x0000000Cu;
/* 028E4550 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028E4554 */ _t27 = cpu->r[11] + 0x00000008u;
/* 028E4554 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
/* 028E4558 */ cpu->f[11] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
/* 028E455C */ _t28 = cpu->r[4] + 0x00000000u;
/* 028E455C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[11]);
L_028E4560: ; // 0x28e4560
/* 028E4560 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E4564 */ return;
}
// fn_028E4460 @ 0x28e4460
void Gambit_fn_028E4460(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028E4460: ; // 0x28e4460
/* 028E4460 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E4460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4460 */ cpu->r[1] = _t0;
/* 028E4464 */ _t1 = cpu->r[12] + 0xFFFFB798u;
/* 028E4464 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028E4468 */ cpu->r[11] = 0x10140000u;
/* 028E446C */ cpu->f[12] = cpu->f[0] * cpu->f[1];
/* 028E4470 */ _t2 = cpu->r[11] + 0xFFFFB79Cu;
/* 028E4470 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
/* 028E4474 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[11]);
/* 028E4478 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4478 */ _t4 = _t3 & 0x00000001u;
/* 028E4478 */ if (_t4) goto L_028E447C; else goto L_028E44EC;
L_028E447C: ; // 0x28e447c
/* 028E447C */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12];
/* 028E4480 */ cpu->r[11] = 0x10140000u;
/* 028E4484 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028E4488 */ /* nop */
/* 028E448C */ _t5 = cpu->r[1] + 0x00000008u;
/* 028E448C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E4490 */ cpu->r[10] = 0x43300000u;
/* 028E4494 */ _t6 = cpu->r[11] + 0xFFFFB7A0u;
/* 028E4494 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
/* 028E4498 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
/* 028E449C */ _t7 = cpu->r[1] + 0x00000008u;
/* 028E449C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028E44A0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E44A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028E44A4 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028E44A4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
/* 028E44A8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
/* 028E44AC */ cpu->f[11] = cpu->f[0] - cpu->f[13];
/* 028E44B0 */ cpu->r[10] = cpu->r[9] + 0x10110000u;
/* 028E44B4 */ cpu->r[12] = 0x10140000u;
/* 028E44B8 */ cpu->r[11] = cpu->r[10] + 0x000053A0u;
/* 028E44BC */ _t10 = cpu->r[12] + 0xFFFFB7A8u;
/* 028E44BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
/* 028E44C0 */ cpu->f[13] = (double)(float)cpu->f[11];
/* 028E44C4 */ _t11 = cpu->r[11] + 0x00000004u;
/* 028E44C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028E44C8 */ cpu->f[12] = cpu->f[13] * cpu->f[12];
/* 028E44CC */ _t12 = cpu->r[10] + 0x000053A0u;
/* 028E44CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
/* 028E44D0 */ cpu->f[0] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
/* 028E44D4 */ _t13 = cpu->r[5] + 0x00000000u;
/* 028E44D4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028E44D8 */ _t14 = cpu->r[11] + 0x0000000Cu;
/* 028E44D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
/* 028E44DC */ _t15 = cpu->r[11] + 0x00000008u;
/* 028E44DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
/* 028E44E0 */ cpu->f[11] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
/* 028E44E4 */ _t16 = cpu->r[4] + 0x00000000u;
/* 028E44E4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
/* 028E44E8 */ goto L_028E4560;
L_028E44EC: ; // 0x28e44ec
/* 028E44EC */ cpu->f[0] = cpu->f[12] - cpu->f[11];
/* 028E44F0 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
/* 028E44F4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028E44F8 */ cpu->r[11] = 0x10140000u;
/* 028E44FC */ /* nop */
/* 028E4500 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E4500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028E4504 */ cpu->r[10] = 0x43300000u;
/* 028E4508 */ _t18 = cpu->r[11] + 0xFFFFB7A0u;
/* 028E4508 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t18);
/* 028E450C */ cpu->r[0] = cpu->r[12] + 0x80000000u;
/* 028E4510 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E4510 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028E4514 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
/* 028E4518 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028E4518 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
/* 028E451C */ _t21 = cpu->r[1] + 0x00000008u;
/* 028E451C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t21);
/* 028E4520 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
/* 028E4524 */ cpu->f[11] = cpu->f[0] - cpu->f[13];
/* 028E4528 */ cpu->r[10] = cpu->r[9] + 0x10110000u;
/* 028E452C */ cpu->r[12] = 0x10140000u;
/* 028E4530 */ cpu->r[11] = cpu->r[10] + 0x000053A0u;
/* 028E4534 */ _t22 = cpu->r[12] + 0xFFFFB7A8u;
/* 028E4534 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
/* 028E4538 */ cpu->f[13] = (double)(float)cpu->f[11];
/* 028E453C */ _t23 = cpu->r[11] + 0x00000004u;
/* 028E453C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028E4540 */ cpu->f[12] = cpu->f[13] * cpu->f[12];
/* 028E4544 */ _t24 = cpu->r[10] + 0x000053A0u;
/* 028E4544 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
/* 028E4548 */ cpu->f[0] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
/* 028E454C */ _t25 = cpu->r[5] + 0x00000000u;
/* 028E454C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 028E4550 */ _t26 = cpu->r[11] + 0x0000000Cu;
/* 028E4550 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028E4554 */ _t27 = cpu->r[11] + 0x00000008u;
/* 028E4554 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
/* 028E4558 */ cpu->f[11] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
/* 028E455C */ _t28 = cpu->r[4] + 0x00000000u;
/* 028E455C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[11]);
L_028E4560: ; // 0x28e4560
/* 028E4560 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E4564 */ return;
}
// fn_028E4568 @ 0x28e4568
void Gambit_fn_028E4568(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028E4568: ; // 0x28e4568
/* 028E4568 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028E4568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4568 */ cpu->r[1] = _t0;
/* 028E456C */ cpu->r[0] = cpu->lr;
/* 028E4570 */ /* nop */
/* 028E4574 */ cpu->f[5] = cpu->f[1];
/* 028E4578 */ cpu->r[26] = cpu->r[3];
/* 028E457C */ cpu->r[27] = cpu->r[4];
/* 028E457C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E4580 */ cpu->r[28] = cpu->r[5];
/* 028E4584 */ _t1 = cpu->r[1] + 0x0000003Cu;
/* 028E4584 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E4588 */ cpu->r[29] = cpu->r[6];
/* 028E458C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E458C */ _t3 = _t2 & 0x00000001u;
/* 028E458C */ if (_t3) goto L_028E46C4; else goto L_028E4590;
L_028E4590: ; // 0x28e4590
/* 028E4590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E4594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4594 */ _t5 = _t4 & 0x00000001u;
/* 028E4594 */ if (_t5) goto L_028E46C4; else goto L_028E4598;
L_028E4598: ; // 0x28e4598
/* 028E4598 */ cpu->r[11] = 0x10140000u;
/* 028E459C */ cpu->r[9] = 0x10140000u;
/* 028E45A0 */ cpu->r[31] = 0x00000000u;
/* 028E45A4 */ _t6 = cpu->r[11] + 0xFFFFB7ACu;
/* 028E45A4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
/* 028E45A8 */ cpu->r[30] = 0x00000002u;
/* 028E45AC */ cpu->r[6] = cpu->r[7];
/* 028E45B0 */ _t7 = cpu->r[9] + 0xFFFFB7B0u;
/* 028E45B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t7);
/* 028E45B4 */ cpu->r[7] = 0xFFFFFFFFu;
L_028E45B8: ; // 0x28e45b8
/* 028E45B8 */ _t8 = cpu->r[1] + 0x00000010u;
/* 028E45B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
/* 028E45BC */ cpu->r[3] = cpu->r[26];
/* 028E45C0 */ cpu->r[5] = cpu->r[29];
/* 028E45C4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028E45C8 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E45C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
/* 028E45CC */ Gambit_fn_028E43FC(cpu);
/* 028E45D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E45D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E45D4 */ _t11 = _t10 & 0x00000001u;
/* 028E45D4 */ if (_t11) goto L_028E46B8; else goto L_028E45D8;
L_028E45D8: ; // 0x28e45d8
/* 028E45D8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E45D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028E45DC */ cpu->r[9] = 0x43300000u;
/* 028E45E0 */ _t13 = cpu->r[1] + 0x00000010u;
/* 028E45E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028E45E4 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028E45E4 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
/* 028E45E8 */ cpu->r[5] = cpu->r[11] - cpu->r[10];
/* 028E45EC */ _t15 = cpu->r[29] + 0x00000004u;
/* 028E45EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E45F0 */ cpu->r[8] = cpu->r[5] + 0x00000001u;
/* 028E45F4 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E45F4 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
/* 028E45F8 */ cpu->r[8] = 0x10140000u;
/* 028E45FC */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E45FC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t17);
/* 028E4600 */ cpu->r[5] = cpu->r[0] - cpu->r[11];
/* 028E4604 */ _t18 = cpu->r[8] + 0xFFFFB7A0u;
/* 028E4604 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t18);
/* 028E4608 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028E4608 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
/* 028E460C */ cpu->f[7] = cpu->f[0] - cpu->f[8];
/* 028E4610 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028E4610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028E4614 */ cpu->r[9] = cpu->r[0] - cpu->r[10];
/* 028E4618 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
/* 028E461C */ _t21 = cpu->r[1] + 0x00000008u;
/* 028E461C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t21);
/* 028E4620 */ cpu->r[5] = cpu->r[10] - cpu->r[12];
/* 028E4624 */ cpu->f[13] = (double)(float)cpu->f[7];
/* 028E4628 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028E4628 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028E462C */ cpu->f[7] = cpu->f[0] - cpu->f[8];
/* 028E4630 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E4630 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
/* 028E4634 */ cpu->f[4] = cpu->f[13] / cpu->f[5];
/* 028E4638 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E4638 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
/* 028E463C */ cpu->r[10] = cpu->r[11] - cpu->r[12];
/* 028E4640 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E4640 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t25);
/* 028E4644 */ cpu->r[0] = cpu->r[10] + 0x00000001u;
/* 028E4648 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028E4648 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
/* 028E464C */ cpu->f[13] = cpu->f[12] - cpu->f[8];
/* 028E4650 */ cpu->f[7] = (double)(float)cpu->f[7];
/* 028E4654 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028E4654 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t27);
/* 028E4658 */ cpu->f[11] = cpu->f[0] - cpu->f[8];
/* 028E465C */ cpu->f[6] = (double)(float)cpu->f[13];
/* 028E4660 */ cpu->f[0] = (double)(float)cpu->f[11];
/* 028E4664 */ cpu->f[13] = cpu->f[12] - cpu->f[8];
/* 028E4668 */ cpu->f[11] = cpu->f[7] + cpu->f[6];
/* 028E466C */ cpu->f[7] = (double)(float)cpu->f[13];
/* 028E4670 */ cpu->f[12] = cpu->f[11] + cpu->f[0];
/* 028E4674 */ cpu->f[8] = cpu->f[0] + cpu->f[7];
/* 028E4678 */ cpu->f[13] = cpu->f[12] + cpu->f[7];
/* 028E467C */ cpu->f[1] = cpu->f[8] / cpu->f[13];
/* 028E4680 */ _t28 = cpu->r[1] + 0x0000001Cu;
/* 028E4680 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[10]);
/* 028E4684 */ cpu->r[3] = cpu->r[26];
/* 028E4688 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
/* 028E468C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028E4690 */ _t29 = cpu->r[1] + 0x00000018u;
/* 028E4690 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[9]);
/* 028E4694 */ Gambit_fn_028E445C(cpu);
/* 028E4698 */ _t30 = cpu->r[27] + 0x00000000u;
/* 028E4698 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
/* 028E469C */ _t31 = cpu->r[1] + 0x00000018u;
/* 028E469C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t31);
/* 028E46A0 */ cpu->f[12] = fma(cpu->f[11], cpu->f[4], cpu->f[12]);
/* 028E46A4 */ _t32 = cpu->r[27] + 0x00000000u;
/* 028E46A4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
/* 028E46A8 */ _t33 = cpu->r[28] + 0x00000000u;
/* 028E46A8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t33);
/* 028E46AC */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028E46AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
/* 028E46B0 */ cpu->f[8] = fma(cpu->f[13], cpu->f[4], cpu->f[8]);
/* 028E46B4 */ _t35 = cpu->r[28] + 0x00000000u;
/* 028E46B4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[8]);
L_028E46B8: ; // 0x28e46b8
/* 028E46B8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028E46B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E46BC */ cpu->r[6] = cpu->r[6] + 0x00000008u;
/* 028E46C0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E46C0 */ _t37 = _t36 & 0x00000001u;
/* 028E46C0 */ if (_t37) goto L_028E46C4; else goto L_028E45B8;
L_028E46C4: ; // 0x28e46c4
/* 028E46C4 */ /* nop */
/* 028E46C8 */ _t38 = cpu->r[1] + 0x0000003Cu;
/* 028E46C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028E46CC */ cpu->lr = cpu->r[0];
/* 028E46D0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E46D4 */ return;
}
// fn_028E46D8 @ 0x28e46d8
void Gambit_fn_028E46D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E46D8: ; // 0x28e46d8
/* 028E46D8 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
/* 028E46D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E46D8 */ cpu->r[1] = _t0;
/* 028E46DC */ _t1 = cpu->r[1] + 0x00000068u;
/* 028E46DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E46E0 */ /* nop */
/* 028E46E4 */ cpu->r[0] = cpu->lr;
/* 028E46E8 */ cpu->r[27] = cpu->r[5];
/* 028E46EC */ cpu->r[30] = cpu->r[6];
/* 028E46F0 */ cpu->r[26] = cpu->r[3];
/* 028E46F4 */ cpu->r[28] = cpu->r[1] + 0x00000028u;
/* 028E46F8 */ cpu->r[5] = 0x00000014u;
/* 028E46FC */ /* nop */
/* 028E4700 */ _t2 = cpu->r[1] + 0x0000007Cu;
/* 028E4700 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E4704 */ cpu->r[3] = cpu->r[28];
/* 028E4708 */ _t3 = cpu->r[1] + 0x00000070u;
/* 028E4708 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028E470C */ cpu->r[29] = cpu->r[4];
/* 028E4710 */ cpu->r[4] = 0x00000000u;
/* 028E4714 */ cpu->f[31] = cpu->f[1];
/* 028E4718 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028E471C */ cpu->r[6] = 0x10140000u;
/* 028E4720 */ _t4 = cpu->r[6] + 0xFFFFB79Cu;
/* 028E4720 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
/* 028E4724 */ cpu->f[12] = cpu->f[11] * cpu->f[31];
/* 028E4728 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[11]);
/* 028E472C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E472C */ _t6 = _t5 & 0x00000001u;
/* 028E472C */ if (_t6) goto L_028E4730; else goto L_028E474C;
L_028E4730: ; // 0x28e4730
/* 028E4730 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12];
/* 028E4734 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
/* 028E4738 */ /* nop */
/* 028E473C */ _t7 = cpu->r[1] + 0x00000010u;
/* 028E473C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E4740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4744 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4744 */ _t9 = _t8 & 0x00000001u;
/* 028E4744 */ if (_t9) goto L_028E476C; else goto L_028E4748;
L_028E4748: ; // 0x28e4748
/* 028E4748 */ goto L_028E4770;
L_028E474C: ; // 0x28e474c
/* 028E474C */ cpu->f[0] = cpu->f[12] - cpu->f[11];
/* 028E4750 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
/* 028E4754 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
/* 028E4758 */ /* nop */
/* 028E475C */ _t10 = cpu->r[1] + 0x00000010u;
/* 028E475C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028E4760 */ cpu->r[0] = cpu->r[10] + 0x80000000u;
/* 028E4764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4768 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4768 */ _t12 = _t11 & 0x00000001u;
/* 028E4768 */ if (_t12) goto L_028E476C; else goto L_028E4770;
L_028E476C: ; // 0x28e476c
/* 028E476C */ cpu->r[0] = 0x00000001u;
L_028E4770: ; // 0x28e4770
/* 028E4770 */ cpu->r[8] = 0x10140000u;
/* 028E4774 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E4774 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028E4778 */ cpu->r[11] = 0x43300000u;
/* 028E477C */ _t14 = cpu->r[8] + 0xFFFFB7A0u;
/* 028E477C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
/* 028E4780 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028E4780 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
/* 028E4784 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028E4784 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t16);
/* 028E4788 */ cpu->r[7] = cpu->r[30] + cpu->r[0];
/* 028E478C */ cpu->f[9] = cpu->f[13] - cpu->f[0];
/* 028E4790 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028E4794 */ cpu->r[30] = cpu->r[30] - cpu->r[0];
/* 028E4798 */ cpu->r[6] = 0x028E0000u;
/* 028E479C */ cpu->f[9] = (double)(float)cpu->f[9];
/* 028E47A0 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
/* 028E47A4 */ cpu->r[5] = 0x00000008u;
/* 028E47A8 */ cpu->r[4] = 0x00000002u;
/* 028E47AC */ cpu->r[6] = cpu->r[6] + 0x000059ACu;
/* 028E47B0 */ cpu->f[31] = cpu->f[9] + cpu->f[9];
/* 028E47B4 */ Gambit_fn_02C82E00(cpu);
/* 028E47B8 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028E47B8 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
/* 028E47BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028E47C0 */ _t18 = cpu->r[27] + 0x00000008u;
/* 028E47C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028E47C4 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E47C4 */ _t20 = _t19 & 0x00000001u;
/* 028E47C4 */ if (_t20) goto L_028E47EC; else goto L_028E47C8;
L_028E47C8: ; // 0x28e47c8
/* 028E47C8 */ _t21 = cpu->r[1] + 0x00000018u;
/* 028E47C8 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E47CC */ _t22 = cpu->r[10] + 0x0000001Cu;
/* 028E47CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028E47D0 */ cpu->ctr = cpu->r[0];
/* 028E47D4 */ cpu->r[30] = 0x00000005u;
/* 028E47D8 */ cpu->r[3] = cpu->r[27];
/* 028E47DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E47E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E47E4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E47E4 */ _t24 = _t23 & 0x00000001u;
/* 028E47E4 */ if (_t24) goto L_028E481C; else goto L_028E47E8;
L_028E47E8: ; // 0x28e47e8
/* 028E47E8 */ goto L_028E4820;
L_028E47EC: ; // 0x28e47ec
/* 028E47EC */ _t25 = cpu->r[1] + 0x00000020u;
/* 028E47EC */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
/* 028E47F0 */ cpu->r[8] = 0xFFFFFFFFu;
/* 028E47F4 */ cpu->r[5] = 0x00000000u;
/* 028E47F8 */ _t26 = cpu->r[1] + 0x00000024u;
/* 028E47F8 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
/* 028E47FC */ _t27 = cpu->r[1] + 0x00000018u;
/* 028E47FC */ rbrew_write32(cpu->mem, _t27, cpu->r[5]);
/* 028E4800 */ _t28 = cpu->r[10] + 0x0000001Cu;
/* 028E4800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E4804 */ cpu->ctr = cpu->r[0];
/* 028E4808 */ cpu->r[30] = 0x00000005u;
/* 028E480C */ cpu->r[3] = cpu->r[27];
/* 028E4810 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E4814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E4818 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4818 */ _t30 = _t29 & 0x00000001u;
/* 028E4818 */ if (_t30) goto L_028E481C; else goto L_028E4820;
L_028E481C: ; // 0x28e481c
/* 028E481C */ cpu->r[30] = 0x00000004u;
L_028E4820: ; // 0x28e4820
/* 028E4820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E4824 */ cpu->r[31] = cpu->r[30];
/* 028E4828 */ cpu->r[22] = 0x00000000u;
/* 028E482C */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E482C */ _t32 = _t31 & 0x00000001u;
/* 028E482C */ if (_t32) goto L_028E4834; else goto L_028E4830;
L_028E4830: ; // 0x28e4830
/* 028E4830 */ cpu->r[31] = 0x00000001u;
L_028E4834: ; // 0x28e4834
/* 028E4834 */ cpu->r[0] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E4838 */ cpu->r[23] = cpu->r[30] + 0xFFFFFFFFu;
/* 028E483C */ cpu->r[24] = 0x00000000u;
/* 028E4840 */ cpu->r[30] = cpu->r[28] + cpu->r[0];
/* 028E4844 */ cpu->r[25] = 0xFFFFFFFFu;
L_028E4848: ; // 0x28e4848
/* 028E4848 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028E4848 */ rbrew_write32(cpu->mem, _t33, cpu->r[25]);
/* 028E484C */ cpu->r[3] = cpu->r[26];
/* 028E4850 */ cpu->r[5] = cpu->r[22];
/* 028E4854 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E4858 */ cpu->r[6] = cpu->r[27];
/* 028E485C */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028E485C */ rbrew_write32(cpu->mem, _t34, cpu->r[24]);
/* 028E4860 */ Gambit_fn_028E4344(cpu);
/* 028E4864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[23]);
/* 028E4868 */ cpu->r[5] = cpu->r[28];
/* 028E486C */ cpu->r[4] = cpu->r[30];
/* 028E4870 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4870 */ _t36 = _t35 & 0x00000001u;
/* 028E4870 */ if (_t36) goto L_028E4874; else goto L_028E4878;
L_028E4874: ; // 0x28e4874
/* 028E4874 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
L_028E4878: ; // 0x28e4878
/* 028E4878 */ cpu->f[1] = cpu->f[31];
/* 028E487C */ cpu->r[7] = cpu->r[1] + 0x00000018u;
/* 028E4880 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028E4884 */ cpu->r[3] = cpu->r[26];
/* 028E4888 */ Gambit_fn_028E4568(cpu);
/* 028E488C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028E488C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E4890 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
/* 028E4894 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
/* 028E4898 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4898 */ _t38 = _t37 & 0x00000001u;
/* 028E4898 */ if (_t38) goto L_028E489C; else goto L_028E4848;
L_028E489C: ; // 0x28e489c
/* 028E489C */ _t39 = cpu->r[28] + 0x00000010u;
/* 028E489C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
/* 028E48A0 */ cpu->r[9] = 0x10140000u;
/* 028E48A4 */ _t40 = cpu->r[9] + 0xFFFFB7B4u;
/* 028E48A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t40);
/* 028E48A8 */ cpu->r[8] = 0x10140000u;
/* 028E48AC */ _t41 = cpu->r[28] + 0x00000004u;
/* 028E48AC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
/* 028E48B0 */ cpu->f[0] = cpu->f[0] * cpu->f[13];
/* 028E48B4 */ _t42 = cpu->r[27] + 0x00000018u;
/* 028E48B4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
/* 028E48B8 */ _t43 = cpu->r[8] + 0xFFFFB7ACu;
/* 028E48B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
/* 028E48BC */ cpu->f[11] = cpu->f[9] * cpu->f[8];
/* 028E48C0 */ _t44 = cpu->r[28] + 0x00000008u;
/* 028E48C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t44);
/* 028E48C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028E48C8 */ cpu->f[9] = cpu->f[10] * cpu->f[8];
/* 028E48CC */ _t45 = cpu->r[28] + 0x00000000u;
/* 028E48CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t45);
/* 028E48D0 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E48D0 */ _t47 = _t46 & 0x00000001u;
/* 028E48D0 */ if (_t47) goto L_028E48D4; else goto L_028E48F8;
L_028E48D4: ; // 0x28e48d4
/* 028E48D4 */ cpu->f[8] = (uint32_t)(int32_t)cpu->f[12];
/* 028E48D8 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
/* 028E48DC */ cpu->f[0] = cpu->f[10] * cpu->f[13];
/* 028E48E0 */ /* nop */
/* 028E48E4 */ _t48 = cpu->r[1] + 0x00000013u;
/* 028E48E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t48);
/* 028E48E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028E48EC */ _t49 = cpu->r[29] + 0x00000004u;
/* 028E48EC */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[12]);
/* 028E48F0 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E48F0 */ _t51 = _t50 & 0x00000001u;
/* 028E48F0 */ if (_t51) goto L_028E4924; else goto L_028E48F4;
L_028E48F4: ; // 0x28e48f4
/* 028E48F4 */ goto L_028E4948;
L_028E48F8: ; // 0x28e48f8
/* 028E48F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028E48FC */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E48FC */ _t53 = _t52 & 0x00000001u;
/* 028E48FC */ if (_t53) goto L_028E4900; else goto L_028E4904;
L_028E4900: ; // 0x28e4900
/* 028E4900 */ cpu->f[0] = cpu->f[13];
L_028E4904: ; // 0x28e4904
/* 028E4904 */ cpu->f[8] = (uint32_t)(int32_t)cpu->f[0];
/* 028E4908 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
/* 028E490C */ cpu->f[0] = cpu->f[10] * cpu->f[13];
/* 028E4910 */ /* nop */
/* 028E4914 */ _t54 = cpu->r[1] + 0x00000013u;
/* 028E4914 */ cpu->r[12] = rbrew_read8(cpu->mem, _t54);
/* 028E4918 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028E491C */ _t55 = cpu->r[29] + 0x00000004u;
/* 028E491C */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[12]);
/* 028E4920 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4920 */ _t57 = _t56 & 0x00000001u;
/* 028E4920 */ if (_t57) goto L_028E4924; else goto L_028E4948;
L_028E4924: ; // 0x28e4924
/* 028E4924 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[12];
/* 028E4928 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
/* 028E492C */ cpu->f[10] = cpu->f[11] * cpu->f[13];
/* 028E4930 */ /* nop */
/* 028E4934 */ _t58 = cpu->r[1] + 0x00000013u;
/* 028E4934 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
/* 028E4938 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028E493C */ _t59 = cpu->r[29] + 0x00000001u;
/* 028E493C */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[0]);
/* 028E4940 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4940 */ _t61 = _t60 & 0x00000001u;
/* 028E4940 */ if (_t61) goto L_028E4974; else goto L_028E4944;
L_028E4944: ; // 0x28e4944
/* 028E4944 */ goto L_028E499C;
L_028E4948: ; // 0x28e4948
/* 028E4948 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028E494C */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E494C */ _t63 = _t62 & 0x00000001u;
/* 028E494C */ if (_t63) goto L_028E4950; else goto L_028E4954;
L_028E4950: ; // 0x28e4950
/* 028E4950 */ cpu->f[0] = cpu->f[13];
L_028E4954: ; // 0x28e4954
/* 028E4954 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028E4958 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
/* 028E495C */ cpu->f[10] = cpu->f[11] * cpu->f[13];
/* 028E4960 */ /* nop */
/* 028E4964 */ _t64 = cpu->r[1] + 0x00000013u;
/* 028E4964 */ cpu->r[0] = rbrew_read8(cpu->mem, _t64);
/* 028E4968 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028E496C */ _t65 = cpu->r[29] + 0x00000001u;
/* 028E496C */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[0]);
/* 028E4970 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4970 */ _t67 = _t66 & 0x00000001u;
/* 028E4970 */ if (_t67) goto L_028E4974; else goto L_028E499C;
L_028E4974: ; // 0x28e4974
/* 028E4974 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[12];
/* 028E4978 */ cpu->r[9] = cpu->r[1] + 0x00000010u;
/* 028E497C */ cpu->f[9] = cpu->f[9] * cpu->f[13];
/* 028E4980 */ /* nop */
/* 028E4984 */ _t68 = cpu->r[1] + 0x00000013u;
/* 028E4984 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
/* 028E4988 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
/* 028E498C */ _t69 = cpu->r[29] + 0x00000003u;
/* 028E498C */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[0]);
/* 028E4990 */ _t70 = cpu->r[28] + 0x0000000Cu;
/* 028E4990 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t70);
/* 028E4994 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4994 */ _t72 = _t71 & 0x00000001u;
/* 028E4994 */ if (_t72) goto L_028E49CC; else goto L_028E4998;
L_028E4998: ; // 0x28e4998
/* 028E4998 */ goto L_028E49F0;
L_028E499C: ; // 0x28e499c
/* 028E499C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
/* 028E49A0 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E49A0 */ _t74 = _t73 & 0x00000001u;
/* 028E49A0 */ if (_t74) goto L_028E49A4; else goto L_028E49A8;
L_028E49A4: ; // 0x28e49a4
/* 028E49A4 */ cpu->f[10] = cpu->f[13];
L_028E49A8: ; // 0x28e49a8
/* 028E49A8 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[10];
/* 028E49AC */ cpu->r[9] = cpu->r[1] + 0x00000010u;
/* 028E49B0 */ cpu->f[9] = cpu->f[9] * cpu->f[13];
/* 028E49B4 */ /* nop */
/* 028E49B8 */ _t75 = cpu->r[1] + 0x00000013u;
/* 028E49B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
/* 028E49BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
/* 028E49C0 */ _t76 = cpu->r[29] + 0x00000003u;
/* 028E49C0 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[0]);
/* 028E49C4 */ _t77 = cpu->r[28] + 0x0000000Cu;
/* 028E49C4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t77);
/* 028E49C8 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E49C8 */ _t79 = _t78 & 0x00000001u;
/* 028E49C8 */ if (_t79) goto L_028E49CC; else goto L_028E49F0;
L_028E49CC: ; // 0x28e49cc
/* 028E49CC */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[12];
/* 028E49D0 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
/* 028E49D4 */ cpu->f[10] = cpu->f[10] * cpu->f[13];
/* 028E49D8 */ /* nop */
/* 028E49DC */ _t80 = cpu->r[1] + 0x00000013u;
/* 028E49DC */ cpu->r[9] = rbrew_read8(cpu->mem, _t80);
/* 028E49E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028E49E4 */ _t81 = cpu->r[29] + 0x00000002u;
/* 028E49E4 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[9]);
/* 028E49E8 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E49E8 */ _t83 = _t82 & 0x00000001u;
/* 028E49E8 */ if (_t83) goto L_028E4A1C; else goto L_028E49EC;
L_028E49EC: ; // 0x28e49ec
/* 028E49EC */ goto L_028E4A34;
L_028E49F0: ; // 0x28e49f0
/* 028E49F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
/* 028E49F4 */ _t84 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E49F4 */ _t85 = _t84 & 0x00000001u;
/* 028E49F4 */ if (_t85) goto L_028E49F8; else goto L_028E49FC;
L_028E49F8: ; // 0x28e49f8
/* 028E49F8 */ cpu->f[9] = cpu->f[13];
L_028E49FC: ; // 0x28e49fc
/* 028E49FC */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[9];
/* 028E4A00 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
/* 028E4A04 */ cpu->f[10] = cpu->f[10] * cpu->f[13];
/* 028E4A08 */ /* nop */
/* 028E4A0C */ _t86 = cpu->r[1] + 0x00000013u;
/* 028E4A0C */ cpu->r[9] = rbrew_read8(cpu->mem, _t86);
/* 028E4A10 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028E4A14 */ _t87 = cpu->r[29] + 0x00000002u;
/* 028E4A14 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[9]);
/* 028E4A18 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4A18 */ _t89 = _t88 & 0x00000001u;
/* 028E4A18 */ if (_t89) goto L_028E4A1C; else goto L_028E4A34;
L_028E4A1C: ; // 0x28e4a1c
/* 028E4A1C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[12];
/* 028E4A20 */ cpu->r[12] = cpu->r[1] + 0x00000010u;
/* 028E4A24 */ /* nop */
/* 028E4A28 */ _t90 = cpu->r[1] + 0x00000013u;
/* 028E4A28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t90);
/* 028E4A2C */ _t91 = cpu->r[29] + 0x00000000u;
/* 028E4A2C */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[0]);
/* 028E4A30 */ goto L_028E4A54;
L_028E4A34: ; // 0x28e4a34
/* 028E4A34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
/* 028E4A38 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4A38 */ _t93 = _t92 & 0x00000001u;
/* 028E4A38 */ if (_t93) goto L_028E4A3C; else goto L_028E4A40;
L_028E4A3C: ; // 0x28e4a3c
/* 028E4A3C */ cpu->f[10] = cpu->f[13];
L_028E4A40: ; // 0x28e4a40
/* 028E4A40 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[10];
/* 028E4A44 */ cpu->r[12] = cpu->r[1] + 0x00000010u;
/* 028E4A48 */ /* nop */
/* 028E4A4C */ _t94 = cpu->r[1] + 0x00000013u;
/* 028E4A4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t94);
/* 028E4A50 */ _t95 = cpu->r[29] + 0x00000000u;
/* 028E4A50 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[0]);
L_028E4A54: ; // 0x28e4a54
/* 028E4A54 */ /* nop */
/* 028E4A58 */ _t96 = cpu->r[1] + 0x00000070u;
/* 028E4A58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t96);
/* 028E4A5C */ _t97 = cpu->r[1] + 0x00000068u;
/* 028E4A5C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t97);
/* 028E4A60 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4A60 */ _t99 = _t98 & 0x00000001u;
/* 028E4A60 */ if (_t99) goto L_028E4A64; // else: addr-0 trap, fall-through
L_028E4A64: ; // 0x28e4a64
/* 028E4A64 */ _t100 = cpu->r[1] + 0x0000007Cu;
/* 028E4A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
/* 028E4A68 */ cpu->lr = cpu->r[0];
/* 028E4A6C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
/* 028E4A70 */ return;
}
// fn_028E4A74 @ 0x28e4a74
void Gambit_fn_028E4A74(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E4A74: ; // 0x28e4a74
/* 028E4A74 */ _t0 = cpu->r[1] + 0xFFFFFF68u;
/* 028E4A74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4A74 */ cpu->r[1] = _t0;
/* 028E4A78 */ /* nop */
/* 028E4A7C */ _t1 = cpu->r[1] + 0x00000068u;
/* 028E4A7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028E4A80 */ _t2 = cpu->r[1] + 0x00000078u;
/* 028E4A80 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028E4A84 */ _t3 = cpu->r[1] + 0x00000088u;
/* 028E4A84 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
/* 028E4A88 */ /* nop */
/* 028E4A8C */ /* nop */
/* 028E4A90 */ /* nop */
/* 028E4A94 */ _t4 = cpu->r[1] + 0x00000070u;
/* 028E4A94 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028E4A98 */ _t5 = cpu->r[1] + 0x00000080u;
/* 028E4A98 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
/* 028E4A9C */ cpu->r[0] = cpu->lr;
/* 028E4AA0 */ _t6 = cpu->r[1] + 0x00000090u;
/* 028E4AA0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
/* 028E4AA4 */ cpu->r[27] = cpu->r[3];
/* 028E4AA8 */ cpu->r[28] = cpu->r[4];
/* 028E4AAC */ _t7 = cpu->r[1] + 0x0000009Cu;
/* 028E4AAC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E4AB0 */ cpu->r[29] = cpu->r[5];
/* 028E4AB4 */ cpu->r[5] = 0x00000014u;
/* 028E4AB8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028E4ABC */ cpu->r[4] = 0x00000000u;
/* 028E4AC0 */ cpu->r[30] = cpu->r[6];
/* 028E4AC4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028E4AC8 */ _t8 = cpu->r[29] + 0x00000008u;
/* 028E4AC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028E4ACC */ _t9 = cpu->r[8] + 0x0000001Cu;
/* 028E4ACC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028E4AD0 */ cpu->ctr = cpu->r[10];
/* 028E4AD4 */ cpu->r[3] = cpu->r[29];
/* 028E4AD8 */ cpu->r[26] = 0x00000005u;
/* 028E4ADC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E4AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E4AE4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4AE4 */ _t11 = _t10 & 0x00000001u;
/* 028E4AE4 */ if (_t11) goto L_028E4AE8; else goto L_028E4AEC;
L_028E4AE8: ; // 0x28e4ae8
/* 028E4AE8 */ cpu->r[26] = 0x00000004u;
L_028E4AEC: ; // 0x28e4aec
/* 028E4AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028E4AF0 */ cpu->r[31] = cpu->r[26];
/* 028E4AF4 */ cpu->r[21] = 0x00000000u;
/* 028E4AF8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4AF8 */ _t13 = _t12 & 0x00000001u;
/* 028E4AF8 */ if (_t13) goto L_028E4B00; else goto L_028E4AFC;
L_028E4AFC: ; // 0x28e4afc
/* 028E4AFC */ cpu->r[31] = 0x00000001u;
L_028E4B00: ; // 0x28e4b00
/* 028E4B00 */ cpu->r[12] = 0x10140000u;
/* 028E4B04 */ cpu->r[11] = 0x10140000u;
/* 028E4B08 */ _t14 = cpu->r[12] + 0xFFFFB7ACu;
/* 028E4B08 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
/* 028E4B0C */ cpu->r[24] = 0xFFFFFFFFu;
/* 028E4B10 */ cpu->r[20] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E4B14 */ cpu->r[22] = cpu->r[1] + 0x00000020u;
/* 028E4B18 */ cpu->f[29] = cpu->f[30];
/* 028E4B1C */ cpu->r[23] = 0x00000000u;
/* 028E4B20 */ cpu->r[5] = cpu->r[22] + cpu->r[20];
/* 028E4B24 */ _t15 = cpu->r[11] + 0xFFFFB7B0u;
/* 028E4B24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
/* 028E4B28 */ cpu->r[25] = cpu->r[26] + 0xFFFFFFFFu;
/* 028E4B2C */ cpu->r[26] = cpu->r[5] + 0x00000004u;
L_028E4B30: ; // 0x28e4b30
/* 028E4B30 */ cpu->r[3] = cpu->r[27];
/* 028E4B34 */ cpu->r[5] = cpu->r[21];
/* 028E4B38 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E4B38 */ rbrew_write32(cpu->mem, _t16, cpu->r[23]);
/* 028E4B3C */ cpu->r[6] = cpu->r[29];
/* 028E4B40 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028E4B44 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028E4B44 */ rbrew_write32(cpu->mem, _t17, cpu->r[24]);
/* 028E4B48 */ Gambit_fn_028E4344(cpu);
/* 028E4B4C */ _t18 = cpu->r[1] + 0x00000010u;
/* 028E4B4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
/* 028E4B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
/* 028E4B54 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4B54 */ _t20 = _t19 & 0x00000001u;
/* 028E4B54 */ if (_t20) goto L_028E4C40; else goto L_028E4B58;
L_028E4B58: ; // 0x28e4b58
/* 028E4B58 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E4B58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028E4B5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
/* 028E4B60 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4B60 */ _t23 = _t22 & 0x00000001u;
/* 028E4B60 */ if (_t23) goto L_028E4C40; else goto L_028E4B64;
L_028E4B64: ; // 0x28e4b64
/* 028E4B64 */ cpu->r[9] = 0x10140000u;
/* 028E4B68 */ cpu->r[8] = cpu->r[8] - cpu->r[6];
/* 028E4B6C */ cpu->r[11] = 0x43300000u;
/* 028E4B70 */ _t24 = cpu->r[9] + 0xFFFFB7A0u;
/* 028E4B70 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t24);
/* 028E4B74 */ cpu->r[9] = cpu->r[8] + 0x00000001u;
/* 028E4B78 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E4B78 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
/* 028E4B7C */ cpu->r[0] = cpu->r[30] - cpu->r[6];
/* 028E4B80 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028E4B80 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
/* 028E4B84 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028E4B84 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t27);
/* 028E4B88 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028E4B88 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028E4B8C */ _t29 = cpu->r[1] + 0x00000008u;
/* 028E4B8C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t29);
/* 028E4B90 */ cpu->f[10] = cpu->f[9] - cpu->f[13];
/* 028E4B94 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
/* 028E4B98 */ cpu->f[0] = (double)(float)cpu->f[10];
/* 028E4B9C */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028E4B9C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[29]);
/* 028E4BA0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028E4BA4 */ cpu->f[7] = (double)(float)cpu->f[12];
/* 028E4BA8 */ cpu->f[1] = cpu->f[7] / cpu->f[0];
/* 028E4BAC */ _t31 = cpu->r[1] + 0x00000018u;
/* 028E4BAC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
/* 028E4BB0 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
/* 028E4BB4 */ cpu->r[3] = cpu->r[27];
/* 028E4BB8 */ Gambit_fn_028E445C(cpu);
/* 028E4BBC */ _t32 = cpu->r[1] + 0x00000018u;
/* 028E4BBC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t32);
/* 028E4BC0 */ _t33 = cpu->r[1] + 0x0000001Cu;
/* 028E4BC0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
/* 028E4BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[25]);
/* 028E4BC8 */ _t34 = cpu->r[22] + cpu->r[20];
/* 028E4BC8 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
/* 028E4BCC */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4BCC */ _t36 = _t35 & 0x00000001u;
/* 028E4BCC */ if (_t36) goto L_028E4BD0; else goto L_028E4C08;
L_028E4BD0: ; // 0x28e4bd0
/* 028E4BD0 */ _t37 = cpu->r[26] + 0x00000000u;
/* 028E4BD0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[9]);
/* 028E4BD4 */ cpu->r[12] = 0x10140000u;
/* 028E4BD8 */ _t38 = cpu->r[1] + 0x00000030u;
/* 028E4BD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
/* 028E4BDC */ _t39 = cpu->r[12] + 0xFFFFB7B4u;
/* 028E4BDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
/* 028E4BE0 */ _t40 = cpu->r[29] + 0x00000018u;
/* 028E4BE0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t40);
/* 028E4BE4 */ cpu->f[11] = cpu->f[13] * cpu->f[0];
/* 028E4BE8 */ _t41 = cpu->r[1] + 0x00000028u;
/* 028E4BE8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
/* 028E4BEC */ cpu->f[13] = cpu->f[10] * cpu->f[8];
/* 028E4BF0 */ _t42 = cpu->r[1] + 0x00000024u;
/* 028E4BF0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t42);
/* 028E4BF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[30]);
/* 028E4BF8 */ cpu->f[12] = cpu->f[9] * cpu->f[8];
/* 028E4BFC */ _t43 = cpu->r[1] + 0x00000020u;
/* 028E4BFC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t43);
/* 028E4C00 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4C00 */ _t45 = _t44 & 0x00000001u;
/* 028E4C00 */ if (_t45) goto L_028E4C84; else goto L_028E4C04;
L_028E4C04: ; // 0x28e4c04
/* 028E4C04 */ goto L_028E4CA8;
L_028E4C08: ; // 0x28e4c08
/* 028E4C08 */ _t46 = cpu->r[1] + 0x00000030u;
/* 028E4C08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
/* 028E4C0C */ cpu->r[12] = 0x10140000u;
/* 028E4C10 */ _t47 = cpu->r[29] + 0x00000018u;
/* 028E4C10 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t47);
/* 028E4C14 */ _t48 = cpu->r[12] + 0xFFFFB7B4u;
/* 028E4C14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
/* 028E4C18 */ _t49 = cpu->r[1] + 0x00000028u;
/* 028E4C18 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t49);
/* 028E4C1C */ cpu->f[11] = cpu->f[13] * cpu->f[0];
/* 028E4C20 */ _t50 = cpu->r[22] + 0x00000000u;
/* 028E4C20 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[9]);
/* 028E4C24 */ cpu->f[13] = cpu->f[10] * cpu->f[8];
/* 028E4C28 */ _t51 = cpu->r[1] + 0x00000024u;
/* 028E4C28 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t51);
/* 028E4C2C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[30]);
/* 028E4C30 */ cpu->f[12] = cpu->f[9] * cpu->f[8];
/* 028E4C34 */ _t52 = cpu->r[1] + 0x00000020u;
/* 028E4C34 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t52);
/* 028E4C38 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4C38 */ _t54 = _t53 & 0x00000001u;
/* 028E4C38 */ if (_t54) goto L_028E4C84; else goto L_028E4C3C;
L_028E4C3C: ; // 0x28e4c3c
/* 028E4C3C */ goto L_028E4CA8;
L_028E4C40: ; // 0x28e4c40
/* 028E4C40 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
/* 028E4C44 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028E4C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E4C48 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
/* 028E4C4C */ cpu->r[26] = cpu->r[26] + 0x00000004u;
/* 028E4C50 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4C50 */ _t56 = _t55 & 0x00000001u;
/* 028E4C50 */ if (_t56) goto L_028E4C54; else goto L_028E4B30;
L_028E4C54: ; // 0x28e4c54
/* 028E4C54 */ cpu->r[12] = 0x10140000u;
/* 028E4C58 */ _t57 = cpu->r[1] + 0x00000030u;
/* 028E4C58 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
/* 028E4C5C */ _t58 = cpu->r[12] + 0xFFFFB7B4u;
/* 028E4C5C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t58);
/* 028E4C60 */ _t59 = cpu->r[29] + 0x00000018u;
/* 028E4C60 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t59);
/* 028E4C64 */ cpu->f[11] = cpu->f[13] * cpu->f[0];
/* 028E4C68 */ _t60 = cpu->r[1] + 0x00000028u;
/* 028E4C68 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t60);
/* 028E4C6C */ cpu->f[13] = cpu->f[10] * cpu->f[8];
/* 028E4C70 */ _t61 = cpu->r[1] + 0x00000024u;
/* 028E4C70 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t61);
/* 028E4C74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[30]);
/* 028E4C78 */ cpu->f[12] = cpu->f[9] * cpu->f[8];
/* 028E4C7C */ _t62 = cpu->r[1] + 0x00000020u;
/* 028E4C7C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t62);
/* 028E4C80 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4C80 */ _t64 = _t63 & 0x00000001u;
/* 028E4C80 */ if (_t64) goto L_028E4C84; else goto L_028E4CA8;
L_028E4C84: ; // 0x28e4c84
/* 028E4C84 */ cpu->f[8] = (uint32_t)(int32_t)cpu->f[30];
/* 028E4C88 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028E4C8C */ cpu->f[11] = cpu->f[9] * cpu->f[0];
/* 028E4C90 */ /* nop */
/* 028E4C94 */ _t65 = cpu->r[1] + 0x0000000Bu;
/* 028E4C94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65);
/* 028E4C98 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[30]);
/* 028E4C9C */ _t66 = cpu->r[28] + 0x00000004u;
/* 028E4C9C */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[0]);
/* 028E4CA0 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4CA0 */ _t68 = _t67 & 0x00000001u;
/* 028E4CA0 */ if (_t68) goto L_028E4CD4; else goto L_028E4CA4;
L_028E4CA4: ; // 0x28e4ca4
/* 028E4CA4 */ goto L_028E4CF8;
L_028E4CA8: ; // 0x28e4ca8
/* 028E4CA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028E4CAC */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4CAC */ _t70 = _t69 & 0x00000001u;
/* 028E4CAC */ if (_t70) goto L_028E4CB0; else goto L_028E4CB4;
L_028E4CB0: ; // 0x28e4cb0
/* 028E4CB0 */ cpu->f[11] = cpu->f[0];
L_028E4CB4: ; // 0x28e4cb4
/* 028E4CB4 */ cpu->f[8] = (uint32_t)(int32_t)cpu->f[11];
/* 028E4CB8 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028E4CBC */ cpu->f[11] = cpu->f[9] * cpu->f[0];
/* 028E4CC0 */ /* nop */
/* 028E4CC4 */ _t71 = cpu->r[1] + 0x0000000Bu;
/* 028E4CC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t71);
/* 028E4CC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[30]);
/* 028E4CCC */ _t72 = cpu->r[28] + 0x00000004u;
/* 028E4CCC */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[0]);
/* 028E4CD0 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4CD0 */ _t74 = _t73 & 0x00000001u;
/* 028E4CD0 */ if (_t74) goto L_028E4CD4; else goto L_028E4CF8;
L_028E4CD4: ; // 0x28e4cd4
/* 028E4CD4 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[30];
/* 028E4CD8 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028E4CDC */ cpu->f[8] = cpu->f[12] * cpu->f[0];
/* 028E4CE0 */ /* nop */
/* 028E4CE4 */ _t75 = cpu->r[1] + 0x0000000Bu;
/* 028E4CE4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t75);
/* 028E4CE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[30]);
/* 028E4CEC */ _t76 = cpu->r[28] + 0x00000001u;
/* 028E4CEC */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[6]);
/* 028E4CF0 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4CF0 */ _t78 = _t77 & 0x00000001u;
/* 028E4CF0 */ if (_t78) goto L_028E4D24; else goto L_028E4CF4;
L_028E4CF4: ; // 0x28e4cf4
/* 028E4CF4 */ goto L_028E4D4C;
L_028E4CF8: ; // 0x28e4cf8
/* 028E4CF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028E4CFC */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4CFC */ _t80 = _t79 & 0x00000001u;
/* 028E4CFC */ if (_t80) goto L_028E4D00; else goto L_028E4D04;
L_028E4D00: ; // 0x28e4d00
/* 028E4D00 */ cpu->f[11] = cpu->f[0];
L_028E4D04: ; // 0x28e4d04
/* 028E4D04 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[11];
/* 028E4D08 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028E4D0C */ cpu->f[8] = cpu->f[12] * cpu->f[0];
/* 028E4D10 */ /* nop */
/* 028E4D14 */ _t81 = cpu->r[1] + 0x0000000Bu;
/* 028E4D14 */ cpu->r[6] = rbrew_read8(cpu->mem, _t81);
/* 028E4D18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[30]);
/* 028E4D1C */ _t82 = cpu->r[28] + 0x00000001u;
/* 028E4D1C */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[6]);
/* 028E4D20 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4D20 */ _t84 = _t83 & 0x00000001u;
/* 028E4D20 */ if (_t84) goto L_028E4D24; else goto L_028E4D4C;
L_028E4D24: ; // 0x28e4d24
/* 028E4D24 */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[30];
/* 028E4D28 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028E4D2C */ cpu->f[8] = cpu->f[13] * cpu->f[0];
/* 028E4D30 */ /* nop */
/* 028E4D34 */ _t85 = cpu->r[1] + 0x0000000Bu;
/* 028E4D34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t85);
/* 028E4D38 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[30]);
/* 028E4D3C */ _t86 = cpu->r[28] + 0x00000003u;
/* 028E4D3C */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[0]);
/* 028E4D40 */ _t87 = cpu->r[1] + 0x0000002Cu;
/* 028E4D40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t87);
/* 028E4D44 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4D44 */ _t89 = _t88 & 0x00000001u;
/* 028E4D44 */ if (_t89) goto L_028E4D7C; else goto L_028E4D48;
L_028E4D48: ; // 0x28e4d48
/* 028E4D48 */ goto L_028E4DA0;
L_028E4D4C: ; // 0x28e4d4c
/* 028E4D4C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
/* 028E4D50 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4D50 */ _t91 = _t90 & 0x00000001u;
/* 028E4D50 */ if (_t91) goto L_028E4D54; else goto L_028E4D58;
L_028E4D54: ; // 0x28e4d54
/* 028E4D54 */ cpu->f[8] = cpu->f[0];
L_028E4D58: ; // 0x28e4d58
/* 028E4D58 */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[8];
/* 028E4D5C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028E4D60 */ cpu->f[8] = cpu->f[13] * cpu->f[0];
/* 028E4D64 */ /* nop */
/* 028E4D68 */ _t92 = cpu->r[1] + 0x0000000Bu;
/* 028E4D68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t92);
/* 028E4D6C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[30]);
/* 028E4D70 */ _t93 = cpu->r[28] + 0x00000003u;
/* 028E4D70 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[0]);
/* 028E4D74 */ _t94 = cpu->r[1] + 0x0000002Cu;
/* 028E4D74 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t94);
/* 028E4D78 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4D78 */ _t96 = _t95 & 0x00000001u;
/* 028E4D78 */ if (_t96) goto L_028E4D7C; else goto L_028E4DA0;
L_028E4D7C: ; // 0x28e4d7c
/* 028E4D7C */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[30];
/* 028E4D80 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028E4D84 */ cpu->f[10] = cpu->f[13] * cpu->f[0];
/* 028E4D88 */ /* nop */
/* 028E4D8C */ _t97 = cpu->r[1] + 0x0000000Bu;
/* 028E4D8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
/* 028E4D90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[30]);
/* 028E4D94 */ _t98 = cpu->r[28] + 0x00000002u;
/* 028E4D94 */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[0]);
/* 028E4D98 */ _t99 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4D98 */ _t100 = _t99 & 0x00000001u;
/* 028E4D98 */ if (_t100) goto L_028E4DCC; else goto L_028E4D9C;
L_028E4D9C: ; // 0x28e4d9c
/* 028E4D9C */ goto L_028E4DE4;
L_028E4DA0: ; // 0x28e4da0
/* 028E4DA0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
/* 028E4DA4 */ _t101 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4DA4 */ _t102 = _t101 & 0x00000001u;
/* 028E4DA4 */ if (_t102) goto L_028E4DA8; else goto L_028E4DAC;
L_028E4DA8: ; // 0x28e4da8
/* 028E4DA8 */ cpu->f[8] = cpu->f[0];
L_028E4DAC: ; // 0x28e4dac
/* 028E4DAC */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[8];
/* 028E4DB0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028E4DB4 */ cpu->f[10] = cpu->f[13] * cpu->f[0];
/* 028E4DB8 */ /* nop */
/* 028E4DBC */ _t103 = cpu->r[1] + 0x0000000Bu;
/* 028E4DBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t103);
/* 028E4DC0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[30]);
/* 028E4DC4 */ _t104 = cpu->r[28] + 0x00000002u;
/* 028E4DC4 */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[0]);
/* 028E4DC8 */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4DC8 */ _t106 = _t105 & 0x00000001u;
/* 028E4DC8 */ if (_t106) goto L_028E4DCC; else goto L_028E4DE4;
L_028E4DCC: ; // 0x28e4dcc
/* 028E4DCC */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[30];
/* 028E4DD0 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028E4DD4 */ /* nop */
/* 028E4DD8 */ _t107 = cpu->r[1] + 0x0000000Bu;
/* 028E4DD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t107);
/* 028E4DDC */ _t108 = cpu->r[28] + 0x00000000u;
/* 028E4DDC */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[0]);
/* 028E4DE0 */ goto L_028E4E04;
L_028E4DE4: ; // 0x28e4de4
/* 028E4DE4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 028E4DE8 */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4DE8 */ _t110 = _t109 & 0x00000001u;
/* 028E4DE8 */ if (_t110) goto L_028E4DEC; else goto L_028E4DF0;
L_028E4DEC: ; // 0x28e4dec
/* 028E4DEC */ cpu->f[10] = cpu->f[0];
L_028E4DF0: ; // 0x28e4df0
/* 028E4DF0 */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[10];
/* 028E4DF4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028E4DF8 */ /* nop */
/* 028E4DFC */ _t111 = cpu->r[1] + 0x0000000Bu;
/* 028E4DFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t111);
/* 028E4E00 */ _t112 = cpu->r[28] + 0x00000000u;
/* 028E4E00 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[0]);
L_028E4E04: ; // 0x28e4e04
/* 028E4E04 */ /* nop */
/* 028E4E08 */ _t113 = cpu->r[1] + 0x00000070u;
/* 028E4E08 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t113);
/* 028E4E0C */ _t114 = cpu->r[1] + 0x00000080u;
/* 028E4E0C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t114);
/* 028E4E10 */ _t115 = cpu->r[1] + 0x00000068u;
/* 028E4E10 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t115);
/* 028E4E14 */ _t116 = cpu->r[1] + 0x00000090u;
/* 028E4E14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t116);
/* 028E4E18 */ _t117 = cpu->r[1] + 0x00000078u;
/* 028E4E18 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t117);
/* 028E4E1C */ _t118 = cpu->r[1] + 0x00000088u;
/* 028E4E1C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t118);
/* 028E4E20 */ _t119 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4E20 */ _t120 = _t119 & 0x00000001u;
/* 028E4E20 */ if (_t120) goto L_028E4E24; // else: addr-0 trap, fall-through
L_028E4E24: ; // 0x28e4e24
/* 028E4E24 */ _t121 = cpu->r[1] + 0x0000009Cu;
/* 028E4E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
/* 028E4E28 */ cpu->lr = cpu->r[0];
/* 028E4E2C */ cpu->r[1] = cpu->r[1] + 0x00000098u;
/* 028E4E30 */ return;
}
// fn_028E4E34 @ 0x28e4e34
void Gambit_fn_028E4E34(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E4E34: ; // 0x28e4e34
/* 028E4E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028E4E38 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4E38 */ _t1 = _t0 & 0x00000001u;
/* 028E4E38 */ if (_t1) goto L_028E4E3C; else goto L_028E4E54;
L_028E4E3C: ; // 0x28e4e3c
/* 028E4E3C */ cpu->r[0] = 0x7FFF0000u;
/* 028E4E40 */ cpu->r[11] = 0x00000000u;
/* 028E4E44 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
/* 028E4E48 */ _t2 = cpu->r[4] + 0x00000000u;
/* 028E4E48 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
/* 028E4E4C */ _t3 = cpu->r[4] + 0x00000004u;
/* 028E4E4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E4E50 */ return;
L_028E4E54: ; // 0x28e4e54
/* 028E4E54 */ cpu->r[12] = 0x80000000u;
/* 028E4E58 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028E4E5C */ _t4 = cpu->r[4] + 0x00000000u;
/* 028E4E5C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
/* 028E4E60 */ _t5 = cpu->r[4] + 0x00000004u;
/* 028E4E60 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E4E64 */ return;
}
// fn_028E4E68 @ 0x28e4e68
void Gambit_fn_028E4E68(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E4E68: ; // 0x28e4e68
/* 028E4E68 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
/* 028E4E68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E4E68 */ cpu->r[1] = _t0;
/* 028E4E6C */ /* nop */
/* 028E4E70 */ cpu->r[0] = cpu->lr;
/* 028E4E74 */ cpu->r[31] = cpu->r[4];
/* 028E4E78 */ cpu->r[30] = 0x00000000u;
/* 028E4E7C */ cpu->r[28] = cpu->r[3];
/* 028E4E80 */ _t1 = cpu->r[1] + 0x00000058u;
/* 028E4E80 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E4E84 */ /* nop */
/* 028E4E88 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
/* 028E4E8C */ _t2 = cpu->r[1] + 0x00000060u;
/* 028E4E8C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028E4E90 */ cpu->r[4] = cpu->r[30];
/* 028E4E94 */ _t3 = cpu->r[1] + 0x0000006Cu;
/* 028E4E94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E4E98 */ cpu->r[29] = cpu->r[5];
/* 028E4E9C */ cpu->r[5] = 0x00000014u;
/* 028E4EA0 */ cpu->f[31] = cpu->f[1];
/* 028E4EA4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028E4EA8 */ cpu->r[12] = 0x10140000u;
/* 028E4EAC */ _t4 = cpu->r[12] + 0xFFFFB79Cu;
/* 028E4EAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028E4EB0 */ cpu->f[13] = cpu->f[0] * cpu->f[31];
/* 028E4EB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028E4EB8 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4EB8 */ _t6 = _t5 & 0x00000001u;
/* 028E4EB8 */ if (_t6) goto L_028E4EBC; else goto L_028E4ED8;
L_028E4EBC: ; // 0x28e4ebc
/* 028E4EBC */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[13];
/* 028E4EC0 */ cpu->r[10] = cpu->r[1] + 0x00000020u;
/* 028E4EC4 */ /* nop */
/* 028E4EC8 */ _t7 = cpu->r[1] + 0x00000020u;
/* 028E4EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E4ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4ED0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4ED0 */ _t9 = _t8 & 0x00000001u;
/* 028E4ED0 */ if (_t9) goto L_028E4EF8; else goto L_028E4ED4;
L_028E4ED4: ; // 0x28e4ed4
/* 028E4ED4 */ goto L_028E4EFC;
L_028E4ED8: ; // 0x28e4ed8
/* 028E4ED8 */ cpu->f[6] = cpu->f[13] - cpu->f[0];
/* 028E4EDC */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[6];
/* 028E4EE0 */ cpu->r[9] = cpu->r[1] + 0x00000020u;
/* 028E4EE4 */ /* nop */
/* 028E4EE8 */ _t10 = cpu->r[1] + 0x00000020u;
/* 028E4EE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
/* 028E4EEC */ cpu->r[0] = cpu->r[6] + 0x80000000u;
/* 028E4EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E4EF4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4EF4 */ _t12 = _t11 & 0x00000001u;
/* 028E4EF4 */ if (_t12) goto L_028E4EF8; else goto L_028E4EFC;
L_028E4EF8: ; // 0x28e4ef8
/* 028E4EF8 */ cpu->r[0] = 0x00000001u;
L_028E4EFC: ; // 0x28e4efc
/* 028E4EFC */ cpu->r[8] = 0x10140000u;
/* 028E4F00 */ _t13 = cpu->r[1] + 0x00000024u;
/* 028E4F00 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028E4F04 */ _t14 = cpu->r[8] + 0xFFFFB7A0u;
/* 028E4F04 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t14);
/* 028E4F08 */ cpu->r[8] = 0x43300000u;
/* 028E4F0C */ _t15 = cpu->r[1] + 0x00000020u;
/* 028E4F0C */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
/* 028E4F10 */ _t16 = cpu->r[1] + 0x00000020u;
/* 028E4F10 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
/* 028E4F14 */ cpu->r[6] = 0x028E0000u;
/* 028E4F18 */ cpu->r[12] = cpu->r[29] + cpu->r[0];
/* 028E4F1C */ cpu->f[6] = cpu->f[0] - cpu->f[11];
/* 028E4F20 */ cpu->r[6] = cpu->r[6] + 0x000059ACu;
/* 028E4F24 */ cpu->r[27] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E4F28 */ cpu->f[10] = (double)(float)cpu->f[6];
/* 028E4F2C */ cpu->r[29] = cpu->r[29] - cpu->r[0];
/* 028E4F30 */ cpu->r[5] = 0x00000008u;
/* 028E4F34 */ cpu->r[4] = 0x00000002u;
/* 028E4F38 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E4F3C */ cpu->f[31] = cpu->f[10] + cpu->f[10];
/* 028E4F40 */ Gambit_fn_02C82E00(cpu);
/* 028E4F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
/* 028E4F48 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028E4F48 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
/* 028E4F4C */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E4F4C */ _t19 = _t18 & 0x00000001u;
/* 028E4F4C */ if (_t19) goto L_028E4F5C; else goto L_028E4F50;
L_028E4F50: ; // 0x28e4f50
/* 028E4F50 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028E4F50 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
/* 028E4F54 */ cpu->r[29] = 0x00000000u;
/* 028E4F58 */ goto L_028E4F7C;
L_028E4F5C: ; // 0x28e4f5c
/* 028E4F5C */ _t21 = cpu->r[1] + 0x00000010u;
/* 028E4F5C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E4F60 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028E4F64 */ _t22 = cpu->r[1] + 0x00000018u;
/* 028E4F64 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
/* 028E4F68 */ _t23 = cpu->r[1] + 0x0000001Cu;
/* 028E4F68 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028E4F6C */ cpu->r[29] = 0x00000000u;
/* 028E4F70 */ goto L_028E4F7C;
L_028E4F74: ; // 0x28e4f74
/* 028E4F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E4F78 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4F78 */ _t25 = _t24 & 0x00000001u;
/* 028E4F78 */ if (_t25) goto L_028E4F7C; else goto L_028E4F90;
L_028E4F7C: ; // 0x28e4f7c
/* 028E4F7C */ cpu->r[10] = 0x00000000u;
/* 028E4F80 */ cpu->r[27] = 0xFFFFFFFFu;
/* 028E4F84 */ cpu->r[25] = cpu->r[1] + 0x00000028u;
/* 028E4F88 */ cpu->r[26] = cpu->r[10];
/* 028E4F8C */ goto L_028E4F94;
L_028E4F90: ; // 0x28e4f90
/* 028E4F90 */ cpu->r[10] = 0x00000003u;
L_028E4F94: ; // 0x28e4f94
/* 028E4F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E4F98 */ cpu->r[6] = 0x00000000u;
/* 028E4F9C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E4F9C */ _t27 = _t26 & 0x00000001u;
/* 028E4F9C */ if (_t27) goto L_028E4FA0; else goto L_028E4FA4;
L_028E4FA0: ; // 0x28e4fa0
/* 028E4FA0 */ cpu->r[6] = 0x00000003u;
L_028E4FA4: ; // 0x28e4fa4
/* 028E4FA4 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028E4FA4 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
/* 028E4FA8 */ cpu->r[3] = cpu->r[28];
/* 028E4FAC */ cpu->r[5] = cpu->r[29];
/* 028E4FB0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E4FB4 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028E4FB4 */ rbrew_write32(cpu->mem, _t29, cpu->r[26]);
/* 028E4FB8 */ Gambit_fn_028E4E34(cpu);
/* 028E4FBC */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E4FC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E4FC4 */ cpu->f[1] = cpu->f[31];
/* 028E4FC8 */ cpu->r[4] = cpu->r[25] + cpu->r[5];
/* 028E4FCC */ cpu->r[7] = cpu->r[1] + 0x00000010u;
/* 028E4FD0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028E4FD4 */ cpu->r[5] = cpu->r[25] + cpu->r[0];
/* 028E4FD8 */ Gambit_fn_028E4568(cpu);
/* 028E4FDC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E4FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u);
/* 028E4FE4 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E4FE4 */ _t31 = _t30 & 0x00000001u;
/* 028E4FE4 */ if (_t31) goto L_028E4F74; else goto L_028E4FE8;
L_028E4FE8: ; // 0x28e4fe8
/* 028E4FE8 */ cpu->r[9] = 0x10140000u;
/* 028E4FEC */ _t32 = cpu->r[1] + 0x00000028u;
/* 028E4FEC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t32);
/* 028E4FF0 */ _t33 = cpu->r[9] + 0xFFFFB7B4u;
/* 028E4FF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
/* 028E4FF4 */ cpu->r[7] = 0x10140000u;
/* 028E4FF8 */ cpu->f[8] = cpu->f[7] * cpu->f[12];
/* 028E4FFC */ _t34 = cpu->r[7] + 0xFFFFB7ACu;
/* 028E4FFC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
/* 028E5000 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
/* 028E5004 */ _t35 = cpu->r[1] + 0x00000034u;
/* 028E5004 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
/* 028E5008 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5008 */ _t37 = _t36 & 0x00000001u;
/* 028E5008 */ if (_t37) goto L_028E500C; else goto L_028E5030;
L_028E500C: ; // 0x28e500c
/* 028E500C */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[13];
/* 028E5010 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
/* 028E5014 */ cpu->f[8] = cpu->f[11] * cpu->f[12];
/* 028E5018 */ /* nop */
/* 028E501C */ _t38 = cpu->r[1] + 0x00000023u;
/* 028E501C */ cpu->r[11] = rbrew_read8(cpu->mem, _t38);
/* 028E5020 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
/* 028E5024 */ _t39 = cpu->r[31] + 0x00000001u;
/* 028E5024 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[11]);
/* 028E5028 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5028 */ _t41 = _t40 & 0x00000001u;
/* 028E5028 */ if (_t41) goto L_028E505C; else goto L_028E502C;
L_028E502C: ; // 0x28e502c
/* 028E502C */ goto L_028E5080;
L_028E5030: ; // 0x28e5030
/* 028E5030 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
/* 028E5034 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5034 */ _t43 = _t42 & 0x00000001u;
/* 028E5034 */ if (_t43) goto L_028E5038; else goto L_028E503C;
L_028E5038: ; // 0x28e5038
/* 028E5038 */ cpu->f[8] = cpu->f[12];
L_028E503C: ; // 0x28e503c
/* 028E503C */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[8];
/* 028E5040 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
/* 028E5044 */ cpu->f[8] = cpu->f[11] * cpu->f[12];
/* 028E5048 */ /* nop */
/* 028E504C */ _t44 = cpu->r[1] + 0x00000023u;
/* 028E504C */ cpu->r[11] = rbrew_read8(cpu->mem, _t44);
/* 028E5050 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
/* 028E5054 */ _t45 = cpu->r[31] + 0x00000001u;
/* 028E5054 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[11]);
/* 028E5058 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5058 */ _t47 = _t46 & 0x00000001u;
/* 028E5058 */ if (_t47) goto L_028E505C; else goto L_028E5080;
L_028E505C: ; // 0x28e505c
/* 028E505C */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[13];
/* 028E5060 */ _t48 = cpu->r[31] + 0x00000004u;
/* 028E5060 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[30]);
/* 028E5064 */ cpu->r[0] = cpu->r[1] + 0x00000020u;
/* 028E5068 */ _t49 = cpu->r[31] + 0x00000003u;
/* 028E5068 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[30]);
/* 028E506C */ /* nop */
/* 028E5070 */ _t50 = cpu->r[1] + 0x00000023u;
/* 028E5070 */ cpu->r[4] = rbrew_read8(cpu->mem, _t50);
/* 028E5074 */ _t51 = cpu->r[31] + 0x00000002u;
/* 028E5074 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[30]);
/* 028E5078 */ _t52 = cpu->r[31] + 0x00000000u;
/* 028E5078 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[4]);
/* 028E507C */ goto L_028E50AC;
L_028E5080: ; // 0x28e5080
/* 028E5080 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
/* 028E5084 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5084 */ _t54 = _t53 & 0x00000001u;
/* 028E5084 */ if (_t54) goto L_028E5088; else goto L_028E508C;
L_028E5088: ; // 0x28e5088
/* 028E5088 */ cpu->f[8] = cpu->f[12];
L_028E508C: ; // 0x28e508c
/* 028E508C */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[8];
/* 028E5090 */ _t55 = cpu->r[31] + 0x00000004u;
/* 028E5090 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[30]);
/* 028E5094 */ cpu->r[0] = cpu->r[1] + 0x00000020u;
/* 028E5098 */ _t56 = cpu->r[31] + 0x00000003u;
/* 028E5098 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[30]);
/* 028E509C */ /* nop */
/* 028E50A0 */ _t57 = cpu->r[1] + 0x00000023u;
/* 028E50A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t57);
/* 028E50A4 */ _t58 = cpu->r[31] + 0x00000002u;
/* 028E50A4 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[30]);
/* 028E50A8 */ _t59 = cpu->r[31] + 0x00000000u;
/* 028E50A8 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[4]);
L_028E50AC: ; // 0x28e50ac
/* 028E50AC */ /* nop */
/* 028E50B0 */ _t60 = cpu->r[1] + 0x00000060u;
/* 028E50B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t60);
/* 028E50B4 */ _t61 = cpu->r[1] + 0x00000058u;
/* 028E50B4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
/* 028E50B8 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E50B8 */ _t63 = _t62 & 0x00000001u;
/* 028E50B8 */ if (_t63) goto L_028E50BC; // else: addr-0 trap, fall-through
L_028E50BC: ; // 0x28e50bc
/* 028E50BC */ _t64 = cpu->r[1] + 0x0000006Cu;
/* 028E50BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
/* 028E50C0 */ cpu->lr = cpu->r[0];
/* 028E50C4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
/* 028E50C8 */ return;
}
// fn_028E50CC @ 0x28e50cc
void Gambit_fn_028E50CC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
L_028E50CC: ; // 0x28e50cc
/* 028E50CC */ cpu->r[0] = cpu->lr;
/* 028E50D0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028E50D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E50D0 */ cpu->r[1] = _t0;
/* 028E50D4 */ _t1 = cpu->r[1] + 0x00000038u;
/* 028E50D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028E50D8 */ _t2 = cpu->r[1] + 0x0000003Cu;
/* 028E50D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E50DC */ _t3 = cpu->r[1] + 0x00000040u;
/* 028E50DC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E50E0 */ cpu->r[30] = cpu->r[4];
/* 028E50E4 */ _t4 = cpu->r[1] + 0x00000044u;
/* 028E50E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E50E8 */ cpu->r[31] = cpu->r[5];
/* 028E50EC */ cpu->r[5] = 0x00000014u;
/* 028E50F0 */ cpu->r[4] = 0x00000000u;
/* 028E50F4 */ _t5 = cpu->r[1] + 0x0000004Cu;
/* 028E50F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E50F8 */ cpu->r[29] = cpu->r[3];
/* 028E50FC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028E5100 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028E5104 */ cpu->r[4] = 0x10140000u;
/* 028E5108 */ cpu->r[10] = 0x10140000u;
/* 028E510C */ _t6 = cpu->r[4] + 0xFFFFB7ACu;
/* 028E510C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
/* 028E5110 */ _t7 = cpu->r[10] + 0xFFFFB7B0u;
/* 028E5110 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E5114 */ cpu->r[5] = 0x00000000u;
/* 028E5118 */ cpu->f[8] = cpu->f[10];
/* 028E511C */ goto L_028E5128;
L_028E5120: ; // 0x28e5120
/* 028E5120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028E5124 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5124 */ _t9 = _t8 & 0x00000001u;
/* 028E5124 */ if (_t9) goto L_028E5128; else goto L_028E5144;
L_028E5128: ; // 0x28e5128
/* 028E5128 */ cpu->f[6] = cpu->f[8];
/* 028E512C */ cpu->r[28] = cpu->r[1] + 0x00000020u;
/* 028E5130 */ cpu->r[7] = 0x00000000u;
/* 028E5134 */ cpu->f[7] = cpu->f[0];
/* 028E5138 */ cpu->r[6] = 0xFFFFFFFFu;
/* 028E513C */ cpu->r[9] = cpu->r[7];
/* 028E5140 */ goto L_028E5148;
L_028E5144: ; // 0x28e5144
/* 028E5144 */ cpu->r[7] = 0x00000003u;
L_028E5148: ; // 0x28e5148
/* 028E5148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028E514C */ cpu->r[8] = 0x00000000u;
/* 028E5150 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5150 */ _t11 = _t10 & 0x00000001u;
/* 028E5150 */ if (_t11) goto L_028E5154; else goto L_028E5158;
L_028E5154: ; // 0x28e5154
/* 028E5154 */ cpu->r[8] = 0x00000003u;
L_028E5158: ; // 0x28e5158
/* 028E5158 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028E5158 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
/* 028E515C */ cpu->r[3] = cpu->r[29];
/* 028E5160 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028E5164 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E5164 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
/* 028E5168 */ Gambit_fn_028E4E34(cpu);
/* 028E516C */ _t14 = cpu->r[1] + 0x00000010u;
/* 028E516C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028E5170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028E5174 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5174 */ _t16 = _t15 & 0x00000001u;
/* 028E5174 */ if (_t16) goto L_028E5214; else goto L_028E5178;
L_028E5178: ; // 0x28e5178
/* 028E5178 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028E5178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E517C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028E5180 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5180 */ _t19 = _t18 & 0x00000001u;
/* 028E5180 */ if (_t19) goto L_028E5214; else goto L_028E5184;
L_028E5184: ; // 0x28e5184
/* 028E5184 */ cpu->r[6] = cpu->r[0] - cpu->r[10];
/* 028E5188 */ cpu->r[9] = 0x10140000u;
/* 028E518C */ cpu->r[11] = cpu->r[6] + 0x00000001u;
/* 028E5190 */ _t20 = cpu->r[9] + 0xFFFFB7A0u;
/* 028E5190 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t20);
/* 028E5194 */ cpu->r[4] = 0x43300000u;
/* 028E5198 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028E5198 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
/* 028E519C */ cpu->r[0] = cpu->r[31] - cpu->r[10];
/* 028E51A0 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028E51A0 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
/* 028E51A4 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E51A4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
/* 028E51A8 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E51A8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028E51AC */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E51AC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t25);
/* 028E51B0 */ cpu->f[13] = cpu->f[12] - cpu->f[8];
/* 028E51B4 */ cpu->f[0] = cpu->f[11] - cpu->f[8];
/* 028E51B8 */ cpu->f[9] = (double)(float)cpu->f[13];
/* 028E51BC */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028E51BC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[6]);
/* 028E51C0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028E51C4 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028E51C8 */ cpu->f[1] = cpu->f[0] / cpu->f[9];
/* 028E51CC */ cpu->r[3] = cpu->r[29];
/* 028E51D0 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
/* 028E51D4 */ _t27 = cpu->r[1] + 0x00000018u;
/* 028E51D4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[7]);
/* 028E51D8 */ Gambit_fn_028E445C(cpu);
/* 028E51DC */ _t28 = cpu->r[1] + 0x00000018u;
/* 028E51DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
/* 028E51E0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E51E4 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028E51E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
/* 028E51E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E51EC */ _t30 = cpu->r[11] + cpu->r[28];
/* 028E51EC */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
/* 028E51F0 */ cpu->r[5] = 0x10140000u;
/* 028E51F4 */ _t31 = cpu->r[12] + cpu->r[28];
/* 028E51F4 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
/* 028E51F8 */ _t32 = cpu->r[1] + 0x00000020u;
/* 028E51F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
/* 028E51FC */ _t33 = cpu->r[5] + 0xFFFFB7B4u;
/* 028E51FC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
/* 028E5200 */ cpu->f[0] = cpu->f[13] * cpu->f[9];
/* 028E5204 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[10]);
/* 028E5208 */ _t34 = cpu->r[1] + 0x0000002Cu;
/* 028E5208 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t34);
/* 028E520C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E520C */ _t36 = _t35 & 0x00000001u;
/* 028E520C */ if (_t36) goto L_028E523C; else goto L_028E5210;
L_028E5210: ; // 0x28e5210
/* 028E5210 */ goto L_028E5260;
L_028E5214: ; // 0x28e5214
/* 028E5214 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028E5218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
/* 028E521C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E521C */ _t38 = _t37 & 0x00000001u;
/* 028E521C */ if (_t38) goto L_028E5120; else goto L_028E5220;
L_028E5220: ; // 0x28e5220
/* 028E5220 */ cpu->r[5] = 0x10140000u;
/* 028E5224 */ _t39 = cpu->r[1] + 0x00000020u;
/* 028E5224 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
/* 028E5228 */ _t40 = cpu->r[5] + 0xFFFFB7B4u;
/* 028E5228 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
/* 028E522C */ cpu->f[0] = cpu->f[13] * cpu->f[9];
/* 028E5230 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[10]);
/* 028E5234 */ _t41 = cpu->r[1] + 0x0000002Cu;
/* 028E5234 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t41);
/* 028E5238 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5238 */ _t43 = _t42 & 0x00000001u;
/* 028E5238 */ if (_t43) goto L_028E523C; else goto L_028E5260;
L_028E523C: ; // 0x28e523c
/* 028E523C */ cpu->f[6] = (uint32_t)(int32_t)cpu->f[10];
/* 028E5240 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028E5244 */ cpu->f[8] = cpu->f[7] * cpu->f[9];
/* 028E5248 */ /* nop */
/* 028E524C */ _t44 = cpu->r[1] + 0x0000000Bu;
/* 028E524C */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
/* 028E5250 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[10]);
/* 028E5254 */ _t45 = cpu->r[30] + 0x00000001u;
/* 028E5254 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
/* 028E5258 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5258 */ _t47 = _t46 & 0x00000001u;
/* 028E5258 */ if (_t47) goto L_028E528C; else goto L_028E525C;
L_028E525C: ; // 0x28e525c
/* 028E525C */ goto L_028E52B4;
L_028E5260: ; // 0x28e5260
/* 028E5260 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[9]);
/* 028E5264 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5264 */ _t49 = _t48 & 0x00000001u;
/* 028E5264 */ if (_t49) goto L_028E5268; else goto L_028E526C;
L_028E5268: ; // 0x28e5268
/* 028E5268 */ cpu->f[0] = cpu->f[9];
L_028E526C: ; // 0x28e526c
/* 028E526C */ cpu->f[6] = (uint32_t)(int32_t)cpu->f[0];
/* 028E5270 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028E5274 */ cpu->f[8] = cpu->f[7] * cpu->f[9];
/* 028E5278 */ /* nop */
/* 028E527C */ _t50 = cpu->r[1] + 0x0000000Bu;
/* 028E527C */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
/* 028E5280 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[10]);
/* 028E5284 */ _t51 = cpu->r[30] + 0x00000001u;
/* 028E5284 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
/* 028E5288 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5288 */ _t53 = _t52 & 0x00000001u;
/* 028E5288 */ if (_t53) goto L_028E528C; else goto L_028E52B4;
L_028E528C: ; // 0x28e528c
/* 028E528C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
/* 028E5290 */ cpu->r[8] = 0x00000000u;
/* 028E5294 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028E5298 */ _t54 = cpu->r[30] + 0x00000004u;
/* 028E5298 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[8]);
/* 028E529C */ /* nop */
/* 028E52A0 */ _t55 = cpu->r[1] + 0x0000000Bu;
/* 028E52A0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t55);
/* 028E52A4 */ _t56 = cpu->r[30] + 0x00000003u;
/* 028E52A4 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[8]);
/* 028E52A8 */ _t57 = cpu->r[30] + 0x00000002u;
/* 028E52A8 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[8]);
/* 028E52AC */ _t58 = cpu->r[30] + 0x00000000u;
/* 028E52AC */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[5]);
/* 028E52B0 */ goto L_028E52E4;
L_028E52B4: ; // 0x28e52b4
/* 028E52B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
/* 028E52B8 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E52B8 */ _t60 = _t59 & 0x00000001u;
/* 028E52B8 */ if (_t60) goto L_028E52BC; else goto L_028E52C0;
L_028E52BC: ; // 0x28e52bc
/* 028E52BC */ cpu->f[8] = cpu->f[9];
L_028E52C0: ; // 0x28e52c0
/* 028E52C0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[8];
/* 028E52C4 */ cpu->r[8] = 0x00000000u;
/* 028E52C8 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028E52CC */ _t61 = cpu->r[30] + 0x00000004u;
/* 028E52CC */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[8]);
/* 028E52D0 */ /* nop */
/* 028E52D4 */ _t62 = cpu->r[1] + 0x0000000Bu;
/* 028E52D4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t62);
/* 028E52D8 */ _t63 = cpu->r[30] + 0x00000003u;
/* 028E52D8 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[8]);
/* 028E52DC */ _t64 = cpu->r[30] + 0x00000002u;
/* 028E52DC */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[8]);
/* 028E52E0 */ _t65 = cpu->r[30] + 0x00000000u;
/* 028E52E0 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[5]);
L_028E52E4: ; // 0x28e52e4
/* 028E52E4 */ _t66 = cpu->r[1] + 0x00000038u;
/* 028E52E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t66);
/* 028E52E8 */ _t67 = cpu->r[1] + 0x0000003Cu;
/* 028E52E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
/* 028E52EC */ _t68 = cpu->r[1] + 0x0000004Cu;
/* 028E52EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028E52F0 */ _t69 = cpu->r[1] + 0x00000040u;
/* 028E52F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
/* 028E52F4 */ cpu->lr = cpu->r[0];
/* 028E52F8 */ _t70 = cpu->r[1] + 0x00000044u;
/* 028E52F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
/* 028E52FC */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028E5300 */ return;
}
// fn_028E50D0 @ 0x28e50d0
void Gambit_fn_028E50D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
L_028E50D0: ; // 0x28e50d0
/* 028E50D0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028E50D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E50D0 */ cpu->r[1] = _t0;
/* 028E50D4 */ _t1 = cpu->r[1] + 0x00000038u;
/* 028E50D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028E50D8 */ _t2 = cpu->r[1] + 0x0000003Cu;
/* 028E50D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E50DC */ _t3 = cpu->r[1] + 0x00000040u;
/* 028E50DC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E50E0 */ cpu->r[30] = cpu->r[4];
/* 028E50E4 */ _t4 = cpu->r[1] + 0x00000044u;
/* 028E50E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E50E8 */ cpu->r[31] = cpu->r[5];
/* 028E50EC */ cpu->r[5] = 0x00000014u;
/* 028E50F0 */ cpu->r[4] = 0x00000000u;
/* 028E50F4 */ _t5 = cpu->r[1] + 0x0000004Cu;
/* 028E50F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E50F8 */ cpu->r[29] = cpu->r[3];
/* 028E50FC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028E5100 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028E5104 */ cpu->r[4] = 0x10140000u;
/* 028E5108 */ cpu->r[10] = 0x10140000u;
/* 028E510C */ _t6 = cpu->r[4] + 0xFFFFB7ACu;
/* 028E510C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
/* 028E5110 */ _t7 = cpu->r[10] + 0xFFFFB7B0u;
/* 028E5110 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E5114 */ cpu->r[5] = 0x00000000u;
/* 028E5118 */ cpu->f[8] = cpu->f[10];
/* 028E511C */ goto L_028E5128;
L_028E5120: ; // 0x28e5120
/* 028E5120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028E5124 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5124 */ _t9 = _t8 & 0x00000001u;
/* 028E5124 */ if (_t9) goto L_028E5128; else goto L_028E5144;
L_028E5128: ; // 0x28e5128
/* 028E5128 */ cpu->f[6] = cpu->f[8];
/* 028E512C */ cpu->r[28] = cpu->r[1] + 0x00000020u;
/* 028E5130 */ cpu->r[7] = 0x00000000u;
/* 028E5134 */ cpu->f[7] = cpu->f[0];
/* 028E5138 */ cpu->r[6] = 0xFFFFFFFFu;
/* 028E513C */ cpu->r[9] = cpu->r[7];
/* 028E5140 */ goto L_028E5148;
L_028E5144: ; // 0x28e5144
/* 028E5144 */ cpu->r[7] = 0x00000003u;
L_028E5148: ; // 0x28e5148
/* 028E5148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028E514C */ cpu->r[8] = 0x00000000u;
/* 028E5150 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5150 */ _t11 = _t10 & 0x00000001u;
/* 028E5150 */ if (_t11) goto L_028E5154; else goto L_028E5158;
L_028E5154: ; // 0x28e5154
/* 028E5154 */ cpu->r[8] = 0x00000003u;
L_028E5158: ; // 0x28e5158
/* 028E5158 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028E5158 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
/* 028E515C */ cpu->r[3] = cpu->r[29];
/* 028E5160 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028E5164 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E5164 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
/* 028E5168 */ Gambit_fn_028E4E34(cpu);
/* 028E516C */ _t14 = cpu->r[1] + 0x00000010u;
/* 028E516C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028E5170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028E5174 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5174 */ _t16 = _t15 & 0x00000001u;
/* 028E5174 */ if (_t16) goto L_028E5214; else goto L_028E5178;
L_028E5178: ; // 0x28e5178
/* 028E5178 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028E5178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E517C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028E5180 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5180 */ _t19 = _t18 & 0x00000001u;
/* 028E5180 */ if (_t19) goto L_028E5214; else goto L_028E5184;
L_028E5184: ; // 0x28e5184
/* 028E5184 */ cpu->r[6] = cpu->r[0] - cpu->r[10];
/* 028E5188 */ cpu->r[9] = 0x10140000u;
/* 028E518C */ cpu->r[11] = cpu->r[6] + 0x00000001u;
/* 028E5190 */ _t20 = cpu->r[9] + 0xFFFFB7A0u;
/* 028E5190 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t20);
/* 028E5194 */ cpu->r[4] = 0x43300000u;
/* 028E5198 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028E5198 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
/* 028E519C */ cpu->r[0] = cpu->r[31] - cpu->r[10];
/* 028E51A0 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028E51A0 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
/* 028E51A4 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E51A4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
/* 028E51A8 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E51A8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028E51AC */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E51AC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t25);
/* 028E51B0 */ cpu->f[13] = cpu->f[12] - cpu->f[8];
/* 028E51B4 */ cpu->f[0] = cpu->f[11] - cpu->f[8];
/* 028E51B8 */ cpu->f[9] = (double)(float)cpu->f[13];
/* 028E51BC */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028E51BC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[6]);
/* 028E51C0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028E51C4 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028E51C8 */ cpu->f[1] = cpu->f[0] / cpu->f[9];
/* 028E51CC */ cpu->r[3] = cpu->r[29];
/* 028E51D0 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
/* 028E51D4 */ _t27 = cpu->r[1] + 0x00000018u;
/* 028E51D4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[7]);
/* 028E51D8 */ Gambit_fn_028E445C(cpu);
/* 028E51DC */ _t28 = cpu->r[1] + 0x00000018u;
/* 028E51DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
/* 028E51E0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E51E4 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028E51E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
/* 028E51E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E51EC */ _t30 = cpu->r[11] + cpu->r[28];
/* 028E51EC */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
/* 028E51F0 */ cpu->r[5] = 0x10140000u;
/* 028E51F4 */ _t31 = cpu->r[12] + cpu->r[28];
/* 028E51F4 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
/* 028E51F8 */ _t32 = cpu->r[1] + 0x00000020u;
/* 028E51F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
/* 028E51FC */ _t33 = cpu->r[5] + 0xFFFFB7B4u;
/* 028E51FC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
/* 028E5200 */ cpu->f[0] = cpu->f[13] * cpu->f[9];
/* 028E5204 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[10]);
/* 028E5208 */ _t34 = cpu->r[1] + 0x0000002Cu;
/* 028E5208 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t34);
/* 028E520C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E520C */ _t36 = _t35 & 0x00000001u;
/* 028E520C */ if (_t36) goto L_028E523C; else goto L_028E5210;
L_028E5210: ; // 0x28e5210
/* 028E5210 */ goto L_028E5260;
L_028E5214: ; // 0x28e5214
/* 028E5214 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028E5218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
/* 028E521C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E521C */ _t38 = _t37 & 0x00000001u;
/* 028E521C */ if (_t38) goto L_028E5120; else goto L_028E5220;
L_028E5220: ; // 0x28e5220
/* 028E5220 */ cpu->r[5] = 0x10140000u;
/* 028E5224 */ _t39 = cpu->r[1] + 0x00000020u;
/* 028E5224 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
/* 028E5228 */ _t40 = cpu->r[5] + 0xFFFFB7B4u;
/* 028E5228 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
/* 028E522C */ cpu->f[0] = cpu->f[13] * cpu->f[9];
/* 028E5230 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[10]);
/* 028E5234 */ _t41 = cpu->r[1] + 0x0000002Cu;
/* 028E5234 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t41);
/* 028E5238 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5238 */ _t43 = _t42 & 0x00000001u;
/* 028E5238 */ if (_t43) goto L_028E523C; else goto L_028E5260;
L_028E523C: ; // 0x28e523c
/* 028E523C */ cpu->f[6] = (uint32_t)(int32_t)cpu->f[10];
/* 028E5240 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028E5244 */ cpu->f[8] = cpu->f[7] * cpu->f[9];
/* 028E5248 */ /* nop */
/* 028E524C */ _t44 = cpu->r[1] + 0x0000000Bu;
/* 028E524C */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
/* 028E5250 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[10]);
/* 028E5254 */ _t45 = cpu->r[30] + 0x00000001u;
/* 028E5254 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
/* 028E5258 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5258 */ _t47 = _t46 & 0x00000001u;
/* 028E5258 */ if (_t47) goto L_028E528C; else goto L_028E525C;
L_028E525C: ; // 0x28e525c
/* 028E525C */ goto L_028E52B4;
L_028E5260: ; // 0x28e5260
/* 028E5260 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[9]);
/* 028E5264 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5264 */ _t49 = _t48 & 0x00000001u;
/* 028E5264 */ if (_t49) goto L_028E5268; else goto L_028E526C;
L_028E5268: ; // 0x28e5268
/* 028E5268 */ cpu->f[0] = cpu->f[9];
L_028E526C: ; // 0x28e526c
/* 028E526C */ cpu->f[6] = (uint32_t)(int32_t)cpu->f[0];
/* 028E5270 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028E5274 */ cpu->f[8] = cpu->f[7] * cpu->f[9];
/* 028E5278 */ /* nop */
/* 028E527C */ _t50 = cpu->r[1] + 0x0000000Bu;
/* 028E527C */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
/* 028E5280 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[10]);
/* 028E5284 */ _t51 = cpu->r[30] + 0x00000001u;
/* 028E5284 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
/* 028E5288 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5288 */ _t53 = _t52 & 0x00000001u;
/* 028E5288 */ if (_t53) goto L_028E528C; else goto L_028E52B4;
L_028E528C: ; // 0x28e528c
/* 028E528C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
/* 028E5290 */ cpu->r[8] = 0x00000000u;
/* 028E5294 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028E5298 */ _t54 = cpu->r[30] + 0x00000004u;
/* 028E5298 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[8]);
/* 028E529C */ /* nop */
/* 028E52A0 */ _t55 = cpu->r[1] + 0x0000000Bu;
/* 028E52A0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t55);
/* 028E52A4 */ _t56 = cpu->r[30] + 0x00000003u;
/* 028E52A4 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[8]);
/* 028E52A8 */ _t57 = cpu->r[30] + 0x00000002u;
/* 028E52A8 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[8]);
/* 028E52AC */ _t58 = cpu->r[30] + 0x00000000u;
/* 028E52AC */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[5]);
/* 028E52B0 */ goto L_028E52E4;
L_028E52B4: ; // 0x28e52b4
/* 028E52B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
/* 028E52B8 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E52B8 */ _t60 = _t59 & 0x00000001u;
/* 028E52B8 */ if (_t60) goto L_028E52BC; else goto L_028E52C0;
L_028E52BC: ; // 0x28e52bc
/* 028E52BC */ cpu->f[8] = cpu->f[9];
L_028E52C0: ; // 0x28e52c0
/* 028E52C0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[8];
/* 028E52C4 */ cpu->r[8] = 0x00000000u;
/* 028E52C8 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028E52CC */ _t61 = cpu->r[30] + 0x00000004u;
/* 028E52CC */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[8]);
/* 028E52D0 */ /* nop */
/* 028E52D4 */ _t62 = cpu->r[1] + 0x0000000Bu;
/* 028E52D4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t62);
/* 028E52D8 */ _t63 = cpu->r[30] + 0x00000003u;
/* 028E52D8 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[8]);
/* 028E52DC */ _t64 = cpu->r[30] + 0x00000002u;
/* 028E52DC */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[8]);
/* 028E52E0 */ _t65 = cpu->r[30] + 0x00000000u;
/* 028E52E0 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[5]);
L_028E52E4: ; // 0x28e52e4
/* 028E52E4 */ _t66 = cpu->r[1] + 0x00000038u;
/* 028E52E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t66);
/* 028E52E8 */ _t67 = cpu->r[1] + 0x0000003Cu;
/* 028E52E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
/* 028E52EC */ _t68 = cpu->r[1] + 0x0000004Cu;
/* 028E52EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028E52F0 */ _t69 = cpu->r[1] + 0x00000040u;
/* 028E52F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
/* 028E52F4 */ cpu->lr = cpu->r[0];
/* 028E52F8 */ _t70 = cpu->r[1] + 0x00000044u;
/* 028E52F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
/* 028E52FC */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028E5300 */ return;
}
// fn_028E5304 @ 0x28e5304
void Gambit_fn_028E5304(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E5304: ; // 0x28e5304
/* 028E5304 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
/* 028E5304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5304 */ cpu->r[1] = _t0;
/* 028E5308 */ /* nop */
/* 028E530C */ _t1 = cpu->r[1] + 0x00000050u;
/* 028E530C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[27]);
/* 028E5310 */ _t2 = cpu->r[1] + 0x00000060u;
/* 028E5310 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
/* 028E5314 */ _t3 = cpu->r[1] + 0x00000070u;
/* 028E5314 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
/* 028E5318 */ /* nop */
/* 028E531C */ _t4 = cpu->r[1] + 0x00000080u;
/* 028E531C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
/* 028E5320 */ /* nop */
/* 028E5324 */ _t5 = cpu->r[1] + 0x00000090u;
/* 028E5324 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
/* 028E5328 */ /* nop */
/* 028E532C */ /* nop */
/* 028E5330 */ _t6 = cpu->r[1] + 0x00000058u;
/* 028E5330 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[27]);
/* 028E5334 */ /* nop */
/* 028E5338 */ _t7 = cpu->r[1] + 0x00000068u;
/* 028E5338 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[28]);
/* 028E533C */ _t8 = cpu->r[1] + 0x00000078u;
/* 028E533C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
/* 028E5340 */ _t9 = cpu->r[1] + 0x00000088u;
/* 028E5340 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
/* 028E5344 */ _t10 = cpu->r[1] + 0x00000098u;
/* 028E5344 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
/* 028E5348 */ cpu->r[7] = 0x10140000u;
/* 028E534C */ cpu->r[0] = cpu->lr;
/* 028E5350 */ _t11 = cpu->r[7] + 0xFFFFB7B8u;
/* 028E5350 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028E5354 */ cpu->r[6] = 0x10140000u;
/* 028E5358 */ _t12 = cpu->r[6] + 0xFFFFB7B0u;
/* 028E5358 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t12);
/* 028E535C */ _t13 = cpu->r[1] + 0x000000A4u;
/* 028E535C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028E5360 */ cpu->r[12] = 0x101D0000u;
/* 028E5364 */ _t14 = cpu->r[12] + 0xFFFF9A84u;
/* 028E5364 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E5368 */ cpu->r[23] = cpu->r[3];
/* 028E536C */ cpu->r[22] = 0x00000000u;
/* 028E5370 */ _t15 = cpu->r[12] + 0x00000020u;
/* 028E5370 */ cpu->r[21] = rbrew_read32(cpu->mem, _t15);
/* 028E5374 */ cpu->r[12] = 0x10140000u;
/* 028E5378 */ cpu->r[30] = cpu->r[22];
/* 028E537C */ _t16 = cpu->r[12] + 0xFFFFB7ACu;
/* 028E537C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t16);
/* 028E5380 */ cpu->r[28] = 0x00000002u;
L_028E5384: ; // 0x28e5384
/* 028E5384 */ cpu->r[6] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E5388 */ cpu->r[7] = cpu->r[21] + cpu->r[6];
/* 028E538C */ _t17 = cpu->r[7] + 0x0000001Cu;
/* 028E538C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028E5390 */ _t18 = cpu->r[12] + 0x00000004u;
/* 028E5390 */ cpu->r[24] = rbrew_read32(cpu->mem, _t18);
/* 028E5394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028E5398 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5398 */ _t20 = _t19 & 0x00000001u;
/* 028E5398 */ if (_t20) goto L_028E539C; else goto L_028E53A0;
L_028E539C: ; // 0x28e539c
/* 028E539C */ _t21 = cpu->r[12] + 0x0000000Cu;
/* 028E539C */ cpu->r[24] = rbrew_read32(cpu->mem, _t21);
L_028E53A0: ; // 0x28e53a0
/* 028E53A0 */ _t22 = cpu->r[24] + 0x00000014u;
/* 028E53A0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t22);
/* 028E53A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[27], cpu->f[29]);
/* 028E53A8 */ cpu->f[28] = cpu->f[30] - cpu->f[27];
/* 028E53AC */ cpu->r[26] = 0x00000000u;
/* 028E53B0 */ /* nop */
/* 028E53B4 */ cpu->r[20] = cpu->r[26];
/* 028E53B8 */ cpu->r[31] = cpu->r[30];
/* 028E53BC */ cpu->r[27] = 0x00000040u;
/* 028E53C0 */ cpu->r[29] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x0000001Fu, 0x0000001Fu);
L_028E53C4: ; // 0x28e53c4
/* 028E53C4 */ _t23 = cpu->r[24] + 0x00000008u;
/* 028E53C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028E53C8 */ _t24 = cpu->r[11] + 0x0000002Cu;
/* 028E53C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
/* 028E53CC */ cpu->ctr = cpu->r[8];
/* 028E53D0 */ cpu->r[25] = cpu->r[20] + 0x02000000u;
/* 028E53D4 */ cpu->r[3] = cpu->r[24];
/* 028E53D8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E53DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E53E0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E53E0 */ _t26 = _t25 & 0x00000001u;
/* 028E53E0 */ if (_t26) goto L_028E5524; else goto L_028E53E4;
L_028E53E4: ; // 0x28e53e4
/* 028E53E4 */ _t27 = cpu->r[24] + 0x0000001Cu;
/* 028E53E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
/* 028E53E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E53EC */ cpu->r[25] = cpu->r[25] - cpu->r[9];
/* 028E53F0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E53F0 */ _t29 = _t28 & 0x00000001u;
/* 028E53F0 */ if (_t29) goto L_028E53F4; else goto L_028E5444;
L_028E53F4: ; // 0x28e53f4
/* 028E53F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E53F8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E53F8 */ _t31 = _t30 & 0x00000001u;
/* 028E53F8 */ if (_t31) goto L_028E53FC; else goto L_028E540C;
L_028E53FC: ; // 0x28e53fc
/* 028E53FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5400 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E5404 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5404 */ _t33 = _t32 & 0x00000001u;
/* 028E5404 */ if (_t33) goto L_028E5418; else goto L_028E5408;
L_028E5408: ; // 0x28e5408
/* 028E5408 */ goto L_028E5420;
L_028E540C: ; // 0x28e540c
/* 028E540C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5410 */ cpu->r[4] = cpu->r[23];
/* 028E5414 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5414 */ _t35 = _t34 & 0x00000001u;
/* 028E5414 */ if (_t35) goto L_028E5418; else goto L_028E5408;
L_028E5418: ; // 0x28e5418
/* 028E5418 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E541C */ cpu->r[4] = cpu->r[4] + cpu->r[0];
L_028E5420: ; // 0x28e5420
/* 028E5420 */ cpu->f[1] = cpu->f[27];
/* 028E5424 */ cpu->r[3] = cpu->r[23];
/* 028E5428 */ cpu->r[5] = cpu->r[24];
/* 028E542C */ cpu->r[6] = cpu->r[25];
/* 028E5430 */ Gambit_fn_028E46D8(cpu);
/* 028E5434 */ cpu->r[18] = 0x00000001u;
/* 028E5438 */ cpu->r[17] = 0x0000002Fu;
/* 028E543C */ cpu->r[19] = 0x00000140u;
/* 028E5440 */ goto L_028E548C;
L_028E5444: ; // 0x28e5444
/* 028E5444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E5448 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5448 */ _t37 = _t36 & 0x00000001u;
/* 028E5448 */ if (_t37) goto L_028E544C; else goto L_028E545C;
L_028E544C: ; // 0x28e544c
/* 028E544C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5450 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E5454 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5454 */ _t39 = _t38 & 0x00000001u;
/* 028E5454 */ if (_t39) goto L_028E5468; else goto L_028E5458;
L_028E5458: ; // 0x28e5458
/* 028E5458 */ goto L_028E5470;
L_028E545C: ; // 0x28e545c
/* 028E545C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5460 */ cpu->r[4] = cpu->r[23];
/* 028E5464 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5464 */ _t41 = _t40 & 0x00000001u;
/* 028E5464 */ if (_t41) goto L_028E5468; else goto L_028E5458;
L_028E5468: ; // 0x28e5468
/* 028E5468 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E546C */ cpu->r[4] = cpu->r[4] + cpu->r[0];
L_028E5470: ; // 0x28e5470
/* 028E5470 */ cpu->r[6] = cpu->r[25];
/* 028E5474 */ cpu->r[5] = cpu->r[24];
/* 028E5478 */ cpu->r[3] = cpu->r[23];
/* 028E547C */ Gambit_fn_028E4A74(cpu);
/* 028E5480 */ cpu->r[19] = 0x00000140u;
/* 028E5484 */ cpu->r[17] = 0x0000002Fu;
/* 028E5488 */ cpu->r[18] = 0x00000001u;
L_028E548C: ; // 0x28e548c
/* 028E548C */ cpu->r[11] = 0x10140000u;
/* 028E5490 */ cpu->r[4] = 0x43300000u;
/* 028E5494 */ _t42 = cpu->r[11] + 0xFFFFB7C0u;
/* 028E5494 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t42);
/* 028E5498 */ cpu->r[5] = cpu->r[18] ^ 0x80000000u;
/* 028E549C */ _t43 = cpu->r[1] + 0x00000008u;
/* 028E549C */ rbrew_write32(cpu->mem, _t43, cpu->r[4]);
/* 028E54A0 */ _t44 = cpu->r[1] + 0x0000000Cu;
/* 028E54A0 */ rbrew_write32(cpu->mem, _t44, cpu->r[5]);
/* 028E54A4 */ _t45 = cpu->r[1] + 0x00000008u;
/* 028E54A4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t45);
/* 028E54A8 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
/* 028E54AC */ cpu->f[11] = (double)(float)cpu->f[10];
/* 028E54B0 */ cpu->f[1] = cpu->f[11] / cpu->f[31];
/* 028E54B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E54B8 */ cpu->f[1] = fma(cpu->f[1], cpu->f[28], cpu->f[27]);
/* 028E54BC */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E54BC */ _t47 = _t46 & 0x00000001u;
/* 028E54BC */ if (_t47) goto L_028E54C0; else goto L_028E54D0;
L_028E54C0: ; // 0x28e54c0
/* 028E54C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], 0x00000030u);
/* 028E54C4 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E54C8 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E54C8 */ _t49 = _t48 & 0x00000001u;
/* 028E54C8 */ if (_t49) goto L_028E54DC; else goto L_028E54CC;
L_028E54CC: ; // 0x28e54cc
/* 028E54CC */ goto L_028E54E0;
L_028E54D0: ; // 0x28e54d0
/* 028E54D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], 0x00000030u);
/* 028E54D4 */ cpu->r[4] = cpu->r[23];
/* 028E54D8 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E54D8 */ _t51 = _t50 & 0x00000001u;
/* 028E54D8 */ if (_t51) goto L_028E54DC; else goto L_028E54CC;
L_028E54DC: ; // 0x28e54dc
/* 028E54DC */ cpu->r[4] = cpu->r[4] + cpu->r[19];
L_028E54E0: ; // 0x28e54e0
/* 028E54E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E54E4 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E54E4 */ _t53 = _t52 & 0x00000001u;
/* 028E54E4 */ if (_t53) goto L_028E54E8; else goto L_028E54F0;
L_028E54E8: ; // 0x28e54e8
/* 028E54E8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E54EC */ cpu->r[4] = cpu->r[4] + cpu->r[9];
L_028E54F0: ; // 0x28e54f0
/* 028E54F0 */ cpu->r[6] = cpu->r[25];
/* 028E54F4 */ cpu->r[5] = cpu->r[24];
/* 028E54F8 */ cpu->r[3] = cpu->r[23];
/* 028E54FC */ Gambit_fn_028E46D8(cpu);
/* 028E5500 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
/* 028E5500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028E5504 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
/* 028E5508 */ cpu->r[19] = cpu->r[19] + 0x00000140u;
/* 028E550C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E550C */ _t55 = _t54 & 0x00000001u;
/* 028E550C */ if (_t55) goto L_028E5510; else goto L_028E548C;
L_028E5510: ; // 0x28e5510
/* 028E5510 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028E5510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E5514 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
/* 028E5518 */ cpu->r[20] = cpu->r[20] + 0x04000000u;
/* 028E551C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E551C */ _t57 = _t56 & 0x00000001u;
/* 028E551C */ if (_t57) goto L_028E5520; else goto L_028E53C4;
L_028E5520: ; // 0x28e5520
/* 028E5520 */ goto L_028E5650;
L_028E5524: ; // 0x28e5524
/* 028E5524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5528 */ cpu->r[25] = cpu->r[25] + 0xC0000000u;
/* 028E552C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E552C */ _t59 = _t58 & 0x00000001u;
/* 028E552C */ if (_t59) goto L_028E5530; else goto L_028E557C;
L_028E5530: ; // 0x28e5530
/* 028E5530 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E5534 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5534 */ _t61 = _t60 & 0x00000001u;
/* 028E5534 */ if (_t61) goto L_028E5538; else goto L_028E5548;
L_028E5538: ; // 0x28e5538
/* 028E5538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E553C */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E5540 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5540 */ _t63 = _t62 & 0x00000001u;
/* 028E5540 */ if (_t63) goto L_028E5554; else goto L_028E5544;
L_028E5544: ; // 0x28e5544
/* 028E5544 */ goto L_028E555C;
L_028E5548: ; // 0x28e5548
/* 028E5548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E554C */ cpu->r[4] = cpu->r[23];
/* 028E5550 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5550 */ _t65 = _t64 & 0x00000001u;
/* 028E5550 */ if (_t65) goto L_028E5554; else goto L_028E5544;
L_028E5554: ; // 0x28e5554
/* 028E5554 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E5558 */ cpu->r[4] = cpu->r[4] + cpu->r[10];
L_028E555C: ; // 0x28e555c
/* 028E555C */ cpu->f[1] = cpu->f[27];
/* 028E5560 */ cpu->r[3] = cpu->r[23];
/* 028E5564 */ cpu->r[5] = cpu->r[25];
/* 028E5568 */ Gambit_fn_028E4E68(cpu);
/* 028E556C */ cpu->r[17] = 0x00000001u;
/* 028E5570 */ cpu->r[18] = 0x0000002Fu;
/* 028E5574 */ cpu->r[19] = 0x00000140u;
/* 028E5578 */ goto L_028E55C0;
L_028E557C: ; // 0x28e557c
/* 028E557C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E5580 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5580 */ _t67 = _t66 & 0x00000001u;
/* 028E5580 */ if (_t67) goto L_028E5584; else goto L_028E5594;
L_028E5584: ; // 0x28e5584
/* 028E5584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5588 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E558C */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E558C */ _t69 = _t68 & 0x00000001u;
/* 028E558C */ if (_t69) goto L_028E55A0; else goto L_028E5590;
L_028E5590: ; // 0x28e5590
/* 028E5590 */ goto L_028E55A8;
L_028E5594: ; // 0x28e5594
/* 028E5594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5598 */ cpu->r[4] = cpu->r[23];
/* 028E559C */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E559C */ _t71 = _t70 & 0x00000001u;
/* 028E559C */ if (_t71) goto L_028E55A0; else goto L_028E5590;
L_028E55A0: ; // 0x28e55a0
/* 028E55A0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E55A4 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
L_028E55A8: ; // 0x28e55a8
/* 028E55A8 */ cpu->r[5] = cpu->r[25];
/* 028E55AC */ cpu->r[3] = cpu->r[23];
/* 028E55B0 */ Gambit_fn_028E50CC(cpu);
/* 028E55B4 */ cpu->r[19] = 0x00000140u;
/* 028E55B8 */ cpu->r[18] = 0x0000002Fu;
/* 028E55BC */ cpu->r[17] = 0x00000001u;
L_028E55C0: ; // 0x28e55c0
/* 028E55C0 */ cpu->r[9] = 0x10140000u;
/* 028E55C4 */ cpu->r[4] = 0x43300000u;
/* 028E55C8 */ _t72 = cpu->r[9] + 0xFFFFB7C0u;
/* 028E55C8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t72);
/* 028E55CC */ cpu->r[5] = cpu->r[17] ^ 0x80000000u;
/* 028E55D0 */ _t73 = cpu->r[1] + 0x00000008u;
/* 028E55D0 */ rbrew_write32(cpu->mem, _t73, cpu->r[4]);
/* 028E55D4 */ _t74 = cpu->r[1] + 0x0000000Cu;
/* 028E55D4 */ rbrew_write32(cpu->mem, _t74, cpu->r[5]);
/* 028E55D8 */ _t75 = cpu->r[1] + 0x00000008u;
/* 028E55D8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t75);
/* 028E55DC */ cpu->f[7] = cpu->f[12] - cpu->f[13];
/* 028E55E0 */ cpu->f[8] = (double)(float)cpu->f[7];
/* 028E55E4 */ cpu->f[1] = cpu->f[8] / cpu->f[31];
/* 028E55E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
/* 028E55EC */ cpu->f[1] = fma(cpu->f[1], cpu->f[28], cpu->f[27]);
/* 028E55F0 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E55F0 */ _t77 = _t76 & 0x00000001u;
/* 028E55F0 */ if (_t77) goto L_028E55F4; else goto L_028E5604;
L_028E55F4: ; // 0x28e55f4
/* 028E55F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], 0x00000030u);
/* 028E55F8 */ cpu->r[4] = cpu->r[23] + cpu->r[31];
/* 028E55FC */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E55FC */ _t79 = _t78 & 0x00000001u;
/* 028E55FC */ if (_t79) goto L_028E5610; else goto L_028E5600;
L_028E5600: ; // 0x28e5600
/* 028E5600 */ goto L_028E5614;
L_028E5604: ; // 0x28e5604
/* 028E5604 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], 0x00000030u);
/* 028E5608 */ cpu->r[4] = cpu->r[23];
/* 028E560C */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E560C */ _t81 = _t80 & 0x00000001u;
/* 028E560C */ if (_t81) goto L_028E5610; else goto L_028E5600;
L_028E5610: ; // 0x28e5610
/* 028E5610 */ cpu->r[4] = cpu->r[4] + cpu->r[19];
L_028E5614: ; // 0x28e5614
/* 028E5614 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000040u);
/* 028E5618 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5618 */ _t83 = _t82 & 0x00000001u;
/* 028E5618 */ if (_t83) goto L_028E561C; else goto L_028E5624;
L_028E561C: ; // 0x28e561c
/* 028E561C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000005u);
/* 028E5620 */ cpu->r[4] = cpu->r[4] + cpu->r[8];
L_028E5624: ; // 0x28e5624
/* 028E5624 */ cpu->r[5] = cpu->r[25];
/* 028E5628 */ cpu->r[3] = cpu->r[23];
/* 028E562C */ Gambit_fn_028E4E68(cpu);
/* 028E5630 */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu;
/* 028E5630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
/* 028E5634 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
/* 028E5638 */ cpu->r[19] = cpu->r[19] + 0x00000140u;
/* 028E563C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E563C */ _t85 = _t84 & 0x00000001u;
/* 028E563C */ if (_t85) goto L_028E5640; else goto L_028E55C0;
L_028E5640: ; // 0x28e5640
/* 028E5640 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028E5640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E5644 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
/* 028E5648 */ cpu->r[20] = cpu->r[20] + 0x04000000u;
/* 028E564C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E564C */ _t87 = _t86 & 0x00000001u;
/* 028E564C */ if (_t87) goto L_028E5650; else goto L_028E53C4;
L_028E5650: ; // 0x28e5650
/* 028E5650 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
/* 028E5650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E5654 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
/* 028E5658 */ cpu->r[30] = cpu->r[30] + 0x00003C00u;
/* 028E565C */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E565C */ _t89 = _t88 & 0x00000001u;
/* 028E565C */ if (_t89) goto L_028E5660; else goto L_028E5384;
L_028E5660: ; // 0x28e5660
/* 028E5660 */ /* nop */
/* 028E5664 */ _t90 = cpu->r[1] + 0x00000068u;
/* 028E5664 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t90);
/* 028E5668 */ _t91 = cpu->r[1] + 0x00000088u;
/* 028E5668 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t91);
/* 028E566C */ _t92 = cpu->r[1] + 0x00000060u;
/* 028E566C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t92);
/* 028E5670 */ _t93 = cpu->r[1] + 0x00000078u;
/* 028E5670 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t93);
/* 028E5674 */ _t94 = cpu->r[1] + 0x00000080u;
/* 028E5674 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t94);
/* 028E5678 */ _t95 = cpu->r[1] + 0x00000070u;
/* 028E5678 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t95);
/* 028E567C */ _t96 = cpu->r[1] + 0x00000058u;
/* 028E567C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t96);
/* 028E5680 */ _t97 = cpu->r[1] + 0x00000098u;
/* 028E5680 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t97);
/* 028E5684 */ _t98 = cpu->r[1] + 0x00000050u;
/* 028E5684 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t98);
/* 028E5688 */ _t99 = cpu->r[1] + 0x00000090u;
/* 028E5688 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t99);
/* 028E568C */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E568C */ _t101 = _t100 & 0x00000001u;
/* 028E568C */ if (_t101) goto L_028E5690; // else: addr-0 trap, fall-through
L_028E5690: ; // 0x28e5690
/* 028E5690 */ _t102 = cpu->r[1] + 0x000000A4u;
/* 028E5690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
/* 028E5694 */ cpu->lr = cpu->r[0];
/* 028E5698 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028E569C */ return;
}
// fn_028E56A0 @ 0x28e56a0
void Gambit_fn_028E56A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028E56A0: ; // 0x28e56a0
/* 028E56A0 */ cpu->r[0] = cpu->lr;
/* 028E56A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E56A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E56A4 */ cpu->r[1] = _t0;
/* 028E56A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E56A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E56AC */ cpu->r[31] = cpu->r[3];
/* 028E56AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E56B0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E56B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E56B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E56B4 */ _t4 = _t3 & 0x00000001u;
/* 028E56B4 */ if (_t4) goto L_028E56B8; else goto L_028E56C8;
L_028E56B8: ; // 0x28e56b8
/* 028E56B8 */ cpu->r[3] = 0x00007800u;
/* 028E56BC */ Gambit_fn_02801A78(cpu);
/* 028E56C0 */ cpu->r[31] = cpu->r[3];
/* 028E56C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E56C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E56C4 */ _t6 = _t5 & 0x00000001u;
/* 028E56C4 */ if (_t6) goto L_028E56E8; else goto L_028E56C8;
L_028E56C8: ; // 0x28e56c8
/* 028E56C8 */ cpu->r[6] = 0x028E0000u;
/* 028E56CC */ cpu->r[3] = cpu->r[31];
/* 028E56D0 */ cpu->r[4] = 0x00000002u;
/* 028E56D4 */ cpu->r[6] = cpu->r[6] + 0x00005954u;
/* 028E56D8 */ cpu->r[5] = 0x00003C00u;
/* 028E56DC */ Gambit_fn_02C82E00(cpu);
/* 028E56E0 */ cpu->r[3] = cpu->r[31];
/* 028E56E4 */ Gambit_fn_028E5304(cpu);
L_028E56E8: ; // 0x28e56e8
/* 028E56E8 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028E56E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E56EC */ cpu->r[3] = cpu->r[31];
/* 028E56F0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E56F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E56F4 */ cpu->lr = cpu->r[0];
/* 028E56F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E56FC */ return;
}
// fn_028E56A4 @ 0x28e56a4
void Gambit_fn_028E56A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028E56A4: ; // 0x28e56a4
/* 028E56A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E56A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E56A4 */ cpu->r[1] = _t0;
/* 028E56A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E56A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E56AC */ cpu->r[31] = cpu->r[3];
/* 028E56AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E56B0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E56B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E56B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E56B4 */ _t4 = _t3 & 0x00000001u;
/* 028E56B4 */ if (_t4) goto L_028E56B8; else goto L_028E56C8;
L_028E56B8: ; // 0x28e56b8
/* 028E56B8 */ cpu->r[3] = 0x00007800u;
/* 028E56BC */ Gambit_fn_02801A78(cpu);
/* 028E56C0 */ cpu->r[31] = cpu->r[3];
/* 028E56C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E56C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E56C4 */ _t6 = _t5 & 0x00000001u;
/* 028E56C4 */ if (_t6) goto L_028E56E8; else goto L_028E56C8;
L_028E56C8: ; // 0x28e56c8
/* 028E56C8 */ cpu->r[6] = 0x028E0000u;
/* 028E56CC */ cpu->r[3] = cpu->r[31];
/* 028E56D0 */ cpu->r[4] = 0x00000002u;
/* 028E56D4 */ cpu->r[6] = cpu->r[6] + 0x00005954u;
/* 028E56D8 */ cpu->r[5] = 0x00003C00u;
/* 028E56DC */ Gambit_fn_02C82E00(cpu);
/* 028E56E0 */ cpu->r[3] = cpu->r[31];
/* 028E56E4 */ Gambit_fn_028E5304(cpu);
L_028E56E8: ; // 0x28e56e8
/* 028E56E8 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028E56E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E56EC */ cpu->r[3] = cpu->r[31];
/* 028E56F0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E56F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E56F4 */ cpu->lr = cpu->r[0];
/* 028E56F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E56FC */ return;
}
// fn_028E5700 @ 0x28e5700
void Gambit_fn_028E5700(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_028E5700: ; // 0x28e5700
/* 028E5700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5704 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5704 */ _t17 = _t16 & 0x00000001u;
/* 028E5704 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5704 */ goto L_028E5708;
L_028E5708: ; // 0x28e5708
/* 028E5708 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E5708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E570C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E570C */ _t19 = _t18 & 0x00000001u;
/* 028E570C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E570C */ goto L_028E5710;
L_028E5710: ; // 0x28e5710
/* 028E5710 */ goto L_02801BB0;
}
// fn_028E5714 @ 0x28e5714
void Gambit_fn_028E5714(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028E5714: ; // 0x28e5714
/* 028E5714 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E5714 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5714 */ cpu->r[1] = _t0;
/* 028E5718 */ _t1 = cpu->r[6] + 0x00000000u;
/* 028E5718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
/* 028E571C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
/* 028E5720 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5720 */ _t3 = _t2 & 0x00000001u;
/* 028E5720 */ if (_t3) goto L_028E5724; else goto L_028E572C;
L_028E5724: ; // 0x28e5724
/* 028E5724 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00003C00u);
/* 028E5728 */ cpu->r[3] = cpu->r[3] + cpu->r[8];
L_028E572C: ; // 0x28e572c
/* 028E572C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000040u);
/* 028E5730 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5730 */ _t5 = _t4 & 0x00000001u;
/* 028E5730 */ if (_t5) goto L_028E5734; else goto L_028E573C;
L_028E5734: ; // 0x28e5734
/* 028E5734 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000005u);
/* 028E5738 */ cpu->r[3] = cpu->r[3] + cpu->r[9];
L_028E573C: ; // 0x28e573c
/* 028E573C */ cpu->r[10] = 0x10140000u;
/* 028E5740 */ _t6 = cpu->r[10] + 0xFFFFB7A0u;
/* 028E5740 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
/* 028E5744 */ cpu->r[0] = 0x43300000u;
/* 028E5748 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028E5748 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
/* 028E574C */ _t8 = cpu->r[1] + 0x00000008u;
/* 028E574C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E5750 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028E5750 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
/* 028E5754 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E5754 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
/* 028E5758 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E575C */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E5760 */ _t11 = cpu->r[4] + 0x00000000u;
/* 028E5760 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
/* 028E5764 */ _t12 = cpu->r[3] + 0x00000001u;
/* 028E5764 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
/* 028E5768 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E5768 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028E576C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028E576C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
/* 028E5770 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5774 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E5778 */ _t15 = cpu->r[4] + 0x00000004u;
/* 028E5778 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
/* 028E577C */ _t16 = cpu->r[3] + 0x00000002u;
/* 028E577C */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
/* 028E5780 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E5780 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
/* 028E5784 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E5784 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t18);
/* 028E5788 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E578C */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E5790 */ _t19 = cpu->r[4] + 0x00000008u;
/* 028E5790 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
/* 028E5794 */ _t20 = cpu->r[3] + 0x00000003u;
/* 028E5794 */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
/* 028E5798 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028E5798 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
/* 028E579C */ _t22 = cpu->r[1] + 0x00000008u;
/* 028E579C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t22);
/* 028E57A0 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E57A4 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E57A8 */ _t23 = cpu->r[4] + 0x0000000Cu;
/* 028E57A8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
/* 028E57AC */ _t24 = cpu->r[3] + 0x00000004u;
/* 028E57AC */ cpu->r[12] = rbrew_read8(cpu->mem, _t24);
/* 028E57B0 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028E57B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
/* 028E57B4 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028E57B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t26);
/* 028E57B8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028E57BC */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028E57C0 */ _t27 = cpu->r[4] + 0x00000010u;
/* 028E57C0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
/* 028E57C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E57C8 */ return;
}
// fn_028E57CC @ 0x28e57cc
void Gambit_fn_028E57CC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E57CC: ; // 0x28e57cc
/* 028E57CC */ cpu->r[12] = 0x10140000u;
/* 028E57D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E57D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E57D0 */ cpu->r[1] = _t0;
/* 028E57D4 */ _t1 = cpu->r[12] + 0xFFFFB7B8u;
/* 028E57D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028E57D8 */ _t2 = cpu->r[6] + 0x00000000u;
/* 028E57D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E57DC */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028E57E0 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028E57E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028E57E8 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028E57EC */ /* nop */
/* 028E57F0 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028E57F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028E57F4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E57F4 */ _t5 = _t4 & 0x00000001u;
/* 028E57F4 */ if (_t5) goto L_028E57F8; else goto L_028E5800;
L_028E57F8: ; // 0x28e57f8
/* 028E57F8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00003C00u);
/* 028E57FC */ cpu->r[3] = cpu->r[3] + cpu->r[10];
L_028E5800: ; // 0x28e5800
/* 028E5800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000030u);
/* 028E5804 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5804 */ _t7 = _t6 & 0x00000001u;
/* 028E5804 */ if (_t7) goto L_028E5808; else goto L_028E5810;
L_028E5808: ; // 0x28e5808
/* 028E5808 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000140u);
/* 028E580C */ cpu->r[3] = cpu->r[3] + cpu->r[11];
L_028E5810: ; // 0x28e5810
/* 028E5810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000040u);
/* 028E5814 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5814 */ _t9 = _t8 & 0x00000001u;
/* 028E5814 */ if (_t9) goto L_028E5818; else goto L_028E5820;
L_028E5818: ; // 0x28e5818
/* 028E5818 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000005u);
/* 028E581C */ cpu->r[3] = cpu->r[3] + cpu->r[0];
L_028E5820: ; // 0x28e5820
/* 028E5820 */ cpu->r[12] = 0x10140000u;
/* 028E5824 */ _t10 = cpu->r[12] + 0xFFFFB7A0u;
/* 028E5824 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t10);
/* 028E5828 */ cpu->r[8] = 0x43300000u;
/* 028E582C */ _t11 = cpu->r[3] + 0x00000000u;
/* 028E582C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
/* 028E5830 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028E5830 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
/* 028E5834 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E5834 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
/* 028E5838 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028E5838 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
/* 028E583C */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5840 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E5844 */ _t15 = cpu->r[4] + 0x00000000u;
/* 028E5844 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
/* 028E5848 */ _t16 = cpu->r[3] + 0x00000001u;
/* 028E5848 */ cpu->r[8] = rbrew_read8(cpu->mem, _t16);
/* 028E584C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E584C */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
/* 028E5850 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E5850 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t18);
/* 028E5854 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5858 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E585C */ _t19 = cpu->r[4] + 0x00000004u;
/* 028E585C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
/* 028E5860 */ _t20 = cpu->r[3] + 0x00000002u;
/* 028E5860 */ cpu->r[7] = rbrew_read8(cpu->mem, _t20);
/* 028E5864 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028E5864 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
/* 028E5868 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028E5868 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t22);
/* 028E586C */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5870 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E5874 */ _t23 = cpu->r[4] + 0x00000008u;
/* 028E5874 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
/* 028E5878 */ _t24 = cpu->r[3] + 0x00000003u;
/* 028E5878 */ cpu->r[7] = rbrew_read8(cpu->mem, _t24);
/* 028E587C */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028E587C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
/* 028E5880 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028E5880 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t26);
/* 028E5884 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5888 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E588C */ _t27 = cpu->r[4] + 0x0000000Cu;
/* 028E588C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
/* 028E5890 */ _t28 = cpu->r[3] + 0x00000004u;
/* 028E5890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
/* 028E5894 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028E5894 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028E5898 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028E5898 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t30);
/* 028E589C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028E58A0 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028E58A4 */ _t31 = cpu->r[4] + 0x00000010u;
/* 028E58A4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
/* 028E58A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E58AC */ return;
}
// fn_028E57D0 @ 0x28e57d0
void Gambit_fn_028E57D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E57D0: ; // 0x28e57d0
/* 028E57D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E57D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E57D0 */ cpu->r[1] = _t0;
/* 028E57D4 */ _t1 = cpu->r[12] + 0xFFFFB7B8u;
/* 028E57D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028E57D8 */ _t2 = cpu->r[6] + 0x00000000u;
/* 028E57D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E57DC */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028E57E0 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028E57E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028E57E8 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028E57EC */ /* nop */
/* 028E57F0 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028E57F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028E57F4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E57F4 */ _t5 = _t4 & 0x00000001u;
/* 028E57F4 */ if (_t5) goto L_028E57F8; else goto L_028E5800;
L_028E57F8: ; // 0x28e57f8
/* 028E57F8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00003C00u);
/* 028E57FC */ cpu->r[3] = cpu->r[3] + cpu->r[10];
L_028E5800: ; // 0x28e5800
/* 028E5800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000030u);
/* 028E5804 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5804 */ _t7 = _t6 & 0x00000001u;
/* 028E5804 */ if (_t7) goto L_028E5808; else goto L_028E5810;
L_028E5808: ; // 0x28e5808
/* 028E5808 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000140u);
/* 028E580C */ cpu->r[3] = cpu->r[3] + cpu->r[11];
L_028E5810: ; // 0x28e5810
/* 028E5810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000040u);
/* 028E5814 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E5814 */ _t9 = _t8 & 0x00000001u;
/* 028E5814 */ if (_t9) goto L_028E5818; else goto L_028E5820;
L_028E5818: ; // 0x28e5818
/* 028E5818 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000005u);
/* 028E581C */ cpu->r[3] = cpu->r[3] + cpu->r[0];
L_028E5820: ; // 0x28e5820
/* 028E5820 */ cpu->r[12] = 0x10140000u;
/* 028E5824 */ _t10 = cpu->r[12] + 0xFFFFB7A0u;
/* 028E5824 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t10);
/* 028E5828 */ cpu->r[8] = 0x43300000u;
/* 028E582C */ _t11 = cpu->r[3] + 0x00000000u;
/* 028E582C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
/* 028E5830 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028E5830 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
/* 028E5834 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E5834 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
/* 028E5838 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028E5838 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
/* 028E583C */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5840 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E5844 */ _t15 = cpu->r[4] + 0x00000000u;
/* 028E5844 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
/* 028E5848 */ _t16 = cpu->r[3] + 0x00000001u;
/* 028E5848 */ cpu->r[8] = rbrew_read8(cpu->mem, _t16);
/* 028E584C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E584C */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
/* 028E5850 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E5850 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t18);
/* 028E5854 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5858 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E585C */ _t19 = cpu->r[4] + 0x00000004u;
/* 028E585C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
/* 028E5860 */ _t20 = cpu->r[3] + 0x00000002u;
/* 028E5860 */ cpu->r[7] = rbrew_read8(cpu->mem, _t20);
/* 028E5864 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028E5864 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
/* 028E5868 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028E5868 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t22);
/* 028E586C */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5870 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E5874 */ _t23 = cpu->r[4] + 0x00000008u;
/* 028E5874 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
/* 028E5878 */ _t24 = cpu->r[3] + 0x00000003u;
/* 028E5878 */ cpu->r[7] = rbrew_read8(cpu->mem, _t24);
/* 028E587C */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028E587C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
/* 028E5880 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028E5880 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t26);
/* 028E5884 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028E5888 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028E588C */ _t27 = cpu->r[4] + 0x0000000Cu;
/* 028E588C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
/* 028E5890 */ _t28 = cpu->r[3] + 0x00000004u;
/* 028E5890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
/* 028E5894 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028E5894 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028E5898 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028E5898 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t30);
/* 028E589C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028E58A0 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028E58A4 */ _t31 = cpu->r[4] + 0x00000010u;
/* 028E58A4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
/* 028E58A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E58AC */ return;
}
// fn_028E58BC @ 0x28e58bc
void Gambit_fn_028E58BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028E58BC: ; // 0x28e58bc
/* 028E58BC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E58BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E58BC */ cpu->r[1] = _t0;
/* 028E58C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E58C0 */ _t2 = _t1 & 0x00000001u;
/* 028E58C0 */ if (_t2) goto L_028E58C4; else goto L_028E58D4;
L_028E58C4: ; // 0x28e58c4
/* 028E58C4 */ cpu->r[3] = 0x00000005u;
/* 028E58C8 */ Gambit_fn_02801A78(cpu);
/* 028E58CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E58D0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E58D0 */ _t4 = _t3 & 0x00000001u;
/* 028E58D0 */ if (_t4) goto L_028E58EC; else goto L_028E58D4;
L_028E58D4: ; // 0x28e58d4
/* 028E58D4 */ cpu->r[0] = 0x00000000u;
/* 028E58D8 */ _t5 = cpu->r[3] + 0x00000004u;
/* 028E58D8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
/* 028E58DC */ _t6 = cpu->r[3] + 0x00000000u;
/* 028E58DC */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
/* 028E58E0 */ _t7 = cpu->r[3] + 0x00000003u;
/* 028E58E0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
/* 028E58E4 */ _t8 = cpu->r[3] + 0x00000001u;
/* 028E58E4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
/* 028E58E8 */ _t9 = cpu->r[3] + 0x00000002u;
/* 028E58E8 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
L_028E58EC: ; // 0x28e58ec
/* 028E58EC */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028E58EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E58F0 */ cpu->lr = cpu->r[0];
/* 028E58F4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E58F8 */ return;
}
// fn_028E5900 @ 0x28e5900
void Gambit_fn_028E5900(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028E5900: ; // 0x28e5900
/* 028E5900 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E5900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5900 */ cpu->r[1] = _t0;
/* 028E5904 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E5904 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E5908 */ cpu->r[31] = cpu->r[3];
/* 028E5908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E590C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E590C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E5910 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5910 */ _t4 = _t3 & 0x00000001u;
/* 028E5910 */ if (_t4) goto L_028E5914; else goto L_028E5924;
L_028E5914: ; // 0x28e5914
/* 028E5914 */ cpu->r[3] = 0x00000140u;
/* 028E5918 */ Gambit_fn_02801A78(cpu);
/* 028E591C */ cpu->r[31] = cpu->r[3];
/* 028E591C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5920 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5920 */ _t6 = _t5 & 0x00000001u;
/* 028E5920 */ if (_t6) goto L_028E593C; else goto L_028E5924;
L_028E5924: ; // 0x28e5924
/* 028E5924 */ cpu->r[6] = 0x028E0000u;
/* 028E5928 */ cpu->r[3] = cpu->r[31];
/* 028E592C */ cpu->r[4] = 0x00000040u;
/* 028E5930 */ cpu->r[6] = cpu->r[6] + 0x000058B0u;
/* 028E5934 */ cpu->r[5] = 0x00000005u;
/* 028E5938 */ Gambit_fn_02C82E00(cpu);
L_028E593C: ; // 0x28e593c
/* 028E593C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028E593C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E5940 */ cpu->r[3] = cpu->r[31];
/* 028E5944 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E5944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E5948 */ cpu->lr = cpu->r[0];
/* 028E594C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E5950 */ return;
}
// fn_028E5958 @ 0x28e5958
void Gambit_fn_028E5958(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028E5958: ; // 0x28e5958
/* 028E5958 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E5958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5958 */ cpu->r[1] = _t0;
/* 028E595C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E595C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E5960 */ cpu->r[31] = cpu->r[3];
/* 028E5960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5964 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E5964 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E5968 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5968 */ _t4 = _t3 & 0x00000001u;
/* 028E5968 */ if (_t4) goto L_028E596C; else goto L_028E597C;
L_028E596C: ; // 0x28e596c
/* 028E596C */ cpu->r[3] = 0x00003C00u;
/* 028E5970 */ Gambit_fn_02801A78(cpu);
/* 028E5974 */ cpu->r[31] = cpu->r[3];
/* 028E5974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5978 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5978 */ _t6 = _t5 & 0x00000001u;
/* 028E5978 */ if (_t6) goto L_028E5994; else goto L_028E597C;
L_028E597C: ; // 0x28e597c
/* 028E597C */ cpu->r[6] = 0x028E0000u;
/* 028E5980 */ cpu->r[3] = cpu->r[31];
/* 028E5984 */ cpu->r[4] = 0x00000030u;
/* 028E5988 */ cpu->r[6] = cpu->r[6] + 0x000058FCu;
/* 028E598C */ cpu->r[5] = 0x00000140u;
/* 028E5990 */ Gambit_fn_02C82E00(cpu);
L_028E5994: ; // 0x28e5994
/* 028E5994 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028E5994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E5998 */ cpu->r[3] = cpu->r[31];
/* 028E599C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E599C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E59A0 */ cpu->lr = cpu->r[0];
/* 028E59A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E59A8 */ return;
}
// fn_028E59B8 @ 0x28e59b8
void Gambit_fn_028E59B8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028E59B8: ; // 0x28e59b8
/* 028E59B8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E59B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E59B8 */ cpu->r[1] = _t0;
/* 028E59BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E59BC */ _t2 = _t1 & 0x00000001u;
/* 028E59BC */ if (_t2) goto L_028E59C0; else goto L_028E59D0;
L_028E59C0: ; // 0x28e59c0
/* 028E59C0 */ cpu->r[3] = 0x00000008u;
/* 028E59C4 */ Gambit_fn_02801A78(cpu);
/* 028E59C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E59CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E59CC */ _t4 = _t3 & 0x00000001u;
/* 028E59CC */ if (_t4) goto L_028E59E0; else goto L_028E59D0;
L_028E59D0: ; // 0x28e59d0
/* 028E59D0 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028E59D4 */ cpu->r[0] = 0x00000000u;
/* 028E59D8 */ _t5 = cpu->r[3] + 0x00000000u;
/* 028E59D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028E59DC */ _t6 = cpu->r[3] + 0x00000004u;
/* 028E59DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
L_028E59E0: ; // 0x28e59e0
/* 028E59E0 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028E59E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E59E4 */ cpu->lr = cpu->r[0];
/* 028E59E8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E59EC */ return;
}
// fn_028E59F0 @ 0x28e59f0
void Gambit_fn_028E59F0(CPUState* cpu) {
L_028E59F0: ; // 0x28e59f0
/* 028E59F0 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028E59F4 */ return;
}
// fn_028E59F8 @ 0x28e59f8
void Gambit_fn_028E59F8(CPUState* cpu) {
uint32_t _t0;
L_028E59F8: ; // 0x28e59f8
/* 028E59F8 */ _t0 = cpu->r[3] + 0x00000040u;
/* 028E59F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028E59FC */ return;
}
// fn_028E5A00 @ 0x28e5a00
void Gambit_fn_028E5A00(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E5A00: ; // 0x28e5a00
/* 028E5A00 */ cpu->r[0] = cpu->lr;
/* 028E5A04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E5A04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5A04 */ cpu->r[1] = _t0;
/* 028E5A08 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E5A08 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E5A0C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E5A0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E5A10 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E5A10 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E5A14 */ cpu->r[31] = cpu->r[3];
/* 028E5A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5A18 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E5A18 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E5A1C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A1C */ _t6 = _t5 & 0x00000001u;
/* 028E5A1C */ if (_t6) goto L_028E5A20; else goto L_028E5A30;
L_028E5A20: ; // 0x28e5a20
/* 028E5A20 */ cpu->r[3] = 0x00000034u;
/* 028E5A24 */ Gambit_fn_02801A78(cpu);
/* 028E5A28 */ cpu->r[31] = cpu->r[3];
/* 028E5A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5A2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A2C */ _t8 = _t7 & 0x00000001u;
/* 028E5A2C */ if (_t8) goto L_028E5AD0; else goto L_028E5A30;
L_028E5A30: ; // 0x28e5a30
/* 028E5A30 */ cpu->r[0] = 0x10140000u;
/* 028E5A34 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
/* 028E5A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5A38 */ cpu->r[0] = cpu->r[0] + 0xFFFFB858u;
/* 028E5A3C */ cpu->r[30] = 0x00000000u;
/* 028E5A40 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028E5A40 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E5A44 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A44 */ _t11 = _t10 & 0x00000001u;
/* 028E5A44 */ if (_t11) goto L_028E5A48; else goto L_028E5A58;
L_028E5A48: ; // 0x28e5a48
/* 028E5A48 */ cpu->r[3] = 0x00000018u;
/* 028E5A4C */ Gambit_fn_02801A78(cpu);
/* 028E5A50 */ cpu->r[29] = cpu->r[3];
/* 028E5A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5A54 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A54 */ _t13 = _t12 & 0x00000001u;
/* 028E5A54 */ if (_t13) goto L_028E5A88; else goto L_028E5A58;
L_028E5A58: ; // 0x28e5a58
/* 028E5A58 */ cpu->r[3] = cpu->r[29];
/* 028E5A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5A5C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A5C */ _t15 = _t14 & 0x00000001u;
/* 028E5A5C */ if (_t15) goto L_028E5A60; else goto L_028E5A70;
L_028E5A60: ; // 0x28e5a60
/* 028E5A60 */ cpu->r[3] = 0x0000000Cu;
/* 028E5A64 */ Gambit_fn_02801A78(cpu);
/* 028E5A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5A6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A6C */ _t17 = _t16 & 0x00000001u;
/* 028E5A6C */ if (_t17) goto L_028E5A7C; else goto L_028E5A70;
L_028E5A70: ; // 0x28e5a70
/* 028E5A70 */ _t18 = cpu->r[3] + 0x00000004u;
/* 028E5A70 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
/* 028E5A74 */ _t19 = cpu->r[3] + 0x00000008u;
/* 028E5A74 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
/* 028E5A78 */ _t20 = cpu->r[3] + 0x00000000u;
/* 028E5A78 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
L_028E5A7C: ; // 0x28e5a7c
/* 028E5A7C */ _t21 = cpu->r[29] + 0x00000010u;
/* 028E5A7C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E5A80 */ _t22 = cpu->r[29] + 0x0000000Cu;
/* 028E5A80 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
/* 028E5A84 */ _t23 = cpu->r[29] + 0x00000014u;
/* 028E5A84 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
L_028E5A88: ; // 0x28e5a88
/* 028E5A88 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
/* 028E5A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5A8C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A8C */ _t25 = _t24 & 0x00000001u;
/* 028E5A8C */ if (_t25) goto L_028E5A90; else goto L_028E5AA0;
L_028E5A90: ; // 0x28e5a90
/* 028E5A90 */ cpu->r[3] = 0x00000018u;
/* 028E5A94 */ Gambit_fn_02801A78(cpu);
/* 028E5A98 */ cpu->r[29] = cpu->r[3];
/* 028E5A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5A9C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A9C */ _t27 = _t26 & 0x00000001u;
/* 028E5A9C */ if (_t27) goto L_028E5AD0; else goto L_028E5AA0;
L_028E5AA0: ; // 0x28e5aa0
/* 028E5AA0 */ cpu->r[3] = cpu->r[29];
/* 028E5AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5AA4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5AA4 */ _t29 = _t28 & 0x00000001u;
/* 028E5AA4 */ if (_t29) goto L_028E5AA8; else goto L_028E5AB8;
L_028E5AA8: ; // 0x28e5aa8
/* 028E5AA8 */ cpu->r[3] = 0x0000000Cu;
/* 028E5AAC */ Gambit_fn_02801A78(cpu);
/* 028E5AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5AB4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5AB4 */ _t31 = _t30 & 0x00000001u;
/* 028E5AB4 */ if (_t31) goto L_028E5AC4; else goto L_028E5AB8;
L_028E5AB8: ; // 0x28e5ab8
/* 028E5AB8 */ _t32 = cpu->r[3] + 0x00000004u;
/* 028E5AB8 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
/* 028E5ABC */ _t33 = cpu->r[3] + 0x00000008u;
/* 028E5ABC */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028E5AC0 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028E5AC0 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
L_028E5AC4: ; // 0x28e5ac4
/* 028E5AC4 */ _t35 = cpu->r[29] + 0x00000010u;
/* 028E5AC4 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
/* 028E5AC8 */ _t36 = cpu->r[29] + 0x0000000Cu;
/* 028E5AC8 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
/* 028E5ACC */ _t37 = cpu->r[29] + 0x00000014u;
/* 028E5ACC */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
L_028E5AD0: ; // 0x28e5ad0
/* 028E5AD0 */ _t38 = cpu->r[1] + 0x0000000Cu;
/* 028E5AD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
/* 028E5AD4 */ _t39 = cpu->r[1] + 0x0000001Cu;
/* 028E5AD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028E5AD8 */ cpu->r[3] = cpu->r[31];
/* 028E5ADC */ _t40 = cpu->r[1] + 0x00000010u;
/* 028E5ADC */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
/* 028E5AE0 */ cpu->lr = cpu->r[0];
/* 028E5AE4 */ _t41 = cpu->r[1] + 0x00000014u;
/* 028E5AE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
/* 028E5AE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E5AEC */ return;
}
// fn_028E5A04 @ 0x28e5a04
void Gambit_fn_028E5A04(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E5A04: ; // 0x28e5a04
/* 028E5A04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E5A04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5A04 */ cpu->r[1] = _t0;
/* 028E5A08 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E5A08 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E5A0C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E5A0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E5A10 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E5A10 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E5A14 */ cpu->r[31] = cpu->r[3];
/* 028E5A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5A18 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E5A18 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E5A1C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A1C */ _t6 = _t5 & 0x00000001u;
/* 028E5A1C */ if (_t6) goto L_028E5A20; else goto L_028E5A30;
L_028E5A20: ; // 0x28e5a20
/* 028E5A20 */ cpu->r[3] = 0x00000034u;
/* 028E5A24 */ Gambit_fn_02801A78(cpu);
/* 028E5A28 */ cpu->r[31] = cpu->r[3];
/* 028E5A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5A2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A2C */ _t8 = _t7 & 0x00000001u;
/* 028E5A2C */ if (_t8) goto L_028E5AD0; else goto L_028E5A30;
L_028E5A30: ; // 0x28e5a30
/* 028E5A30 */ cpu->r[0] = 0x10140000u;
/* 028E5A34 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
/* 028E5A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5A38 */ cpu->r[0] = cpu->r[0] + 0xFFFFB858u;
/* 028E5A3C */ cpu->r[30] = 0x00000000u;
/* 028E5A40 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028E5A40 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028E5A44 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A44 */ _t11 = _t10 & 0x00000001u;
/* 028E5A44 */ if (_t11) goto L_028E5A48; else goto L_028E5A58;
L_028E5A48: ; // 0x28e5a48
/* 028E5A48 */ cpu->r[3] = 0x00000018u;
/* 028E5A4C */ Gambit_fn_02801A78(cpu);
/* 028E5A50 */ cpu->r[29] = cpu->r[3];
/* 028E5A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5A54 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A54 */ _t13 = _t12 & 0x00000001u;
/* 028E5A54 */ if (_t13) goto L_028E5A88; else goto L_028E5A58;
L_028E5A58: ; // 0x28e5a58
/* 028E5A58 */ cpu->r[3] = cpu->r[29];
/* 028E5A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5A5C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A5C */ _t15 = _t14 & 0x00000001u;
/* 028E5A5C */ if (_t15) goto L_028E5A60; else goto L_028E5A70;
L_028E5A60: ; // 0x28e5a60
/* 028E5A60 */ cpu->r[3] = 0x0000000Cu;
/* 028E5A64 */ Gambit_fn_02801A78(cpu);
/* 028E5A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5A6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A6C */ _t17 = _t16 & 0x00000001u;
/* 028E5A6C */ if (_t17) goto L_028E5A7C; else goto L_028E5A70;
L_028E5A70: ; // 0x28e5a70
/* 028E5A70 */ _t18 = cpu->r[3] + 0x00000004u;
/* 028E5A70 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
/* 028E5A74 */ _t19 = cpu->r[3] + 0x00000008u;
/* 028E5A74 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
/* 028E5A78 */ _t20 = cpu->r[3] + 0x00000000u;
/* 028E5A78 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
L_028E5A7C: ; // 0x28e5a7c
/* 028E5A7C */ _t21 = cpu->r[29] + 0x00000010u;
/* 028E5A7C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E5A80 */ _t22 = cpu->r[29] + 0x0000000Cu;
/* 028E5A80 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
/* 028E5A84 */ _t23 = cpu->r[29] + 0x00000014u;
/* 028E5A84 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
L_028E5A88: ; // 0x28e5a88
/* 028E5A88 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
/* 028E5A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5A8C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A8C */ _t25 = _t24 & 0x00000001u;
/* 028E5A8C */ if (_t25) goto L_028E5A90; else goto L_028E5AA0;
L_028E5A90: ; // 0x28e5a90
/* 028E5A90 */ cpu->r[3] = 0x00000018u;
/* 028E5A94 */ Gambit_fn_02801A78(cpu);
/* 028E5A98 */ cpu->r[29] = cpu->r[3];
/* 028E5A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5A9C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5A9C */ _t27 = _t26 & 0x00000001u;
/* 028E5A9C */ if (_t27) goto L_028E5AD0; else goto L_028E5AA0;
L_028E5AA0: ; // 0x28e5aa0
/* 028E5AA0 */ cpu->r[3] = cpu->r[29];
/* 028E5AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5AA4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5AA4 */ _t29 = _t28 & 0x00000001u;
/* 028E5AA4 */ if (_t29) goto L_028E5AA8; else goto L_028E5AB8;
L_028E5AA8: ; // 0x28e5aa8
/* 028E5AA8 */ cpu->r[3] = 0x0000000Cu;
/* 028E5AAC */ Gambit_fn_02801A78(cpu);
/* 028E5AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5AB4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5AB4 */ _t31 = _t30 & 0x00000001u;
/* 028E5AB4 */ if (_t31) goto L_028E5AC4; else goto L_028E5AB8;
L_028E5AB8: ; // 0x28e5ab8
/* 028E5AB8 */ _t32 = cpu->r[3] + 0x00000004u;
/* 028E5AB8 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
/* 028E5ABC */ _t33 = cpu->r[3] + 0x00000008u;
/* 028E5ABC */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028E5AC0 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028E5AC0 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
L_028E5AC4: ; // 0x28e5ac4
/* 028E5AC4 */ _t35 = cpu->r[29] + 0x00000010u;
/* 028E5AC4 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
/* 028E5AC8 */ _t36 = cpu->r[29] + 0x0000000Cu;
/* 028E5AC8 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
/* 028E5ACC */ _t37 = cpu->r[29] + 0x00000014u;
/* 028E5ACC */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
L_028E5AD0: ; // 0x28e5ad0
/* 028E5AD0 */ _t38 = cpu->r[1] + 0x0000000Cu;
/* 028E5AD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
/* 028E5AD4 */ _t39 = cpu->r[1] + 0x0000001Cu;
/* 028E5AD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028E5AD8 */ cpu->r[3] = cpu->r[31];
/* 028E5ADC */ _t40 = cpu->r[1] + 0x00000010u;
/* 028E5ADC */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
/* 028E5AE0 */ cpu->lr = cpu->r[0];
/* 028E5AE4 */ _t41 = cpu->r[1] + 0x00000014u;
/* 028E5AE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
/* 028E5AE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E5AEC */ return;
}
// fn_028E5AF0 @ 0x28e5af0
void Gambit_fn_028E5AF0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E5AF0: ; // 0x28e5af0
/* 028E5AF0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E5AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5AF0 */ cpu->r[1] = _t0;
/* 028E5AF4 */ cpu->r[0] = cpu->lr;
/* 028E5AF8 */ /* nop */
/* 028E5AFC */ cpu->r[30] = cpu->r[3];
/* 028E5AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E5B00 */ cpu->r[31] = cpu->r[4];
/* 028E5B04 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028E5B04 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E5B08 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5B08 */ _t3 = _t2 & 0x00000001u;
/* 028E5B08 */ if (_t3) goto L_028E5C24; else goto L_028E5B0C;
L_028E5B0C: ; // 0x28e5b0c
/* 028E5B0C */ _t4 = cpu->r[30] + 0x00000014u;
/* 028E5B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E5B10 */ cpu->r[10] = 0x10140000u;
/* 028E5B14 */ cpu->r[29] = 0x00000000u;
/* 028E5B18 */ cpu->r[10] = cpu->r[10] + 0xFFFFB858u;
/* 028E5B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5B20 */ cpu->r[28] = cpu->r[30] + 0x00000004u;
/* 028E5B24 */ _t5 = cpu->r[30] + 0x00000000u;
/* 028E5B24 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
/* 028E5B28 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5B28 */ _t7 = _t6 & 0x00000001u;
/* 028E5B28 */ if (_t7) goto L_028E5B98; else goto L_028E5B2C;
L_028E5B2C: ; // 0x28e5b2c
/* 028E5B2C */ _t8 = cpu->r[28] + 0x00000004u;
/* 028E5B2C */ cpu->r[25] = rbrew_read32(cpu->mem, _t8);
/* 028E5B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[28]);
/* 028E5B34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5B34 */ _t10 = _t9 & 0x00000001u;
/* 028E5B34 */ if (_t10) goto L_028E5B84; else goto L_028E5B38;
L_028E5B38: ; // 0x28e5b38
/* 028E5B38 */ _t11 = cpu->r[25] + 0x00000004u;
/* 028E5B38 */ cpu->r[26] = rbrew_read32(cpu->mem, _t11);
/* 028E5B3C */ cpu->r[3] = cpu->r[25];
/* 028E5B40 */ Gambit_fn_02801EDC(cpu);
/* 028E5B44 */ _t12 = cpu->r[28] + 0x00000008u;
/* 028E5B44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028E5B48 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028E5B4C */ _t13 = cpu->r[28] + 0x00000008u;
/* 028E5B4C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028E5B50 */ _t14 = cpu->r[25] + 0xFFFFFFBCu;
/* 028E5B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028E5B54 */ _t15 = cpu->r[12] + 0x00000014u;
/* 028E5B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E5B58 */ cpu->r[27] = cpu->r[25] + 0xFFFFFFBCu;
/* 028E5B5C */ cpu->ctr = cpu->r[0];
/* 028E5B60 */ cpu->r[3] = cpu->r[27];
/* 028E5B64 */ cpu->r[4] = 0x00000002u;
/* 028E5B68 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E5B6C */ _t16 = cpu->r[28] + 0x0000000Cu;
/* 028E5B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E5B70 */ _t17 = cpu->r[25] + 0xFFFFFFBCu;
/* 028E5B70 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028E5B74 */ cpu->r[25] = cpu->r[26];
/* 028E5B78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[28]);
/* 028E5B7C */ _t18 = cpu->r[28] + 0x0000000Cu;
/* 028E5B7C */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
/* 028E5B80 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5B80 */ _t20 = _t19 & 0x00000001u;
/* 028E5B80 */ if (_t20) goto L_028E5B84; else goto L_028E5B38;
L_028E5B84: ; // 0x28e5b84
/* 028E5B84 */ _t21 = cpu->r[28] + 0x00000010u;
/* 028E5B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
/* 028E5B88 */ Gambit_fn_02801BB4(cpu);
/* 028E5B8C */ _t22 = cpu->r[28] + 0x0000000Cu;
/* 028E5B8C */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
/* 028E5B90 */ _t23 = cpu->r[28] + 0x00000014u;
/* 028E5B90 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
/* 028E5B94 */ _t24 = cpu->r[28] + 0x00000010u;
/* 028E5B94 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
L_028E5B98: ; // 0x28e5b98
/* 028E5B98 */ _t25 = cpu->r[30] + 0x0000002Cu;
/* 028E5B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E5B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5BA0 */ cpu->r[28] = cpu->r[30] + 0x0000001Cu;
/* 028E5BA4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5BA4 */ _t27 = _t26 & 0x00000001u;
/* 028E5BA4 */ if (_t27) goto L_028E5C14; else goto L_028E5BA8;
L_028E5BA8: ; // 0x28e5ba8
/* 028E5BA8 */ _t28 = cpu->r[28] + 0x00000004u;
/* 028E5BA8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t28);
/* 028E5BAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[28]);
/* 028E5BB0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5BB0 */ _t30 = _t29 & 0x00000001u;
/* 028E5BB0 */ if (_t30) goto L_028E5C00; else goto L_028E5BB4;
L_028E5BB4: ; // 0x28e5bb4
/* 028E5BB4 */ _t31 = cpu->r[25] + 0x00000004u;
/* 028E5BB4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t31);
/* 028E5BB8 */ cpu->r[3] = cpu->r[25];
/* 028E5BBC */ Gambit_fn_02801EDC(cpu);
/* 028E5BC0 */ _t32 = cpu->r[28] + 0x00000008u;
/* 028E5BC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
/* 028E5BC4 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
/* 028E5BC8 */ _t33 = cpu->r[28] + 0x00000008u;
/* 028E5BC8 */ rbrew_write32(cpu->mem, _t33, cpu->r[5]);
/* 028E5BCC */ _t34 = cpu->r[25] + 0xFFFFFFE0u;
/* 028E5BCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
/* 028E5BD0 */ _t35 = cpu->r[6] + 0x0000001Cu;
/* 028E5BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028E5BD4 */ cpu->r[27] = cpu->r[25] + 0xFFFFFFE0u;
/* 028E5BD8 */ cpu->ctr = cpu->r[0];
/* 028E5BDC */ cpu->r[3] = cpu->r[27];
/* 028E5BE0 */ cpu->r[4] = 0x00000002u;
/* 028E5BE4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E5BE8 */ _t36 = cpu->r[28] + 0x0000000Cu;
/* 028E5BE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
/* 028E5BEC */ _t37 = cpu->r[25] + 0xFFFFFFE0u;
/* 028E5BEC */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
/* 028E5BF0 */ cpu->r[25] = cpu->r[26];
/* 028E5BF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[28]);
/* 028E5BF8 */ _t38 = cpu->r[28] + 0x0000000Cu;
/* 028E5BF8 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
/* 028E5BFC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5BFC */ _t40 = _t39 & 0x00000001u;
/* 028E5BFC */ if (_t40) goto L_028E5C00; else goto L_028E5BB4;
L_028E5C00: ; // 0x28e5c00
/* 028E5C00 */ _t41 = cpu->r[28] + 0x00000010u;
/* 028E5C00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
/* 028E5C04 */ Gambit_fn_02801BB4(cpu);
/* 028E5C08 */ _t42 = cpu->r[28] + 0x0000000Cu;
/* 028E5C08 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
/* 028E5C0C */ _t43 = cpu->r[28] + 0x00000014u;
/* 028E5C0C */ rbrew_write32(cpu->mem, _t43, cpu->r[29]);
/* 028E5C10 */ _t44 = cpu->r[28] + 0x00000010u;
/* 028E5C10 */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
L_028E5C14: ; // 0x28e5c14
/* 028E5C14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E5C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5C18 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5C18 */ _t46 = _t45 & 0x00000001u;
/* 028E5C18 */ if (_t46) goto L_028E5C24; else goto L_028E5C1C;
L_028E5C1C: ; // 0x28e5c1c
/* 028E5C1C */ cpu->r[3] = cpu->r[30];
/* 028E5C20 */ Gambit_fn_02801BB0(cpu);
L_028E5C24: ; // 0x28e5c24
/* 028E5C24 */ /* nop */
/* 028E5C28 */ _t47 = cpu->r[1] + 0x0000002Cu;
/* 028E5C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028E5C2C */ cpu->lr = cpu->r[0];
/* 028E5C30 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E5C34 */ return;
}
// fn_028E5C38 @ 0x28e5c38
void Gambit_fn_028E5C38(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028E5C38: ; // 0x28e5c38
/* 028E5C38 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E5C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5C38 */ cpu->r[1] = _t0;
/* 028E5C3C */ /* nop */
/* 028E5C40 */ cpu->r[0] = cpu->lr;
/* 028E5C44 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E5C44 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E5C48 */ cpu->r[29] = cpu->r[5];
/* 028E5C4C */ cpu->r[30] = cpu->r[4];
/* 028E5C50 */ _t2 = cpu->r[30] + 0x00000000u;
/* 028E5C50 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2);
/* 028E5C54 */ cpu->r[28] = cpu->r[3];
/* 028E5C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028E5C5C */ cpu->r[27] = 0x00000000u;
/* 028E5C60 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5C60 */ _t4 = _t3 & 0x00000001u;
/* 028E5C60 */ if (_t4) goto L_028E5C64; else goto L_028E5CB8;
L_028E5C64: ; // 0x28e5c64
/* 028E5C64 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x0000004Cu);
/* 028E5C68 */ cpu->r[5] = 0x00000004u;
/* 028E5C6C */ cpu->r[4] = cpu->r[29];
/* 028E5C70 */ cpu->r[3] = cpu->r[31];
/* 028E5C74 */ Gambit_fn_02801ADC(cpu);
/* 028E5C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5C7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5C7C */ _t6 = _t5 & 0x00000001u;
/* 028E5C7C */ if (_t6) goto L_028E5CB8; else goto L_028E5C80;
L_028E5C80: ; // 0x28e5c80
/* 028E5C80 */ cpu->r[0] = cpu->r[26] + 0xFFFFFFFFu;
/* 028E5C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5C84 */ _t7 = cpu->r[28] + 0x00000010u;
/* 028E5C84 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
/* 028E5C88 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5C88 */ _t9 = _t8 & 0x00000001u;
/* 028E5C88 */ if (_t9) goto L_028E5C8C; else goto L_028E5CA8;
L_028E5C8C: ; // 0x28e5c8c
/* 028E5C8C */ cpu->ctr = cpu->r[0];
/* 028E5C90 */ cpu->r[10] = 0x00000000u;
/* 028E5C94 */ cpu->r[11] = cpu->r[3] + 0x0000004Cu;
L_028E5C98: ; // 0x28e5c98
/* 028E5C98 */ _t10 = cpu->r[3] + cpu->r[10];
/* 028E5C98 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
/* 028E5C9C */ cpu->r[10] = cpu->r[10] + 0x0000004Cu;
/* 028E5CA0 */ cpu->r[11] = cpu->r[11] + 0x0000004Cu;
/* 028E5CA4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E5CA4 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E5CA4 */ _t12 = _t11 >> (0x00000002u & 31u);
/* 028E5CA4 */ _t13 = _t12 & 0x00000001u;
/* 028E5CA4 */ if (_t13) goto L_028E5C98; else goto L_028E5CA8;
L_028E5CA8: ; // 0x28e5ca8
/* 028E5CA8 */ cpu->r[9] = cpu->r[3] + cpu->r[31];
/* 028E5CAC */ _t14 = cpu->r[9] + 0xFFFFFFB4u;
/* 028E5CAC */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
/* 028E5CB0 */ _t15 = cpu->r[28] + 0x00000018u;
/* 028E5CB0 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]);
/* 028E5CB4 */ _t16 = cpu->r[28] + 0x00000014u;
/* 028E5CB4 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
L_028E5CB8: ; // 0x28e5cb8
/* 028E5CB8 */ _t17 = cpu->r[30] + 0x00000004u;
/* 028E5CB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E5CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E5CC0 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5CC0 */ _t19 = _t18 & 0x00000001u;
/* 028E5CC0 */ if (_t19) goto L_028E5CC4; else goto L_028E5D18;
L_028E5CC4: ; // 0x28e5cc4
/* 028E5CC4 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000028u);
/* 028E5CC8 */ cpu->r[5] = 0x00000004u;
/* 028E5CCC */ cpu->r[4] = cpu->r[29];
/* 028E5CD0 */ cpu->r[3] = cpu->r[31];
/* 028E5CD4 */ Gambit_fn_02801ADC(cpu);
/* 028E5CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5CDC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5CDC */ _t21 = _t20 & 0x00000001u;
/* 028E5CDC */ if (_t21) goto L_028E5D18; else goto L_028E5CE0;
L_028E5CE0: ; // 0x28e5ce0
/* 028E5CE0 */ cpu->r[0] = cpu->r[30] + 0xFFFFFFFFu;
/* 028E5CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5CE4 */ _t22 = cpu->r[28] + 0x00000028u;
/* 028E5CE4 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
/* 028E5CE8 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E5CE8 */ _t24 = _t23 & 0x00000001u;
/* 028E5CE8 */ if (_t24) goto L_028E5CEC; else goto L_028E5D08;
L_028E5CEC: ; // 0x28e5cec
/* 028E5CEC */ cpu->ctr = cpu->r[0];
/* 028E5CF0 */ cpu->r[7] = 0x00000000u;
/* 028E5CF4 */ cpu->r[8] = cpu->r[3] + 0x00000028u;
L_028E5CF8: ; // 0x28e5cf8
/* 028E5CF8 */ _t25 = cpu->r[3] + cpu->r[7];
/* 028E5CF8 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
/* 028E5CFC */ cpu->r[7] = cpu->r[7] + 0x00000028u;
/* 028E5D00 */ cpu->r[8] = cpu->r[8] + 0x00000028u;
/* 028E5D04 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E5D04 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E5D04 */ _t27 = _t26 >> (0x00000002u & 31u);
/* 028E5D04 */ _t28 = _t27 & 0x00000001u;
/* 028E5D04 */ if (_t28) goto L_028E5CF8; else goto L_028E5D08;
L_028E5D08: ; // 0x28e5d08
/* 028E5D08 */ cpu->r[12] = cpu->r[3] + cpu->r[31];
/* 028E5D0C */ _t29 = cpu->r[12] + 0xFFFFFFD8u;
/* 028E5D0C */ rbrew_write32(cpu->mem, _t29, cpu->r[27]);
/* 028E5D10 */ _t30 = cpu->r[28] + 0x00000030u;
/* 028E5D10 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
/* 028E5D14 */ _t31 = cpu->r[28] + 0x0000002Cu;
/* 028E5D14 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
L_028E5D18: ; // 0x28e5d18
/* 028E5D18 */ /* nop */
/* 028E5D1C */ _t32 = cpu->r[1] + 0x00000024u;
/* 028E5D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028E5D20 */ cpu->lr = cpu->r[0];
/* 028E5D24 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E5D28 */ return;
}
// fn_028E5D2C @ 0x28e5d2c
void Gambit_fn_028E5D2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028E5D2C: ; // 0x28e5d2c
/* 028E5D2C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E5D2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5D2C */ cpu->r[1] = _t0;
/* 028E5D30 */ /* nop */
/* 028E5D34 */ cpu->r[0] = cpu->lr;
/* 028E5D38 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028E5D38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E5D3C */ _t2 = cpu->r[3] + 0x00000014u;
/* 028E5D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E5D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5D44 */ cpu->r[27] = cpu->r[4];
/* 028E5D48 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5D48 */ _t4 = _t3 & 0x00000001u;
/* 028E5D48 */ if (_t4) goto L_028E5E20; else goto L_028E5D4C;
L_028E5D4C: ; // 0x28e5d4c
/* 028E5D4C */ _t5 = cpu->r[3] + 0x00000008u;
/* 028E5D4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028E5D50 */ cpu->r[26] = cpu->r[3] + 0xFFFFFFC0u;
/* 028E5D54 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFBCu;
/* 028E5D58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
/* 028E5D5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5D5C */ _t7 = _t6 & 0x00000001u;
/* 028E5D5C */ if (_t7) goto L_028E5E20; else goto L_028E5D60;
L_028E5D60: ; // 0x28e5d60
/* 028E5D60 */ cpu->r[31] = 0x10110000u;
/* 028E5D64 */ cpu->r[25] = 0x00080000u;
/* 028E5D68 */ _t8 = cpu->r[31] + 0x00007399u;
/* 028E5D68 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
/* 028E5D6C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
L_028E5D70: ; // 0x28e5d70
/* 028E5D70 */ cpu->r[3] = cpu->r[30];
/* 028E5D74 */ Gambit_fn_028E59F0(cpu);
/* 028E5D78 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028E5D78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028E5D7C */ _t10 = cpu->r[12] + 0x00000014u;
/* 028E5D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E5D80 */ cpu->ctr = cpu->r[0];
/* 028E5D84 */ cpu->r[28] = cpu->r[3];
/* 028E5D88 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E5D8C */ _t11 = cpu->r[28] + 0x00000004u;
/* 028E5D8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
/* 028E5D90 */ _t12 = cpu->r[8] + 0x00000014u;
/* 028E5D90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E5D94 */ cpu->ctr = cpu->r[0];
/* 028E5D98 */ cpu->r[3] = cpu->r[28];
/* 028E5D9C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E5DA0 */ _t13 = cpu->r[27] + 0x00000004u;
/* 028E5DA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028E5DA4 */ _t14 = cpu->r[10] + 0x00000014u;
/* 028E5DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E5DA8 */ cpu->ctr = cpu->r[0];
/* 028E5DAC */ _t15 = cpu->r[28] + 0x00000000u;
/* 028E5DAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E5DB0 */ cpu->r[3] = cpu->r[27];
/* 028E5DB4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E5DB8 */ _t16 = cpu->r[27] + 0x00000000u;
/* 028E5DB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
/* 028E5DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[6]);
/* 028E5DC0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5DC0 */ _t18 = _t17 & 0x00000001u;
/* 028E5DC0 */ if (_t18) goto L_028E5DF8; else goto L_028E5DC4;
L_028E5DC4: ; // 0x28e5dc4
/* 028E5DC4 */ _t19 = cpu->r[27] + 0x00000000u;
/* 028E5DC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
/* 028E5DC8 */ cpu->ctr = cpu->r[25];
/* 028E5DCC */ _t20 = cpu->r[28] + 0x00000000u;
/* 028E5DCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028E5DD0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
L_028E5DD4: ; // 0x28e5dd4
/* 028E5DD4 */ _t21 = cpu->r[12] + 0x00000000u;
/* 028E5DD4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
/* 028E5DD8 */ _t22 = cpu->r[7] + 0x00000001u;
/* 028E5DD8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t22);
/* 028E5DD8 */ cpu->r[7] = _t22;
/* 028E5DDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]);
/* 028E5DE0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5DE0 */ _t24 = _t23 & 0x00000001u;
/* 028E5DE0 */ if (_t24) goto L_028E5DE4; else goto L_028E5E10;
L_028E5DE4: ; // 0x28e5de4
/* 028E5DE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028E5DE8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5DE8 */ _t26 = _t25 & 0x00000001u;
/* 028E5DE8 */ if (_t26) goto L_028E5DF8; else goto L_028E5DEC;
L_028E5DEC: ; // 0x28e5dec
/* 028E5DEC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E5DF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E5DF0 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E5DF0 */ _t28 = _t27 >> (0x00000002u & 31u);
/* 028E5DF0 */ _t29 = _t28 & 0x00000001u;
/* 028E5DF0 */ if (_t29) goto L_028E5DD4; else goto L_028E5DF4;
L_028E5DF4: ; // 0x28e5df4
/* 028E5DF4 */ goto L_028E5E10;
L_028E5DF8: ; // 0x28e5df8
/* 028E5DF8 */ cpu->r[3] = cpu->r[30];
/* 028E5DFC */ /* nop */
/* 028E5E00 */ _t30 = cpu->r[1] + 0x0000002Cu;
/* 028E5E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E5E04 */ cpu->lr = cpu->r[0];
/* 028E5E08 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E5E0C */ return;
L_028E5E10: ; // 0x28e5e10
/* 028E5E10 */ _t31 = cpu->r[30] + 0x00000048u;
/* 028E5E10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
/* 028E5E14 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFBCu;
/* 028E5E18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
/* 028E5E1C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5E1C */ _t33 = _t32 & 0x00000001u;
/* 028E5E1C */ if (_t33) goto L_028E5E20; else goto L_028E5D70;
L_028E5E20: ; // 0x28e5e20
/* 028E5E20 */ /* nop */
/* 028E5E24 */ _t34 = cpu->r[1] + 0x0000002Cu;
/* 028E5E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028E5E28 */ cpu->lr = cpu->r[0];
/* 028E5E2C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E5E30 */ cpu->r[3] = 0x00000000u;
/* 028E5E34 */ return;
}
// fn_028E5E38 @ 0x28e5e38
void Gambit_fn_028E5E38(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E5E38: ; // 0x28e5e38
/* 028E5E38 */ cpu->r[0] = cpu->lr;
/* 028E5E3C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E5E3C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E5E40 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E5E40 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E5E40 */ cpu->r[1] = _t1;
/* 028E5E44 */ Gambit_fn_028E5D2C(cpu);
/* 028E5E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5E4C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5E4C */ _t3 = _t2 & 0x00000001u;
/* 028E5E4C */ if (_t3) goto L_028E5E54; else goto L_028E5E50;
L_028E5E50: ; // 0x28e5e50
/* 028E5E50 */ Gambit_fn_028E59F8(cpu);
L_028E5E54: ; // 0x28e5e54
/* 028E5E54 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028E5E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E5E58 */ cpu->lr = cpu->r[0];
/* 028E5E5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E5E60 */ return;
}
// fn_028E5E40 @ 0x28e5e40
void Gambit_fn_028E5E40(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E5E40: ; // 0x28e5e40
/* 028E5E40 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E5E40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5E40 */ cpu->r[1] = _t0;
/* 028E5E44 */ Gambit_fn_028E5D2C(cpu);
/* 028E5E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5E4C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5E4C */ _t2 = _t1 & 0x00000001u;
/* 028E5E4C */ if (_t2) goto L_028E5E54; else goto L_028E5E50;
L_028E5E50: ; // 0x28e5e50
/* 028E5E50 */ Gambit_fn_028E59F8(cpu);
L_028E5E54: ; // 0x28e5e54
/* 028E5E54 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E5E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E5E58 */ cpu->lr = cpu->r[0];
/* 028E5E5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E5E60 */ return;
}
// fn_028E5E64 @ 0x28e5e64
void Gambit_fn_028E5E64(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_028E5E64: ; // 0x28e5e64
/* 028E5E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5E68 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5E68 */ _t17 = _t16 & 0x00000001u;
/* 028E5E68 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5E68 */ goto L_028E5E6C;
L_028E5E6C: ; // 0x28e5e6c
/* 028E5E6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E5E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5E70 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5E70 */ _t19 = _t18 & 0x00000001u;
/* 028E5E70 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5E70 */ goto L_028E5E74;
L_028E5E74: ; // 0x28e5e74
/* 028E5E74 */ goto L_02801BB0;
}
// fn_028E5E78 @ 0x28e5e78
void Gambit_fn_028E5E78(CPUState* cpu) {
L_028E5E78: ; // 0x28e5e78
/* 028E5E78 */ return;
}
// fn_028E5E7C @ 0x28e5e7c
void Gambit_fn_028E5E7C(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_028E5E7C: ; // 0x28e5e7c
/* 028E5E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5E80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5E80 */ _t17 = _t16 & 0x00000001u;
/* 028E5E80 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5E80 */ goto L_028E5E84;
L_028E5E84: ; // 0x28e5e84
/* 028E5E84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E5E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5E88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5E88 */ _t19 = _t18 & 0x00000001u;
/* 028E5E88 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5E88 */ goto L_028E5E8C;
L_028E5E8C: ; // 0x28e5e8c
/* 028E5E8C */ goto L_02801BB0;
}
// fn_028E5E90 @ 0x28e5e90
void Gambit_fn_028E5E90(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E5E90: ; // 0x28e5e90
/* 028E5E90 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028E5E90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028E5E94 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028E5E94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028E5E98 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028E5E9C */ cpu->r[11] = 0x10110000u;
/* 028E5EA0 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028E5EA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028E5EA4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028E5EA4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028E5EA8 */ return;
}
// fn_028E5EAC @ 0x28e5eac
void Gambit_fn_028E5EAC(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_028E5EAC: ; // 0x28e5eac
/* 028E5EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5EB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5EB0 */ _t17 = _t16 & 0x00000001u;
/* 028E5EB0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5EB0 */ goto L_028E5EB4;
L_028E5EB4: ; // 0x28e5eb4
/* 028E5EB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E5EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5EB8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5EB8 */ _t19 = _t18 & 0x00000001u;
/* 028E5EB8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5EB8 */ goto L_028E5EBC;
L_028E5EBC: ; // 0x28e5ebc
/* 028E5EBC */ goto L_02801BB0;
}
// fn_028E5EC0 @ 0x28e5ec0
void Gambit_fn_028E5EC0(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_028E5EC0: ; // 0x28e5ec0
/* 028E5EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5EC4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5EC4 */ _t17 = _t16 & 0x00000001u;
/* 028E5EC4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5EC4 */ goto L_028E5EC8;
L_028E5EC8: ; // 0x28e5ec8
/* 028E5EC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E5EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5ECC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5ECC */ _t19 = _t18 & 0x00000001u;
/* 028E5ECC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5ECC */ goto L_028E5ED0;
L_028E5ED0: ; // 0x28e5ed0
/* 028E5ED0 */ goto L_02801BB0;
}
// fn_028E5ED4 @ 0x28e5ed4
void Gambit_fn_028E5ED4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028E5ED4: ; // 0x28e5ed4
/* 028E5ED4 */ cpu->r[12] = cpu->r[3];
/* 028E5ED8 */ _t0 = cpu->r[12] + 0x00000000u;
/* 028E5ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E5EDC */ cpu->r[3] = 0x00000000u;
/* 028E5EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5EE4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5EE4 */ _t2 = _t1 & 0x00000001u;
/* 028E5EE4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5EE4 */ goto L_028E5EE8;
L_028E5EE8: ; // 0x28e5ee8
/* 028E5EE8 */ _t3 = cpu->r[12] + 0x00000004u;
/* 028E5EE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028E5EEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E5EF0 */ _t4 = cpu->r[12] + 0x00000008u;
/* 028E5EF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028E5EF4 */ cpu->r[10] = cpu->r[11] + cpu->r[0];
/* 028E5EF8 */ _t5 = cpu->r[10] + 0x00000004u;
/* 028E5EF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028E5EFC */ cpu->r[3] = cpu->r[12] + cpu->r[10];
/* 028E5F00 */ return;
}
// fn_028E5F04 @ 0x28e5f04
void Gambit_fn_028E5F04(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E5F04: ; // 0x28e5f04
/* 028E5F04 */ cpu->r[12] = cpu->r[3];
/* 028E5F08 */ _t0 = cpu->r[12] + 0x00000000u;
/* 028E5F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E5F0C */ cpu->r[3] = 0x00000000u;
/* 028E5F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5F14 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5F14 */ _t2 = _t1 & 0x00000001u;
/* 028E5F14 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5F14 */ goto L_028E5F18;
L_028E5F18: ; // 0x28e5f18
/* 028E5F18 */ _t3 = cpu->r[12] + 0x00000004u;
/* 028E5F18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028E5F1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E5F20 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
/* 028E5F24 */ _t4 = cpu->r[12] + 0x00000008u;
/* 028E5F24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028E5F28 */ return;
}
// fn_028E5F2C @ 0x28e5f2c
void Gambit_fn_028E5F2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E5F2C: ; // 0x28e5f2c
/* 028E5F2C */ cpu->r[12] = cpu->r[3];
/* 028E5F30 */ _t0 = cpu->r[12] + 0x00000000u;
/* 028E5F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E5F34 */ cpu->r[3] = 0x00000000u;
/* 028E5F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E5F3C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5F3C */ _t2 = _t1 & 0x00000001u;
/* 028E5F3C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E5F3C */ goto L_028E5F40;
L_028E5F40: ; // 0x28e5f40
/* 028E5F40 */ _t3 = cpu->r[12] + 0x00000004u;
/* 028E5F40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028E5F44 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E5F48 */ cpu->r[3] = cpu->r[11] + cpu->r[12];
/* 028E5F4C */ return;
}
// fn_028E5F50 @ 0x28e5f50
void Gambit_fn_028E5F50(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E5F50: ; // 0x28e5f50
/* 028E5F50 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E5F50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E5F50 */ cpu->r[1] = _t0;
/* 028E5F54 */ cpu->r[0] = cpu->lr;
/* 028E5F58 */ /* nop */
/* 028E5F5C */ cpu->r[31] = cpu->r[3];
/* 028E5F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5F60 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E5F60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E5F64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5F64 */ _t3 = _t2 & 0x00000001u;
/* 028E5F64 */ if (_t3) goto L_028E5F68; else goto L_028E5F78;
L_028E5F68: ; // 0x28e5f68
/* 028E5F68 */ cpu->r[3] = 0x0000013Cu;
/* 028E5F6C */ Gambit_fn_02801A78(cpu);
/* 028E5F70 */ cpu->r[31] = cpu->r[3];
/* 028E5F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E5F74 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5F74 */ _t5 = _t4 & 0x00000001u;
/* 028E5F74 */ if (_t5) goto L_028E60EC; else goto L_028E5F78;
L_028E5F78: ; // 0x28e5f78
/* 028E5F78 */ cpu->r[30] = 0x10140000u;
/* 028E5F7C */ cpu->r[28] = 0x10110000u;
/* 028E5F80 */ cpu->r[27] = cpu->r[31];
/* 028E5F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E5F84 */ cpu->r[30] = cpu->r[30] + 0xFFFFB888u;
/* 028E5F88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5F88 */ _t7 = _t6 & 0x00000001u;
/* 028E5F88 */ if (_t7) goto L_028E5F8C; else goto L_028E5F9C;
L_028E5F8C: ; // 0x28e5f8c
/* 028E5F8C */ cpu->r[3] = 0x0000004Cu;
/* 028E5F90 */ Gambit_fn_02801A78(cpu);
/* 028E5F94 */ cpu->r[27] = cpu->r[3];
/* 028E5F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E5F98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5F98 */ _t9 = _t8 & 0x00000001u;
/* 028E5F98 */ if (_t9) goto L_028E6024; else goto L_028E5F9C;
L_028E5F9C: ; // 0x28e5f9c
/* 028E5F9C */ cpu->r[29] = cpu->r[27];
/* 028E5F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5FA0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5FA0 */ _t11 = _t10 & 0x00000001u;
/* 028E5FA0 */ if (_t11) goto L_028E5FA4; else goto L_028E5FB4;
L_028E5FA4: ; // 0x28e5fa4
/* 028E5FA4 */ cpu->r[3] = 0x0000004Cu;
/* 028E5FA8 */ Gambit_fn_02801A78(cpu);
/* 028E5FAC */ cpu->r[29] = cpu->r[3];
/* 028E5FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E5FB0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5FB0 */ _t13 = _t12 & 0x00000001u;
/* 028E5FB0 */ if (_t13) goto L_028E6018; else goto L_028E5FB4;
L_028E5FB4: ; // 0x28e5fb4
/* 028E5FB4 */ cpu->r[3] = cpu->r[29];
/* 028E5FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5FB8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5FB8 */ _t15 = _t14 & 0x00000001u;
/* 028E5FB8 */ if (_t15) goto L_028E5FBC; else goto L_028E5FE8;
L_028E5FBC: ; // 0x28e5fbc
/* 028E5FBC */ cpu->r[3] = 0x0000000Cu;
/* 028E5FC0 */ Gambit_fn_02801A78(cpu);
/* 028E5FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E5FC8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E5FC8 */ _t17 = _t16 & 0x00000001u;
/* 028E5FC8 */ if (_t17) goto L_028E5FCC; else goto L_028E5FE8;
L_028E5FCC: ; // 0x28e5fcc
/* 028E5FCC */ cpu->r[11] = 0x10140000u;
/* 028E5FD0 */ _t18 = cpu->r[28] + 0x00007399u;
/* 028E5FD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
/* 028E5FD4 */ cpu->r[11] = cpu->r[11] + 0xFFFFB8A0u;
/* 028E5FD8 */ _t19 = cpu->r[29] + 0x00000000u;
/* 028E5FD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028E5FDC */ _t20 = cpu->r[29] + 0x00000004u;
/* 028E5FDC */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
/* 028E5FE0 */ _t21 = cpu->r[12] + 0x00000000u;
/* 028E5FE0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
/* 028E5FE4 */ goto L_028E6018;
L_028E5FE8: ; // 0x28e5fe8
/* 028E5FE8 */ cpu->r[9] = cpu->r[29] + 0x0000000Cu;
/* 028E5FEC */ _t22 = cpu->r[3] + 0x00000004u;
/* 028E5FEC */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
/* 028E5FF0 */ cpu->r[0] = 0x00000040u;
/* 028E5FF4 */ _t23 = cpu->r[3] + 0x00000000u;
/* 028E5FF4 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
/* 028E5FF8 */ _t24 = cpu->r[3] + 0x00000008u;
/* 028E5FF8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028E5FFC */ _t25 = cpu->r[28] + 0x00007399u;
/* 028E5FFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
/* 028E6000 */ cpu->r[11] = 0x10140000u;
/* 028E6004 */ _t26 = cpu->r[29] + 0x00000000u;
/* 028E6004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028E6008 */ cpu->r[11] = cpu->r[11] + 0xFFFFB8A0u;
/* 028E600C */ _t27 = cpu->r[29] + 0x0000004Bu;
/* 028E600C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
/* 028E6010 */ _t28 = cpu->r[29] + 0x00000004u;
/* 028E6010 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
/* 028E6014 */ _t29 = cpu->r[12] + 0x00000000u;
/* 028E6014 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
L_028E6018: ; // 0x28e6018
/* 028E6018 */ cpu->r[0] = 0x10140000u;
/* 028E601C */ cpu->r[0] = cpu->r[0] + 0xFFFFB8B8u;
/* 028E6020 */ _t30 = cpu->r[27] + 0x00000004u;
/* 028E6020 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
L_028E6024: ; // 0x28e6024
/* 028E6024 */ cpu->r[29] = 0x00000000u;
/* 028E6028 */ cpu->r[6] = 0x000000FFu;
/* 028E602C */ _t31 = cpu->r[31] + 0x00000050u;
/* 028E602C */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
/* 028E6030 */ cpu->r[26] = cpu->r[31] + 0x00000054u;
/* 028E6030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028E6034 */ _t32 = cpu->r[31] + 0x0000004Cu;
/* 028E6034 */ rbrew_write32(cpu->mem, _t32, cpu->r[6]);
/* 028E6038 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6038 */ _t34 = _t33 & 0x00000001u;
/* 028E6038 */ if (_t34) goto L_028E603C; else goto L_028E604C;
L_028E603C: ; // 0x28e603c
/* 028E603C */ cpu->r[3] = 0x0000008Cu;
/* 028E6040 */ Gambit_fn_02801A78(cpu);
/* 028E6044 */ cpu->r[26] = cpu->r[3];
/* 028E6044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028E6048 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6048 */ _t36 = _t35 & 0x00000001u;
/* 028E6048 */ if (_t36) goto L_028E60D4; else goto L_028E604C;
L_028E604C: ; // 0x28e604c
/* 028E604C */ cpu->r[27] = cpu->r[26];
/* 028E604C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E6050 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6050 */ _t38 = _t37 & 0x00000001u;
/* 028E6050 */ if (_t38) goto L_028E6054; else goto L_028E6064;
L_028E6054: ; // 0x28e6054
/* 028E6054 */ cpu->r[3] = 0x0000008Cu;
/* 028E6058 */ Gambit_fn_02801A78(cpu);
/* 028E605C */ cpu->r[27] = cpu->r[3];
/* 028E605C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E6060 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6060 */ _t40 = _t39 & 0x00000001u;
/* 028E6060 */ if (_t40) goto L_028E60C8; else goto L_028E6064;
L_028E6064: ; // 0x28e6064
/* 028E6064 */ cpu->r[3] = cpu->r[27];
/* 028E6064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6068 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6068 */ _t42 = _t41 & 0x00000001u;
/* 028E6068 */ if (_t42) goto L_028E606C; else goto L_028E6098;
L_028E606C: ; // 0x28e606c
/* 028E606C */ cpu->r[3] = 0x0000000Cu;
/* 028E6070 */ Gambit_fn_02801A78(cpu);
/* 028E6074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6078 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6078 */ _t44 = _t43 & 0x00000001u;
/* 028E6078 */ if (_t44) goto L_028E607C; else goto L_028E6098;
L_028E607C: ; // 0x28e607c
/* 028E607C */ cpu->r[9] = 0x10140000u;
/* 028E6080 */ _t45 = cpu->r[28] + 0x00007399u;
/* 028E6080 */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
/* 028E6084 */ cpu->r[9] = cpu->r[9] + 0xFFFFB8D0u;
/* 028E6088 */ _t46 = cpu->r[27] + 0x00000000u;
/* 028E6088 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
/* 028E608C */ _t47 = cpu->r[27] + 0x00000004u;
/* 028E608C */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
/* 028E6090 */ _t48 = cpu->r[10] + 0x00000000u;
/* 028E6090 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[0]);
/* 028E6094 */ goto L_028E60C8;
L_028E6098: ; // 0x28e6098
/* 028E6098 */ cpu->r[7] = cpu->r[27] + 0x0000000Cu;
/* 028E609C */ _t49 = cpu->r[3] + 0x00000004u;
/* 028E609C */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
/* 028E60A0 */ cpu->r[0] = 0x00000080u;
/* 028E60A4 */ _t50 = cpu->r[3] + 0x00000000u;
/* 028E60A4 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
/* 028E60A8 */ _t51 = cpu->r[3] + 0x00000008u;
/* 028E60A8 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
/* 028E60AC */ _t52 = cpu->r[28] + 0x00007399u;
/* 028E60AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
/* 028E60B0 */ cpu->r[9] = 0x10140000u;
/* 028E60B4 */ _t53 = cpu->r[27] + 0x00000000u;
/* 028E60B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
/* 028E60B8 */ cpu->r[9] = cpu->r[9] + 0xFFFFB8D0u;
/* 028E60BC */ _t54 = cpu->r[27] + 0x0000008Bu;
/* 028E60BC */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
/* 028E60C0 */ _t55 = cpu->r[27] + 0x00000004u;
/* 028E60C0 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
/* 028E60C4 */ _t56 = cpu->r[10] + 0x00000000u;
/* 028E60C4 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]);
L_028E60C8: ; // 0x28e60c8
/* 028E60C8 */ cpu->r[0] = 0x10140000u;
/* 028E60CC */ cpu->r[0] = cpu->r[0] + 0xFFFFB8E8u;
/* 028E60D0 */ _t57 = cpu->r[26] + 0x00000004u;
/* 028E60D0 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
L_028E60D4: ; // 0x28e60d4
/* 028E60D4 */ _t58 = cpu->r[31] + 0x000000E8u;
/* 028E60D4 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[29]);
/* 028E60D8 */ cpu->r[12] = 0x10140000u;
/* 028E60DC */ _t59 = cpu->r[31] + 0x000000E0u;
/* 028E60DC */ rbrew_write16(cpu->mem, _t59, (uint16_t)cpu->r[29]);
/* 028E60E0 */ _t60 = cpu->r[12] + 0xFFFFB900u;
/* 028E60E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t60);
/* 028E60E4 */ _t61 = cpu->r[31] + 0x00000138u;
/* 028E60E4 */ rbrew_write32(cpu->mem, _t61, cpu->r[29]);
/* 028E60E8 */ _t62 = cpu->r[31] + 0x000000E4u;
/* 028E60E8 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
L_028E60EC: ; // 0x28e60ec
/* 028E60EC */ cpu->r[3] = cpu->r[31];
/* 028E60F0 */ /* nop */
/* 028E60F4 */ _t63 = cpu->r[1] + 0x00000024u;
/* 028E60F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
/* 028E60F8 */ cpu->lr = cpu->r[0];
/* 028E60FC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E6100 */ return;
}
// fn_028E6104 @ 0x28e6104
void Gambit_fn_028E6104(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E6104: ; // 0x28e6104
/* 028E6104 */ _t0 = cpu->r[3] + 0x00000050u;
/* 028E6104 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
/* 028E6108 */ _t1 = cpu->r[3] + 0x00000138u;
/* 028E6108 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
/* 028E610C */ return;
}
// fn_028E6110 @ 0x28e6110
void Gambit_fn_028E6110(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028E6110: ; // 0x28e6110
/* 028E6110 */ cpu->r[0] = cpu->lr;
/* 028E6114 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E6114 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E6118 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E6118 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E6118 */ cpu->r[1] = _t1;
/* 028E611C */ _t2 = cpu->r[3] + 0x00000138u;
/* 028E611C */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028E6120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E6124 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6124 */ _t4 = _t3 & 0x00000001u;
/* 028E6124 */ if (_t4) goto L_028E6154; else goto L_028E6128;
L_028E6128: ; // 0x28e6128
/* 028E6128 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E612C */ cpu->r[5] = 0x00000000u;
/* 028E6130 */ Gambit_fn_028E647C(cpu);
/* 028E6134 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028E6134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028E6138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E613C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E613C */ _t7 = _t6 & 0x00000001u;
/* 028E613C */ if (_t7) goto L_028E6154; else goto L_028E6140;
L_028E6140: ; // 0x28e6140
/* 028E6140 */ _t8 = cpu->r[1] + 0x00000024u;
/* 028E6140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E6144 */ _t9 = cpu->r[12] + 0x00000011u;
/* 028E6144 */ cpu->r[3] = rbrew_read8(cpu->mem, _t9);
/* 028E6148 */ cpu->lr = cpu->r[0];
/* 028E614C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E6150 */ return;
L_028E6154: ; // 0x28e6154
/* 028E6154 */ _t10 = cpu->r[1] + 0x00000024u;
/* 028E6154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E6158 */ cpu->lr = cpu->r[0];
/* 028E615C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E6160 */ cpu->r[3] = 0x00000000u;
/* 028E6164 */ return;
}
// fn_028E6118 @ 0x28e6118
void Gambit_fn_028E6118(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028E6118: ; // 0x28e6118
/* 028E6118 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E6118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6118 */ cpu->r[1] = _t0;
/* 028E611C */ _t1 = cpu->r[3] + 0x00000138u;
/* 028E611C */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
/* 028E6120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E6124 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6124 */ _t3 = _t2 & 0x00000001u;
/* 028E6124 */ if (_t3) goto L_028E6154; else goto L_028E6128;
L_028E6128: ; // 0x28e6128
/* 028E6128 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E612C */ cpu->r[5] = 0x00000000u;
/* 028E6130 */ Gambit_fn_028E647C(cpu);
/* 028E6134 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028E6134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028E6138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E613C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E613C */ _t6 = _t5 & 0x00000001u;
/* 028E613C */ if (_t6) goto L_028E6154; else goto L_028E6140;
L_028E6140: ; // 0x28e6140
/* 028E6140 */ _t7 = cpu->r[1] + 0x00000024u;
/* 028E6140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E6144 */ _t8 = cpu->r[12] + 0x00000011u;
/* 028E6144 */ cpu->r[3] = rbrew_read8(cpu->mem, _t8);
/* 028E6148 */ cpu->lr = cpu->r[0];
/* 028E614C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E6150 */ return;
L_028E6154: ; // 0x28e6154
/* 028E6154 */ _t9 = cpu->r[1] + 0x00000024u;
/* 028E6154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E6158 */ cpu->lr = cpu->r[0];
/* 028E615C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E6160 */ cpu->r[3] = 0x00000000u;
/* 028E6164 */ return;
}
// fn_028E6168 @ 0x28e6168
void Gambit_fn_028E6168(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028E6168: ; // 0x28e6168
/* 028E6168 */ cpu->r[0] = cpu->lr;
/* 028E616C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E616C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E6170 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E6170 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E6170 */ cpu->r[1] = _t1;
/* 028E6174 */ _t2 = cpu->r[3] + 0x00000138u;
/* 028E6174 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028E6178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E617C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E617C */ _t4 = _t3 & 0x00000001u;
/* 028E617C */ if (_t4) goto L_028E6180; else goto L_028E6194;
L_028E6180: ; // 0x28e6180
/* 028E6180 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028E6180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E6184 */ cpu->lr = cpu->r[0];
/* 028E6188 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E618C */ cpu->r[3] = 0x00000000u;
/* 028E6190 */ return;
L_028E6194: ; // 0x28e6194
/* 028E6194 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6198 */ cpu->r[5] = 0x00000000u;
/* 028E619C */ Gambit_fn_028E647C(cpu);
/* 028E61A0 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028E61A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028E61A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E61A8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E61A8 */ _t8 = _t7 & 0x00000001u;
/* 028E61A8 */ if (_t8) goto L_028E61B8; else goto L_028E61AC;
L_028E61AC: ; // 0x28e61ac
/* 028E61AC */ _t9 = cpu->r[12] + 0x00000013u;
/* 028E61AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
/* 028E61B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028E61B4 */ goto L_028E61BC;
L_028E61B8: ; // 0x28e61b8
/* 028E61B8 */ cpu->r[3] = 0x00000000u;
L_028E61BC: ; // 0x28e61bc
/* 028E61BC */ _t10 = cpu->r[1] + 0x00000024u;
/* 028E61BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E61C0 */ cpu->lr = cpu->r[0];
/* 028E61C4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E61C8 */ return;
}
// fn_028E6170 @ 0x28e6170
void Gambit_fn_028E6170(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028E6170: ; // 0x28e6170
/* 028E6170 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E6170 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6170 */ cpu->r[1] = _t0;
/* 028E6174 */ _t1 = cpu->r[3] + 0x00000138u;
/* 028E6174 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
/* 028E6178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E617C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E617C */ _t3 = _t2 & 0x00000001u;
/* 028E617C */ if (_t3) goto L_028E6180; else goto L_028E6194;
L_028E6180: ; // 0x28e6180
/* 028E6180 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028E6180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E6184 */ cpu->lr = cpu->r[0];
/* 028E6188 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E618C */ cpu->r[3] = 0x00000000u;
/* 028E6190 */ return;
L_028E6194: ; // 0x28e6194
/* 028E6194 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6198 */ cpu->r[5] = 0x00000000u;
/* 028E619C */ Gambit_fn_028E647C(cpu);
/* 028E61A0 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028E61A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028E61A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E61A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E61A8 */ _t7 = _t6 & 0x00000001u;
/* 028E61A8 */ if (_t7) goto L_028E61B8; else goto L_028E61AC;
L_028E61AC: ; // 0x28e61ac
/* 028E61AC */ _t8 = cpu->r[12] + 0x00000013u;
/* 028E61AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
/* 028E61B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028E61B4 */ goto L_028E61BC;
L_028E61B8: ; // 0x28e61b8
/* 028E61B8 */ cpu->r[3] = 0x00000000u;
L_028E61BC: ; // 0x28e61bc
/* 028E61BC */ _t9 = cpu->r[1] + 0x00000024u;
/* 028E61BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E61C0 */ cpu->lr = cpu->r[0];
/* 028E61C4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E61C8 */ return;
}
// fn_028E61CC @ 0x28e61cc
void Gambit_fn_028E61CC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028E61CC: ; // 0x28e61cc
/* 028E61CC */ cpu->r[0] = cpu->lr;
/* 028E61D0 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E61D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E61D4 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E61D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E61D4 */ cpu->r[1] = _t1;
/* 028E61D8 */ _t2 = cpu->r[3] + 0x00000138u;
/* 028E61D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028E61DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E61E0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E61E0 */ _t4 = _t3 & 0x00000001u;
/* 028E61E0 */ if (_t4) goto L_028E6210; else goto L_028E61E4;
L_028E61E4: ; // 0x28e61e4
/* 028E61E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E61E8 */ cpu->r[5] = 0x00000000u;
/* 028E61EC */ Gambit_fn_028E647C(cpu);
/* 028E61F0 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028E61F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028E61F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E61F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E61F8 */ _t7 = _t6 & 0x00000001u;
/* 028E61F8 */ if (_t7) goto L_028E6210; else goto L_028E61FC;
L_028E61FC: ; // 0x28e61fc
/* 028E61FC */ _t8 = cpu->r[1] + 0x00000024u;
/* 028E61FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E6200 */ _t9 = cpu->r[12] + 0x00000018u;
/* 028E6200 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028E6204 */ cpu->lr = cpu->r[0];
/* 028E6208 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E620C */ return;
L_028E6210: ; // 0x28e6210
/* 028E6210 */ _t10 = cpu->r[1] + 0x00000024u;
/* 028E6210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E6214 */ cpu->lr = cpu->r[0];
/* 028E6218 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E621C */ cpu->r[3] = 0x00000000u;
/* 028E6220 */ return;
}
// fn_028E61D4 @ 0x28e61d4
void Gambit_fn_028E61D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028E61D4: ; // 0x28e61d4
/* 028E61D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E61D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E61D4 */ cpu->r[1] = _t0;
/* 028E61D8 */ _t1 = cpu->r[3] + 0x00000138u;
/* 028E61D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
/* 028E61DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E61E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E61E0 */ _t3 = _t2 & 0x00000001u;
/* 028E61E0 */ if (_t3) goto L_028E6210; else goto L_028E61E4;
L_028E61E4: ; // 0x28e61e4
/* 028E61E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E61E8 */ cpu->r[5] = 0x00000000u;
/* 028E61EC */ Gambit_fn_028E647C(cpu);
/* 028E61F0 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028E61F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028E61F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E61F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E61F8 */ _t6 = _t5 & 0x00000001u;
/* 028E61F8 */ if (_t6) goto L_028E6210; else goto L_028E61FC;
L_028E61FC: ; // 0x28e61fc
/* 028E61FC */ _t7 = cpu->r[1] + 0x00000024u;
/* 028E61FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E6200 */ _t8 = cpu->r[12] + 0x00000018u;
/* 028E6200 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028E6204 */ cpu->lr = cpu->r[0];
/* 028E6208 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E620C */ return;
L_028E6210: ; // 0x28e6210
/* 028E6210 */ _t9 = cpu->r[1] + 0x00000024u;
/* 028E6210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E6214 */ cpu->lr = cpu->r[0];
/* 028E6218 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E621C */ cpu->r[3] = 0x00000000u;
/* 028E6220 */ return;
}
// fn_028E6224 @ 0x28e6224
void Gambit_fn_028E6224(CPUState* cpu) {
uint32_t _t0, _t1, _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_028E6224: ; // 0x28e6224
/* 028E6224 */ cpu->r[0] = cpu->lr;
/* 028E6228 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E6228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6228 */ cpu->r[1] = _t0;
/* 028E622C */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E622C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E6230 */ cpu->r[31] = cpu->r[4];
/* 028E6234 */ _t2 = cpu->r[1] + 0x0000002Cu;
/* 028E6234 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E6238 */ _t3 = cpu->r[3] + 0x00000138u;
/* 028E6238 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028E623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E6240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6240 */ _t5 = _t4 & 0x00000001u;
/* 028E6240 */ if (_t5) goto L_028E6244; else goto L_028E625C;
L_028E6244: ; // 0x28e6244
/* 028E6244 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028E6244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E6248 */ _t7 = cpu->r[1] + 0x00000024u;
/* 028E6248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028E624C */ cpu->lr = cpu->r[0];
/* 028E6250 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E6254 */ cpu->r[3] = 0x00000000u;
/* 028E6258 */ return;
L_028E625C: ; // 0x28e625c
/* 028E625C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6260 */ cpu->r[5] = 0x00000000u;
/* 028E6264 */ Gambit_fn_028E647C(cpu);
/* 028E6268 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E6268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E626C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E6270 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6270 */ _t10 = _t9 & 0x00000001u;
/* 028E6270 */ if (_t10) goto L_028E628C; else goto L_028E6274;
L_028E6274: ; // 0x28e6274
/* 028E6274 */ _t11 = cpu->r[12] + 0x00000013u;
/* 028E6274 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
/* 028E6278 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028E627C */ cpu->r[10] = cpu->r[12];
/* 028E627C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E6280 */ _t12 = cpu->r[31] + 0x00000000u;
/* 028E6280 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
/* 028E6284 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6284 */ _t14 = _t13 & 0x00000001u;
/* 028E6284 */ if (_t14) goto L_028E62A0; else goto L_028E6288;
L_028E6288: ; // 0x28e6288
/* 028E6288 */ goto L_028E629C;
L_028E628C: ; // 0x28e628c
/* 028E628C */ cpu->r[0] = 0x00000000u;
/* 028E6290 */ cpu->r[10] = cpu->r[12];
/* 028E6290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E6294 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028E6294 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
/* 028E6298 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6298 */ _t17 = _t16 & 0x00000001u;
/* 028E6298 */ if (_t17) goto L_028E62A0; else goto L_028E629C;
L_028E629C: ; // 0x28e629c
/* 028E629C */ _t18 = cpu->r[12] + 0x0000001Cu;
/* 028E629C */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
L_028E62A0: ; // 0x28e62a0
/* 028E62A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E62A4 */ _t19 = cpu->r[31] + 0x00000004u;
/* 028E62A4 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028E62A8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E62A8 */ _t21 = _t20 & 0x00000001u;
/* 028E62A8 */ if (_t21) goto L_028E62B0; else goto L_028E62AC;
L_028E62AC: ; // 0x28e62ac
/* 028E62AC */ _t22 = cpu->r[12] + 0x00000020u;
/* 028E62AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
L_028E62B0: ; // 0x28e62b0
/* 028E62B0 */ _t23 = cpu->r[31] + 0x00000008u;
/* 028E62B0 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
/* 028E62B4 */ _t24 = cpu->r[1] + 0x0000002Cu;
/* 028E62B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028E62B8 */ _t25 = cpu->r[1] + 0x00000024u;
/* 028E62B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028E62BC */ cpu->lr = cpu->r[0];
/* 028E62C0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E62C4 */ cpu->r[3] = 0x00000001u;
/* 028E62C8 */ return;
}
// fn_028E6228 @ 0x28e6228
void Gambit_fn_028E6228(CPUState* cpu) {
uint32_t _t0, _t1, _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_028E6228: ; // 0x28e6228
/* 028E6228 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E6228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6228 */ cpu->r[1] = _t0;
/* 028E622C */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E622C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E6230 */ cpu->r[31] = cpu->r[4];
/* 028E6234 */ _t2 = cpu->r[1] + 0x0000002Cu;
/* 028E6234 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E6238 */ _t3 = cpu->r[3] + 0x00000138u;
/* 028E6238 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028E623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E6240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6240 */ _t5 = _t4 & 0x00000001u;
/* 028E6240 */ if (_t5) goto L_028E6244; else goto L_028E625C;
L_028E6244: ; // 0x28e6244
/* 028E6244 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028E6244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E6248 */ _t7 = cpu->r[1] + 0x00000024u;
/* 028E6248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028E624C */ cpu->lr = cpu->r[0];
/* 028E6250 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E6254 */ cpu->r[3] = 0x00000000u;
/* 028E6258 */ return;
L_028E625C: ; // 0x28e625c
/* 028E625C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6260 */ cpu->r[5] = 0x00000000u;
/* 028E6264 */ Gambit_fn_028E647C(cpu);
/* 028E6268 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028E6268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028E626C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E6270 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6270 */ _t10 = _t9 & 0x00000001u;
/* 028E6270 */ if (_t10) goto L_028E628C; else goto L_028E6274;
L_028E6274: ; // 0x28e6274
/* 028E6274 */ _t11 = cpu->r[12] + 0x00000013u;
/* 028E6274 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
/* 028E6278 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028E627C */ cpu->r[10] = cpu->r[12];
/* 028E627C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E6280 */ _t12 = cpu->r[31] + 0x00000000u;
/* 028E6280 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
/* 028E6284 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6284 */ _t14 = _t13 & 0x00000001u;
/* 028E6284 */ if (_t14) goto L_028E62A0; else goto L_028E6288;
L_028E6288: ; // 0x28e6288
/* 028E6288 */ goto L_028E629C;
L_028E628C: ; // 0x28e628c
/* 028E628C */ cpu->r[0] = 0x00000000u;
/* 028E6290 */ cpu->r[10] = cpu->r[12];
/* 028E6290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E6294 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028E6294 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
/* 028E6298 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6298 */ _t17 = _t16 & 0x00000001u;
/* 028E6298 */ if (_t17) goto L_028E62A0; else goto L_028E629C;
L_028E629C: ; // 0x28e629c
/* 028E629C */ _t18 = cpu->r[12] + 0x0000001Cu;
/* 028E629C */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
L_028E62A0: ; // 0x28e62a0
/* 028E62A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E62A4 */ _t19 = cpu->r[31] + 0x00000004u;
/* 028E62A4 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028E62A8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E62A8 */ _t21 = _t20 & 0x00000001u;
/* 028E62A8 */ if (_t21) goto L_028E62B0; else goto L_028E62AC;
L_028E62AC: ; // 0x28e62ac
/* 028E62AC */ _t22 = cpu->r[12] + 0x00000020u;
/* 028E62AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
L_028E62B0: ; // 0x28e62b0
/* 028E62B0 */ _t23 = cpu->r[31] + 0x00000008u;
/* 028E62B0 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
/* 028E62B4 */ _t24 = cpu->r[1] + 0x0000002Cu;
/* 028E62B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028E62B8 */ _t25 = cpu->r[1] + 0x00000024u;
/* 028E62B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028E62BC */ cpu->lr = cpu->r[0];
/* 028E62C0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E62C4 */ cpu->r[3] = 0x00000001u;
/* 028E62C8 */ return;
}
// fn_028E62D0 @ 0x28e62d0
void Gambit_fn_028E62D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028E62D0: ; // 0x28e62d0
/* 028E62D0 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
/* 028E62D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E62D0 */ cpu->r[1] = _t0;
/* 028E62D4 */ _t1 = cpu->r[1] + 0x00000098u;
/* 028E62D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E62D8 */ _t2 = cpu->r[1] + 0x0000009Cu;
/* 028E62D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E62DC */ cpu->r[30] = cpu->r[3];
/* 028E62E0 */ _t3 = cpu->r[1] + 0x000000A4u;
/* 028E62E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E62E4 */ _t4 = cpu->r[30] + 0x0000004Cu;
/* 028E62E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
/* 028E62E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
/* 028E62EC */ cpu->r[31] = cpu->r[4];
/* 028E62F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E62F0 */ _t6 = _t5 & 0x00000001u;
/* 028E62F0 */ if (_t6) goto L_028E62F4; else goto L_028E635C;
L_028E62F4: ; // 0x28e62f4
/* 028E62F4 */ _t7 = cpu->r[30] + 0x00000050u;
/* 028E62F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028E62F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E62FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E62FC */ _t9 = _t8 & 0x00000001u;
/* 028E62FC */ if (_t9) goto L_028E63C8; else goto L_028E6300;
L_028E6300: ; // 0x28e6300
/* 028E6300 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6304 */ Gambit_fn_02C425B8(cpu);
/* 028E6308 */ _t10 = cpu->r[30] + 0x00000050u;
/* 028E6308 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028E630C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6310 */ Gambit_fn_02C42634(cpu);
/* 028E6314 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028E6318 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E631C */ Gambit_fn_02C426B0(cpu);
/* 028E6320 */ _t11 = cpu->r[1] + 0x00000015u;
/* 028E6320 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
/* 028E6324 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028E6324 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028E6328 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028E6328 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
/* 028E632C */ _t14 = cpu->r[1] + 0x00000018u;
/* 028E632C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E6330 */ _t15 = cpu->r[1] + 0x00000020u;
/* 028E6330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028E6334 */ _t16 = cpu->r[31] + 0x00000004u;
/* 028E6334 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E6338 */ _t17 = cpu->r[31] + 0x0000000Cu;
/* 028E6338 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
/* 028E633C */ _t18 = cpu->r[31] + 0x00000008u;
/* 028E633C */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
/* 028E6340 */ _t19 = cpu->r[1] + 0x000000A4u;
/* 028E6340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E6344 */ _t20 = cpu->r[1] + 0x00000098u;
/* 028E6344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028E6348 */ cpu->lr = cpu->r[0];
/* 028E634C */ _t21 = cpu->r[1] + 0x0000009Cu;
/* 028E634C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028E6350 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028E6354 */ cpu->r[3] = 0x00000001u;
/* 028E6358 */ return;
L_028E635C: ; // 0x28e635c
/* 028E635C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028E6360 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6360 */ _t23 = _t22 & 0x00000001u;
/* 028E6360 */ if (_t23) goto L_028E6364; else goto L_028E63C8;
L_028E6364: ; // 0x28e6364
/* 028E6364 */ _t24 = cpu->r[30] + 0x00000050u;
/* 028E6364 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
/* 028E6368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E636C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E636C */ _t26 = _t25 & 0x00000001u;
/* 028E636C */ if (_t26) goto L_028E63C8; else goto L_028E6370;
L_028E6370: ; // 0x28e6370
/* 028E6370 */ cpu->r[5] = 0x00000000u;
/* 028E6374 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6378 */ Gambit_fn_02C3C820(cpu);
/* 028E637C */ cpu->r[5] = 0x00000000u;
/* 028E6380 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
/* 028E6384 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6388 */ Gambit_fn_02C3C9B0(cpu);
/* 028E638C */ _t27 = cpu->r[1] + 0x00000020u;
/* 028E638C */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
/* 028E6390 */ _t28 = cpu->r[1] + 0x00000030u;
/* 028E6390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E6394 */ _t29 = cpu->r[31] + 0x00000000u;
/* 028E6394 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[12]);
/* 028E6398 */ _t30 = cpu->r[31] + 0x0000000Cu;
/* 028E6398 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028E639C */ _t31 = cpu->r[1] + 0x00000028u;
/* 028E639C */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
/* 028E63A0 */ _t32 = cpu->r[1] + 0x0000002Cu;
/* 028E63A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
/* 028E63A4 */ _t33 = cpu->r[31] + 0x00000004u;
/* 028E63A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
/* 028E63A8 */ _t34 = cpu->r[31] + 0x00000008u;
/* 028E63A8 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
/* 028E63AC */ _t35 = cpu->r[1] + 0x000000A4u;
/* 028E63AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028E63B0 */ _t36 = cpu->r[1] + 0x00000098u;
/* 028E63B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028E63B4 */ cpu->lr = cpu->r[0];
/* 028E63B8 */ _t37 = cpu->r[1] + 0x0000009Cu;
/* 028E63B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
/* 028E63BC */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028E63C0 */ cpu->r[3] = 0x00000001u;
/* 028E63C4 */ return;
L_028E63C8: ; // 0x28e63c8
/* 028E63C8 */ _t38 = cpu->r[1] + 0x000000A4u;
/* 028E63C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028E63CC */ _t39 = cpu->r[1] + 0x00000098u;
/* 028E63CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
/* 028E63D0 */ cpu->lr = cpu->r[0];
/* 028E63D4 */ _t40 = cpu->r[1] + 0x0000009Cu;
/* 028E63D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028E63D8 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028E63DC */ cpu->r[3] = 0x00000000u;
/* 028E63E0 */ return;
}
// fn_028E63E4 @ 0x28e63e4
void Gambit_fn_028E63E4(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_028E63E4: ; // 0x28e63e4
/* 028E63E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E63E8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E63E8 */ _t17 = _t16 & 0x00000001u;
/* 028E63E8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E63E8 */ goto L_028E63EC;
L_028E63EC: ; // 0x28e63ec
/* 028E63EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E63EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E63F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E63F0 */ _t19 = _t18 & 0x00000001u;
/* 028E63F0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E63F0 */ goto L_028E63F4;
L_028E63F4: ; // 0x28e63f4
/* 028E63F4 */ goto L_02801BB0;
}
// fn_028E63F8 @ 0x28e63f8
void Gambit_fn_028E63F8(CPUState* cpu) {
L_028E63F8: ; // 0x28e63f8
/* 028E63F8 */ return;
}
// fn_028E63FC @ 0x28e63fc
void Gambit_fn_028E63FC(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_028E63FC: ; // 0x28e63fc
/* 028E63FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6400 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6400 */ _t17 = _t16 & 0x00000001u;
/* 028E6400 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6400 */ goto L_028E6404;
L_028E6404: ; // 0x28e6404
/* 028E6404 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E6404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E6408 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6408 */ _t19 = _t18 & 0x00000001u;
/* 028E6408 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6408 */ goto L_028E640C;
L_028E640C: ; // 0x28e640c
/* 028E640C */ goto L_02801BB0;
}
// fn_028E6410 @ 0x28e6410
void Gambit_fn_028E6410(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E6410: ; // 0x28e6410
/* 028E6410 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028E6410 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028E6414 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028E6414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028E6418 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028E641C */ cpu->r[11] = 0x10110000u;
/* 028E6420 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028E6420 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028E6424 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028E6424 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028E6428 */ return;
}
// fn_028E642C @ 0x28e642c
void Gambit_fn_028E642C(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_028E642C: ; // 0x28e642c
/* 028E642C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6430 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6430 */ _t17 = _t16 & 0x00000001u;
/* 028E6430 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6430 */ goto L_028E6434;
L_028E6434: ; // 0x28e6434
/* 028E6434 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E6434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E6438 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6438 */ _t19 = _t18 & 0x00000001u;
/* 028E6438 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6438 */ goto L_028E643C;
L_028E643C: ; // 0x28e643c
/* 028E643C */ goto L_02801BB0;
}
// fn_028E6440 @ 0x28e6440
void Gambit_fn_028E6440(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_028E6440: ; // 0x28e6440
/* 028E6440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6444 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6444 */ _t17 = _t16 & 0x00000001u;
/* 028E6444 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6444 */ goto L_028E6448;
L_028E6448: ; // 0x28e6448
/* 028E6448 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E6448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E644C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E644C */ _t19 = _t18 & 0x00000001u;
/* 028E644C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E644C */ goto L_028E6450;
L_028E6450: ; // 0x28e6450
/* 028E6450 */ goto L_02801BB0;
}
// fn_028E6454 @ 0x28e6454
void Gambit_fn_028E6454(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_028E6454: ; // 0x28e6454
/* 028E6454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6458 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6458 */ _t17 = _t16 & 0x00000001u;
/* 028E6458 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6458 */ goto L_028E645C;
L_028E645C: ; // 0x28e645c
/* 028E645C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E645C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E6460 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6460 */ _t19 = _t18 & 0x00000001u;
/* 028E6460 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6460 */ goto L_028E6464;
L_028E6464: ; // 0x28e6464
/* 028E6464 */ goto L_02801BB0;
}
// fn_028E6468 @ 0x28e6468
void Gambit_fn_028E6468(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_028E6468: ; // 0x28e6468
/* 028E6468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E646C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E646C */ _t17 = _t16 & 0x00000001u;
/* 028E646C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E646C */ goto L_028E6470;
L_028E6470: ; // 0x28e6470
/* 028E6470 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E6470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E6474 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6474 */ _t19 = _t18 & 0x00000001u;
/* 028E6474 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6474 */ goto L_028E6478;
L_028E6478: ; // 0x28e6478
/* 028E6478 */ goto L_02801BB0;
}
// fn_028E647C @ 0x28e647c
void Gambit_fn_028E647C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E647C: ; // 0x28e647c
/* 028E647C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028E647C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E647C */ cpu->r[1] = _t0;
/* 028E6480 */ /* nop */
/* 028E6484 */ cpu->r[0] = cpu->lr;
/* 028E6488 */ _t1 = cpu->r[1] + 0x0000003Cu;
/* 028E6488 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E648C */ cpu->r[29] = cpu->r[3];
/* 028E648C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E6490 */ cpu->r[31] = cpu->r[4];
/* 028E6494 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6494 */ _t3 = _t2 & 0x00000001u;
/* 028E6494 */ if (_t3) goto L_028E6498; else goto L_028E64A8;
L_028E6498: ; // 0x28e6498
/* 028E6498 */ cpu->r[3] = 0x00000018u;
/* 028E649C */ Gambit_fn_02801A78(cpu);
/* 028E64A0 */ cpu->r[29] = cpu->r[3];
/* 028E64A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E64A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E64A4 */ _t5 = _t4 & 0x00000001u;
/* 028E64A4 */ if (_t5) goto L_028E68E0; else goto L_028E64A8;
L_028E64A8: ; // 0x28e64a8
/* 028E64A8 */ cpu->r[7] = 0x00000000u;
/* 028E64AC */ _t6 = cpu->r[29] + 0x00000004u;
/* 028E64AC */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
/* 028E64B0 */ _t7 = cpu->r[29] + 0x00000010u;
/* 028E64B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
/* 028E64B4 */ _t8 = cpu->r[29] + 0x00000008u;
/* 028E64B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
/* 028E64B8 */ _t9 = cpu->r[29] + 0x0000000Cu;
/* 028E64B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
/* 028E64BC */ _t10 = cpu->r[29] + 0x00000000u;
/* 028E64BC */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
/* 028E64C0 */ cpu->r[30] = cpu->r[31];
/* 028E64C4 */ _t11 = cpu->r[29] + 0x00000014u;
/* 028E64C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
/* 028E64C8 */ _t12 = cpu->r[30] + 0x00000002u;
/* 028E64C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12);
/* 028E64CC */ _t13 = cpu->r[30] + 0x00000000u;
/* 028E64CC */ cpu->r[5] = rbrew_read8(cpu->mem, _t13);
/* 028E64D0 */ _t14 = cpu->r[30] + 0x00000001u;
/* 028E64D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
/* 028E64D4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000000u, 0x00000007u);
/* 028E64D8 */ _t15 = cpu->r[30] + 0x00000003u;
/* 028E64D8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
/* 028E64DC */ _t16 = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000008u, 0x0000000Fu);
/* 028E64DC */ _t17 = cpu->r[7] & 0xFF00FFFFu;
/* 028E64DC */ cpu->r[7] = _t17 | _t16;
/* 028E64E0 */ cpu->r[0] = 0x414D0000u;
/* 028E64E4 */ _t18 = rbrew_rlwinm(cpu->r[8], 0x00000008u, 0x00000010u, 0x00000017u);
/* 028E64E4 */ _t19 = cpu->r[7] & 0xFFFF00FFu;
/* 028E64E4 */ cpu->r[7] = _t19 | _t18;
/* 028E64E8 */ cpu->r[0] = cpu->r[0] | 0x00005441u;
/* 028E64EC */ cpu->r[9] = cpu->r[7] | cpu->r[10];
/* 028E64F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
/* 028E64F4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E64F4 */ _t21 = _t20 & 0x00000001u;
/* 028E64F4 */ if (_t21) goto L_028E64F8; else goto L_028E68E0;
L_028E64F8: ; // 0x28e64f8
/* 028E64F8 */ _t22 = cpu->r[30] + 0x00000004u;
/* 028E64F8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t22);
/* 028E64FC */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028E64FC */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[3]);
/* 028E6500 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E6500 */ cpu->r[10] = rbrew_read8(cpu->mem, _t24);
/* 028E6504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
/* 028E6508 */ cpu->r[27] = 0x00000000u;
/* 028E650C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E650C */ _t26 = _t25 & 0x00000001u;
/* 028E650C */ if (_t26) goto L_028E6544; else goto L_028E6510;
L_028E6510: ; // 0x28e6510
/* 028E6510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FEu);
/* 028E6514 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6514 */ _t28 = _t27 & 0x00000001u;
/* 028E6514 */ if (_t28) goto L_028E6518; else goto L_028E6544;
L_028E6518: ; // 0x28e6518
/* 028E6518 */ _t29 = cpu->r[1] + 0x0000000Du;
/* 028E6518 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
/* 028E651C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FFu);
/* 028E6520 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6520 */ _t31 = _t30 & 0x00000001u;
/* 028E6520 */ if (_t31) goto L_028E6524; else goto L_028E6544;
L_028E6524: ; // 0x28e6524
/* 028E6524 */ cpu->r[12] = 0x101F0000u;
/* 028E6528 */ cpu->r[0] = 0x00000000u;
/* 028E652C */ _t32 = cpu->r[12] + 0x000066E4u;
/* 028E652C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
/* 028E6530 */ cpu->r[28] = 0x10110000u;
/* 028E6534 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
/* 028E6538 */ cpu->r[28] = cpu->r[28] + 0x00007344u;
/* 028E653C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E653C */ _t34 = _t33 & 0x00000001u;
/* 028E653C */ if (_t34) goto L_028E6560; else goto L_028E6540;
L_028E6540: ; // 0x28e6540
/* 028E6540 */ goto L_028E6570;
L_028E6544: ; // 0x28e6544
/* 028E6544 */ cpu->r[12] = 0x101F0000u;
/* 028E6548 */ cpu->r[0] = 0x00000001u;
/* 028E654C */ _t35 = cpu->r[12] + 0x000066E4u;
/* 028E654C */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028E6550 */ cpu->r[28] = 0x10110000u;
/* 028E6554 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
/* 028E6558 */ cpu->r[28] = cpu->r[28] + 0x00007344u;
/* 028E655C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E655C */ _t37 = _t36 & 0x00000001u;
/* 028E655C */ if (_t37) goto L_028E6560; else goto L_028E6570;
L_028E6560: ; // 0x28e6560
/* 028E6560 */ _t38 = cpu->r[30] + 0x00000006u;
/* 028E6560 */ cpu->r[3] = rbrew_read16(cpu->mem, _t38);
/* 028E6564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000100u);
/* 028E6568 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6568 */ _t40 = _t39 & 0x00000001u;
/* 028E6568 */ if (_t40) goto L_028E656C; else goto L_028E674C;
L_028E656C: ; // 0x28e656c
/* 028E656C */ goto L_028E659C;
L_028E6570: ; // 0x28e6570
/* 028E6570 */ _t41 = cpu->r[28] + 0x0000000Cu;
/* 028E6570 */ cpu->r[26] = rbrew_read32(cpu->mem, _t41);
/* 028E6574 */ cpu->ctr = cpu->r[26];
/* 028E6578 */ cpu->r[27] = 0x00000001u;
/* 028E657C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6580 */ cpu->ctr = cpu->r[26];
/* 028E6584 */ _t42 = cpu->r[30] + 0x00000004u;
/* 028E6584 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[3]);
/* 028E6588 */ _t43 = cpu->r[30] + 0x00000006u;
/* 028E6588 */ cpu->r[3] = rbrew_read16(cpu->mem, _t43);
/* 028E658C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000100u);
/* 028E6594 */ _t44 = cpu->r[30] + 0x00000006u;
/* 028E6594 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[3]);
/* 028E6598 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6598 */ _t46 = _t45 & 0x00000001u;
/* 028E6598 */ if (_t46) goto L_028E659C; else goto L_028E674C;
L_028E659C: ; // 0x28e659c
/* 028E659C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E65A0 */ _t47 = cpu->r[29] + 0x00000000u;
/* 028E65A0 */ rbrew_write32(cpu->mem, _t47, cpu->r[31]);
/* 028E65A4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E65A4 */ _t49 = _t48 & 0x00000001u;
/* 028E65A4 */ if (_t49) goto L_028E65F0; else goto L_028E65A8;
L_028E65A8: ; // 0x28e65a8
/* 028E65A8 */ _t50 = cpu->r[28] + 0x00000014u;
/* 028E65A8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t50);
/* 028E65AC */ _t51 = cpu->r[30] + 0x00000008u;
/* 028E65AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
/* 028E65B0 */ cpu->ctr = cpu->r[25];
/* 028E65B4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E65B8 */ cpu->ctr = cpu->r[25];
/* 028E65BC */ _t52 = cpu->r[30] + 0x00000008u;
/* 028E65BC */ rbrew_write32(cpu->mem, _t52, cpu->r[3]);
/* 028E65C0 */ _t53 = cpu->r[30] + 0x0000000Cu;
/* 028E65C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
/* 028E65C4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E65C8 */ cpu->ctr = cpu->r[25];
/* 028E65CC */ _t54 = cpu->r[30] + 0x0000000Cu;
/* 028E65CC */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
/* 028E65D0 */ _t55 = cpu->r[30] + 0x00000010u;
/* 028E65D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
/* 028E65D4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E65D8 */ cpu->ctr = cpu->r[25];
/* 028E65DC */ _t56 = cpu->r[30] + 0x00000010u;
/* 028E65DC */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
/* 028E65E0 */ _t57 = cpu->r[30] + 0x00000014u;
/* 028E65E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
/* 028E65E4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E65E8 */ _t58 = cpu->r[30] + 0x00000014u;
/* 028E65E8 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
/* 028E65EC */ _t59 = cpu->r[29] + 0x00000000u;
/* 028E65EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
L_028E65F0: ; // 0x28e65f0
/* 028E65F0 */ _t60 = cpu->r[30] + 0x0000000Cu;
/* 028E65F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
/* 028E65F4 */ _t61 = cpu->r[29] + 0x00000000u;
/* 028E65F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t61);
/* 028E65F8 */ cpu->r[0] = cpu->r[31] + cpu->r[12];
/* 028E65FC */ _t62 = cpu->r[29] + 0x00000004u;
/* 028E65FC */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
/* 028E6600 */ _t63 = cpu->r[30] + 0x00000010u;
/* 028E6600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
/* 028E6604 */ cpu->r[0] = cpu->r[4] + cpu->r[0];
/* 028E6608 */ _t64 = cpu->r[29] + 0x00000008u;
/* 028E6608 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
/* 028E660C */ _t65 = cpu->r[30] + 0x00000014u;
/* 028E660C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
/* 028E6610 */ cpu->r[0] = cpu->r[4] + cpu->r[0];
/* 028E6614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E6618 */ _t66 = cpu->r[29] + 0x0000000Cu;
/* 028E6618 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
/* 028E661C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E661C */ _t68 = _t67 & 0x00000001u;
/* 028E661C */ if (_t68) goto L_028E68E0; else goto L_028E6620;
L_028E6620: ; // 0x28e6620
/* 028E6620 */ _t69 = cpu->r[29] + 0x00000004u;
/* 028E6620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
/* 028E6624 */ _t70 = cpu->r[28] + 0x00000014u;
/* 028E6624 */ cpu->r[25] = rbrew_read32(cpu->mem, _t70);
/* 028E6628 */ _t71 = cpu->r[31] + 0x00000004u;
/* 028E6628 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
/* 028E662C */ cpu->ctr = cpu->r[25];
/* 028E6630 */ cpu->r[27] = cpu->r[28] + 0x00000014u;
/* 028E6634 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6638 */ _t72 = cpu->r[31] + 0x00000014u;
/* 028E6638 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t72);
/* 028E663C */ cpu->ctr = cpu->r[25];
/* 028E6640 */ _t73 = cpu->r[31] + 0x00000004u;
/* 028E6640 */ rbrew_write32(cpu->mem, _t73, cpu->r[3]);
/* 028E6644 */ _t74 = cpu->r[1] + 0x00000010u;
/* 028E6644 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[12]);
/* 028E6648 */ _t75 = cpu->r[1] + 0x00000010u;
/* 028E6648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
/* 028E664C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6650 */ cpu->ctr = cpu->r[25];
/* 028E6654 */ _t76 = cpu->r[1] + 0x00000010u;
/* 028E6654 */ rbrew_write32(cpu->mem, _t76, cpu->r[3]);
/* 028E6658 */ _t77 = cpu->r[1] + 0x00000010u;
/* 028E6658 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t77);
/* 028E665C */ _t78 = cpu->r[31] + 0x00000018u;
/* 028E665C */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
/* 028E6660 */ _t79 = cpu->r[31] + 0x00000014u;
/* 028E6660 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[0]);
/* 028E6664 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6668 */ cpu->ctr = cpu->r[25];
/* 028E666C */ _t80 = cpu->r[31] + 0x00000018u;
/* 028E666C */ rbrew_write32(cpu->mem, _t80, cpu->r[3]);
/* 028E6670 */ _t81 = cpu->r[31] + 0x0000001Cu;
/* 028E6670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
/* 028E6674 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6678 */ cpu->ctr = cpu->r[25];
/* 028E667C */ _t82 = cpu->r[31] + 0x0000001Cu;
/* 028E667C */ rbrew_write32(cpu->mem, _t82, cpu->r[3]);
/* 028E6680 */ _t83 = cpu->r[31] + 0x00000020u;
/* 028E6680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
/* 028E6684 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6688 */ _t84 = cpu->r[31] + 0x00000020u;
/* 028E6688 */ rbrew_write32(cpu->mem, _t84, cpu->r[3]);
/* 028E668C */ cpu->r[30] = cpu->r[31] + 0x00000020u;
/* 028E6690 */ _t85 = cpu->r[28] + 0x00000014u;
/* 028E6690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t85);
/* 028E6694 */ cpu->r[26] = 0x00000008u;
L_028E6698: ; // 0x28e6698
/* 028E6698 */ cpu->ctr = cpu->r[31];
/* 028E669C */ _t86 = cpu->r[30] + 0x00000008u;
/* 028E669C */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
/* 028E669C */ cpu->r[30] = _t86;
/* 028E66A0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E66A4 */ _t87 = cpu->r[30] + 0x00000004u;
/* 028E66A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t87);
/* 028E66A8 */ cpu->ctr = cpu->r[31];
/* 028E66AC */ _t88 = cpu->r[30] + 0x00000000u;
/* 028E66AC */ rbrew_write32(cpu->mem, _t88, cpu->r[3]);
/* 028E66B0 */ _t89 = cpu->r[1] + 0x00000008u;
/* 028E66B0 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[11]);
/* 028E66B4 */ _t90 = cpu->r[1] + 0x00000008u;
/* 028E66B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
/* 028E66B8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E66BC */ _t91 = cpu->r[1] + 0x00000008u;
/* 028E66BC */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
/* 028E66C0 */ _t92 = cpu->r[1] + 0x00000008u;
/* 028E66C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t92);
/* 028E66C4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
/* 028E66C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028E66C8 */ _t93 = cpu->r[30] + 0x00000004u;
/* 028E66C8 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[13]);
/* 028E66CC */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E66CC */ _t95 = _t94 & 0x00000001u;
/* 028E66CC */ if (_t95) goto L_028E66D0; else goto L_028E6698;
L_028E66D0: ; // 0x28e66d0
/* 028E66D0 */ cpu->ctr = cpu->r[25];
/* 028E66D4 */ _t96 = cpu->r[29] + 0x00000008u;
/* 028E66D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t96);
/* 028E66D8 */ _t97 = cpu->r[30] + 0x00000008u;
/* 028E66D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
/* 028E66DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E66E0 */ cpu->r[31] = 0x00000000u;
/* 028E66E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
/* 028E66E8 */ _t98 = cpu->r[30] + 0x00000008u;
/* 028E66E8 */ rbrew_write32(cpu->mem, _t98, cpu->r[3]);
/* 028E66EC */ _t99 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E66EC */ _t100 = _t99 & 0x00000001u;
/* 028E66EC */ if (_t100) goto L_028E66F0; else goto L_028E68E0;
L_028E66F0: ; // 0x28e66f0
/* 028E66F0 */ _t101 = cpu->r[27] + 0x00000000u;
/* 028E66F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t101);
/* 028E66F4 */ cpu->r[26] = cpu->r[30] + 0xFFFFFFFCu;
L_028E66F8: ; // 0x28e66f8
/* 028E66F8 */ cpu->ctr = cpu->r[28];
/* 028E66FC */ _t102 = cpu->r[26] + 0x00000010u;
/* 028E66FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
/* 028E66FC */ cpu->r[26] = _t102;
/* 028E6700 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6704 */ cpu->ctr = cpu->r[28];
/* 028E6708 */ _t103 = cpu->r[26] + 0x00000000u;
/* 028E6708 */ rbrew_write32(cpu->mem, _t103, cpu->r[3]);
/* 028E670C */ _t104 = cpu->r[26] + 0x00000004u;
/* 028E670C */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
/* 028E6710 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6714 */ cpu->ctr = cpu->r[28];
/* 028E6718 */ _t105 = cpu->r[26] + 0x00000004u;
/* 028E6718 */ rbrew_write32(cpu->mem, _t105, cpu->r[3]);
/* 028E671C */ _t106 = cpu->r[26] + 0x00000008u;
/* 028E671C */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
/* 028E6720 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6724 */ cpu->ctr = cpu->r[28];
/* 028E6728 */ _t107 = cpu->r[26] + 0x00000008u;
/* 028E6728 */ rbrew_write32(cpu->mem, _t107, cpu->r[3]);
/* 028E672C */ _t108 = cpu->r[26] + 0x0000000Cu;
/* 028E672C */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
/* 028E6730 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6734 */ _t109 = cpu->r[26] + 0x0000000Cu;
/* 028E6734 */ rbrew_write32(cpu->mem, _t109, cpu->r[3]);
/* 028E6738 */ _t110 = cpu->r[30] + 0x00000008u;
/* 028E6738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
/* 028E673C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028E6740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028E6744 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E6744 */ _t112 = _t111 & 0x00000001u;
/* 028E6744 */ if (_t112) goto L_028E66F8; else goto L_028E6748;
L_028E6748: ; // 0x28e6748
/* 028E6748 */ goto L_028E68E0;
L_028E674C: ; // 0x28e674c
/* 028E674C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000200u);
/* 028E6750 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6750 */ _t114 = _t113 & 0x00000001u;
/* 028E6750 */ if (_t114) goto L_028E6754; else goto L_028E68E0;
L_028E6754: ; // 0x28e6754
/* 028E6754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E6758 */ _t115 = cpu->r[29] + 0x00000010u;
/* 028E6758 */ rbrew_write32(cpu->mem, _t115, cpu->r[31]);
/* 028E675C */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E675C */ _t117 = _t116 & 0x00000001u;
/* 028E675C */ if (_t117) goto L_028E6760; else goto L_028E6770;
L_028E6760: ; // 0x28e6760
/* 028E6760 */ _t118 = cpu->r[31] + 0x00000038u;
/* 028E6760 */ cpu->r[3] = rbrew_read32(cpu->mem, _t118);
/* 028E6764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6768 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6768 */ _t120 = _t119 & 0x00000001u;
/* 028E6768 */ if (_t120) goto L_028E68E0; else goto L_028E676C;
L_028E676C: ; // 0x28e676c
/* 028E676C */ goto L_028E6848;
L_028E6770: ; // 0x28e6770
/* 028E6770 */ _t121 = cpu->r[28] + 0x00000014u;
/* 028E6770 */ cpu->r[25] = rbrew_read32(cpu->mem, _t121);
/* 028E6774 */ _t122 = cpu->r[31] + 0x00000008u;
/* 028E6774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t122);
/* 028E6778 */ cpu->ctr = cpu->r[25];
/* 028E677C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6780 */ cpu->ctr = cpu->r[25];
/* 028E6784 */ _t123 = cpu->r[31] + 0x00000008u;
/* 028E6784 */ rbrew_write32(cpu->mem, _t123, cpu->r[3]);
/* 028E6788 */ _t124 = cpu->r[31] + 0x0000000Cu;
/* 028E6788 */ cpu->r[3] = rbrew_read32(cpu->mem, _t124);
/* 028E678C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6790 */ cpu->ctr = cpu->r[25];
/* 028E6794 */ _t125 = cpu->r[31] + 0x0000000Cu;
/* 028E6794 */ rbrew_write32(cpu->mem, _t125, cpu->r[3]);
/* 028E6798 */ _t126 = cpu->r[31] + 0x00000010u;
/* 028E6798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
/* 028E679C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E67A0 */ _t127 = cpu->r[31] + 0x00000010u;
/* 028E67A0 */ rbrew_write32(cpu->mem, _t127, cpu->r[3]);
/* 028E67A4 */ _t128 = cpu->r[28] + 0x0000000Cu;
/* 028E67A4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t128);
/* 028E67A8 */ _t129 = cpu->r[31] + 0x00000014u;
/* 028E67A8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t129);
/* 028E67AC */ cpu->ctr = cpu->r[26];
/* 028E67B0 */ cpu->r[3] = cpu->r[8];
/* 028E67B4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E67B8 */ cpu->ctr = cpu->r[26];
/* 028E67BC */ _t130 = cpu->r[31] + 0x00000014u;
/* 028E67BC */ rbrew_write16(cpu->mem, _t130, (uint16_t)cpu->r[3]);
/* 028E67C0 */ _t131 = cpu->r[31] + 0x00000016u;
/* 028E67C0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t131);
/* 028E67C4 */ cpu->r[3] = cpu->r[8];
/* 028E67C8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E67CC */ _t132 = cpu->r[31] + 0x00000016u;
/* 028E67CC */ rbrew_write16(cpu->mem, _t132, (uint16_t)cpu->r[3]);
/* 028E67D0 */ cpu->r[24] = 0x00000008u;
/* 028E67D4 */ _t133 = cpu->r[28] + 0x00000004u;
/* 028E67D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t133);
/* 028E67D8 */ cpu->r[26] = cpu->r[31] + 0x00000014u;
L_028E67DC: ; // 0x28e67dc
/* 028E67DC */ cpu->ctr = cpu->r[30];
/* 028E67E0 */ _t134 = cpu->r[26] + 0x00000004u;
/* 028E67E0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t134);
/* 028E67E0 */ cpu->r[26] = _t134;
/* 028E67E4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E67E8 */ cpu->ctr = cpu->r[30];
/* 028E67EC */ _t135 = cpu->r[26] + 0x00000000u;
/* 028E67EC */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[3]);
/* 028E67F0 */ _t136 = cpu->r[26] + 0x00000001u;
/* 028E67F0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t136);
/* 028E67F4 */ cpu->r[3] = cpu->r[4];
/* 028E67F8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E67FC */ cpu->ctr = cpu->r[30];
/* 028E6800 */ _t137 = cpu->r[26] + 0x00000001u;
/* 028E6800 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[3]);
/* 028E6804 */ _t138 = cpu->r[26] + 0x00000002u;
/* 028E6804 */ cpu->r[4] = rbrew_read8(cpu->mem, _t138);
/* 028E6808 */ cpu->r[3] = cpu->r[4];
/* 028E680C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6810 */ cpu->ctr = cpu->r[30];
/* 028E6814 */ _t139 = cpu->r[26] + 0x00000002u;
/* 028E6814 */ rbrew_write8(cpu->mem, _t139, (uint8_t)cpu->r[3]);
/* 028E6818 */ _t140 = cpu->r[26] + 0x00000003u;
/* 028E6818 */ cpu->r[4] = rbrew_read8(cpu->mem, _t140);
/* 028E681C */ cpu->r[3] = cpu->r[4];
/* 028E6820 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6824 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
/* 028E6824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028E6828 */ _t141 = cpu->r[26] + 0x00000003u;
/* 028E6828 */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[3]);
/* 028E682C */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E682C */ _t143 = _t142 & 0x00000001u;
/* 028E682C */ if (_t143) goto L_028E6830; else goto L_028E67DC;
L_028E6830: ; // 0x28e6830
/* 028E6830 */ cpu->ctr = cpu->r[25];
/* 028E6834 */ _t144 = cpu->r[31] + 0x00000038u;
/* 028E6834 */ cpu->r[3] = rbrew_read32(cpu->mem, _t144);
/* 028E6838 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E683C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6840 */ _t145 = cpu->r[31] + 0x00000038u;
/* 028E6840 */ rbrew_write32(cpu->mem, _t145, cpu->r[3]);
/* 028E6844 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6844 */ _t147 = _t146 & 0x00000001u;
/* 028E6844 */ if (_t147) goto L_028E68E0; else goto L_028E6848;
L_028E6848: ; // 0x28e6848
/* 028E6848 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E684C */ cpu->r[12] = cpu->r[31] + 0x0000003Cu;
/* 028E6850 */ cpu->r[30] = 0x00000000u;
/* 028E6854 */ cpu->r[0] = cpu->r[12] + cpu->r[0];
/* 028E6858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028E685C */ _t148 = cpu->r[29] + 0x00000014u;
/* 028E685C */ rbrew_write32(cpu->mem, _t148, cpu->r[0]);
/* 028E6860 */ _t149 = cpu->r[31] + 0x00000038u;
/* 028E6860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t149);
/* 028E6864 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6864 */ _t151 = _t150 & 0x00000001u;
/* 028E6864 */ if (_t151) goto L_028E68CC; else goto L_028E6868;
L_028E6868: ; // 0x28e6868
/* 028E6868 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
/* 028E686C */ _t152 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E686C */ _t153 = _t152 & 0x00000001u;
/* 028E686C */ if (_t153) goto L_028E6870; else goto L_028E68E0;
L_028E6870: ; // 0x28e6870
/* 028E6870 */ _t154 = cpu->r[28] + 0x00000014u;
/* 028E6870 */ cpu->r[28] = rbrew_read32(cpu->mem, _t154);
/* 028E6874 */ cpu->r[27] = cpu->r[31] + 0x0000002Cu;
L_028E6878: ; // 0x28e6878
/* 028E6878 */ cpu->ctr = cpu->r[28];
/* 028E687C */ _t155 = cpu->r[27] + 0x00000010u;
/* 028E687C */ cpu->r[3] = rbrew_read32(cpu->mem, _t155);
/* 028E687C */ cpu->r[27] = _t155;
/* 028E6880 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6884 */ cpu->ctr = cpu->r[28];
/* 028E6888 */ _t156 = cpu->r[27] + 0x00000000u;
/* 028E6888 */ rbrew_write32(cpu->mem, _t156, cpu->r[3]);
/* 028E688C */ _t157 = cpu->r[27] + 0x00000004u;
/* 028E688C */ cpu->r[3] = rbrew_read32(cpu->mem, _t157);
/* 028E6890 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6894 */ cpu->ctr = cpu->r[28];
/* 028E6898 */ _t158 = cpu->r[27] + 0x00000004u;
/* 028E6898 */ rbrew_write32(cpu->mem, _t158, cpu->r[3]);
/* 028E689C */ _t159 = cpu->r[27] + 0x00000008u;
/* 028E689C */ cpu->r[3] = rbrew_read32(cpu->mem, _t159);
/* 028E68A0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E68A4 */ cpu->ctr = cpu->r[28];
/* 028E68A8 */ _t160 = cpu->r[27] + 0x00000008u;
/* 028E68A8 */ rbrew_write32(cpu->mem, _t160, cpu->r[3]);
/* 028E68AC */ _t161 = cpu->r[27] + 0x0000000Cu;
/* 028E68AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t161);
/* 028E68B0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E68B4 */ _t162 = cpu->r[27] + 0x0000000Cu;
/* 028E68B4 */ rbrew_write32(cpu->mem, _t162, cpu->r[3]);
/* 028E68B8 */ _t163 = cpu->r[31] + 0x00000038u;
/* 028E68B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t163);
/* 028E68BC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E68C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
/* 028E68C4 */ _t164 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E68C4 */ _t165 = _t164 & 0x00000001u;
/* 028E68C4 */ if (_t165) goto L_028E6878; else goto L_028E68C8;
L_028E68C8: ; // 0x28e68c8
/* 028E68C8 */ goto L_028E68E0;
L_028E68CC: ; // 0x28e68cc
/* 028E68CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
/* 028E68D0 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E68D0 */ _t167 = _t166 & 0x00000001u;
/* 028E68D0 */ if (_t167) goto L_028E68D4; else goto L_028E68E0;
L_028E68D4: ; // 0x28e68d4
/* 028E68D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E68D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
/* 028E68DC */ _t168 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E68DC */ _t169 = _t168 & 0x00000001u;
/* 028E68DC */ if (_t169) goto L_028E68D4; else goto L_028E68E0;
L_028E68E0: ; // 0x28e68e0
/* 028E68E0 */ cpu->r[3] = cpu->r[29];
/* 028E68E4 */ /* nop */
/* 028E68E8 */ _t170 = cpu->r[1] + 0x0000003Cu;
/* 028E68E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t170);
/* 028E68EC */ cpu->lr = cpu->r[0];
/* 028E68F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E68F4 */ return;
}
// fn_028E68F8 @ 0x28e68f8
void Gambit_fn_028E68F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028E68F8: ; // 0x28e68f8
/* 028E68F8 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028E68F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028E68FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E6900 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6900 */ _t2 = _t1 & 0x00000001u;
/* 028E6900 */ if (_t2) goto L_028E690C; else goto L_028E6904;
L_028E6904: ; // 0x28e6904
/* 028E6904 */ _t3 = cpu->r[12] + 0x00000010u;
/* 028E6904 */ cpu->r[3] = rbrew_read8(cpu->mem, _t3);
/* 028E6908 */ return;
L_028E690C: ; // 0x28e690c
/* 028E690C */ _t4 = cpu->r[3] + 0x00000010u;
/* 028E690C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028E6910 */ cpu->r[3] = 0x000000FFu;
/* 028E6914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028E6918 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6918 */ _t6 = _t5 & 0x00000001u;
/* 028E6918 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E6918 */ goto L_028E691C;
L_028E691C: ; // 0x28e691c
/* 028E691C */ _t7 = cpu->r[12] + 0x0000000Cu;
/* 028E691C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028E6920 */ return;
}
// fn_028E6924 @ 0x28e6924
void Gambit_fn_028E6924(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
L_028E6924: ; // 0x28e6924
/* 028E6924 */ cpu->r[0] = cpu->lr;
/* 028E6928 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E6928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6928 */ cpu->r[1] = _t0;
/* 028E692C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E692C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E6930 */ cpu->r[31] = cpu->r[3];
/* 028E6934 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028E6934 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E6938 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028E6938 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
/* 028E693C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028E6940 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6940 */ _t5 = _t4 & 0x00000001u;
/* 028E6940 */ if (_t5) goto L_028E69D8; else goto L_028E6944;
L_028E6944: ; // 0x28e6944
/* 028E6944 */ cpu->r[3] = cpu->r[31];
/* 028E6948 */ Gambit_fn_028E68F8(cpu);
/* 028E694C */ _t6 = cpu->r[4] + 0x0000004Cu;
/* 028E694C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
/* 028E6950 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028E6950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028E6954 */ _t8 = cpu->r[12] + 0x00000014u;
/* 028E6954 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028E6958 */ _t9 = cpu->r[4] + 0x000000E4u;
/* 028E6958 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
/* 028E695C */ _t10 = cpu->r[31] + 0x00000004u;
/* 028E695C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028E6960 */ _t11 = cpu->r[5] + 0x00000011u;
/* 028E6960 */ cpu->r[6] = rbrew_read8(cpu->mem, _t11);
/* 028E6964 */ _t12 = cpu->r[4] + 0x000000E0u;
/* 028E6964 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[6]);
/* 028E6968 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028E6968 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
/* 028E696C */ cpu->r[10] = cpu->r[4] + 0x000000ECu;
/* 028E6970 */ cpu->r[11] = 0x00000008u;
/* 028E6974 */ _t14 = cpu->r[7] + 0x00000012u;
/* 028E6974 */ cpu->r[8] = rbrew_read8(cpu->mem, _t14);
/* 028E6978 */ cpu->r[6] = 0x00000000u;
/* 028E697C */ cpu->ctr = cpu->r[11];
/* 028E6980 */ _t15 = cpu->r[4] + 0x000000E8u;
/* 028E6980 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[8]);
L_028E6984: ; // 0x28e6984
/* 028E6984 */ _t16 = cpu->r[31] + 0x00000004u;
/* 028E6984 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
/* 028E6988 */ cpu->r[8] = cpu->r[9] + cpu->r[6];
/* 028E698C */ _t17 = cpu->r[8] + 0x00000028u;
/* 028E698C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E698C */ cpu->r[8] = _t17;
/* 028E6990 */ cpu->r[11] = cpu->r[10] + cpu->r[6];
/* 028E6994 */ _t18 = cpu->r[10] + cpu->r[6];
/* 028E6994 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028E6998 */ _t19 = cpu->r[8] + 0x00000004u;
/* 028E6998 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
/* 028E699C */ cpu->r[6] = cpu->r[6] + 0x00000008u;
/* 028E69A0 */ _t20 = cpu->r[11] + 0x00000004u;
/* 028E69A0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
/* 028E69A4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E69A4 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E69A4 */ _t22 = _t21 >> (0x00000002u & 31u);
/* 028E69A4 */ _t23 = _t22 & 0x00000001u;
/* 028E69A4 */ if (_t23) goto L_028E6984; else goto L_028E69A8;
L_028E69A8: ; // 0x28e69a8
/* 028E69A8 */ _t24 = cpu->r[31] + 0x00000008u;
/* 028E69A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028E69AC */ _t25 = cpu->r[12] + 0x00000008u;
/* 028E69AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E69B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E69B4 */ _t26 = cpu->r[4] + 0x0000012Cu;
/* 028E69B4 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
/* 028E69B8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E69B8 */ _t28 = _t27 & 0x00000001u;
/* 028E69B8 */ if (_t28) goto L_028E6ABC; else goto L_028E69BC;
L_028E69BC: ; // 0x28e69bc
/* 028E69BC */ _t29 = cpu->r[31] + 0x00000008u;
/* 028E69BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
/* 028E69C0 */ cpu->r[5] = cpu->r[6] + 0x0000000Cu;
/* 028E69C4 */ _t30 = cpu->r[4] + 0x00000130u;
/* 028E69C4 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
/* 028E69C8 */ _t31 = cpu->r[31] + 0x0000000Cu;
/* 028E69C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
/* 028E69CC */ cpu->r[10] = cpu->r[7] + 0x00000008u;
/* 028E69D0 */ _t32 = cpu->r[4] + 0x00000134u;
/* 028E69D0 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
/* 028E69D4 */ goto L_028E6AC8;
L_028E69D8: ; // 0x28e69d8
/* 028E69D8 */ _t33 = cpu->r[31] + 0x00000010u;
/* 028E69D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028E69DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E69E0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E69E0 */ _t35 = _t34 & 0x00000001u;
/* 028E69E0 */ if (_t35) goto L_028E6AC8; else goto L_028E69E4;
L_028E69E4: ; // 0x28e69e4
/* 028E69E4 */ cpu->r[3] = cpu->r[31];
/* 028E69E8 */ Gambit_fn_028E68F8(cpu);
/* 028E69EC */ _t36 = cpu->r[4] + 0x0000004Cu;
/* 028E69EC */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
/* 028E69F0 */ cpu->r[12] = 0x10140000u;
/* 028E69F4 */ _t37 = cpu->r[31] + 0x00000010u;
/* 028E69F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
/* 028E69F8 */ _t38 = cpu->r[12] + 0xFFFFB908u;
/* 028E69F8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t38);
/* 028E69FC */ cpu->r[7] = 0x43300000u;
/* 028E6A00 */ _t39 = cpu->r[5] + 0x00000010u;
/* 028E6A00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
/* 028E6A04 */ _t40 = cpu->r[1] + 0x00000008u;
/* 028E6A04 */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
/* 028E6A08 */ _t41 = cpu->r[1] + 0x0000000Cu;
/* 028E6A08 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
/* 028E6A0C */ _t42 = cpu->r[1] + 0x00000008u;
/* 028E6A0C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t42);
/* 028E6A10 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028E6A14 */ cpu->r[9] = 0x10140000u;
/* 028E6A18 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028E6A1C */ _t43 = cpu->r[9] + 0xFFFFB910u;
/* 028E6A1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
/* 028E6A20 */ cpu->f[0] = cpu->f[0] / cpu->f[13];
/* 028E6A24 */ _t44 = cpu->r[4] + 0x000000E4u;
/* 028E6A24 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
/* 028E6A28 */ _t45 = cpu->r[31] + 0x00000010u;
/* 028E6A28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
/* 028E6A2C */ _t46 = cpu->r[5] + 0x00000014u;
/* 028E6A2C */ cpu->r[0] = rbrew_read16(cpu->mem, _t46);
/* 028E6A30 */ _t47 = cpu->r[4] + 0x000000E0u;
/* 028E6A30 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[0]);
/* 028E6A34 */ _t48 = cpu->r[31] + 0x00000010u;
/* 028E6A34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
/* 028E6A38 */ cpu->r[0] = 0x00000008u;
/* 028E6A3C */ cpu->r[11] = cpu->r[4] + 0x000000E4u;
/* 028E6A40 */ _t49 = cpu->r[5] + 0x00000016u;
/* 028E6A40 */ cpu->r[8] = rbrew_read16(cpu->mem, _t49);
/* 028E6A44 */ cpu->ctr = cpu->r[0];
/* 028E6A48 */ cpu->r[6] = 0x00000000u;
/* 028E6A4C */ _t50 = cpu->r[4] + 0x000000E8u;
/* 028E6A4C */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[8]);
L_028E6A50: ; // 0x28e6a50
/* 028E6A50 */ _t51 = cpu->r[31] + 0x00000010u;
/* 028E6A50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
/* 028E6A54 */ cpu->r[8] = 0x10140000u;
/* 028E6A58 */ _t52 = cpu->r[8] + 0xFFFFB908u;
/* 028E6A58 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t52);
/* 028E6A5C */ cpu->r[12] = cpu->r[12] + cpu->r[6];
/* 028E6A60 */ _t53 = cpu->r[12] + 0x00000018u;
/* 028E6A60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t53);
/* 028E6A60 */ cpu->r[12] = _t53;
/* 028E6A64 */ cpu->r[7] = 0x43300000u;
/* 028E6A68 */ _t54 = cpu->r[11] + 0x00000008u;
/* 028E6A68 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
/* 028E6A68 */ cpu->r[11] = _t54;
/* 028E6A6C */ _t55 = cpu->r[12] + 0x00000001u;
/* 028E6A6C */ cpu->r[5] = rbrew_read8(cpu->mem, _t55);
/* 028E6A70 */ _t56 = cpu->r[1] + 0x00000008u;
/* 028E6A70 */ rbrew_write32(cpu->mem, _t56, cpu->r[7]);
/* 028E6A74 */ _t57 = cpu->r[1] + 0x0000000Cu;
/* 028E6A74 */ rbrew_write32(cpu->mem, _t57, cpu->r[5]);
/* 028E6A78 */ _t58 = cpu->r[1] + 0x00000008u;
/* 028E6A78 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t58);
/* 028E6A7C */ cpu->f[13] = cpu->f[12] - cpu->f[0];
/* 028E6A80 */ cpu->f[0] = (double)(float)cpu->f[13];
/* 028E6A84 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028E6A88 */ _t59 = cpu->r[11] + 0x00000004u;
/* 028E6A88 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
/* 028E6A8C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E6A8C */ _t60 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E6A8C */ _t61 = _t60 >> (0x00000002u & 31u);
/* 028E6A8C */ _t62 = _t61 & 0x00000001u;
/* 028E6A8C */ if (_t62) goto L_028E6A50; else goto L_028E6A90;
L_028E6A90: ; // 0x28e6a90
/* 028E6A90 */ _t63 = cpu->r[31] + 0x00000010u;
/* 028E6A90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
/* 028E6A94 */ _t64 = cpu->r[8] + 0x00000038u;
/* 028E6A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
/* 028E6A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E6A9C */ _t65 = cpu->r[4] + 0x0000012Cu;
/* 028E6A9C */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
/* 028E6AA0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6AA0 */ _t67 = _t66 & 0x00000001u;
/* 028E6AA0 */ if (_t67) goto L_028E6ABC; else goto L_028E6AA4;
L_028E6AA4: ; // 0x28e6aa4
/* 028E6AA4 */ _t68 = cpu->r[31] + 0x00000010u;
/* 028E6AA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
/* 028E6AA8 */ cpu->r[9] = cpu->r[10] + 0x0000003Cu;
/* 028E6AAC */ _t69 = cpu->r[4] + 0x00000130u;
/* 028E6AAC */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
/* 028E6AB0 */ _t70 = cpu->r[31] + 0x00000014u;
/* 028E6AB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
/* 028E6AB4 */ _t71 = cpu->r[4] + 0x00000134u;
/* 028E6AB4 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
/* 028E6AB8 */ goto L_028E6AC8;
L_028E6ABC: ; // 0x28e6abc
/* 028E6ABC */ cpu->r[10] = 0x00000000u;
/* 028E6AC0 */ _t72 = cpu->r[4] + 0x00000130u;
/* 028E6AC0 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
/* 028E6AC4 */ _t73 = cpu->r[4] + 0x00000134u;
/* 028E6AC4 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
L_028E6AC8: ; // 0x28e6ac8
/* 028E6AC8 */ _t74 = cpu->r[1] + 0x0000001Cu;
/* 028E6AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
/* 028E6ACC */ _t75 = cpu->r[1] + 0x00000014u;
/* 028E6ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
/* 028E6AD0 */ cpu->lr = cpu->r[0];
/* 028E6AD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E6AD8 */ return;
}
// fn_028E6928 @ 0x28e6928
void Gambit_fn_028E6928(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
L_028E6928: ; // 0x28e6928
/* 028E6928 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E6928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6928 */ cpu->r[1] = _t0;
/* 028E692C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E692C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E6930 */ cpu->r[31] = cpu->r[3];
/* 028E6934 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028E6934 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E6938 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028E6938 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
/* 028E693C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028E6940 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6940 */ _t5 = _t4 & 0x00000001u;
/* 028E6940 */ if (_t5) goto L_028E69D8; else goto L_028E6944;
L_028E6944: ; // 0x28e6944
/* 028E6944 */ cpu->r[3] = cpu->r[31];
/* 028E6948 */ Gambit_fn_028E68F8(cpu);
/* 028E694C */ _t6 = cpu->r[4] + 0x0000004Cu;
/* 028E694C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
/* 028E6950 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028E6950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028E6954 */ _t8 = cpu->r[12] + 0x00000014u;
/* 028E6954 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028E6958 */ _t9 = cpu->r[4] + 0x000000E4u;
/* 028E6958 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
/* 028E695C */ _t10 = cpu->r[31] + 0x00000004u;
/* 028E695C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028E6960 */ _t11 = cpu->r[5] + 0x00000011u;
/* 028E6960 */ cpu->r[6] = rbrew_read8(cpu->mem, _t11);
/* 028E6964 */ _t12 = cpu->r[4] + 0x000000E0u;
/* 028E6964 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[6]);
/* 028E6968 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028E6968 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
/* 028E696C */ cpu->r[10] = cpu->r[4] + 0x000000ECu;
/* 028E6970 */ cpu->r[11] = 0x00000008u;
/* 028E6974 */ _t14 = cpu->r[7] + 0x00000012u;
/* 028E6974 */ cpu->r[8] = rbrew_read8(cpu->mem, _t14);
/* 028E6978 */ cpu->r[6] = 0x00000000u;
/* 028E697C */ cpu->ctr = cpu->r[11];
/* 028E6980 */ _t15 = cpu->r[4] + 0x000000E8u;
/* 028E6980 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[8]);
L_028E6984: ; // 0x28e6984
/* 028E6984 */ _t16 = cpu->r[31] + 0x00000004u;
/* 028E6984 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
/* 028E6988 */ cpu->r[8] = cpu->r[9] + cpu->r[6];
/* 028E698C */ _t17 = cpu->r[8] + 0x00000028u;
/* 028E698C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E698C */ cpu->r[8] = _t17;
/* 028E6990 */ cpu->r[11] = cpu->r[10] + cpu->r[6];
/* 028E6994 */ _t18 = cpu->r[10] + cpu->r[6];
/* 028E6994 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028E6998 */ _t19 = cpu->r[8] + 0x00000004u;
/* 028E6998 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
/* 028E699C */ cpu->r[6] = cpu->r[6] + 0x00000008u;
/* 028E69A0 */ _t20 = cpu->r[11] + 0x00000004u;
/* 028E69A0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
/* 028E69A4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E69A4 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E69A4 */ _t22 = _t21 >> (0x00000002u & 31u);
/* 028E69A4 */ _t23 = _t22 & 0x00000001u;
/* 028E69A4 */ if (_t23) goto L_028E6984; else goto L_028E69A8;
L_028E69A8: ; // 0x28e69a8
/* 028E69A8 */ _t24 = cpu->r[31] + 0x00000008u;
/* 028E69A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028E69AC */ _t25 = cpu->r[12] + 0x00000008u;
/* 028E69AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E69B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E69B4 */ _t26 = cpu->r[4] + 0x0000012Cu;
/* 028E69B4 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
/* 028E69B8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E69B8 */ _t28 = _t27 & 0x00000001u;
/* 028E69B8 */ if (_t28) goto L_028E6ABC; else goto L_028E69BC;
L_028E69BC: ; // 0x28e69bc
/* 028E69BC */ _t29 = cpu->r[31] + 0x00000008u;
/* 028E69BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
/* 028E69C0 */ cpu->r[5] = cpu->r[6] + 0x0000000Cu;
/* 028E69C4 */ _t30 = cpu->r[4] + 0x00000130u;
/* 028E69C4 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
/* 028E69C8 */ _t31 = cpu->r[31] + 0x0000000Cu;
/* 028E69C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
/* 028E69CC */ cpu->r[10] = cpu->r[7] + 0x00000008u;
/* 028E69D0 */ _t32 = cpu->r[4] + 0x00000134u;
/* 028E69D0 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
/* 028E69D4 */ goto L_028E6AC8;
L_028E69D8: ; // 0x28e69d8
/* 028E69D8 */ _t33 = cpu->r[31] + 0x00000010u;
/* 028E69D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028E69DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E69E0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E69E0 */ _t35 = _t34 & 0x00000001u;
/* 028E69E0 */ if (_t35) goto L_028E6AC8; else goto L_028E69E4;
L_028E69E4: ; // 0x28e69e4
/* 028E69E4 */ cpu->r[3] = cpu->r[31];
/* 028E69E8 */ Gambit_fn_028E68F8(cpu);
/* 028E69EC */ _t36 = cpu->r[4] + 0x0000004Cu;
/* 028E69EC */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
/* 028E69F0 */ cpu->r[12] = 0x10140000u;
/* 028E69F4 */ _t37 = cpu->r[31] + 0x00000010u;
/* 028E69F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
/* 028E69F8 */ _t38 = cpu->r[12] + 0xFFFFB908u;
/* 028E69F8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t38);
/* 028E69FC */ cpu->r[7] = 0x43300000u;
/* 028E6A00 */ _t39 = cpu->r[5] + 0x00000010u;
/* 028E6A00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
/* 028E6A04 */ _t40 = cpu->r[1] + 0x00000008u;
/* 028E6A04 */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
/* 028E6A08 */ _t41 = cpu->r[1] + 0x0000000Cu;
/* 028E6A08 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
/* 028E6A0C */ _t42 = cpu->r[1] + 0x00000008u;
/* 028E6A0C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t42);
/* 028E6A10 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028E6A14 */ cpu->r[9] = 0x10140000u;
/* 028E6A18 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028E6A1C */ _t43 = cpu->r[9] + 0xFFFFB910u;
/* 028E6A1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
/* 028E6A20 */ cpu->f[0] = cpu->f[0] / cpu->f[13];
/* 028E6A24 */ _t44 = cpu->r[4] + 0x000000E4u;
/* 028E6A24 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
/* 028E6A28 */ _t45 = cpu->r[31] + 0x00000010u;
/* 028E6A28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
/* 028E6A2C */ _t46 = cpu->r[5] + 0x00000014u;
/* 028E6A2C */ cpu->r[0] = rbrew_read16(cpu->mem, _t46);
/* 028E6A30 */ _t47 = cpu->r[4] + 0x000000E0u;
/* 028E6A30 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[0]);
/* 028E6A34 */ _t48 = cpu->r[31] + 0x00000010u;
/* 028E6A34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
/* 028E6A38 */ cpu->r[0] = 0x00000008u;
/* 028E6A3C */ cpu->r[11] = cpu->r[4] + 0x000000E4u;
/* 028E6A40 */ _t49 = cpu->r[5] + 0x00000016u;
/* 028E6A40 */ cpu->r[8] = rbrew_read16(cpu->mem, _t49);
/* 028E6A44 */ cpu->ctr = cpu->r[0];
/* 028E6A48 */ cpu->r[6] = 0x00000000u;
/* 028E6A4C */ _t50 = cpu->r[4] + 0x000000E8u;
/* 028E6A4C */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[8]);
L_028E6A50: ; // 0x28e6a50
/* 028E6A50 */ _t51 = cpu->r[31] + 0x00000010u;
/* 028E6A50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
/* 028E6A54 */ cpu->r[8] = 0x10140000u;
/* 028E6A58 */ _t52 = cpu->r[8] + 0xFFFFB908u;
/* 028E6A58 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t52);
/* 028E6A5C */ cpu->r[12] = cpu->r[12] + cpu->r[6];
/* 028E6A60 */ _t53 = cpu->r[12] + 0x00000018u;
/* 028E6A60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t53);
/* 028E6A60 */ cpu->r[12] = _t53;
/* 028E6A64 */ cpu->r[7] = 0x43300000u;
/* 028E6A68 */ _t54 = cpu->r[11] + 0x00000008u;
/* 028E6A68 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
/* 028E6A68 */ cpu->r[11] = _t54;
/* 028E6A6C */ _t55 = cpu->r[12] + 0x00000001u;
/* 028E6A6C */ cpu->r[5] = rbrew_read8(cpu->mem, _t55);
/* 028E6A70 */ _t56 = cpu->r[1] + 0x00000008u;
/* 028E6A70 */ rbrew_write32(cpu->mem, _t56, cpu->r[7]);
/* 028E6A74 */ _t57 = cpu->r[1] + 0x0000000Cu;
/* 028E6A74 */ rbrew_write32(cpu->mem, _t57, cpu->r[5]);
/* 028E6A78 */ _t58 = cpu->r[1] + 0x00000008u;
/* 028E6A78 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t58);
/* 028E6A7C */ cpu->f[13] = cpu->f[12] - cpu->f[0];
/* 028E6A80 */ cpu->f[0] = (double)(float)cpu->f[13];
/* 028E6A84 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028E6A88 */ _t59 = cpu->r[11] + 0x00000004u;
/* 028E6A88 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
/* 028E6A8C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E6A8C */ _t60 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E6A8C */ _t61 = _t60 >> (0x00000002u & 31u);
/* 028E6A8C */ _t62 = _t61 & 0x00000001u;
/* 028E6A8C */ if (_t62) goto L_028E6A50; else goto L_028E6A90;
L_028E6A90: ; // 0x28e6a90
/* 028E6A90 */ _t63 = cpu->r[31] + 0x00000010u;
/* 028E6A90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
/* 028E6A94 */ _t64 = cpu->r[8] + 0x00000038u;
/* 028E6A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
/* 028E6A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E6A9C */ _t65 = cpu->r[4] + 0x0000012Cu;
/* 028E6A9C */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
/* 028E6AA0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6AA0 */ _t67 = _t66 & 0x00000001u;
/* 028E6AA0 */ if (_t67) goto L_028E6ABC; else goto L_028E6AA4;
L_028E6AA4: ; // 0x28e6aa4
/* 028E6AA4 */ _t68 = cpu->r[31] + 0x00000010u;
/* 028E6AA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
/* 028E6AA8 */ cpu->r[9] = cpu->r[10] + 0x0000003Cu;
/* 028E6AAC */ _t69 = cpu->r[4] + 0x00000130u;
/* 028E6AAC */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
/* 028E6AB0 */ _t70 = cpu->r[31] + 0x00000014u;
/* 028E6AB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
/* 028E6AB4 */ _t71 = cpu->r[4] + 0x00000134u;
/* 028E6AB4 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
/* 028E6AB8 */ goto L_028E6AC8;
L_028E6ABC: ; // 0x28e6abc
/* 028E6ABC */ cpu->r[10] = 0x00000000u;
/* 028E6AC0 */ _t72 = cpu->r[4] + 0x00000130u;
/* 028E6AC0 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
/* 028E6AC4 */ _t73 = cpu->r[4] + 0x00000134u;
/* 028E6AC4 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
L_028E6AC8: ; // 0x28e6ac8
/* 028E6AC8 */ _t74 = cpu->r[1] + 0x0000001Cu;
/* 028E6AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
/* 028E6ACC */ _t75 = cpu->r[1] + 0x00000014u;
/* 028E6ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
/* 028E6AD0 */ cpu->lr = cpu->r[0];
/* 028E6AD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E6AD8 */ return;
}
// fn_028E6ADC @ 0x28e6adc
void Gambit_fn_028E6ADC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028E6ADC: ; // 0x28e6adc
/* 028E6ADC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
/* 028E6AE0 */ goto L_028E78CC;
L_028E78CC: ; // 0x28e78cc
/* 028E78CC */ cpu->r[0] = cpu->lr;
/* 028E78D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E78D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E78D0 */ cpu->r[1] = _t0;
/* 028E78D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E78D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E78D8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E78D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E78DC */ cpu->r[30] = cpu->r[3];
/* 028E78DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E78E0 */ cpu->r[31] = cpu->r[4];
/* 028E78E4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E78E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E78E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E78E8 */ _t5 = _t4 & 0x00000001u;
/* 028E78E8 */ if (_t5) goto L_028E7934; else goto L_028E78EC;
L_028E78EC: ; // 0x28e78ec
/* 028E78EC */ cpu->r[0] = 0x10140000u;
/* 028E78F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E78F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFBA44u;
/* 028E78F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E78F8 */ _t7 = _t6 & 0x00000001u;
/* 028E78F8 */ if (_t7) goto L_028E78FC; else goto L_028E790C;
L_028E78FC: ; // 0x28e78fc
/* 028E78FC */ _t8 = cpu->r[30] + 0x0000001Cu;
/* 028E78FC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E7900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7904 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7904 */ _t10 = _t9 & 0x00000001u;
/* 028E7904 */ if (_t10) goto L_028E7934; else goto L_028E7908;
L_028E7908: ; // 0x28e7908
/* 028E7908 */ goto L_028E792C;
L_028E790C: ; // 0x28e790c
/* 028E790C */ cpu->r[11] = 0x10130000u;
/* 028E7910 */ cpu->r[3] = cpu->r[30];
/* 028E7914 */ cpu->r[11] = cpu->r[11] + 0xFFFFE164u;
/* 028E7918 */ cpu->r[4] = 0x00000000u;
/* 028E791C */ _t11 = cpu->r[30] + 0x0000001Cu;
/* 028E791C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028E7920 */ Gambit_fn_02830340(cpu);
/* 028E7924 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7928 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7928 */ _t13 = _t12 & 0x00000001u;
/* 028E7928 */ if (_t13) goto L_028E7934; else goto L_028E792C;
L_028E792C: ; // 0x28e792c
/* 028E792C */ cpu->r[3] = cpu->r[30];
/* 028E7930 */ Gambit_fn_02801BB0(cpu);
L_028E7934: ; // 0x28e7934
/* 028E7934 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028E7934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E7938 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028E7938 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028E793C */ cpu->lr = cpu->r[0];
/* 028E7940 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E7940 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E7944 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E7948 */ return;
}
// fn_028E6AE4 @ 0x28e6ae4
void Gambit_fn_028E6AE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028E6AE4: ; // 0x28e6ae4
/* 028E6AE4 */ cpu->r[0] = cpu->lr;
/* 028E6AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E6AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6AE8 */ cpu->r[1] = _t0;
/* 028E6AEC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E6AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E6AF0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E6AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E6AF4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E6AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E6AF8 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E6AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E6AFC */ cpu->r[31] = cpu->r[3];
/* 028E6AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E6B00 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E6B00 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E6B04 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B04 */ _t7 = _t6 & 0x00000001u;
/* 028E6B04 */ if (_t7) goto L_028E6B08; else goto L_028E6B18;
L_028E6B08: ; // 0x28e6b08
/* 028E6B08 */ cpu->r[3] = 0x00000054u;
/* 028E6B0C */ Gambit_fn_02801A78(cpu);
/* 028E6B10 */ cpu->r[31] = cpu->r[3];
/* 028E6B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E6B14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B14 */ _t9 = _t8 & 0x00000001u;
/* 028E6B14 */ if (_t9) goto L_028E6BD0; else goto L_028E6B18;
L_028E6B18: ; // 0x28e6b18
/* 028E6B18 */ cpu->r[7] = 0x10140000u;
/* 028E6B1C */ cpu->r[7] = cpu->r[7] + 0xFFFFBA6Cu;
/* 028E6B20 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
/* 028E6B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E6B24 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028E6B24 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
/* 028E6B28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B28 */ _t12 = _t11 & 0x00000001u;
/* 028E6B28 */ if (_t12) goto L_028E6B2C; else goto L_028E6B3C;
L_028E6B2C: ; // 0x28e6b2c
/* 028E6B2C */ cpu->r[3] = 0x0000004Cu;
/* 028E6B30 */ Gambit_fn_02801A78(cpu);
/* 028E6B34 */ cpu->r[28] = cpu->r[3];
/* 028E6B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E6B38 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B38 */ _t14 = _t13 & 0x00000001u;
/* 028E6B38 */ if (_t14) goto L_028E6BD0; else goto L_028E6B3C;
L_028E6B3C: ; // 0x28e6b3c
/* 028E6B3C */ cpu->r[30] = cpu->r[28];
/* 028E6B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E6B40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B40 */ _t16 = _t15 & 0x00000001u;
/* 028E6B40 */ if (_t16) goto L_028E6B44; else goto L_028E6B54;
L_028E6B44: ; // 0x28e6b44
/* 028E6B44 */ cpu->r[3] = 0x0000004Cu;
/* 028E6B48 */ Gambit_fn_02801A78(cpu);
/* 028E6B4C */ cpu->r[30] = cpu->r[3];
/* 028E6B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E6B50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B50 */ _t18 = _t17 & 0x00000001u;
/* 028E6B50 */ if (_t18) goto L_028E6BC4; else goto L_028E6B54;
L_028E6B54: ; // 0x28e6b54
/* 028E6B54 */ cpu->r[3] = cpu->r[30];
/* 028E6B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6B58 */ cpu->r[29] = 0x10110000u;
/* 028E6B5C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B5C */ _t20 = _t19 & 0x00000001u;
/* 028E6B5C */ if (_t20) goto L_028E6B60; else goto L_028E6B8C;
L_028E6B60: ; // 0x28e6b60
/* 028E6B60 */ cpu->r[3] = 0x0000000Cu;
/* 028E6B64 */ Gambit_fn_02801A78(cpu);
/* 028E6B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6B6C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B6C */ _t22 = _t21 & 0x00000001u;
/* 028E6B6C */ if (_t22) goto L_028E6B70; else goto L_028E6B8C;
L_028E6B70: ; // 0x28e6b70
/* 028E6B70 */ cpu->r[11] = 0x10140000u;
/* 028E6B74 */ _t23 = cpu->r[29] + 0x00007399u;
/* 028E6B74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
/* 028E6B78 */ cpu->r[11] = cpu->r[11] + 0xFFFFB9D4u;
/* 028E6B7C */ _t24 = cpu->r[30] + 0x00000000u;
/* 028E6B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028E6B80 */ _t25 = cpu->r[30] + 0x00000004u;
/* 028E6B80 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
/* 028E6B84 */ _t26 = cpu->r[12] + 0x00000000u;
/* 028E6B84 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
/* 028E6B88 */ goto L_028E6BC4;
L_028E6B8C: ; // 0x28e6b8c
/* 028E6B8C */ cpu->r[9] = 0x10140000u;
/* 028E6B90 */ cpu->r[8] = cpu->r[30] + 0x0000000Cu;
/* 028E6B94 */ cpu->r[9] = cpu->r[9] + 0xFFFFB94Cu;
/* 028E6B98 */ _t27 = cpu->r[3] + 0x00000000u;
/* 028E6B98 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
/* 028E6B9C */ cpu->r[10] = 0x00000040u;
/* 028E6BA0 */ _t28 = cpu->r[3] + 0x00000004u;
/* 028E6BA0 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
/* 028E6BA4 */ _t29 = cpu->r[3] + 0x00000008u;
/* 028E6BA4 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
/* 028E6BA8 */ _t30 = cpu->r[29] + 0x00007399u;
/* 028E6BA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
/* 028E6BAC */ cpu->r[11] = 0x10140000u;
/* 028E6BB0 */ _t31 = cpu->r[30] + 0x00000000u;
/* 028E6BB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
/* 028E6BB4 */ cpu->r[11] = cpu->r[11] + 0xFFFFB9D4u;
/* 028E6BB8 */ _t32 = cpu->r[30] + 0x0000004Bu;
/* 028E6BB8 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
/* 028E6BBC */ _t33 = cpu->r[30] + 0x00000004u;
/* 028E6BBC */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
/* 028E6BC0 */ _t34 = cpu->r[12] + 0x00000000u;
/* 028E6BC0 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[0]);
L_028E6BC4: ; // 0x28e6bc4
/* 028E6BC4 */ cpu->r[0] = 0x10140000u;
/* 028E6BC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFB9ECu;
/* 028E6BCC */ _t35 = cpu->r[28] + 0x00000004u;
/* 028E6BCC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
L_028E6BD0: ; // 0x28e6bd0
/* 028E6BD0 */ _t36 = cpu->r[1] + 0x00000008u;
/* 028E6BD0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
/* 028E6BD4 */ _t37 = cpu->r[1] + 0x0000000Cu;
/* 028E6BD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
/* 028E6BD8 */ _t38 = cpu->r[1] + 0x0000001Cu;
/* 028E6BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028E6BDC */ cpu->r[3] = cpu->r[31];
/* 028E6BE0 */ _t39 = cpu->r[1] + 0x00000010u;
/* 028E6BE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
/* 028E6BE4 */ cpu->lr = cpu->r[0];
/* 028E6BE8 */ _t40 = cpu->r[1] + 0x00000014u;
/* 028E6BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028E6BEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E6BF0 */ return;
}
// fn_028E6AE8 @ 0x28e6ae8
void Gambit_fn_028E6AE8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028E6AE8: ; // 0x28e6ae8
/* 028E6AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E6AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6AE8 */ cpu->r[1] = _t0;
/* 028E6AEC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E6AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E6AF0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E6AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E6AF4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E6AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E6AF8 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E6AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E6AFC */ cpu->r[31] = cpu->r[3];
/* 028E6AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E6B00 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E6B00 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E6B04 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B04 */ _t7 = _t6 & 0x00000001u;
/* 028E6B04 */ if (_t7) goto L_028E6B08; else goto L_028E6B18;
L_028E6B08: ; // 0x28e6b08
/* 028E6B08 */ cpu->r[3] = 0x00000054u;
/* 028E6B0C */ Gambit_fn_02801A78(cpu);
/* 028E6B10 */ cpu->r[31] = cpu->r[3];
/* 028E6B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E6B14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B14 */ _t9 = _t8 & 0x00000001u;
/* 028E6B14 */ if (_t9) goto L_028E6BD0; else goto L_028E6B18;
L_028E6B18: ; // 0x28e6b18
/* 028E6B18 */ cpu->r[7] = 0x10140000u;
/* 028E6B1C */ cpu->r[7] = cpu->r[7] + 0xFFFFBA6Cu;
/* 028E6B20 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
/* 028E6B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E6B24 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028E6B24 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
/* 028E6B28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B28 */ _t12 = _t11 & 0x00000001u;
/* 028E6B28 */ if (_t12) goto L_028E6B2C; else goto L_028E6B3C;
L_028E6B2C: ; // 0x28e6b2c
/* 028E6B2C */ cpu->r[3] = 0x0000004Cu;
/* 028E6B30 */ Gambit_fn_02801A78(cpu);
/* 028E6B34 */ cpu->r[28] = cpu->r[3];
/* 028E6B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E6B38 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B38 */ _t14 = _t13 & 0x00000001u;
/* 028E6B38 */ if (_t14) goto L_028E6BD0; else goto L_028E6B3C;
L_028E6B3C: ; // 0x28e6b3c
/* 028E6B3C */ cpu->r[30] = cpu->r[28];
/* 028E6B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E6B40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B40 */ _t16 = _t15 & 0x00000001u;
/* 028E6B40 */ if (_t16) goto L_028E6B44; else goto L_028E6B54;
L_028E6B44: ; // 0x28e6b44
/* 028E6B44 */ cpu->r[3] = 0x0000004Cu;
/* 028E6B48 */ Gambit_fn_02801A78(cpu);
/* 028E6B4C */ cpu->r[30] = cpu->r[3];
/* 028E6B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E6B50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B50 */ _t18 = _t17 & 0x00000001u;
/* 028E6B50 */ if (_t18) goto L_028E6BC4; else goto L_028E6B54;
L_028E6B54: ; // 0x28e6b54
/* 028E6B54 */ cpu->r[3] = cpu->r[30];
/* 028E6B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6B58 */ cpu->r[29] = 0x10110000u;
/* 028E6B5C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B5C */ _t20 = _t19 & 0x00000001u;
/* 028E6B5C */ if (_t20) goto L_028E6B60; else goto L_028E6B8C;
L_028E6B60: ; // 0x28e6b60
/* 028E6B60 */ cpu->r[3] = 0x0000000Cu;
/* 028E6B64 */ Gambit_fn_02801A78(cpu);
/* 028E6B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6B6C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6B6C */ _t22 = _t21 & 0x00000001u;
/* 028E6B6C */ if (_t22) goto L_028E6B70; else goto L_028E6B8C;
L_028E6B70: ; // 0x28e6b70
/* 028E6B70 */ cpu->r[11] = 0x10140000u;
/* 028E6B74 */ _t23 = cpu->r[29] + 0x00007399u;
/* 028E6B74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
/* 028E6B78 */ cpu->r[11] = cpu->r[11] + 0xFFFFB9D4u;
/* 028E6B7C */ _t24 = cpu->r[30] + 0x00000000u;
/* 028E6B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028E6B80 */ _t25 = cpu->r[30] + 0x00000004u;
/* 028E6B80 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
/* 028E6B84 */ _t26 = cpu->r[12] + 0x00000000u;
/* 028E6B84 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
/* 028E6B88 */ goto L_028E6BC4;
L_028E6B8C: ; // 0x28e6b8c
/* 028E6B8C */ cpu->r[9] = 0x10140000u;
/* 028E6B90 */ cpu->r[8] = cpu->r[30] + 0x0000000Cu;
/* 028E6B94 */ cpu->r[9] = cpu->r[9] + 0xFFFFB94Cu;
/* 028E6B98 */ _t27 = cpu->r[3] + 0x00000000u;
/* 028E6B98 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
/* 028E6B9C */ cpu->r[10] = 0x00000040u;
/* 028E6BA0 */ _t28 = cpu->r[3] + 0x00000004u;
/* 028E6BA0 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
/* 028E6BA4 */ _t29 = cpu->r[3] + 0x00000008u;
/* 028E6BA4 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
/* 028E6BA8 */ _t30 = cpu->r[29] + 0x00007399u;
/* 028E6BA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
/* 028E6BAC */ cpu->r[11] = 0x10140000u;
/* 028E6BB0 */ _t31 = cpu->r[30] + 0x00000000u;
/* 028E6BB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
/* 028E6BB4 */ cpu->r[11] = cpu->r[11] + 0xFFFFB9D4u;
/* 028E6BB8 */ _t32 = cpu->r[30] + 0x0000004Bu;
/* 028E6BB8 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
/* 028E6BBC */ _t33 = cpu->r[30] + 0x00000004u;
/* 028E6BBC */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
/* 028E6BC0 */ _t34 = cpu->r[12] + 0x00000000u;
/* 028E6BC0 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[0]);
L_028E6BC4: ; // 0x28e6bc4
/* 028E6BC4 */ cpu->r[0] = 0x10140000u;
/* 028E6BC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFB9ECu;
/* 028E6BCC */ _t35 = cpu->r[28] + 0x00000004u;
/* 028E6BCC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
L_028E6BD0: ; // 0x28e6bd0
/* 028E6BD0 */ _t36 = cpu->r[1] + 0x00000008u;
/* 028E6BD0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
/* 028E6BD4 */ _t37 = cpu->r[1] + 0x0000000Cu;
/* 028E6BD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
/* 028E6BD8 */ _t38 = cpu->r[1] + 0x0000001Cu;
/* 028E6BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028E6BDC */ cpu->r[3] = cpu->r[31];
/* 028E6BE0 */ _t39 = cpu->r[1] + 0x00000010u;
/* 028E6BE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
/* 028E6BE4 */ cpu->lr = cpu->r[0];
/* 028E6BE8 */ _t40 = cpu->r[1] + 0x00000014u;
/* 028E6BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028E6BEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E6BF0 */ return;
}
// fn_028E6BF4 @ 0x28e6bf4
void Gambit_fn_028E6BF4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E6BF4: ; // 0x28e6bf4
/* 028E6BF4 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028E6BF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6BF4 */ cpu->r[1] = _t0;
/* 028E6BF8 */ cpu->r[0] = cpu->lr;
/* 028E6BFC */ /* nop */
/* 028E6C00 */ cpu->r[31] = cpu->r[5];
/* 028E6C04 */ cpu->r[28] = cpu->r[3];
/* 028E6C08 */ cpu->r[5] = 0x00000004u;
/* 028E6C0C */ cpu->r[3] = 0x00000054u;
/* 028E6C10 */ _t1 = cpu->r[1] + 0x0000004Cu;
/* 028E6C10 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E6C14 */ cpu->r[29] = cpu->r[4];
/* 028E6C18 */ cpu->r[4] = cpu->r[31];
/* 028E6C1C */ cpu->r[27] = cpu->r[6];
/* 028E6C20 */ Gambit_fn_02801AC8(cpu);
/* 028E6C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6C28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6C28 */ _t3 = _t2 & 0x00000001u;
/* 028E6C28 */ if (_t3) goto L_028E6C38; else goto L_028E6C2C;
L_028E6C2C: ; // 0x28e6c2c
/* 028E6C2C */ Gambit_fn_028E6AE4(cpu);
/* 028E6C30 */ cpu->r[30] = cpu->r[3];
/* 028E6C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E6C34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6C34 */ _t5 = _t4 & 0x00000001u;
/* 028E6C34 */ if (_t5) goto L_028E6C38; else goto L_028E6C50;
L_028E6C38: ; // 0x28e6c38
/* 028E6C38 */ /* nop */
/* 028E6C3C */ _t6 = cpu->r[1] + 0x0000004Cu;
/* 028E6C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E6C40 */ cpu->lr = cpu->r[0];
/* 028E6C44 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028E6C48 */ cpu->r[3] = 0x00000000u;
/* 028E6C4C */ return;
L_028E6C50: ; // 0x28e6c50
/* 028E6C50 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028E6C50 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
/* 028E6C54 */ cpu->r[3] = 0x101D0000u;
/* 028E6C58 */ _t8 = cpu->r[1] + 0x00000024u;
/* 028E6C58 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
/* 028E6C5C */ cpu->r[11] = 0x00000020u;
/* 028E6C60 */ cpu->r[26] = 0x10110000u;
/* 028E6C64 */ _t9 = cpu->r[3] + 0xFFFF9920u;
/* 028E6C64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028E6C68 */ cpu->r[0] = 0x101F0000u;
/* 028E6C6C */ cpu->r[26] = cpu->r[26] + 0x00007399u;
/* 028E6C70 */ _t10 = cpu->r[1] + 0x00000028u;
/* 028E6C70 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
/* 028E6C74 */ cpu->r[0] = cpu->r[0] + 0x000071DCu;
/* 028E6C78 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028E6C78 */ rbrew_write32(cpu->mem, _t11, cpu->r[26]);
/* 028E6C7C */ cpu->r[10] = 0x10140000u;
/* 028E6C80 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028E6C80 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028E6C84 */ cpu->r[10] = cpu->r[10] + 0xFFFFB934u;
/* 028E6C88 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028E6C88 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028E6C8C */ cpu->r[0] = 0x00000000u;
/* 028E6C90 */ _t14 = cpu->r[1] + 0x00000020u;
/* 028E6C90 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
/* 028E6C94 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028E6C94 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
/* 028E6C98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E6C9C */ _t16 = cpu->r[1] + 0x00000010u;
/* 028E6C9C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
/* 028E6CA0 */ Gambit_fn_028310B4(cpu);
/* 028E6CA4 */ cpu->r[7] = 0x101D0000u;
/* 028E6CA8 */ _t17 = cpu->r[7] + 0xFFFFDE2Cu;
/* 028E6CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E6CA8 */ cpu->r[7] = _t17;
/* 028E6CAC */ cpu->r[31] = cpu->r[3];
/* 028E6CB0 */ cpu->r[4] = 0x101D0000u;
/* 028E6CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E6CB8 */ cpu->r[4] = cpu->r[4] + 0x000016D4u;
/* 028E6CBC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6CBC */ _t19 = _t18 & 0x00000001u;
/* 028E6CBC */ if (_t19) goto L_028E6CC0; else goto L_028E6CD4;
L_028E6CC0: ; // 0x28e6cc0
/* 028E6CC0 */ cpu->r[6] = 0x10140000u;
/* 028E6CC4 */ cpu->r[5] = 0x00000001u;
/* 028E6CC8 */ cpu->r[6] = cpu->r[6] + 0xFFFFB9C4u;
/* 028E6CCC */ _t20 = cpu->r[7] + 0x00000000u;
/* 028E6CCC */ rbrew_write32(cpu->mem, _t20, cpu->r[5]);
/* 028E6CD0 */ _t21 = cpu->r[4] + 0x00000000u;
/* 028E6CD0 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
L_028E6CD4: ; // 0x28e6cd4
/* 028E6CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E6CD8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6CD8 */ _t23 = _t22 & 0x00000001u;
/* 028E6CD8 */ if (_t23) goto L_028E6CF8; else goto L_028E6CDC;
L_028E6CDC: ; // 0x28e6cdc
/* 028E6CDC */ _t24 = cpu->r[31] + 0x00000000u;
/* 028E6CDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
/* 028E6CE0 */ _t25 = cpu->r[7] + 0x0000000Cu;
/* 028E6CE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
/* 028E6CE4 */ cpu->ctr = cpu->r[8];
/* 028E6CE8 */ cpu->r[3] = cpu->r[31];
/* 028E6CEC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6CF4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6CF4 */ _t27 = _t26 & 0x00000001u;
/* 028E6CF4 */ if (_t27) goto L_028E6CF8; else goto L_028E6CFC;
L_028E6CF8: ; // 0x28e6cf8
/* 028E6CF8 */ cpu->r[31] = 0x00000000u;
L_028E6CFC: ; // 0x28e6cfc
/* 028E6CFC */ _t28 = cpu->r[30] + 0x00000004u;
/* 028E6CFC */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
/* 028E6D00 */ _t29 = cpu->r[27] + 0x00000004u;
/* 028E6D00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
/* 028E6D04 */ _t30 = cpu->r[11] + 0x00000014u;
/* 028E6D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E6D08 */ cpu->ctr = cpu->r[0];
/* 028E6D0C */ _t31 = cpu->r[30] + 0x00000008u;
/* 028E6D0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
/* 028E6D10 */ cpu->r[3] = cpu->r[27];
/* 028E6D14 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6D18 */ _t32 = cpu->r[27] + 0x00000000u;
/* 028E6D18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
/* 028E6D1C */ _t33 = cpu->r[26] + 0x00000000u;
/* 028E6D1C */ cpu->r[31] = rbrew_read8(cpu->mem, _t33);
/* 028E6D20 */ _t34 = cpu->r[9] + 0x00000000u;
/* 028E6D20 */ cpu->r[5] = rbrew_read8(cpu->mem, _t34);
/* 028E6D24 */ cpu->r[10] = 0x00080000u;
/* 028E6D28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028E6D2C */ cpu->r[29] = 0x00000000u;
/* 028E6D30 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6D30 */ _t36 = _t35 & 0x00000001u;
/* 028E6D30 */ if (_t36) goto L_028E6D58; else goto L_028E6D34;
L_028E6D34: ; // 0x28e6d34
/* 028E6D34 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E6D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
/* 028E6D3C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028E6D40 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6D40 */ _t38 = _t37 & 0x00000001u;
/* 028E6D40 */ if (_t38) goto L_028E6D54; else goto L_028E6D44;
L_028E6D44: ; // 0x28e6d44
/* 028E6D44 */ _t39 = cpu->r[9] + 0x00000000u;
/* 028E6D44 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
/* 028E6D48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E6D4C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6D4C */ _t41 = _t40 & 0x00000001u;
/* 028E6D4C */ if (_t41) goto L_028E6D50; else goto L_028E6D34;
L_028E6D50: ; // 0x28e6d50
/* 028E6D50 */ goto L_028E6D58;
L_028E6D54: ; // 0x28e6d54
/* 028E6D54 */ cpu->r[29] = 0x00000000u;
L_028E6D58: ; // 0x28e6d58
/* 028E6D58 */ _t42 = cpu->r[30] + 0x00000010u;
/* 028E6D58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028E6D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
/* 028E6D60 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E6D60 */ _t44 = _t43 & 0x00000001u;
/* 028E6D60 */ if (_t44) goto L_028E6D68; else goto L_028E6D64;
L_028E6D64: ; // 0x28e6d64
/* 028E6D64 */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
L_028E6D68: ; // 0x28e6d68
/* 028E6D68 */ _t45 = cpu->r[27] + 0x00000004u;
/* 028E6D68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
/* 028E6D6C */ _t46 = cpu->r[8] + 0x00000014u;
/* 028E6D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028E6D70 */ cpu->ctr = cpu->r[0];
/* 028E6D74 */ cpu->r[3] = cpu->r[27];
/* 028E6D78 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6D7C */ _t47 = cpu->r[27] + 0x00000000u;
/* 028E6D7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
/* 028E6D80 */ cpu->r[6] = 0x00000000u;
/* 028E6D84 */ cpu->r[5] = cpu->r[29];
/* 028E6D88 */ cpu->r[3] = cpu->r[28];
/* 028E6D8C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E6D90 */ _t48 = cpu->r[28] + cpu->r[29];
/* 028E6D90 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[31]);
/* 028E6D94 */ cpu->r[3] = cpu->r[30];
/* 028E6D98 */ /* nop */
/* 028E6D9C */ _t49 = cpu->r[1] + 0x0000004Cu;
/* 028E6D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028E6DA0 */ cpu->lr = cpu->r[0];
/* 028E6DA4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028E6DA8 */ return;
}
// fn_028E6DAC @ 0x28e6dac
void Gambit_fn_028E6DAC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E6DAC: ; // 0x28e6dac
/* 028E6DAC */ cpu->r[0] = cpu->lr;
/* 028E6DB0 */ _t0 = cpu->r[1] + 0xFFFFFEE8u;
/* 028E6DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6DB0 */ cpu->r[1] = _t0;
/* 028E6DB4 */ _t1 = cpu->r[1] + 0x0000011Cu;
/* 028E6DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E6DB8 */ /* nop */
/* 028E6DBC */ cpu->r[28] = cpu->r[4];
/* 028E6DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E6DC0 */ cpu->r[27] = cpu->r[5];
/* 028E6DC4 */ cpu->r[26] = cpu->r[3];
/* 028E6DC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6DC8 */ _t3 = _t2 & 0x00000001u;
/* 028E6DC8 */ if (_t3) goto L_028E77F4; else goto L_028E6DCC;
L_028E6DCC: ; // 0x28e6dcc
/* 028E6DCC */ _t4 = cpu->r[27] + 0x00000004u;
/* 028E6DCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
/* 028E6DD0 */ _t5 = cpu->r[7] + 0x00000014u;
/* 028E6DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E6DD4 */ cpu->ctr = cpu->r[0];
/* 028E6DD8 */ cpu->r[3] = cpu->r[27];
/* 028E6DDC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6DE0 */ _t6 = cpu->r[27] + 0x00000000u;
/* 028E6DE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
/* 028E6DE4 */ cpu->r[31] = 0x10110000u;
/* 028E6DE8 */ _t7 = cpu->r[31] + 0x00007399u;
/* 028E6DE8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
/* 028E6DEC */ _t8 = cpu->r[5] + 0x00000000u;
/* 028E6DEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
/* 028E6DF0 */ cpu->r[9] = 0x00000000u;
/* 028E6DF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E6DF8 */ cpu->r[0] = 0x00080000u;
/* 028E6DFC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6DFC */ _t10 = _t9 & 0x00000001u;
/* 028E6DFC */ if (_t10) goto L_028E6E1C; else goto L_028E6E00;
L_028E6E00: ; // 0x28e6e00
/* 028E6E00 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028E6E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
/* 028E6E08 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028E6E0C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6E0C */ _t12 = _t11 & 0x00000001u;
/* 028E6E0C */ if (_t12) goto L_028E6E24; else goto L_028E6E10;
L_028E6E10: ; // 0x28e6e10
/* 028E6E10 */ _t13 = cpu->r[5] + 0x00000000u;
/* 028E6E10 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
/* 028E6E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028E6E18 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6E18 */ _t15 = _t14 & 0x00000001u;
/* 028E6E18 */ if (_t15) goto L_028E6E1C; else goto L_028E6E00;
L_028E6E1C: ; // 0x28e6e1c
/* 028E6E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000040u);
/* 028E6E20 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6E20 */ _t17 = _t16 & 0x00000001u;
/* 028E6E20 */ if (_t17) goto L_028E77F4; else goto L_028E6E24;
L_028E6E24: ; // 0x28e6e24
/* 028E6E24 */ cpu->r[29] = cpu->r[1] + 0x000000A0u;
/* 028E6E28 */ cpu->r[0] = 0x00000048u;
/* 028E6E2C */ _t18 = cpu->r[1] + 0x00000094u;
/* 028E6E2C */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
/* 028E6E30 */ cpu->r[23] = 0x10140000u;
/* 028E6E34 */ _t19 = cpu->r[1] + 0x0000009Cu;
/* 028E6E34 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
/* 028E6E38 */ cpu->r[23] = cpu->r[23] + 0xFFFFBA54u;
/* 028E6E3C */ _t20 = cpu->r[1] + 0x000000A0u;
/* 028E6E3C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]);
/* 028E6E40 */ _t21 = cpu->r[27] + 0x00000004u;
/* 028E6E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028E6E44 */ _t22 = cpu->r[1] + 0x00000098u;
/* 028E6E44 */ rbrew_write32(cpu->mem, _t22, cpu->r[23]);
/* 028E6E48 */ _t23 = cpu->r[1] + 0x000000E7u;
/* 028E6E48 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
/* 028E6E4C */ _t24 = cpu->r[12] + 0x00000014u;
/* 028E6E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028E6E50 */ cpu->r[25] = 0x10140000u;
/* 028E6E54 */ cpu->ctr = cpu->r[0];
/* 028E6E58 */ cpu->r[25] = cpu->r[25] + 0xFFFFB934u;
/* 028E6E5C */ cpu->r[3] = cpu->r[27];
/* 028E6E60 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6E64 */ _t25 = cpu->r[27] + 0x00000000u;
/* 028E6E64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028E6E68 */ _t26 = cpu->r[12] + 0x00000000u;
/* 028E6E68 */ cpu->r[4] = rbrew_read8(cpu->mem, _t26);
/* 028E6E6C */ cpu->r[30] = 0x00000000u;
/* 028E6E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
/* 028E6E74 */ cpu->r[4] = 0x00080000u;
/* 028E6E78 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6E78 */ _t28 = _t27 & 0x00000001u;
/* 028E6E78 */ if (_t28) goto L_028E6EA0; else goto L_028E6E7C;
L_028E6E7C: ; // 0x28e6e7c
/* 028E6E7C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E6E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
/* 028E6E84 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E6E88 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6E88 */ _t30 = _t29 & 0x00000001u;
/* 028E6E88 */ if (_t30) goto L_028E6E9C; else goto L_028E6E8C;
L_028E6E8C: ; // 0x28e6e8c
/* 028E6E8C */ _t31 = cpu->r[12] + 0x00000000u;
/* 028E6E8C */ cpu->r[5] = rbrew_read8(cpu->mem, _t31);
/* 028E6E90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028E6E94 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6E94 */ _t33 = _t32 & 0x00000001u;
/* 028E6E94 */ if (_t33) goto L_028E6E98; else goto L_028E6E7C;
L_028E6E98: ; // 0x28e6e98
/* 028E6E98 */ goto L_028E6EA0;
L_028E6E9C: ; // 0x28e6e9c
/* 028E6E9C */ cpu->r[30] = 0x00000000u;
L_028E6EA0: ; // 0x28e6ea0
/* 028E6EA0 */ _t34 = cpu->r[1] + 0x0000009Cu;
/* 028E6EA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
/* 028E6EA4 */ _t35 = cpu->r[27] + 0x00000004u;
/* 028E6EA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
/* 028E6EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028E6EAC */ _t36 = cpu->r[6] + 0x00000014u;
/* 028E6EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
/* 028E6EB0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E6EB0 */ _t38 = _t37 & 0x00000001u;
/* 028E6EB0 */ if (_t38) goto L_028E6EB8; else goto L_028E6EB4;
L_028E6EB4: ; // 0x28e6eb4
/* 028E6EB4 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
L_028E6EB8: ; // 0x28e6eb8
/* 028E6EB8 */ cpu->ctr = cpu->r[0];
/* 028E6EBC */ cpu->r[3] = cpu->r[27];
/* 028E6EC0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6EC4 */ _t39 = cpu->r[27] + 0x00000000u;
/* 028E6EC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
/* 028E6EC8 */ cpu->r[6] = 0x00000000u;
/* 028E6ECC */ cpu->r[5] = cpu->r[30];
/* 028E6ED0 */ cpu->r[3] = cpu->r[29];
/* 028E6ED4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E6ED8 */ _t40 = cpu->r[29] + cpu->r[30];
/* 028E6ED8 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
/* 028E6EDC */ cpu->r[12] = 0x101D0000u;
/* 028E6EE0 */ _t41 = cpu->r[1] + 0x00000098u;
/* 028E6EE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
/* 028E6EE4 */ _t42 = cpu->r[12] + 0xFFFF9AF4u;
/* 028E6EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028E6EE8 */ _t43 = cpu->r[1] + 0x0000001Cu;
/* 028E6EE8 */ rbrew_write32(cpu->mem, _t43, cpu->r[25]);
/* 028E6EEC */ _t44 = cpu->r[1] + 0x00000018u;
/* 028E6EEC */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
/* 028E6EF0 */ _t45 = cpu->r[8] + 0x00000014u;
/* 028E6EF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
/* 028E6EF4 */ cpu->ctr = cpu->r[9];
/* 028E6EF8 */ _t46 = cpu->r[1] + 0x00000094u;
/* 028E6EF8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
/* 028E6EFC */ cpu->r[3] = cpu->r[1] + 0x00000094u;
/* 028E6F00 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6F04 */ _t47 = cpu->r[1] + 0x00000094u;
/* 028E6F04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
/* 028E6F08 */ _t48 = cpu->r[10] + 0x00000000u;
/* 028E6F08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
/* 028E6F0C */ cpu->r[30] = 0x00000000u;
/* 028E6F10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E6F14 */ cpu->r[0] = 0x00080000u;
/* 028E6F18 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6F18 */ _t50 = _t49 & 0x00000001u;
/* 028E6F18 */ if (_t50) goto L_028E6F40; else goto L_028E6F1C;
L_028E6F1C: ; // 0x28e6f1c
/* 028E6F1C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E6F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E6F24 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E6F28 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6F28 */ _t52 = _t51 & 0x00000001u;
/* 028E6F28 */ if (_t52) goto L_028E6F3C; else goto L_028E6F2C;
L_028E6F2C: ; // 0x28e6f2c
/* 028E6F2C */ _t53 = cpu->r[10] + 0x00000000u;
/* 028E6F2C */ cpu->r[11] = rbrew_read8(cpu->mem, _t53);
/* 028E6F30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028E6F34 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6F34 */ _t55 = _t54 & 0x00000001u;
/* 028E6F34 */ if (_t55) goto L_028E6F38; else goto L_028E6F1C;
L_028E6F38: ; // 0x28e6f38
/* 028E6F38 */ goto L_028E6F40;
L_028E6F3C: ; // 0x28e6f3c
/* 028E6F3C */ cpu->r[30] = 0x00000000u;
L_028E6F40: ; // 0x28e6f40
/* 028E6F40 */ _t56 = cpu->r[1] + 0x0000001Cu;
/* 028E6F40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
/* 028E6F44 */ cpu->r[22] = cpu->r[30];
/* 028E6F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028E6F48 */ _t57 = cpu->r[12] + 0x00000014u;
/* 028E6F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028E6F4C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E6F4C */ _t59 = _t58 & 0x00000001u;
/* 028E6F4C */ if (_t59) goto L_028E6F50; else goto L_028E6F54;
L_028E6F50: ; // 0x28e6f50
/* 028E6F50 */ cpu->r[22] = 0x00000000u;
L_028E6F54: ; // 0x28e6f54
/* 028E6F54 */ cpu->ctr = cpu->r[0];
/* 028E6F58 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028E6F5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6F60 */ _t60 = cpu->r[1] + 0x00000018u;
/* 028E6F60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
/* 028E6F64 */ _t61 = cpu->r[8] + 0x00000000u;
/* 028E6F64 */ cpu->r[5] = rbrew_read8(cpu->mem, _t61);
/* 028E6F68 */ cpu->r[9] = 0x00080000u;
/* 028E6F6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028E6F70 */ cpu->r[29] = 0x00000000u;
/* 028E6F74 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6F74 */ _t63 = _t62 & 0x00000001u;
/* 028E6F74 */ if (_t63) goto L_028E6F9C; else goto L_028E6F78;
L_028E6F78: ; // 0x28e6f78
/* 028E6F78 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E6F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
/* 028E6F80 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028E6F84 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6F84 */ _t65 = _t64 & 0x00000001u;
/* 028E6F84 */ if (_t65) goto L_028E6F98; else goto L_028E6F88;
L_028E6F88: ; // 0x28e6f88
/* 028E6F88 */ _t66 = cpu->r[8] + 0x00000000u;
/* 028E6F88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t66);
/* 028E6F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E6F90 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6F90 */ _t68 = _t67 & 0x00000001u;
/* 028E6F90 */ if (_t68) goto L_028E6F94; else goto L_028E6F78;
L_028E6F94: ; // 0x28e6f94
/* 028E6F94 */ goto L_028E6F9C;
L_028E6F98: ; // 0x28e6f98
/* 028E6F98 */ cpu->r[29] = 0x00000000u;
L_028E6F9C: ; // 0x28e6f9c
/* 028E6F9C */ _t69 = cpu->r[1] + 0x0000009Cu;
/* 028E6F9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
/* 028E6FA0 */ cpu->r[11] = cpu->r[9] - cpu->r[22];
/* 028E6FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
/* 028E6FA8 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E6FA8 */ _t71 = _t70 & 0x00000001u;
/* 028E6FA8 */ if (_t71) goto L_028E6FB0; else goto L_028E6FAC;
L_028E6FAC: ; // 0x28e6fac
/* 028E6FAC */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu;
L_028E6FB0: ; // 0x28e6fb0
/* 028E6FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E6FB4 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6FB4 */ _t73 = _t72 & 0x00000001u;
/* 028E6FB4 */ if (_t73) goto L_028E6FB8; else goto L_028E6FF4;
L_028E6FB8: ; // 0x28e6fb8
/* 028E6FB8 */ _t74 = cpu->r[1] + 0x0000001Cu;
/* 028E6FB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
/* 028E6FBC */ _t75 = cpu->r[7] + 0x00000014u;
/* 028E6FBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
/* 028E6FC0 */ cpu->ctr = cpu->r[8];
/* 028E6FC4 */ cpu->r[21] = cpu->r[24] + cpu->r[22];
/* 028E6FC8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028E6FCC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6FD0 */ _t76 = cpu->r[1] + 0x00000018u;
/* 028E6FD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
/* 028E6FD4 */ cpu->r[6] = 0x00000000u;
/* 028E6FD8 */ cpu->r[5] = cpu->r[29];
/* 028E6FDC */ cpu->r[3] = cpu->r[21];
/* 028E6FE0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E6FE4 */ cpu->r[12] = cpu->r[22] + cpu->r[29];
/* 028E6FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[30]);
/* 028E6FEC */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6FEC */ _t78 = _t77 & 0x00000001u;
/* 028E6FEC */ if (_t78) goto L_028E6FF0; else goto L_028E6FF4;
L_028E6FF0: ; // 0x28e6ff0
/* 028E6FF0 */ _t79 = cpu->r[24] + cpu->r[12];
/* 028E6FF0 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[31]);
L_028E6FF4: ; // 0x28e6ff4
/* 028E6FF4 */ _t80 = cpu->r[26] + 0x00000004u;
/* 028E6FF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
/* 028E6FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6FFC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6FFC */ _t82 = _t81 & 0x00000001u;
/* 028E6FFC */ if (_t82) goto L_028E77F4; else goto L_028E7000;
L_028E7000: ; // 0x28e7000
/* 028E7000 */ _t83 = cpu->r[3] + 0x00000000u;
/* 028E7000 */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
/* 028E7004 */ _t84 = cpu->r[9] + 0x00000034u;
/* 028E7004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
/* 028E7008 */ cpu->ctr = cpu->r[10];
/* 028E700C */ cpu->r[4] = cpu->r[1] + 0x00000094u;
/* 028E7010 */ cpu->r[5] = 0x00000000u;
/* 028E7014 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7018 */ cpu->r[24] = cpu->r[3];
/* 028E7018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028E701C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E701C */ _t86 = _t85 & 0x00000001u;
/* 028E701C */ if (_t86) goto L_028E77F4; else goto L_028E7020;
L_028E7020: ; // 0x28e7020
/* 028E7020 */ _t87 = cpu->r[27] + 0x00000004u;
/* 028E7020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
/* 028E7024 */ _t88 = cpu->r[11] + 0x00000014u;
/* 028E7024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
/* 028E7028 */ cpu->ctr = cpu->r[0];
/* 028E702C */ cpu->r[3] = cpu->r[27];
/* 028E7030 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7034 */ _t89 = cpu->r[27] + 0x00000000u;
/* 028E7034 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89);
/* 028E7038 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E703C */ cpu->r[4] = cpu->r[24];
/* 028E7040 */ Gambit_fn_028E647C(cpu);
/* 028E7044 */ _t90 = cpu->r[1] + 0x0000007Bu;
/* 028E7044 */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[31]);
/* 028E7048 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028E704C */ _t91 = cpu->r[1] + 0x00000034u;
/* 028E704C */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[31]);
/* 028E7050 */ cpu->r[5] = 0x00000048u;
/* 028E7054 */ _t92 = cpu->r[1] + 0x0000002Cu;
/* 028E7054 */ rbrew_write32(cpu->mem, _t92, cpu->r[23]);
/* 028E7058 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E705C */ _t93 = cpu->r[1] + 0x00000028u;
/* 028E705C */ rbrew_write32(cpu->mem, _t93, cpu->r[4]);
/* 028E7060 */ _t94 = cpu->r[1] + 0x00000030u;
/* 028E7060 */ rbrew_write32(cpu->mem, _t94, cpu->r[5]);
/* 028E7064 */ Gambit_fn_028E68F8(cpu);
/* 028E7068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
/* 028E706C */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E706C */ _t96 = _t95 & 0x00000001u;
/* 028E706C */ if (_t96) goto L_028E708C; else goto L_028E7070;
L_028E7070: ; // 0x28e7070
/* 028E7070 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7070 */ _t98 = _t97 & 0x00000001u;
/* 028E7070 */ if (_t98) goto L_028E724C; else goto L_028E7074;
L_028E7074: ; // 0x28e7074
/* 028E7074 */ /* nop */
/* 028E7078 */ _t99 = cpu->r[1] + 0x0000011Cu;
/* 028E7078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
/* 028E707C */ cpu->lr = cpu->r[0];
/* 028E7080 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028E7084 */ cpu->r[3] = 0x00000000u;
/* 028E7088 */ return;
L_028E708C: ; // 0x28e708c
/* 028E708C */ _t100 = cpu->r[27] + 0x00000004u;
/* 028E708C */ cpu->r[6] = rbrew_read32(cpu->mem, _t100);
/* 028E7090 */ _t101 = cpu->r[6] + 0x00000014u;
/* 028E7090 */ cpu->r[7] = rbrew_read32(cpu->mem, _t101);
/* 028E7094 */ cpu->ctr = cpu->r[7];
/* 028E7098 */ _t102 = cpu->r[1] + 0x00000028u;
/* 028E7098 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
/* 028E709C */ cpu->r[3] = cpu->r[27];
/* 028E70A0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E70A4 */ _t103 = cpu->r[27] + 0x00000000u;
/* 028E70A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t103);
/* 028E70A8 */ _t104 = cpu->r[6] + 0x00000000u;
/* 028E70A8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t104);
/* 028E70AC */ cpu->r[30] = 0x00000000u;
/* 028E70B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
/* 028E70B4 */ cpu->r[7] = 0x00080000u;
/* 028E70B8 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E70B8 */ _t106 = _t105 & 0x00000001u;
/* 028E70B8 */ if (_t106) goto L_028E70E0; else goto L_028E70BC;
L_028E70BC: ; // 0x28e70bc
/* 028E70BC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E70C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E70C4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028E70C8 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E70C8 */ _t108 = _t107 & 0x00000001u;
/* 028E70C8 */ if (_t108) goto L_028E70DC; else goto L_028E70CC;
L_028E70CC: ; // 0x28e70cc
/* 028E70CC */ _t109 = cpu->r[6] + 0x00000000u;
/* 028E70CC */ cpu->r[9] = rbrew_read8(cpu->mem, _t109);
/* 028E70D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028E70D4 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E70D4 */ _t111 = _t110 & 0x00000001u;
/* 028E70D4 */ if (_t111) goto L_028E70D8; else goto L_028E70BC;
L_028E70D8: ; // 0x28e70d8
/* 028E70D8 */ goto L_028E70E0;
L_028E70DC: ; // 0x28e70dc
/* 028E70DC */ cpu->r[30] = 0x00000000u;
L_028E70E0: ; // 0x28e70e0
/* 028E70E0 */ _t112 = cpu->r[1] + 0x00000030u;
/* 028E70E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t112);
/* 028E70E4 */ _t113 = cpu->r[27] + 0x00000004u;
/* 028E70E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
/* 028E70E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E70EC */ _t114 = cpu->r[10] + 0x00000014u;
/* 028E70EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
/* 028E70F0 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E70F0 */ _t116 = _t115 & 0x00000001u;
/* 028E70F0 */ if (_t116) goto L_028E70F8; else goto L_028E70F4;
L_028E70F4: ; // 0x28e70f4
/* 028E70F4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028E70F8: ; // 0x28e70f8
/* 028E70F8 */ cpu->ctr = cpu->r[0];
/* 028E70FC */ cpu->r[3] = cpu->r[27];
/* 028E7100 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7104 */ _t117 = cpu->r[27] + 0x00000000u;
/* 028E7104 */ cpu->r[4] = rbrew_read32(cpu->mem, _t117);
/* 028E7108 */ cpu->r[6] = 0x00000000u;
/* 028E710C */ cpu->r[5] = cpu->r[30];
/* 028E7110 */ cpu->r[3] = cpu->r[29];
/* 028E7114 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E7118 */ _t118 = cpu->r[29] + cpu->r[30];
/* 028E7118 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[31]);
/* 028E711C */ cpu->r[10] = 0x101D0000u;
/* 028E7120 */ _t119 = cpu->r[1] + 0x0000002Cu;
/* 028E7120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
/* 028E7124 */ _t120 = cpu->r[10] + 0xFFFF9AE8u;
/* 028E7124 */ cpu->r[10] = rbrew_read32(cpu->mem, _t120);
/* 028E7128 */ _t121 = cpu->r[1] + 0x0000000Cu;
/* 028E7128 */ rbrew_write32(cpu->mem, _t121, cpu->r[25]);
/* 028E712C */ _t122 = cpu->r[1] + 0x00000008u;
/* 028E712C */ rbrew_write32(cpu->mem, _t122, cpu->r[10]);
/* 028E7130 */ _t123 = cpu->r[12] + 0x00000014u;
/* 028E7130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
/* 028E7134 */ cpu->ctr = cpu->r[0];
/* 028E7138 */ _t124 = cpu->r[1] + 0x00000028u;
/* 028E7138 */ cpu->r[23] = rbrew_read32(cpu->mem, _t124);
/* 028E713C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
/* 028E7140 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7144 */ _t125 = cpu->r[1] + 0x00000028u;
/* 028E7144 */ cpu->r[4] = rbrew_read32(cpu->mem, _t125);
/* 028E7148 */ _t126 = cpu->r[4] + 0x00000000u;
/* 028E7148 */ cpu->r[5] = rbrew_read8(cpu->mem, _t126);
/* 028E714C */ cpu->r[30] = 0x00000000u;
/* 028E7150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028E7154 */ cpu->r[5] = 0x00080000u;
/* 028E7158 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7158 */ _t128 = _t127 & 0x00000001u;
/* 028E7158 */ if (_t128) goto L_028E7180; else goto L_028E715C;
L_028E715C: ; // 0x28e715c
/* 028E715C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E7160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
/* 028E7164 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E7168 */ _t129 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7168 */ _t130 = _t129 & 0x00000001u;
/* 028E7168 */ if (_t130) goto L_028E717C; else goto L_028E716C;
L_028E716C: ; // 0x28e716c
/* 028E716C */ _t131 = cpu->r[4] + 0x00000000u;
/* 028E716C */ cpu->r[6] = rbrew_read8(cpu->mem, _t131);
/* 028E7170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E7174 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7174 */ _t133 = _t132 & 0x00000001u;
/* 028E7174 */ if (_t133) goto L_028E7178; else goto L_028E715C;
L_028E7178: ; // 0x28e7178
/* 028E7178 */ goto L_028E7180;
L_028E717C: ; // 0x28e717c
/* 028E717C */ cpu->r[30] = 0x00000000u;
L_028E7180: ; // 0x28e7180
/* 028E7180 */ _t134 = cpu->r[1] + 0x0000000Cu;
/* 028E7180 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134);
/* 028E7184 */ cpu->r[22] = cpu->r[30];
/* 028E7184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028E7188 */ _t135 = cpu->r[7] + 0x00000014u;
/* 028E7188 */ cpu->r[8] = rbrew_read32(cpu->mem, _t135);
/* 028E718C */ _t136 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E718C */ _t137 = _t136 & 0x00000001u;
/* 028E718C */ if (_t137) goto L_028E7190; else goto L_028E7194;
L_028E7190: ; // 0x28e7190
/* 028E7190 */ cpu->r[22] = 0x00000000u;
L_028E7194: ; // 0x28e7194
/* 028E7194 */ cpu->ctr = cpu->r[8];
/* 028E7198 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E719C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E71A0 */ _t138 = cpu->r[1] + 0x00000008u;
/* 028E71A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t138);
/* 028E71A4 */ _t139 = cpu->r[12] + 0x00000000u;
/* 028E71A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t139);
/* 028E71A8 */ cpu->r[29] = 0x00000000u;
/* 028E71AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E71B0 */ cpu->r[0] = 0x00080000u;
/* 028E71B4 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E71B4 */ _t141 = _t140 & 0x00000001u;
/* 028E71B4 */ if (_t141) goto L_028E71DC; else goto L_028E71B8;
L_028E71B8: ; // 0x28e71b8
/* 028E71B8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E71BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028E71C0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E71C4 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E71C4 */ _t143 = _t142 & 0x00000001u;
/* 028E71C4 */ if (_t143) goto L_028E71D8; else goto L_028E71C8;
L_028E71C8: ; // 0x28e71c8
/* 028E71C8 */ _t144 = cpu->r[12] + 0x00000000u;
/* 028E71C8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t144);
/* 028E71CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028E71D0 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E71D0 */ _t146 = _t145 & 0x00000001u;
/* 028E71D0 */ if (_t146) goto L_028E71D4; else goto L_028E71B8;
L_028E71D4: ; // 0x28e71d4
/* 028E71D4 */ goto L_028E71DC;
L_028E71D8: ; // 0x28e71d8
/* 028E71D8 */ cpu->r[29] = 0x00000000u;
L_028E71DC: ; // 0x28e71dc
/* 028E71DC */ _t147 = cpu->r[1] + 0x00000030u;
/* 028E71DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t147);
/* 028E71E0 */ cpu->r[12] = cpu->r[7] - cpu->r[22];
/* 028E71E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
/* 028E71E8 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E71E8 */ _t149 = _t148 & 0x00000001u;
/* 028E71E8 */ if (_t149) goto L_028E71F0; else goto L_028E71EC;
L_028E71EC: ; // 0x28e71ec
/* 028E71EC */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
L_028E71F0: ; // 0x28e71f0
/* 028E71F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E71F4 */ _t150 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E71F4 */ _t151 = _t150 & 0x00000001u;
/* 028E71F4 */ if (_t151) goto L_028E71F8; else goto L_028E73F4;
L_028E71F8: ; // 0x28e71f8
/* 028E71F8 */ _t152 = cpu->r[1] + 0x0000000Cu;
/* 028E71F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t152);
/* 028E71FC */ _t153 = cpu->r[4] + 0x00000014u;
/* 028E71FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t153);
/* 028E7200 */ cpu->ctr = cpu->r[0];
/* 028E7204 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
/* 028E7208 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E720C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7210 */ _t154 = cpu->r[1] + 0x00000008u;
/* 028E7210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t154);
/* 028E7214 */ cpu->r[6] = 0x00000000u;
/* 028E7218 */ cpu->r[5] = cpu->r[29];
/* 028E721C */ cpu->r[3] = cpu->r[21];
/* 028E7220 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E7224 */ cpu->r[0] = cpu->r[22] + cpu->r[29];
/* 028E7228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
/* 028E722C */ _t155 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E722C */ _t156 = _t155 & 0x00000001u;
/* 028E722C */ if (_t156) goto L_028E7230; else goto L_028E73F4;
L_028E7230: ; // 0x28e7230
/* 028E7230 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E7234 */ cpu->r[30] = 0x00000000u;
/* 028E7238 */ _t157 = cpu->r[23] + cpu->r[0];
/* 028E7238 */ rbrew_write8(cpu->mem, _t157, (uint8_t)cpu->r[31]);
/* 028E723C */ Gambit_fn_028E68F8(cpu);
/* 028E7240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7244 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7244 */ _t159 = _t158 & 0x00000001u;
/* 028E7244 */ if (_t159) goto L_028E7248; else goto L_028E7408;
L_028E7248: ; // 0x28e7248
/* 028E7248 */ goto L_028E7420;
L_028E724C: ; // 0x28e724c
/* 028E724C */ _t160 = cpu->r[27] + 0x00000004u;
/* 028E724C */ cpu->r[6] = rbrew_read32(cpu->mem, _t160);
/* 028E7250 */ _t161 = cpu->r[6] + 0x00000014u;
/* 028E7250 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
/* 028E7254 */ cpu->ctr = cpu->r[7];
/* 028E7258 */ _t162 = cpu->r[1] + 0x00000028u;
/* 028E7258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t162);
/* 028E725C */ cpu->r[3] = cpu->r[27];
/* 028E7260 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7264 */ _t163 = cpu->r[27] + 0x00000000u;
/* 028E7264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t163);
/* 028E7268 */ _t164 = cpu->r[10] + 0x00000000u;
/* 028E7268 */ cpu->r[8] = rbrew_read8(cpu->mem, _t164);
/* 028E726C */ cpu->r[30] = 0x00000000u;
/* 028E7270 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
/* 028E7274 */ cpu->r[11] = 0x00080000u;
/* 028E7278 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7278 */ _t166 = _t165 & 0x00000001u;
/* 028E7278 */ if (_t166) goto L_028E72A0; else goto L_028E727C;
L_028E727C: ; // 0x28e727c
/* 028E727C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E7280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028E7284 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E7288 */ _t167 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7288 */ _t168 = _t167 & 0x00000001u;
/* 028E7288 */ if (_t168) goto L_028E729C; else goto L_028E728C;
L_028E728C: ; // 0x28e728c
/* 028E728C */ _t169 = cpu->r[10] + 0x00000000u;
/* 028E728C */ cpu->r[9] = rbrew_read8(cpu->mem, _t169);
/* 028E7290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028E7294 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7294 */ _t171 = _t170 & 0x00000001u;
/* 028E7294 */ if (_t171) goto L_028E7298; else goto L_028E727C;
L_028E7298: ; // 0x28e7298
/* 028E7298 */ goto L_028E72A0;
L_028E729C: ; // 0x28e729c
/* 028E729C */ cpu->r[30] = 0x00000000u;
L_028E72A0: ; // 0x28e72a0
/* 028E72A0 */ _t172 = cpu->r[1] + 0x00000030u;
/* 028E72A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t172);
/* 028E72A4 */ _t173 = cpu->r[27] + 0x00000004u;
/* 028E72A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t173);
/* 028E72A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E72AC */ _t174 = cpu->r[12] + 0x00000014u;
/* 028E72AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
/* 028E72B0 */ _t175 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E72B0 */ _t176 = _t175 & 0x00000001u;
/* 028E72B0 */ if (_t176) goto L_028E72B8; else goto L_028E72B4;
L_028E72B4: ; // 0x28e72b4
/* 028E72B4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028E72B8: ; // 0x28e72b8
/* 028E72B8 */ cpu->ctr = cpu->r[0];
/* 028E72BC */ cpu->r[3] = cpu->r[27];
/* 028E72C0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E72C4 */ _t177 = cpu->r[27] + 0x00000000u;
/* 028E72C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t177);
/* 028E72C8 */ cpu->r[6] = 0x00000000u;
/* 028E72CC */ cpu->r[5] = cpu->r[30];
/* 028E72D0 */ cpu->r[3] = cpu->r[29];
/* 028E72D4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E72D8 */ _t178 = cpu->r[29] + cpu->r[30];
/* 028E72D8 */ rbrew_write8(cpu->mem, _t178, (uint8_t)cpu->r[31]);
/* 028E72DC */ cpu->r[11] = 0x101D0000u;
/* 028E72E0 */ _t179 = cpu->r[1] + 0x0000002Cu;
/* 028E72E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t179);
/* 028E72E4 */ _t180 = cpu->r[11] + 0xFFFF9AECu;
/* 028E72E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t180);
/* 028E72E8 */ _t181 = cpu->r[1] + 0x0000000Cu;
/* 028E72E8 */ rbrew_write32(cpu->mem, _t181, cpu->r[25]);
/* 028E72EC */ _t182 = cpu->r[1] + 0x00000008u;
/* 028E72EC */ rbrew_write32(cpu->mem, _t182, cpu->r[11]);
/* 028E72F0 */ _t183 = cpu->r[4] + 0x00000014u;
/* 028E72F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t183);
/* 028E72F4 */ cpu->ctr = cpu->r[5];
/* 028E72F8 */ _t184 = cpu->r[1] + 0x00000028u;
/* 028E72F8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t184);
/* 028E72FC */ cpu->r[3] = cpu->r[1] + 0x00000028u;
/* 028E7300 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7304 */ _t185 = cpu->r[1] + 0x00000028u;
/* 028E7304 */ cpu->r[8] = rbrew_read32(cpu->mem, _t185);
/* 028E7308 */ _t186 = cpu->r[8] + 0x00000000u;
/* 028E7308 */ cpu->r[6] = rbrew_read8(cpu->mem, _t186);
/* 028E730C */ cpu->r[30] = 0x00000000u;
/* 028E7310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E7314 */ cpu->r[9] = 0x00080000u;
/* 028E7318 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7318 */ _t188 = _t187 & 0x00000001u;
/* 028E7318 */ if (_t188) goto L_028E7340; else goto L_028E731C;
L_028E731C: ; // 0x28e731c
/* 028E731C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E7320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028E7324 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028E7328 */ _t189 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7328 */ _t190 = _t189 & 0x00000001u;
/* 028E7328 */ if (_t190) goto L_028E733C; else goto L_028E732C;
L_028E732C: ; // 0x28e732c
/* 028E732C */ _t191 = cpu->r[8] + 0x00000000u;
/* 028E732C */ cpu->r[7] = rbrew_read8(cpu->mem, _t191);
/* 028E7330 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028E7334 */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7334 */ _t193 = _t192 & 0x00000001u;
/* 028E7334 */ if (_t193) goto L_028E7338; else goto L_028E731C;
L_028E7338: ; // 0x28e7338
/* 028E7338 */ goto L_028E7340;
L_028E733C: ; // 0x28e733c
/* 028E733C */ cpu->r[30] = 0x00000000u;
L_028E7340: ; // 0x28e7340
/* 028E7340 */ _t194 = cpu->r[1] + 0x0000000Cu;
/* 028E7340 */ cpu->r[8] = rbrew_read32(cpu->mem, _t194);
/* 028E7344 */ cpu->r[22] = cpu->r[30];
/* 028E7344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028E7348 */ _t195 = cpu->r[8] + 0x00000014u;
/* 028E7348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t195);
/* 028E734C */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E734C */ _t197 = _t196 & 0x00000001u;
/* 028E734C */ if (_t197) goto L_028E7350; else goto L_028E7354;
L_028E7350: ; // 0x28e7350
/* 028E7350 */ cpu->r[22] = 0x00000000u;
L_028E7354: ; // 0x28e7354
/* 028E7354 */ cpu->ctr = cpu->r[9];
/* 028E7358 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E735C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7360 */ _t198 = cpu->r[1] + 0x00000008u;
/* 028E7360 */ cpu->r[6] = rbrew_read32(cpu->mem, _t198);
/* 028E7364 */ _t199 = cpu->r[6] + 0x00000000u;
/* 028E7364 */ cpu->r[0] = rbrew_read8(cpu->mem, _t199);
/* 028E7368 */ cpu->r[7] = 0x00080000u;
/* 028E736C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7370 */ cpu->r[29] = 0x00000000u;
/* 028E7374 */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7374 */ _t201 = _t200 & 0x00000001u;
/* 028E7374 */ if (_t201) goto L_028E739C; else goto L_028E7378;
L_028E7378: ; // 0x28e7378
/* 028E7378 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E737C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
/* 028E7380 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028E7384 */ _t202 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7384 */ _t203 = _t202 & 0x00000001u;
/* 028E7384 */ if (_t203) goto L_028E7398; else goto L_028E7388;
L_028E7388: ; // 0x28e7388
/* 028E7388 */ _t204 = cpu->r[6] + 0x00000000u;
/* 028E7388 */ cpu->r[0] = rbrew_read8(cpu->mem, _t204);
/* 028E738C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7390 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7390 */ _t206 = _t205 & 0x00000001u;
/* 028E7390 */ if (_t206) goto L_028E7394; else goto L_028E7378;
L_028E7394: ; // 0x28e7394
/* 028E7394 */ goto L_028E739C;
L_028E7398: ; // 0x28e7398
/* 028E7398 */ cpu->r[29] = 0x00000000u;
L_028E739C: ; // 0x28e739c
/* 028E739C */ _t207 = cpu->r[1] + 0x00000030u;
/* 028E739C */ cpu->r[7] = rbrew_read32(cpu->mem, _t207);
/* 028E73A0 */ cpu->r[4] = cpu->r[7] - cpu->r[22];
/* 028E73A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
/* 028E73A8 */ _t208 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E73A8 */ _t209 = _t208 & 0x00000001u;
/* 028E73A8 */ if (_t209) goto L_028E73B0; else goto L_028E73AC;
L_028E73AC: ; // 0x28e73ac
/* 028E73AC */ cpu->r[29] = cpu->r[4] + 0xFFFFFFFFu;
L_028E73B0: ; // 0x28e73b0
/* 028E73B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E73B4 */ _t210 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E73B4 */ _t211 = _t210 & 0x00000001u;
/* 028E73B4 */ if (_t211) goto L_028E73B8; else goto L_028E73F4;
L_028E73B8: ; // 0x28e73b8
/* 028E73B8 */ _t212 = cpu->r[1] + 0x0000000Cu;
/* 028E73B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t212);
/* 028E73BC */ _t213 = cpu->r[12] + 0x00000014u;
/* 028E73BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t213);
/* 028E73C0 */ cpu->ctr = cpu->r[0];
/* 028E73C4 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
/* 028E73C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E73CC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E73D0 */ _t214 = cpu->r[1] + 0x00000008u;
/* 028E73D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t214);
/* 028E73D4 */ cpu->r[6] = 0x00000000u;
/* 028E73D8 */ cpu->r[5] = cpu->r[29];
/* 028E73DC */ cpu->r[3] = cpu->r[21];
/* 028E73E0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E73E4 */ cpu->r[4] = cpu->r[22] + cpu->r[29];
/* 028E73E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[30]);
/* 028E73EC */ _t215 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E73EC */ _t216 = _t215 & 0x00000001u;
/* 028E73EC */ if (_t216) goto L_028E73F0; else goto L_028E73F4;
L_028E73F0: ; // 0x28e73f0
/* 028E73F0 */ _t217 = cpu->r[23] + cpu->r[4];
/* 028E73F0 */ rbrew_write8(cpu->mem, _t217, (uint8_t)cpu->r[31]);
L_028E73F4: ; // 0x28e73f4
/* 028E73F4 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E73F8 */ cpu->r[30] = 0x00000000u;
/* 028E73FC */ Gambit_fn_028E68F8(cpu);
/* 028E7400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7404 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7404 */ _t219 = _t218 & 0x00000001u;
/* 028E7404 */ if (_t219) goto L_028E7420; else goto L_028E7408;
L_028E7408: ; // 0x28e7408
/* 028E7408 */ _t220 = cpu->r[1] + 0x00000080u;
/* 028E7408 */ cpu->r[5] = rbrew_read32(cpu->mem, _t220);
/* 028E740C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028E7410 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7410 */ _t222 = _t221 & 0x00000001u;
/* 028E7410 */ if (_t222) goto L_028E7460; else goto L_028E7414;
L_028E7414: ; // 0x28e7414
/* 028E7414 */ _t223 = cpu->r[5] + 0x00000013u;
/* 028E7414 */ cpu->r[12] = rbrew_read8(cpu->mem, _t223);
/* 028E7418 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028E7418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E741C */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E741C */ _t225 = _t224 & 0x00000001u;
/* 028E741C */ if (_t225) goto L_028E7460; else goto L_028E7420;
L_028E7420: ; // 0x28e7420
/* 028E7420 */ _t226 = cpu->r[26] + 0x00000004u;
/* 028E7420 */ cpu->r[3] = rbrew_read32(cpu->mem, _t226);
/* 028E7424 */ cpu->r[5] = 0x00000000u;
/* 028E7428 */ _t227 = cpu->r[1] + 0x00000024u;
/* 028E7428 */ rbrew_write32(cpu->mem, _t227, cpu->r[5]);
/* 028E742C */ _t228 = cpu->r[1] + 0x00000020u;
/* 028E742C */ rbrew_write32(cpu->mem, _t228, cpu->r[5]);
/* 028E7430 */ _t229 = cpu->r[3] + 0x00000000u;
/* 028E7430 */ cpu->r[7] = rbrew_read32(cpu->mem, _t229);
/* 028E7434 */ _t230 = cpu->r[7] + 0x00000034u;
/* 028E7434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t230);
/* 028E7438 */ cpu->ctr = cpu->r[8];
/* 028E743C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
/* 028E7440 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028E7444 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E744C */ cpu->r[30] = cpu->r[3];
/* 028E7450 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7450 */ _t232 = _t231 & 0x00000001u;
/* 028E7450 */ if (_t232) goto L_028E77F4; else goto L_028E7454;
L_028E7454: ; // 0x28e7454
/* 028E7454 */ _t233 = cpu->r[1] + 0x00000024u;
/* 028E7454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t233);
/* 028E7458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E745C */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E745C */ _t235 = _t234 & 0x00000001u;
/* 028E745C */ if (_t235) goto L_028E77F4; else goto L_028E7460;
L_028E7460: ; // 0x28e7460
/* 028E7460 */ cpu->r[5] = cpu->r[24];
/* 028E7464 */ cpu->r[4] = cpu->r[30];
/* 028E7468 */ cpu->r[3] = cpu->r[28];
/* 028E746C */ Gambit_fn_028E6104(cpu);
/* 028E7470 */ cpu->r[4] = cpu->r[28];
/* 028E7474 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E7478 */ Gambit_fn_028E6924(cpu);
/* 028E747C */ _t236 = cpu->r[27] + 0x00000004u;
/* 028E747C */ cpu->r[10] = rbrew_read32(cpu->mem, _t236);
/* 028E7480 */ _t237 = cpu->r[10] + 0x00000014u;
/* 028E7480 */ cpu->r[11] = rbrew_read32(cpu->mem, _t237);
/* 028E7484 */ cpu->ctr = cpu->r[11];
/* 028E7488 */ _t238 = cpu->r[28] + 0x00000000u;
/* 028E7488 */ cpu->r[29] = rbrew_read32(cpu->mem, _t238);
/* 028E748C */ cpu->r[3] = cpu->r[27];
/* 028E7490 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7494 */ _t239 = cpu->r[27] + 0x00000000u;
/* 028E7494 */ cpu->r[4] = rbrew_read32(cpu->mem, _t239);
/* 028E7498 */ _t240 = cpu->r[4] + 0x00000000u;
/* 028E7498 */ cpu->r[12] = rbrew_read8(cpu->mem, _t240);
/* 028E749C */ cpu->r[30] = 0x00000000u;
/* 028E74A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028E74A4 */ cpu->r[5] = 0x00080000u;
/* 028E74A8 */ _t241 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E74A8 */ _t242 = _t241 & 0x00000001u;
/* 028E74A8 */ if (_t242) goto L_028E74D0; else goto L_028E74AC;
L_028E74AC: ; // 0x28e74ac
/* 028E74AC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E74B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
/* 028E74B4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E74B8 */ _t243 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E74B8 */ _t244 = _t243 & 0x00000001u;
/* 028E74B8 */ if (_t244) goto L_028E74CC; else goto L_028E74BC;
L_028E74BC: ; // 0x28e74bc
/* 028E74BC */ _t245 = cpu->r[4] + 0x00000000u;
/* 028E74BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t245);
/* 028E74C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E74C4 */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E74C4 */ _t247 = _t246 & 0x00000001u;
/* 028E74C4 */ if (_t247) goto L_028E74C8; else goto L_028E74AC;
L_028E74C8: ; // 0x28e74c8
/* 028E74C8 */ goto L_028E74D0;
L_028E74CC: ; // 0x28e74cc
/* 028E74CC */ cpu->r[30] = 0x00000000u;
L_028E74D0: ; // 0x28e74d0
/* 028E74D0 */ _t248 = cpu->r[28] + 0x00000008u;
/* 028E74D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t248);
/* 028E74D4 */ _t249 = cpu->r[27] + 0x00000004u;
/* 028E74D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t249);
/* 028E74D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
/* 028E74DC */ _t250 = cpu->r[4] + 0x00000014u;
/* 028E74DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t250);
/* 028E74E0 */ _t251 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E74E0 */ _t252 = _t251 & 0x00000001u;
/* 028E74E0 */ if (_t252) goto L_028E74E8; else goto L_028E74E4;
L_028E74E4: ; // 0x28e74e4
/* 028E74E4 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
L_028E74E8: ; // 0x28e74e8
/* 028E74E8 */ cpu->ctr = cpu->r[5];
/* 028E74EC */ cpu->r[3] = cpu->r[27];
/* 028E74F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E74F4 */ _t253 = cpu->r[27] + 0x00000000u;
/* 028E74F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t253);
/* 028E74F8 */ cpu->r[6] = 0x00000000u;
/* 028E74FC */ cpu->r[5] = cpu->r[30];
/* 028E7500 */ cpu->r[3] = cpu->r[29];
/* 028E7504 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E7508 */ _t254 = cpu->r[29] + cpu->r[30];
/* 028E7508 */ rbrew_write8(cpu->mem, _t254, (uint8_t)cpu->r[31]);
/* 028E750C */ _t255 = cpu->r[28] + 0x0000004Cu;
/* 028E750C */ cpu->r[11] = rbrew_read32(cpu->mem, _t255);
/* 028E7510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
/* 028E7514 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7514 */ _t257 = _t256 & 0x00000001u;
/* 028E7514 */ if (_t257) goto L_028E7518; else goto L_028E77D4;
L_028E7518: ; // 0x28e7518
/* 028E7518 */ cpu->r[9] = 0x101D0000u;
/* 028E751C */ _t258 = cpu->r[28] + 0x00000054u;
/* 028E751C */ cpu->r[29] = rbrew_read32(cpu->mem, _t258);
/* 028E7520 */ _t259 = cpu->r[9] + 0xFFFF9A84u;
/* 028E7520 */ cpu->r[9] = rbrew_read32(cpu->mem, _t259);
/* 028E7524 */ _t260 = cpu->r[9] + 0x00000030u;
/* 028E7524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t260);
/* 028E7528 */ _t261 = cpu->r[1] + 0x00000014u;
/* 028E7528 */ rbrew_write32(cpu->mem, _t261, cpu->r[25]);
/* 028E752C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E7530 */ _t262 = cpu->r[1] + 0x00000010u;
/* 028E7530 */ rbrew_write32(cpu->mem, _t262, cpu->r[0]);
/* 028E7534 */ Gambit_fn_028E794C(cpu);
/* 028E7538 */ _t263 = cpu->r[1] + 0x00000010u;
/* 028E7538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t263);
/* 028E753C */ _t264 = cpu->r[12] + 0x00000000u;
/* 028E753C */ cpu->r[6] = rbrew_read8(cpu->mem, _t264);
/* 028E7540 */ cpu->r[30] = 0x00000000u;
/* 028E7544 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E7548 */ cpu->r[0] = 0x00080000u;
/* 028E754C */ _t265 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E754C */ _t266 = _t265 & 0x00000001u;
/* 028E754C */ if (_t266) goto L_028E7574; else goto L_028E7550;
L_028E7550: ; // 0x28e7550
/* 028E7550 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E7554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E7558 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E755C */ _t267 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E755C */ _t268 = _t267 & 0x00000001u;
/* 028E755C */ if (_t268) goto L_028E7570; else goto L_028E7560;
L_028E7560: ; // 0x28e7560
/* 028E7560 */ _t269 = cpu->r[12] + 0x00000000u;
/* 028E7560 */ cpu->r[7] = rbrew_read8(cpu->mem, _t269);
/* 028E7564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028E7568 */ _t270 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7568 */ _t271 = _t270 & 0x00000001u;
/* 028E7568 */ if (_t271) goto L_028E756C; else goto L_028E7550;
L_028E756C: ; // 0x28e756c
/* 028E756C */ goto L_028E7574;
L_028E7570: ; // 0x28e7570
/* 028E7570 */ cpu->r[30] = 0x00000000u;
L_028E7574: ; // 0x28e7574
/* 028E7574 */ _t272 = cpu->r[28] + 0x0000005Cu;
/* 028E7574 */ cpu->r[10] = rbrew_read32(cpu->mem, _t272);
/* 028E7578 */ _t273 = cpu->r[1] + 0x00000014u;
/* 028E7578 */ cpu->r[8] = rbrew_read32(cpu->mem, _t273);
/* 028E757C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
/* 028E7580 */ _t274 = cpu->r[8] + 0x00000014u;
/* 028E7580 */ cpu->r[9] = rbrew_read32(cpu->mem, _t274);
/* 028E7584 */ _t275 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7584 */ _t276 = _t275 & 0x00000001u;
/* 028E7584 */ if (_t276) goto L_028E758C; else goto L_028E7588;
L_028E7588: ; // 0x28e7588
/* 028E7588 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
L_028E758C: ; // 0x28e758c
/* 028E758C */ cpu->ctr = cpu->r[9];
/* 028E7590 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E7594 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7598 */ _t277 = cpu->r[1] + 0x00000010u;
/* 028E7598 */ cpu->r[4] = rbrew_read32(cpu->mem, _t277);
/* 028E759C */ cpu->r[6] = 0x00000000u;
/* 028E75A0 */ cpu->r[5] = cpu->r[30];
/* 028E75A4 */ cpu->r[3] = cpu->r[29];
/* 028E75A8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E75AC */ _t278 = cpu->r[29] + cpu->r[30];
/* 028E75AC */ rbrew_write8(cpu->mem, _t278, (uint8_t)cpu->r[31]);
/* 028E75B0 */ _t279 = cpu->r[28] + 0x00000058u;
/* 028E75B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t279);
/* 028E75B4 */ _t280 = cpu->r[10] + 0x00000014u;
/* 028E75B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t280);
/* 028E75B8 */ cpu->ctr = cpu->r[11];
/* 028E75BC */ _t281 = cpu->r[28] + 0x00000054u;
/* 028E75BC */ cpu->r[26] = rbrew_read32(cpu->mem, _t281);
/* 028E75C0 */ cpu->r[3] = cpu->r[28] + 0x00000054u;
/* 028E75C4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E75C8 */ _t282 = cpu->r[28] + 0x00000054u;
/* 028E75C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t282);
/* 028E75CC */ _t283 = cpu->r[10] + 0x00000000u;
/* 028E75CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t283);
/* 028E75D0 */ cpu->r[30] = 0x00000000u;
/* 028E75D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028E75D8 */ cpu->r[11] = 0x00080000u;
/* 028E75DC */ _t284 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E75DC */ _t285 = _t284 & 0x00000001u;
/* 028E75DC */ if (_t285) goto L_028E7604; else goto L_028E75E0;
L_028E75E0: ; // 0x28e75e0
/* 028E75E0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E75E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028E75E8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E75EC */ _t286 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E75EC */ _t287 = _t286 & 0x00000001u;
/* 028E75EC */ if (_t287) goto L_028E7600; else goto L_028E75F0;
L_028E75F0: ; // 0x28e75f0
/* 028E75F0 */ _t288 = cpu->r[10] + 0x00000000u;
/* 028E75F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t288);
/* 028E75F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E75F8 */ _t289 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E75F8 */ _t290 = _t289 & 0x00000001u;
/* 028E75F8 */ if (_t290) goto L_028E75FC; else goto L_028E75E0;
L_028E75FC: ; // 0x28e75fc
/* 028E75FC */ goto L_028E7604;
L_028E7600: ; // 0x28e7600
/* 028E7600 */ cpu->r[30] = 0x00000000u;
L_028E7604: ; // 0x28e7604
/* 028E7604 */ _t291 = cpu->r[27] + 0x00000004u;
/* 028E7604 */ cpu->r[4] = rbrew_read32(cpu->mem, _t291);
/* 028E7608 */ cpu->r[24] = cpu->r[30];
/* 028E7608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028E760C */ _t292 = cpu->r[4] + 0x00000014u;
/* 028E760C */ cpu->r[5] = rbrew_read32(cpu->mem, _t292);
/* 028E7610 */ _t293 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7610 */ _t294 = _t293 & 0x00000001u;
/* 028E7610 */ if (_t294) goto L_028E7614; else goto L_028E7618;
L_028E7614: ; // 0x28e7614
/* 028E7614 */ cpu->r[24] = 0x00000000u;
L_028E7618: ; // 0x28e7618
/* 028E7618 */ cpu->ctr = cpu->r[5];
/* 028E761C */ cpu->r[3] = cpu->r[27];
/* 028E7620 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7624 */ _t295 = cpu->r[27] + 0x00000000u;
/* 028E7624 */ cpu->r[8] = rbrew_read32(cpu->mem, _t295);
/* 028E7628 */ _t296 = cpu->r[8] + 0x00000000u;
/* 028E7628 */ cpu->r[0] = rbrew_read8(cpu->mem, _t296);
/* 028E762C */ cpu->r[9] = 0x00080000u;
/* 028E7630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7634 */ cpu->r[29] = 0x00000000u;
/* 028E7638 */ _t297 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7638 */ _t298 = _t297 & 0x00000001u;
/* 028E7638 */ if (_t298) goto L_028E7660; else goto L_028E763C;
L_028E763C: ; // 0x28e763c
/* 028E763C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E7640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
/* 028E7644 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028E7648 */ _t299 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7648 */ _t300 = _t299 & 0x00000001u;
/* 028E7648 */ if (_t300) goto L_028E765C; else goto L_028E764C;
L_028E764C: ; // 0x28e764c
/* 028E764C */ _t301 = cpu->r[8] + 0x00000000u;
/* 028E764C */ cpu->r[7] = rbrew_read8(cpu->mem, _t301);
/* 028E7650 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028E7654 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7654 */ _t303 = _t302 & 0x00000001u;
/* 028E7654 */ if (_t303) goto L_028E7658; else goto L_028E763C;
L_028E7658: ; // 0x28e7658
/* 028E7658 */ goto L_028E7660;
L_028E765C: ; // 0x28e765c
/* 028E765C */ cpu->r[29] = 0x00000000u;
L_028E7660: ; // 0x28e7660
/* 028E7660 */ _t304 = cpu->r[28] + 0x0000005Cu;
/* 028E7660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t304);
/* 028E7664 */ cpu->r[6] = cpu->r[10] - cpu->r[24];
/* 028E7668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
/* 028E766C */ _t305 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E766C */ _t306 = _t305 & 0x00000001u;
/* 028E766C */ if (_t306) goto L_028E7674; else goto L_028E7670;
L_028E7670: ; // 0x28e7670
/* 028E7670 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
L_028E7674: ; // 0x28e7674
/* 028E7674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E7678 */ _t307 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7678 */ _t308 = _t307 & 0x00000001u;
/* 028E7678 */ if (_t308) goto L_028E767C; else goto L_028E76B8;
L_028E767C: ; // 0x28e767c
/* 028E767C */ _t309 = cpu->r[27] + 0x00000004u;
/* 028E767C */ cpu->r[8] = rbrew_read32(cpu->mem, _t309);
/* 028E7680 */ _t310 = cpu->r[8] + 0x00000014u;
/* 028E7680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t310);
/* 028E7684 */ cpu->ctr = cpu->r[9];
/* 028E7688 */ cpu->r[23] = cpu->r[26] + cpu->r[24];
/* 028E768C */ cpu->r[3] = cpu->r[27];
/* 028E7690 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7694 */ _t311 = cpu->r[27] + 0x00000000u;
/* 028E7694 */ cpu->r[4] = rbrew_read32(cpu->mem, _t311);
/* 028E7698 */ cpu->r[6] = 0x00000000u;
/* 028E769C */ cpu->r[5] = cpu->r[29];
/* 028E76A0 */ cpu->r[3] = cpu->r[23];
/* 028E76A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E76A8 */ cpu->r[5] = cpu->r[24] + cpu->r[29];
/* 028E76AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[30]);
/* 028E76B0 */ _t312 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E76B0 */ _t313 = _t312 & 0x00000001u;
/* 028E76B0 */ if (_t313) goto L_028E76B4; else goto L_028E76B8;
L_028E76B4: ; // 0x28e76b4
/* 028E76B4 */ _t314 = cpu->r[26] + cpu->r[5];
/* 028E76B4 */ rbrew_write8(cpu->mem, _t314, (uint8_t)cpu->r[31]);
L_028E76B8: ; // 0x28e76b8
/* 028E76B8 */ _t315 = cpu->r[28] + 0x00000058u;
/* 028E76B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t315);
/* 028E76BC */ cpu->r[8] = 0x101D0000u;
/* 028E76C0 */ _t316 = cpu->r[8] + 0xFFFF9AF0u;
/* 028E76C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t316);
/* 028E76C4 */ _t317 = cpu->r[1] + 0x00000014u;
/* 028E76C4 */ rbrew_write32(cpu->mem, _t317, cpu->r[25]);
/* 028E76C8 */ _t318 = cpu->r[1] + 0x00000010u;
/* 028E76C8 */ rbrew_write32(cpu->mem, _t318, cpu->r[8]);
/* 028E76CC */ _t319 = cpu->r[10] + 0x00000014u;
/* 028E76CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t319);
/* 028E76D0 */ cpu->ctr = cpu->r[11];
/* 028E76D4 */ _t320 = cpu->r[28] + 0x00000054u;
/* 028E76D4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t320);
/* 028E76D8 */ cpu->r[3] = cpu->r[28] + 0x00000054u;
/* 028E76DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E76E0 */ _t321 = cpu->r[28] + 0x00000054u;
/* 028E76E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t321);
/* 028E76E4 */ _t322 = cpu->r[6] + 0x00000000u;
/* 028E76E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t322);
/* 028E76E8 */ cpu->r[30] = 0x00000000u;
/* 028E76EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028E76F0 */ cpu->r[7] = 0x00080000u;
/* 028E76F4 */ _t323 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E76F4 */ _t324 = _t323 & 0x00000001u;
/* 028E76F4 */ if (_t324) goto L_028E771C; else goto L_028E76F8;
L_028E76F8: ; // 0x28e76f8
/* 028E76F8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E76FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E7700 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028E7704 */ _t325 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7704 */ _t326 = _t325 & 0x00000001u;
/* 028E7704 */ if (_t326) goto L_028E7718; else goto L_028E7708;
L_028E7708: ; // 0x28e7708
/* 028E7708 */ _t327 = cpu->r[6] + 0x00000000u;
/* 028E7708 */ cpu->r[0] = rbrew_read8(cpu->mem, _t327);
/* 028E770C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7710 */ _t328 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7710 */ _t329 = _t328 & 0x00000001u;
/* 028E7710 */ if (_t329) goto L_028E7714; else goto L_028E76F8;
L_028E7714: ; // 0x28e7714
/* 028E7714 */ goto L_028E771C;
L_028E7718: ; // 0x28e7718
/* 028E7718 */ cpu->r[30] = 0x00000000u;
L_028E771C: ; // 0x28e771c
/* 028E771C */ _t330 = cpu->r[1] + 0x00000014u;
/* 028E771C */ cpu->r[4] = rbrew_read32(cpu->mem, _t330);
/* 028E7720 */ cpu->r[25] = cpu->r[30];
/* 028E7720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028E7724 */ _t331 = cpu->r[4] + 0x00000014u;
/* 028E7724 */ cpu->r[5] = rbrew_read32(cpu->mem, _t331);
/* 028E7728 */ _t332 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7728 */ _t333 = _t332 & 0x00000001u;
/* 028E7728 */ if (_t333) goto L_028E772C; else goto L_028E7730;
L_028E772C: ; // 0x28e772c
/* 028E772C */ cpu->r[25] = 0x00000000u;
L_028E7730: ; // 0x28e7730
/* 028E7730 */ cpu->ctr = cpu->r[5];
/* 028E7734 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E7738 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E773C */ _t334 = cpu->r[1] + 0x00000010u;
/* 028E773C */ cpu->r[12] = rbrew_read32(cpu->mem, _t334);
/* 028E7740 */ _t335 = cpu->r[12] + 0x00000000u;
/* 028E7740 */ cpu->r[6] = rbrew_read8(cpu->mem, _t335);
/* 028E7744 */ cpu->r[5] = 0x00080000u;
/* 028E7748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E774C */ cpu->r[29] = 0x00000000u;
/* 028E7750 */ _t336 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7750 */ _t337 = _t336 & 0x00000001u;
/* 028E7750 */ if (_t337) goto L_028E7778; else goto L_028E7754;
L_028E7754: ; // 0x28e7754
/* 028E7754 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E7758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
/* 028E775C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E7760 */ _t338 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7760 */ _t339 = _t338 & 0x00000001u;
/* 028E7760 */ if (_t339) goto L_028E7774; else goto L_028E7764;
L_028E7764: ; // 0x28e7764
/* 028E7764 */ _t340 = cpu->r[12] + 0x00000000u;
/* 028E7764 */ cpu->r[7] = rbrew_read8(cpu->mem, _t340);
/* 028E7768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028E776C */ _t341 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E776C */ _t342 = _t341 & 0x00000001u;
/* 028E776C */ if (_t342) goto L_028E7770; else goto L_028E7754;
L_028E7770: ; // 0x28e7770
/* 028E7770 */ goto L_028E7778;
L_028E7774: ; // 0x28e7774
/* 028E7774 */ cpu->r[29] = 0x00000000u;
L_028E7778: ; // 0x28e7778
/* 028E7778 */ _t343 = cpu->r[28] + 0x0000005Cu;
/* 028E7778 */ cpu->r[10] = rbrew_read32(cpu->mem, _t343);
/* 028E777C */ cpu->r[7] = cpu->r[10] - cpu->r[25];
/* 028E7780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
/* 028E7784 */ _t344 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7784 */ _t345 = _t344 & 0x00000001u;
/* 028E7784 */ if (_t345) goto L_028E778C; else goto L_028E7788;
L_028E7788: ; // 0x28e7788
/* 028E7788 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
L_028E778C: ; // 0x28e778c
/* 028E778C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E7790 */ _t346 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7790 */ _t347 = _t346 & 0x00000001u;
/* 028E7790 */ if (_t347) goto L_028E7794; else goto L_028E77D0;
L_028E7794: ; // 0x28e7794
/* 028E7794 */ _t348 = cpu->r[1] + 0x00000014u;
/* 028E7794 */ cpu->r[8] = rbrew_read32(cpu->mem, _t348);
/* 028E7798 */ _t349 = cpu->r[8] + 0x00000014u;
/* 028E7798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t349);
/* 028E779C */ cpu->ctr = cpu->r[9];
/* 028E77A0 */ cpu->r[26] = cpu->r[27] + cpu->r[25];
/* 028E77A4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E77A8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E77AC */ _t350 = cpu->r[1] + 0x00000010u;
/* 028E77AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t350);
/* 028E77B0 */ cpu->r[6] = 0x00000000u;
/* 028E77B4 */ cpu->r[5] = cpu->r[29];
/* 028E77B8 */ cpu->r[3] = cpu->r[26];
/* 028E77BC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E77C0 */ cpu->r[6] = cpu->r[25] + cpu->r[29];
/* 028E77C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[30]);
/* 028E77C8 */ _t351 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E77C8 */ _t352 = _t351 & 0x00000001u;
/* 028E77C8 */ if (_t352) goto L_028E77CC; else goto L_028E77D0;
L_028E77CC: ; // 0x28e77cc
/* 028E77CC */ _t353 = cpu->r[27] + cpu->r[6];
/* 028E77CC */ rbrew_write8(cpu->mem, _t353, (uint8_t)cpu->r[31]);
L_028E77D0: ; // 0x28e77d0
/* 028E77D0 */ _t354 = cpu->r[28] + 0x0000004Cu;
/* 028E77D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t354);
L_028E77D4: ; // 0x28e77d4
/* 028E77D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028E77D8 */ _t355 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E77D8 */ _t356 = _t355 & 0x00000001u;
/* 028E77D8 */ if (_t356) goto L_028E77DC; else goto L_028E780C;
L_028E77DC: ; // 0x28e77dc
/* 028E77DC */ _t357 = cpu->r[28] + 0x00000050u;
/* 028E77DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t357);
/* 028E77E0 */ cpu->r[4] = 0x46570000u;
/* 028E77E4 */ _t358 = cpu->r[10] + 0x00000000u;
/* 028E77E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t358);
/* 028E77E8 */ cpu->r[4] = cpu->r[4] + 0x00004156u;
/* 028E77EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
/* 028E77F0 */ _t359 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E77F0 */ _t360 = _t359 & 0x00000001u;
/* 028E77F0 */ if (_t360) goto L_028E780C; else goto L_028E77F4;
L_028E77F4: ; // 0x28e77f4
/* 028E77F4 */ /* nop */
/* 028E77F8 */ _t361 = cpu->r[1] + 0x0000011Cu;
/* 028E77F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t361);
/* 028E77FC */ cpu->lr = cpu->r[0];
/* 028E7800 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028E7804 */ cpu->r[3] = 0x00000000u;
/* 028E7808 */ return;
L_028E780C: ; // 0x28e780c
/* 028E780C */ /* nop */
/* 028E7810 */ _t362 = cpu->r[1] + 0x0000011Cu;
/* 028E7810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t362);
/* 028E7814 */ cpu->lr = cpu->r[0];
/* 028E7818 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028E781C */ cpu->r[3] = 0x00000001u;
/* 028E7820 */ return;
}
// fn_028E6DB0 @ 0x28e6db0
void Gambit_fn_028E6DB0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E6DB0: ; // 0x28e6db0
/* 028E6DB0 */ _t0 = cpu->r[1] + 0xFFFFFEE8u;
/* 028E6DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E6DB0 */ cpu->r[1] = _t0;
/* 028E6DB4 */ _t1 = cpu->r[1] + 0x0000011Cu;
/* 028E6DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E6DB8 */ /* nop */
/* 028E6DBC */ cpu->r[28] = cpu->r[4];
/* 028E6DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E6DC0 */ cpu->r[27] = cpu->r[5];
/* 028E6DC4 */ cpu->r[26] = cpu->r[3];
/* 028E6DC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6DC8 */ _t3 = _t2 & 0x00000001u;
/* 028E6DC8 */ if (_t3) goto L_028E77F4; else goto L_028E6DCC;
L_028E6DCC: ; // 0x28e6dcc
/* 028E6DCC */ _t4 = cpu->r[27] + 0x00000004u;
/* 028E6DCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
/* 028E6DD0 */ _t5 = cpu->r[7] + 0x00000014u;
/* 028E6DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028E6DD4 */ cpu->ctr = cpu->r[0];
/* 028E6DD8 */ cpu->r[3] = cpu->r[27];
/* 028E6DDC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6DE0 */ _t6 = cpu->r[27] + 0x00000000u;
/* 028E6DE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
/* 028E6DE4 */ cpu->r[31] = 0x10110000u;
/* 028E6DE8 */ _t7 = cpu->r[31] + 0x00007399u;
/* 028E6DE8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
/* 028E6DEC */ _t8 = cpu->r[5] + 0x00000000u;
/* 028E6DEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
/* 028E6DF0 */ cpu->r[9] = 0x00000000u;
/* 028E6DF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E6DF8 */ cpu->r[0] = 0x00080000u;
/* 028E6DFC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6DFC */ _t10 = _t9 & 0x00000001u;
/* 028E6DFC */ if (_t10) goto L_028E6E1C; else goto L_028E6E00;
L_028E6E00: ; // 0x28e6e00
/* 028E6E00 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028E6E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
/* 028E6E08 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028E6E0C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6E0C */ _t12 = _t11 & 0x00000001u;
/* 028E6E0C */ if (_t12) goto L_028E6E24; else goto L_028E6E10;
L_028E6E10: ; // 0x28e6e10
/* 028E6E10 */ _t13 = cpu->r[5] + 0x00000000u;
/* 028E6E10 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
/* 028E6E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028E6E18 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6E18 */ _t15 = _t14 & 0x00000001u;
/* 028E6E18 */ if (_t15) goto L_028E6E1C; else goto L_028E6E00;
L_028E6E1C: ; // 0x28e6e1c
/* 028E6E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000040u);
/* 028E6E20 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6E20 */ _t17 = _t16 & 0x00000001u;
/* 028E6E20 */ if (_t17) goto L_028E77F4; else goto L_028E6E24;
L_028E6E24: ; // 0x28e6e24
/* 028E6E24 */ cpu->r[29] = cpu->r[1] + 0x000000A0u;
/* 028E6E28 */ cpu->r[0] = 0x00000048u;
/* 028E6E2C */ _t18 = cpu->r[1] + 0x00000094u;
/* 028E6E2C */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
/* 028E6E30 */ cpu->r[23] = 0x10140000u;
/* 028E6E34 */ _t19 = cpu->r[1] + 0x0000009Cu;
/* 028E6E34 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
/* 028E6E38 */ cpu->r[23] = cpu->r[23] + 0xFFFFBA54u;
/* 028E6E3C */ _t20 = cpu->r[1] + 0x000000A0u;
/* 028E6E3C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]);
/* 028E6E40 */ _t21 = cpu->r[27] + 0x00000004u;
/* 028E6E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028E6E44 */ _t22 = cpu->r[1] + 0x00000098u;
/* 028E6E44 */ rbrew_write32(cpu->mem, _t22, cpu->r[23]);
/* 028E6E48 */ _t23 = cpu->r[1] + 0x000000E7u;
/* 028E6E48 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
/* 028E6E4C */ _t24 = cpu->r[12] + 0x00000014u;
/* 028E6E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028E6E50 */ cpu->r[25] = 0x10140000u;
/* 028E6E54 */ cpu->ctr = cpu->r[0];
/* 028E6E58 */ cpu->r[25] = cpu->r[25] + 0xFFFFB934u;
/* 028E6E5C */ cpu->r[3] = cpu->r[27];
/* 028E6E60 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6E64 */ _t25 = cpu->r[27] + 0x00000000u;
/* 028E6E64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028E6E68 */ _t26 = cpu->r[12] + 0x00000000u;
/* 028E6E68 */ cpu->r[4] = rbrew_read8(cpu->mem, _t26);
/* 028E6E6C */ cpu->r[30] = 0x00000000u;
/* 028E6E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
/* 028E6E74 */ cpu->r[4] = 0x00080000u;
/* 028E6E78 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6E78 */ _t28 = _t27 & 0x00000001u;
/* 028E6E78 */ if (_t28) goto L_028E6EA0; else goto L_028E6E7C;
L_028E6E7C: ; // 0x28e6e7c
/* 028E6E7C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E6E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
/* 028E6E84 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E6E88 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6E88 */ _t30 = _t29 & 0x00000001u;
/* 028E6E88 */ if (_t30) goto L_028E6E9C; else goto L_028E6E8C;
L_028E6E8C: ; // 0x28e6e8c
/* 028E6E8C */ _t31 = cpu->r[12] + 0x00000000u;
/* 028E6E8C */ cpu->r[5] = rbrew_read8(cpu->mem, _t31);
/* 028E6E90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028E6E94 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6E94 */ _t33 = _t32 & 0x00000001u;
/* 028E6E94 */ if (_t33) goto L_028E6E98; else goto L_028E6E7C;
L_028E6E98: ; // 0x28e6e98
/* 028E6E98 */ goto L_028E6EA0;
L_028E6E9C: ; // 0x28e6e9c
/* 028E6E9C */ cpu->r[30] = 0x00000000u;
L_028E6EA0: ; // 0x28e6ea0
/* 028E6EA0 */ _t34 = cpu->r[1] + 0x0000009Cu;
/* 028E6EA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
/* 028E6EA4 */ _t35 = cpu->r[27] + 0x00000004u;
/* 028E6EA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
/* 028E6EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028E6EAC */ _t36 = cpu->r[6] + 0x00000014u;
/* 028E6EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
/* 028E6EB0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E6EB0 */ _t38 = _t37 & 0x00000001u;
/* 028E6EB0 */ if (_t38) goto L_028E6EB8; else goto L_028E6EB4;
L_028E6EB4: ; // 0x28e6eb4
/* 028E6EB4 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
L_028E6EB8: ; // 0x28e6eb8
/* 028E6EB8 */ cpu->ctr = cpu->r[0];
/* 028E6EBC */ cpu->r[3] = cpu->r[27];
/* 028E6EC0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6EC4 */ _t39 = cpu->r[27] + 0x00000000u;
/* 028E6EC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
/* 028E6EC8 */ cpu->r[6] = 0x00000000u;
/* 028E6ECC */ cpu->r[5] = cpu->r[30];
/* 028E6ED0 */ cpu->r[3] = cpu->r[29];
/* 028E6ED4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E6ED8 */ _t40 = cpu->r[29] + cpu->r[30];
/* 028E6ED8 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
/* 028E6EDC */ cpu->r[12] = 0x101D0000u;
/* 028E6EE0 */ _t41 = cpu->r[1] + 0x00000098u;
/* 028E6EE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
/* 028E6EE4 */ _t42 = cpu->r[12] + 0xFFFF9AF4u;
/* 028E6EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028E6EE8 */ _t43 = cpu->r[1] + 0x0000001Cu;
/* 028E6EE8 */ rbrew_write32(cpu->mem, _t43, cpu->r[25]);
/* 028E6EEC */ _t44 = cpu->r[1] + 0x00000018u;
/* 028E6EEC */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
/* 028E6EF0 */ _t45 = cpu->r[8] + 0x00000014u;
/* 028E6EF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
/* 028E6EF4 */ cpu->ctr = cpu->r[9];
/* 028E6EF8 */ _t46 = cpu->r[1] + 0x00000094u;
/* 028E6EF8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
/* 028E6EFC */ cpu->r[3] = cpu->r[1] + 0x00000094u;
/* 028E6F00 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6F04 */ _t47 = cpu->r[1] + 0x00000094u;
/* 028E6F04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
/* 028E6F08 */ _t48 = cpu->r[10] + 0x00000000u;
/* 028E6F08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
/* 028E6F0C */ cpu->r[30] = 0x00000000u;
/* 028E6F10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E6F14 */ cpu->r[0] = 0x00080000u;
/* 028E6F18 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6F18 */ _t50 = _t49 & 0x00000001u;
/* 028E6F18 */ if (_t50) goto L_028E6F40; else goto L_028E6F1C;
L_028E6F1C: ; // 0x28e6f1c
/* 028E6F1C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E6F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E6F24 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E6F28 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6F28 */ _t52 = _t51 & 0x00000001u;
/* 028E6F28 */ if (_t52) goto L_028E6F3C; else goto L_028E6F2C;
L_028E6F2C: ; // 0x28e6f2c
/* 028E6F2C */ _t53 = cpu->r[10] + 0x00000000u;
/* 028E6F2C */ cpu->r[11] = rbrew_read8(cpu->mem, _t53);
/* 028E6F30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028E6F34 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6F34 */ _t55 = _t54 & 0x00000001u;
/* 028E6F34 */ if (_t55) goto L_028E6F38; else goto L_028E6F1C;
L_028E6F38: ; // 0x28e6f38
/* 028E6F38 */ goto L_028E6F40;
L_028E6F3C: ; // 0x28e6f3c
/* 028E6F3C */ cpu->r[30] = 0x00000000u;
L_028E6F40: ; // 0x28e6f40
/* 028E6F40 */ _t56 = cpu->r[1] + 0x0000001Cu;
/* 028E6F40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
/* 028E6F44 */ cpu->r[22] = cpu->r[30];
/* 028E6F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028E6F48 */ _t57 = cpu->r[12] + 0x00000014u;
/* 028E6F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028E6F4C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E6F4C */ _t59 = _t58 & 0x00000001u;
/* 028E6F4C */ if (_t59) goto L_028E6F50; else goto L_028E6F54;
L_028E6F50: ; // 0x28e6f50
/* 028E6F50 */ cpu->r[22] = 0x00000000u;
L_028E6F54: ; // 0x28e6f54
/* 028E6F54 */ cpu->ctr = cpu->r[0];
/* 028E6F58 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028E6F5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6F60 */ _t60 = cpu->r[1] + 0x00000018u;
/* 028E6F60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
/* 028E6F64 */ _t61 = cpu->r[8] + 0x00000000u;
/* 028E6F64 */ cpu->r[5] = rbrew_read8(cpu->mem, _t61);
/* 028E6F68 */ cpu->r[9] = 0x00080000u;
/* 028E6F6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028E6F70 */ cpu->r[29] = 0x00000000u;
/* 028E6F74 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6F74 */ _t63 = _t62 & 0x00000001u;
/* 028E6F74 */ if (_t63) goto L_028E6F9C; else goto L_028E6F78;
L_028E6F78: ; // 0x28e6f78
/* 028E6F78 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E6F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
/* 028E6F80 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028E6F84 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6F84 */ _t65 = _t64 & 0x00000001u;
/* 028E6F84 */ if (_t65) goto L_028E6F98; else goto L_028E6F88;
L_028E6F88: ; // 0x28e6f88
/* 028E6F88 */ _t66 = cpu->r[8] + 0x00000000u;
/* 028E6F88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t66);
/* 028E6F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E6F90 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6F90 */ _t68 = _t67 & 0x00000001u;
/* 028E6F90 */ if (_t68) goto L_028E6F94; else goto L_028E6F78;
L_028E6F94: ; // 0x28e6f94
/* 028E6F94 */ goto L_028E6F9C;
L_028E6F98: ; // 0x28e6f98
/* 028E6F98 */ cpu->r[29] = 0x00000000u;
L_028E6F9C: ; // 0x28e6f9c
/* 028E6F9C */ _t69 = cpu->r[1] + 0x0000009Cu;
/* 028E6F9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
/* 028E6FA0 */ cpu->r[11] = cpu->r[9] - cpu->r[22];
/* 028E6FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
/* 028E6FA8 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E6FA8 */ _t71 = _t70 & 0x00000001u;
/* 028E6FA8 */ if (_t71) goto L_028E6FB0; else goto L_028E6FAC;
L_028E6FAC: ; // 0x28e6fac
/* 028E6FAC */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu;
L_028E6FB0: ; // 0x28e6fb0
/* 028E6FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E6FB4 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6FB4 */ _t73 = _t72 & 0x00000001u;
/* 028E6FB4 */ if (_t73) goto L_028E6FB8; else goto L_028E6FF4;
L_028E6FB8: ; // 0x28e6fb8
/* 028E6FB8 */ _t74 = cpu->r[1] + 0x0000001Cu;
/* 028E6FB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
/* 028E6FBC */ _t75 = cpu->r[7] + 0x00000014u;
/* 028E6FBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
/* 028E6FC0 */ cpu->ctr = cpu->r[8];
/* 028E6FC4 */ cpu->r[21] = cpu->r[24] + cpu->r[22];
/* 028E6FC8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028E6FCC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E6FD0 */ _t76 = cpu->r[1] + 0x00000018u;
/* 028E6FD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
/* 028E6FD4 */ cpu->r[6] = 0x00000000u;
/* 028E6FD8 */ cpu->r[5] = cpu->r[29];
/* 028E6FDC */ cpu->r[3] = cpu->r[21];
/* 028E6FE0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E6FE4 */ cpu->r[12] = cpu->r[22] + cpu->r[29];
/* 028E6FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[30]);
/* 028E6FEC */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E6FEC */ _t78 = _t77 & 0x00000001u;
/* 028E6FEC */ if (_t78) goto L_028E6FF0; else goto L_028E6FF4;
L_028E6FF0: ; // 0x28e6ff0
/* 028E6FF0 */ _t79 = cpu->r[24] + cpu->r[12];
/* 028E6FF0 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[31]);
L_028E6FF4: ; // 0x28e6ff4
/* 028E6FF4 */ _t80 = cpu->r[26] + 0x00000004u;
/* 028E6FF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
/* 028E6FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E6FFC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6FFC */ _t82 = _t81 & 0x00000001u;
/* 028E6FFC */ if (_t82) goto L_028E77F4; else goto L_028E7000;
L_028E7000: ; // 0x28e7000
/* 028E7000 */ _t83 = cpu->r[3] + 0x00000000u;
/* 028E7000 */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
/* 028E7004 */ _t84 = cpu->r[9] + 0x00000034u;
/* 028E7004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
/* 028E7008 */ cpu->ctr = cpu->r[10];
/* 028E700C */ cpu->r[4] = cpu->r[1] + 0x00000094u;
/* 028E7010 */ cpu->r[5] = 0x00000000u;
/* 028E7014 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7018 */ cpu->r[24] = cpu->r[3];
/* 028E7018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028E701C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E701C */ _t86 = _t85 & 0x00000001u;
/* 028E701C */ if (_t86) goto L_028E77F4; else goto L_028E7020;
L_028E7020: ; // 0x28e7020
/* 028E7020 */ _t87 = cpu->r[27] + 0x00000004u;
/* 028E7020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
/* 028E7024 */ _t88 = cpu->r[11] + 0x00000014u;
/* 028E7024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
/* 028E7028 */ cpu->ctr = cpu->r[0];
/* 028E702C */ cpu->r[3] = cpu->r[27];
/* 028E7030 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7034 */ _t89 = cpu->r[27] + 0x00000000u;
/* 028E7034 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89);
/* 028E7038 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E703C */ cpu->r[4] = cpu->r[24];
/* 028E7040 */ Gambit_fn_028E647C(cpu);
/* 028E7044 */ _t90 = cpu->r[1] + 0x0000007Bu;
/* 028E7044 */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[31]);
/* 028E7048 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028E704C */ _t91 = cpu->r[1] + 0x00000034u;
/* 028E704C */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[31]);
/* 028E7050 */ cpu->r[5] = 0x00000048u;
/* 028E7054 */ _t92 = cpu->r[1] + 0x0000002Cu;
/* 028E7054 */ rbrew_write32(cpu->mem, _t92, cpu->r[23]);
/* 028E7058 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E705C */ _t93 = cpu->r[1] + 0x00000028u;
/* 028E705C */ rbrew_write32(cpu->mem, _t93, cpu->r[4]);
/* 028E7060 */ _t94 = cpu->r[1] + 0x00000030u;
/* 028E7060 */ rbrew_write32(cpu->mem, _t94, cpu->r[5]);
/* 028E7064 */ Gambit_fn_028E68F8(cpu);
/* 028E7068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
/* 028E706C */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E706C */ _t96 = _t95 & 0x00000001u;
/* 028E706C */ if (_t96) goto L_028E708C; else goto L_028E7070;
L_028E7070: ; // 0x28e7070
/* 028E7070 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7070 */ _t98 = _t97 & 0x00000001u;
/* 028E7070 */ if (_t98) goto L_028E724C; else goto L_028E7074;
L_028E7074: ; // 0x28e7074
/* 028E7074 */ /* nop */
/* 028E7078 */ _t99 = cpu->r[1] + 0x0000011Cu;
/* 028E7078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
/* 028E707C */ cpu->lr = cpu->r[0];
/* 028E7080 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028E7084 */ cpu->r[3] = 0x00000000u;
/* 028E7088 */ return;
L_028E708C: ; // 0x28e708c
/* 028E708C */ _t100 = cpu->r[27] + 0x00000004u;
/* 028E708C */ cpu->r[6] = rbrew_read32(cpu->mem, _t100);
/* 028E7090 */ _t101 = cpu->r[6] + 0x00000014u;
/* 028E7090 */ cpu->r[7] = rbrew_read32(cpu->mem, _t101);
/* 028E7094 */ cpu->ctr = cpu->r[7];
/* 028E7098 */ _t102 = cpu->r[1] + 0x00000028u;
/* 028E7098 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
/* 028E709C */ cpu->r[3] = cpu->r[27];
/* 028E70A0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E70A4 */ _t103 = cpu->r[27] + 0x00000000u;
/* 028E70A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t103);
/* 028E70A8 */ _t104 = cpu->r[6] + 0x00000000u;
/* 028E70A8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t104);
/* 028E70AC */ cpu->r[30] = 0x00000000u;
/* 028E70B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
/* 028E70B4 */ cpu->r[7] = 0x00080000u;
/* 028E70B8 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E70B8 */ _t106 = _t105 & 0x00000001u;
/* 028E70B8 */ if (_t106) goto L_028E70E0; else goto L_028E70BC;
L_028E70BC: ; // 0x28e70bc
/* 028E70BC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E70C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E70C4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028E70C8 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E70C8 */ _t108 = _t107 & 0x00000001u;
/* 028E70C8 */ if (_t108) goto L_028E70DC; else goto L_028E70CC;
L_028E70CC: ; // 0x28e70cc
/* 028E70CC */ _t109 = cpu->r[6] + 0x00000000u;
/* 028E70CC */ cpu->r[9] = rbrew_read8(cpu->mem, _t109);
/* 028E70D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028E70D4 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E70D4 */ _t111 = _t110 & 0x00000001u;
/* 028E70D4 */ if (_t111) goto L_028E70D8; else goto L_028E70BC;
L_028E70D8: ; // 0x28e70d8
/* 028E70D8 */ goto L_028E70E0;
L_028E70DC: ; // 0x28e70dc
/* 028E70DC */ cpu->r[30] = 0x00000000u;
L_028E70E0: ; // 0x28e70e0
/* 028E70E0 */ _t112 = cpu->r[1] + 0x00000030u;
/* 028E70E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t112);
/* 028E70E4 */ _t113 = cpu->r[27] + 0x00000004u;
/* 028E70E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
/* 028E70E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E70EC */ _t114 = cpu->r[10] + 0x00000014u;
/* 028E70EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
/* 028E70F0 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E70F0 */ _t116 = _t115 & 0x00000001u;
/* 028E70F0 */ if (_t116) goto L_028E70F8; else goto L_028E70F4;
L_028E70F4: ; // 0x28e70f4
/* 028E70F4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028E70F8: ; // 0x28e70f8
/* 028E70F8 */ cpu->ctr = cpu->r[0];
/* 028E70FC */ cpu->r[3] = cpu->r[27];
/* 028E7100 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7104 */ _t117 = cpu->r[27] + 0x00000000u;
/* 028E7104 */ cpu->r[4] = rbrew_read32(cpu->mem, _t117);
/* 028E7108 */ cpu->r[6] = 0x00000000u;
/* 028E710C */ cpu->r[5] = cpu->r[30];
/* 028E7110 */ cpu->r[3] = cpu->r[29];
/* 028E7114 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E7118 */ _t118 = cpu->r[29] + cpu->r[30];
/* 028E7118 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[31]);
/* 028E711C */ cpu->r[10] = 0x101D0000u;
/* 028E7120 */ _t119 = cpu->r[1] + 0x0000002Cu;
/* 028E7120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
/* 028E7124 */ _t120 = cpu->r[10] + 0xFFFF9AE8u;
/* 028E7124 */ cpu->r[10] = rbrew_read32(cpu->mem, _t120);
/* 028E7128 */ _t121 = cpu->r[1] + 0x0000000Cu;
/* 028E7128 */ rbrew_write32(cpu->mem, _t121, cpu->r[25]);
/* 028E712C */ _t122 = cpu->r[1] + 0x00000008u;
/* 028E712C */ rbrew_write32(cpu->mem, _t122, cpu->r[10]);
/* 028E7130 */ _t123 = cpu->r[12] + 0x00000014u;
/* 028E7130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
/* 028E7134 */ cpu->ctr = cpu->r[0];
/* 028E7138 */ _t124 = cpu->r[1] + 0x00000028u;
/* 028E7138 */ cpu->r[23] = rbrew_read32(cpu->mem, _t124);
/* 028E713C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
/* 028E7140 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7144 */ _t125 = cpu->r[1] + 0x00000028u;
/* 028E7144 */ cpu->r[4] = rbrew_read32(cpu->mem, _t125);
/* 028E7148 */ _t126 = cpu->r[4] + 0x00000000u;
/* 028E7148 */ cpu->r[5] = rbrew_read8(cpu->mem, _t126);
/* 028E714C */ cpu->r[30] = 0x00000000u;
/* 028E7150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028E7154 */ cpu->r[5] = 0x00080000u;
/* 028E7158 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7158 */ _t128 = _t127 & 0x00000001u;
/* 028E7158 */ if (_t128) goto L_028E7180; else goto L_028E715C;
L_028E715C: ; // 0x28e715c
/* 028E715C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E7160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
/* 028E7164 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E7168 */ _t129 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7168 */ _t130 = _t129 & 0x00000001u;
/* 028E7168 */ if (_t130) goto L_028E717C; else goto L_028E716C;
L_028E716C: ; // 0x28e716c
/* 028E716C */ _t131 = cpu->r[4] + 0x00000000u;
/* 028E716C */ cpu->r[6] = rbrew_read8(cpu->mem, _t131);
/* 028E7170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E7174 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7174 */ _t133 = _t132 & 0x00000001u;
/* 028E7174 */ if (_t133) goto L_028E7178; else goto L_028E715C;
L_028E7178: ; // 0x28e7178
/* 028E7178 */ goto L_028E7180;
L_028E717C: ; // 0x28e717c
/* 028E717C */ cpu->r[30] = 0x00000000u;
L_028E7180: ; // 0x28e7180
/* 028E7180 */ _t134 = cpu->r[1] + 0x0000000Cu;
/* 028E7180 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134);
/* 028E7184 */ cpu->r[22] = cpu->r[30];
/* 028E7184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028E7188 */ _t135 = cpu->r[7] + 0x00000014u;
/* 028E7188 */ cpu->r[8] = rbrew_read32(cpu->mem, _t135);
/* 028E718C */ _t136 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E718C */ _t137 = _t136 & 0x00000001u;
/* 028E718C */ if (_t137) goto L_028E7190; else goto L_028E7194;
L_028E7190: ; // 0x28e7190
/* 028E7190 */ cpu->r[22] = 0x00000000u;
L_028E7194: ; // 0x28e7194
/* 028E7194 */ cpu->ctr = cpu->r[8];
/* 028E7198 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E719C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E71A0 */ _t138 = cpu->r[1] + 0x00000008u;
/* 028E71A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t138);
/* 028E71A4 */ _t139 = cpu->r[12] + 0x00000000u;
/* 028E71A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t139);
/* 028E71A8 */ cpu->r[29] = 0x00000000u;
/* 028E71AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E71B0 */ cpu->r[0] = 0x00080000u;
/* 028E71B4 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E71B4 */ _t141 = _t140 & 0x00000001u;
/* 028E71B4 */ if (_t141) goto L_028E71DC; else goto L_028E71B8;
L_028E71B8: ; // 0x28e71b8
/* 028E71B8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E71BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028E71C0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E71C4 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E71C4 */ _t143 = _t142 & 0x00000001u;
/* 028E71C4 */ if (_t143) goto L_028E71D8; else goto L_028E71C8;
L_028E71C8: ; // 0x28e71c8
/* 028E71C8 */ _t144 = cpu->r[12] + 0x00000000u;
/* 028E71C8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t144);
/* 028E71CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028E71D0 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E71D0 */ _t146 = _t145 & 0x00000001u;
/* 028E71D0 */ if (_t146) goto L_028E71D4; else goto L_028E71B8;
L_028E71D4: ; // 0x28e71d4
/* 028E71D4 */ goto L_028E71DC;
L_028E71D8: ; // 0x28e71d8
/* 028E71D8 */ cpu->r[29] = 0x00000000u;
L_028E71DC: ; // 0x28e71dc
/* 028E71DC */ _t147 = cpu->r[1] + 0x00000030u;
/* 028E71DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t147);
/* 028E71E0 */ cpu->r[12] = cpu->r[7] - cpu->r[22];
/* 028E71E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
/* 028E71E8 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E71E8 */ _t149 = _t148 & 0x00000001u;
/* 028E71E8 */ if (_t149) goto L_028E71F0; else goto L_028E71EC;
L_028E71EC: ; // 0x28e71ec
/* 028E71EC */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
L_028E71F0: ; // 0x28e71f0
/* 028E71F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E71F4 */ _t150 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E71F4 */ _t151 = _t150 & 0x00000001u;
/* 028E71F4 */ if (_t151) goto L_028E71F8; else goto L_028E73F4;
L_028E71F8: ; // 0x28e71f8
/* 028E71F8 */ _t152 = cpu->r[1] + 0x0000000Cu;
/* 028E71F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t152);
/* 028E71FC */ _t153 = cpu->r[4] + 0x00000014u;
/* 028E71FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t153);
/* 028E7200 */ cpu->ctr = cpu->r[0];
/* 028E7204 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
/* 028E7208 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E720C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7210 */ _t154 = cpu->r[1] + 0x00000008u;
/* 028E7210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t154);
/* 028E7214 */ cpu->r[6] = 0x00000000u;
/* 028E7218 */ cpu->r[5] = cpu->r[29];
/* 028E721C */ cpu->r[3] = cpu->r[21];
/* 028E7220 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E7224 */ cpu->r[0] = cpu->r[22] + cpu->r[29];
/* 028E7228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
/* 028E722C */ _t155 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E722C */ _t156 = _t155 & 0x00000001u;
/* 028E722C */ if (_t156) goto L_028E7230; else goto L_028E73F4;
L_028E7230: ; // 0x28e7230
/* 028E7230 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E7234 */ cpu->r[30] = 0x00000000u;
/* 028E7238 */ _t157 = cpu->r[23] + cpu->r[0];
/* 028E7238 */ rbrew_write8(cpu->mem, _t157, (uint8_t)cpu->r[31]);
/* 028E723C */ Gambit_fn_028E68F8(cpu);
/* 028E7240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7244 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7244 */ _t159 = _t158 & 0x00000001u;
/* 028E7244 */ if (_t159) goto L_028E7248; else goto L_028E7408;
L_028E7248: ; // 0x28e7248
/* 028E7248 */ goto L_028E7420;
L_028E724C: ; // 0x28e724c
/* 028E724C */ _t160 = cpu->r[27] + 0x00000004u;
/* 028E724C */ cpu->r[6] = rbrew_read32(cpu->mem, _t160);
/* 028E7250 */ _t161 = cpu->r[6] + 0x00000014u;
/* 028E7250 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
/* 028E7254 */ cpu->ctr = cpu->r[7];
/* 028E7258 */ _t162 = cpu->r[1] + 0x00000028u;
/* 028E7258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t162);
/* 028E725C */ cpu->r[3] = cpu->r[27];
/* 028E7260 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7264 */ _t163 = cpu->r[27] + 0x00000000u;
/* 028E7264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t163);
/* 028E7268 */ _t164 = cpu->r[10] + 0x00000000u;
/* 028E7268 */ cpu->r[8] = rbrew_read8(cpu->mem, _t164);
/* 028E726C */ cpu->r[30] = 0x00000000u;
/* 028E7270 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
/* 028E7274 */ cpu->r[11] = 0x00080000u;
/* 028E7278 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7278 */ _t166 = _t165 & 0x00000001u;
/* 028E7278 */ if (_t166) goto L_028E72A0; else goto L_028E727C;
L_028E727C: ; // 0x28e727c
/* 028E727C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E7280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028E7284 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E7288 */ _t167 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7288 */ _t168 = _t167 & 0x00000001u;
/* 028E7288 */ if (_t168) goto L_028E729C; else goto L_028E728C;
L_028E728C: ; // 0x28e728c
/* 028E728C */ _t169 = cpu->r[10] + 0x00000000u;
/* 028E728C */ cpu->r[9] = rbrew_read8(cpu->mem, _t169);
/* 028E7290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028E7294 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7294 */ _t171 = _t170 & 0x00000001u;
/* 028E7294 */ if (_t171) goto L_028E7298; else goto L_028E727C;
L_028E7298: ; // 0x28e7298
/* 028E7298 */ goto L_028E72A0;
L_028E729C: ; // 0x28e729c
/* 028E729C */ cpu->r[30] = 0x00000000u;
L_028E72A0: ; // 0x28e72a0
/* 028E72A0 */ _t172 = cpu->r[1] + 0x00000030u;
/* 028E72A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t172);
/* 028E72A4 */ _t173 = cpu->r[27] + 0x00000004u;
/* 028E72A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t173);
/* 028E72A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E72AC */ _t174 = cpu->r[12] + 0x00000014u;
/* 028E72AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
/* 028E72B0 */ _t175 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E72B0 */ _t176 = _t175 & 0x00000001u;
/* 028E72B0 */ if (_t176) goto L_028E72B8; else goto L_028E72B4;
L_028E72B4: ; // 0x28e72b4
/* 028E72B4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028E72B8: ; // 0x28e72b8
/* 028E72B8 */ cpu->ctr = cpu->r[0];
/* 028E72BC */ cpu->r[3] = cpu->r[27];
/* 028E72C0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E72C4 */ _t177 = cpu->r[27] + 0x00000000u;
/* 028E72C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t177);
/* 028E72C8 */ cpu->r[6] = 0x00000000u;
/* 028E72CC */ cpu->r[5] = cpu->r[30];
/* 028E72D0 */ cpu->r[3] = cpu->r[29];
/* 028E72D4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E72D8 */ _t178 = cpu->r[29] + cpu->r[30];
/* 028E72D8 */ rbrew_write8(cpu->mem, _t178, (uint8_t)cpu->r[31]);
/* 028E72DC */ cpu->r[11] = 0x101D0000u;
/* 028E72E0 */ _t179 = cpu->r[1] + 0x0000002Cu;
/* 028E72E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t179);
/* 028E72E4 */ _t180 = cpu->r[11] + 0xFFFF9AECu;
/* 028E72E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t180);
/* 028E72E8 */ _t181 = cpu->r[1] + 0x0000000Cu;
/* 028E72E8 */ rbrew_write32(cpu->mem, _t181, cpu->r[25]);
/* 028E72EC */ _t182 = cpu->r[1] + 0x00000008u;
/* 028E72EC */ rbrew_write32(cpu->mem, _t182, cpu->r[11]);
/* 028E72F0 */ _t183 = cpu->r[4] + 0x00000014u;
/* 028E72F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t183);
/* 028E72F4 */ cpu->ctr = cpu->r[5];
/* 028E72F8 */ _t184 = cpu->r[1] + 0x00000028u;
/* 028E72F8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t184);
/* 028E72FC */ cpu->r[3] = cpu->r[1] + 0x00000028u;
/* 028E7300 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7304 */ _t185 = cpu->r[1] + 0x00000028u;
/* 028E7304 */ cpu->r[8] = rbrew_read32(cpu->mem, _t185);
/* 028E7308 */ _t186 = cpu->r[8] + 0x00000000u;
/* 028E7308 */ cpu->r[6] = rbrew_read8(cpu->mem, _t186);
/* 028E730C */ cpu->r[30] = 0x00000000u;
/* 028E7310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E7314 */ cpu->r[9] = 0x00080000u;
/* 028E7318 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7318 */ _t188 = _t187 & 0x00000001u;
/* 028E7318 */ if (_t188) goto L_028E7340; else goto L_028E731C;
L_028E731C: ; // 0x28e731c
/* 028E731C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E7320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028E7324 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028E7328 */ _t189 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7328 */ _t190 = _t189 & 0x00000001u;
/* 028E7328 */ if (_t190) goto L_028E733C; else goto L_028E732C;
L_028E732C: ; // 0x28e732c
/* 028E732C */ _t191 = cpu->r[8] + 0x00000000u;
/* 028E732C */ cpu->r[7] = rbrew_read8(cpu->mem, _t191);
/* 028E7330 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028E7334 */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7334 */ _t193 = _t192 & 0x00000001u;
/* 028E7334 */ if (_t193) goto L_028E7338; else goto L_028E731C;
L_028E7338: ; // 0x28e7338
/* 028E7338 */ goto L_028E7340;
L_028E733C: ; // 0x28e733c
/* 028E733C */ cpu->r[30] = 0x00000000u;
L_028E7340: ; // 0x28e7340
/* 028E7340 */ _t194 = cpu->r[1] + 0x0000000Cu;
/* 028E7340 */ cpu->r[8] = rbrew_read32(cpu->mem, _t194);
/* 028E7344 */ cpu->r[22] = cpu->r[30];
/* 028E7344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028E7348 */ _t195 = cpu->r[8] + 0x00000014u;
/* 028E7348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t195);
/* 028E734C */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E734C */ _t197 = _t196 & 0x00000001u;
/* 028E734C */ if (_t197) goto L_028E7350; else goto L_028E7354;
L_028E7350: ; // 0x28e7350
/* 028E7350 */ cpu->r[22] = 0x00000000u;
L_028E7354: ; // 0x28e7354
/* 028E7354 */ cpu->ctr = cpu->r[9];
/* 028E7358 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E735C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7360 */ _t198 = cpu->r[1] + 0x00000008u;
/* 028E7360 */ cpu->r[6] = rbrew_read32(cpu->mem, _t198);
/* 028E7364 */ _t199 = cpu->r[6] + 0x00000000u;
/* 028E7364 */ cpu->r[0] = rbrew_read8(cpu->mem, _t199);
/* 028E7368 */ cpu->r[7] = 0x00080000u;
/* 028E736C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7370 */ cpu->r[29] = 0x00000000u;
/* 028E7374 */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7374 */ _t201 = _t200 & 0x00000001u;
/* 028E7374 */ if (_t201) goto L_028E739C; else goto L_028E7378;
L_028E7378: ; // 0x28e7378
/* 028E7378 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E737C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
/* 028E7380 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028E7384 */ _t202 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7384 */ _t203 = _t202 & 0x00000001u;
/* 028E7384 */ if (_t203) goto L_028E7398; else goto L_028E7388;
L_028E7388: ; // 0x28e7388
/* 028E7388 */ _t204 = cpu->r[6] + 0x00000000u;
/* 028E7388 */ cpu->r[0] = rbrew_read8(cpu->mem, _t204);
/* 028E738C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7390 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7390 */ _t206 = _t205 & 0x00000001u;
/* 028E7390 */ if (_t206) goto L_028E7394; else goto L_028E7378;
L_028E7394: ; // 0x28e7394
/* 028E7394 */ goto L_028E739C;
L_028E7398: ; // 0x28e7398
/* 028E7398 */ cpu->r[29] = 0x00000000u;
L_028E739C: ; // 0x28e739c
/* 028E739C */ _t207 = cpu->r[1] + 0x00000030u;
/* 028E739C */ cpu->r[7] = rbrew_read32(cpu->mem, _t207);
/* 028E73A0 */ cpu->r[4] = cpu->r[7] - cpu->r[22];
/* 028E73A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
/* 028E73A8 */ _t208 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E73A8 */ _t209 = _t208 & 0x00000001u;
/* 028E73A8 */ if (_t209) goto L_028E73B0; else goto L_028E73AC;
L_028E73AC: ; // 0x28e73ac
/* 028E73AC */ cpu->r[29] = cpu->r[4] + 0xFFFFFFFFu;
L_028E73B0: ; // 0x28e73b0
/* 028E73B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E73B4 */ _t210 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E73B4 */ _t211 = _t210 & 0x00000001u;
/* 028E73B4 */ if (_t211) goto L_028E73B8; else goto L_028E73F4;
L_028E73B8: ; // 0x28e73b8
/* 028E73B8 */ _t212 = cpu->r[1] + 0x0000000Cu;
/* 028E73B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t212);
/* 028E73BC */ _t213 = cpu->r[12] + 0x00000014u;
/* 028E73BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t213);
/* 028E73C0 */ cpu->ctr = cpu->r[0];
/* 028E73C4 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
/* 028E73C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E73CC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E73D0 */ _t214 = cpu->r[1] + 0x00000008u;
/* 028E73D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t214);
/* 028E73D4 */ cpu->r[6] = 0x00000000u;
/* 028E73D8 */ cpu->r[5] = cpu->r[29];
/* 028E73DC */ cpu->r[3] = cpu->r[21];
/* 028E73E0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E73E4 */ cpu->r[4] = cpu->r[22] + cpu->r[29];
/* 028E73E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[30]);
/* 028E73EC */ _t215 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E73EC */ _t216 = _t215 & 0x00000001u;
/* 028E73EC */ if (_t216) goto L_028E73F0; else goto L_028E73F4;
L_028E73F0: ; // 0x28e73f0
/* 028E73F0 */ _t217 = cpu->r[23] + cpu->r[4];
/* 028E73F0 */ rbrew_write8(cpu->mem, _t217, (uint8_t)cpu->r[31]);
L_028E73F4: ; // 0x28e73f4
/* 028E73F4 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E73F8 */ cpu->r[30] = 0x00000000u;
/* 028E73FC */ Gambit_fn_028E68F8(cpu);
/* 028E7400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7404 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7404 */ _t219 = _t218 & 0x00000001u;
/* 028E7404 */ if (_t219) goto L_028E7420; else goto L_028E7408;
L_028E7408: ; // 0x28e7408
/* 028E7408 */ _t220 = cpu->r[1] + 0x00000080u;
/* 028E7408 */ cpu->r[5] = rbrew_read32(cpu->mem, _t220);
/* 028E740C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028E7410 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7410 */ _t222 = _t221 & 0x00000001u;
/* 028E7410 */ if (_t222) goto L_028E7460; else goto L_028E7414;
L_028E7414: ; // 0x28e7414
/* 028E7414 */ _t223 = cpu->r[5] + 0x00000013u;
/* 028E7414 */ cpu->r[12] = rbrew_read8(cpu->mem, _t223);
/* 028E7418 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028E7418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E741C */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E741C */ _t225 = _t224 & 0x00000001u;
/* 028E741C */ if (_t225) goto L_028E7460; else goto L_028E7420;
L_028E7420: ; // 0x28e7420
/* 028E7420 */ _t226 = cpu->r[26] + 0x00000004u;
/* 028E7420 */ cpu->r[3] = rbrew_read32(cpu->mem, _t226);
/* 028E7424 */ cpu->r[5] = 0x00000000u;
/* 028E7428 */ _t227 = cpu->r[1] + 0x00000024u;
/* 028E7428 */ rbrew_write32(cpu->mem, _t227, cpu->r[5]);
/* 028E742C */ _t228 = cpu->r[1] + 0x00000020u;
/* 028E742C */ rbrew_write32(cpu->mem, _t228, cpu->r[5]);
/* 028E7430 */ _t229 = cpu->r[3] + 0x00000000u;
/* 028E7430 */ cpu->r[7] = rbrew_read32(cpu->mem, _t229);
/* 028E7434 */ _t230 = cpu->r[7] + 0x00000034u;
/* 028E7434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t230);
/* 028E7438 */ cpu->ctr = cpu->r[8];
/* 028E743C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
/* 028E7440 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028E7444 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E744C */ cpu->r[30] = cpu->r[3];
/* 028E7450 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7450 */ _t232 = _t231 & 0x00000001u;
/* 028E7450 */ if (_t232) goto L_028E77F4; else goto L_028E7454;
L_028E7454: ; // 0x28e7454
/* 028E7454 */ _t233 = cpu->r[1] + 0x00000024u;
/* 028E7454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t233);
/* 028E7458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E745C */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E745C */ _t235 = _t234 & 0x00000001u;
/* 028E745C */ if (_t235) goto L_028E77F4; else goto L_028E7460;
L_028E7460: ; // 0x28e7460
/* 028E7460 */ cpu->r[5] = cpu->r[24];
/* 028E7464 */ cpu->r[4] = cpu->r[30];
/* 028E7468 */ cpu->r[3] = cpu->r[28];
/* 028E746C */ Gambit_fn_028E6104(cpu);
/* 028E7470 */ cpu->r[4] = cpu->r[28];
/* 028E7474 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
/* 028E7478 */ Gambit_fn_028E6924(cpu);
/* 028E747C */ _t236 = cpu->r[27] + 0x00000004u;
/* 028E747C */ cpu->r[10] = rbrew_read32(cpu->mem, _t236);
/* 028E7480 */ _t237 = cpu->r[10] + 0x00000014u;
/* 028E7480 */ cpu->r[11] = rbrew_read32(cpu->mem, _t237);
/* 028E7484 */ cpu->ctr = cpu->r[11];
/* 028E7488 */ _t238 = cpu->r[28] + 0x00000000u;
/* 028E7488 */ cpu->r[29] = rbrew_read32(cpu->mem, _t238);
/* 028E748C */ cpu->r[3] = cpu->r[27];
/* 028E7490 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7494 */ _t239 = cpu->r[27] + 0x00000000u;
/* 028E7494 */ cpu->r[4] = rbrew_read32(cpu->mem, _t239);
/* 028E7498 */ _t240 = cpu->r[4] + 0x00000000u;
/* 028E7498 */ cpu->r[12] = rbrew_read8(cpu->mem, _t240);
/* 028E749C */ cpu->r[30] = 0x00000000u;
/* 028E74A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028E74A4 */ cpu->r[5] = 0x00080000u;
/* 028E74A8 */ _t241 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E74A8 */ _t242 = _t241 & 0x00000001u;
/* 028E74A8 */ if (_t242) goto L_028E74D0; else goto L_028E74AC;
L_028E74AC: ; // 0x28e74ac
/* 028E74AC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E74B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
/* 028E74B4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028E74B8 */ _t243 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E74B8 */ _t244 = _t243 & 0x00000001u;
/* 028E74B8 */ if (_t244) goto L_028E74CC; else goto L_028E74BC;
L_028E74BC: ; // 0x28e74bc
/* 028E74BC */ _t245 = cpu->r[4] + 0x00000000u;
/* 028E74BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t245);
/* 028E74C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E74C4 */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E74C4 */ _t247 = _t246 & 0x00000001u;
/* 028E74C4 */ if (_t247) goto L_028E74C8; else goto L_028E74AC;
L_028E74C8: ; // 0x28e74c8
/* 028E74C8 */ goto L_028E74D0;
L_028E74CC: ; // 0x28e74cc
/* 028E74CC */ cpu->r[30] = 0x00000000u;
L_028E74D0: ; // 0x28e74d0
/* 028E74D0 */ _t248 = cpu->r[28] + 0x00000008u;
/* 028E74D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t248);
/* 028E74D4 */ _t249 = cpu->r[27] + 0x00000004u;
/* 028E74D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t249);
/* 028E74D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
/* 028E74DC */ _t250 = cpu->r[4] + 0x00000014u;
/* 028E74DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t250);
/* 028E74E0 */ _t251 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E74E0 */ _t252 = _t251 & 0x00000001u;
/* 028E74E0 */ if (_t252) goto L_028E74E8; else goto L_028E74E4;
L_028E74E4: ; // 0x28e74e4
/* 028E74E4 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
L_028E74E8: ; // 0x28e74e8
/* 028E74E8 */ cpu->ctr = cpu->r[5];
/* 028E74EC */ cpu->r[3] = cpu->r[27];
/* 028E74F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E74F4 */ _t253 = cpu->r[27] + 0x00000000u;
/* 028E74F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t253);
/* 028E74F8 */ cpu->r[6] = 0x00000000u;
/* 028E74FC */ cpu->r[5] = cpu->r[30];
/* 028E7500 */ cpu->r[3] = cpu->r[29];
/* 028E7504 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E7508 */ _t254 = cpu->r[29] + cpu->r[30];
/* 028E7508 */ rbrew_write8(cpu->mem, _t254, (uint8_t)cpu->r[31]);
/* 028E750C */ _t255 = cpu->r[28] + 0x0000004Cu;
/* 028E750C */ cpu->r[11] = rbrew_read32(cpu->mem, _t255);
/* 028E7510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
/* 028E7514 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7514 */ _t257 = _t256 & 0x00000001u;
/* 028E7514 */ if (_t257) goto L_028E7518; else goto L_028E77D4;
L_028E7518: ; // 0x28e7518
/* 028E7518 */ cpu->r[9] = 0x101D0000u;
/* 028E751C */ _t258 = cpu->r[28] + 0x00000054u;
/* 028E751C */ cpu->r[29] = rbrew_read32(cpu->mem, _t258);
/* 028E7520 */ _t259 = cpu->r[9] + 0xFFFF9A84u;
/* 028E7520 */ cpu->r[9] = rbrew_read32(cpu->mem, _t259);
/* 028E7524 */ _t260 = cpu->r[9] + 0x00000030u;
/* 028E7524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t260);
/* 028E7528 */ _t261 = cpu->r[1] + 0x00000014u;
/* 028E7528 */ rbrew_write32(cpu->mem, _t261, cpu->r[25]);
/* 028E752C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E7530 */ _t262 = cpu->r[1] + 0x00000010u;
/* 028E7530 */ rbrew_write32(cpu->mem, _t262, cpu->r[0]);
/* 028E7534 */ Gambit_fn_028E794C(cpu);
/* 028E7538 */ _t263 = cpu->r[1] + 0x00000010u;
/* 028E7538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t263);
/* 028E753C */ _t264 = cpu->r[12] + 0x00000000u;
/* 028E753C */ cpu->r[6] = rbrew_read8(cpu->mem, _t264);
/* 028E7540 */ cpu->r[30] = 0x00000000u;
/* 028E7544 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E7548 */ cpu->r[0] = 0x00080000u;
/* 028E754C */ _t265 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E754C */ _t266 = _t265 & 0x00000001u;
/* 028E754C */ if (_t266) goto L_028E7574; else goto L_028E7550;
L_028E7550: ; // 0x28e7550
/* 028E7550 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E7554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028E7558 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E755C */ _t267 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E755C */ _t268 = _t267 & 0x00000001u;
/* 028E755C */ if (_t268) goto L_028E7570; else goto L_028E7560;
L_028E7560: ; // 0x28e7560
/* 028E7560 */ _t269 = cpu->r[12] + 0x00000000u;
/* 028E7560 */ cpu->r[7] = rbrew_read8(cpu->mem, _t269);
/* 028E7564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028E7568 */ _t270 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7568 */ _t271 = _t270 & 0x00000001u;
/* 028E7568 */ if (_t271) goto L_028E756C; else goto L_028E7550;
L_028E756C: ; // 0x28e756c
/* 028E756C */ goto L_028E7574;
L_028E7570: ; // 0x28e7570
/* 028E7570 */ cpu->r[30] = 0x00000000u;
L_028E7574: ; // 0x28e7574
/* 028E7574 */ _t272 = cpu->r[28] + 0x0000005Cu;
/* 028E7574 */ cpu->r[10] = rbrew_read32(cpu->mem, _t272);
/* 028E7578 */ _t273 = cpu->r[1] + 0x00000014u;
/* 028E7578 */ cpu->r[8] = rbrew_read32(cpu->mem, _t273);
/* 028E757C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
/* 028E7580 */ _t274 = cpu->r[8] + 0x00000014u;
/* 028E7580 */ cpu->r[9] = rbrew_read32(cpu->mem, _t274);
/* 028E7584 */ _t275 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7584 */ _t276 = _t275 & 0x00000001u;
/* 028E7584 */ if (_t276) goto L_028E758C; else goto L_028E7588;
L_028E7588: ; // 0x28e7588
/* 028E7588 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
L_028E758C: ; // 0x28e758c
/* 028E758C */ cpu->ctr = cpu->r[9];
/* 028E7590 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E7594 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7598 */ _t277 = cpu->r[1] + 0x00000010u;
/* 028E7598 */ cpu->r[4] = rbrew_read32(cpu->mem, _t277);
/* 028E759C */ cpu->r[6] = 0x00000000u;
/* 028E75A0 */ cpu->r[5] = cpu->r[30];
/* 028E75A4 */ cpu->r[3] = cpu->r[29];
/* 028E75A8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E75AC */ _t278 = cpu->r[29] + cpu->r[30];
/* 028E75AC */ rbrew_write8(cpu->mem, _t278, (uint8_t)cpu->r[31]);
/* 028E75B0 */ _t279 = cpu->r[28] + 0x00000058u;
/* 028E75B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t279);
/* 028E75B4 */ _t280 = cpu->r[10] + 0x00000014u;
/* 028E75B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t280);
/* 028E75B8 */ cpu->ctr = cpu->r[11];
/* 028E75BC */ _t281 = cpu->r[28] + 0x00000054u;
/* 028E75BC */ cpu->r[26] = rbrew_read32(cpu->mem, _t281);
/* 028E75C0 */ cpu->r[3] = cpu->r[28] + 0x00000054u;
/* 028E75C4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E75C8 */ _t282 = cpu->r[28] + 0x00000054u;
/* 028E75C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t282);
/* 028E75CC */ _t283 = cpu->r[10] + 0x00000000u;
/* 028E75CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t283);
/* 028E75D0 */ cpu->r[30] = 0x00000000u;
/* 028E75D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028E75D8 */ cpu->r[11] = 0x00080000u;
/* 028E75DC */ _t284 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E75DC */ _t285 = _t284 & 0x00000001u;
/* 028E75DC */ if (_t285) goto L_028E7604; else goto L_028E75E0;
L_028E75E0: ; // 0x28e75e0
/* 028E75E0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E75E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028E75E8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E75EC */ _t286 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E75EC */ _t287 = _t286 & 0x00000001u;
/* 028E75EC */ if (_t287) goto L_028E7600; else goto L_028E75F0;
L_028E75F0: ; // 0x28e75f0
/* 028E75F0 */ _t288 = cpu->r[10] + 0x00000000u;
/* 028E75F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t288);
/* 028E75F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E75F8 */ _t289 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E75F8 */ _t290 = _t289 & 0x00000001u;
/* 028E75F8 */ if (_t290) goto L_028E75FC; else goto L_028E75E0;
L_028E75FC: ; // 0x28e75fc
/* 028E75FC */ goto L_028E7604;
L_028E7600: ; // 0x28e7600
/* 028E7600 */ cpu->r[30] = 0x00000000u;
L_028E7604: ; // 0x28e7604
/* 028E7604 */ _t291 = cpu->r[27] + 0x00000004u;
/* 028E7604 */ cpu->r[4] = rbrew_read32(cpu->mem, _t291);
/* 028E7608 */ cpu->r[24] = cpu->r[30];
/* 028E7608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028E760C */ _t292 = cpu->r[4] + 0x00000014u;
/* 028E760C */ cpu->r[5] = rbrew_read32(cpu->mem, _t292);
/* 028E7610 */ _t293 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7610 */ _t294 = _t293 & 0x00000001u;
/* 028E7610 */ if (_t294) goto L_028E7614; else goto L_028E7618;
L_028E7614: ; // 0x28e7614
/* 028E7614 */ cpu->r[24] = 0x00000000u;
L_028E7618: ; // 0x28e7618
/* 028E7618 */ cpu->ctr = cpu->r[5];
/* 028E761C */ cpu->r[3] = cpu->r[27];
/* 028E7620 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7624 */ _t295 = cpu->r[27] + 0x00000000u;
/* 028E7624 */ cpu->r[8] = rbrew_read32(cpu->mem, _t295);
/* 028E7628 */ _t296 = cpu->r[8] + 0x00000000u;
/* 028E7628 */ cpu->r[0] = rbrew_read8(cpu->mem, _t296);
/* 028E762C */ cpu->r[9] = 0x00080000u;
/* 028E7630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7634 */ cpu->r[29] = 0x00000000u;
/* 028E7638 */ _t297 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7638 */ _t298 = _t297 & 0x00000001u;
/* 028E7638 */ if (_t298) goto L_028E7660; else goto L_028E763C;
L_028E763C: ; // 0x28e763c
/* 028E763C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E7640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
/* 028E7644 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028E7648 */ _t299 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7648 */ _t300 = _t299 & 0x00000001u;
/* 028E7648 */ if (_t300) goto L_028E765C; else goto L_028E764C;
L_028E764C: ; // 0x28e764c
/* 028E764C */ _t301 = cpu->r[8] + 0x00000000u;
/* 028E764C */ cpu->r[7] = rbrew_read8(cpu->mem, _t301);
/* 028E7650 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028E7654 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7654 */ _t303 = _t302 & 0x00000001u;
/* 028E7654 */ if (_t303) goto L_028E7658; else goto L_028E763C;
L_028E7658: ; // 0x28e7658
/* 028E7658 */ goto L_028E7660;
L_028E765C: ; // 0x28e765c
/* 028E765C */ cpu->r[29] = 0x00000000u;
L_028E7660: ; // 0x28e7660
/* 028E7660 */ _t304 = cpu->r[28] + 0x0000005Cu;
/* 028E7660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t304);
/* 028E7664 */ cpu->r[6] = cpu->r[10] - cpu->r[24];
/* 028E7668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
/* 028E766C */ _t305 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E766C */ _t306 = _t305 & 0x00000001u;
/* 028E766C */ if (_t306) goto L_028E7674; else goto L_028E7670;
L_028E7670: ; // 0x28e7670
/* 028E7670 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
L_028E7674: ; // 0x28e7674
/* 028E7674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E7678 */ _t307 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7678 */ _t308 = _t307 & 0x00000001u;
/* 028E7678 */ if (_t308) goto L_028E767C; else goto L_028E76B8;
L_028E767C: ; // 0x28e767c
/* 028E767C */ _t309 = cpu->r[27] + 0x00000004u;
/* 028E767C */ cpu->r[8] = rbrew_read32(cpu->mem, _t309);
/* 028E7680 */ _t310 = cpu->r[8] + 0x00000014u;
/* 028E7680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t310);
/* 028E7684 */ cpu->ctr = cpu->r[9];
/* 028E7688 */ cpu->r[23] = cpu->r[26] + cpu->r[24];
/* 028E768C */ cpu->r[3] = cpu->r[27];
/* 028E7690 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7694 */ _t311 = cpu->r[27] + 0x00000000u;
/* 028E7694 */ cpu->r[4] = rbrew_read32(cpu->mem, _t311);
/* 028E7698 */ cpu->r[6] = 0x00000000u;
/* 028E769C */ cpu->r[5] = cpu->r[29];
/* 028E76A0 */ cpu->r[3] = cpu->r[23];
/* 028E76A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E76A8 */ cpu->r[5] = cpu->r[24] + cpu->r[29];
/* 028E76AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[30]);
/* 028E76B0 */ _t312 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E76B0 */ _t313 = _t312 & 0x00000001u;
/* 028E76B0 */ if (_t313) goto L_028E76B4; else goto L_028E76B8;
L_028E76B4: ; // 0x28e76b4
/* 028E76B4 */ _t314 = cpu->r[26] + cpu->r[5];
/* 028E76B4 */ rbrew_write8(cpu->mem, _t314, (uint8_t)cpu->r[31]);
L_028E76B8: ; // 0x28e76b8
/* 028E76B8 */ _t315 = cpu->r[28] + 0x00000058u;
/* 028E76B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t315);
/* 028E76BC */ cpu->r[8] = 0x101D0000u;
/* 028E76C0 */ _t316 = cpu->r[8] + 0xFFFF9AF0u;
/* 028E76C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t316);
/* 028E76C4 */ _t317 = cpu->r[1] + 0x00000014u;
/* 028E76C4 */ rbrew_write32(cpu->mem, _t317, cpu->r[25]);
/* 028E76C8 */ _t318 = cpu->r[1] + 0x00000010u;
/* 028E76C8 */ rbrew_write32(cpu->mem, _t318, cpu->r[8]);
/* 028E76CC */ _t319 = cpu->r[10] + 0x00000014u;
/* 028E76CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t319);
/* 028E76D0 */ cpu->ctr = cpu->r[11];
/* 028E76D4 */ _t320 = cpu->r[28] + 0x00000054u;
/* 028E76D4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t320);
/* 028E76D8 */ cpu->r[3] = cpu->r[28] + 0x00000054u;
/* 028E76DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E76E0 */ _t321 = cpu->r[28] + 0x00000054u;
/* 028E76E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t321);
/* 028E76E4 */ _t322 = cpu->r[6] + 0x00000000u;
/* 028E76E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t322);
/* 028E76E8 */ cpu->r[30] = 0x00000000u;
/* 028E76EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028E76F0 */ cpu->r[7] = 0x00080000u;
/* 028E76F4 */ _t323 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E76F4 */ _t324 = _t323 & 0x00000001u;
/* 028E76F4 */ if (_t324) goto L_028E771C; else goto L_028E76F8;
L_028E76F8: ; // 0x28e76f8
/* 028E76F8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E76FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E7700 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028E7704 */ _t325 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7704 */ _t326 = _t325 & 0x00000001u;
/* 028E7704 */ if (_t326) goto L_028E7718; else goto L_028E7708;
L_028E7708: ; // 0x28e7708
/* 028E7708 */ _t327 = cpu->r[6] + 0x00000000u;
/* 028E7708 */ cpu->r[0] = rbrew_read8(cpu->mem, _t327);
/* 028E770C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7710 */ _t328 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7710 */ _t329 = _t328 & 0x00000001u;
/* 028E7710 */ if (_t329) goto L_028E7714; else goto L_028E76F8;
L_028E7714: ; // 0x28e7714
/* 028E7714 */ goto L_028E771C;
L_028E7718: ; // 0x28e7718
/* 028E7718 */ cpu->r[30] = 0x00000000u;
L_028E771C: ; // 0x28e771c
/* 028E771C */ _t330 = cpu->r[1] + 0x00000014u;
/* 028E771C */ cpu->r[4] = rbrew_read32(cpu->mem, _t330);
/* 028E7720 */ cpu->r[25] = cpu->r[30];
/* 028E7720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028E7724 */ _t331 = cpu->r[4] + 0x00000014u;
/* 028E7724 */ cpu->r[5] = rbrew_read32(cpu->mem, _t331);
/* 028E7728 */ _t332 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7728 */ _t333 = _t332 & 0x00000001u;
/* 028E7728 */ if (_t333) goto L_028E772C; else goto L_028E7730;
L_028E772C: ; // 0x28e772c
/* 028E772C */ cpu->r[25] = 0x00000000u;
L_028E7730: ; // 0x28e7730
/* 028E7730 */ cpu->ctr = cpu->r[5];
/* 028E7734 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E7738 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E773C */ _t334 = cpu->r[1] + 0x00000010u;
/* 028E773C */ cpu->r[12] = rbrew_read32(cpu->mem, _t334);
/* 028E7740 */ _t335 = cpu->r[12] + 0x00000000u;
/* 028E7740 */ cpu->r[6] = rbrew_read8(cpu->mem, _t335);
/* 028E7744 */ cpu->r[5] = 0x00080000u;
/* 028E7748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E774C */ cpu->r[29] = 0x00000000u;
/* 028E7750 */ _t336 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7750 */ _t337 = _t336 & 0x00000001u;
/* 028E7750 */ if (_t337) goto L_028E7778; else goto L_028E7754;
L_028E7754: ; // 0x28e7754
/* 028E7754 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E7758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
/* 028E775C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E7760 */ _t338 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7760 */ _t339 = _t338 & 0x00000001u;
/* 028E7760 */ if (_t339) goto L_028E7774; else goto L_028E7764;
L_028E7764: ; // 0x28e7764
/* 028E7764 */ _t340 = cpu->r[12] + 0x00000000u;
/* 028E7764 */ cpu->r[7] = rbrew_read8(cpu->mem, _t340);
/* 028E7768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028E776C */ _t341 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E776C */ _t342 = _t341 & 0x00000001u;
/* 028E776C */ if (_t342) goto L_028E7770; else goto L_028E7754;
L_028E7770: ; // 0x28e7770
/* 028E7770 */ goto L_028E7778;
L_028E7774: ; // 0x28e7774
/* 028E7774 */ cpu->r[29] = 0x00000000u;
L_028E7778: ; // 0x28e7778
/* 028E7778 */ _t343 = cpu->r[28] + 0x0000005Cu;
/* 028E7778 */ cpu->r[10] = rbrew_read32(cpu->mem, _t343);
/* 028E777C */ cpu->r[7] = cpu->r[10] - cpu->r[25];
/* 028E7780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
/* 028E7784 */ _t344 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7784 */ _t345 = _t344 & 0x00000001u;
/* 028E7784 */ if (_t345) goto L_028E778C; else goto L_028E7788;
L_028E7788: ; // 0x28e7788
/* 028E7788 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
L_028E778C: ; // 0x28e778c
/* 028E778C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E7790 */ _t346 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7790 */ _t347 = _t346 & 0x00000001u;
/* 028E7790 */ if (_t347) goto L_028E7794; else goto L_028E77D0;
L_028E7794: ; // 0x28e7794
/* 028E7794 */ _t348 = cpu->r[1] + 0x00000014u;
/* 028E7794 */ cpu->r[8] = rbrew_read32(cpu->mem, _t348);
/* 028E7798 */ _t349 = cpu->r[8] + 0x00000014u;
/* 028E7798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t349);
/* 028E779C */ cpu->ctr = cpu->r[9];
/* 028E77A0 */ cpu->r[26] = cpu->r[27] + cpu->r[25];
/* 028E77A4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028E77A8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E77AC */ _t350 = cpu->r[1] + 0x00000010u;
/* 028E77AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t350);
/* 028E77B0 */ cpu->r[6] = 0x00000000u;
/* 028E77B4 */ cpu->r[5] = cpu->r[29];
/* 028E77B8 */ cpu->r[3] = cpu->r[26];
/* 028E77BC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E77C0 */ cpu->r[6] = cpu->r[25] + cpu->r[29];
/* 028E77C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[30]);
/* 028E77C8 */ _t351 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E77C8 */ _t352 = _t351 & 0x00000001u;
/* 028E77C8 */ if (_t352) goto L_028E77CC; else goto L_028E77D0;
L_028E77CC: ; // 0x28e77cc
/* 028E77CC */ _t353 = cpu->r[27] + cpu->r[6];
/* 028E77CC */ rbrew_write8(cpu->mem, _t353, (uint8_t)cpu->r[31]);
L_028E77D0: ; // 0x28e77d0
/* 028E77D0 */ _t354 = cpu->r[28] + 0x0000004Cu;
/* 028E77D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t354);
L_028E77D4: ; // 0x28e77d4
/* 028E77D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028E77D8 */ _t355 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E77D8 */ _t356 = _t355 & 0x00000001u;
/* 028E77D8 */ if (_t356) goto L_028E77DC; else goto L_028E780C;
L_028E77DC: ; // 0x28e77dc
/* 028E77DC */ _t357 = cpu->r[28] + 0x00000050u;
/* 028E77DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t357);
/* 028E77E0 */ cpu->r[4] = 0x46570000u;
/* 028E77E4 */ _t358 = cpu->r[10] + 0x00000000u;
/* 028E77E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t358);
/* 028E77E8 */ cpu->r[4] = cpu->r[4] + 0x00004156u;
/* 028E77EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
/* 028E77F0 */ _t359 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E77F0 */ _t360 = _t359 & 0x00000001u;
/* 028E77F0 */ if (_t360) goto L_028E780C; else goto L_028E77F4;
L_028E77F4: ; // 0x28e77f4
/* 028E77F4 */ /* nop */
/* 028E77F8 */ _t361 = cpu->r[1] + 0x0000011Cu;
/* 028E77F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t361);
/* 028E77FC */ cpu->lr = cpu->r[0];
/* 028E7800 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028E7804 */ cpu->r[3] = 0x00000000u;
/* 028E7808 */ return;
L_028E780C: ; // 0x28e780c
/* 028E780C */ /* nop */
/* 028E7810 */ _t362 = cpu->r[1] + 0x0000011Cu;
/* 028E7810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t362);
/* 028E7814 */ cpu->lr = cpu->r[0];
/* 028E7818 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028E781C */ cpu->r[3] = 0x00000001u;
/* 028E7820 */ return;
}
// fn_028E7824 @ 0x28e7824
void Gambit_fn_028E7824(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028E7824: ; // 0x28e7824
/* 028E7824 */ cpu->r[0] = cpu->lr;
/* 028E7828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E7828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7828 */ cpu->r[1] = _t0;
/* 028E782C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E782C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E7830 */ cpu->r[31] = 0x101F0000u;
/* 028E7834 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E7834 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E7838 */ cpu->r[0] = 0x00000000u;
/* 028E783C */ _t3 = cpu->r[31] + 0x000071DCu;
/* 028E783C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E783C */ cpu->r[31] = _t3;
/* 028E7840 */ _t4 = cpu->r[31] + 0x00000004u;
/* 028E7840 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E7844 */ _t5 = cpu->r[31] + 0x00000008u;
/* 028E7844 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028E7848 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028E784C */ _t6 = cpu->r[31] + 0x0000000Cu;
/* 028E784C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E7850 */ Gambit_fn_02821D00(cpu);
/* 028E7854 */ cpu->r[12] = 0x10110000u;
/* 028E7858 */ cpu->r[0] = cpu->r[31] + 0x0000002Cu;
/* 028E785C */ _t7 = cpu->r[12] + 0x00007399u;
/* 028E785C */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
/* 028E7860 */ cpu->r[11] = 0x10140000u;
/* 028E7864 */ _t8 = cpu->r[31] + 0x0000004Bu;
/* 028E7864 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
/* 028E7868 */ cpu->r[10] = 0x10140000u;
/* 028E786C */ _t9 = cpu->r[31] + 0x0000002Cu;
/* 028E786C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
/* 028E7870 */ cpu->r[9] = 0x00000020u;
/* 028E7874 */ _t10 = cpu->r[31] + 0x00000020u;
/* 028E7874 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028E7878 */ cpu->r[10] = cpu->r[10] + 0xFFFFB99Cu;
/* 028E787C */ _t11 = cpu->r[31] + 0x00000028u;
/* 028E787C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
/* 028E7880 */ cpu->r[11] = cpu->r[11] + 0xFFFFBA04u;
/* 028E7884 */ _t12 = cpu->r[31] + 0x00000024u;
/* 028E7884 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
/* 028E7888 */ cpu->r[0] = 0x10140000u;
/* 028E788C */ cpu->r[3] = 0x101D0000u;
/* 028E7890 */ _t13 = cpu->r[31] + 0x0000004Cu;
/* 028E7890 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028E7894 */ cpu->r[0] = cpu->r[0] + 0xFFFFBA44u;
/* 028E7898 */ cpu->r[3] = cpu->r[3] + 0xFFFF9AF8u;
/* 028E789C */ _t14 = cpu->r[31] + 0x0000001Cu;
/* 028E789C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028E78A0 */ Gambit_fn_02C83090(cpu);
/* 028E78A4 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028E78A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E78A8 */ cpu->lr = cpu->r[0];
/* 028E78AC */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E78AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E78B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E78B4 */ return;
}
// fn_028E7828 @ 0x28e7828
void Gambit_fn_028E7828(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028E7828: ; // 0x28e7828
/* 028E7828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E7828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7828 */ cpu->r[1] = _t0;
/* 028E782C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E782C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E7830 */ cpu->r[31] = 0x101F0000u;
/* 028E7834 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E7834 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E7838 */ cpu->r[0] = 0x00000000u;
/* 028E783C */ _t3 = cpu->r[31] + 0x000071DCu;
/* 028E783C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E783C */ cpu->r[31] = _t3;
/* 028E7840 */ _t4 = cpu->r[31] + 0x00000004u;
/* 028E7840 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E7844 */ _t5 = cpu->r[31] + 0x00000008u;
/* 028E7844 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028E7848 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028E784C */ _t6 = cpu->r[31] + 0x0000000Cu;
/* 028E784C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E7850 */ Gambit_fn_02821D00(cpu);
/* 028E7854 */ cpu->r[12] = 0x10110000u;
/* 028E7858 */ cpu->r[0] = cpu->r[31] + 0x0000002Cu;
/* 028E785C */ _t7 = cpu->r[12] + 0x00007399u;
/* 028E785C */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
/* 028E7860 */ cpu->r[11] = 0x10140000u;
/* 028E7864 */ _t8 = cpu->r[31] + 0x0000004Bu;
/* 028E7864 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
/* 028E7868 */ cpu->r[10] = 0x10140000u;
/* 028E786C */ _t9 = cpu->r[31] + 0x0000002Cu;
/* 028E786C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
/* 028E7870 */ cpu->r[9] = 0x00000020u;
/* 028E7874 */ _t10 = cpu->r[31] + 0x00000020u;
/* 028E7874 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028E7878 */ cpu->r[10] = cpu->r[10] + 0xFFFFB99Cu;
/* 028E787C */ _t11 = cpu->r[31] + 0x00000028u;
/* 028E787C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
/* 028E7880 */ cpu->r[11] = cpu->r[11] + 0xFFFFBA04u;
/* 028E7884 */ _t12 = cpu->r[31] + 0x00000024u;
/* 028E7884 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
/* 028E7888 */ cpu->r[0] = 0x10140000u;
/* 028E788C */ cpu->r[3] = 0x101D0000u;
/* 028E7890 */ _t13 = cpu->r[31] + 0x0000004Cu;
/* 028E7890 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028E7894 */ cpu->r[0] = cpu->r[0] + 0xFFFFBA44u;
/* 028E7898 */ cpu->r[3] = cpu->r[3] + 0xFFFF9AF8u;
/* 028E789C */ _t14 = cpu->r[31] + 0x0000001Cu;
/* 028E789C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028E78A0 */ Gambit_fn_02C83090(cpu);
/* 028E78A4 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028E78A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E78A8 */ cpu->lr = cpu->r[0];
/* 028E78AC */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E78AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E78B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E78B4 */ return;
}
// fn_028E78B8 @ 0x28e78b8
void Gambit_fn_028E78B8(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_028E78B8: ; // 0x28e78b8
/* 028E78B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E78BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E78BC */ _t17 = _t16 & 0x00000001u;
/* 028E78BC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E78BC */ goto L_028E78C0;
L_028E78C0: ; // 0x28e78c0
/* 028E78C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E78C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E78C4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E78C4 */ _t19 = _t18 & 0x00000001u;
/* 028E78C4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E78C4 */ goto L_028E78C8;
L_028E78C8: ; // 0x28e78c8
/* 028E78C8 */ goto L_02801BB0;
}
// fn_028E78CC @ 0x28e78cc
void Gambit_fn_028E78CC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028E78CC: ; // 0x28e78cc
/* 028E78CC */ cpu->r[0] = cpu->lr;
/* 028E78D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E78D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E78D0 */ cpu->r[1] = _t0;
/* 028E78D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E78D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E78D8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E78D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E78DC */ cpu->r[30] = cpu->r[3];
/* 028E78DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E78E0 */ cpu->r[31] = cpu->r[4];
/* 028E78E4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E78E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E78E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E78E8 */ _t5 = _t4 & 0x00000001u;
/* 028E78E8 */ if (_t5) goto L_028E7934; else goto L_028E78EC;
L_028E78EC: ; // 0x28e78ec
/* 028E78EC */ cpu->r[0] = 0x10140000u;
/* 028E78F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E78F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFBA44u;
/* 028E78F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E78F8 */ _t7 = _t6 & 0x00000001u;
/* 028E78F8 */ if (_t7) goto L_028E78FC; else goto L_028E790C;
L_028E78FC: ; // 0x28e78fc
/* 028E78FC */ _t8 = cpu->r[30] + 0x0000001Cu;
/* 028E78FC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E7900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7904 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7904 */ _t10 = _t9 & 0x00000001u;
/* 028E7904 */ if (_t10) goto L_028E7934; else goto L_028E7908;
L_028E7908: ; // 0x28e7908
/* 028E7908 */ goto L_028E792C;
L_028E790C: ; // 0x28e790c
/* 028E790C */ cpu->r[11] = 0x10130000u;
/* 028E7910 */ cpu->r[3] = cpu->r[30];
/* 028E7914 */ cpu->r[11] = cpu->r[11] + 0xFFFFE164u;
/* 028E7918 */ cpu->r[4] = 0x00000000u;
/* 028E791C */ _t11 = cpu->r[30] + 0x0000001Cu;
/* 028E791C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028E7920 */ Gambit_fn_02830340(cpu);
/* 028E7924 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7928 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7928 */ _t13 = _t12 & 0x00000001u;
/* 028E7928 */ if (_t13) goto L_028E7934; else goto L_028E792C;
L_028E792C: ; // 0x28e792c
/* 028E792C */ cpu->r[3] = cpu->r[30];
/* 028E7930 */ Gambit_fn_02801BB0(cpu);
L_028E7934: ; // 0x28e7934
/* 028E7934 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028E7934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E7938 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028E7938 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028E793C */ cpu->lr = cpu->r[0];
/* 028E7940 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E7940 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E7944 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E7948 */ return;
}
// fn_028E78D0 @ 0x28e78d0
void Gambit_fn_028E78D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028E78D0: ; // 0x28e78d0
/* 028E78D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E78D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E78D0 */ cpu->r[1] = _t0;
/* 028E78D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E78D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E78D8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E78D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E78DC */ cpu->r[30] = cpu->r[3];
/* 028E78DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E78E0 */ cpu->r[31] = cpu->r[4];
/* 028E78E4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E78E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E78E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E78E8 */ _t5 = _t4 & 0x00000001u;
/* 028E78E8 */ if (_t5) goto L_028E7934; else goto L_028E78EC;
L_028E78EC: ; // 0x28e78ec
/* 028E78EC */ cpu->r[0] = 0x10140000u;
/* 028E78F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E78F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFBA44u;
/* 028E78F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E78F8 */ _t7 = _t6 & 0x00000001u;
/* 028E78F8 */ if (_t7) goto L_028E78FC; else goto L_028E790C;
L_028E78FC: ; // 0x28e78fc
/* 028E78FC */ _t8 = cpu->r[30] + 0x0000001Cu;
/* 028E78FC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E7900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7904 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7904 */ _t10 = _t9 & 0x00000001u;
/* 028E7904 */ if (_t10) goto L_028E7934; else goto L_028E7908;
L_028E7908: ; // 0x28e7908
/* 028E7908 */ goto L_028E792C;
L_028E790C: ; // 0x28e790c
/* 028E790C */ cpu->r[11] = 0x10130000u;
/* 028E7910 */ cpu->r[3] = cpu->r[30];
/* 028E7914 */ cpu->r[11] = cpu->r[11] + 0xFFFFE164u;
/* 028E7918 */ cpu->r[4] = 0x00000000u;
/* 028E791C */ _t11 = cpu->r[30] + 0x0000001Cu;
/* 028E791C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028E7920 */ Gambit_fn_02830340(cpu);
/* 028E7924 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7928 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7928 */ _t13 = _t12 & 0x00000001u;
/* 028E7928 */ if (_t13) goto L_028E7934; else goto L_028E792C;
L_028E792C: ; // 0x28e792c
/* 028E792C */ cpu->r[3] = cpu->r[30];
/* 028E7930 */ Gambit_fn_02801BB0(cpu);
L_028E7934: ; // 0x28e7934
/* 028E7934 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028E7934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E7938 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028E7938 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028E793C */ cpu->lr = cpu->r[0];
/* 028E7940 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028E7940 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E7944 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E7948 */ return;
}
// fn_028E794C @ 0x28e794c
void Gambit_fn_028E794C(CPUState* cpu) {
L_028E794C: ; // 0x28e794c
/* 028E794C */ return;
}
// fn_028E7950 @ 0x28e7950
void Gambit_fn_028E7950(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_028E7950: ; // 0x28e7950
/* 028E7950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7954 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7954 */ _t17 = _t16 & 0x00000001u;
/* 028E7954 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7954 */ goto L_028E7958;
L_028E7958: ; // 0x28e7958
/* 028E7958 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E795C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E795C */ _t19 = _t18 & 0x00000001u;
/* 028E795C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E795C */ goto L_028E7960;
L_028E7960: ; // 0x28e7960
/* 028E7960 */ goto L_02801BB0;
}
// fn_028E7964 @ 0x28e7964
void Gambit_fn_028E7964(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E7964: ; // 0x28e7964
/* 028E7964 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028E7964 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028E7968 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028E7968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028E796C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028E7970 */ cpu->r[11] = 0x10110000u;
/* 028E7974 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028E7974 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028E7978 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028E7978 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028E797C */ return;
}
// fn_028E7980 @ 0x28e7980
void Gambit_fn_028E7980(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_028E7980: ; // 0x28e7980
/* 028E7980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7984 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7984 */ _t17 = _t16 & 0x00000001u;
/* 028E7984 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7984 */ goto L_028E7988;
L_028E7988: ; // 0x28e7988
/* 028E7988 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E798C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E798C */ _t19 = _t18 & 0x00000001u;
/* 028E798C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E798C */ goto L_028E7990;
L_028E7990: ; // 0x28e7990
/* 028E7990 */ goto L_02801BB0;
}
// fn_028E7994 @ 0x28e7994
void Gambit_fn_028E7994(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_028E7994: ; // 0x28e7994
/* 028E7994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7998 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7998 */ _t17 = _t16 & 0x00000001u;
/* 028E7998 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7998 */ goto L_028E799C;
L_028E799C: ; // 0x28e799c
/* 028E799C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E799C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E79A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E79A0 */ _t19 = _t18 & 0x00000001u;
/* 028E79A0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E79A0 */ goto L_028E79A4;
L_028E79A4: ; // 0x28e79a4
/* 028E79A4 */ goto L_02801BB0;
}
// fn_028E79A8 @ 0x28e79a8
void Gambit_fn_028E79A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028E79A8: ; // 0x28e79a8
/* 028E79A8 */ cpu->r[0] = cpu->lr;
/* 028E79AC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E79AC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E79B0 */ cpu->r[3] = 0x00000034u;
/* 028E79B4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E79B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E79B4 */ cpu->r[1] = _t1;
/* 028E79B8 */ Gambit_fn_02801AC8(cpu);
/* 028E79BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E79C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E79C0 */ _t3 = _t2 & 0x00000001u;
/* 028E79C0 */ if (_t3) goto L_028E79C8; else goto L_028E79C4;
L_028E79C4: ; // 0x28e79c4
/* 028E79C4 */ Gambit_fn_02831354(cpu);
L_028E79C8: ; // 0x28e79c8
/* 028E79C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028E79C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028E79CC */ cpu->lr = cpu->r[0];
/* 028E79D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E79D4 */ return;
}
// fn_028E79B4 @ 0x28e79b4
void Gambit_fn_028E79B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E79B4: ; // 0x28e79b4
/* 028E79B4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E79B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E79B4 */ cpu->r[1] = _t0;
/* 028E79B8 */ Gambit_fn_02801AC8(cpu);
/* 028E79BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E79C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E79C0 */ _t2 = _t1 & 0x00000001u;
/* 028E79C0 */ if (_t2) goto L_028E79C8; else goto L_028E79C4;
L_028E79C4: ; // 0x28e79c4
/* 028E79C4 */ Gambit_fn_02831354(cpu);
L_028E79C8: ; // 0x28e79c8
/* 028E79C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E79C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E79CC */ cpu->lr = cpu->r[0];
/* 028E79D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E79D4 */ return;
}
// fn_028E79D8 @ 0x28e79d8
void Gambit_fn_028E79D8(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_028E79D8: ; // 0x28e79d8
/* 028E79D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E79DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E79DC */ _t17 = _t16 & 0x00000001u;
/* 028E79DC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E79DC */ goto L_028E79E0;
L_028E79E0: ; // 0x28e79e0
/* 028E79E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E79E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E79E4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E79E4 */ _t19 = _t18 & 0x00000001u;
/* 028E79E4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E79E4 */ goto L_028E79E8;
L_028E79E8: ; // 0x28e79e8
/* 028E79E8 */ goto L_02801BB0;
}
// fn_028E79EC @ 0x28e79ec
void Gambit_fn_028E79EC(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_028E79EC: ; // 0x28e79ec
/* 028E79EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E79F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E79F0 */ _t17 = _t16 & 0x00000001u;
/* 028E79F0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E79F0 */ goto L_028E79F4;
L_028E79F4: ; // 0x28e79f4
/* 028E79F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E79F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E79F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E79F8 */ _t19 = _t18 & 0x00000001u;
/* 028E79F8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E79F8 */ goto L_028E79FC;
L_028E79FC: ; // 0x28e79fc
/* 028E79FC */ goto L_02801BB0;
}
// fn_028E7A00 @ 0x28e7a00
void Gambit_fn_028E7A00(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_028E7A00: ; // 0x28e7a00
/* 028E7A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A04 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A04 */ _t17 = _t16 & 0x00000001u;
/* 028E7A04 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7A04 */ goto L_028E7A08;
L_028E7A08: ; // 0x28e7a08
/* 028E7A08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7A0C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A0C */ _t19 = _t18 & 0x00000001u;
/* 028E7A0C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7A0C */ goto L_028E7A10;
L_028E7A10: ; // 0x28e7a10
/* 028E7A10 */ goto L_02801BB0;
}
// fn_028E7A14 @ 0x28e7a14
void Gambit_fn_028E7A14(CPUState* cpu) {
uint32_t _t0, _t1, _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_028E7A14: ; // 0x28e7a14
/* 028E7A14 */ cpu->r[0] = cpu->lr;
/* 028E7A18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E7A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7A18 */ cpu->r[1] = _t0;
/* 028E7A1C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E7A1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E7A20 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E7A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E7A24 */ cpu->r[31] = cpu->r[3];
/* 028E7A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7A28 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E7A28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E7A2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A2C */ _t5 = _t4 & 0x00000001u;
/* 028E7A2C */ if (_t5) goto L_028E7A30; else goto L_028E7A40;
L_028E7A30: ; // 0x28e7a30
/* 028E7A30 */ cpu->r[3] = 0x0000001Cu;
/* 028E7A34 */ Gambit_fn_02801A78(cpu);
/* 028E7A38 */ cpu->r[31] = cpu->r[3];
/* 028E7A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7A3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A3C */ _t7 = _t6 & 0x00000001u;
/* 028E7A3C */ if (_t7) goto L_028E7A98; else goto L_028E7A40;
L_028E7A40: ; // 0x28e7a40
/* 028E7A40 */ cpu->r[30] = 0x00000000u;
/* 028E7A44 */ cpu->r[0] = 0x10140000u;
/* 028E7A48 */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028E7A48 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028E7A4C */ cpu->r[0] = cpu->r[0] + 0xFFFFBA9Cu;
/* 028E7A50 */ _t9 = cpu->r[31] + 0x00000008u;
/* 028E7A50 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
/* 028E7A54 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028E7A54 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028E7A58 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028E7A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A5C */ _t11 = cpu->r[31] + 0x00000004u;
/* 028E7A5C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
/* 028E7A60 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A60 */ _t13 = _t12 & 0x00000001u;
/* 028E7A60 */ if (_t13) goto L_028E7A64; else goto L_028E7A74;
L_028E7A64: ; // 0x28e7a64
/* 028E7A64 */ cpu->r[3] = 0x0000000Cu;
/* 028E7A68 */ Gambit_fn_02801A78(cpu);
/* 028E7A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A70 */ _t15 = _t14 & 0x00000001u;
/* 028E7A70 */ if (_t15) goto L_028E7A98; else goto L_028E7A74;
L_028E7A74: ; // 0x28e7a74
/* 028E7A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A78 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A78 */ _t17 = _t16 & 0x00000001u;
/* 028E7A78 */ if (_t17) goto L_028E7A7C; else goto L_028E7A8C;
L_028E7A7C: ; // 0x28e7a7c
/* 028E7A7C */ cpu->r[3] = 0x0000000Cu;
/* 028E7A80 */ Gambit_fn_02801A78(cpu);
/* 028E7A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A88 */ _t19 = _t18 & 0x00000001u;
/* 028E7A88 */ if (_t19) goto L_028E7A98; else goto L_028E7A8C;
L_028E7A8C: ; // 0x28e7a8c
/* 028E7A8C */ _t20 = cpu->r[3] + 0x00000004u;
/* 028E7A8C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028E7A90 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028E7A90 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E7A94 */ _t22 = cpu->r[3] + 0x00000008u;
/* 028E7A94 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
L_028E7A98: ; // 0x28e7a98
/* 028E7A98 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028E7A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028E7A9C */ cpu->r[3] = cpu->r[31];
/* 028E7AA0 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E7AA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028E7AA4 */ cpu->lr = cpu->r[0];
/* 028E7AA8 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E7AA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028E7AAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E7AB0 */ return;
}
// fn_028E7A18 @ 0x28e7a18
void Gambit_fn_028E7A18(CPUState* cpu) {
uint32_t _t0, _t1, _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_028E7A18: ; // 0x28e7a18
/* 028E7A18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E7A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7A18 */ cpu->r[1] = _t0;
/* 028E7A1C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E7A1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E7A20 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E7A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E7A24 */ cpu->r[31] = cpu->r[3];
/* 028E7A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7A28 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E7A28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E7A2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A2C */ _t5 = _t4 & 0x00000001u;
/* 028E7A2C */ if (_t5) goto L_028E7A30; else goto L_028E7A40;
L_028E7A30: ; // 0x28e7a30
/* 028E7A30 */ cpu->r[3] = 0x0000001Cu;
/* 028E7A34 */ Gambit_fn_02801A78(cpu);
/* 028E7A38 */ cpu->r[31] = cpu->r[3];
/* 028E7A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7A3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A3C */ _t7 = _t6 & 0x00000001u;
/* 028E7A3C */ if (_t7) goto L_028E7A98; else goto L_028E7A40;
L_028E7A40: ; // 0x28e7a40
/* 028E7A40 */ cpu->r[30] = 0x00000000u;
/* 028E7A44 */ cpu->r[0] = 0x10140000u;
/* 028E7A48 */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028E7A48 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028E7A4C */ cpu->r[0] = cpu->r[0] + 0xFFFFBA9Cu;
/* 028E7A50 */ _t9 = cpu->r[31] + 0x00000008u;
/* 028E7A50 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
/* 028E7A54 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028E7A54 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028E7A58 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028E7A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A5C */ _t11 = cpu->r[31] + 0x00000004u;
/* 028E7A5C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
/* 028E7A60 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A60 */ _t13 = _t12 & 0x00000001u;
/* 028E7A60 */ if (_t13) goto L_028E7A64; else goto L_028E7A74;
L_028E7A64: ; // 0x28e7a64
/* 028E7A64 */ cpu->r[3] = 0x0000000Cu;
/* 028E7A68 */ Gambit_fn_02801A78(cpu);
/* 028E7A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A70 */ _t15 = _t14 & 0x00000001u;
/* 028E7A70 */ if (_t15) goto L_028E7A98; else goto L_028E7A74;
L_028E7A74: ; // 0x28e7a74
/* 028E7A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A78 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A78 */ _t17 = _t16 & 0x00000001u;
/* 028E7A78 */ if (_t17) goto L_028E7A7C; else goto L_028E7A8C;
L_028E7A7C: ; // 0x28e7a7c
/* 028E7A7C */ cpu->r[3] = 0x0000000Cu;
/* 028E7A80 */ Gambit_fn_02801A78(cpu);
/* 028E7A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7A88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7A88 */ _t19 = _t18 & 0x00000001u;
/* 028E7A88 */ if (_t19) goto L_028E7A98; else goto L_028E7A8C;
L_028E7A8C: ; // 0x28e7a8c
/* 028E7A8C */ _t20 = cpu->r[3] + 0x00000004u;
/* 028E7A8C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028E7A90 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028E7A90 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E7A94 */ _t22 = cpu->r[3] + 0x00000008u;
/* 028E7A94 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
L_028E7A98: ; // 0x28e7a98
/* 028E7A98 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028E7A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028E7A9C */ cpu->r[3] = cpu->r[31];
/* 028E7AA0 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028E7AA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028E7AA4 */ cpu->lr = cpu->r[0];
/* 028E7AA8 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E7AA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028E7AAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E7AB0 */ return;
}
// fn_028E7AB4 @ 0x28e7ab4
void Gambit_fn_028E7AB4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E7AB4: ; // 0x28e7ab4
/* 028E7AB4 */ cpu->r[0] = cpu->lr;
/* 028E7AB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E7AB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7AB8 */ cpu->r[1] = _t0;
/* 028E7ABC */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E7ABC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E7AC0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E7AC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E7AC4 */ cpu->r[31] = cpu->r[3];
/* 028E7AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7AC8 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E7AC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E7ACC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E7ACC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E7AD0 */ cpu->r[29] = cpu->r[4];
/* 028E7AD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7AD4 */ _t6 = _t5 & 0x00000001u;
/* 028E7AD4 */ if (_t6) goto L_028E7B8C; else goto L_028E7AD8;
L_028E7AD8: ; // 0x28e7ad8
/* 028E7AD8 */ _t7 = cpu->r[31] + 0x00000000u;
/* 028E7AD8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t7);
/* 028E7ADC */ _t8 = cpu->r[31] + 0x00000001u;
/* 028E7ADC */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
/* 028E7AE0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
/* 028E7AE4 */ _t9 = cpu->r[31] + 0x00000002u;
/* 028E7AE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
/* 028E7AE8 */ _t10 = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000008u, 0x0000000Fu);
/* 028E7AE8 */ _t11 = cpu->r[9] & 0xFF00FFFFu;
/* 028E7AE8 */ cpu->r[9] = _t11 | _t10;
/* 028E7AEC */ _t12 = cpu->r[31] + 0x00000003u;
/* 028E7AEC */ cpu->r[6] = rbrew_read8(cpu->mem, _t12);
/* 028E7AF0 */ cpu->r[7] = 0x41520000u;
/* 028E7AF4 */ _t13 = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000010u, 0x00000017u);
/* 028E7AF4 */ _t14 = cpu->r[9] & 0xFFFF00FFu;
/* 028E7AF4 */ cpu->r[9] = _t14 | _t13;
/* 028E7AF8 */ cpu->r[7] = cpu->r[7] + 0x0000534Cu;
/* 028E7AFC */ cpu->r[0] = cpu->r[9] | cpu->r[6];
/* 028E7B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
/* 028E7B04 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B04 */ _t16 = _t15 & 0x00000001u;
/* 028E7B04 */ if (_t16) goto L_028E7B08; else goto L_028E7B8C;
L_028E7B08: ; // 0x28e7b08
/* 028E7B08 */ _t17 = cpu->r[31] + 0x00000004u;
/* 028E7B08 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
/* 028E7B0C */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E7B0C */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]);
/* 028E7B10 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E7B10 */ cpu->r[8] = rbrew_read8(cpu->mem, _t19);
/* 028E7B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FFu);
/* 028E7B18 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B18 */ _t21 = _t20 & 0x00000001u;
/* 028E7B18 */ if (_t21) goto L_028E7B48; else goto L_028E7B1C;
L_028E7B1C: ; // 0x28e7b1c
/* 028E7B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FEu);
/* 028E7B20 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B20 */ _t23 = _t22 & 0x00000001u;
/* 028E7B20 */ if (_t23) goto L_028E7B24; else goto L_028E7B48;
L_028E7B24: ; // 0x28e7b24
/* 028E7B24 */ _t24 = cpu->r[1] + 0x00000009u;
/* 028E7B24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t24);
/* 028E7B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
/* 028E7B2C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B2C */ _t26 = _t25 & 0x00000001u;
/* 028E7B2C */ if (_t26) goto L_028E7B30; else goto L_028E7B48;
L_028E7B30: ; // 0x28e7b30
/* 028E7B30 */ cpu->r[11] = 0x101F0000u;
/* 028E7B34 */ _t27 = cpu->r[11] + 0x000066E4u;
/* 028E7B34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
/* 028E7B38 */ cpu->r[10] = 0x00000000u;
/* 028E7B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028E7B40 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B40 */ _t29 = _t28 & 0x00000001u;
/* 028E7B40 */ if (_t29) goto L_028E7B5C; else goto L_028E7B44;
L_028E7B44: ; // 0x28e7b44
/* 028E7B44 */ goto L_028E7B8C;
L_028E7B48: ; // 0x28e7b48
/* 028E7B48 */ cpu->r[11] = 0x101F0000u;
/* 028E7B4C */ _t30 = cpu->r[11] + 0x000066E4u;
/* 028E7B4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028E7B50 */ cpu->r[10] = 0x00000001u;
/* 028E7B54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028E7B58 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B58 */ _t32 = _t31 & 0x00000001u;
/* 028E7B58 */ if (_t32) goto L_028E7B5C; else goto L_028E7B8C;
L_028E7B5C: ; // 0x28e7b5c
/* 028E7B5C */ _t33 = cpu->r[31] + 0x00000006u;
/* 028E7B5C */ cpu->r[8] = rbrew_read16(cpu->mem, _t33);
/* 028E7B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
/* 028E7B64 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B64 */ _t35 = _t34 & 0x00000001u;
/* 028E7B64 */ if (_t35) goto L_028E7B68; else goto L_028E7B8C;
L_028E7B68: ; // 0x28e7b68
/* 028E7B68 */ cpu->r[4] = cpu->r[29];
/* 028E7B6C */ cpu->r[3] = 0x0000001Cu;
/* 028E7B70 */ cpu->r[5] = 0x00000004u;
/* 028E7B74 */ Gambit_fn_02801AC8(cpu);
/* 028E7B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7B7C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B7C */ _t37 = _t36 & 0x00000001u;
/* 028E7B7C */ if (_t37) goto L_028E7B8C; else goto L_028E7B80;
L_028E7B80: ; // 0x28e7b80
/* 028E7B80 */ Gambit_fn_028E7A14(cpu);
/* 028E7B84 */ cpu->r[30] = cpu->r[3];
/* 028E7B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E7B88 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B88 */ _t39 = _t38 & 0x00000001u;
/* 028E7B88 */ if (_t39) goto L_028E7B8C; else goto L_028E7BAC;
L_028E7B8C: ; // 0x28e7b8c
/* 028E7B8C */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028E7B8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
/* 028E7B90 */ _t41 = cpu->r[1] + 0x0000001Cu;
/* 028E7B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028E7B94 */ _t42 = cpu->r[1] + 0x00000010u;
/* 028E7B94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
/* 028E7B98 */ cpu->lr = cpu->r[0];
/* 028E7B9C */ _t43 = cpu->r[1] + 0x00000014u;
/* 028E7B9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
/* 028E7BA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E7BA4 */ cpu->r[3] = 0x00000000u;
/* 028E7BA8 */ return;
L_028E7BAC: ; // 0x28e7bac
/* 028E7BAC */ _t44 = cpu->r[30] + 0x00000008u;
/* 028E7BAC */ rbrew_write32(cpu->mem, _t44, cpu->r[31]);
/* 028E7BB0 */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028E7BB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
/* 028E7BB4 */ cpu->r[0] = 0x00000001u;
/* 028E7BB8 */ cpu->r[9] = cpu->r[31] + 0x00000010u;
/* 028E7BBC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E7BC0 */ _t46 = cpu->r[30] + 0x00000004u;
/* 028E7BC0 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
/* 028E7BC4 */ cpu->r[12] = cpu->r[9] + cpu->r[10];
/* 028E7BC8 */ _t47 = cpu->r[30] + 0x0000000Cu;
/* 028E7BC8 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]);
/* 028E7BCC */ _t48 = cpu->r[31] + 0x0000000Cu;
/* 028E7BCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
/* 028E7BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7BD4 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7BD4 */ _t50 = _t49 & 0x00000001u;
/* 028E7BD4 */ if (_t50) goto L_028E7BD8; else goto L_028E7C38;
L_028E7BD8: ; // 0x28e7bd8
/* 028E7BD8 */ cpu->r[5] = 0x00000004u;
/* 028E7BDC */ cpu->r[4] = cpu->r[29];
/* 028E7BE0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E7BE4 */ Gambit_fn_02801ADC(cpu);
/* 028E7BE8 */ cpu->r[5] = cpu->r[3];
/* 028E7BEC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028E7BF0 */ cpu->r[4] = cpu->r[31];
/* 028E7BF4 */ Gambit_fn_028023A8(cpu);
/* 028E7BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7BFC */ _t51 = cpu->r[30] + 0x00000010u;
/* 028E7BFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
/* 028E7C00 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7C00 */ _t53 = _t52 & 0x00000001u;
/* 028E7C00 */ if (_t53) goto L_028E7C08; else goto L_028E7C04;
L_028E7C04: ; // 0x28e7c04
/* 028E7C04 */ cpu->r[31] = 0x00000001u;
L_028E7C08: ; // 0x28e7c08
/* 028E7C08 */ cpu->ctr = cpu->r[31];
/* 028E7C0C */ cpu->r[6] = 0x00000000u;
L_028E7C10: ; // 0x28e7c10
/* 028E7C10 */ _t54 = cpu->r[30] + 0x00000014u;
/* 028E7C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028E7C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
/* 028E7C18 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7C18 */ _t56 = _t55 & 0x00000001u;
/* 028E7C18 */ if (_t56) goto L_028E7C1C; else goto L_028E7C34;
L_028E7C1C: ; // 0x28e7c1c
/* 028E7C1C */ _t57 = cpu->r[30] + 0x00000018u;
/* 028E7C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028E7C20 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E7C24 */ _t58 = cpu->r[10] + cpu->r[0];
/* 028E7C24 */ rbrew_write32(cpu->mem, _t58, cpu->r[6]);
/* 028E7C28 */ _t59 = cpu->r[30] + 0x00000010u;
/* 028E7C28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028E7C2C */ cpu->r[7] = cpu->r[12] + 0x00000001u;
/* 028E7C30 */ _t60 = cpu->r[30] + 0x00000010u;
/* 028E7C30 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
L_028E7C34: ; // 0x28e7c34
/* 028E7C34 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E7C34 */ _t61 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E7C34 */ _t62 = _t61 >> (0x00000002u & 31u);
/* 028E7C34 */ _t63 = _t62 & 0x00000001u;
/* 028E7C34 */ if (_t63) goto L_028E7C10; else goto L_028E7C38;
L_028E7C38: ; // 0x28e7c38
/* 028E7C38 */ _t64 = cpu->r[1] + 0x0000000Cu;
/* 028E7C38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
/* 028E7C3C */ _t65 = cpu->r[1] + 0x0000001Cu;
/* 028E7C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
/* 028E7C40 */ cpu->r[3] = cpu->r[30];
/* 028E7C44 */ _t66 = cpu->r[1] + 0x00000010u;
/* 028E7C44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t66);
/* 028E7C48 */ cpu->lr = cpu->r[0];
/* 028E7C4C */ _t67 = cpu->r[1] + 0x00000014u;
/* 028E7C4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
/* 028E7C50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E7C54 */ return;
}
// fn_028E7AB8 @ 0x28e7ab8
void Gambit_fn_028E7AB8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E7AB8: ; // 0x28e7ab8
/* 028E7AB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E7AB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7AB8 */ cpu->r[1] = _t0;
/* 028E7ABC */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E7ABC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E7AC0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E7AC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E7AC4 */ cpu->r[31] = cpu->r[3];
/* 028E7AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7AC8 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E7AC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E7ACC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E7ACC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E7AD0 */ cpu->r[29] = cpu->r[4];
/* 028E7AD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7AD4 */ _t6 = _t5 & 0x00000001u;
/* 028E7AD4 */ if (_t6) goto L_028E7B8C; else goto L_028E7AD8;
L_028E7AD8: ; // 0x28e7ad8
/* 028E7AD8 */ _t7 = cpu->r[31] + 0x00000000u;
/* 028E7AD8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t7);
/* 028E7ADC */ _t8 = cpu->r[31] + 0x00000001u;
/* 028E7ADC */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
/* 028E7AE0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
/* 028E7AE4 */ _t9 = cpu->r[31] + 0x00000002u;
/* 028E7AE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
/* 028E7AE8 */ _t10 = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000008u, 0x0000000Fu);
/* 028E7AE8 */ _t11 = cpu->r[9] & 0xFF00FFFFu;
/* 028E7AE8 */ cpu->r[9] = _t11 | _t10;
/* 028E7AEC */ _t12 = cpu->r[31] + 0x00000003u;
/* 028E7AEC */ cpu->r[6] = rbrew_read8(cpu->mem, _t12);
/* 028E7AF0 */ cpu->r[7] = 0x41520000u;
/* 028E7AF4 */ _t13 = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000010u, 0x00000017u);
/* 028E7AF4 */ _t14 = cpu->r[9] & 0xFFFF00FFu;
/* 028E7AF4 */ cpu->r[9] = _t14 | _t13;
/* 028E7AF8 */ cpu->r[7] = cpu->r[7] + 0x0000534Cu;
/* 028E7AFC */ cpu->r[0] = cpu->r[9] | cpu->r[6];
/* 028E7B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
/* 028E7B04 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B04 */ _t16 = _t15 & 0x00000001u;
/* 028E7B04 */ if (_t16) goto L_028E7B08; else goto L_028E7B8C;
L_028E7B08: ; // 0x28e7b08
/* 028E7B08 */ _t17 = cpu->r[31] + 0x00000004u;
/* 028E7B08 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
/* 028E7B0C */ _t18 = cpu->r[1] + 0x00000008u;
/* 028E7B0C */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]);
/* 028E7B10 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E7B10 */ cpu->r[8] = rbrew_read8(cpu->mem, _t19);
/* 028E7B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FFu);
/* 028E7B18 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B18 */ _t21 = _t20 & 0x00000001u;
/* 028E7B18 */ if (_t21) goto L_028E7B48; else goto L_028E7B1C;
L_028E7B1C: ; // 0x28e7b1c
/* 028E7B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FEu);
/* 028E7B20 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B20 */ _t23 = _t22 & 0x00000001u;
/* 028E7B20 */ if (_t23) goto L_028E7B24; else goto L_028E7B48;
L_028E7B24: ; // 0x28e7b24
/* 028E7B24 */ _t24 = cpu->r[1] + 0x00000009u;
/* 028E7B24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t24);
/* 028E7B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
/* 028E7B2C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B2C */ _t26 = _t25 & 0x00000001u;
/* 028E7B2C */ if (_t26) goto L_028E7B30; else goto L_028E7B48;
L_028E7B30: ; // 0x28e7b30
/* 028E7B30 */ cpu->r[11] = 0x101F0000u;
/* 028E7B34 */ _t27 = cpu->r[11] + 0x000066E4u;
/* 028E7B34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
/* 028E7B38 */ cpu->r[10] = 0x00000000u;
/* 028E7B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028E7B40 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B40 */ _t29 = _t28 & 0x00000001u;
/* 028E7B40 */ if (_t29) goto L_028E7B5C; else goto L_028E7B44;
L_028E7B44: ; // 0x28e7b44
/* 028E7B44 */ goto L_028E7B8C;
L_028E7B48: ; // 0x28e7b48
/* 028E7B48 */ cpu->r[11] = 0x101F0000u;
/* 028E7B4C */ _t30 = cpu->r[11] + 0x000066E4u;
/* 028E7B4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028E7B50 */ cpu->r[10] = 0x00000001u;
/* 028E7B54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028E7B58 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B58 */ _t32 = _t31 & 0x00000001u;
/* 028E7B58 */ if (_t32) goto L_028E7B5C; else goto L_028E7B8C;
L_028E7B5C: ; // 0x28e7b5c
/* 028E7B5C */ _t33 = cpu->r[31] + 0x00000006u;
/* 028E7B5C */ cpu->r[8] = rbrew_read16(cpu->mem, _t33);
/* 028E7B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
/* 028E7B64 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B64 */ _t35 = _t34 & 0x00000001u;
/* 028E7B64 */ if (_t35) goto L_028E7B68; else goto L_028E7B8C;
L_028E7B68: ; // 0x28e7b68
/* 028E7B68 */ cpu->r[4] = cpu->r[29];
/* 028E7B6C */ cpu->r[3] = 0x0000001Cu;
/* 028E7B70 */ cpu->r[5] = 0x00000004u;
/* 028E7B74 */ Gambit_fn_02801AC8(cpu);
/* 028E7B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7B7C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B7C */ _t37 = _t36 & 0x00000001u;
/* 028E7B7C */ if (_t37) goto L_028E7B8C; else goto L_028E7B80;
L_028E7B80: ; // 0x28e7b80
/* 028E7B80 */ Gambit_fn_028E7A14(cpu);
/* 028E7B84 */ cpu->r[30] = cpu->r[3];
/* 028E7B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E7B88 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7B88 */ _t39 = _t38 & 0x00000001u;
/* 028E7B88 */ if (_t39) goto L_028E7B8C; else goto L_028E7BAC;
L_028E7B8C: ; // 0x28e7b8c
/* 028E7B8C */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028E7B8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
/* 028E7B90 */ _t41 = cpu->r[1] + 0x0000001Cu;
/* 028E7B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028E7B94 */ _t42 = cpu->r[1] + 0x00000010u;
/* 028E7B94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
/* 028E7B98 */ cpu->lr = cpu->r[0];
/* 028E7B9C */ _t43 = cpu->r[1] + 0x00000014u;
/* 028E7B9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
/* 028E7BA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E7BA4 */ cpu->r[3] = 0x00000000u;
/* 028E7BA8 */ return;
L_028E7BAC: ; // 0x28e7bac
/* 028E7BAC */ _t44 = cpu->r[30] + 0x00000008u;
/* 028E7BAC */ rbrew_write32(cpu->mem, _t44, cpu->r[31]);
/* 028E7BB0 */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028E7BB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
/* 028E7BB4 */ cpu->r[0] = 0x00000001u;
/* 028E7BB8 */ cpu->r[9] = cpu->r[31] + 0x00000010u;
/* 028E7BBC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E7BC0 */ _t46 = cpu->r[30] + 0x00000004u;
/* 028E7BC0 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
/* 028E7BC4 */ cpu->r[12] = cpu->r[9] + cpu->r[10];
/* 028E7BC8 */ _t47 = cpu->r[30] + 0x0000000Cu;
/* 028E7BC8 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]);
/* 028E7BCC */ _t48 = cpu->r[31] + 0x0000000Cu;
/* 028E7BCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
/* 028E7BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7BD4 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7BD4 */ _t50 = _t49 & 0x00000001u;
/* 028E7BD4 */ if (_t50) goto L_028E7BD8; else goto L_028E7C38;
L_028E7BD8: ; // 0x28e7bd8
/* 028E7BD8 */ cpu->r[5] = 0x00000004u;
/* 028E7BDC */ cpu->r[4] = cpu->r[29];
/* 028E7BE0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E7BE4 */ Gambit_fn_02801ADC(cpu);
/* 028E7BE8 */ cpu->r[5] = cpu->r[3];
/* 028E7BEC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028E7BF0 */ cpu->r[4] = cpu->r[31];
/* 028E7BF4 */ Gambit_fn_028023A8(cpu);
/* 028E7BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E7BFC */ _t51 = cpu->r[30] + 0x00000010u;
/* 028E7BFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
/* 028E7C00 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7C00 */ _t53 = _t52 & 0x00000001u;
/* 028E7C00 */ if (_t53) goto L_028E7C08; else goto L_028E7C04;
L_028E7C04: ; // 0x28e7c04
/* 028E7C04 */ cpu->r[31] = 0x00000001u;
L_028E7C08: ; // 0x28e7c08
/* 028E7C08 */ cpu->ctr = cpu->r[31];
/* 028E7C0C */ cpu->r[6] = 0x00000000u;
L_028E7C10: ; // 0x28e7c10
/* 028E7C10 */ _t54 = cpu->r[30] + 0x00000014u;
/* 028E7C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028E7C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
/* 028E7C18 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7C18 */ _t56 = _t55 & 0x00000001u;
/* 028E7C18 */ if (_t56) goto L_028E7C1C; else goto L_028E7C34;
L_028E7C1C: ; // 0x28e7c1c
/* 028E7C1C */ _t57 = cpu->r[30] + 0x00000018u;
/* 028E7C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028E7C20 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E7C24 */ _t58 = cpu->r[10] + cpu->r[0];
/* 028E7C24 */ rbrew_write32(cpu->mem, _t58, cpu->r[6]);
/* 028E7C28 */ _t59 = cpu->r[30] + 0x00000010u;
/* 028E7C28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028E7C2C */ cpu->r[7] = cpu->r[12] + 0x00000001u;
/* 028E7C30 */ _t60 = cpu->r[30] + 0x00000010u;
/* 028E7C30 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
L_028E7C34: ; // 0x28e7c34
/* 028E7C34 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E7C34 */ _t61 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E7C34 */ _t62 = _t61 >> (0x00000002u & 31u);
/* 028E7C34 */ _t63 = _t62 & 0x00000001u;
/* 028E7C34 */ if (_t63) goto L_028E7C10; else goto L_028E7C38;
L_028E7C38: ; // 0x28e7c38
/* 028E7C38 */ _t64 = cpu->r[1] + 0x0000000Cu;
/* 028E7C38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
/* 028E7C3C */ _t65 = cpu->r[1] + 0x0000001Cu;
/* 028E7C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
/* 028E7C40 */ cpu->r[3] = cpu->r[30];
/* 028E7C44 */ _t66 = cpu->r[1] + 0x00000010u;
/* 028E7C44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t66);
/* 028E7C48 */ cpu->lr = cpu->r[0];
/* 028E7C4C */ _t67 = cpu->r[1] + 0x00000014u;
/* 028E7C4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
/* 028E7C50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E7C54 */ return;
}
// fn_028E7C58 @ 0x28e7c58
void Gambit_fn_028E7C58(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E7C58: ; // 0x28e7c58
/* 028E7C58 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028E7C58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7C58 */ cpu->r[1] = _t0;
/* 028E7C5C */ /* nop */
/* 028E7C60 */ cpu->r[0] = cpu->lr;
/* 028E7C64 */ _t1 = cpu->r[1] + 0x0000003Cu;
/* 028E7C64 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E7C68 */ cpu->r[27] = cpu->r[3];
/* 028E7C6C */ _t2 = cpu->r[27] + 0x00000018u;
/* 028E7C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E7C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7C74 */ cpu->r[28] = cpu->r[4];
/* 028E7C78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7C78 */ _t4 = _t3 & 0x00000001u;
/* 028E7C78 */ if (_t4) goto L_028E7DB0; else goto L_028E7C7C;
L_028E7C7C: ; // 0x28e7c7c
/* 028E7C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E7C80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7C80 */ _t6 = _t5 & 0x00000001u;
/* 028E7C80 */ if (_t6) goto L_028E7DB0; else goto L_028E7C84;
L_028E7C84: ; // 0x28e7c84
/* 028E7C84 */ _t7 = cpu->r[27] + 0x00000004u;
/* 028E7C84 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
/* 028E7C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E7C8C */ cpu->r[30] = 0x00000000u;
/* 028E7C90 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7C90 */ _t9 = _t8 & 0x00000001u;
/* 028E7C90 */ if (_t9) goto L_028E7C9C; else goto L_028E7C94;
L_028E7C94: ; // 0x28e7c94
/* 028E7C94 */ _t10 = cpu->r[27] + 0x00000008u;
/* 028E7C94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028E7C98 */ _t11 = cpu->r[5] + 0x0000000Cu;
/* 028E7C98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
L_028E7C9C: ; // 0x28e7c9c
/* 028E7C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E7CA0 */ cpu->r[29] = 0x00000000u;
/* 028E7CA4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7CA4 */ _t13 = _t12 & 0x00000001u;
/* 028E7CA4 */ if (_t13) goto L_028E7CA8; else goto L_028E7DB0;
L_028E7CA8: ; // 0x28e7ca8
/* 028E7CA8 */ cpu->r[31] = 0x10110000u;
/* 028E7CAC */ cpu->r[24] = 0x00080000u;
/* 028E7CB0 */ cpu->r[26] = 0x00000000u;
/* 028E7CB4 */ cpu->r[25] = 0x10140000u;
/* 028E7CB8 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028E7CBC */ _t14 = cpu->r[31] + 0x00007399u;
/* 028E7CBC */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
/* 028E7CC0 */ cpu->r[25] = cpu->r[25] + 0xFFFFBA84u;
L_028E7CC4: ; // 0x28e7cc4
/* 028E7CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E7CC8 */ cpu->r[11] = 0x00000000u;
/* 028E7CCC */ _t15 = cpu->r[28] + 0x0000000Cu;
/* 028E7CCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028E7CD0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7CD0 */ _t17 = _t16 & 0x00000001u;
/* 028E7CD0 */ if (_t17) goto L_028E7CEC; else goto L_028E7CD4;
L_028E7CD4: ; // 0x28e7cd4
/* 028E7CD4 */ _t18 = cpu->r[27] + 0x00000008u;
/* 028E7CD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
/* 028E7CD8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E7CDC */ _t19 = cpu->r[27] + 0x0000000Cu;
/* 028E7CDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
/* 028E7CE0 */ cpu->r[8] = cpu->r[9] + cpu->r[7];
/* 028E7CE4 */ _t20 = cpu->r[8] + 0x00000010u;
/* 028E7CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028E7CE8 */ cpu->r[11] = cpu->r[6] + cpu->r[0];
L_028E7CEC: ; // 0x28e7cec
/* 028E7CEC */ _t21 = cpu->r[1] + 0x00000008u;
/* 028E7CEC */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
/* 028E7CF0 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028E7CF0 */ rbrew_write32(cpu->mem, _t22, cpu->r[25]);
/* 028E7CF4 */ _t23 = cpu->r[12] + 0x00000014u;
/* 028E7CF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
/* 028E7CF8 */ cpu->ctr = cpu->r[4];
/* 028E7CFC */ cpu->r[3] = cpu->r[28] + 0x00000008u;
/* 028E7D00 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7D04 */ _t24 = cpu->r[28] + 0x0000000Cu;
/* 028E7D04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
/* 028E7D08 */ _t25 = cpu->r[11] + 0x00000014u;
/* 028E7D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E7D0C */ cpu->ctr = cpu->r[0];
/* 028E7D10 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
/* 028E7D14 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7D18 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028E7D18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
/* 028E7D1C */ _t27 = cpu->r[5] + 0x00000014u;
/* 028E7D1C */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
/* 028E7D20 */ cpu->ctr = cpu->r[6];
/* 028E7D24 */ _t28 = cpu->r[28] + 0x00000008u;
/* 028E7D24 */ cpu->r[23] = rbrew_read32(cpu->mem, _t28);
/* 028E7D28 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E7D2C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7D30 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028E7D30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
/* 028E7D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[7]);
/* 028E7D38 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7D38 */ _t31 = _t30 & 0x00000001u;
/* 028E7D38 */ if (_t31) goto L_028E7D70; else goto L_028E7D3C;
L_028E7D3C: ; // 0x28e7d3c
/* 028E7D3C */ _t32 = cpu->r[28] + 0x00000008u;
/* 028E7D3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
/* 028E7D40 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028E7D40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
/* 028E7D44 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028E7D48 */ cpu->ctr = cpu->r[24];
/* 028E7D4C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
L_028E7D50: ; // 0x28e7d50
/* 028E7D50 */ _t34 = cpu->r[11] + 0x00000001u;
/* 028E7D50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
/* 028E7D50 */ cpu->r[11] = _t34;
/* 028E7D54 */ _t35 = cpu->r[9] + 0x00000001u;
/* 028E7D54 */ cpu->r[8] = rbrew_read8(cpu->mem, _t35);
/* 028E7D54 */ cpu->r[9] = _t35;
/* 028E7D58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
/* 028E7D5C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7D5C */ _t37 = _t36 & 0x00000001u;
/* 028E7D5C */ if (_t37) goto L_028E7D60; else goto L_028E7D98;
L_028E7D60: ; // 0x28e7d60
/* 028E7D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E7D64 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7D64 */ _t39 = _t38 & 0x00000001u;
/* 028E7D64 */ if (_t39) goto L_028E7D70; else goto L_028E7D68;
L_028E7D68: ; // 0x28e7d68
/* 028E7D68 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E7D68 */ _t40 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E7D68 */ _t41 = _t40 >> (0x00000002u & 31u);
/* 028E7D68 */ _t42 = _t41 & 0x00000001u;
/* 028E7D68 */ if (_t42) goto L_028E7D50; else goto L_028E7D6C;
L_028E7D6C: ; // 0x28e7d6c
/* 028E7D6C */ goto L_028E7D98;
L_028E7D70: ; // 0x28e7d70
/* 028E7D70 */ _t43 = cpu->r[27] + 0x00000010u;
/* 028E7D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
/* 028E7D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
/* 028E7D78 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7D78 */ _t45 = _t44 & 0x00000001u;
/* 028E7D78 */ if (_t45) goto L_028E7D7C; else goto L_028E7DB0;
L_028E7D7C: ; // 0x28e7d7c
/* 028E7D7C */ _t46 = cpu->r[27] + 0x00000018u;
/* 028E7D7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
/* 028E7D80 */ _t47 = cpu->r[12] + cpu->r[26];
/* 028E7D80 */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
/* 028E7D84 */ /* nop */
/* 028E7D88 */ _t48 = cpu->r[1] + 0x0000003Cu;
/* 028E7D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028E7D8C */ cpu->lr = cpu->r[0];
/* 028E7D90 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E7D94 */ return;
L_028E7D98: ; // 0x28e7d98
/* 028E7D98 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028E7D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E7D9C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028E7DA0 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
/* 028E7DA4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7DA4 */ _t50 = _t49 & 0x00000001u;
/* 028E7DA4 */ if (_t50) goto L_028E7DB0; else goto L_028E7DA8;
L_028E7DA8: ; // 0x28e7da8
/* 028E7DA8 */ _t51 = cpu->r[27] + 0x00000004u;
/* 028E7DA8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t51);
/* 028E7DAC */ goto L_028E7CC4;
L_028E7DB0: ; // 0x28e7db0
/* 028E7DB0 */ /* nop */
/* 028E7DB4 */ _t52 = cpu->r[1] + 0x0000003Cu;
/* 028E7DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
/* 028E7DB8 */ cpu->lr = cpu->r[0];
/* 028E7DBC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E7DC0 */ return;
}
// fn_028E7DC4 @ 0x28e7dc4
void Gambit_fn_028E7DC4(CPUState* cpu) {
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_028E7DC4: ; // 0x28e7dc4
/* 028E7DC4 */ _t0 = cpu->r[3] + 0x00000018u;
/* 028E7DC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
/* 028E7DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028E7DCC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7DCC */ _t2 = _t1 & 0x00000001u;
/* 028E7DCC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7DCC */ goto L_028E7DD0;
L_028E7DD0: ; // 0x28e7dd0
/* 028E7DD0 */ _t3 = cpu->r[3] + 0x00000004u;
/* 028E7DD0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t3);
/* 028E7DD4 */ cpu->r[12] = 0x00000000u;
/* 028E7DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E7DDC */ _t4 = cpu->r[3] + 0x00000010u;
/* 028E7DDC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
/* 028E7DE0 */ cpu->r[0] = cpu->r[12];
/* 028E7DE4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7DE4 */ _t6 = _t5 & 0x00000001u;
/* 028E7DE4 */ if (_t6) goto L_028E7DF0; else goto L_028E7DE8;
L_028E7DE8: ; // 0x28e7de8
/* 028E7DE8 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028E7DE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028E7DEC */ _t8 = cpu->r[11] + 0x0000000Cu;
/* 028E7DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
L_028E7DF0: ; // 0x28e7df0
/* 028E7DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7DF4 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E7DF4 */ _t10 = _t9 & 0x00000001u;
/* 028E7DF4 */ _t11 = _t10 ^ 0x00000001u;
/* 028E7DF4 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7DF4 */ goto L_028E7DF8;
L_028E7DF8: ; // 0x28e7df8
/* 028E7DF8 */ cpu->ctr = cpu->r[0];
/* 028E7DFC */ cpu->r[11] = 0x00000000u;
L_028E7E00: ; // 0x28e7e00
/* 028E7E00 */ _t12 = cpu->r[3] + 0x00000014u;
/* 028E7E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E7E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
/* 028E7E08 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7E08 */ _t14 = _t13 & 0x00000001u;
/* 028E7E08 */ if (_t14) goto L_028E7E0C; else goto L_028E7E24;
L_028E7E0C: ; // 0x28e7e0c
/* 028E7E0C */ _t15 = cpu->r[3] + 0x00000018u;
/* 028E7E0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
/* 028E7E10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E7E14 */ _t16 = cpu->r[12] + cpu->r[9];
/* 028E7E14 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
/* 028E7E18 */ _t17 = cpu->r[3] + 0x00000010u;
/* 028E7E18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028E7E1C */ cpu->r[12] = cpu->r[10] + 0x00000001u;
/* 028E7E20 */ _t18 = cpu->r[3] + 0x00000010u;
/* 028E7E20 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
L_028E7E24: ; // 0x28e7e24
/* 028E7E24 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E7E24 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E7E24 */ _t20 = _t19 >> (0x00000002u & 31u);
/* 028E7E24 */ _t21 = _t20 & 0x00000001u;
/* 028E7E24 */ if (_t21) goto L_028E7E00; else goto L_028E7E28;
L_028E7E28: ; // 0x28e7e28
/* 028E7E28 */ return;
}
// fn_028E7E2C @ 0x28e7e2c
void Gambit_fn_028E7E2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028E7E2C: ; // 0x28e7e2c
/* 028E7E2C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E7E2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7E2C */ cpu->r[1] = _t0;
/* 028E7E30 */ /* nop */
/* 028E7E34 */ cpu->r[0] = cpu->lr;
/* 028E7E38 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E7E38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E7E3C */ cpu->r[29] = cpu->r[3];
/* 028E7E40 */ _t2 = cpu->r[29] + 0x00000018u;
/* 028E7E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E7E44 */ cpu->r[30] = cpu->r[4];
/* 028E7E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7E4C */ cpu->r[31] = cpu->r[5];
/* 028E7E50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7E50 */ _t4 = _t3 & 0x00000001u;
/* 028E7E50 */ if (_t4) goto L_028E7EF8; else goto L_028E7E54;
L_028E7E54: ; // 0x28e7e54
/* 028E7E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E7E58 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7E58 */ _t6 = _t5 & 0x00000001u;
/* 028E7E58 */ if (_t6) goto L_028E7EF8; else goto L_028E7E5C;
L_028E7E5C: ; // 0x28e7e5c
/* 028E7E5C */ _t7 = cpu->r[29] + 0x00000010u;
/* 028E7E5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
/* 028E7E60 */ cpu->r[28] = 0x00000000u;
/* 028E7E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
/* 028E7E68 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7E68 */ _t9 = _t8 & 0x00000001u;
/* 028E7E68 */ if (_t9) goto L_028E7E6C; else goto L_028E7EF8;
L_028E7E6C: ; // 0x28e7e6c
/* 028E7E6C */ cpu->r[27] = 0x00000000u;
L_028E7E70: ; // 0x28e7e70
/* 028E7E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]);
/* 028E7E74 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7E74 */ _t11 = _t10 & 0x00000001u;
/* 028E7E74 */ if (_t11) goto L_028E7E78; else goto L_028E7EE8;
L_028E7E78: ; // 0x28e7e78
/* 028E7E78 */ _t12 = cpu->r[29] + 0x00000018u;
/* 028E7E78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028E7E7C */ _t13 = cpu->r[11] + cpu->r[27];
/* 028E7E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028E7E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7E84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7E84 */ _t15 = _t14 & 0x00000001u;
/* 028E7E84 */ if (_t15) goto L_028E7EE8; else goto L_028E7E88;
L_028E7E88: ; // 0x28e7e88
/* 028E7E88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]);
/* 028E7E8C */ cpu->r[3] = 0x00000000u;
/* 028E7E90 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7E90 */ _t17 = _t16 & 0x00000001u;
/* 028E7E90 */ if (_t17) goto L_028E7E94; else goto L_028E7E98;
L_028E7E94: ; // 0x28e7e94
/* 028E7E94 */ cpu->r[3] = cpu->r[0];
L_028E7E98: ; // 0x28e7e98
/* 028E7E98 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028E7E98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028E7E9C */ _t19 = cpu->r[12] + 0x0000000Cu;
/* 028E7E9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E7EA0 */ cpu->ctr = cpu->r[0];
/* 028E7EA4 */ cpu->r[4] = cpu->r[30];
/* 028E7EA8 */ cpu->r[5] = cpu->r[31];
/* 028E7EAC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7EB4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7EB4 */ _t21 = _t20 & 0x00000001u;
/* 028E7EB4 */ if (_t21) goto L_028E7EB8; else goto L_028E7ED0;
L_028E7EB8: ; // 0x28e7eb8
/* 028E7EB8 */ _t22 = cpu->r[29] + 0x00000010u;
/* 028E7EB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
/* 028E7EBC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E7EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
/* 028E7EC4 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
/* 028E7EC8 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7EC8 */ _t24 = _t23 & 0x00000001u;
/* 028E7EC8 */ if (_t24) goto L_028E7E70; else goto L_028E7ECC;
L_028E7ECC: ; // 0x28e7ecc
/* 028E7ECC */ goto L_028E7EF8;
L_028E7ED0: ; // 0x28e7ed0
/* 028E7ED0 */ /* nop */
/* 028E7ED4 */ _t25 = cpu->r[1] + 0x00000024u;
/* 028E7ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E7ED8 */ cpu->lr = cpu->r[0];
/* 028E7EDC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E7EE0 */ cpu->r[3] = 0x00000001u;
/* 028E7EE4 */ return;
L_028E7EE8: ; // 0x28e7ee8
/* 028E7EE8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E7EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
/* 028E7EF0 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
/* 028E7EF4 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E7EF4 */ _t27 = _t26 & 0x00000001u;
/* 028E7EF4 */ if (_t27) goto L_028E7E70; else goto L_028E7EF8;
L_028E7EF8: ; // 0x28e7ef8
/* 028E7EF8 */ /* nop */
/* 028E7EFC */ _t28 = cpu->r[1] + 0x00000024u;
/* 028E7EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E7F00 */ cpu->lr = cpu->r[0];
/* 028E7F04 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E7F08 */ cpu->r[3] = 0x00000000u;
/* 028E7F0C */ return;
}
// fn_028E7F10 @ 0x28e7f10
void Gambit_fn_028E7F10(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_028E7F10: ; // 0x28e7f10
/* 028E7F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E7F14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7F14 */ _t17 = _t16 & 0x00000001u;
/* 028E7F14 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7F14 */ goto L_028E7F18;
L_028E7F18: ; // 0x28e7f18
/* 028E7F18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E7F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E7F1C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7F1C */ _t19 = _t18 & 0x00000001u;
/* 028E7F1C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E7F1C */ goto L_028E7F20;
L_028E7F20: ; // 0x28e7f20
/* 028E7F20 */ goto L_02801BB0;
}
// fn_028E7F24 @ 0x28e7f24
void Gambit_fn_028E7F24(CPUState* cpu) {
L_028E7F24: ; // 0x28e7f24
/* 028E7F24 */ return;
}
// fn_028E7F28 @ 0x28e7f28
void Gambit_fn_028E7F28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E7F28: ; // 0x28e7f28
/* 028E7F28 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
/* 028E7F28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E7F28 */ cpu->r[1] = _t0;
/* 028E7F2C */ /* nop */
/* 028E7F30 */ _t1 = cpu->r[1] + 0x00000090u;
/* 028E7F30 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028E7F34 */ /* nop */
/* 028E7F38 */ _t2 = cpu->r[1] + 0x00000080u;
/* 028E7F38 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
/* 028E7F3C */ /* nop */
/* 028E7F40 */ _t3 = cpu->r[1] + 0x00000088u;
/* 028E7F40 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
/* 028E7F44 */ _t4 = cpu->r[1] + 0x00000070u;
/* 028E7F44 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[28]);
/* 028E7F48 */ cpu->r[0] = cpu->lr;
/* 028E7F4C */ _t5 = cpu->r[1] + 0x000000B4u;
/* 028E7F4C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E7F50 */ /* nop */
/* 028E7F54 */ _t6 = cpu->r[1] + 0x000000A0u;
/* 028E7F54 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]);
/* 028E7F58 */ _t7 = cpu->r[1] + 0x00000098u;
/* 028E7F58 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
/* 028E7F5C */ /* nop */
/* 028E7F60 */ _t8 = cpu->r[1] + 0x000000A8u;
/* 028E7F60 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
/* 028E7F64 */ _t9 = cpu->r[1] + 0x00000078u;
/* 028E7F64 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]);
/* 028E7F68 */ cpu->r[29] = cpu->r[4];
/* 028E7F6C */ cpu->r[31] = cpu->r[3];
/* 028E7F70 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028E7F70 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
/* 028E7F74 */ _t11 = cpu->r[31] + 0x00000001u;
/* 028E7F74 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
/* 028E7F78 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
/* 028E7F7C */ _t12 = cpu->r[31] + 0x00000002u;
/* 028E7F7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
/* 028E7F80 */ _t13 = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000008u, 0x0000000Fu);
/* 028E7F80 */ _t14 = cpu->r[12] & 0xFF00FFFFu;
/* 028E7F80 */ cpu->r[12] = _t14 | _t13;
/* 028E7F84 */ _t15 = cpu->r[31] + 0x00000003u;
/* 028E7F84 */ cpu->r[6] = rbrew_read8(cpu->mem, _t15);
/* 028E7F88 */ _t16 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000010u, 0x00000017u);
/* 028E7F88 */ _t17 = cpu->r[12] & 0xFFFF00FFu;
/* 028E7F88 */ cpu->r[12] = _t17 | _t16;
/* 028E7F8C */ cpu->r[0] = 0x43430000u;
/* 028E7F90 */ cpu->r[5] = cpu->r[12] | cpu->r[6];
/* 028E7F94 */ cpu->r[0] = cpu->r[0] | 0x00005354u;
/* 028E7F98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
/* 028E7F9C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7F9C */ _t19 = _t18 & 0x00000001u;
/* 028E7F9C */ if (_t19) goto L_028E7FA0; else goto L_028E8030;
L_028E7FA0: ; // 0x28e7fa0
/* 028E7FA0 */ _t20 = cpu->r[31] + 0x00000004u;
/* 028E7FA0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t20);
/* 028E7FA4 */ _t21 = cpu->r[1] + 0x0000002Cu;
/* 028E7FA4 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[0]);
/* 028E7FA8 */ _t22 = cpu->r[1] + 0x0000002Cu;
/* 028E7FA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
/* 028E7FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FFu);
/* 028E7FB0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7FB0 */ _t24 = _t23 & 0x00000001u;
/* 028E7FB0 */ if (_t24) goto L_028E7FFC; else goto L_028E7FB4;
L_028E7FB4: ; // 0x28e7fb4
/* 028E7FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FEu);
/* 028E7FB8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7FB8 */ _t26 = _t25 & 0x00000001u;
/* 028E7FB8 */ if (_t26) goto L_028E7FBC; else goto L_028E7FFC;
L_028E7FBC: ; // 0x28e7fbc
/* 028E7FBC */ _t27 = cpu->r[1] + 0x0000002Du;
/* 028E7FBC */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
/* 028E7FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
/* 028E7FC4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7FC4 */ _t29 = _t28 & 0x00000001u;
/* 028E7FC4 */ if (_t29) goto L_028E7FC8; else goto L_028E7FFC;
L_028E7FC8: ; // 0x28e7fc8
/* 028E7FC8 */ cpu->r[11] = 0x101F0000u;
/* 028E7FCC */ cpu->r[30] = 0x10110000u;
/* 028E7FD0 */ _t30 = cpu->r[11] + 0x000066E4u;
/* 028E7FD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028E7FD4 */ cpu->r[30] = cpu->r[30] + 0x00007344u;
/* 028E7FD8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E7FDC */ cpu->r[12] = cpu->r[30] + cpu->r[28];
/* 028E7FE0 */ _t31 = cpu->r[12] + 0x00000008u;
/* 028E7FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028E7FE4 */ cpu->ctr = cpu->r[0];
/* 028E7FE8 */ _t32 = cpu->r[31] + 0x00000006u;
/* 028E7FE8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t32);
/* 028E7FEC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E7FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
/* 028E7FF4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E7FF4 */ _t34 = _t33 & 0x00000001u;
/* 028E7FF4 */ if (_t34) goto L_028E806C; else goto L_028E7FF8;
L_028E7FF8: ; // 0x28e7ff8
/* 028E7FF8 */ goto L_028E8030;
L_028E7FFC: ; // 0x28e7ffc
/* 028E7FFC */ cpu->r[11] = 0x101F0000u;
/* 028E8000 */ _t35 = cpu->r[11] + 0x000066E4u;
/* 028E8000 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
/* 028E8004 */ cpu->r[30] = 0x10110000u;
/* 028E8008 */ cpu->r[9] = cpu->r[11] ^ 0x00000001u;
/* 028E800C */ cpu->r[30] = cpu->r[30] + 0x00007344u;
/* 028E8010 */ cpu->r[28] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E8014 */ cpu->r[12] = cpu->r[30] + cpu->r[28];
/* 028E8018 */ _t36 = cpu->r[12] + 0x00000008u;
/* 028E8018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
/* 028E801C */ cpu->ctr = cpu->r[0];
/* 028E8020 */ _t37 = cpu->r[31] + 0x00000006u;
/* 028E8020 */ cpu->r[3] = rbrew_read16(cpu->mem, _t37);
/* 028E8024 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
/* 028E802C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E802C */ _t39 = _t38 & 0x00000001u;
/* 028E802C */ if (_t39) goto L_028E806C; else goto L_028E8030;
L_028E8030: ; // 0x28e8030
/* 028E8030 */ /* nop */
/* 028E8034 */ _t40 = cpu->r[1] + 0x00000098u;
/* 028E8034 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t40);
/* 028E8038 */ _t41 = cpu->r[1] + 0x000000A8u;
/* 028E8038 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41);
/* 028E803C */ _t42 = cpu->r[1] + 0x00000090u;
/* 028E803C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t42);
/* 028E8040 */ _t43 = cpu->r[1] + 0x000000A0u;
/* 028E8040 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43);
/* 028E8044 */ _t44 = cpu->r[1] + 0x00000078u;
/* 028E8044 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t44);
/* 028E8048 */ _t45 = cpu->r[1] + 0x00000088u;
/* 028E8048 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t45);
/* 028E804C */ _t46 = cpu->r[1] + 0x00000070u;
/* 028E804C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t46);
/* 028E8050 */ _t47 = cpu->r[1] + 0x00000080u;
/* 028E8050 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t47);
/* 028E8054 */ cpu->r[3] = 0x00000000u;
/* 028E8058 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E8058 */ _t49 = _t48 & 0x00000001u;
/* 028E8058 */ if (_t49) goto L_028E805C; // else: addr-0 trap, fall-through
L_028E805C: ; // 0x28e805c
/* 028E805C */ _t50 = cpu->r[1] + 0x000000B4u;
/* 028E805C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028E8060 */ cpu->lr = cpu->r[0];
/* 028E8064 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
/* 028E8068 */ return;
L_028E806C: ; // 0x28e806c
/* 028E806C */ cpu->r[30] = cpu->r[30] + cpu->r[28];
/* 028E8070 */ _t51 = cpu->r[30] + 0x00000010u;
/* 028E8070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 028E8070 */ cpu->r[30] = _t51;
/* 028E8074 */ _t52 = cpu->r[31] + 0x00000008u;
/* 028E8074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028E8078 */ cpu->ctr = cpu->r[0];
/* 028E807C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8080 */ cpu->r[21] = cpu->r[3];
/* 028E8080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028E8084 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E8084 */ _t54 = _t53 & 0x00000001u;
/* 028E8084 */ if (_t54) goto L_028E8088; else goto L_028E8244;
L_028E8088: ; // 0x28e8088
/* 028E8088 */ cpu->r[5] = 0x10140000u;
/* 028E808C */ _t55 = cpu->r[30] + 0x00000000u;
/* 028E808C */ cpu->r[25] = rbrew_read32(cpu->mem, _t55);
/* 028E8090 */ cpu->r[27] = 0x10140000u;
/* 028E8094 */ cpu->r[11] = 0x10140000u;
/* 028E8098 */ _t56 = cpu->r[5] + 0xFFFFBACCu;
/* 028E8098 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t56);
/* 028E809C */ cpu->r[22] = cpu->r[31] + 0x00000008u;
/* 028E80A0 */ _t57 = cpu->r[11] + 0xFFFFBAD0u;
/* 028E80A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t57);
/* 028E80A4 */ cpu->r[27] = cpu->r[27] + 0xFFFFBAB4u;
L_028E80A8: ; // 0x28e80a8
/* 028E80A8 */ cpu->ctr = cpu->r[25];
/* 028E80AC */ _t58 = cpu->r[22] + 0x00000004u;
/* 028E80AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
/* 028E80AC */ cpu->r[22] = _t58;
/* 028E80B0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E80B4 */ cpu->ctr = cpu->r[25];
/* 028E80B8 */ cpu->r[28] = cpu->r[3];
/* 028E80BC */ _t59 = cpu->r[31] + cpu->r[28];
/* 028E80BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
/* 028E80C0 */ cpu->r[24] = cpu->r[31] + cpu->r[28];
/* 028E80C4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E80C8 */ cpu->r[23] = cpu->r[3];
/* 028E80CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[23], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028E80D0 */ cpu->r[9] = cpu->r[28] + cpu->r[0];
/* 028E80D4 */ _t60 = cpu->r[1] + 0x00000028u;
/* 028E80D4 */ rbrew_write32(cpu->mem, _t60, cpu->r[27]);
/* 028E80D8 */ cpu->r[0] = cpu->r[9] + 0x00000004u;
/* 028E80DC */ cpu->r[5] = cpu->r[29];
/* 028E80E0 */ cpu->r[0] = cpu->r[31] + cpu->r[0];
/* 028E80E4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028E80E8 */ cpu->r[4] = cpu->r[23];
/* 028E80EC */ _t61 = cpu->r[1] + 0x00000024u;
/* 028E80EC */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
/* 028E80F0 */ Gambit_fn_028ECEA8(cpu);
/* 028E80F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E80F8 */ cpu->r[26] = cpu->r[3];
/* 028E80FC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E80FC */ _t63 = _t62 & 0x00000001u;
/* 028E80FC */ if (_t63) goto L_028E823C; else goto L_028E8100;
L_028E8100: ; // 0x28e8100
/* 028E8100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028E8104 */ cpu->r[17] = cpu->r[23];
/* 028E8108 */ cpu->r[28] = 0x00000000u;
/* 028E810C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E810C */ _t65 = _t64 & 0x00000001u;
/* 028E810C */ if (_t65) goto L_028E823C; else goto L_028E8110;
L_028E8110: ; // 0x28e8110
/* 028E8110 */ cpu->f[28] = cpu->f[31];
/* 028E8114 */ cpu->r[19] = cpu->r[23] + 0xFFFFFFFFu;
/* 028E8118 */ cpu->r[18] = cpu->r[24] + 0xFFFFFFF4u;
/* 028E811C */ cpu->f[29] = cpu->f[30];
/* 028E8120 */ _t66 = cpu->r[30] + 0x00000000u;
/* 028E8120 */ cpu->r[24] = rbrew_read32(cpu->mem, _t66);
/* 028E8124 */ cpu->r[20] = 0x00000000u;
L_028E8128: ; // 0x28e8128
/* 028E8128 */ _t67 = cpu->r[1] + 0x00000010u;
/* 028E8128 */ rbrew_write32(cpu->mem, _t67, cpu->r[20]);
/* 028E812C */ cpu->ctr = cpu->r[24];
/* 028E8130 */ _t68 = cpu->r[1] + 0x00000008u;
/* 028E8130 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[28]);
/* 028E8134 */ _t69 = cpu->r[1] + 0x0000000Cu;
/* 028E8134 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[28]);
/* 028E8138 */ _t70 = cpu->r[1] + 0x00000014u;
/* 028E8138 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[29]);
/* 028E813C */ _t71 = cpu->r[18] + 0x00000010u;
/* 028E813C */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
/* 028E813C */ cpu->r[18] = _t71;
/* 028E8140 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8144 */ _t72 = cpu->r[1] + 0x00000018u;
/* 028E8144 */ rbrew_write32(cpu->mem, _t72, cpu->r[3]);
/* 028E8148 */ cpu->ctr = cpu->r[24];
/* 028E814C */ _t73 = cpu->r[1] + 0x00000018u;
/* 028E814C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t73);
/* 028E8150 */ _t74 = cpu->r[1] + 0x00000008u;
/* 028E8150 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[9]);
/* 028E8154 */ _t75 = cpu->r[18] + 0x00000004u;
/* 028E8154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
/* 028E8158 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E815C */ _t76 = cpu->r[1] + 0x0000001Cu;
/* 028E815C */ rbrew_write32(cpu->mem, _t76, cpu->r[3]);
/* 028E8160 */ cpu->ctr = cpu->r[24];
/* 028E8164 */ _t77 = cpu->r[1] + 0x0000001Cu;
/* 028E8164 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t77);
/* 028E8168 */ _t78 = cpu->r[1] + 0x0000000Cu;
/* 028E8168 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[10]);
/* 028E816C */ _t79 = cpu->r[18] + 0x00000008u;
/* 028E816C */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
/* 028E8170 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8174 */ cpu->ctr = cpu->r[24];
/* 028E8178 */ _t80 = cpu->r[1] + 0x00000010u;
/* 028E8178 */ rbrew_write32(cpu->mem, _t80, cpu->r[3]);
/* 028E817C */ _t81 = cpu->r[18] + 0x0000000Cu;
/* 028E817C */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
/* 028E8180 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8184 */ _t82 = cpu->r[1] + 0x00000020u;
/* 028E8184 */ rbrew_write32(cpu->mem, _t82, cpu->r[3]);
/* 028E8188 */ _t83 = cpu->r[1] + 0x00000020u;
/* 028E8188 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t83);
/* 028E818C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E8190 */ _t84 = cpu->r[1] + 0x00000014u;
/* 028E8190 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[11]);
/* 028E8194 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8194 */ _t86 = _t85 & 0x00000001u;
/* 028E8194 */ if (_t86) goto L_028E8198; else goto L_028E81D0;
L_028E8198: ; // 0x28e8198
/* 028E8198 */ cpu->r[3] = cpu->r[26];
/* 028E819C */ Gambit_fn_028EC238(cpu);
/* 028E81A0 */ _t87 = cpu->r[1] + 0x00000008u;
/* 028E81A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t87);
/* 028E81A4 */ _t88 = cpu->r[3] + 0x00000000u;
/* 028E81A4 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[12]);
/* 028E81A8 */ _t89 = cpu->r[1] + 0x0000000Cu;
/* 028E81A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t89);
/* 028E81AC */ _t90 = cpu->r[3] + 0x00000004u;
/* 028E81AC */ rbrew_write_f32(cpu->mem, _t90, cpu->f[13]);
/* 028E81B0 */ _t91 = cpu->r[1] + 0x00000010u;
/* 028E81B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
/* 028E81B4 */ _t92 = cpu->r[3] + 0x00000008u;
/* 028E81B4 */ rbrew_write32(cpu->mem, _t92, cpu->r[0]);
/* 028E81B8 */ _t93 = cpu->r[1] + 0x00000014u;
/* 028E81B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t93);
/* 028E81BC */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
/* 028E81BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028E81C0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E81C4 */ _t94 = cpu->r[3] + 0x0000000Cu;
/* 028E81C4 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]);
/* 028E81C8 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E81C8 */ _t96 = _t95 & 0x00000001u;
/* 028E81C8 */ if (_t96) goto L_028E81CC; else goto L_028E8128;
L_028E81CC: ; // 0x28e81cc
/* 028E81CC */ goto L_028E823C;
L_028E81D0: ; // 0x28e81d0
/* 028E81D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[19]);
/* 028E81D4 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E81D4 */ _t98 = _t97 & 0x00000001u;
/* 028E81D4 */ if (_t98) goto L_028E81D8; else goto L_028E8210;
L_028E81D8: ; // 0x28e81d8
/* 028E81D8 */ cpu->r[3] = cpu->r[26];
/* 028E81DC */ Gambit_fn_028EC240(cpu);
/* 028E81E0 */ _t99 = cpu->r[1] + 0x00000008u;
/* 028E81E0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t99);
/* 028E81E4 */ _t100 = cpu->r[3] + 0x00000000u;
/* 028E81E4 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[6]);
/* 028E81E8 */ _t101 = cpu->r[1] + 0x0000000Cu;
/* 028E81E8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t101);
/* 028E81EC */ _t102 = cpu->r[3] + 0x00000004u;
/* 028E81EC */ rbrew_write_f32(cpu->mem, _t102, cpu->f[7]);
/* 028E81F0 */ _t103 = cpu->r[1] + 0x00000010u;
/* 028E81F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
/* 028E81F4 */ _t104 = cpu->r[3] + 0x00000008u;
/* 028E81F4 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
/* 028E81F8 */ _t105 = cpu->r[1] + 0x00000014u;
/* 028E81F8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t105);
/* 028E81FC */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
/* 028E81FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028E8200 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E8204 */ _t106 = cpu->r[3] + 0x0000000Cu;
/* 028E8204 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[8]);
/* 028E8208 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8208 */ _t108 = _t107 & 0x00000001u;
/* 028E8208 */ if (_t108) goto L_028E820C; else goto L_028E8128;
L_028E820C: ; // 0x28e820c
/* 028E820C */ goto L_028E823C;
L_028E8210: ; // 0x28e8210
/* 028E8210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], 0x00000001u);
/* 028E8214 */ cpu->r[16] = cpu->r[23] + 0xFFFFFFFEu;
/* 028E8218 */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E8218 */ _t110 = _t109 & 0x00000001u;
/* 028E8218 */ if (_t110) goto L_028E821C; else goto L_028E8230;
L_028E821C: ; // 0x28e821c
/* 028E821C */ cpu->r[3] = cpu->r[26];
/* 028E8220 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E8224 */ Gambit_fn_028EC1E0(cpu);
/* 028E8228 */ cpu->r[16] = cpu->r[16] + 0xFFFFFFFFu;
/* 028E8228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
/* 028E822C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E822C */ _t112 = _t111 & 0x00000001u;
/* 028E822C */ if (_t112) goto L_028E8230; else goto L_028E821C;
L_028E8230: ; // 0x28e8230
/* 028E8230 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
/* 028E8230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028E8234 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028E8238 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8238 */ _t114 = _t113 & 0x00000001u;
/* 028E8238 */ if (_t114) goto L_028E823C; else goto L_028E8128;
L_028E823C: ; // 0x28e823c
/* 028E823C */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
/* 028E823C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028E8240 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8240 */ _t116 = _t115 & 0x00000001u;
/* 028E8240 */ if (_t116) goto L_028E8244; else goto L_028E80A8;
L_028E8244: ; // 0x28e8244
/* 028E8244 */ /* nop */
/* 028E8248 */ _t117 = cpu->r[1] + 0x00000098u;
/* 028E8248 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t117);
/* 028E824C */ _t118 = cpu->r[1] + 0x000000A8u;
/* 028E824C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t118);
/* 028E8250 */ _t119 = cpu->r[1] + 0x00000090u;
/* 028E8250 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t119);
/* 028E8254 */ _t120 = cpu->r[1] + 0x000000A0u;
/* 028E8254 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t120);
/* 028E8258 */ _t121 = cpu->r[1] + 0x00000078u;
/* 028E8258 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t121);
/* 028E825C */ _t122 = cpu->r[1] + 0x00000088u;
/* 028E825C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t122);
/* 028E8260 */ _t123 = cpu->r[1] + 0x00000070u;
/* 028E8260 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t123);
/* 028E8264 */ _t124 = cpu->r[1] + 0x00000080u;
/* 028E8264 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t124);
/* 028E8268 */ cpu->r[3] = 0x00000001u;
/* 028E826C */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E826C */ _t126 = _t125 & 0x00000001u;
/* 028E826C */ if (_t126) goto L_028E8270; // else: addr-0 trap, fall-through
L_028E8270: ; // 0x28e8270
/* 028E8270 */ _t127 = cpu->r[1] + 0x000000B4u;
/* 028E8270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
/* 028E8274 */ cpu->lr = cpu->r[0];
/* 028E8278 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
/* 028E827C */ return;
}
// fn_028E8280 @ 0x28e8280
void Gambit_fn_028E8280(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_028E8280: ; // 0x28e8280
/* 028E8280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8284 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8284 */ _t17 = _t16 & 0x00000001u;
/* 028E8284 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E8284 */ goto L_028E8288;
L_028E8288: ; // 0x28e8288
/* 028E8288 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E8288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E828C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E828C */ _t19 = _t18 & 0x00000001u;
/* 028E828C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E828C */ goto L_028E8290;
L_028E8290: ; // 0x28e8290
/* 028E8290 */ goto L_02801BB0;
}
// fn_028E8294 @ 0x28e8294
void Gambit_fn_028E8294(CPUState* cpu) {
L_028E8294: ; // 0x28e8294
/* 028E8294 */ return;
}
// fn_028E8298 @ 0x28e8298
void Gambit_fn_028E8298(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E8298: ; // 0x28e8298
/* 028E8298 */ cpu->r[0] = cpu->lr;
/* 028E829C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E829C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E829C */ cpu->r[1] = _t0;
/* 028E82A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E82A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E82A4 */ cpu->r[31] = cpu->r[4];
/* 028E82A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E82AC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E82AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E82B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E82B0 */ _t4 = _t3 & 0x00000001u;
/* 028E82B0 */ if (_t4) goto L_028E82B4; else goto L_028E82C4;
L_028E82B4: ; // 0x28e82b4
/* 028E82B4 */ cpu->r[3] = 0x00000010u;
/* 028E82B8 */ Gambit_fn_02801A78(cpu);
/* 028E82BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E82C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E82C0 */ _t6 = _t5 & 0x00000001u;
/* 028E82C0 */ if (_t6) goto L_028E8390; else goto L_028E82C4;
L_028E82C4: ; // 0x28e82c4
/* 028E82C4 */ cpu->r[10] = 0x00000000u;
/* 028E82C8 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028E82C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028E82CC */ _t8 = cpu->r[3] + 0x00000000u;
/* 028E82CC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
/* 028E82D0 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028E82D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
/* 028E82D4 */ _t10 = cpu->r[3] + 0x0000000Cu;
/* 028E82D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
/* 028E82D8 */ _t11 = cpu->r[31] + 0x00000000u;
/* 028E82D8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t11);
/* 028E82DC */ cpu->r[10] = 0x41470000u;
/* 028E82E0 */ _t12 = cpu->r[31] + 0x00000001u;
/* 028E82E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12);
/* 028E82E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
/* 028E82E8 */ _t13 = cpu->r[31] + 0x00000002u;
/* 028E82E8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t13);
/* 028E82EC */ _t14 = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000008u, 0x0000000Fu);
/* 028E82EC */ _t15 = cpu->r[0] & 0xFF00FFFFu;
/* 028E82EC */ cpu->r[0] = _t15 | _t14;
/* 028E82F0 */ _t16 = cpu->r[31] + 0x00000003u;
/* 028E82F0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t16);
/* 028E82F4 */ _t17 = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000010u, 0x00000017u);
/* 028E82F4 */ _t18 = cpu->r[0] & 0xFFFF00FFu;
/* 028E82F4 */ cpu->r[0] = _t18 | _t17;
/* 028E82F8 */ cpu->r[10] = cpu->r[10] + 0x00005354u;
/* 028E82FC */ cpu->r[8] = cpu->r[0] | cpu->r[9];
/* 028E8300 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
/* 028E8304 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8304 */ _t20 = _t19 & 0x00000001u;
/* 028E8304 */ if (_t20) goto L_028E8308; else goto L_028E8390;
L_028E8308: ; // 0x28e8308
/* 028E8308 */ _t21 = cpu->r[31] + 0x00000004u;
/* 028E8308 */ cpu->r[10] = rbrew_read16(cpu->mem, _t21);
/* 028E830C */ _t22 = cpu->r[1] + 0x00000008u;
/* 028E830C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[10]);
/* 028E8310 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E8310 */ cpu->r[7] = rbrew_read8(cpu->mem, _t23);
/* 028E8314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x000000FFu);
/* 028E8318 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8318 */ _t25 = _t24 & 0x00000001u;
/* 028E8318 */ if (_t25) goto L_028E8348; else goto L_028E831C;
L_028E831C: ; // 0x28e831c
/* 028E831C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x000000FEu);
/* 028E8320 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8320 */ _t27 = _t26 & 0x00000001u;
/* 028E8320 */ if (_t27) goto L_028E8324; else goto L_028E8348;
L_028E8324: ; // 0x28e8324
/* 028E8324 */ _t28 = cpu->r[1] + 0x00000009u;
/* 028E8324 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
/* 028E8328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FFu);
/* 028E832C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E832C */ _t30 = _t29 & 0x00000001u;
/* 028E832C */ if (_t30) goto L_028E8330; else goto L_028E8348;
L_028E8330: ; // 0x28e8330
/* 028E8330 */ cpu->r[12] = 0x101F0000u;
/* 028E8334 */ _t31 = cpu->r[12] + 0x000066E4u;
/* 028E8334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
/* 028E8338 */ cpu->r[11] = 0x00000000u;
/* 028E833C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028E8340 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8340 */ _t33 = _t32 & 0x00000001u;
/* 028E8340 */ if (_t33) goto L_028E835C; else goto L_028E8344;
L_028E8344: ; // 0x28e8344
/* 028E8344 */ goto L_028E8390;
L_028E8348: ; // 0x28e8348
/* 028E8348 */ cpu->r[12] = 0x101F0000u;
/* 028E834C */ _t34 = cpu->r[12] + 0x000066E4u;
/* 028E834C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
/* 028E8350 */ cpu->r[11] = 0x00000001u;
/* 028E8354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028E8358 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8358 */ _t36 = _t35 & 0x00000001u;
/* 028E8358 */ if (_t36) goto L_028E835C; else goto L_028E8390;
L_028E835C: ; // 0x28e835c
/* 028E835C */ _t37 = cpu->r[31] + 0x00000006u;
/* 028E835C */ cpu->r[0] = rbrew_read16(cpu->mem, _t37);
/* 028E8360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8364 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8364 */ _t39 = _t38 & 0x00000001u;
/* 028E8364 */ if (_t39) goto L_028E8368; else goto L_028E8390;
L_028E8368: ; // 0x28e8368
/* 028E8368 */ _t40 = cpu->r[31] + 0x0000000Cu;
/* 028E8368 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
/* 028E836C */ cpu->r[6] = cpu->r[31] + cpu->r[5];
/* 028E8370 */ _t41 = cpu->r[3] + 0x00000004u;
/* 028E8370 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
/* 028E8374 */ _t42 = cpu->r[31] + 0x00000010u;
/* 028E8374 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
/* 028E8378 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
/* 028E837C */ _t43 = cpu->r[3] + 0x00000008u;
/* 028E837C */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
/* 028E8380 */ _t44 = cpu->r[31] + 0x00000014u;
/* 028E8380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028E8384 */ _t45 = cpu->r[3] + 0x00000000u;
/* 028E8384 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]);
/* 028E8388 */ cpu->r[6] = cpu->r[31] + cpu->r[12];
/* 028E838C */ _t46 = cpu->r[3] + 0x0000000Cu;
/* 028E838C */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
L_028E8390: ; // 0x28e8390
/* 028E8390 */ _t47 = cpu->r[1] + 0x00000014u;
/* 028E8390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028E8394 */ _t48 = cpu->r[1] + 0x0000000Cu;
/* 028E8394 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
/* 028E8398 */ cpu->lr = cpu->r[0];
/* 028E839C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E83A0 */ return;
}
// fn_028E829C @ 0x28e829c
void Gambit_fn_028E829C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E829C: ; // 0x28e829c
/* 028E829C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E829C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E829C */ cpu->r[1] = _t0;
/* 028E82A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E82A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E82A4 */ cpu->r[31] = cpu->r[4];
/* 028E82A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E82AC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E82AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E82B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E82B0 */ _t4 = _t3 & 0x00000001u;
/* 028E82B0 */ if (_t4) goto L_028E82B4; else goto L_028E82C4;
L_028E82B4: ; // 0x28e82b4
/* 028E82B4 */ cpu->r[3] = 0x00000010u;
/* 028E82B8 */ Gambit_fn_02801A78(cpu);
/* 028E82BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E82C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E82C0 */ _t6 = _t5 & 0x00000001u;
/* 028E82C0 */ if (_t6) goto L_028E8390; else goto L_028E82C4;
L_028E82C4: ; // 0x28e82c4
/* 028E82C4 */ cpu->r[10] = 0x00000000u;
/* 028E82C8 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028E82C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028E82CC */ _t8 = cpu->r[3] + 0x00000000u;
/* 028E82CC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
/* 028E82D0 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028E82D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
/* 028E82D4 */ _t10 = cpu->r[3] + 0x0000000Cu;
/* 028E82D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
/* 028E82D8 */ _t11 = cpu->r[31] + 0x00000000u;
/* 028E82D8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t11);
/* 028E82DC */ cpu->r[10] = 0x41470000u;
/* 028E82E0 */ _t12 = cpu->r[31] + 0x00000001u;
/* 028E82E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12);
/* 028E82E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
/* 028E82E8 */ _t13 = cpu->r[31] + 0x00000002u;
/* 028E82E8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t13);
/* 028E82EC */ _t14 = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000008u, 0x0000000Fu);
/* 028E82EC */ _t15 = cpu->r[0] & 0xFF00FFFFu;
/* 028E82EC */ cpu->r[0] = _t15 | _t14;
/* 028E82F0 */ _t16 = cpu->r[31] + 0x00000003u;
/* 028E82F0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t16);
/* 028E82F4 */ _t17 = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000010u, 0x00000017u);
/* 028E82F4 */ _t18 = cpu->r[0] & 0xFFFF00FFu;
/* 028E82F4 */ cpu->r[0] = _t18 | _t17;
/* 028E82F8 */ cpu->r[10] = cpu->r[10] + 0x00005354u;
/* 028E82FC */ cpu->r[8] = cpu->r[0] | cpu->r[9];
/* 028E8300 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
/* 028E8304 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8304 */ _t20 = _t19 & 0x00000001u;
/* 028E8304 */ if (_t20) goto L_028E8308; else goto L_028E8390;
L_028E8308: ; // 0x28e8308
/* 028E8308 */ _t21 = cpu->r[31] + 0x00000004u;
/* 028E8308 */ cpu->r[10] = rbrew_read16(cpu->mem, _t21);
/* 028E830C */ _t22 = cpu->r[1] + 0x00000008u;
/* 028E830C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[10]);
/* 028E8310 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028E8310 */ cpu->r[7] = rbrew_read8(cpu->mem, _t23);
/* 028E8314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x000000FFu);
/* 028E8318 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8318 */ _t25 = _t24 & 0x00000001u;
/* 028E8318 */ if (_t25) goto L_028E8348; else goto L_028E831C;
L_028E831C: ; // 0x28e831c
/* 028E831C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x000000FEu);
/* 028E8320 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8320 */ _t27 = _t26 & 0x00000001u;
/* 028E8320 */ if (_t27) goto L_028E8324; else goto L_028E8348;
L_028E8324: ; // 0x28e8324
/* 028E8324 */ _t28 = cpu->r[1] + 0x00000009u;
/* 028E8324 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
/* 028E8328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FFu);
/* 028E832C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E832C */ _t30 = _t29 & 0x00000001u;
/* 028E832C */ if (_t30) goto L_028E8330; else goto L_028E8348;
L_028E8330: ; // 0x28e8330
/* 028E8330 */ cpu->r[12] = 0x101F0000u;
/* 028E8334 */ _t31 = cpu->r[12] + 0x000066E4u;
/* 028E8334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
/* 028E8338 */ cpu->r[11] = 0x00000000u;
/* 028E833C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028E8340 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8340 */ _t33 = _t32 & 0x00000001u;
/* 028E8340 */ if (_t33) goto L_028E835C; else goto L_028E8344;
L_028E8344: ; // 0x28e8344
/* 028E8344 */ goto L_028E8390;
L_028E8348: ; // 0x28e8348
/* 028E8348 */ cpu->r[12] = 0x101F0000u;
/* 028E834C */ _t34 = cpu->r[12] + 0x000066E4u;
/* 028E834C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
/* 028E8350 */ cpu->r[11] = 0x00000001u;
/* 028E8354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028E8358 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8358 */ _t36 = _t35 & 0x00000001u;
/* 028E8358 */ if (_t36) goto L_028E835C; else goto L_028E8390;
L_028E835C: ; // 0x28e835c
/* 028E835C */ _t37 = cpu->r[31] + 0x00000006u;
/* 028E835C */ cpu->r[0] = rbrew_read16(cpu->mem, _t37);
/* 028E8360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8364 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8364 */ _t39 = _t38 & 0x00000001u;
/* 028E8364 */ if (_t39) goto L_028E8368; else goto L_028E8390;
L_028E8368: ; // 0x28e8368
/* 028E8368 */ _t40 = cpu->r[31] + 0x0000000Cu;
/* 028E8368 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
/* 028E836C */ cpu->r[6] = cpu->r[31] + cpu->r[5];
/* 028E8370 */ _t41 = cpu->r[3] + 0x00000004u;
/* 028E8370 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
/* 028E8374 */ _t42 = cpu->r[31] + 0x00000010u;
/* 028E8374 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
/* 028E8378 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
/* 028E837C */ _t43 = cpu->r[3] + 0x00000008u;
/* 028E837C */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
/* 028E8380 */ _t44 = cpu->r[31] + 0x00000014u;
/* 028E8380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028E8384 */ _t45 = cpu->r[3] + 0x00000000u;
/* 028E8384 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]);
/* 028E8388 */ cpu->r[6] = cpu->r[31] + cpu->r[12];
/* 028E838C */ _t46 = cpu->r[3] + 0x0000000Cu;
/* 028E838C */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
L_028E8390: ; // 0x28e8390
/* 028E8390 */ _t47 = cpu->r[1] + 0x00000014u;
/* 028E8390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028E8394 */ _t48 = cpu->r[1] + 0x0000000Cu;
/* 028E8394 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
/* 028E8398 */ cpu->lr = cpu->r[0];
/* 028E839C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E83A0 */ return;
}
// fn_028E83A4 @ 0x28e83a4
void Gambit_fn_028E83A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028E83A4: ; // 0x28e83a4
/* 028E83A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
/* 028E83A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028E83A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E83AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E83AC */ _t2 = _t1 & 0x00000001u;
/* 028E83AC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E83AC */ goto L_028E83B0;
L_028E83B0: ; // 0x28e83b0
/* 028E83B0 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
/* 028E83B4 */ cpu->r[3] = cpu->r[12] + cpu->r[4];
/* 028E83B8 */ return;
}
// fn_028E83BC @ 0x28e83bc
void Gambit_fn_028E83BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028E83BC: ; // 0x28e83bc
/* 028E83BC */ cpu->r[0] = cpu->lr;
/* 028E83C0 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E83C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E83C4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E83C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E83C4 */ cpu->r[1] = _t1;
/* 028E83C8 */ _t2 = cpu->r[3] + 0x00000000u;
/* 028E83C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E83CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E83D0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E83D0 */ _t4 = _t3 & 0x00000001u;
/* 028E83D0 */ if (_t4) goto L_028E83E4; else goto L_028E83D4;
L_028E83D4: ; // 0x28e83d4
/* 028E83D4 */ _t5 = cpu->r[3] + 0x00000004u;
/* 028E83D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028E83D8 */ _t6 = cpu->r[12] + 0x00000008u;
/* 028E83D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
/* 028E83DC */ Gambit_fn_028E83A4(cpu);
/* 028E83E0 */ cpu->r[0] = cpu->r[3];
L_028E83E4: ; // 0x28e83e4
/* 028E83E4 */ cpu->r[3] = cpu->r[0];
/* 028E83E8 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028E83E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E83EC */ cpu->lr = cpu->r[0];
/* 028E83F0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E83F4 */ return;
}
// fn_028E83C4 @ 0x28e83c4
void Gambit_fn_028E83C4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028E83C4: ; // 0x28e83c4
/* 028E83C4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E83C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E83C4 */ cpu->r[1] = _t0;
/* 028E83C8 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028E83C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028E83CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E83D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E83D0 */ _t3 = _t2 & 0x00000001u;
/* 028E83D0 */ if (_t3) goto L_028E83E4; else goto L_028E83D4;
L_028E83D4: ; // 0x28e83d4
/* 028E83D4 */ _t4 = cpu->r[3] + 0x00000004u;
/* 028E83D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028E83D8 */ _t5 = cpu->r[12] + 0x00000008u;
/* 028E83D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
/* 028E83DC */ Gambit_fn_028E83A4(cpu);
/* 028E83E0 */ cpu->r[0] = cpu->r[3];
L_028E83E4: ; // 0x28e83e4
/* 028E83E4 */ cpu->r[3] = cpu->r[0];
/* 028E83E8 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028E83E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E83EC */ cpu->lr = cpu->r[0];
/* 028E83F0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E83F4 */ return;
}
// fn_028E83F8 @ 0x28e83f8
void Gambit_fn_028E83F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028E83F8: ; // 0x28e83f8
/* 028E83F8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028E83F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028E83FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028E8400 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8400 */ _t2 = _t1 & 0x00000001u;
/* 028E8400 */ if (_t2) goto L_028E8450; else goto L_028E8404;
L_028E8404: ; // 0x28e8404
/* 028E8404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E8408 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8408 */ _t4 = _t3 & 0x00000001u;
/* 028E8408 */ if (_t4) goto L_028E840C; else goto L_028E8418;
L_028E840C: ; // 0x28e840c
/* 028E840C */ _t5 = cpu->r[3] + 0x00000004u;
/* 028E840C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
/* 028E8410 */ cpu->r[3] = cpu->r[9] + 0x0000000Cu;
/* 028E8414 */ return;
L_028E8418: ; // 0x28e8418
/* 028E8418 */ _t6 = cpu->r[4] + 0x00000008u;
/* 028E8418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
/* 028E8420 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E8420 */ _t8 = _t7 & 0x00000001u;
/* 028E8420 */ if (_t8) goto L_028E8424; else goto L_028E8450;
L_028E8424: ; // 0x28e8424
/* 028E8424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8428 */ cpu->r[10] = 0x00000000u;
/* 028E842C */ cpu->r[3] = cpu->r[4] + 0x0000000Cu;
/* 028E8430 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E8430 */ _t10 = _t9 & 0x00000001u;
/* 028E8430 */ if (_t10) goto L_028E8434; else goto L_028E8450;
L_028E8434: ; // 0x28e8434
/* 028E8434 */ cpu->ctr = cpu->r[0];
L_028E8438: ; // 0x28e8438
/* 028E8438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
/* 028E843C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E843C */ _t12 = _t11 & 0x00000001u;
/* 028E843C */ if (_t12) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E843C */ goto L_028E8440;
L_028E8440: ; // 0x28e8440
/* 028E8440 */ _t13 = cpu->r[3] + 0x00000000u;
/* 028E8440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028E8444 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E8448 */ cpu->r[3] = cpu->r[3] + cpu->r[12];
/* 028E844C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E844C */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E844C */ _t15 = _t14 >> (0x00000002u & 31u);
/* 028E844C */ _t16 = _t15 & 0x00000001u;
/* 028E844C */ if (_t16) goto L_028E8438; else goto L_028E8450;
L_028E8450: ; // 0x28e8450
/* 028E8450 */ cpu->r[3] = 0x00000000u;
/* 028E8454 */ return;
}
// fn_028E8458 @ 0x28e8458
void Gambit_fn_028E8458(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028E8458: ; // 0x28e8458
/* 028E8458 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028E8458 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
/* 028E845C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E8460 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8460 */ _t2 = _t1 & 0x00000001u;
/* 028E8460 */ if (_t2) goto L_028E8474; else goto L_028E8464;
L_028E8464: ; // 0x28e8464
/* 028E8464 */ _t3 = cpu->r[3] + 0x00000008u;
/* 028E8464 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028E8468 */ _t4 = cpu->r[9] + 0x00000008u;
/* 028E8468 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
/* 028E846C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
/* 028E8470 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E8470 */ _t6 = _t5 & 0x00000001u;
/* 028E8470 */ if (_t6) goto L_028E847C; else goto L_028E8474;
L_028E8474: ; // 0x28e8474
/* 028E8474 */ cpu->r[3] = 0x00000000u;
/* 028E8478 */ return;
L_028E847C: ; // 0x28e847c
/* 028E847C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E8480 */ cpu->r[12] = cpu->r[9] + cpu->r[11];
/* 028E8484 */ _t7 = cpu->r[12] + 0x0000000Cu;
/* 028E8484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E8488 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
/* 028E848C */ return;
}
// fn_028E8490 @ 0x28e8490
void Gambit_fn_028E8490(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E8490: ; // 0x28e8490
/* 028E8490 */ cpu->r[0] = cpu->lr;
/* 028E8494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8494 */ cpu->r[1] = _t0;
/* 028E8498 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E8498 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E849C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E849C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E84A0 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E84A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E84A4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E84A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E84A8 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E84A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E84AC */ _t6 = cpu->r[3] + 0x00000080u;
/* 028E84AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028E84B0 */ _t7 = cpu->r[3] + 0x00000088u;
/* 028E84B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
/* 028E84B4 */ cpu->r[28] = cpu->r[3] + 0x0000007Cu;
/* 028E84B8 */ cpu->r[12] = cpu->r[11] - cpu->r[29];
/* 028E84BC */ cpu->r[30] = cpu->r[28] - cpu->r[29];
/* 028E84C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
/* 028E84C4 */ _t8 = cpu->r[11] + 0x00000004u;
/* 028E84C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E84C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E84C8 */ _t10 = _t9 & 0x00000001u;
/* 028E84C8 */ if (_t10) goto L_028E84E8; else goto L_028E84CC;
L_028E84CC: ; // 0x28e84cc
/* 028E84CC */ cpu->r[3] = cpu->r[12];
/* 028E84D0 */ cpu->r[4] = 0x00000001u;
/* 028E84D4 */ Gambit_fn_028DF194(cpu);
/* 028E84D8 */ cpu->r[12] = cpu->r[31] - cpu->r[29];
/* 028E84DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
/* 028E84E0 */ _t11 = cpu->r[31] + 0x00000004u;
/* 028E84E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E84E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E84E4 */ _t13 = _t12 & 0x00000001u;
/* 028E84E4 */ if (_t13) goto L_028E84E8; else goto L_028E84CC;
L_028E84E8: ; // 0x28e84e8
/* 028E84E8 */ cpu->r[3] = cpu->r[28];
/* 028E84EC */ Gambit_fn_0280236C(cpu);
/* 028E84F0 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028E84F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
/* 028E84F4 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E84F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E84F8 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028E84F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E84FC */ _t17 = cpu->r[1] + 0x00000010u;
/* 028E84FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E8500 */ cpu->lr = cpu->r[0];
/* 028E8504 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E8504 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E8508 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E850C */ return;
}
// fn_028E8494 @ 0x28e8494
void Gambit_fn_028E8494(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E8494: ; // 0x28e8494
/* 028E8494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8494 */ cpu->r[1] = _t0;
/* 028E8498 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E8498 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E849C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E849C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E84A0 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E84A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E84A4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E84A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E84A8 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E84A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E84AC */ _t6 = cpu->r[3] + 0x00000080u;
/* 028E84AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028E84B0 */ _t7 = cpu->r[3] + 0x00000088u;
/* 028E84B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
/* 028E84B4 */ cpu->r[28] = cpu->r[3] + 0x0000007Cu;
/* 028E84B8 */ cpu->r[12] = cpu->r[11] - cpu->r[29];
/* 028E84BC */ cpu->r[30] = cpu->r[28] - cpu->r[29];
/* 028E84C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
/* 028E84C4 */ _t8 = cpu->r[11] + 0x00000004u;
/* 028E84C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E84C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E84C8 */ _t10 = _t9 & 0x00000001u;
/* 028E84C8 */ if (_t10) goto L_028E84E8; else goto L_028E84CC;
L_028E84CC: ; // 0x28e84cc
/* 028E84CC */ cpu->r[3] = cpu->r[12];
/* 028E84D0 */ cpu->r[4] = 0x00000001u;
/* 028E84D4 */ Gambit_fn_028DF194(cpu);
/* 028E84D8 */ cpu->r[12] = cpu->r[31] - cpu->r[29];
/* 028E84DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
/* 028E84E0 */ _t11 = cpu->r[31] + 0x00000004u;
/* 028E84E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E84E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E84E4 */ _t13 = _t12 & 0x00000001u;
/* 028E84E4 */ if (_t13) goto L_028E84E8; else goto L_028E84CC;
L_028E84E8: ; // 0x28e84e8
/* 028E84E8 */ cpu->r[3] = cpu->r[28];
/* 028E84EC */ Gambit_fn_0280236C(cpu);
/* 028E84F0 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028E84F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
/* 028E84F4 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E84F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E84F8 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028E84F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E84FC */ _t17 = cpu->r[1] + 0x00000010u;
/* 028E84FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E8500 */ cpu->lr = cpu->r[0];
/* 028E8504 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E8504 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E8508 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E850C */ return;
}
// fn_028E8510 @ 0x28e8510
void Gambit_fn_028E8510(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028E8510: ; // 0x28e8510
/* 028E8510 */ cpu->r[0] = cpu->lr;
/* 028E8514 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E8514 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8514 */ cpu->r[1] = _t0;
/* 028E8518 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E8518 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E851C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E851C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E8520 */ cpu->r[30] = cpu->r[3];
/* 028E8520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E8524 */ cpu->r[31] = cpu->r[4];
/* 028E8528 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8528 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E852C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E852C */ _t5 = _t4 & 0x00000001u;
/* 028E852C */ if (_t5) goto L_028E856C; else goto L_028E8530;
L_028E8530: ; // 0x28e8530
/* 028E8530 */ cpu->r[10] = 0x10140000u;
/* 028E8534 */ cpu->r[0] = 0x10140000u;
/* 028E8538 */ cpu->r[10] = cpu->r[10] + 0xFFFFBB38u;
/* 028E853C */ cpu->r[0] = cpu->r[0] + 0xFFFFBBC0u;
/* 028E8540 */ _t6 = cpu->r[30] + 0x00000008u;
/* 028E8540 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
/* 028E8544 */ cpu->r[12] = 0x10140000u;
/* 028E8548 */ _t7 = cpu->r[30] + 0x00000020u;
/* 028E8548 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E854C */ cpu->r[12] = cpu->r[12] + 0xFFFFBBA8u;
/* 028E8550 */ cpu->r[3] = cpu->r[30];
/* 028E8554 */ _t8 = cpu->r[30] + 0x0000001Cu;
/* 028E8554 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028E8558 */ Gambit_fn_028E8490(cpu);
/* 028E855C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E855C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8560 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8560 */ _t10 = _t9 & 0x00000001u;
/* 028E8560 */ if (_t10) goto L_028E856C; else goto L_028E8564;
L_028E8564: ; // 0x28e8564
/* 028E8564 */ cpu->r[3] = cpu->r[30];
/* 028E8568 */ Gambit_fn_02801BB0(cpu);
L_028E856C: ; // 0x28e856c
/* 028E856C */ _t11 = cpu->r[1] + 0x00000014u;
/* 028E856C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028E8570 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028E8570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028E8574 */ cpu->lr = cpu->r[0];
/* 028E8578 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E8578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028E857C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8580 */ return;
}
// fn_028E8514 @ 0x28e8514
void Gambit_fn_028E8514(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028E8514: ; // 0x28e8514
/* 028E8514 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E8514 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8514 */ cpu->r[1] = _t0;
/* 028E8518 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E8518 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E851C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E851C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E8520 */ cpu->r[30] = cpu->r[3];
/* 028E8520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E8524 */ cpu->r[31] = cpu->r[4];
/* 028E8528 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8528 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E852C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E852C */ _t5 = _t4 & 0x00000001u;
/* 028E852C */ if (_t5) goto L_028E856C; else goto L_028E8530;
L_028E8530: ; // 0x28e8530
/* 028E8530 */ cpu->r[10] = 0x10140000u;
/* 028E8534 */ cpu->r[0] = 0x10140000u;
/* 028E8538 */ cpu->r[10] = cpu->r[10] + 0xFFFFBB38u;
/* 028E853C */ cpu->r[0] = cpu->r[0] + 0xFFFFBBC0u;
/* 028E8540 */ _t6 = cpu->r[30] + 0x00000008u;
/* 028E8540 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
/* 028E8544 */ cpu->r[12] = 0x10140000u;
/* 028E8548 */ _t7 = cpu->r[30] + 0x00000020u;
/* 028E8548 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E854C */ cpu->r[12] = cpu->r[12] + 0xFFFFBBA8u;
/* 028E8550 */ cpu->r[3] = cpu->r[30];
/* 028E8554 */ _t8 = cpu->r[30] + 0x0000001Cu;
/* 028E8554 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028E8558 */ Gambit_fn_028E8490(cpu);
/* 028E855C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E855C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8560 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8560 */ _t10 = _t9 & 0x00000001u;
/* 028E8560 */ if (_t10) goto L_028E856C; else goto L_028E8564;
L_028E8564: ; // 0x28e8564
/* 028E8564 */ cpu->r[3] = cpu->r[30];
/* 028E8568 */ Gambit_fn_02801BB0(cpu);
L_028E856C: ; // 0x28e856c
/* 028E856C */ _t11 = cpu->r[1] + 0x00000014u;
/* 028E856C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028E8570 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028E8570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028E8574 */ cpu->lr = cpu->r[0];
/* 028E8578 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E8578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028E857C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8580 */ return;
}
// fn_028E8584 @ 0x28e8584
void Gambit_fn_028E8584(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028E8584: ; // 0x28e8584
/* 028E8584 */ cpu->r[0] = cpu->lr;
/* 028E8588 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E8588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8588 */ cpu->r[1] = _t0;
/* 028E858C */ _t1 = cpu->r[1] + 0x00000018u;
/* 028E858C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8590 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028E8590 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8594 */ cpu->r[31] = cpu->r[5];
/* 028E8594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8598 */ cpu->r[30] = cpu->r[3];
/* 028E859C */ _t3 = cpu->r[1] + 0x00000024u;
/* 028E859C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E85A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E85A0 */ _t5 = _t4 & 0x00000001u;
/* 028E85A0 */ if (_t5) goto L_028E85A4; else goto L_028E85C0;
L_028E85A4: ; // 0x28e85a4
/* 028E85A4 */ _t6 = cpu->r[1] + 0x00000024u;
/* 028E85A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E85A8 */ _t7 = cpu->r[1] + 0x00000018u;
/* 028E85A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
/* 028E85AC */ cpu->lr = cpu->r[0];
/* 028E85B0 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028E85B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E85B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E85B8 */ cpu->r[3] = 0x00000000u;
/* 028E85BC */ return;
L_028E85C0: ; // 0x28e85c0
/* 028E85C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E85C4 */ cpu->r[4] = cpu->r[4] + 0x00000110u;
/* 028E85C8 */ Gambit_fn_0200D450(cpu);
/* 028E85CC */ _t9 = cpu->r[30] + 0x00000008u;
/* 028E85CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028E85D0 */ _t10 = cpu->r[12] + 0x0000004Cu;
/* 028E85D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E85D4 */ cpu->ctr = cpu->r[0];
/* 028E85D8 */ cpu->r[3] = cpu->r[30];
/* 028E85DC */ cpu->r[5] = cpu->r[31];
/* 028E85E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E85E4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E85E8 */ _t11 = cpu->r[1] + 0x00000024u;
/* 028E85E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028E85EC */ _t12 = cpu->r[1] + 0x00000018u;
/* 028E85EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028E85F0 */ cpu->lr = cpu->r[0];
/* 028E85F4 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028E85F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028E85F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E85FC */ cpu->r[3] = 0x00000001u;
/* 028E8600 */ return;
}
// fn_028E8588 @ 0x28e8588
void Gambit_fn_028E8588(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028E8588: ; // 0x28e8588
/* 028E8588 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E8588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8588 */ cpu->r[1] = _t0;
/* 028E858C */ _t1 = cpu->r[1] + 0x00000018u;
/* 028E858C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8590 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028E8590 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8594 */ cpu->r[31] = cpu->r[5];
/* 028E8594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8598 */ cpu->r[30] = cpu->r[3];
/* 028E859C */ _t3 = cpu->r[1] + 0x00000024u;
/* 028E859C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E85A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E85A0 */ _t5 = _t4 & 0x00000001u;
/* 028E85A0 */ if (_t5) goto L_028E85A4; else goto L_028E85C0;
L_028E85A4: ; // 0x28e85a4
/* 028E85A4 */ _t6 = cpu->r[1] + 0x00000024u;
/* 028E85A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E85A8 */ _t7 = cpu->r[1] + 0x00000018u;
/* 028E85A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
/* 028E85AC */ cpu->lr = cpu->r[0];
/* 028E85B0 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028E85B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028E85B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E85B8 */ cpu->r[3] = 0x00000000u;
/* 028E85BC */ return;
L_028E85C0: ; // 0x28e85c0
/* 028E85C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E85C4 */ cpu->r[4] = cpu->r[4] + 0x00000110u;
/* 028E85C8 */ Gambit_fn_0200D450(cpu);
/* 028E85CC */ _t9 = cpu->r[30] + 0x00000008u;
/* 028E85CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028E85D0 */ _t10 = cpu->r[12] + 0x0000004Cu;
/* 028E85D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E85D4 */ cpu->ctr = cpu->r[0];
/* 028E85D8 */ cpu->r[3] = cpu->r[30];
/* 028E85DC */ cpu->r[5] = cpu->r[31];
/* 028E85E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E85E4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E85E8 */ _t11 = cpu->r[1] + 0x00000024u;
/* 028E85E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028E85EC */ _t12 = cpu->r[1] + 0x00000018u;
/* 028E85EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028E85F0 */ cpu->lr = cpu->r[0];
/* 028E85F4 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028E85F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028E85F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E85FC */ cpu->r[3] = 0x00000001u;
/* 028E8600 */ return;
}
// fn_028E8604 @ 0x28e8604
void Gambit_fn_028E8604(CPUState* 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_028E8604: ; // 0x28e8604
/* 028E8604 */ cpu->r[0] = cpu->lr;
/* 028E8608 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8608 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8608 */ cpu->r[1] = _t0;
/* 028E860C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E860C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8610 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8610 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E8614 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8614 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E8618 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E8618 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E861C */ cpu->r[29] = cpu->r[6];
/* 028E8620 */ cpu->r[31] = cpu->r[5];
/* 028E8624 */ cpu->r[5] = cpu->r[29];
/* 028E8628 */ cpu->r[30] = cpu->r[4];
/* 028E862C */ Gambit_fn_028E8584(cpu);
/* 028E8630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8634 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8634 */ _t6 = _t5 & 0x00000001u;
/* 028E8634 */ if (_t6) goto L_028E8638; else goto L_028E8674;
L_028E8638: ; // 0x28e8638
/* 028E8638 */ cpu->r[12] = 0x101F0000u;
/* 028E863C */ _t7 = cpu->r[12] + 0x00006338u;
/* 028E863C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E863C */ cpu->r[12] = _t7;
/* 028E8640 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E8640 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028E8644 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028E8644 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028E8648 */ _t10 = cpu->r[31] + 0x00000004u;
/* 028E8648 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028E864C */ _t11 = cpu->r[12] + 0x00000008u;
/* 028E864C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028E8650 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028E8650 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028E8654 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E8654 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028E8658 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028E8658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E865C */ _t15 = cpu->r[1] + 0x00000010u;
/* 028E865C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028E8660 */ cpu->lr = cpu->r[0];
/* 028E8664 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E8664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E8668 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E866C */ cpu->r[3] = 0x00000000u;
/* 028E8670 */ return;
L_028E8674: ; // 0x28e8674
/* 028E8674 */ cpu->r[5] = cpu->r[29];
/* 028E8678 */ cpu->r[4] = cpu->r[31];
/* 028E867C */ cpu->r[3] = cpu->r[30];
/* 028E8680 */ Gambit_fn_028D60D8(cpu);
/* 028E8684 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E8684 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E8688 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E8688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E868C */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E868C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E8690 */ cpu->lr = cpu->r[0];
/* 028E8694 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E8694 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E8698 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E869C */ cpu->r[3] = 0x00000001u;
/* 028E86A0 */ return;
}
// fn_028E8608 @ 0x28e8608
void Gambit_fn_028E8608(CPUState* 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_028E8608: ; // 0x28e8608
/* 028E8608 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8608 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8608 */ cpu->r[1] = _t0;
/* 028E860C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E860C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8610 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8610 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E8614 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8614 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E8618 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E8618 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E861C */ cpu->r[29] = cpu->r[6];
/* 028E8620 */ cpu->r[31] = cpu->r[5];
/* 028E8624 */ cpu->r[5] = cpu->r[29];
/* 028E8628 */ cpu->r[30] = cpu->r[4];
/* 028E862C */ Gambit_fn_028E8584(cpu);
/* 028E8630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8634 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8634 */ _t6 = _t5 & 0x00000001u;
/* 028E8634 */ if (_t6) goto L_028E8638; else goto L_028E8674;
L_028E8638: ; // 0x28e8638
/* 028E8638 */ cpu->r[12] = 0x101F0000u;
/* 028E863C */ _t7 = cpu->r[12] + 0x00006338u;
/* 028E863C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E863C */ cpu->r[12] = _t7;
/* 028E8640 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E8640 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028E8644 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028E8644 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028E8648 */ _t10 = cpu->r[31] + 0x00000004u;
/* 028E8648 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028E864C */ _t11 = cpu->r[12] + 0x00000008u;
/* 028E864C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028E8650 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028E8650 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028E8654 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E8654 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028E8658 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028E8658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E865C */ _t15 = cpu->r[1] + 0x00000010u;
/* 028E865C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028E8660 */ cpu->lr = cpu->r[0];
/* 028E8664 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E8664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E8668 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E866C */ cpu->r[3] = 0x00000000u;
/* 028E8670 */ return;
L_028E8674: ; // 0x28e8674
/* 028E8674 */ cpu->r[5] = cpu->r[29];
/* 028E8678 */ cpu->r[4] = cpu->r[31];
/* 028E867C */ cpu->r[3] = cpu->r[30];
/* 028E8680 */ Gambit_fn_028D60D8(cpu);
/* 028E8684 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E8684 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E8688 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E8688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E868C */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E868C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E8690 */ cpu->lr = cpu->r[0];
/* 028E8694 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E8694 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E8698 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E869C */ cpu->r[3] = 0x00000001u;
/* 028E86A0 */ return;
}
// fn_028E86A4 @ 0x28e86a4
void Gambit_fn_028E86A4(CPUState* 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_028E8604: ; // 0x28e8604
/* 028E8604 */ cpu->r[0] = cpu->lr;
/* 028E8608 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8608 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8608 */ cpu->r[1] = _t0;
/* 028E860C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E860C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8610 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8610 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E8614 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8614 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E8618 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E8618 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E861C */ cpu->r[29] = cpu->r[6];
/* 028E8620 */ cpu->r[31] = cpu->r[5];
/* 028E8624 */ cpu->r[5] = cpu->r[29];
/* 028E8628 */ cpu->r[30] = cpu->r[4];
/* 028E862C */ Gambit_fn_028E8584(cpu);
/* 028E8630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8634 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8634 */ _t6 = _t5 & 0x00000001u;
/* 028E8634 */ if (_t6) goto L_028E8638; else goto L_028E8674;
L_028E8638: ; // 0x28e8638
/* 028E8638 */ cpu->r[12] = 0x101F0000u;
/* 028E863C */ _t7 = cpu->r[12] + 0x00006338u;
/* 028E863C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E863C */ cpu->r[12] = _t7;
/* 028E8640 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E8640 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028E8644 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028E8644 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028E8648 */ _t10 = cpu->r[31] + 0x00000004u;
/* 028E8648 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028E864C */ _t11 = cpu->r[12] + 0x00000008u;
/* 028E864C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028E8650 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028E8650 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028E8654 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E8654 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028E8658 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028E8658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E865C */ _t15 = cpu->r[1] + 0x00000010u;
/* 028E865C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028E8660 */ cpu->lr = cpu->r[0];
/* 028E8664 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028E8664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028E8668 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E866C */ cpu->r[3] = 0x00000000u;
/* 028E8670 */ return;
L_028E8674: ; // 0x28e8674
/* 028E8674 */ cpu->r[5] = cpu->r[29];
/* 028E8678 */ cpu->r[4] = cpu->r[31];
/* 028E867C */ cpu->r[3] = cpu->r[30];
/* 028E8680 */ Gambit_fn_028D60D8(cpu);
/* 028E8684 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E8684 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E8688 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E8688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E868C */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E868C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E8690 */ cpu->lr = cpu->r[0];
/* 028E8694 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E8694 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E8698 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E869C */ cpu->r[3] = 0x00000001u;
/* 028E86A0 */ return;
L_028E86A4: ; // 0x28e86a4
/* 028E86A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF4u;
/* 028E86A8 */ goto L_028E8604;
}
// fn_028E86AC @ 0x28e86ac
void Gambit_fn_028E86AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_021E983C: ; // 0x21e983c
/* 021E983C */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
/* 021E983C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 021E983C */ cpu->r[1] = _t0;
/* 021E9840 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 021E9840 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 021E9844 */ cpu->r[0] = cpu->lr;
/* 021E9848 */ _t2 = cpu->r[1] + 0x00000020u;
/* 021E9848 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
/* 021E984C */ /* nop */
/* 021E9850 */ _t3 = cpu->r[1] + 0x00000030u;
/* 021E9850 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
/* 021E9854 */ /* nop */
/* 021E9858 */ _t4 = cpu->r[1] + 0x00000028u;
/* 021E9858 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[28]);
/* 021E985C */ _t5 = cpu->r[1] + 0x00000050u;
/* 021E985C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
/* 021E9860 */ _t6 = cpu->r[1] + 0x00000010u;
/* 021E9860 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[27]);
/* 021E9864 */ _t7 = cpu->r[1] + 0x00000040u;
/* 021E9864 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[30]);
/* 021E9868 */ /* nop */
/* 021E986C */ _t8 = cpu->r[1] + 0x00000064u;
/* 021E986C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 021E9870 */ cpu->r[31] = cpu->r[4];
/* 021E9874 */ _t9 = cpu->r[1] + 0x00000038u;
/* 021E9874 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
/* 021E9878 */ /* nop */
/* 021E987C */ _t10 = cpu->r[1] + 0x00000018u;
/* 021E987C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[27]);
/* 021E9880 */ /* nop */
/* 021E9884 */ _t11 = cpu->r[1] + 0x00000048u;
/* 021E9884 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[30]);
/* 021E9888 */ _t12 = cpu->r[1] + 0x00000058u;
/* 021E9888 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
/* 021E988C */ _t13 = cpu->r[1] + 0x00000008u;
/* 021E988C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 021E9890 */ _t14 = cpu->r[31] + 0x00000000u;
/* 021E9890 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
/* 021E9894 */ cpu->r[30] = cpu->r[3];
/* 021E9898 */ Gambit_fn_02C886F8(cpu);
/* 021E989C */ cpu->f[27] = cpu->f[1];
/* 021E98A0 */ _t15 = cpu->r[31] + 0x00000004u;
/* 021E98A0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 021E98A4 */ Gambit_fn_02C886F8(cpu);
/* 021E98A8 */ cpu->f[28] = cpu->f[1];
/* 021E98AC */ _t16 = cpu->r[31] + 0x00000008u;
/* 021E98AC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
/* 021E98B0 */ Gambit_fn_02C886F8(cpu);
/* 021E98B4 */ cpu->f[29] = cpu->f[1];
/* 021E98B8 */ _t17 = cpu->r[31] + 0x00000000u;
/* 021E98B8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
/* 021E98BC */ Gambit_fn_02C88F2C(cpu);
/* 021E98C0 */ cpu->f[30] = cpu->f[1];
/* 021E98C4 */ _t18 = cpu->r[31] + 0x00000004u;
/* 021E98C4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
/* 021E98C8 */ Gambit_fn_02C88F2C(cpu);
/* 021E98CC */ cpu->f[31] = cpu->f[1];
/* 021E98D0 */ _t19 = cpu->r[31] + 0x00000008u;
/* 021E98D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19);
/* 021E98D4 */ Gambit_fn_02C88F2C(cpu);
/* 021E98D8 */ cpu->f[10] = cpu->f[30] * cpu->f[29];
/* 021E98DC */ cpu->r[12] = 0x10030000u;
/* 021E98E0 */ cpu->f[9] = cpu->f[27] * cpu->f[28];
/* 021E98E4 */ _t20 = cpu->r[12] + 0x00005890u;
/* 021E98E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
/* 021E98E8 */ cpu->f[11] = cpu->f[27] * cpu->f[31];
/* 021E98EC */ cpu->f[13] = -cpu->f[28];
/* 021E98F0 */ cpu->f[6] = fma(cpu->f[9], cpu->f[1], -(cpu->f[10]));
/* 021E98F4 */ _t21 = cpu->r[30] + 0x00000024u;
/* 021E98F4 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
/* 021E98F8 */ cpu->f[8] = cpu->f[30] * cpu->f[1];
/* 021E98FC */ _t22 = cpu->r[30] + 0x00000004u;
/* 021E98FC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[6]);
/* 021E9900 */ cpu->f[11] = cpu->f[31] * cpu->f[1];
/* 021E9904 */ _t23 = cpu->r[30] + 0x0000000Cu;
/* 021E9904 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 021E9908 */ cpu->f[12] = cpu->f[31] * cpu->f[29];
/* 021E990C */ _t24 = cpu->r[30] + 0x00000000u;
/* 021E990C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
/* 021E9910 */ cpu->f[9] = fma(cpu->f[9], cpu->f[29], cpu->f[8]);
/* 021E9914 */ _t25 = cpu->r[30] + 0x00000010u;
/* 021E9914 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[12]);
/* 021E9918 */ cpu->f[7] = cpu->f[27] * cpu->f[29];
/* 021E991C */ _t26 = cpu->r[30] + 0x0000001Cu;
/* 021E991C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
/* 021E9920 */ cpu->f[12] = cpu->f[27] * cpu->f[1];
/* 021E9924 */ _t27 = cpu->r[30] + 0x00000020u;
/* 021E9924 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
/* 021E9928 */ cpu->f[11] = fma(cpu->f[8], cpu->f[28], cpu->f[7]);
/* 021E992C */ _t28 = cpu->r[30] + 0x0000002Cu;
/* 021E992C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
/* 021E9930 */ cpu->f[13] = fma(cpu->f[10], cpu->f[28], -(cpu->f[12]));
/* 021E9934 */ _t29 = cpu->r[30] + 0x00000014u;
/* 021E9934 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[9]);
/* 021E9938 */ cpu->f[0] = cpu->f[30] * cpu->f[31];
/* 021E993C */ _t30 = cpu->r[30] + 0x00000008u;
/* 021E993C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
/* 021E9940 */ _t31 = cpu->r[30] + 0x00000018u;
/* 021E9940 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
/* 021E9944 */ _t32 = cpu->r[30] + 0x00000028u;
/* 021E9944 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
/* 021E9948 */ _t33 = cpu->r[1] + 0x00000038u;
/* 021E9948 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t33);
/* 021E994C */ _t34 = cpu->r[1] + 0x00000048u;
/* 021E994C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t34);
/* 021E9950 */ _t35 = cpu->r[1] + 0x00000030u;
/* 021E9950 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t35);
/* 021E9954 */ _t36 = cpu->r[1] + 0x00000040u;
/* 021E9954 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t36);
/* 021E9958 */ _t37 = cpu->r[1] + 0x00000028u;
/* 021E9958 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t37);
/* 021E995C */ _t38 = cpu->r[1] + 0x00000058u;
/* 021E995C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
/* 021E9960 */ _t39 = cpu->r[1] + 0x00000020u;
/* 021E9960 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t39);
/* 021E9964 */ _t40 = cpu->r[1] + 0x00000050u;
/* 021E9964 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t40);
/* 021E9968 */ _t41 = cpu->r[1] + 0x00000018u;
/* 021E9968 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t41);
/* 021E996C */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 021E996C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
/* 021E9970 */ _t43 = cpu->r[1] + 0x00000010u;
/* 021E9970 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t43);
/* 021E9974 */ _t44 = cpu->r[1] + 0x00000008u;
/* 021E9974 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
/* 021E9978 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 021E9978 */ _t46 = _t45 & 0x00000001u;
/* 021E9978 */ if (_t46) goto L_021E997C; // else: addr-0 trap, fall-through
L_021E997C: ; // 0x21e997c
/* 021E997C */ _t47 = cpu->r[1] + 0x00000064u;
/* 021E997C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 021E9980 */ cpu->lr = cpu->r[0];
/* 021E9984 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
/* 021E9988 */ return;
L_028E86AC: ; // 0x28e86ac
/* 028E86AC */ cpu->r[3] = cpu->r[3] + 0x00000044u;
/* 028E86B0 */ goto L_021E983C;
}
// fn_028E86B4 @ 0x28e86b4
void Gambit_fn_028E86B4(CPUState* cpu) {
L_028E86B4: ; // 0x28e86b4
/* 028E86B4 */ cpu->r[0] = cpu->r[4];
/* 028E86B8 */ cpu->r[4] = cpu->r[3] + 0x00000044u;
/* 028E86BC */ cpu->r[3] = cpu->r[0];
/* 028E86C0 */ goto L_02C69510;
L_02C69510: ; // 0x2c69510
/* 02C69510 */ /* nop */
/* 02C69514 */ /* nop */
/* 02C69518 */ /* nop */
/* 02C6951C */ /* nop */
/* 02C69520 */ /* nop */
/* 02C69524 */ /* nop */
/* 02C69528 */ /* nop */
/* 02C6952C */ /* nop */
/* 02C69530 */ /* nop */
/* 02C69534 */ /* nop */
/* 02C69538 */ /* nop */
/* 02C6953C */ /* nop */
/* 02C69540 */ return;
}
// fn_028E86C4 @ 0x28e86c4
void Gambit_fn_028E86C4(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E86C4: ; // 0x28e86c4
/* 028E86C4 */ _t0 = cpu->r[3] + 0x00000078u;
/* 028E86C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
/* 028E86C8 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
/* 028E86CC */ _t1 = cpu->r[3] + 0x00000078u;
/* 028E86CC */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
/* 028E86D0 */ return;
}
// fn_028E86D4 @ 0x28e86d4
void Gambit_fn_028E86D4(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E86D4: ; // 0x28e86d4
/* 028E86D4 */ _t0 = cpu->r[3] + 0x00000078u;
/* 028E86D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
/* 028E86D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu);
/* 028E86DC */ _t1 = cpu->r[3] + 0x00000078u;
/* 028E86DC */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
/* 028E86E0 */ return;
}
// fn_028E86E4 @ 0x28e86e4
void Gambit_fn_028E86E4(CPUState* cpu) {
uint32_t _t0;
L_028E86E4: ; // 0x28e86e4
/* 028E86E4 */ _t0 = cpu->r[3] + 0x00000078u;
/* 028E86E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
/* 028E86E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E86EC */ return;
}
// fn_028E86F0 @ 0x28e86f0
void Gambit_fn_028E86F0(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E86F0: ; // 0x28e86f0
/* 028E86F0 */ _t0 = cpu->r[3] + 0x00000078u;
/* 028E86F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
/* 028E86F4 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
/* 028E86F8 */ _t1 = cpu->r[3] + 0x00000078u;
/* 028E86F8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
/* 028E86FC */ return;
}
// fn_028E8700 @ 0x28e8700
void Gambit_fn_028E8700(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E8700: ; // 0x28e8700
/* 028E8700 */ _t0 = cpu->r[3] + 0x00000078u;
/* 028E8700 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
/* 028E8704 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du);
/* 028E8708 */ _t1 = cpu->r[3] + 0x00000078u;
/* 028E8708 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
/* 028E870C */ return;
}
// fn_028E8710 @ 0x28e8710
void Gambit_fn_028E8710(CPUState* cpu) {
uint32_t _t0;
L_028E8710: ; // 0x28e8710
/* 028E8710 */ _t0 = cpu->r[3] + 0x00000078u;
/* 028E8710 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
/* 028E8714 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028E8718 */ return;
}
// fn_028E871C @ 0x28e871c
void Gambit_fn_028E871C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E871C: ; // 0x28e871c
/* 028E871C */ cpu->r[0] = cpu->lr;
/* 028E8720 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E8720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8720 */ cpu->r[1] = _t0;
/* 028E8724 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E8724 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8728 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8728 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E872C */ cpu->r[31] = cpu->r[4];
/* 028E872C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8730 */ cpu->r[30] = cpu->r[3];
/* 028E8734 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8734 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E8738 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8738 */ _t5 = _t4 & 0x00000001u;
/* 028E8738 */ if (_t5) goto L_028E8770; else goto L_028E873C;
L_028E873C: ; // 0x28e873c
/* 028E873C */ _t6 = cpu->r[30] + 0x00000088u;
/* 028E873C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E8740 */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
/* 028E8744 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
/* 028E8748 */ Gambit_fn_02802290(cpu);
/* 028E874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8750 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E8750 */ _t8 = _t7 & 0x00000001u;
/* 028E8750 */ if (_t8) goto L_028E8754; else goto L_028E8770;
L_028E8754: ; // 0x28e8754
/* 028E8754 */ _t9 = cpu->r[30] + 0x00000088u;
/* 028E8754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E8758 */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
/* 028E875C */ cpu->r[4] = cpu->r[31] + cpu->r[0];
/* 028E8760 */ Gambit_fn_02801EBC(cpu);
/* 028E8764 */ _t10 = cpu->r[30] + 0x00000084u;
/* 028E8764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028E8768 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E876C */ _t11 = cpu->r[30] + 0x00000084u;
/* 028E876C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
L_028E8770: ; // 0x28e8770
/* 028E8770 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E8770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E8774 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028E8774 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028E8778 */ cpu->lr = cpu->r[0];
/* 028E877C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E877C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E8780 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8784 */ return;
}
// fn_028E8720 @ 0x28e8720
void Gambit_fn_028E8720(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E8720: ; // 0x28e8720
/* 028E8720 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E8720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8720 */ cpu->r[1] = _t0;
/* 028E8724 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E8724 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8728 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8728 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E872C */ cpu->r[31] = cpu->r[4];
/* 028E872C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8730 */ cpu->r[30] = cpu->r[3];
/* 028E8734 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8734 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E8738 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8738 */ _t5 = _t4 & 0x00000001u;
/* 028E8738 */ if (_t5) goto L_028E8770; else goto L_028E873C;
L_028E873C: ; // 0x28e873c
/* 028E873C */ _t6 = cpu->r[30] + 0x00000088u;
/* 028E873C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E8740 */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
/* 028E8744 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
/* 028E8748 */ Gambit_fn_02802290(cpu);
/* 028E874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8750 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E8750 */ _t8 = _t7 & 0x00000001u;
/* 028E8750 */ if (_t8) goto L_028E8754; else goto L_028E8770;
L_028E8754: ; // 0x28e8754
/* 028E8754 */ _t9 = cpu->r[30] + 0x00000088u;
/* 028E8754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E8758 */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
/* 028E875C */ cpu->r[4] = cpu->r[31] + cpu->r[0];
/* 028E8760 */ Gambit_fn_02801EBC(cpu);
/* 028E8764 */ _t10 = cpu->r[30] + 0x00000084u;
/* 028E8764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028E8768 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028E876C */ _t11 = cpu->r[30] + 0x00000084u;
/* 028E876C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
L_028E8770: ; // 0x28e8770
/* 028E8770 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E8770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E8774 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028E8774 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028E8778 */ cpu->lr = cpu->r[0];
/* 028E877C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E877C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E8780 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8784 */ return;
}
// fn_028E8788 @ 0x28e8788
void Gambit_fn_028E8788(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E8788: ; // 0x28e8788
/* 028E8788 */ cpu->r[0] = cpu->lr;
/* 028E878C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E878C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E878C */ cpu->r[1] = _t0;
/* 028E8790 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E8790 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8794 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8794 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8798 */ cpu->r[31] = cpu->r[4];
/* 028E8798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E879C */ cpu->r[30] = cpu->r[3];
/* 028E87A0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E87A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E87A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E87A4 */ _t5 = _t4 & 0x00000001u;
/* 028E87A4 */ if (_t5) goto L_028E87D8; else goto L_028E87A8;
L_028E87A8: ; // 0x28e87a8
/* 028E87A8 */ _t6 = cpu->r[30] + 0x00000088u;
/* 028E87A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E87AC */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
/* 028E87B0 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
/* 028E87B4 */ Gambit_fn_02802290(cpu);
/* 028E87B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E87BC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E87BC */ _t8 = _t7 & 0x00000001u;
/* 028E87BC */ if (_t8) goto L_028E87D8; else goto L_028E87C0;
L_028E87C0: ; // 0x28e87c0
/* 028E87C0 */ _t9 = cpu->r[30] + 0x00000088u;
/* 028E87C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E87C4 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
/* 028E87C8 */ Gambit_fn_02801EDC(cpu);
/* 028E87CC */ _t10 = cpu->r[30] + 0x00000084u;
/* 028E87CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028E87D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E87D4 */ _t11 = cpu->r[30] + 0x00000084u;
/* 028E87D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
L_028E87D8: ; // 0x28e87d8
/* 028E87D8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E87D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E87DC */ _t13 = cpu->r[1] + 0x00000008u;
/* 028E87DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028E87E0 */ cpu->lr = cpu->r[0];
/* 028E87E4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E87E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E87E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E87EC */ return;
}
// fn_028E878C @ 0x28e878c
void Gambit_fn_028E878C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E878C: ; // 0x28e878c
/* 028E878C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E878C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E878C */ cpu->r[1] = _t0;
/* 028E8790 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E8790 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8794 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8794 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8798 */ cpu->r[31] = cpu->r[4];
/* 028E8798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E879C */ cpu->r[30] = cpu->r[3];
/* 028E87A0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E87A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E87A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E87A4 */ _t5 = _t4 & 0x00000001u;
/* 028E87A4 */ if (_t5) goto L_028E87D8; else goto L_028E87A8;
L_028E87A8: ; // 0x28e87a8
/* 028E87A8 */ _t6 = cpu->r[30] + 0x00000088u;
/* 028E87A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E87AC */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
/* 028E87B0 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
/* 028E87B4 */ Gambit_fn_02802290(cpu);
/* 028E87B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E87BC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E87BC */ _t8 = _t7 & 0x00000001u;
/* 028E87BC */ if (_t8) goto L_028E87D8; else goto L_028E87C0;
L_028E87C0: ; // 0x28e87c0
/* 028E87C0 */ _t9 = cpu->r[30] + 0x00000088u;
/* 028E87C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E87C4 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
/* 028E87C8 */ Gambit_fn_02801EDC(cpu);
/* 028E87CC */ _t10 = cpu->r[30] + 0x00000084u;
/* 028E87CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028E87D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028E87D4 */ _t11 = cpu->r[30] + 0x00000084u;
/* 028E87D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
L_028E87D8: ; // 0x28e87d8
/* 028E87D8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E87D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E87DC */ _t13 = cpu->r[1] + 0x00000008u;
/* 028E87DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028E87E0 */ cpu->lr = cpu->r[0];
/* 028E87E4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E87E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E87E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E87EC */ return;
}
// fn_028E87F0 @ 0x28e87f0
void Gambit_fn_028E87F0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E87F0: ; // 0x28e87f0
/* 028E87F0 */ cpu->r[0] = cpu->lr;
/* 028E87F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E87F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E87F4 */ cpu->r[1] = _t0;
/* 028E87F8 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E87F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E87FC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E87FC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E8800 */ cpu->r[31] = cpu->r[3];
/* 028E8800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8804 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E8804 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E8808 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E8808 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E880C */ cpu->r[29] = cpu->r[4];
/* 028E8810 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8810 */ _t6 = _t5 & 0x00000001u;
/* 028E8810 */ if (_t6) goto L_028E8814; else goto L_028E8824;
L_028E8814: ; // 0x28e8814
/* 028E8814 */ cpu->r[3] = 0x0000009Cu;
/* 028E8818 */ Gambit_fn_02801A78(cpu);
/* 028E881C */ cpu->r[31] = cpu->r[3];
/* 028E881C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8820 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8820 */ _t8 = _t7 & 0x00000001u;
/* 028E8820 */ if (_t8) goto L_028E89CC; else goto L_028E8824;
L_028E8824: ; // 0x28e8824
/* 028E8824 */ cpu->r[30] = cpu->r[31];
/* 028E8824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E8828 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8828 */ _t10 = _t9 & 0x00000001u;
/* 028E8828 */ if (_t10) goto L_028E882C; else goto L_028E883C;
L_028E882C: ; // 0x28e882c
/* 028E882C */ cpu->r[3] = 0x0000000Cu;
/* 028E8830 */ Gambit_fn_02801A78(cpu);
/* 028E8834 */ cpu->r[30] = cpu->r[3];
/* 028E8834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E8838 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8838 */ _t12 = _t11 & 0x00000001u;
/* 028E8838 */ if (_t12) goto L_028E8880; else goto L_028E883C;
L_028E883C: ; // 0x28e883c
/* 028E883C */ cpu->r[3] = cpu->r[30];
/* 028E883C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8840 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8840 */ _t14 = _t13 & 0x00000001u;
/* 028E8840 */ if (_t14) goto L_028E8844; else goto L_028E8854;
L_028E8844: ; // 0x28e8844
/* 028E8844 */ cpu->r[3] = 0x00000008u;
/* 028E8848 */ Gambit_fn_02801A78(cpu);
/* 028E884C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8850 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8850 */ _t16 = _t15 & 0x00000001u;
/* 028E8850 */ if (_t16) goto L_028E886C; else goto L_028E8854;
L_028E8854: ; // 0x28e8854
/* 028E8854 */ cpu->r[0] = 0x10140000u;
/* 028E8858 */ cpu->r[6] = 0x10140000u;
/* 028E885C */ cpu->r[0] = cpu->r[0] + 0xFFFFBAD8u;
/* 028E8860 */ cpu->r[6] = cpu->r[6] + 0xFFFFBAD4u;
/* 028E8864 */ _t17 = cpu->r[3] + 0x00000004u;
/* 028E8864 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028E8868 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028E8868 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
L_028E886C: ; // 0x28e886c
/* 028E886C */ cpu->r[7] = 0x10140000u;
/* 028E8870 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB20u;
/* 028E8874 */ _t19 = cpu->r[30] + 0x00000008u;
/* 028E8874 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
/* 028E8878 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028E8878 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028E887C */ _t21 = cpu->r[30] + 0x00000000u;
/* 028E887C */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
L_028E8880: ; // 0x28e8880
/* 028E8880 */ cpu->r[29] = cpu->r[31] + 0x0000000Cu;
/* 028E8880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E8884 */ cpu->r[30] = 0x00000000u;
/* 028E8888 */ cpu->r[3] = cpu->r[29];
/* 028E888C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E888C */ _t23 = _t22 & 0x00000001u;
/* 028E888C */ if (_t23) goto L_028E8890; else goto L_028E88A0;
L_028E8890: ; // 0x28e8890
/* 028E8890 */ cpu->r[3] = 0x00000010u;
/* 028E8894 */ Gambit_fn_02801A78(cpu);
/* 028E8898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E889C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E889C */ _t25 = _t24 & 0x00000001u;
/* 028E889C */ if (_t25) goto L_028E88B0; else goto L_028E88A0;
L_028E88A0: ; // 0x28e88a0
/* 028E88A0 */ _t26 = cpu->r[3] + 0x00000004u;
/* 028E88A0 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
/* 028E88A4 */ _t27 = cpu->r[3] + 0x00000008u;
/* 028E88A4 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
/* 028E88A8 */ _t28 = cpu->r[3] + 0x00000000u;
/* 028E88A8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
/* 028E88AC */ _t29 = cpu->r[3] + 0x0000000Cu;
/* 028E88AC */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
L_028E88B0: ; // 0x28e88b0
/* 028E88B0 */ cpu->r[0] = 0x10140000u;
/* 028E88B4 */ cpu->r[10] = 0x10140000u;
/* 028E88B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFBB38u;
/* 028E88BC */ cpu->r[10] = cpu->r[10] + 0xFFFFBBA8u;
/* 028E88C0 */ _t30 = cpu->r[31] + 0x00000008u;
/* 028E88C0 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028E88C4 */ cpu->r[11] = 0x10140000u;
/* 028E88C8 */ _t31 = cpu->r[29] + 0x00000010u;
/* 028E88C8 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028E88CC */ cpu->r[11] = cpu->r[11] + 0xFFFFBBC0u;
/* 028E88D0 */ _t32 = cpu->r[31] + 0x00000024u;
/* 028E88D0 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
/* 028E88D4 */ cpu->r[9] = 0x101F0000u;
/* 028E88D8 */ _t33 = cpu->r[31] + 0x00000028u;
/* 028E88D8 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028E88DC */ _t34 = cpu->r[31] + 0x00000020u;
/* 028E88DC */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
/* 028E88E0 */ _t35 = cpu->r[9] + 0x00006338u;
/* 028E88E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028E88E0 */ cpu->r[9] = _t35;
/* 028E88E4 */ _t36 = cpu->r[31] + 0x0000002Cu;
/* 028E88E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
/* 028E88E8 */ _t37 = cpu->r[9] + 0x00000004u;
/* 028E88E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028E88EC */ _t38 = cpu->r[31] + 0x00000030u;
/* 028E88EC */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
/* 028E88F0 */ _t39 = cpu->r[9] + 0x00000008u;
/* 028E88F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
/* 028E88F4 */ _t40 = cpu->r[31] + 0x00000034u;
/* 028E88F4 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
/* 028E88F8 */ _t41 = cpu->r[9] + 0x00000000u;
/* 028E88F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
/* 028E88FC */ cpu->r[11] = 0x101F0000u;
/* 028E8900 */ _t42 = cpu->r[31] + 0x00000038u;
/* 028E8900 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
/* 028E8904 */ _t43 = cpu->r[9] + 0x00000004u;
/* 028E8904 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
/* 028E8908 */ cpu->r[6] = 0x00000003u;
/* 028E890C */ cpu->r[11] = cpu->r[11] + 0x00005E2Cu;
/* 028E8910 */ _t44 = cpu->r[31] + 0x0000003Cu;
/* 028E8910 */ rbrew_write32(cpu->mem, _t44, cpu->r[8]);
/* 028E8914 */ _t45 = cpu->r[9] + 0x00000008u;
/* 028E8914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028E8918 */ cpu->ctr = cpu->r[6];
/* 028E891C */ cpu->r[12] = cpu->r[31] + 0x00000040u;
/* 028E8920 */ _t46 = cpu->r[31] + 0x00000040u;
/* 028E8920 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
L_028E8924: ; // 0x28e8924
/* 028E8924 */ _t47 = cpu->r[11] + 0x00000004u;
/* 028E8924 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
/* 028E8928 */ _t48 = cpu->r[12] + 0x00000004u;
/* 028E8928 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
/* 028E892C */ _t49 = cpu->r[11] + 0x00000008u;
/* 028E892C */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
/* 028E8930 */ _t50 = cpu->r[12] + 0x00000008u;
/* 028E8930 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
/* 028E8934 */ _t51 = cpu->r[11] + 0x0000000Cu;
/* 028E8934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 028E8938 */ _t52 = cpu->r[12] + 0x0000000Cu;
/* 028E8938 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028E893C */ _t53 = cpu->r[11] + 0x00000010u;
/* 028E893C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028E893C */ cpu->r[11] = _t53;
/* 028E8940 */ _t54 = cpu->r[12] + 0x00000010u;
/* 028E8940 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
/* 028E8940 */ cpu->r[12] = _t54;
/* 028E8944 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E8944 */ _t55 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E8944 */ _t56 = _t55 >> (0x00000002u & 31u);
/* 028E8944 */ _t57 = _t56 & 0x00000001u;
/* 028E8944 */ if (_t57) goto L_028E8924; else goto L_028E8948;
L_028E8948: ; // 0x28e8948
/* 028E8948 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
/* 028E8948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E894C */ _t58 = cpu->r[31] + 0x00000074u;
/* 028E894C */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
/* 028E8950 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8950 */ _t60 = _t59 & 0x00000001u;
/* 028E8950 */ if (_t60) goto L_028E8954; else goto L_028E8964;
L_028E8954: ; // 0x28e8954
/* 028E8954 */ cpu->r[3] = 0x00000001u;
/* 028E8958 */ Gambit_fn_02801A78(cpu);
/* 028E895C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8960 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8960 */ _t62 = _t61 & 0x00000001u;
/* 028E8960 */ if (_t62) goto L_028E8968; else goto L_028E8964;
L_028E8964: ; // 0x28e8964
/* 028E8964 */ _t63 = cpu->r[3] + 0x00000000u;
/* 028E8964 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[30]);
L_028E8968: ; // 0x28e8968
/* 028E8968 */ cpu->r[29] = cpu->r[31] + 0x0000007Cu;
/* 028E8968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E896C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E896C */ _t65 = _t64 & 0x00000001u;
/* 028E896C */ if (_t65) goto L_028E8970; else goto L_028E8980;
L_028E8970: ; // 0x28e8970
/* 028E8970 */ cpu->r[3] = 0x00000010u;
/* 028E8974 */ Gambit_fn_02801A78(cpu);
/* 028E8978 */ cpu->r[29] = cpu->r[3];
/* 028E8978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E897C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E897C */ _t67 = _t66 & 0x00000001u;
/* 028E897C */ if (_t67) goto L_028E89AC; else goto L_028E8980;
L_028E8980: ; // 0x28e8980
/* 028E8980 */ cpu->r[3] = cpu->r[29];
/* 028E8980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8984 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8984 */ _t69 = _t68 & 0x00000001u;
/* 028E8984 */ if (_t69) goto L_028E8988; else goto L_028E8998;
L_028E8988: ; // 0x28e8988
/* 028E8988 */ cpu->r[3] = 0x0000000Cu;
/* 028E898C */ Gambit_fn_02801A78(cpu);
/* 028E8990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8994 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8994 */ _t71 = _t70 & 0x00000001u;
/* 028E8994 */ if (_t71) goto L_028E89A4; else goto L_028E8998;
L_028E8998: ; // 0x28e8998
/* 028E8998 */ _t72 = cpu->r[3] + 0x00000004u;
/* 028E8998 */ rbrew_write32(cpu->mem, _t72, cpu->r[3]);
/* 028E899C */ _t73 = cpu->r[3] + 0x00000008u;
/* 028E899C */ rbrew_write32(cpu->mem, _t73, cpu->r[30]);
/* 028E89A0 */ _t74 = cpu->r[3] + 0x00000000u;
/* 028E89A0 */ rbrew_write32(cpu->mem, _t74, cpu->r[3]);
L_028E89A4: ; // 0x28e89a4
/* 028E89A4 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028E89A8 */ _t75 = cpu->r[29] + 0x0000000Cu;
/* 028E89A8 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
L_028E89AC: ; // 0x28e89ac
/* 028E89AC */ cpu->r[0] = cpu->r[31] + 0x00000094u;
/* 028E89AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E89B0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E89B0 */ _t77 = _t76 & 0x00000001u;
/* 028E89B0 */ if (_t77) goto L_028E89B4; else goto L_028E89BC;
L_028E89B4: ; // 0x28e89b4
/* 028E89B4 */ cpu->r[3] = 0x00000008u;
/* 028E89B8 */ Gambit_fn_02801A78(cpu);
L_028E89BC: ; // 0x28e89bc
/* 028E89BC */ _t78 = cpu->r[31] + 0x00000078u;
/* 028E89BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t78);
/* 028E89C0 */ _t79 = cpu->r[31] + 0x00000088u;
/* 028E89C0 */ rbrew_write32(cpu->mem, _t79, cpu->r[30]);
/* 028E89C4 */ cpu->r[0] = cpu->r[0] | 0x00000003u;
/* 028E89C8 */ _t80 = cpu->r[31] + 0x00000078u;
/* 028E89C8 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[0]);
L_028E89CC: ; // 0x28e89cc
/* 028E89CC */ _t81 = cpu->r[1] + 0x0000000Cu;
/* 028E89CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t81);
/* 028E89D0 */ _t82 = cpu->r[1] + 0x0000001Cu;
/* 028E89D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
/* 028E89D4 */ cpu->r[3] = cpu->r[31];
/* 028E89D8 */ _t83 = cpu->r[1] + 0x00000010u;
/* 028E89D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
/* 028E89DC */ cpu->lr = cpu->r[0];
/* 028E89E0 */ _t84 = cpu->r[1] + 0x00000014u;
/* 028E89E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
/* 028E89E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E89E8 */ return;
}
// fn_028E87F4 @ 0x28e87f4
void Gambit_fn_028E87F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E87F4: ; // 0x28e87f4
/* 028E87F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E87F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E87F4 */ cpu->r[1] = _t0;
/* 028E87F8 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E87F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E87FC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E87FC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028E8800 */ cpu->r[31] = cpu->r[3];
/* 028E8800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8804 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E8804 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E8808 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E8808 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E880C */ cpu->r[29] = cpu->r[4];
/* 028E8810 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8810 */ _t6 = _t5 & 0x00000001u;
/* 028E8810 */ if (_t6) goto L_028E8814; else goto L_028E8824;
L_028E8814: ; // 0x28e8814
/* 028E8814 */ cpu->r[3] = 0x0000009Cu;
/* 028E8818 */ Gambit_fn_02801A78(cpu);
/* 028E881C */ cpu->r[31] = cpu->r[3];
/* 028E881C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8820 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8820 */ _t8 = _t7 & 0x00000001u;
/* 028E8820 */ if (_t8) goto L_028E89CC; else goto L_028E8824;
L_028E8824: ; // 0x28e8824
/* 028E8824 */ cpu->r[30] = cpu->r[31];
/* 028E8824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E8828 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8828 */ _t10 = _t9 & 0x00000001u;
/* 028E8828 */ if (_t10) goto L_028E882C; else goto L_028E883C;
L_028E882C: ; // 0x28e882c
/* 028E882C */ cpu->r[3] = 0x0000000Cu;
/* 028E8830 */ Gambit_fn_02801A78(cpu);
/* 028E8834 */ cpu->r[30] = cpu->r[3];
/* 028E8834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E8838 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8838 */ _t12 = _t11 & 0x00000001u;
/* 028E8838 */ if (_t12) goto L_028E8880; else goto L_028E883C;
L_028E883C: ; // 0x28e883c
/* 028E883C */ cpu->r[3] = cpu->r[30];
/* 028E883C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8840 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8840 */ _t14 = _t13 & 0x00000001u;
/* 028E8840 */ if (_t14) goto L_028E8844; else goto L_028E8854;
L_028E8844: ; // 0x28e8844
/* 028E8844 */ cpu->r[3] = 0x00000008u;
/* 028E8848 */ Gambit_fn_02801A78(cpu);
/* 028E884C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8850 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8850 */ _t16 = _t15 & 0x00000001u;
/* 028E8850 */ if (_t16) goto L_028E886C; else goto L_028E8854;
L_028E8854: ; // 0x28e8854
/* 028E8854 */ cpu->r[0] = 0x10140000u;
/* 028E8858 */ cpu->r[6] = 0x10140000u;
/* 028E885C */ cpu->r[0] = cpu->r[0] + 0xFFFFBAD8u;
/* 028E8860 */ cpu->r[6] = cpu->r[6] + 0xFFFFBAD4u;
/* 028E8864 */ _t17 = cpu->r[3] + 0x00000004u;
/* 028E8864 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028E8868 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028E8868 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
L_028E886C: ; // 0x28e886c
/* 028E886C */ cpu->r[7] = 0x10140000u;
/* 028E8870 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB20u;
/* 028E8874 */ _t19 = cpu->r[30] + 0x00000008u;
/* 028E8874 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
/* 028E8878 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028E8878 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028E887C */ _t21 = cpu->r[30] + 0x00000000u;
/* 028E887C */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
L_028E8880: ; // 0x28e8880
/* 028E8880 */ cpu->r[29] = cpu->r[31] + 0x0000000Cu;
/* 028E8880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E8884 */ cpu->r[30] = 0x00000000u;
/* 028E8888 */ cpu->r[3] = cpu->r[29];
/* 028E888C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E888C */ _t23 = _t22 & 0x00000001u;
/* 028E888C */ if (_t23) goto L_028E8890; else goto L_028E88A0;
L_028E8890: ; // 0x28e8890
/* 028E8890 */ cpu->r[3] = 0x00000010u;
/* 028E8894 */ Gambit_fn_02801A78(cpu);
/* 028E8898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E889C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E889C */ _t25 = _t24 & 0x00000001u;
/* 028E889C */ if (_t25) goto L_028E88B0; else goto L_028E88A0;
L_028E88A0: ; // 0x28e88a0
/* 028E88A0 */ _t26 = cpu->r[3] + 0x00000004u;
/* 028E88A0 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
/* 028E88A4 */ _t27 = cpu->r[3] + 0x00000008u;
/* 028E88A4 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
/* 028E88A8 */ _t28 = cpu->r[3] + 0x00000000u;
/* 028E88A8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
/* 028E88AC */ _t29 = cpu->r[3] + 0x0000000Cu;
/* 028E88AC */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
L_028E88B0: ; // 0x28e88b0
/* 028E88B0 */ cpu->r[0] = 0x10140000u;
/* 028E88B4 */ cpu->r[10] = 0x10140000u;
/* 028E88B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFBB38u;
/* 028E88BC */ cpu->r[10] = cpu->r[10] + 0xFFFFBBA8u;
/* 028E88C0 */ _t30 = cpu->r[31] + 0x00000008u;
/* 028E88C0 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028E88C4 */ cpu->r[11] = 0x10140000u;
/* 028E88C8 */ _t31 = cpu->r[29] + 0x00000010u;
/* 028E88C8 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028E88CC */ cpu->r[11] = cpu->r[11] + 0xFFFFBBC0u;
/* 028E88D0 */ _t32 = cpu->r[31] + 0x00000024u;
/* 028E88D0 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
/* 028E88D4 */ cpu->r[9] = 0x101F0000u;
/* 028E88D8 */ _t33 = cpu->r[31] + 0x00000028u;
/* 028E88D8 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028E88DC */ _t34 = cpu->r[31] + 0x00000020u;
/* 028E88DC */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
/* 028E88E0 */ _t35 = cpu->r[9] + 0x00006338u;
/* 028E88E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028E88E0 */ cpu->r[9] = _t35;
/* 028E88E4 */ _t36 = cpu->r[31] + 0x0000002Cu;
/* 028E88E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
/* 028E88E8 */ _t37 = cpu->r[9] + 0x00000004u;
/* 028E88E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028E88EC */ _t38 = cpu->r[31] + 0x00000030u;
/* 028E88EC */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
/* 028E88F0 */ _t39 = cpu->r[9] + 0x00000008u;
/* 028E88F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
/* 028E88F4 */ _t40 = cpu->r[31] + 0x00000034u;
/* 028E88F4 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
/* 028E88F8 */ _t41 = cpu->r[9] + 0x00000000u;
/* 028E88F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
/* 028E88FC */ cpu->r[11] = 0x101F0000u;
/* 028E8900 */ _t42 = cpu->r[31] + 0x00000038u;
/* 028E8900 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
/* 028E8904 */ _t43 = cpu->r[9] + 0x00000004u;
/* 028E8904 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
/* 028E8908 */ cpu->r[6] = 0x00000003u;
/* 028E890C */ cpu->r[11] = cpu->r[11] + 0x00005E2Cu;
/* 028E8910 */ _t44 = cpu->r[31] + 0x0000003Cu;
/* 028E8910 */ rbrew_write32(cpu->mem, _t44, cpu->r[8]);
/* 028E8914 */ _t45 = cpu->r[9] + 0x00000008u;
/* 028E8914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028E8918 */ cpu->ctr = cpu->r[6];
/* 028E891C */ cpu->r[12] = cpu->r[31] + 0x00000040u;
/* 028E8920 */ _t46 = cpu->r[31] + 0x00000040u;
/* 028E8920 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
L_028E8924: ; // 0x28e8924
/* 028E8924 */ _t47 = cpu->r[11] + 0x00000004u;
/* 028E8924 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
/* 028E8928 */ _t48 = cpu->r[12] + 0x00000004u;
/* 028E8928 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
/* 028E892C */ _t49 = cpu->r[11] + 0x00000008u;
/* 028E892C */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
/* 028E8930 */ _t50 = cpu->r[12] + 0x00000008u;
/* 028E8930 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
/* 028E8934 */ _t51 = cpu->r[11] + 0x0000000Cu;
/* 028E8934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 028E8938 */ _t52 = cpu->r[12] + 0x0000000Cu;
/* 028E8938 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028E893C */ _t53 = cpu->r[11] + 0x00000010u;
/* 028E893C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028E893C */ cpu->r[11] = _t53;
/* 028E8940 */ _t54 = cpu->r[12] + 0x00000010u;
/* 028E8940 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
/* 028E8940 */ cpu->r[12] = _t54;
/* 028E8944 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E8944 */ _t55 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E8944 */ _t56 = _t55 >> (0x00000002u & 31u);
/* 028E8944 */ _t57 = _t56 & 0x00000001u;
/* 028E8944 */ if (_t57) goto L_028E8924; else goto L_028E8948;
L_028E8948: ; // 0x28e8948
/* 028E8948 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
/* 028E8948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E894C */ _t58 = cpu->r[31] + 0x00000074u;
/* 028E894C */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
/* 028E8950 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8950 */ _t60 = _t59 & 0x00000001u;
/* 028E8950 */ if (_t60) goto L_028E8954; else goto L_028E8964;
L_028E8954: ; // 0x28e8954
/* 028E8954 */ cpu->r[3] = 0x00000001u;
/* 028E8958 */ Gambit_fn_02801A78(cpu);
/* 028E895C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8960 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8960 */ _t62 = _t61 & 0x00000001u;
/* 028E8960 */ if (_t62) goto L_028E8968; else goto L_028E8964;
L_028E8964: ; // 0x28e8964
/* 028E8964 */ _t63 = cpu->r[3] + 0x00000000u;
/* 028E8964 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[30]);
L_028E8968: ; // 0x28e8968
/* 028E8968 */ cpu->r[29] = cpu->r[31] + 0x0000007Cu;
/* 028E8968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E896C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E896C */ _t65 = _t64 & 0x00000001u;
/* 028E896C */ if (_t65) goto L_028E8970; else goto L_028E8980;
L_028E8970: ; // 0x28e8970
/* 028E8970 */ cpu->r[3] = 0x00000010u;
/* 028E8974 */ Gambit_fn_02801A78(cpu);
/* 028E8978 */ cpu->r[29] = cpu->r[3];
/* 028E8978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E897C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E897C */ _t67 = _t66 & 0x00000001u;
/* 028E897C */ if (_t67) goto L_028E89AC; else goto L_028E8980;
L_028E8980: ; // 0x28e8980
/* 028E8980 */ cpu->r[3] = cpu->r[29];
/* 028E8980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8984 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8984 */ _t69 = _t68 & 0x00000001u;
/* 028E8984 */ if (_t69) goto L_028E8988; else goto L_028E8998;
L_028E8988: ; // 0x28e8988
/* 028E8988 */ cpu->r[3] = 0x0000000Cu;
/* 028E898C */ Gambit_fn_02801A78(cpu);
/* 028E8990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8994 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8994 */ _t71 = _t70 & 0x00000001u;
/* 028E8994 */ if (_t71) goto L_028E89A4; else goto L_028E8998;
L_028E8998: ; // 0x28e8998
/* 028E8998 */ _t72 = cpu->r[3] + 0x00000004u;
/* 028E8998 */ rbrew_write32(cpu->mem, _t72, cpu->r[3]);
/* 028E899C */ _t73 = cpu->r[3] + 0x00000008u;
/* 028E899C */ rbrew_write32(cpu->mem, _t73, cpu->r[30]);
/* 028E89A0 */ _t74 = cpu->r[3] + 0x00000000u;
/* 028E89A0 */ rbrew_write32(cpu->mem, _t74, cpu->r[3]);
L_028E89A4: ; // 0x28e89a4
/* 028E89A4 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028E89A8 */ _t75 = cpu->r[29] + 0x0000000Cu;
/* 028E89A8 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
L_028E89AC: ; // 0x28e89ac
/* 028E89AC */ cpu->r[0] = cpu->r[31] + 0x00000094u;
/* 028E89AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E89B0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E89B0 */ _t77 = _t76 & 0x00000001u;
/* 028E89B0 */ if (_t77) goto L_028E89B4; else goto L_028E89BC;
L_028E89B4: ; // 0x28e89b4
/* 028E89B4 */ cpu->r[3] = 0x00000008u;
/* 028E89B8 */ Gambit_fn_02801A78(cpu);
L_028E89BC: ; // 0x28e89bc
/* 028E89BC */ _t78 = cpu->r[31] + 0x00000078u;
/* 028E89BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t78);
/* 028E89C0 */ _t79 = cpu->r[31] + 0x00000088u;
/* 028E89C0 */ rbrew_write32(cpu->mem, _t79, cpu->r[30]);
/* 028E89C4 */ cpu->r[0] = cpu->r[0] | 0x00000003u;
/* 028E89C8 */ _t80 = cpu->r[31] + 0x00000078u;
/* 028E89C8 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[0]);
L_028E89CC: ; // 0x28e89cc
/* 028E89CC */ _t81 = cpu->r[1] + 0x0000000Cu;
/* 028E89CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t81);
/* 028E89D0 */ _t82 = cpu->r[1] + 0x0000001Cu;
/* 028E89D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
/* 028E89D4 */ cpu->r[3] = cpu->r[31];
/* 028E89D8 */ _t83 = cpu->r[1] + 0x00000010u;
/* 028E89D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
/* 028E89DC */ cpu->lr = cpu->r[0];
/* 028E89E0 */ _t84 = cpu->r[1] + 0x00000014u;
/* 028E89E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
/* 028E89E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E89E8 */ return;
}
// fn_028E89EC @ 0x28e89ec
void Gambit_fn_028E89EC(CPUState* cpu) {
uint32_t _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_028E89EC: ; // 0x28e89ec
/* 028E89EC */ cpu->r[0] = cpu->lr;
/* 028E89F0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028E89F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E89F0 */ cpu->r[1] = _t0;
/* 028E89F4 */ _t1 = cpu->r[1] + 0x00000030u;
/* 028E89F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E89F8 */ _t2 = cpu->r[1] + 0x00000034u;
/* 028E89F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E89FC */ cpu->r[31] = cpu->r[4];
/* 028E89FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8A00 */ cpu->r[30] = cpu->r[3];
/* 028E8A04 */ _t3 = cpu->r[1] + 0x0000003Cu;
/* 028E8A04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E8A08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8A08 */ _t5 = _t4 & 0x00000001u;
/* 028E8A08 */ if (_t5) goto L_028E8A6C; else goto L_028E8A0C;
L_028E8A0C: ; // 0x28e8a0c
/* 028E8A0C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
/* 028E8A10 */ cpu->r[4] = cpu->r[30] + 0x00000038u;
/* 028E8A14 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
/* 028E8A18 */ Gambit_fn_02C69468(cpu);
/* 028E8A1C */ /* nop */
/* 028E8A20 */ /* nop */
/* 028E8A24 */ /* nop */
/* 028E8A28 */ _t6 = cpu->r[30] + 0x00000034u;
/* 028E8A28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
/* 028E8A2C */ /* nop */
/* 028E8A30 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028E8A30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028E8A34 */ _t8 = cpu->r[1] + 0x00000028u;
/* 028E8A34 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
/* 028E8A38 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028E8A38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028E8A3C */ cpu->f[0] = cpu->f[12] + cpu->f[11];
/* 028E8A40 */ _t10 = cpu->r[1] + 0x00000018u;
/* 028E8A40 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028E8A44 */ _t11 = cpu->r[1] + 0x00000018u;
/* 028E8A44 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
/* 028E8A48 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E8A48 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028E8A4C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E8A4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
/* 028E8A50 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028E8A50 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028E8A54 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028E8A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E8A58 */ _t16 = cpu->r[31] + 0x00000000u;
/* 028E8A58 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
/* 028E8A5C */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028E8A5C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028E8A60 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E8A60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
/* 028E8A64 */ _t19 = cpu->r[31] + 0x00000004u;
/* 028E8A64 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
/* 028E8A68 */ _t20 = cpu->r[31] + 0x00000008u;
/* 028E8A68 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
L_028E8A6C: ; // 0x28e8a6c
/* 028E8A6C */ _t21 = cpu->r[1] + 0x0000003Cu;
/* 028E8A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028E8A70 */ _t22 = cpu->r[1] + 0x00000030u;
/* 028E8A70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028E8A74 */ cpu->lr = cpu->r[0];
/* 028E8A78 */ _t23 = cpu->r[1] + 0x00000034u;
/* 028E8A78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028E8A7C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E8A80 */ return;
}
// fn_028E89F0 @ 0x28e89f0
void Gambit_fn_028E89F0(CPUState* cpu) {
uint32_t _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_028E89F0: ; // 0x28e89f0
/* 028E89F0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028E89F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E89F0 */ cpu->r[1] = _t0;
/* 028E89F4 */ _t1 = cpu->r[1] + 0x00000030u;
/* 028E89F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E89F8 */ _t2 = cpu->r[1] + 0x00000034u;
/* 028E89F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E89FC */ cpu->r[31] = cpu->r[4];
/* 028E89FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8A00 */ cpu->r[30] = cpu->r[3];
/* 028E8A04 */ _t3 = cpu->r[1] + 0x0000003Cu;
/* 028E8A04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E8A08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8A08 */ _t5 = _t4 & 0x00000001u;
/* 028E8A08 */ if (_t5) goto L_028E8A6C; else goto L_028E8A0C;
L_028E8A0C: ; // 0x28e8a0c
/* 028E8A0C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
/* 028E8A10 */ cpu->r[4] = cpu->r[30] + 0x00000038u;
/* 028E8A14 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
/* 028E8A18 */ Gambit_fn_02C69468(cpu);
/* 028E8A1C */ /* nop */
/* 028E8A20 */ /* nop */
/* 028E8A24 */ /* nop */
/* 028E8A28 */ _t6 = cpu->r[30] + 0x00000034u;
/* 028E8A28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
/* 028E8A2C */ /* nop */
/* 028E8A30 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028E8A30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028E8A34 */ _t8 = cpu->r[1] + 0x00000028u;
/* 028E8A34 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
/* 028E8A38 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028E8A38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028E8A3C */ cpu->f[0] = cpu->f[12] + cpu->f[11];
/* 028E8A40 */ _t10 = cpu->r[1] + 0x00000018u;
/* 028E8A40 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028E8A44 */ _t11 = cpu->r[1] + 0x00000018u;
/* 028E8A44 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
/* 028E8A48 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E8A48 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028E8A4C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028E8A4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
/* 028E8A50 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028E8A50 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028E8A54 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028E8A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E8A58 */ _t16 = cpu->r[31] + 0x00000000u;
/* 028E8A58 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
/* 028E8A5C */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028E8A5C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028E8A60 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E8A60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
/* 028E8A64 */ _t19 = cpu->r[31] + 0x00000004u;
/* 028E8A64 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
/* 028E8A68 */ _t20 = cpu->r[31] + 0x00000008u;
/* 028E8A68 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
L_028E8A6C: ; // 0x28e8a6c
/* 028E8A6C */ _t21 = cpu->r[1] + 0x0000003Cu;
/* 028E8A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028E8A70 */ _t22 = cpu->r[1] + 0x00000030u;
/* 028E8A70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028E8A74 */ cpu->lr = cpu->r[0];
/* 028E8A78 */ _t23 = cpu->r[1] + 0x00000034u;
/* 028E8A78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028E8A7C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E8A80 */ return;
}
// fn_028E8A84 @ 0x28e8a84
void Gambit_fn_028E8A84(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_028E8A84: ; // 0x28e8a84
/* 028E8A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8A88 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8A88 */ _t17 = _t16 & 0x00000001u;
/* 028E8A88 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E8A88 */ goto L_028E8A8C;
L_028E8A8C: ; // 0x28e8a8c
/* 028E8A8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E8A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8A90 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8A90 */ _t19 = _t18 & 0x00000001u;
/* 028E8A90 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E8A90 */ goto L_028E8A94;
L_028E8A94: ; // 0x28e8a94
/* 028E8A94 */ goto L_02801BB0;
}
// fn_028E8A98 @ 0x28e8a98
void Gambit_fn_028E8A98(CPUState* cpu) {
L_028E8A98: ; // 0x28e8a98
/* 028E8A98 */ return;
}
// fn_028E8A9C @ 0x28e8a9c
void Gambit_fn_028E8A9C(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E8A9C: ; // 0x28e8a9c
/* 028E8A9C */ _t0 = cpu->r[4] + 0x00000000u;
/* 028E8A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E8AA0 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028E8AA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E8AA4 */ return;
}
// fn_028E8AA8 @ 0x28e8aa8
void Gambit_fn_028E8AA8(CPUState* cpu) {
L_028E8AA8: ; // 0x28e8aa8
/* 028E8AA8 */ return;
}
// fn_028E8AAC @ 0x28e8aac
void Gambit_fn_028E8AAC(CPUState* cpu) {
L_028E8AAC: ; // 0x28e8aac
/* 028E8AAC */ return;
}
// fn_028E8AB0 @ 0x28e8ab0
void Gambit_fn_028E8AB0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028E8AB0: ; // 0x28e8ab0
/* 028E8AB0 */ cpu->r[0] = cpu->lr;
/* 028E8AB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8AB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8AB4 */ cpu->r[1] = _t0;
/* 028E8AB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E8AB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E8ABC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E8ABC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8AC0 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E8AC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E8AC4 */ cpu->r[31] = cpu->r[3];
/* 028E8AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8AC8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E8AC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E8ACC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8ACC */ _t6 = _t5 & 0x00000001u;
/* 028E8ACC */ if (_t6) goto L_028E8AD0; else goto L_028E8AE0;
L_028E8AD0: ; // 0x28e8ad0
/* 028E8AD0 */ cpu->r[3] = 0x00000034u;
/* 028E8AD4 */ Gambit_fn_02801A78(cpu);
/* 028E8AD8 */ cpu->r[31] = cpu->r[3];
/* 028E8AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8ADC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8ADC */ _t8 = _t7 & 0x00000001u;
/* 028E8ADC */ if (_t8) goto L_028E8B40; else goto L_028E8AE0;
L_028E8AE0: ; // 0x28e8ae0
/* 028E8AE0 */ cpu->r[0] = 0x10140000u;
/* 028E8AE4 */ cpu->r[30] = 0x00000000u;
/* 028E8AE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC08u;
/* 028E8AEC */ _t9 = cpu->r[31] + 0x00000018u;
/* 028E8AEC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
/* 028E8AF0 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028E8AF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028E8AF4 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
/* 028E8AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E8AF8 */ _t11 = cpu->r[31] + 0x00000014u;
/* 028E8AF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028E8AFC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8AFC */ _t13 = _t12 & 0x00000001u;
/* 028E8AFC */ if (_t13) goto L_028E8B00; else goto L_028E8B10;
L_028E8B00: ; // 0x28e8b00
/* 028E8B00 */ cpu->r[3] = 0x00000018u;
/* 028E8B04 */ Gambit_fn_02801A78(cpu);
/* 028E8B08 */ cpu->r[29] = cpu->r[3];
/* 028E8B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E8B0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8B0C */ _t15 = _t14 & 0x00000001u;
/* 028E8B0C */ if (_t15) goto L_028E8B40; else goto L_028E8B10;
L_028E8B10: ; // 0x28e8b10
/* 028E8B10 */ cpu->r[3] = cpu->r[29];
/* 028E8B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8B14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8B14 */ _t17 = _t16 & 0x00000001u;
/* 028E8B14 */ if (_t17) goto L_028E8B18; else goto L_028E8B28;
L_028E8B18: ; // 0x28e8b18
/* 028E8B18 */ cpu->r[3] = 0x0000000Cu;
/* 028E8B1C */ Gambit_fn_02801A78(cpu);
/* 028E8B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8B24 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8B24 */ _t19 = _t18 & 0x00000001u;
/* 028E8B24 */ if (_t19) goto L_028E8B34; else goto L_028E8B28;
L_028E8B28: ; // 0x28e8b28
/* 028E8B28 */ _t20 = cpu->r[3] + 0x00000004u;
/* 028E8B28 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
/* 028E8B2C */ _t21 = cpu->r[3] + 0x00000008u;
/* 028E8B2C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E8B30 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028E8B30 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
L_028E8B34: ; // 0x28e8b34
/* 028E8B34 */ _t23 = cpu->r[29] + 0x00000010u;
/* 028E8B34 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028E8B38 */ _t24 = cpu->r[29] + 0x0000000Cu;
/* 028E8B38 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028E8B3C */ _t25 = cpu->r[29] + 0x00000014u;
/* 028E8B3C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
L_028E8B40: ; // 0x28e8b40
/* 028E8B40 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028E8B40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028E8B44 */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028E8B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028E8B48 */ cpu->r[3] = cpu->r[31];
/* 028E8B4C */ _t28 = cpu->r[1] + 0x00000010u;
/* 028E8B4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028E8B50 */ cpu->lr = cpu->r[0];
/* 028E8B54 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028E8B54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028E8B58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E8B5C */ return;
}
// fn_028E8AB4 @ 0x28e8ab4
void Gambit_fn_028E8AB4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028E8AB4: ; // 0x28e8ab4
/* 028E8AB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8AB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8AB4 */ cpu->r[1] = _t0;
/* 028E8AB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E8AB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E8ABC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E8ABC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8AC0 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028E8AC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028E8AC4 */ cpu->r[31] = cpu->r[3];
/* 028E8AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8AC8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E8AC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E8ACC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8ACC */ _t6 = _t5 & 0x00000001u;
/* 028E8ACC */ if (_t6) goto L_028E8AD0; else goto L_028E8AE0;
L_028E8AD0: ; // 0x28e8ad0
/* 028E8AD0 */ cpu->r[3] = 0x00000034u;
/* 028E8AD4 */ Gambit_fn_02801A78(cpu);
/* 028E8AD8 */ cpu->r[31] = cpu->r[3];
/* 028E8AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E8ADC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8ADC */ _t8 = _t7 & 0x00000001u;
/* 028E8ADC */ if (_t8) goto L_028E8B40; else goto L_028E8AE0;
L_028E8AE0: ; // 0x28e8ae0
/* 028E8AE0 */ cpu->r[0] = 0x10140000u;
/* 028E8AE4 */ cpu->r[30] = 0x00000000u;
/* 028E8AE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC08u;
/* 028E8AEC */ _t9 = cpu->r[31] + 0x00000018u;
/* 028E8AEC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
/* 028E8AF0 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028E8AF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028E8AF4 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
/* 028E8AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E8AF8 */ _t11 = cpu->r[31] + 0x00000014u;
/* 028E8AF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028E8AFC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8AFC */ _t13 = _t12 & 0x00000001u;
/* 028E8AFC */ if (_t13) goto L_028E8B00; else goto L_028E8B10;
L_028E8B00: ; // 0x28e8b00
/* 028E8B00 */ cpu->r[3] = 0x00000018u;
/* 028E8B04 */ Gambit_fn_02801A78(cpu);
/* 028E8B08 */ cpu->r[29] = cpu->r[3];
/* 028E8B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E8B0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8B0C */ _t15 = _t14 & 0x00000001u;
/* 028E8B0C */ if (_t15) goto L_028E8B40; else goto L_028E8B10;
L_028E8B10: ; // 0x28e8b10
/* 028E8B10 */ cpu->r[3] = cpu->r[29];
/* 028E8B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8B14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8B14 */ _t17 = _t16 & 0x00000001u;
/* 028E8B14 */ if (_t17) goto L_028E8B18; else goto L_028E8B28;
L_028E8B18: ; // 0x28e8b18
/* 028E8B18 */ cpu->r[3] = 0x0000000Cu;
/* 028E8B1C */ Gambit_fn_02801A78(cpu);
/* 028E8B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8B24 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8B24 */ _t19 = _t18 & 0x00000001u;
/* 028E8B24 */ if (_t19) goto L_028E8B34; else goto L_028E8B28;
L_028E8B28: ; // 0x28e8b28
/* 028E8B28 */ _t20 = cpu->r[3] + 0x00000004u;
/* 028E8B28 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
/* 028E8B2C */ _t21 = cpu->r[3] + 0x00000008u;
/* 028E8B2C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028E8B30 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028E8B30 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
L_028E8B34: ; // 0x28e8b34
/* 028E8B34 */ _t23 = cpu->r[29] + 0x00000010u;
/* 028E8B34 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028E8B38 */ _t24 = cpu->r[29] + 0x0000000Cu;
/* 028E8B38 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028E8B3C */ _t25 = cpu->r[29] + 0x00000014u;
/* 028E8B3C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
L_028E8B40: ; // 0x28e8b40
/* 028E8B40 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028E8B40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028E8B44 */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028E8B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028E8B48 */ cpu->r[3] = cpu->r[31];
/* 028E8B4C */ _t28 = cpu->r[1] + 0x00000010u;
/* 028E8B4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028E8B50 */ cpu->lr = cpu->r[0];
/* 028E8B54 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028E8B54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028E8B58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E8B5C */ return;
}
// fn_028E8B60 @ 0x28e8b60
void Gambit_fn_028E8B60(CPUState* 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_028E8B60: ; // 0x28e8b60
/* 028E8B60 */ cpu->r[0] = cpu->lr;
/* 028E8B64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8B64 */ cpu->r[1] = _t0;
/* 028E8B68 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E8B68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8B6C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E8B6C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E8B70 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E8B70 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E8B74 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E8B74 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E8B78 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E8B78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E8B7C */ cpu->r[29] = 0x101D0000u;
/* 028E8B80 */ cpu->r[30] = cpu->r[3];
/* 028E8B84 */ _t6 = cpu->r[29] + 0xFFFF9B04u;
/* 028E8B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028E8B84 */ cpu->r[29] = _t6;
/* 028E8B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8B8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8B8C */ _t8 = _t7 & 0x00000001u;
/* 028E8B8C */ if (_t8) goto L_028E8B90; else goto L_028E8BE0;
L_028E8B90: ; // 0x28e8b90
/* 028E8B90 */ cpu->r[4] = cpu->r[30];
/* 028E8B94 */ cpu->r[3] = 0x00000034u;
/* 028E8B98 */ cpu->r[5] = 0x00000004u;
/* 028E8B9C */ Gambit_fn_02801ADC(cpu);
/* 028E8BA0 */ cpu->r[31] = cpu->r[3];
/* 028E8BA4 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028E8BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E8BA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8BA8 */ _t10 = _t9 & 0x00000001u;
/* 028E8BA8 */ if (_t10) goto L_028E8BC8; else goto L_028E8BAC;
L_028E8BAC: ; // 0x28e8bac
/* 028E8BAC */ cpu->r[5] = 0x00000003u;
/* 028E8BB0 */ cpu->r[4] = cpu->r[30];
/* 028E8BB4 */ cpu->r[3] = cpu->r[28];
/* 028E8BB8 */ Gambit_fn_02821D88(cpu);
/* 028E8BBC */ cpu->r[0] = 0x10140000u;
/* 028E8BC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC18u;
/* 028E8BC4 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028E8BC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028E8BC8: ; // 0x28e8bc8
/* 028E8BC8 */ cpu->r[12] = 0x101D0000u;
/* 028E8BCC */ cpu->r[3] = cpu->r[31];
/* 028E8BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8BD0 */ _t12 = cpu->r[12] + 0xFFFF9B08u;
/* 028E8BD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028E8BD4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8BD4 */ _t14 = _t13 & 0x00000001u;
/* 028E8BD4 */ if (_t14) goto L_028E8BDC; else goto L_028E8BD8;
L_028E8BD8: ; // 0x28e8bd8
/* 028E8BD8 */ Gambit_fn_028E8AB0(cpu);
L_028E8BDC: ; // 0x28e8bdc
/* 028E8BDC */ _t15 = cpu->r[29] + 0x00000000u;
/* 028E8BDC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028E8BE0: ; // 0x28e8be0
/* 028E8BE0 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E8BE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028E8BE4 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E8BE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E8BE8 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E8BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E8BEC */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E8BEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E8BF0 */ cpu->lr = cpu->r[0];
/* 028E8BF4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E8BF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E8BF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E8BFC */ return;
}
// fn_028E8B64 @ 0x28e8b64
void Gambit_fn_028E8B64(CPUState* 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_028E8B64: ; // 0x28e8b64
/* 028E8B64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8B64 */ cpu->r[1] = _t0;
/* 028E8B68 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E8B68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8B6C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E8B6C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E8B70 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E8B70 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E8B74 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E8B74 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E8B78 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E8B78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E8B7C */ cpu->r[29] = 0x101D0000u;
/* 028E8B80 */ cpu->r[30] = cpu->r[3];
/* 028E8B84 */ _t6 = cpu->r[29] + 0xFFFF9B04u;
/* 028E8B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028E8B84 */ cpu->r[29] = _t6;
/* 028E8B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8B8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8B8C */ _t8 = _t7 & 0x00000001u;
/* 028E8B8C */ if (_t8) goto L_028E8B90; else goto L_028E8BE0;
L_028E8B90: ; // 0x28e8b90
/* 028E8B90 */ cpu->r[4] = cpu->r[30];
/* 028E8B94 */ cpu->r[3] = 0x00000034u;
/* 028E8B98 */ cpu->r[5] = 0x00000004u;
/* 028E8B9C */ Gambit_fn_02801ADC(cpu);
/* 028E8BA0 */ cpu->r[31] = cpu->r[3];
/* 028E8BA4 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028E8BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E8BA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8BA8 */ _t10 = _t9 & 0x00000001u;
/* 028E8BA8 */ if (_t10) goto L_028E8BC8; else goto L_028E8BAC;
L_028E8BAC: ; // 0x28e8bac
/* 028E8BAC */ cpu->r[5] = 0x00000003u;
/* 028E8BB0 */ cpu->r[4] = cpu->r[30];
/* 028E8BB4 */ cpu->r[3] = cpu->r[28];
/* 028E8BB8 */ Gambit_fn_02821D88(cpu);
/* 028E8BBC */ cpu->r[0] = 0x10140000u;
/* 028E8BC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC18u;
/* 028E8BC4 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028E8BC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028E8BC8: ; // 0x28e8bc8
/* 028E8BC8 */ cpu->r[12] = 0x101D0000u;
/* 028E8BCC */ cpu->r[3] = cpu->r[31];
/* 028E8BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8BD0 */ _t12 = cpu->r[12] + 0xFFFF9B08u;
/* 028E8BD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028E8BD4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8BD4 */ _t14 = _t13 & 0x00000001u;
/* 028E8BD4 */ if (_t14) goto L_028E8BDC; else goto L_028E8BD8;
L_028E8BD8: ; // 0x28e8bd8
/* 028E8BD8 */ Gambit_fn_028E8AB0(cpu);
L_028E8BDC: ; // 0x28e8bdc
/* 028E8BDC */ _t15 = cpu->r[29] + 0x00000000u;
/* 028E8BDC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028E8BE0: ; // 0x28e8be0
/* 028E8BE0 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E8BE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028E8BE4 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028E8BE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028E8BE8 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028E8BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E8BEC */ _t19 = cpu->r[1] + 0x00000010u;
/* 028E8BEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E8BF0 */ cpu->lr = cpu->r[0];
/* 028E8BF4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028E8BF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E8BF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E8BFC */ return;
}
// fn_028E8C00 @ 0x28e8c00
void Gambit_fn_028E8C00(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E8C00: ; // 0x28e8c00
/* 028E8C00 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028E8C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8C00 */ cpu->r[1] = _t0;
/* 028E8C04 */ cpu->r[0] = cpu->lr;
/* 028E8C08 */ /* nop */
/* 028E8C0C */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028E8C0C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E8C10 */ cpu->r[29] = cpu->r[3];
/* 028E8C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E8C14 */ cpu->r[30] = cpu->r[4];
/* 028E8C18 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8C18 */ _t3 = _t2 & 0x00000001u;
/* 028E8C18 */ if (_t3) goto L_028E8CCC; else goto L_028E8C1C;
L_028E8C1C: ; // 0x28e8c1c
/* 028E8C1C */ _t4 = cpu->r[29] + 0x00000014u;
/* 028E8C1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028E8C20 */ cpu->r[6] = 0x10140000u;
/* 028E8C24 */ cpu->r[27] = 0x00000000u;
/* 028E8C28 */ cpu->r[6] = cpu->r[6] + 0xFFFFBC08u;
/* 028E8C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8C30 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028E8C30 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
/* 028E8C34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8C34 */ _t7 = _t6 & 0x00000001u;
/* 028E8C34 */ if (_t7) goto L_028E8C40; else goto L_028E8C38;
L_028E8C38: ; // 0x28e8c38
/* 028E8C38 */ Gambit_fn_02801BB0(cpu);
/* 028E8C3C */ _t8 = cpu->r[29] + 0x00000014u;
/* 028E8C3C */ rbrew_write32(cpu->mem, _t8, cpu->r[27]);
L_028E8C40: ; // 0x28e8c40
/* 028E8C40 */ _t9 = cpu->r[29] + 0x0000002Cu;
/* 028E8C40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
/* 028E8C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028E8C48 */ cpu->r[25] = cpu->r[29] + 0x0000001Cu;
/* 028E8C4C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8C4C */ _t11 = _t10 & 0x00000001u;
/* 028E8C4C */ if (_t11) goto L_028E8CBC; else goto L_028E8C50;
L_028E8C50: ; // 0x28e8c50
/* 028E8C50 */ _t12 = cpu->r[25] + 0x00000004u;
/* 028E8C50 */ cpu->r[26] = rbrew_read32(cpu->mem, _t12);
/* 028E8C54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[25]);
/* 028E8C58 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8C58 */ _t14 = _t13 & 0x00000001u;
/* 028E8C58 */ if (_t14) goto L_028E8CA8; else goto L_028E8C5C;
L_028E8C5C: ; // 0x28e8c5c
/* 028E8C5C */ _t15 = cpu->r[26] + 0x00000004u;
/* 028E8C5C */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
/* 028E8C60 */ cpu->r[3] = cpu->r[26];
/* 028E8C64 */ Gambit_fn_02801EDC(cpu);
/* 028E8C68 */ _t16 = cpu->r[25] + 0x00000008u;
/* 028E8C68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
/* 028E8C6C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028E8C70 */ _t17 = cpu->r[25] + 0x00000008u;
/* 028E8C70 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
/* 028E8C74 */ _t18 = cpu->r[26] + 0xFFFFFF50u;
/* 028E8C74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
/* 028E8C78 */ _t19 = cpu->r[9] + 0x0000000Cu;
/* 028E8C78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
/* 028E8C7C */ cpu->r[31] = cpu->r[26] + 0xFFFFFF48u;
/* 028E8C80 */ cpu->ctr = cpu->r[10];
/* 028E8C84 */ cpu->r[3] = cpu->r[31];
/* 028E8C88 */ cpu->r[4] = 0x00000002u;
/* 028E8C8C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8C90 */ _t20 = cpu->r[25] + 0x0000000Cu;
/* 028E8C90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
/* 028E8C94 */ _t21 = cpu->r[26] + 0xFFFFFF48u;
/* 028E8C94 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
/* 028E8C98 */ cpu->r[26] = cpu->r[28];
/* 028E8C9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[25]);
/* 028E8CA0 */ _t22 = cpu->r[25] + 0x0000000Cu;
/* 028E8CA0 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
/* 028E8CA4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8CA4 */ _t24 = _t23 & 0x00000001u;
/* 028E8CA4 */ if (_t24) goto L_028E8CA8; else goto L_028E8C5C;
L_028E8CA8: ; // 0x28e8ca8
/* 028E8CA8 */ _t25 = cpu->r[25] + 0x00000010u;
/* 028E8CA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
/* 028E8CAC */ Gambit_fn_02801BB4(cpu);
/* 028E8CB0 */ _t26 = cpu->r[25] + 0x0000000Cu;
/* 028E8CB0 */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
/* 028E8CB4 */ _t27 = cpu->r[25] + 0x00000014u;
/* 028E8CB4 */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
/* 028E8CB8 */ _t28 = cpu->r[25] + 0x00000010u;
/* 028E8CB8 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
L_028E8CBC: ; // 0x28e8cbc
/* 028E8CBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E8CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8CC0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8CC0 */ _t30 = _t29 & 0x00000001u;
/* 028E8CC0 */ if (_t30) goto L_028E8CCC; else goto L_028E8CC4;
L_028E8CC4: ; // 0x28e8cc4
/* 028E8CC4 */ cpu->r[3] = cpu->r[29];
/* 028E8CC8 */ Gambit_fn_02801BB0(cpu);
L_028E8CCC: ; // 0x28e8ccc
/* 028E8CCC */ /* nop */
/* 028E8CD0 */ _t31 = cpu->r[1] + 0x0000002Cu;
/* 028E8CD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028E8CD4 */ cpu->lr = cpu->r[0];
/* 028E8CD8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028E8CDC */ return;
}
// fn_028E8CE0 @ 0x28e8ce0
void Gambit_fn_028E8CE0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E8CE0: ; // 0x28e8ce0
/* 028E8CE0 */ cpu->r[0] = cpu->lr;
/* 028E8CE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E8CE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8CE4 */ cpu->r[1] = _t0;
/* 028E8CE8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E8CE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8CEC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8CEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8CF0 */ cpu->r[11] = 0x101D0000u;
/* 028E8CF4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8CF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E8CF8 */ _t4 = cpu->r[11] + 0xFFFF9B08u;
/* 028E8CF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028E8CF8 */ cpu->r[11] = _t4;
/* 028E8CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8D00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8D00 */ _t6 = _t5 & 0x00000001u;
/* 028E8D00 */ if (_t6) goto L_028E8D34; else goto L_028E8D04;
L_028E8D04: ; // 0x28e8d04
/* 028E8D04 */ cpu->r[30] = 0x00000000u;
/* 028E8D08 */ _t7 = cpu->r[11] + 0x00000000u;
/* 028E8D08 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028E8D0C */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028E8D0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028E8D10 */ _t9 = cpu->r[10] + 0x0000000Cu;
/* 028E8D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E8D14 */ cpu->ctr = cpu->r[0];
/* 028E8D18 */ cpu->r[4] = 0x00000002u;
/* 028E8D1C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8D20 */ cpu->r[31] = 0x101D0000u;
/* 028E8D24 */ _t10 = cpu->r[31] + 0xFFFF9B04u;
/* 028E8D24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028E8D28 */ cpu->r[4] = 0x00000003u;
/* 028E8D2C */ Gambit_fn_028E8C00(cpu);
/* 028E8D30 */ _t11 = cpu->r[31] + 0xFFFF9B04u;
/* 028E8D30 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
L_028E8D34: ; // 0x28e8d34
/* 028E8D34 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E8D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E8D38 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028E8D38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028E8D3C */ cpu->lr = cpu->r[0];
/* 028E8D40 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E8D40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E8D44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8D48 */ return;
}
// fn_028E8CE4 @ 0x28e8ce4
void Gambit_fn_028E8CE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E8CE4: ; // 0x28e8ce4
/* 028E8CE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E8CE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8CE4 */ cpu->r[1] = _t0;
/* 028E8CE8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E8CE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8CEC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E8CEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8CF0 */ cpu->r[11] = 0x101D0000u;
/* 028E8CF4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E8CF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E8CF8 */ _t4 = cpu->r[11] + 0xFFFF9B08u;
/* 028E8CF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028E8CF8 */ cpu->r[11] = _t4;
/* 028E8CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8D00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8D00 */ _t6 = _t5 & 0x00000001u;
/* 028E8D00 */ if (_t6) goto L_028E8D34; else goto L_028E8D04;
L_028E8D04: ; // 0x28e8d04
/* 028E8D04 */ cpu->r[30] = 0x00000000u;
/* 028E8D08 */ _t7 = cpu->r[11] + 0x00000000u;
/* 028E8D08 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028E8D0C */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028E8D0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028E8D10 */ _t9 = cpu->r[10] + 0x0000000Cu;
/* 028E8D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E8D14 */ cpu->ctr = cpu->r[0];
/* 028E8D18 */ cpu->r[4] = 0x00000002u;
/* 028E8D1C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8D20 */ cpu->r[31] = 0x101D0000u;
/* 028E8D24 */ _t10 = cpu->r[31] + 0xFFFF9B04u;
/* 028E8D24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028E8D28 */ cpu->r[4] = 0x00000003u;
/* 028E8D2C */ Gambit_fn_028E8C00(cpu);
/* 028E8D30 */ _t11 = cpu->r[31] + 0xFFFF9B04u;
/* 028E8D30 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
L_028E8D34: ; // 0x28e8d34
/* 028E8D34 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E8D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E8D38 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028E8D38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028E8D3C */ cpu->lr = cpu->r[0];
/* 028E8D40 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E8D40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028E8D44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8D48 */ return;
}
// fn_028E8D4C @ 0x28e8d4c
void Gambit_fn_028E8D4C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028E8D4C: ; // 0x28e8d4c
/* 028E8D4C */ cpu->r[0] = cpu->lr;
/* 028E8D50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8D50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8D50 */ cpu->r[1] = _t0;
/* 028E8D54 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E8D54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8D58 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E8D58 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8D5C */ cpu->r[31] = cpu->r[5];
/* 028E8D60 */ cpu->r[30] = cpu->r[4];
/* 028E8D64 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E8D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E8D68 */ cpu->r[5] = 0x00000004u;
/* 028E8D6C */ cpu->r[4] = cpu->r[31];
/* 028E8D70 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028E8D70 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
/* 028E8D74 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E8D74 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E8D78 */ cpu->r[29] = cpu->r[3];
/* 028E8D7C */ cpu->r[3] = 0x0000005Cu;
/* 028E8D80 */ Gambit_fn_02801AC8(cpu);
/* 028E8D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8D88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8D88 */ _t7 = _t6 & 0x00000001u;
/* 028E8D88 */ if (_t7) goto L_028E8D90; else goto L_028E8D8C;
L_028E8D8C: ; // 0x28e8d8c
/* 028E8D8C */ Gambit_fn_028EE1D0(cpu);
L_028E8D90: ; // 0x28e8d90
/* 028E8D90 */ _t8 = cpu->r[29] + 0x00000014u;
/* 028E8D90 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
/* 028E8D94 */ Gambit_fn_028EE2B0(cpu);
/* 028E8D98 */ cpu->r[4] = cpu->r[31];
/* 028E8D9C */ cpu->r[3] = 0x00000008u;
/* 028E8DA0 */ cpu->r[5] = 0x00000004u;
/* 028E8DA4 */ Gambit_fn_02801AC8(cpu);
/* 028E8DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8DAC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8DAC */ _t10 = _t9 & 0x00000001u;
/* 028E8DAC */ if (_t10) goto L_028E8DB8; else goto L_028E8DB0;
L_028E8DB0: ; // 0x28e8db0
/* 028E8DB0 */ cpu->r[4] = cpu->r[29];
/* 028E8DB4 */ Gambit_fn_028E929C(cpu);
L_028E8DB8: ; // 0x28e8db8
/* 028E8DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E8DBC */ _t11 = cpu->r[29] + 0x00000018u;
/* 028E8DBC */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
/* 028E8DC0 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E8DC0 */ _t13 = _t12 & 0x00000001u;
/* 028E8DC0 */ if (_t13) goto L_028E8DC4; else goto L_028E8E1C;
L_028E8DC4: ; // 0x28e8dc4
/* 028E8DC4 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x000000C0u);
/* 028E8DC8 */ cpu->r[5] = 0x00000004u;
/* 028E8DCC */ cpu->r[4] = cpu->r[31];
/* 028E8DD0 */ cpu->r[3] = cpu->r[28];
/* 028E8DD4 */ Gambit_fn_02801ADC(cpu);
/* 028E8DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8DDC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8DDC */ _t15 = _t14 & 0x00000001u;
/* 028E8DDC */ if (_t15) goto L_028E8E1C; else goto L_028E8DE0;
L_028E8DE0: ; // 0x28e8de0
/* 028E8DE0 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFFu;
/* 028E8DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028E8DE4 */ _t16 = cpu->r[29] + 0x00000028u;
/* 028E8DE4 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
/* 028E8DE8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E8DE8 */ _t18 = _t17 & 0x00000001u;
/* 028E8DE8 */ if (_t18) goto L_028E8DEC; else goto L_028E8E08;
L_028E8DEC: ; // 0x28e8dec
/* 028E8DEC */ cpu->ctr = cpu->r[8];
/* 028E8DF0 */ cpu->r[10] = 0x00000000u;
/* 028E8DF4 */ cpu->r[12] = cpu->r[3] + 0x000000C0u;
L_028E8DF8: ; // 0x28e8df8
/* 028E8DF8 */ _t19 = cpu->r[3] + cpu->r[10];
/* 028E8DF8 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028E8DFC */ cpu->r[10] = cpu->r[10] + 0x000000C0u;
/* 028E8E00 */ cpu->r[12] = cpu->r[12] + 0x000000C0u;
/* 028E8E04 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E8E04 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E8E04 */ _t21 = _t20 >> (0x00000002u & 31u);
/* 028E8E04 */ _t22 = _t21 & 0x00000001u;
/* 028E8E04 */ if (_t22) goto L_028E8DF8; else goto L_028E8E08;
L_028E8E08: ; // 0x28e8e08
/* 028E8E08 */ cpu->r[9] = cpu->r[3] + cpu->r[28];
/* 028E8E0C */ cpu->r[0] = 0x00000000u;
/* 028E8E10 */ _t23 = cpu->r[9] + 0xFFFFFF40u;
/* 028E8E10 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028E8E14 */ _t24 = cpu->r[29] + 0x00000030u;
/* 028E8E14 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028E8E18 */ _t25 = cpu->r[29] + 0x0000002Cu;
/* 028E8E18 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
L_028E8E1C: ; // 0x28e8e1c
/* 028E8E1C */ _t26 = cpu->r[1] + 0x00000008u;
/* 028E8E1C */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
/* 028E8E20 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028E8E20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
/* 028E8E24 */ _t28 = cpu->r[1] + 0x0000001Cu;
/* 028E8E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E8E28 */ _t29 = cpu->r[1] + 0x00000010u;
/* 028E8E28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028E8E2C */ cpu->lr = cpu->r[0];
/* 028E8E30 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028E8E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028E8E34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E8E38 */ return;
}
// fn_028E8D50 @ 0x28e8d50
void Gambit_fn_028E8D50(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028E8D50: ; // 0x28e8d50
/* 028E8D50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E8D50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8D50 */ cpu->r[1] = _t0;
/* 028E8D54 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E8D54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E8D58 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E8D58 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E8D5C */ cpu->r[31] = cpu->r[5];
/* 028E8D60 */ cpu->r[30] = cpu->r[4];
/* 028E8D64 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E8D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E8D68 */ cpu->r[5] = 0x00000004u;
/* 028E8D6C */ cpu->r[4] = cpu->r[31];
/* 028E8D70 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028E8D70 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
/* 028E8D74 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E8D74 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E8D78 */ cpu->r[29] = cpu->r[3];
/* 028E8D7C */ cpu->r[3] = 0x0000005Cu;
/* 028E8D80 */ Gambit_fn_02801AC8(cpu);
/* 028E8D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8D88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8D88 */ _t7 = _t6 & 0x00000001u;
/* 028E8D88 */ if (_t7) goto L_028E8D90; else goto L_028E8D8C;
L_028E8D8C: ; // 0x28e8d8c
/* 028E8D8C */ Gambit_fn_028EE1D0(cpu);
L_028E8D90: ; // 0x28e8d90
/* 028E8D90 */ _t8 = cpu->r[29] + 0x00000014u;
/* 028E8D90 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
/* 028E8D94 */ Gambit_fn_028EE2B0(cpu);
/* 028E8D98 */ cpu->r[4] = cpu->r[31];
/* 028E8D9C */ cpu->r[3] = 0x00000008u;
/* 028E8DA0 */ cpu->r[5] = 0x00000004u;
/* 028E8DA4 */ Gambit_fn_02801AC8(cpu);
/* 028E8DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8DAC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8DAC */ _t10 = _t9 & 0x00000001u;
/* 028E8DAC */ if (_t10) goto L_028E8DB8; else goto L_028E8DB0;
L_028E8DB0: ; // 0x28e8db0
/* 028E8DB0 */ cpu->r[4] = cpu->r[29];
/* 028E8DB4 */ Gambit_fn_028E929C(cpu);
L_028E8DB8: ; // 0x28e8db8
/* 028E8DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E8DBC */ _t11 = cpu->r[29] + 0x00000018u;
/* 028E8DBC */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
/* 028E8DC0 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E8DC0 */ _t13 = _t12 & 0x00000001u;
/* 028E8DC0 */ if (_t13) goto L_028E8DC4; else goto L_028E8E1C;
L_028E8DC4: ; // 0x28e8dc4
/* 028E8DC4 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x000000C0u);
/* 028E8DC8 */ cpu->r[5] = 0x00000004u;
/* 028E8DCC */ cpu->r[4] = cpu->r[31];
/* 028E8DD0 */ cpu->r[3] = cpu->r[28];
/* 028E8DD4 */ Gambit_fn_02801ADC(cpu);
/* 028E8DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8DDC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8DDC */ _t15 = _t14 & 0x00000001u;
/* 028E8DDC */ if (_t15) goto L_028E8E1C; else goto L_028E8DE0;
L_028E8DE0: ; // 0x28e8de0
/* 028E8DE0 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFFu;
/* 028E8DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028E8DE4 */ _t16 = cpu->r[29] + 0x00000028u;
/* 028E8DE4 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
/* 028E8DE8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E8DE8 */ _t18 = _t17 & 0x00000001u;
/* 028E8DE8 */ if (_t18) goto L_028E8DEC; else goto L_028E8E08;
L_028E8DEC: ; // 0x28e8dec
/* 028E8DEC */ cpu->ctr = cpu->r[8];
/* 028E8DF0 */ cpu->r[10] = 0x00000000u;
/* 028E8DF4 */ cpu->r[12] = cpu->r[3] + 0x000000C0u;
L_028E8DF8: ; // 0x28e8df8
/* 028E8DF8 */ _t19 = cpu->r[3] + cpu->r[10];
/* 028E8DF8 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028E8DFC */ cpu->r[10] = cpu->r[10] + 0x000000C0u;
/* 028E8E00 */ cpu->r[12] = cpu->r[12] + 0x000000C0u;
/* 028E8E04 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E8E04 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E8E04 */ _t21 = _t20 >> (0x00000002u & 31u);
/* 028E8E04 */ _t22 = _t21 & 0x00000001u;
/* 028E8E04 */ if (_t22) goto L_028E8DF8; else goto L_028E8E08;
L_028E8E08: ; // 0x28e8e08
/* 028E8E08 */ cpu->r[9] = cpu->r[3] + cpu->r[28];
/* 028E8E0C */ cpu->r[0] = 0x00000000u;
/* 028E8E10 */ _t23 = cpu->r[9] + 0xFFFFFF40u;
/* 028E8E10 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028E8E14 */ _t24 = cpu->r[29] + 0x00000030u;
/* 028E8E14 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028E8E18 */ _t25 = cpu->r[29] + 0x0000002Cu;
/* 028E8E18 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
L_028E8E1C: ; // 0x28e8e1c
/* 028E8E1C */ _t26 = cpu->r[1] + 0x00000008u;
/* 028E8E1C */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
/* 028E8E20 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028E8E20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
/* 028E8E24 */ _t28 = cpu->r[1] + 0x0000001Cu;
/* 028E8E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E8E28 */ _t29 = cpu->r[1] + 0x00000010u;
/* 028E8E28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028E8E2C */ cpu->lr = cpu->r[0];
/* 028E8E30 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028E8E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028E8E34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E8E38 */ return;
}
// fn_028E8E3C @ 0x28e8e3c
void Gambit_fn_028E8E3C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028E8E3C: ; // 0x28e8e3c
/* 028E8E3C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E8E3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8E3C */ cpu->r[1] = _t0;
/* 028E8E40 */ /* nop */
/* 028E8E44 */ cpu->r[0] = cpu->lr;
/* 028E8E48 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E8E48 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E8E4C */ _t2 = cpu->r[3] + 0x0000002Cu;
/* 028E8E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E8E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8E54 */ cpu->r[28] = cpu->r[4];
/* 028E8E58 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8E58 */ _t4 = _t3 & 0x00000001u;
/* 028E8E58 */ if (_t4) goto L_028E8F28; else goto L_028E8E5C;
L_028E8E5C: ; // 0x28e8e5c
/* 028E8E5C */ _t5 = cpu->r[3] + 0x00000020u;
/* 028E8E5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028E8E60 */ cpu->r[27] = cpu->r[3] + 0xFFFFFF64u;
/* 028E8E64 */ cpu->r[30] = cpu->r[11] + 0xFFFFFF48u;
/* 028E8E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[27]);
/* 028E8E6C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8E6C */ _t7 = _t6 & 0x00000001u;
/* 028E8E6C */ if (_t7) goto L_028E8F28; else goto L_028E8E70;
L_028E8E70: ; // 0x28e8e70
/* 028E8E70 */ cpu->r[31] = 0x10110000u;
/* 028E8E74 */ cpu->r[26] = 0x00080000u;
/* 028E8E78 */ _t8 = cpu->r[31] + 0x00007399u;
/* 028E8E78 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
/* 028E8E7C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
L_028E8E80: ; // 0x28e8e80
/* 028E8E80 */ _t9 = cpu->r[30] + 0x00000004u;
/* 028E8E80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028E8E84 */ _t10 = cpu->r[12] + 0x00000014u;
/* 028E8E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E8E88 */ cpu->ctr = cpu->r[0];
/* 028E8E8C */ cpu->r[3] = cpu->r[30];
/* 028E8E90 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8E94 */ _t11 = cpu->r[30] + 0x00000004u;
/* 028E8E94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
/* 028E8E98 */ _t12 = cpu->r[8] + 0x00000014u;
/* 028E8E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E8E9C */ cpu->ctr = cpu->r[0];
/* 028E8EA0 */ cpu->r[3] = cpu->r[30];
/* 028E8EA4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8EA8 */ _t13 = cpu->r[28] + 0x00000004u;
/* 028E8EA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E8EAC */ _t14 = cpu->r[11] + 0x00000014u;
/* 028E8EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E8EB0 */ cpu->ctr = cpu->r[0];
/* 028E8EB4 */ _t15 = cpu->r[30] + 0x00000000u;
/* 028E8EB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E8EB8 */ cpu->r[3] = cpu->r[28];
/* 028E8EBC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E8EC0 */ _t16 = cpu->r[28] + 0x00000000u;
/* 028E8EC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
/* 028E8EC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
/* 028E8EC8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8EC8 */ _t18 = _t17 & 0x00000001u;
/* 028E8EC8 */ if (_t18) goto L_028E8F00; else goto L_028E8ECC;
L_028E8ECC: ; // 0x28e8ecc
/* 028E8ECC */ _t19 = cpu->r[30] + 0x00000000u;
/* 028E8ECC */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
/* 028E8ED0 */ _t20 = cpu->r[28] + 0x00000000u;
/* 028E8ED0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028E8ED4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
/* 028E8ED8 */ cpu->ctr = cpu->r[26];
/* 028E8EDC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
L_028E8EE0: ; // 0x28e8ee0
/* 028E8EE0 */ _t21 = cpu->r[9] + 0x00000001u;
/* 028E8EE0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t21);
/* 028E8EE0 */ cpu->r[9] = _t21;
/* 028E8EE4 */ _t22 = cpu->r[7] + 0x00000001u;
/* 028E8EE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
/* 028E8EE4 */ cpu->r[7] = _t22;
/* 028E8EE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
/* 028E8EEC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8EEC */ _t24 = _t23 & 0x00000001u;
/* 028E8EEC */ if (_t24) goto L_028E8EF0; else goto L_028E8F18;
L_028E8EF0: ; // 0x28e8ef0
/* 028E8EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E8EF4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8EF4 */ _t26 = _t25 & 0x00000001u;
/* 028E8EF4 */ if (_t26) goto L_028E8F00; else goto L_028E8EF8;
L_028E8EF8: ; // 0x28e8ef8
/* 028E8EF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E8EF8 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E8EF8 */ _t28 = _t27 >> (0x00000002u & 31u);
/* 028E8EF8 */ _t29 = _t28 & 0x00000001u;
/* 028E8EF8 */ if (_t29) goto L_028E8EE0; else goto L_028E8EFC;
L_028E8EFC: ; // 0x28e8efc
/* 028E8EFC */ goto L_028E8F18;
L_028E8F00: ; // 0x28e8f00
/* 028E8F00 */ cpu->r[3] = cpu->r[30];
/* 028E8F04 */ /* nop */
/* 028E8F08 */ _t30 = cpu->r[1] + 0x00000024u;
/* 028E8F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E8F0C */ cpu->lr = cpu->r[0];
/* 028E8F10 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E8F14 */ return;
L_028E8F18: ; // 0x28e8f18
/* 028E8F18 */ _t31 = cpu->r[30] + 0x000000BCu;
/* 028E8F18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
/* 028E8F1C */ cpu->r[30] = cpu->r[10] + 0xFFFFFF48u;
/* 028E8F20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[27]);
/* 028E8F24 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8F24 */ _t33 = _t32 & 0x00000001u;
/* 028E8F24 */ if (_t33) goto L_028E8F28; else goto L_028E8E80;
L_028E8F28: ; // 0x28e8f28
/* 028E8F28 */ /* nop */
/* 028E8F2C */ _t34 = cpu->r[1] + 0x00000024u;
/* 028E8F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028E8F30 */ cpu->lr = cpu->r[0];
/* 028E8F34 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E8F38 */ cpu->r[3] = 0x00000000u;
/* 028E8F3C */ return;
}
// fn_028E8F40 @ 0x28e8f40
void Gambit_fn_028E8F40(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E8F40: ; // 0x28e8f40
/* 028E8F40 */ cpu->r[0] = cpu->lr;
/* 028E8F44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E8F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8F44 */ cpu->r[1] = _t0;
/* 028E8F48 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E8F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E8F4C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E8F4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E8F50 */ _t3 = cpu->r[3] + 0x0000002Cu;
/* 028E8F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E8F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8F58 */ cpu->r[31] = cpu->r[5];
/* 028E8F5C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8F5C */ _t5 = _t4 & 0x00000001u;
/* 028E8F5C */ if (_t5) goto L_028E8F6C; else goto L_028E8F60;
L_028E8F60: ; // 0x28e8f60
/* 028E8F60 */ Gambit_fn_028E8E3C(cpu);
/* 028E8F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8F68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8F68 */ _t7 = _t6 & 0x00000001u;
/* 028E8F68 */ if (_t7) goto L_028E8F6C; else goto L_028E8F84;
L_028E8F6C: ; // 0x28e8f6c
/* 028E8F6C */ _t8 = cpu->r[1] + 0x00000014u;
/* 028E8F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E8F70 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028E8F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028E8F74 */ cpu->lr = cpu->r[0];
/* 028E8F78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8F7C */ cpu->r[3] = 0x00000000u;
/* 028E8F80 */ return;
L_028E8F84: ; // 0x28e8f84
/* 028E8F84 */ cpu->r[4] = cpu->r[31];
/* 028E8F88 */ Gambit_fn_028E99EC(cpu);
/* 028E8F8C */ _t10 = cpu->r[1] + 0x00000014u;
/* 028E8F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E8F90 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E8F90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E8F94 */ cpu->lr = cpu->r[0];
/* 028E8F98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8F9C */ return;
}
// fn_028E8F44 @ 0x28e8f44
void Gambit_fn_028E8F44(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E8F44: ; // 0x28e8f44
/* 028E8F44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E8F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8F44 */ cpu->r[1] = _t0;
/* 028E8F48 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E8F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E8F4C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E8F4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E8F50 */ _t3 = cpu->r[3] + 0x0000002Cu;
/* 028E8F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028E8F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8F58 */ cpu->r[31] = cpu->r[5];
/* 028E8F5C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8F5C */ _t5 = _t4 & 0x00000001u;
/* 028E8F5C */ if (_t5) goto L_028E8F6C; else goto L_028E8F60;
L_028E8F60: ; // 0x28e8f60
/* 028E8F60 */ Gambit_fn_028E8E3C(cpu);
/* 028E8F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8F68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8F68 */ _t7 = _t6 & 0x00000001u;
/* 028E8F68 */ if (_t7) goto L_028E8F6C; else goto L_028E8F84;
L_028E8F6C: ; // 0x28e8f6c
/* 028E8F6C */ _t8 = cpu->r[1] + 0x00000014u;
/* 028E8F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E8F70 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028E8F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028E8F74 */ cpu->lr = cpu->r[0];
/* 028E8F78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8F7C */ cpu->r[3] = 0x00000000u;
/* 028E8F80 */ return;
L_028E8F84: ; // 0x28e8f84
/* 028E8F84 */ cpu->r[4] = cpu->r[31];
/* 028E8F88 */ Gambit_fn_028E99EC(cpu);
/* 028E8F8C */ _t10 = cpu->r[1] + 0x00000014u;
/* 028E8F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E8F90 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E8F90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E8F94 */ cpu->lr = cpu->r[0];
/* 028E8F98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E8F9C */ return;
}
// fn_028E8FA0 @ 0x28e8fa0
void Gambit_fn_028E8FA0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028E8FA0: ; // 0x28e8fa0
/* 028E8FA0 */ _t0 = cpu->r[3] + 0x0000002Cu;
/* 028E8FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E8FA4 */ cpu->r[12] = cpu->r[4];
/* 028E8FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8FAC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8FAC */ _t2 = _t1 & 0x00000001u;
/* 028E8FAC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E8FAC */ goto L_028E8FB0;
L_028E8FB0: ; // 0x28e8fb0
/* 028E8FB0 */ _t3 = cpu->r[12] + 0x00000074u;
/* 028E8FB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028E8FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E8FB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8FB8 */ _t5 = _t4 & 0x00000001u;
/* 028E8FB8 */ if (_t5) goto L_028E8FC4; else goto L_028E8FBC;
L_028E8FBC: ; // 0x28e8fbc
/* 028E8FBC */ cpu->r[4] = cpu->r[12];
/* 028E8FC0 */ goto L_028E9B70;
L_028E8FC4: ; // 0x28e8fc4
/* 028E8FC4 */ _t6 = cpu->r[12] + 0x00000008u;
/* 028E8FC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028E8FC8 */ _t7 = cpu->r[11] + 0x0000000Cu;
/* 028E8FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028E8FCC */ cpu->ctr = cpu->r[0];
/* 028E8FD0 */ cpu->r[3] = cpu->r[12];
/* 028E8FD4 */ cpu->r[4] = 0x00000003u;
/* 028E8FD8 */ rbrew_dispatch(cpu, cpu->ctr); return;
L_028E9B70: ; // 0x28e9b70
/* 028E9B70 */ cpu->r[0] = cpu->lr;
/* 028E9B74 */ _t8 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E9B74 */ rbrew_write32(cpu->mem, _t8, cpu->r[1]);
/* 028E9B74 */ cpu->r[1] = _t8;
/* 028E9B78 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028E9B78 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
/* 028E9B7C */ _t10 = cpu->r[1] + 0x00000010u;
/* 028E9B7C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
/* 028E9B80 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028E9B80 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
/* 028E9B84 */ cpu->r[30] = cpu->r[3];
/* 028E9B88 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028E9B88 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028E9B8C */ cpu->r[29] = cpu->r[30] + 0x0000007Cu;
/* 028E9B90 */ cpu->r[3] = cpu->r[29];
/* 028E9B94 */ cpu->r[31] = cpu->r[4];
/* 028E9B98 */ Gambit_fn_02836FFC(cpu);
/* 028E9B9C */ _t13 = cpu->r[30] + 0x00000078u;
/* 028E9B9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028E9BA0 */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
/* 028E9BA4 */ cpu->r[4] = cpu->r[31] + cpu->r[12];
/* 028E9BA8 */ Gambit_fn_02802290(cpu);
/* 028E9BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9BB0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E9BB0 */ _t15 = _t14 & 0x00000001u;
/* 028E9BB0 */ if (_t15) goto L_028E9BEC; else goto L_028E9BB4;
L_028E9BB4: ; // 0x28e9bb4
/* 028E9BB4 */ _t16 = cpu->r[30] + 0x00000078u;
/* 028E9BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E9BB8 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
/* 028E9BBC */ Gambit_fn_02801EDC(cpu);
/* 028E9BC0 */ _t17 = cpu->r[30] + 0x00000074u;
/* 028E9BC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028E9BC4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
/* 028E9BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9BCC */ _t18 = cpu->r[30] + 0x00000074u;
/* 028E9BCC */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
/* 028E9BD0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9BD0 */ _t20 = _t19 & 0x00000001u;
/* 028E9BD0 */ if (_t20) goto L_028E9BEC; else goto L_028E9BD4;
L_028E9BD4: ; // 0x28e9bd4
/* 028E9BD4 */ _t21 = cpu->r[31] + 0x00000008u;
/* 028E9BD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
/* 028E9BD8 */ _t22 = cpu->r[11] + 0x0000000Cu;
/* 028E9BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028E9BDC */ cpu->ctr = cpu->r[0];
/* 028E9BE0 */ cpu->r[3] = cpu->r[31];
/* 028E9BE4 */ cpu->r[4] = 0x00000003u;
/* 028E9BE8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028E9BEC: ; // 0x28e9bec
/* 028E9BEC */ cpu->r[3] = cpu->r[29];
/* 028E9BF0 */ Gambit_fn_02837030(cpu);
/* 028E9BF4 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028E9BF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028E9BF8 */ _t24 = cpu->r[1] + 0x0000001Cu;
/* 028E9BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028E9BFC */ _t25 = cpu->r[1] + 0x00000010u;
/* 028E9BFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028E9C00 */ cpu->lr = cpu->r[0];
/* 028E9C04 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028E9C04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028E9C08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E9C0C */ return;
}
// fn_028E8FDC @ 0x28e8fdc
void Gambit_fn_028E8FDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028E8FDC: ; // 0x28e8fdc
/* 028E8FDC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E8FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E8FDC */ cpu->r[1] = _t0;
/* 028E8FE0 */ /* nop */
/* 028E8FE4 */ cpu->r[0] = cpu->lr;
/* 028E8FE8 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E8FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E8FEC */ _t2 = cpu->r[3] + 0x0000002Cu;
/* 028E8FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028E8FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E8FF4 */ cpu->r[28] = cpu->r[4];
/* 028E8FF8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E8FF8 */ _t4 = _t3 & 0x00000001u;
/* 028E8FF8 */ if (_t4) goto L_028E90C8; else goto L_028E8FFC;
L_028E8FFC: ; // 0x28e8ffc
/* 028E8FFC */ _t5 = cpu->r[3] + 0x00000020u;
/* 028E8FFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028E9000 */ cpu->r[27] = cpu->r[3] + 0xFFFFFF64u;
/* 028E9004 */ cpu->r[30] = cpu->r[11] + 0xFFFFFF48u;
/* 028E9008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[27]);
/* 028E900C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E900C */ _t7 = _t6 & 0x00000001u;
/* 028E900C */ if (_t7) goto L_028E90C8; else goto L_028E9010;
L_028E9010: ; // 0x28e9010
/* 028E9010 */ cpu->r[31] = 0x10110000u;
/* 028E9014 */ cpu->r[26] = 0x00080000u;
/* 028E9018 */ _t8 = cpu->r[31] + 0x00007399u;
/* 028E9018 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
/* 028E901C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
L_028E9020: ; // 0x28e9020
/* 028E9020 */ _t9 = cpu->r[30] + 0x00000004u;
/* 028E9020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028E9024 */ _t10 = cpu->r[12] + 0x00000014u;
/* 028E9024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028E9028 */ cpu->ctr = cpu->r[0];
/* 028E902C */ cpu->r[3] = cpu->r[30];
/* 028E9030 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9034 */ _t11 = cpu->r[30] + 0x00000004u;
/* 028E9034 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
/* 028E9038 */ _t12 = cpu->r[8] + 0x00000014u;
/* 028E9038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E903C */ cpu->ctr = cpu->r[0];
/* 028E9040 */ cpu->r[3] = cpu->r[30];
/* 028E9044 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9048 */ _t13 = cpu->r[28] + 0x00000004u;
/* 028E9048 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E904C */ _t14 = cpu->r[11] + 0x00000014u;
/* 028E904C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E9050 */ cpu->ctr = cpu->r[0];
/* 028E9054 */ _t15 = cpu->r[30] + 0x00000000u;
/* 028E9054 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E9058 */ cpu->r[3] = cpu->r[28];
/* 028E905C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9060 */ _t16 = cpu->r[28] + 0x00000000u;
/* 028E9060 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
/* 028E9064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
/* 028E9068 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9068 */ _t18 = _t17 & 0x00000001u;
/* 028E9068 */ if (_t18) goto L_028E90A0; else goto L_028E906C;
L_028E906C: ; // 0x28e906c
/* 028E906C */ _t19 = cpu->r[30] + 0x00000000u;
/* 028E906C */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
/* 028E9070 */ _t20 = cpu->r[28] + 0x00000000u;
/* 028E9070 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028E9074 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
/* 028E9078 */ cpu->ctr = cpu->r[26];
/* 028E907C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
L_028E9080: ; // 0x28e9080
/* 028E9080 */ _t21 = cpu->r[9] + 0x00000001u;
/* 028E9080 */ cpu->r[6] = rbrew_read8(cpu->mem, _t21);
/* 028E9080 */ cpu->r[9] = _t21;
/* 028E9084 */ _t22 = cpu->r[7] + 0x00000001u;
/* 028E9084 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
/* 028E9084 */ cpu->r[7] = _t22;
/* 028E9088 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
/* 028E908C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E908C */ _t24 = _t23 & 0x00000001u;
/* 028E908C */ if (_t24) goto L_028E9090; else goto L_028E90B8;
L_028E9090: ; // 0x28e9090
/* 028E9090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028E9094 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9094 */ _t26 = _t25 & 0x00000001u;
/* 028E9094 */ if (_t26) goto L_028E90A0; else goto L_028E9098;
L_028E9098: ; // 0x28e9098
/* 028E9098 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028E9098 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028E9098 */ _t28 = _t27 >> (0x00000002u & 31u);
/* 028E9098 */ _t29 = _t28 & 0x00000001u;
/* 028E9098 */ if (_t29) goto L_028E9080; else goto L_028E909C;
L_028E909C: ; // 0x28e909c
/* 028E909C */ goto L_028E90B8;
L_028E90A0: ; // 0x28e90a0
/* 028E90A0 */ /* nop */
/* 028E90A4 */ _t30 = cpu->r[1] + 0x00000024u;
/* 028E90A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E90A8 */ cpu->lr = cpu->r[0];
/* 028E90AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E90B0 */ cpu->r[3] = 0x00000001u;
/* 028E90B4 */ return;
L_028E90B8: ; // 0x28e90b8
/* 028E90B8 */ _t31 = cpu->r[30] + 0x000000BCu;
/* 028E90B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
/* 028E90BC */ cpu->r[30] = cpu->r[10] + 0xFFFFFF48u;
/* 028E90C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[27]);
/* 028E90C4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E90C4 */ _t33 = _t32 & 0x00000001u;
/* 028E90C4 */ if (_t33) goto L_028E90C8; else goto L_028E9020;
L_028E90C8: ; // 0x28e90c8
/* 028E90C8 */ /* nop */
/* 028E90CC */ _t34 = cpu->r[1] + 0x00000024u;
/* 028E90CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028E90D0 */ cpu->lr = cpu->r[0];
/* 028E90D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E90D8 */ cpu->r[3] = 0x00000000u;
/* 028E90DC */ return;
}
// fn_028E90E0 @ 0x28e90e0
void Gambit_fn_028E90E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028E90E0: ; // 0x28e90e0
/* 028E90E0 */ cpu->r[0] = cpu->lr;
/* 028E90E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E90E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E90E4 */ cpu->r[1] = _t0;
/* 028E90E8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E90E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E90EC */ cpu->r[30] = cpu->r[5];
/* 028E90F0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E90F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E90F4 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E90F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E90F8 */ cpu->r[28] = cpu->r[3];
/* 028E90FC */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E90FC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E9100 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E9100 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E9104 */ cpu->r[29] = cpu->r[4];
/* 028E9108 */ Gambit_fn_028E8FDC(cpu);
/* 028E910C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9110 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9110 */ _t7 = _t6 & 0x00000001u;
/* 028E9110 */ if (_t7) goto L_028E9114; else goto L_028E91C4;
L_028E9114: ; // 0x28e9114
/* 028E9114 */ _t8 = cpu->r[28] + 0x00000024u;
/* 028E9114 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028E9118 */ _t9 = cpu->r[28] + 0x00000030u;
/* 028E9118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028E911C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
/* 028E9120 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E9120 */ _t11 = _t10 & 0x00000001u;
/* 028E9120 */ if (_t11) goto L_028E9124; else goto L_028E91C4;
L_028E9124: ; // 0x28e9124
/* 028E9124 */ _t12 = cpu->r[28] + 0x00000028u;
/* 028E9124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028E9128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E912C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E912C */ _t14 = _t13 & 0x00000001u;
/* 028E912C */ if (_t14) goto L_028E9138; else goto L_028E9130;
L_028E9130: ; // 0x28e9130
/* 028E9130 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028E9130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E9134 */ _t16 = cpu->r[28] + 0x00000028u;
/* 028E9134 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
L_028E9138: ; // 0x28e9138
/* 028E9138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E913C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E913C */ _t18 = _t17 & 0x00000001u;
/* 028E913C */ if (_t18) goto L_028E91A8; else goto L_028E9140;
L_028E9140: ; // 0x28e9140
/* 028E9140 */ cpu->r[3] = cpu->r[31];
/* 028E9144 */ Gambit_fn_028E9668(cpu);
/* 028E9148 */ cpu->r[8] = 0x00000000u;
/* 028E914C */ cpu->r[3] = cpu->r[28] + 0x0000001Cu;
/* 028E9150 */ _t19 = cpu->r[31] + 0x000000BCu;
/* 028E9150 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
/* 028E9154 */ cpu->r[4] = cpu->r[31] + 0x000000B8u;
/* 028E9158 */ _t20 = cpu->r[31] + 0x000000B8u;
/* 028E9158 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
/* 028E915C */ Gambit_fn_02801EBC(cpu);
/* 028E9160 */ _t21 = cpu->r[28] + 0x00000024u;
/* 028E9160 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
/* 028E9164 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E9168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E916C */ _t22 = cpu->r[28] + 0x00000024u;
/* 028E916C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028E9170 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9170 */ _t24 = _t23 & 0x00000001u;
/* 028E9170 */ if (_t24) goto L_028E91C4; else goto L_028E9174;
L_028E9174: ; // 0x28e9174
/* 028E9174 */ cpu->r[5] = cpu->r[30];
/* 028E9178 */ cpu->r[4] = cpu->r[29];
/* 028E917C */ cpu->r[3] = cpu->r[31];
/* 028E9180 */ Gambit_fn_028E9940(cpu);
/* 028E9184 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E9184 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028E9188 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028E9188 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028E918C */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028E918C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028E9190 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028E9190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028E9194 */ cpu->lr = cpu->r[0];
/* 028E9198 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028E9198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028E919C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E91A0 */ cpu->r[3] = 0x00000001u;
/* 028E91A4 */ return;
L_028E91A8: ; // 0x28e91a8
/* 028E91A8 */ cpu->r[3] = cpu->r[28] + 0x0000001Cu;
/* 028E91AC */ cpu->r[4] = 0x000000B8u;
/* 028E91B0 */ cpu->r[31] = 0x00000000u;
/* 028E91B4 */ Gambit_fn_02801EBC(cpu);
/* 028E91B8 */ _t30 = cpu->r[28] + 0x00000024u;
/* 028E91B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
/* 028E91BC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E91C0 */ _t31 = cpu->r[28] + 0x00000024u;
/* 028E91C0 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
L_028E91C4: ; // 0x28e91c4
/* 028E91C4 */ _t32 = cpu->r[1] + 0x00000008u;
/* 028E91C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
/* 028E91C8 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028E91C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
/* 028E91CC */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028E91CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028E91D0 */ _t35 = cpu->r[1] + 0x00000010u;
/* 028E91D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028E91D4 */ cpu->lr = cpu->r[0];
/* 028E91D8 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028E91D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028E91DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E91E0 */ cpu->r[3] = 0x00000000u;
/* 028E91E4 */ return;
}
// fn_028E90E4 @ 0x28e90e4
void Gambit_fn_028E90E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028E90E4: ; // 0x28e90e4
/* 028E90E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E90E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E90E4 */ cpu->r[1] = _t0;
/* 028E90E8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E90E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E90EC */ cpu->r[30] = cpu->r[5];
/* 028E90F0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E90F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E90F4 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028E90F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028E90F8 */ cpu->r[28] = cpu->r[3];
/* 028E90FC */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E90FC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E9100 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E9100 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E9104 */ cpu->r[29] = cpu->r[4];
/* 028E9108 */ Gambit_fn_028E8FDC(cpu);
/* 028E910C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9110 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9110 */ _t7 = _t6 & 0x00000001u;
/* 028E9110 */ if (_t7) goto L_028E9114; else goto L_028E91C4;
L_028E9114: ; // 0x28e9114
/* 028E9114 */ _t8 = cpu->r[28] + 0x00000024u;
/* 028E9114 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028E9118 */ _t9 = cpu->r[28] + 0x00000030u;
/* 028E9118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028E911C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
/* 028E9120 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E9120 */ _t11 = _t10 & 0x00000001u;
/* 028E9120 */ if (_t11) goto L_028E9124; else goto L_028E91C4;
L_028E9124: ; // 0x28e9124
/* 028E9124 */ _t12 = cpu->r[28] + 0x00000028u;
/* 028E9124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028E9128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E912C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E912C */ _t14 = _t13 & 0x00000001u;
/* 028E912C */ if (_t14) goto L_028E9138; else goto L_028E9130;
L_028E9130: ; // 0x28e9130
/* 028E9130 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028E9130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E9134 */ _t16 = cpu->r[28] + 0x00000028u;
/* 028E9134 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
L_028E9138: ; // 0x28e9138
/* 028E9138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E913C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E913C */ _t18 = _t17 & 0x00000001u;
/* 028E913C */ if (_t18) goto L_028E91A8; else goto L_028E9140;
L_028E9140: ; // 0x28e9140
/* 028E9140 */ cpu->r[3] = cpu->r[31];
/* 028E9144 */ Gambit_fn_028E9668(cpu);
/* 028E9148 */ cpu->r[8] = 0x00000000u;
/* 028E914C */ cpu->r[3] = cpu->r[28] + 0x0000001Cu;
/* 028E9150 */ _t19 = cpu->r[31] + 0x000000BCu;
/* 028E9150 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
/* 028E9154 */ cpu->r[4] = cpu->r[31] + 0x000000B8u;
/* 028E9158 */ _t20 = cpu->r[31] + 0x000000B8u;
/* 028E9158 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
/* 028E915C */ Gambit_fn_02801EBC(cpu);
/* 028E9160 */ _t21 = cpu->r[28] + 0x00000024u;
/* 028E9160 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
/* 028E9164 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E9168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E916C */ _t22 = cpu->r[28] + 0x00000024u;
/* 028E916C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028E9170 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9170 */ _t24 = _t23 & 0x00000001u;
/* 028E9170 */ if (_t24) goto L_028E91C4; else goto L_028E9174;
L_028E9174: ; // 0x28e9174
/* 028E9174 */ cpu->r[5] = cpu->r[30];
/* 028E9178 */ cpu->r[4] = cpu->r[29];
/* 028E917C */ cpu->r[3] = cpu->r[31];
/* 028E9180 */ Gambit_fn_028E9940(cpu);
/* 028E9184 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028E9184 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028E9188 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028E9188 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028E918C */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028E918C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028E9190 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028E9190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028E9194 */ cpu->lr = cpu->r[0];
/* 028E9198 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028E9198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028E919C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E91A0 */ cpu->r[3] = 0x00000001u;
/* 028E91A4 */ return;
L_028E91A8: ; // 0x28e91a8
/* 028E91A8 */ cpu->r[3] = cpu->r[28] + 0x0000001Cu;
/* 028E91AC */ cpu->r[4] = 0x000000B8u;
/* 028E91B0 */ cpu->r[31] = 0x00000000u;
/* 028E91B4 */ Gambit_fn_02801EBC(cpu);
/* 028E91B8 */ _t30 = cpu->r[28] + 0x00000024u;
/* 028E91B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
/* 028E91BC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E91C0 */ _t31 = cpu->r[28] + 0x00000024u;
/* 028E91C0 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
L_028E91C4: ; // 0x28e91c4
/* 028E91C4 */ _t32 = cpu->r[1] + 0x00000008u;
/* 028E91C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
/* 028E91C8 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028E91C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
/* 028E91CC */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028E91CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028E91D0 */ _t35 = cpu->r[1] + 0x00000010u;
/* 028E91D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028E91D4 */ cpu->lr = cpu->r[0];
/* 028E91D8 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028E91D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028E91DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E91E0 */ cpu->r[3] = 0x00000000u;
/* 028E91E4 */ return;
}
// fn_028E91E8 @ 0x28e91e8
void Gambit_fn_028E91E8(CPUState* cpu) {
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_028E91E8: ; // 0x28e91e8
/* 028E91E8 */ cpu->r[0] = cpu->lr;
/* 028E91EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E91EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E91EC */ cpu->r[1] = _t0;
/* 028E91F0 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E91F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E91F4 */ cpu->r[31] = cpu->r[4];
/* 028E91F8 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E91F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E91FC */ _t3 = cpu->r[1] + 0x00000008u;
/* 028E91FC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028E9200 */ cpu->r[30] = cpu->r[3];
/* 028E9200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E9204 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028E9204 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028E9208 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E9208 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E920C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E920C */ _t7 = _t6 & 0x00000001u;
/* 028E920C */ if (_t7) goto L_028E9264; else goto L_028E9210;
L_028E9210: ; // 0x28e9210
/* 028E9210 */ cpu->r[0] = 0x10140000u;
/* 028E9214 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC18u;
/* 028E9218 */ cpu->r[12] = 0x101D0000u;
/* 028E921C */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028E921C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E9220 */ _t9 = cpu->r[12] + 0xFFFF9B08u;
/* 028E9220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028E9220 */ cpu->r[12] = _t9;
/* 028E9224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
/* 028E9228 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9228 */ _t11 = _t10 & 0x00000001u;
/* 028E9228 */ if (_t11) goto L_028E922C; else goto L_028E9248;
L_028E922C: ; // 0x28e922c
/* 028E922C */ cpu->r[29] = 0x101D0000u;
/* 028E9230 */ cpu->r[28] = 0x00000000u;
/* 028E9234 */ _t12 = cpu->r[29] + 0xFFFF9B04u;
/* 028E9234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028E9238 */ cpu->r[4] = 0x00000002u;
/* 028E923C */ _t13 = cpu->r[12] + 0x00000000u;
/* 028E923C */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028E9240 */ Gambit_fn_028E8C00(cpu);
/* 028E9244 */ _t14 = cpu->r[29] + 0xFFFF9B04u;
/* 028E9244 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
L_028E9248: ; // 0x28e9248
/* 028E9248 */ cpu->r[3] = cpu->r[30];
/* 028E924C */ cpu->r[4] = 0x00000000u;
/* 028E9250 */ Gambit_fn_02821E68(cpu);
/* 028E9254 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9258 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9258 */ _t16 = _t15 & 0x00000001u;
/* 028E9258 */ if (_t16) goto L_028E9264; else goto L_028E925C;
L_028E925C: ; // 0x28e925c
/* 028E925C */ cpu->r[3] = cpu->r[30];
/* 028E9260 */ Gambit_fn_02801BB0(cpu);
L_028E9264: ; // 0x28e9264
/* 028E9264 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E9264 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028E9268 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E9268 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028E926C */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028E926C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E9270 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028E9270 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028E9274 */ cpu->lr = cpu->r[0];
/* 028E9278 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E9278 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028E927C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E9280 */ return;
}
// fn_028E91EC @ 0x28e91ec
void Gambit_fn_028E91EC(CPUState* cpu) {
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_028E91EC: ; // 0x28e91ec
/* 028E91EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E91EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E91EC */ cpu->r[1] = _t0;
/* 028E91F0 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E91F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E91F4 */ cpu->r[31] = cpu->r[4];
/* 028E91F8 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E91F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E91FC */ _t3 = cpu->r[1] + 0x00000008u;
/* 028E91FC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028E9200 */ cpu->r[30] = cpu->r[3];
/* 028E9200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E9204 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028E9204 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028E9208 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E9208 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E920C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E920C */ _t7 = _t6 & 0x00000001u;
/* 028E920C */ if (_t7) goto L_028E9264; else goto L_028E9210;
L_028E9210: ; // 0x28e9210
/* 028E9210 */ cpu->r[0] = 0x10140000u;
/* 028E9214 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC18u;
/* 028E9218 */ cpu->r[12] = 0x101D0000u;
/* 028E921C */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028E921C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028E9220 */ _t9 = cpu->r[12] + 0xFFFF9B08u;
/* 028E9220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028E9220 */ cpu->r[12] = _t9;
/* 028E9224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
/* 028E9228 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9228 */ _t11 = _t10 & 0x00000001u;
/* 028E9228 */ if (_t11) goto L_028E922C; else goto L_028E9248;
L_028E922C: ; // 0x28e922c
/* 028E922C */ cpu->r[29] = 0x101D0000u;
/* 028E9230 */ cpu->r[28] = 0x00000000u;
/* 028E9234 */ _t12 = cpu->r[29] + 0xFFFF9B04u;
/* 028E9234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028E9238 */ cpu->r[4] = 0x00000002u;
/* 028E923C */ _t13 = cpu->r[12] + 0x00000000u;
/* 028E923C */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028E9240 */ Gambit_fn_028E8C00(cpu);
/* 028E9244 */ _t14 = cpu->r[29] + 0xFFFF9B04u;
/* 028E9244 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
L_028E9248: ; // 0x28e9248
/* 028E9248 */ cpu->r[3] = cpu->r[30];
/* 028E924C */ cpu->r[4] = 0x00000000u;
/* 028E9250 */ Gambit_fn_02821E68(cpu);
/* 028E9254 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9258 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9258 */ _t16 = _t15 & 0x00000001u;
/* 028E9258 */ if (_t16) goto L_028E9264; else goto L_028E925C;
L_028E925C: ; // 0x28e925c
/* 028E925C */ cpu->r[3] = cpu->r[30];
/* 028E9260 */ Gambit_fn_02801BB0(cpu);
L_028E9264: ; // 0x28e9264
/* 028E9264 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028E9264 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028E9268 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028E9268 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028E926C */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028E926C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E9270 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028E9270 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028E9274 */ cpu->lr = cpu->r[0];
/* 028E9278 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028E9278 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028E927C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E9280 */ return;
}
// fn_028E9284 @ 0x28e9284
void Gambit_fn_028E9284(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_028E9284: ; // 0x28e9284
/* 028E9284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9288 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9288 */ _t17 = _t16 & 0x00000001u;
/* 028E9288 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9288 */ goto L_028E928C;
L_028E928C: ; // 0x28e928c
/* 028E928C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E928C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9290 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9290 */ _t19 = _t18 & 0x00000001u;
/* 028E9290 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9290 */ goto L_028E9294;
L_028E9294: ; // 0x28e9294
/* 028E9294 */ goto L_02801BB0;
}
// fn_028E9298 @ 0x28e9298
void Gambit_fn_028E9298(CPUState* cpu) {
L_028E9298: ; // 0x28e9298
/* 028E9298 */ return;
}
// fn_028E929C @ 0x28e929c
void Gambit_fn_028E929C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028E929C: ; // 0x28e929c
/* 028E929C */ cpu->r[0] = cpu->lr;
/* 028E92A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E92A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E92A0 */ cpu->r[1] = _t0;
/* 028E92A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E92A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E92A8 */ cpu->r[31] = cpu->r[4];
/* 028E92AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E92B0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E92B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E92B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E92B4 */ _t4 = _t3 & 0x00000001u;
/* 028E92B4 */ if (_t4) goto L_028E92B8; else goto L_028E92C8;
L_028E92B8: ; // 0x28e92b8
/* 028E92B8 */ cpu->r[3] = 0x00000008u;
/* 028E92BC */ Gambit_fn_02801A78(cpu);
/* 028E92C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E92C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E92C4 */ _t6 = _t5 & 0x00000001u;
/* 028E92C4 */ if (_t6) goto L_028E92D8; else goto L_028E92C8;
L_028E92C8: ; // 0x28e92c8
/* 028E92C8 */ cpu->r[0] = 0x10140000u;
/* 028E92CC */ _t7 = cpu->r[3] + 0x00000000u;
/* 028E92CC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
/* 028E92D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC40u;
/* 028E92D4 */ _t8 = cpu->r[3] + 0x00000004u;
/* 028E92D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
L_028E92D8: ; // 0x28e92d8
/* 028E92D8 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E92D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E92DC */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028E92DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028E92E0 */ cpu->lr = cpu->r[0];
/* 028E92E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E92E8 */ return;
}
// fn_028E92A0 @ 0x28e92a0
void Gambit_fn_028E92A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028E92A0: ; // 0x28e92a0
/* 028E92A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E92A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E92A0 */ cpu->r[1] = _t0;
/* 028E92A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E92A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E92A8 */ cpu->r[31] = cpu->r[4];
/* 028E92AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E92B0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E92B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E92B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E92B4 */ _t4 = _t3 & 0x00000001u;
/* 028E92B4 */ if (_t4) goto L_028E92B8; else goto L_028E92C8;
L_028E92B8: ; // 0x28e92b8
/* 028E92B8 */ cpu->r[3] = 0x00000008u;
/* 028E92BC */ Gambit_fn_02801A78(cpu);
/* 028E92C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E92C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E92C4 */ _t6 = _t5 & 0x00000001u;
/* 028E92C4 */ if (_t6) goto L_028E92D8; else goto L_028E92C8;
L_028E92C8: ; // 0x28e92c8
/* 028E92C8 */ cpu->r[0] = 0x10140000u;
/* 028E92CC */ _t7 = cpu->r[3] + 0x00000000u;
/* 028E92CC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
/* 028E92D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC40u;
/* 028E92D4 */ _t8 = cpu->r[3] + 0x00000004u;
/* 028E92D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
L_028E92D8: ; // 0x28e92d8
/* 028E92D8 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E92D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E92DC */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028E92DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028E92E0 */ cpu->lr = cpu->r[0];
/* 028E92E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E92E8 */ return;
}
// fn_028E92EC @ 0x28e92ec
void Gambit_fn_028E92EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028E92EC: ; // 0x28e92ec
/* 028E92EC */ _t0 = cpu->r[1] + 0xFFFFFF28u;
/* 028E92EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E92EC */ cpu->r[1] = _t0;
/* 028E92F0 */ /* nop */
/* 028E92F4 */ _t1 = cpu->r[1] + 0x000000C8u;
/* 028E92F4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E92F8 */ /* nop */
/* 028E92FC */ _t2 = cpu->r[1] + 0x000000D0u;
/* 028E92FC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028E9300 */ cpu->r[0] = cpu->lr;
/* 028E9304 */ _t3 = cpu->r[1] + 0x000000DCu;
/* 028E9304 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9308 */ cpu->r[31] = cpu->r[4];
/* 028E930C */ _t4 = cpu->r[31] + 0x00000000u;
/* 028E930C */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
/* 028E9310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000053u);
/* 028E9314 */ cpu->r[30] = cpu->r[3];
/* 028E9318 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9318 */ _t6 = _t5 & 0x00000001u;
/* 028E9318 */ if (_t6) goto L_028E931C; else goto L_028E9398;
L_028E931C: ; // 0x28e931c
/* 028E931C */ _t7 = cpu->r[31] + 0x00000001u;
/* 028E931C */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
/* 028E9320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000048u);
/* 028E9324 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9324 */ _t9 = _t8 & 0x00000001u;
/* 028E9324 */ if (_t9) goto L_028E9328; else goto L_028E9398;
L_028E9328: ; // 0x28e9328
/* 028E9328 */ _t10 = cpu->r[31] + 0x00000002u;
/* 028E9328 */ cpu->r[11] = rbrew_read8(cpu->mem, _t10);
/* 028E932C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000053u);
/* 028E9330 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9330 */ _t12 = _t11 & 0x00000001u;
/* 028E9330 */ if (_t12) goto L_028E9334; else goto L_028E9398;
L_028E9334: ; // 0x28e9334
/* 028E9334 */ _t13 = cpu->r[31] + 0x00000003u;
/* 028E9334 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
/* 028E9338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000054u);
/* 028E933C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E933C */ _t15 = _t14 & 0x00000001u;
/* 028E933C */ if (_t15) goto L_028E9340; else goto L_028E9398;
L_028E9340: ; // 0x28e9340
/* 028E9340 */ _t16 = cpu->r[31] + 0x00000004u;
/* 028E9340 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
/* 028E9344 */ _t17 = cpu->r[1] + 0x00000098u;
/* 028E9344 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
/* 028E9348 */ _t18 = cpu->r[1] + 0x00000098u;
/* 028E9348 */ cpu->r[4] = rbrew_read8(cpu->mem, _t18);
/* 028E934C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FFu);
/* 028E9350 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9350 */ _t20 = _t19 & 0x00000001u;
/* 028E9350 */ if (_t20) goto L_028E9398; else goto L_028E9354;
L_028E9354: ; // 0x28e9354
/* 028E9354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FEu);
/* 028E9358 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9358 */ _t22 = _t21 & 0x00000001u;
/* 028E9358 */ if (_t22) goto L_028E935C; else goto L_028E9398;
L_028E935C: ; // 0x28e935c
/* 028E935C */ _t23 = cpu->r[1] + 0x00000099u;
/* 028E935C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
/* 028E9360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FFu);
/* 028E9364 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9364 */ _t25 = _t24 & 0x00000001u;
/* 028E9364 */ if (_t25) goto L_028E9368; else goto L_028E9398;
L_028E9368: ; // 0x28e9368
/* 028E9368 */ cpu->r[12] = 0x101F0000u;
/* 028E936C */ cpu->r[29] = 0x10110000u;
/* 028E9370 */ _t26 = cpu->r[12] + 0x000066E4u;
/* 028E9370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028E9374 */ cpu->r[29] = cpu->r[29] + 0x00007344u;
/* 028E9378 */ cpu->r[28] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028E937C */ cpu->r[9] = cpu->r[29] + cpu->r[28];
/* 028E9380 */ _t27 = cpu->r[9] + 0x00000008u;
/* 028E9380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
/* 028E9384 */ cpu->ctr = cpu->r[10];
/* 028E9388 */ _t28 = cpu->r[31] + 0x00000006u;
/* 028E9388 */ cpu->r[3] = rbrew_read16(cpu->mem, _t28);
/* 028E938C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
/* 028E9394 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9394 */ _t30 = _t29 & 0x00000001u;
/* 028E9394 */ if (_t30) goto L_028E93BC; else goto L_028E9398;
L_028E9398: ; // 0x28e9398
/* 028E9398 */ /* nop */
/* 028E939C */ _t31 = cpu->r[1] + 0x000000D0u;
/* 028E939C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
/* 028E93A0 */ _t32 = cpu->r[1] + 0x000000C8u;
/* 028E93A0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t32);
/* 028E93A4 */ cpu->r[3] = 0x00000000u;
/* 028E93A8 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E93A8 */ _t34 = _t33 & 0x00000001u;
/* 028E93A8 */ if (_t34) goto L_028E93AC; // else: addr-0 trap, fall-through
L_028E93AC: ; // 0x28e93ac
/* 028E93AC */ _t35 = cpu->r[1] + 0x000000DCu;
/* 028E93AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028E93B0 */ cpu->lr = cpu->r[0];
/* 028E93B4 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
/* 028E93B8 */ return;
L_028E93BC: ; // 0x28e93bc
/* 028E93BC */ cpu->r[29] = cpu->r[29] + cpu->r[28];
/* 028E93C0 */ _t36 = cpu->r[29] + 0x00000010u;
/* 028E93C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
/* 028E93C0 */ cpu->r[29] = _t36;
/* 028E93C4 */ _t37 = cpu->r[31] + 0x00000008u;
/* 028E93C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028E93C8 */ cpu->ctr = cpu->r[0];
/* 028E93CC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E93D0 */ cpu->r[25] = cpu->r[3];
/* 028E93D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028E93D4 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E93D4 */ _t39 = _t38 & 0x00000001u;
/* 028E93D4 */ if (_t39) goto L_028E93D8; else goto L_028E962C;
L_028E93D8: ; // 0x28e93d8
/* 028E93D8 */ cpu->r[7] = 0x10140000u;
/* 028E93DC */ cpu->r[24] = 0x101F0000u;
/* 028E93E0 */ _t40 = cpu->r[7] + 0xFFFFBC50u;
/* 028E93E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
/* 028E93E4 */ cpu->r[24] = cpu->r[24] + 0x00006338u;
/* 028E93E8 */ cpu->r[26] = 0x00000001u;
/* 028E93EC */ _t41 = cpu->r[29] + 0x00000000u;
/* 028E93EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
/* 028E93F0 */ cpu->r[29] = 0x10140000u;
/* 028E93F4 */ cpu->r[23] = cpu->r[31] + 0x00000008u;
/* 028E93F8 */ cpu->r[27] = 0x00000000u;
/* 028E93FC */ cpu->r[29] = cpu->r[29] + 0xFFFFBC28u;
L_028E9400: ; // 0x28e9400
/* 028E9400 */ cpu->ctr = cpu->r[28];
/* 028E9404 */ _t42 = cpu->r[23] + 0x00000004u;
/* 028E9404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
/* 028E9404 */ cpu->r[23] = _t42;
/* 028E9408 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E940C */ _t43 = cpu->r[24] + 0x00000004u;
/* 028E940C */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
/* 028E9410 */ _t44 = cpu->r[1] + 0x00000041u;
/* 028E9410 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[26]);
/* 028E9414 */ _t45 = cpu->r[1] + 0x00000028u;
/* 028E9414 */ rbrew_write32(cpu->mem, _t45, cpu->r[4]);
/* 028E9418 */ _t46 = cpu->r[1] + 0x00000034u;
/* 028E9418 */ rbrew_write32(cpu->mem, _t46, cpu->r[4]);
/* 028E941C */ _t47 = cpu->r[24] + 0x00000000u;
/* 028E941C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028E9420 */ _t48 = cpu->r[1] + 0x0000001Cu;
/* 028E9420 */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
/* 028E9424 */ _t49 = cpu->r[1] + 0x00000018u;
/* 028E9424 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
/* 028E9428 */ _t50 = cpu->r[24] + 0x00000008u;
/* 028E9428 */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
/* 028E942C */ _t51 = cpu->r[1] + 0x00000024u;
/* 028E942C */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
/* 028E9430 */ _t52 = cpu->r[1] + 0x0000002Cu;
/* 028E9430 */ rbrew_write32(cpu->mem, _t52, cpu->r[6]);
/* 028E9434 */ _t53 = cpu->r[1] + 0x00000030u;
/* 028E9434 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
/* 028E9438 */ _t54 = cpu->r[1] + 0x00000038u;
/* 028E9438 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]);
/* 028E943C */ cpu->ctr = cpu->r[28];
/* 028E9440 */ _t55 = cpu->r[1] + 0x00000014u;
/* 028E9440 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
/* 028E9444 */ cpu->r[22] = cpu->r[31] + cpu->r[3];
/* 028E9448 */ _t56 = cpu->r[1] + 0x0000003Cu;
/* 028E9448 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[31]);
/* 028E944C */ _t57 = cpu->r[1] + 0x00000020u;
/* 028E944C */ rbrew_write32(cpu->mem, _t57, cpu->r[6]);
/* 028E9450 */ _t58 = cpu->r[1] + 0x00000040u;
/* 028E9450 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[26]);
/* 028E9454 */ _t59 = cpu->r[22] + 0x00000000u;
/* 028E9454 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
/* 028E9458 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E945C */ cpu->ctr = cpu->r[28];
/* 028E9460 */ _t60 = cpu->r[1] + 0x00000014u;
/* 028E9460 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
/* 028E9464 */ _t61 = cpu->r[22] + 0x00000004u;
/* 028E9464 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
/* 028E9468 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E946C */ _t62 = cpu->r[1] + 0x00000070u;
/* 028E946C */ rbrew_write32(cpu->mem, _t62, cpu->r[3]);
/* 028E9470 */ cpu->ctr = cpu->r[28];
/* 028E9474 */ _t63 = cpu->r[1] + 0x00000070u;
/* 028E9474 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
/* 028E9478 */ _t64 = cpu->r[1] + 0x00000044u;
/* 028E9478 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[11]);
/* 028E947C */ _t65 = cpu->r[22] + 0x00000008u;
/* 028E947C */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
/* 028E9480 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9484 */ _t66 = cpu->r[1] + 0x00000074u;
/* 028E9484 */ rbrew_write32(cpu->mem, _t66, cpu->r[3]);
/* 028E9488 */ cpu->ctr = cpu->r[28];
/* 028E948C */ _t67 = cpu->r[1] + 0x00000074u;
/* 028E948C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t67);
/* 028E9490 */ _t68 = cpu->r[1] + 0x00000048u;
/* 028E9490 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
/* 028E9494 */ _t69 = cpu->r[22] + 0x0000000Cu;
/* 028E9494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
/* 028E9498 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E949C */ _t70 = cpu->r[1] + 0x00000048u;
/* 028E949C */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
/* 028E94A0 */ _t71 = cpu->r[1] + 0x00000078u;
/* 028E94A0 */ rbrew_write32(cpu->mem, _t71, cpu->r[3]);
/* 028E94A4 */ _t72 = cpu->r[1] + 0x00000078u;
/* 028E94A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t72);
/* 028E94A8 */ _t73 = cpu->r[1] + 0x0000000Cu;
/* 028E94A8 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]);
/* 028E94AC */ _t74 = cpu->r[1] + 0x0000004Cu;
/* 028E94AC */ rbrew_write_f32(cpu->mem, _t74, cpu->f[13]);
/* 028E94B0 */ _t75 = cpu->r[1] + 0x0000004Cu;
/* 028E94B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
/* 028E94B4 */ _t76 = cpu->r[1] + 0x0000000Cu;
/* 028E94B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t76);
/* 028E94B8 */ _t77 = cpu->r[1] + 0x00000044u;
/* 028E94B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
/* 028E94BC */ _t78 = cpu->r[1] + 0x00000010u;
/* 028E94BC */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
/* 028E94C0 */ _t79 = cpu->r[1] + 0x00000010u;
/* 028E94C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t79);
/* 028E94C4 */ _t80 = cpu->r[1] + 0x00000008u;
/* 028E94C4 */ rbrew_write32(cpu->mem, _t80, cpu->r[7]);
/* 028E94C8 */ _t81 = cpu->r[1] + 0x00000008u;
/* 028E94C8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t81);
/* 028E94CC */ cpu->ctr = cpu->r[28];
/* 028E94D0 */ _t82 = cpu->r[1] + 0x00000020u;
/* 028E94D0 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[11]);
/* 028E94D4 */ _t83 = cpu->r[1] + 0x00000018u;
/* 028E94D4 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[9]);
/* 028E94D8 */ _t84 = cpu->r[1] + 0x0000001Cu;
/* 028E94D8 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[10]);
/* 028E94DC */ _t85 = cpu->r[22] + 0x00000010u;
/* 028E94DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
/* 028E94E0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E94E4 */ _t86 = cpu->r[1] + 0x0000007Cu;
/* 028E94E4 */ rbrew_write32(cpu->mem, _t86, cpu->r[3]);
/* 028E94E8 */ cpu->ctr = cpu->r[28];
/* 028E94EC */ _t87 = cpu->r[1] + 0x0000007Cu;
/* 028E94EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t87);
/* 028E94F0 */ _t88 = cpu->r[1] + 0x00000050u;
/* 028E94F0 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[12]);
/* 028E94F4 */ _t89 = cpu->r[22] + 0x00000014u;
/* 028E94F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
/* 028E94F8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E94FC */ _t90 = cpu->r[1] + 0x00000080u;
/* 028E94FC */ rbrew_write32(cpu->mem, _t90, cpu->r[3]);
/* 028E9500 */ cpu->ctr = cpu->r[28];
/* 028E9504 */ _t91 = cpu->r[1] + 0x00000080u;
/* 028E9504 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t91);
/* 028E9508 */ _t92 = cpu->r[1] + 0x00000054u;
/* 028E9508 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[13]);
/* 028E950C */ _t93 = cpu->r[22] + 0x00000018u;
/* 028E950C */ cpu->r[3] = rbrew_read32(cpu->mem, _t93);
/* 028E9510 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9514 */ _t94 = cpu->r[1] + 0x00000054u;
/* 028E9514 */ cpu->r[6] = rbrew_read32(cpu->mem, _t94);
/* 028E9518 */ _t95 = cpu->r[1] + 0x00000084u;
/* 028E9518 */ rbrew_write32(cpu->mem, _t95, cpu->r[3]);
/* 028E951C */ _t96 = cpu->r[1] + 0x00000084u;
/* 028E951C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t96);
/* 028E9520 */ _t97 = cpu->r[1] + 0x0000000Cu;
/* 028E9520 */ rbrew_write32(cpu->mem, _t97, cpu->r[6]);
/* 028E9524 */ _t98 = cpu->r[1] + 0x00000058u;
/* 028E9524 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
/* 028E9528 */ _t99 = cpu->r[1] + 0x00000058u;
/* 028E9528 */ cpu->r[7] = rbrew_read32(cpu->mem, _t99);
/* 028E952C */ _t100 = cpu->r[1] + 0x0000000Cu;
/* 028E952C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t100);
/* 028E9530 */ _t101 = cpu->r[1] + 0x00000050u;
/* 028E9530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
/* 028E9534 */ _t102 = cpu->r[1] + 0x00000010u;
/* 028E9534 */ rbrew_write32(cpu->mem, _t102, cpu->r[7]);
/* 028E9538 */ _t103 = cpu->r[1] + 0x00000010u;
/* 028E9538 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t103);
/* 028E953C */ _t104 = cpu->r[1] + 0x00000008u;
/* 028E953C */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
/* 028E9540 */ _t105 = cpu->r[1] + 0x00000008u;
/* 028E9540 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t105);
/* 028E9544 */ cpu->ctr = cpu->r[28];
/* 028E9548 */ _t106 = cpu->r[1] + 0x0000002Cu;
/* 028E9548 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[7]);
/* 028E954C */ _t107 = cpu->r[1] + 0x00000024u;
/* 028E954C */ rbrew_write_f32(cpu->mem, _t107, cpu->f[13]);
/* 028E9550 */ _t108 = cpu->r[1] + 0x00000028u;
/* 028E9550 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[6]);
/* 028E9554 */ _t109 = cpu->r[22] + 0x0000001Cu;
/* 028E9554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t109);
/* 028E9558 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E955C */ _t110 = cpu->r[1] + 0x00000088u;
/* 028E955C */ rbrew_write32(cpu->mem, _t110, cpu->r[3]);
/* 028E9560 */ cpu->ctr = cpu->r[28];
/* 028E9564 */ _t111 = cpu->r[1] + 0x00000088u;
/* 028E9564 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t111);
/* 028E9568 */ _t112 = cpu->r[1] + 0x0000005Cu;
/* 028E9568 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[8]);
/* 028E956C */ _t113 = cpu->r[22] + 0x00000020u;
/* 028E956C */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
/* 028E9570 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9574 */ _t114 = cpu->r[1] + 0x0000008Cu;
/* 028E9574 */ rbrew_write32(cpu->mem, _t114, cpu->r[3]);
/* 028E9578 */ cpu->ctr = cpu->r[28];
/* 028E957C */ _t115 = cpu->r[1] + 0x0000008Cu;
/* 028E957C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t115);
/* 028E9580 */ _t116 = cpu->r[1] + 0x00000060u;
/* 028E9580 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[9]);
/* 028E9584 */ _t117 = cpu->r[22] + 0x00000024u;
/* 028E9584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t117);
/* 028E9588 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E958C */ _t118 = cpu->r[1] + 0x00000060u;
/* 028E958C */ cpu->r[6] = rbrew_read32(cpu->mem, _t118);
/* 028E9590 */ _t119 = cpu->r[1] + 0x00000090u;
/* 028E9590 */ rbrew_write32(cpu->mem, _t119, cpu->r[3]);
/* 028E9594 */ _t120 = cpu->r[1] + 0x00000090u;
/* 028E9594 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t120);
/* 028E9598 */ _t121 = cpu->r[1] + 0x0000000Cu;
/* 028E9598 */ rbrew_write32(cpu->mem, _t121, cpu->r[6]);
/* 028E959C */ _t122 = cpu->r[1] + 0x00000064u;
/* 028E959C */ rbrew_write_f32(cpu->mem, _t122, cpu->f[10]);
/* 028E95A0 */ _t123 = cpu->r[1] + 0x00000064u;
/* 028E95A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t123);
/* 028E95A4 */ _t124 = cpu->r[1] + 0x0000000Cu;
/* 028E95A4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t124);
/* 028E95A8 */ _t125 = cpu->r[1] + 0x0000005Cu;
/* 028E95A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t125);
/* 028E95AC */ _t126 = cpu->r[1] + 0x00000010u;
/* 028E95AC */ rbrew_write32(cpu->mem, _t126, cpu->r[7]);
/* 028E95B0 */ _t127 = cpu->r[1] + 0x00000010u;
/* 028E95B0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t127);
/* 028E95B4 */ _t128 = cpu->r[1] + 0x00000008u;
/* 028E95B4 */ rbrew_write32(cpu->mem, _t128, cpu->r[5]);
/* 028E95B8 */ _t129 = cpu->r[1] + 0x00000008u;
/* 028E95B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t129);
/* 028E95BC */ cpu->ctr = cpu->r[28];
/* 028E95C0 */ _t130 = cpu->r[1] + 0x00000038u;
/* 028E95C0 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[7]);
/* 028E95C4 */ _t131 = cpu->r[1] + 0x00000030u;
/* 028E95C4 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[0]);
/* 028E95C8 */ _t132 = cpu->r[1] + 0x00000034u;
/* 028E95C8 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[6]);
/* 028E95CC */ _t133 = cpu->r[22] + 0x00000028u;
/* 028E95CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t133);
/* 028E95D0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E95D4 */ _t134 = cpu->r[1] + 0x00000094u;
/* 028E95D4 */ rbrew_write32(cpu->mem, _t134, cpu->r[3]);
/* 028E95D8 */ _t135 = cpu->r[1] + 0x00000094u;
/* 028E95D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t135);
/* 028E95DC */ _t136 = cpu->r[1] + 0x0000003Cu;
/* 028E95DC */ rbrew_write_f32(cpu->mem, _t136, cpu->f[8]);
/* 028E95E0 */ _t137 = cpu->r[22] + 0x0000002Cu;
/* 028E95E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t137);
/* 028E95E4 */ cpu->r[5] = cpu->r[0] ^ 0x00000001u;
/* 028E95E8 */ cpu->r[6] = rbrew_clz32(cpu->r[5]);
/* 028E95EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
/* 028E95F0 */ _t138 = cpu->r[1] + 0x00000040u;
/* 028E95F0 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[0]);
/* 028E95F4 */ _t139 = cpu->r[22] + 0x0000002Du;
/* 028E95F4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t139);
/* 028E95F8 */ cpu->r[5] = cpu->r[22] + 0x0000002Eu;
/* 028E95FC */ cpu->r[4] = cpu->r[1] + 0x00000068u;
/* 028E9600 */ _t140 = cpu->r[30] + 0x00000000u;
/* 028E9600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t140);
/* 028E9604 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
/* 028E9608 */ _t141 = cpu->r[1] + 0x0000006Cu;
/* 028E9608 */ rbrew_write32(cpu->mem, _t141, cpu->r[29]);
/* 028E960C */ cpu->r[12] = rbrew_clz32(cpu->r[0]);
/* 028E9610 */ _t142 = cpu->r[1] + 0x00000068u;
/* 028E9610 */ rbrew_write32(cpu->mem, _t142, cpu->r[5]);
/* 028E9614 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
/* 028E9618 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
/* 028E961C */ _t143 = cpu->r[1] + 0x00000041u;
/* 028E961C */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[9]);
/* 028E9620 */ Gambit_fn_028E90E0(cpu);
/* 028E9624 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
/* 028E9624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028E9628 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9628 */ _t145 = _t144 & 0x00000001u;
/* 028E9628 */ if (_t145) goto L_028E962C; else goto L_028E9400;
L_028E962C: ; // 0x28e962c
/* 028E962C */ /* nop */
/* 028E9630 */ _t146 = cpu->r[1] + 0x000000D0u;
/* 028E9630 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t146);
/* 028E9634 */ _t147 = cpu->r[1] + 0x000000C8u;
/* 028E9634 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t147);
/* 028E9638 */ cpu->r[3] = 0x00000001u;
/* 028E963C */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E963C */ _t149 = _t148 & 0x00000001u;
/* 028E963C */ if (_t149) goto L_028E9640; // else: addr-0 trap, fall-through
L_028E9640: ; // 0x28e9640
/* 028E9640 */ _t150 = cpu->r[1] + 0x000000DCu;
/* 028E9640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t150);
/* 028E9644 */ cpu->lr = cpu->r[0];
/* 028E9648 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
/* 028E964C */ return;
}
// fn_028E9650 @ 0x28e9650
void Gambit_fn_028E9650(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_028E9650: ; // 0x28e9650
/* 028E9650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9654 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9654 */ _t17 = _t16 & 0x00000001u;
/* 028E9654 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9654 */ goto L_028E9658;
L_028E9658: ; // 0x28e9658
/* 028E9658 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E965C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E965C */ _t19 = _t18 & 0x00000001u;
/* 028E965C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E965C */ goto L_028E9660;
L_028E9660: ; // 0x28e9660
/* 028E9660 */ goto L_02801BB0;
}
// fn_028E9664 @ 0x28e9664
void Gambit_fn_028E9664(CPUState* cpu) {
L_028E9664: ; // 0x28e9664
/* 028E9664 */ return;
}
// fn_028E9668 @ 0x28e9668
void Gambit_fn_028E9668(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E9668: ; // 0x28e9668
/* 028E9668 */ cpu->r[0] = cpu->lr;
/* 028E966C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E966C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E966C */ cpu->r[1] = _t0;
/* 028E9670 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E9670 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E9674 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E9674 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E9678 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9678 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E967C */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E967C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E9680 */ cpu->r[31] = cpu->r[3];
/* 028E9680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9684 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E9684 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E9688 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9688 */ _t7 = _t6 & 0x00000001u;
/* 028E9688 */ if (_t7) goto L_028E968C; else goto L_028E969C;
L_028E968C: ; // 0x28e968c
/* 028E968C */ cpu->r[3] = 0x000000B8u;
/* 028E9690 */ Gambit_fn_02801A78(cpu);
/* 028E9694 */ cpu->r[31] = cpu->r[3];
/* 028E9694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9698 */ _t9 = _t8 & 0x00000001u;
/* 028E9698 */ if (_t9) goto L_028E9874; else goto L_028E969C;
L_028E969C: ; // 0x28e969c
/* 028E969C */ cpu->r[28] = cpu->r[31];
/* 028E969C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E96A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96A0 */ _t11 = _t10 & 0x00000001u;
/* 028E96A0 */ if (_t11) goto L_028E96A4; else goto L_028E96B4;
L_028E96A4: ; // 0x28e96a4
/* 028E96A4 */ cpu->r[3] = 0x00000038u;
/* 028E96A8 */ Gambit_fn_02801A78(cpu);
/* 028E96AC */ cpu->r[28] = cpu->r[3];
/* 028E96AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E96B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96B0 */ _t13 = _t12 & 0x00000001u;
/* 028E96B0 */ if (_t13) goto L_028E9784; else goto L_028E96B4;
L_028E96B4: ; // 0x28e96b4
/* 028E96B4 */ cpu->r[3] = cpu->r[28];
/* 028E96B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E96B8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96B8 */ _t15 = _t14 & 0x00000001u;
/* 028E96B8 */ if (_t15) goto L_028E96BC; else goto L_028E96CC;
L_028E96BC: ; // 0x28e96bc
/* 028E96BC */ cpu->r[3] = 0x00000008u;
/* 028E96C0 */ Gambit_fn_02801A78(cpu);
/* 028E96C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E96C8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96C8 */ _t17 = _t16 & 0x00000001u;
/* 028E96C8 */ if (_t17) goto L_028E96E4; else goto L_028E96CC;
L_028E96CC: ; // 0x28e96cc
/* 028E96CC */ cpu->r[6] = 0x10140000u;
/* 028E96D0 */ cpu->r[8] = 0x10140000u;
/* 028E96D4 */ cpu->r[6] = cpu->r[6] + 0xFFFFBC58u;
/* 028E96D8 */ cpu->r[8] = cpu->r[8] + 0xFFFFBC54u;
/* 028E96DC */ _t18 = cpu->r[3] + 0x00000004u;
/* 028E96DC */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
/* 028E96E0 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028E96E0 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
L_028E96E4: ; // 0x28e96e4
/* 028E96E4 */ cpu->r[9] = 0x10140000u;
/* 028E96E8 */ cpu->r[29] = cpu->r[28] + 0x0000000Cu;
/* 028E96E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E96EC */ cpu->r[9] = cpu->r[9] + 0xFFFFBCC0u;
/* 028E96F0 */ _t20 = cpu->r[28] + 0x00000008u;
/* 028E96F0 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
/* 028E96F4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96F4 */ _t22 = _t21 & 0x00000001u;
/* 028E96F4 */ if (_t22) goto L_028E96F8; else goto L_028E9708;
L_028E96F8: ; // 0x28e96f8
/* 028E96F8 */ cpu->r[3] = 0x0000002Cu;
/* 028E96FC */ Gambit_fn_02801A78(cpu);
/* 028E9700 */ cpu->r[29] = cpu->r[3];
/* 028E9700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E9704 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9704 */ _t24 = _t23 & 0x00000001u;
/* 028E9704 */ if (_t24) goto L_028E9778; else goto L_028E9708;
L_028E9708: ; // 0x28e9708
/* 028E9708 */ cpu->r[3] = cpu->r[29];
/* 028E9708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E970C */ cpu->r[30] = 0x10110000u;
/* 028E9710 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9710 */ _t26 = _t25 & 0x00000001u;
/* 028E9710 */ if (_t26) goto L_028E9714; else goto L_028E9740;
L_028E9714: ; // 0x28e9714
/* 028E9714 */ cpu->r[3] = 0x0000000Cu;
/* 028E9718 */ Gambit_fn_02801A78(cpu);
/* 028E971C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9720 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9720 */ _t28 = _t27 & 0x00000001u;
/* 028E9720 */ if (_t28) goto L_028E9724; else goto L_028E9740;
L_028E9724: ; // 0x28e9724
/* 028E9724 */ cpu->r[5] = 0x10140000u;
/* 028E9728 */ _t29 = cpu->r[30] + 0x00007399u;
/* 028E9728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
/* 028E972C */ cpu->r[5] = cpu->r[5] + 0xFFFFBCD8u;
/* 028E9730 */ _t30 = cpu->r[29] + 0x00000000u;
/* 028E9730 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
/* 028E9734 */ _t31 = cpu->r[29] + 0x00000004u;
/* 028E9734 */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
/* 028E9738 */ _t32 = cpu->r[6] + 0x00000000u;
/* 028E9738 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
/* 028E973C */ goto L_028E9778;
L_028E9740: ; // 0x28e9740
/* 028E9740 */ cpu->r[12] = 0x10140000u;
/* 028E9744 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
/* 028E9748 */ cpu->r[12] = cpu->r[12] + 0xFFFFBC70u;
/* 028E974C */ _t33 = cpu->r[3] + 0x00000000u;
/* 028E974C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
/* 028E9750 */ cpu->r[0] = 0x00000020u;
/* 028E9754 */ _t34 = cpu->r[3] + 0x00000004u;
/* 028E9754 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
/* 028E9758 */ _t35 = cpu->r[3] + 0x00000008u;
/* 028E9758 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
/* 028E975C */ _t36 = cpu->r[30] + 0x00007399u;
/* 028E975C */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
/* 028E9760 */ cpu->r[5] = 0x10140000u;
/* 028E9764 */ _t37 = cpu->r[29] + 0x00000000u;
/* 028E9764 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
/* 028E9768 */ cpu->r[5] = cpu->r[5] + 0xFFFFBCD8u;
/* 028E976C */ _t38 = cpu->r[29] + 0x0000002Bu;
/* 028E976C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
/* 028E9770 */ _t39 = cpu->r[29] + 0x00000004u;
/* 028E9770 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
/* 028E9774 */ _t40 = cpu->r[6] + 0x00000000u;
/* 028E9774 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]);
L_028E9778: ; // 0x28e9778
/* 028E9778 */ cpu->r[7] = 0x10140000u;
/* 028E977C */ cpu->r[7] = cpu->r[7] + 0xFFFFBCF0u;
/* 028E9780 */ _t41 = cpu->r[28] + 0x00000010u;
/* 028E9780 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
L_028E9784: ; // 0x28e9784
/* 028E9784 */ cpu->r[8] = 0x10140000u;
/* 028E9788 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
/* 028E9788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E978C */ cpu->r[8] = cpu->r[8] + 0xFFFFBD10u;
/* 028E9790 */ cpu->r[0] = 0x10140000u;
/* 028E9794 */ _t42 = cpu->r[31] + 0x00000008u;
/* 028E9794 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
/* 028E9798 */ cpu->r[0] = cpu->r[0] + 0xFFFFBD28u;
/* 028E979C */ cpu->r[30] = 0x00000000u;
/* 028E97A0 */ _t43 = cpu->r[31] + 0x00000038u;
/* 028E97A0 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
/* 028E97A4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E97A4 */ _t45 = _t44 & 0x00000001u;
/* 028E97A4 */ if (_t45) goto L_028E97A8; else goto L_028E97B8;
L_028E97A8: ; // 0x28e97a8
/* 028E97A8 */ cpu->r[3] = 0x00000030u;
/* 028E97AC */ Gambit_fn_02801A78(cpu);
/* 028E97B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E97B4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E97B4 */ _t47 = _t46 & 0x00000001u;
/* 028E97B4 */ if (_t47) goto L_028E9820; else goto L_028E97B8;
L_028E97B8: ; // 0x28e97b8
/* 028E97B8 */ cpu->r[8] = 0x101F0000u;
/* 028E97BC */ _t48 = cpu->r[3] + 0x00000000u;
/* 028E97BC */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
/* 028E97C0 */ _t49 = cpu->r[8] + 0x00006338u;
/* 028E97C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
/* 028E97C0 */ cpu->r[8] = _t49;
/* 028E97C4 */ _t50 = cpu->r[3] + 0x00000004u;
/* 028E97C4 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
/* 028E97C8 */ _t51 = cpu->r[8] + 0x00000004u;
/* 028E97C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
/* 028E97CC */ _t52 = cpu->r[3] + 0x00000008u;
/* 028E97CC */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
/* 028E97D0 */ _t53 = cpu->r[8] + 0x00000008u;
/* 028E97D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
/* 028E97D4 */ _t54 = cpu->r[3] + 0x0000000Cu;
/* 028E97D4 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
/* 028E97D8 */ _t55 = cpu->r[8] + 0x00000000u;
/* 028E97D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028E97DC */ _t56 = cpu->r[3] + 0x00000010u;
/* 028E97DC */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
/* 028E97E0 */ _t57 = cpu->r[8] + 0x00000004u;
/* 028E97E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
/* 028E97E4 */ _t58 = cpu->r[3] + 0x00000014u;
/* 028E97E4 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
/* 028E97E8 */ _t59 = cpu->r[8] + 0x00000008u;
/* 028E97E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
/* 028E97EC */ _t60 = cpu->r[3] + 0x00000018u;
/* 028E97EC */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
/* 028E97F0 */ _t61 = cpu->r[8] + 0x00000000u;
/* 028E97F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028E97F4 */ cpu->r[10] = 0x10140000u;
/* 028E97F8 */ _t62 = cpu->r[3] + 0x0000001Cu;
/* 028E97F8 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
/* 028E97FC */ _t63 = cpu->r[8] + 0x00000004u;
/* 028E97FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
/* 028E9800 */ _t64 = cpu->r[10] + 0xFFFFBD08u;
/* 028E9800 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t64);
/* 028E9804 */ _t65 = cpu->r[3] + 0x00000020u;
/* 028E9804 */ rbrew_write32(cpu->mem, _t65, cpu->r[11]);
/* 028E9808 */ cpu->r[0] = 0x00000001u;
/* 028E980C */ _t66 = cpu->r[8] + 0x00000008u;
/* 028E980C */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
/* 028E9810 */ _t67 = cpu->r[3] + 0x0000002Du;
/* 028E9810 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
/* 028E9814 */ _t68 = cpu->r[3] + 0x00000024u;
/* 028E9814 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
/* 028E9818 */ _t69 = cpu->r[3] + 0x00000028u;
/* 028E9818 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[0]);
/* 028E981C */ _t70 = cpu->r[3] + 0x0000002Cu;
/* 028E981C */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[0]);
L_028E9820: ; // 0x28e9820
/* 028E9820 */ cpu->r[29] = cpu->r[31] + 0x0000006Cu;
/* 028E9820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E9824 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9824 */ _t72 = _t71 & 0x00000001u;
/* 028E9824 */ if (_t72) goto L_028E9828; else goto L_028E9838;
L_028E9828: ; // 0x28e9828
/* 028E9828 */ cpu->r[3] = 0x00000010u;
/* 028E982C */ Gambit_fn_02801A78(cpu);
/* 028E9830 */ cpu->r[29] = cpu->r[3];
/* 028E9830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E9834 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9834 */ _t74 = _t73 & 0x00000001u;
/* 028E9834 */ if (_t74) goto L_028E9864; else goto L_028E9838;
L_028E9838: ; // 0x28e9838
/* 028E9838 */ cpu->r[3] = cpu->r[29];
/* 028E9838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E983C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E983C */ _t76 = _t75 & 0x00000001u;
/* 028E983C */ if (_t76) goto L_028E9840; else goto L_028E9850;
L_028E9840: ; // 0x28e9840
/* 028E9840 */ cpu->r[3] = 0x0000000Cu;
/* 028E9844 */ Gambit_fn_02801A78(cpu);
/* 028E9848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E984C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E984C */ _t78 = _t77 & 0x00000001u;
/* 028E984C */ if (_t78) goto L_028E985C; else goto L_028E9850;
L_028E9850: ; // 0x28e9850
/* 028E9850 */ _t79 = cpu->r[3] + 0x00000004u;
/* 028E9850 */ rbrew_write32(cpu->mem, _t79, cpu->r[3]);
/* 028E9854 */ _t80 = cpu->r[3] + 0x00000008u;
/* 028E9854 */ rbrew_write32(cpu->mem, _t80, cpu->r[30]);
/* 028E9858 */ _t81 = cpu->r[3] + 0x00000000u;
/* 028E9858 */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
L_028E985C: ; // 0x28e985c
/* 028E985C */ cpu->r[0] = 0xFFFFFFFFu;
/* 028E9860 */ _t82 = cpu->r[29] + 0x0000000Cu;
/* 028E9860 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
L_028E9864: ; // 0x28e9864
/* 028E9864 */ cpu->r[3] = cpu->r[31] + 0x0000007Cu;
/* 028E9868 */ Gambit_fn_02836EBC(cpu);
/* 028E986C */ cpu->r[10] = 0x00000024u;
/* 028E9870 */ _t83 = cpu->r[31] + 0x00000078u;
/* 028E9870 */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
L_028E9874: ; // 0x28e9874
/* 028E9874 */ _t84 = cpu->r[1] + 0x00000008u;
/* 028E9874 */ cpu->r[28] = rbrew_read32(cpu->mem, _t84);
/* 028E9878 */ _t85 = cpu->r[1] + 0x0000000Cu;
/* 028E9878 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85);
/* 028E987C */ _t86 = cpu->r[1] + 0x0000001Cu;
/* 028E987C */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
/* 028E9880 */ cpu->r[3] = cpu->r[31];
/* 028E9884 */ _t87 = cpu->r[1] + 0x00000010u;
/* 028E9884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
/* 028E9888 */ cpu->lr = cpu->r[0];
/* 028E988C */ _t88 = cpu->r[1] + 0x00000014u;
/* 028E988C */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
/* 028E9890 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E9894 */ return;
}
// fn_028E966C @ 0x28e966c
void Gambit_fn_028E966C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E966C: ; // 0x28e966c
/* 028E966C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E966C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E966C */ cpu->r[1] = _t0;
/* 028E9670 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E9670 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E9674 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E9674 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028E9678 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9678 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E967C */ _t4 = cpu->r[1] + 0x00000010u;
/* 028E967C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028E9680 */ cpu->r[31] = cpu->r[3];
/* 028E9680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9684 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028E9684 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E9688 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9688 */ _t7 = _t6 & 0x00000001u;
/* 028E9688 */ if (_t7) goto L_028E968C; else goto L_028E969C;
L_028E968C: ; // 0x28e968c
/* 028E968C */ cpu->r[3] = 0x000000B8u;
/* 028E9690 */ Gambit_fn_02801A78(cpu);
/* 028E9694 */ cpu->r[31] = cpu->r[3];
/* 028E9694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9698 */ _t9 = _t8 & 0x00000001u;
/* 028E9698 */ if (_t9) goto L_028E9874; else goto L_028E969C;
L_028E969C: ; // 0x28e969c
/* 028E969C */ cpu->r[28] = cpu->r[31];
/* 028E969C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E96A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96A0 */ _t11 = _t10 & 0x00000001u;
/* 028E96A0 */ if (_t11) goto L_028E96A4; else goto L_028E96B4;
L_028E96A4: ; // 0x28e96a4
/* 028E96A4 */ cpu->r[3] = 0x00000038u;
/* 028E96A8 */ Gambit_fn_02801A78(cpu);
/* 028E96AC */ cpu->r[28] = cpu->r[3];
/* 028E96AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028E96B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96B0 */ _t13 = _t12 & 0x00000001u;
/* 028E96B0 */ if (_t13) goto L_028E9784; else goto L_028E96B4;
L_028E96B4: ; // 0x28e96b4
/* 028E96B4 */ cpu->r[3] = cpu->r[28];
/* 028E96B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E96B8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96B8 */ _t15 = _t14 & 0x00000001u;
/* 028E96B8 */ if (_t15) goto L_028E96BC; else goto L_028E96CC;
L_028E96BC: ; // 0x28e96bc
/* 028E96BC */ cpu->r[3] = 0x00000008u;
/* 028E96C0 */ Gambit_fn_02801A78(cpu);
/* 028E96C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E96C8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96C8 */ _t17 = _t16 & 0x00000001u;
/* 028E96C8 */ if (_t17) goto L_028E96E4; else goto L_028E96CC;
L_028E96CC: ; // 0x28e96cc
/* 028E96CC */ cpu->r[6] = 0x10140000u;
/* 028E96D0 */ cpu->r[8] = 0x10140000u;
/* 028E96D4 */ cpu->r[6] = cpu->r[6] + 0xFFFFBC58u;
/* 028E96D8 */ cpu->r[8] = cpu->r[8] + 0xFFFFBC54u;
/* 028E96DC */ _t18 = cpu->r[3] + 0x00000004u;
/* 028E96DC */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
/* 028E96E0 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028E96E0 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
L_028E96E4: ; // 0x28e96e4
/* 028E96E4 */ cpu->r[9] = 0x10140000u;
/* 028E96E8 */ cpu->r[29] = cpu->r[28] + 0x0000000Cu;
/* 028E96E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E96EC */ cpu->r[9] = cpu->r[9] + 0xFFFFBCC0u;
/* 028E96F0 */ _t20 = cpu->r[28] + 0x00000008u;
/* 028E96F0 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
/* 028E96F4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E96F4 */ _t22 = _t21 & 0x00000001u;
/* 028E96F4 */ if (_t22) goto L_028E96F8; else goto L_028E9708;
L_028E96F8: ; // 0x28e96f8
/* 028E96F8 */ cpu->r[3] = 0x0000002Cu;
/* 028E96FC */ Gambit_fn_02801A78(cpu);
/* 028E9700 */ cpu->r[29] = cpu->r[3];
/* 028E9700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E9704 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9704 */ _t24 = _t23 & 0x00000001u;
/* 028E9704 */ if (_t24) goto L_028E9778; else goto L_028E9708;
L_028E9708: ; // 0x28e9708
/* 028E9708 */ cpu->r[3] = cpu->r[29];
/* 028E9708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E970C */ cpu->r[30] = 0x10110000u;
/* 028E9710 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9710 */ _t26 = _t25 & 0x00000001u;
/* 028E9710 */ if (_t26) goto L_028E9714; else goto L_028E9740;
L_028E9714: ; // 0x28e9714
/* 028E9714 */ cpu->r[3] = 0x0000000Cu;
/* 028E9718 */ Gambit_fn_02801A78(cpu);
/* 028E971C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9720 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9720 */ _t28 = _t27 & 0x00000001u;
/* 028E9720 */ if (_t28) goto L_028E9724; else goto L_028E9740;
L_028E9724: ; // 0x28e9724
/* 028E9724 */ cpu->r[5] = 0x10140000u;
/* 028E9728 */ _t29 = cpu->r[30] + 0x00007399u;
/* 028E9728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
/* 028E972C */ cpu->r[5] = cpu->r[5] + 0xFFFFBCD8u;
/* 028E9730 */ _t30 = cpu->r[29] + 0x00000000u;
/* 028E9730 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
/* 028E9734 */ _t31 = cpu->r[29] + 0x00000004u;
/* 028E9734 */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
/* 028E9738 */ _t32 = cpu->r[6] + 0x00000000u;
/* 028E9738 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
/* 028E973C */ goto L_028E9778;
L_028E9740: ; // 0x28e9740
/* 028E9740 */ cpu->r[12] = 0x10140000u;
/* 028E9744 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
/* 028E9748 */ cpu->r[12] = cpu->r[12] + 0xFFFFBC70u;
/* 028E974C */ _t33 = cpu->r[3] + 0x00000000u;
/* 028E974C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
/* 028E9750 */ cpu->r[0] = 0x00000020u;
/* 028E9754 */ _t34 = cpu->r[3] + 0x00000004u;
/* 028E9754 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
/* 028E9758 */ _t35 = cpu->r[3] + 0x00000008u;
/* 028E9758 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
/* 028E975C */ _t36 = cpu->r[30] + 0x00007399u;
/* 028E975C */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
/* 028E9760 */ cpu->r[5] = 0x10140000u;
/* 028E9764 */ _t37 = cpu->r[29] + 0x00000000u;
/* 028E9764 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
/* 028E9768 */ cpu->r[5] = cpu->r[5] + 0xFFFFBCD8u;
/* 028E976C */ _t38 = cpu->r[29] + 0x0000002Bu;
/* 028E976C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
/* 028E9770 */ _t39 = cpu->r[29] + 0x00000004u;
/* 028E9770 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
/* 028E9774 */ _t40 = cpu->r[6] + 0x00000000u;
/* 028E9774 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]);
L_028E9778: ; // 0x28e9778
/* 028E9778 */ cpu->r[7] = 0x10140000u;
/* 028E977C */ cpu->r[7] = cpu->r[7] + 0xFFFFBCF0u;
/* 028E9780 */ _t41 = cpu->r[28] + 0x00000010u;
/* 028E9780 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
L_028E9784: ; // 0x28e9784
/* 028E9784 */ cpu->r[8] = 0x10140000u;
/* 028E9788 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
/* 028E9788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E978C */ cpu->r[8] = cpu->r[8] + 0xFFFFBD10u;
/* 028E9790 */ cpu->r[0] = 0x10140000u;
/* 028E9794 */ _t42 = cpu->r[31] + 0x00000008u;
/* 028E9794 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
/* 028E9798 */ cpu->r[0] = cpu->r[0] + 0xFFFFBD28u;
/* 028E979C */ cpu->r[30] = 0x00000000u;
/* 028E97A0 */ _t43 = cpu->r[31] + 0x00000038u;
/* 028E97A0 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
/* 028E97A4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E97A4 */ _t45 = _t44 & 0x00000001u;
/* 028E97A4 */ if (_t45) goto L_028E97A8; else goto L_028E97B8;
L_028E97A8: ; // 0x28e97a8
/* 028E97A8 */ cpu->r[3] = 0x00000030u;
/* 028E97AC */ Gambit_fn_02801A78(cpu);
/* 028E97B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E97B4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E97B4 */ _t47 = _t46 & 0x00000001u;
/* 028E97B4 */ if (_t47) goto L_028E9820; else goto L_028E97B8;
L_028E97B8: ; // 0x28e97b8
/* 028E97B8 */ cpu->r[8] = 0x101F0000u;
/* 028E97BC */ _t48 = cpu->r[3] + 0x00000000u;
/* 028E97BC */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
/* 028E97C0 */ _t49 = cpu->r[8] + 0x00006338u;
/* 028E97C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
/* 028E97C0 */ cpu->r[8] = _t49;
/* 028E97C4 */ _t50 = cpu->r[3] + 0x00000004u;
/* 028E97C4 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
/* 028E97C8 */ _t51 = cpu->r[8] + 0x00000004u;
/* 028E97C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
/* 028E97CC */ _t52 = cpu->r[3] + 0x00000008u;
/* 028E97CC */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
/* 028E97D0 */ _t53 = cpu->r[8] + 0x00000008u;
/* 028E97D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
/* 028E97D4 */ _t54 = cpu->r[3] + 0x0000000Cu;
/* 028E97D4 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
/* 028E97D8 */ _t55 = cpu->r[8] + 0x00000000u;
/* 028E97D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028E97DC */ _t56 = cpu->r[3] + 0x00000010u;
/* 028E97DC */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
/* 028E97E0 */ _t57 = cpu->r[8] + 0x00000004u;
/* 028E97E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
/* 028E97E4 */ _t58 = cpu->r[3] + 0x00000014u;
/* 028E97E4 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
/* 028E97E8 */ _t59 = cpu->r[8] + 0x00000008u;
/* 028E97E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
/* 028E97EC */ _t60 = cpu->r[3] + 0x00000018u;
/* 028E97EC */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
/* 028E97F0 */ _t61 = cpu->r[8] + 0x00000000u;
/* 028E97F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028E97F4 */ cpu->r[10] = 0x10140000u;
/* 028E97F8 */ _t62 = cpu->r[3] + 0x0000001Cu;
/* 028E97F8 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
/* 028E97FC */ _t63 = cpu->r[8] + 0x00000004u;
/* 028E97FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
/* 028E9800 */ _t64 = cpu->r[10] + 0xFFFFBD08u;
/* 028E9800 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t64);
/* 028E9804 */ _t65 = cpu->r[3] + 0x00000020u;
/* 028E9804 */ rbrew_write32(cpu->mem, _t65, cpu->r[11]);
/* 028E9808 */ cpu->r[0] = 0x00000001u;
/* 028E980C */ _t66 = cpu->r[8] + 0x00000008u;
/* 028E980C */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
/* 028E9810 */ _t67 = cpu->r[3] + 0x0000002Du;
/* 028E9810 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
/* 028E9814 */ _t68 = cpu->r[3] + 0x00000024u;
/* 028E9814 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
/* 028E9818 */ _t69 = cpu->r[3] + 0x00000028u;
/* 028E9818 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[0]);
/* 028E981C */ _t70 = cpu->r[3] + 0x0000002Cu;
/* 028E981C */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[0]);
L_028E9820: ; // 0x28e9820
/* 028E9820 */ cpu->r[29] = cpu->r[31] + 0x0000006Cu;
/* 028E9820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E9824 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9824 */ _t72 = _t71 & 0x00000001u;
/* 028E9824 */ if (_t72) goto L_028E9828; else goto L_028E9838;
L_028E9828: ; // 0x28e9828
/* 028E9828 */ cpu->r[3] = 0x00000010u;
/* 028E982C */ Gambit_fn_02801A78(cpu);
/* 028E9830 */ cpu->r[29] = cpu->r[3];
/* 028E9830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028E9834 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9834 */ _t74 = _t73 & 0x00000001u;
/* 028E9834 */ if (_t74) goto L_028E9864; else goto L_028E9838;
L_028E9838: ; // 0x28e9838
/* 028E9838 */ cpu->r[3] = cpu->r[29];
/* 028E9838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E983C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E983C */ _t76 = _t75 & 0x00000001u;
/* 028E983C */ if (_t76) goto L_028E9840; else goto L_028E9850;
L_028E9840: ; // 0x28e9840
/* 028E9840 */ cpu->r[3] = 0x0000000Cu;
/* 028E9844 */ Gambit_fn_02801A78(cpu);
/* 028E9848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E984C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E984C */ _t78 = _t77 & 0x00000001u;
/* 028E984C */ if (_t78) goto L_028E985C; else goto L_028E9850;
L_028E9850: ; // 0x28e9850
/* 028E9850 */ _t79 = cpu->r[3] + 0x00000004u;
/* 028E9850 */ rbrew_write32(cpu->mem, _t79, cpu->r[3]);
/* 028E9854 */ _t80 = cpu->r[3] + 0x00000008u;
/* 028E9854 */ rbrew_write32(cpu->mem, _t80, cpu->r[30]);
/* 028E9858 */ _t81 = cpu->r[3] + 0x00000000u;
/* 028E9858 */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
L_028E985C: ; // 0x28e985c
/* 028E985C */ cpu->r[0] = 0xFFFFFFFFu;
/* 028E9860 */ _t82 = cpu->r[29] + 0x0000000Cu;
/* 028E9860 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
L_028E9864: ; // 0x28e9864
/* 028E9864 */ cpu->r[3] = cpu->r[31] + 0x0000007Cu;
/* 028E9868 */ Gambit_fn_02836EBC(cpu);
/* 028E986C */ cpu->r[10] = 0x00000024u;
/* 028E9870 */ _t83 = cpu->r[31] + 0x00000078u;
/* 028E9870 */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
L_028E9874: ; // 0x28e9874
/* 028E9874 */ _t84 = cpu->r[1] + 0x00000008u;
/* 028E9874 */ cpu->r[28] = rbrew_read32(cpu->mem, _t84);
/* 028E9878 */ _t85 = cpu->r[1] + 0x0000000Cu;
/* 028E9878 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85);
/* 028E987C */ _t86 = cpu->r[1] + 0x0000001Cu;
/* 028E987C */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
/* 028E9880 */ cpu->r[3] = cpu->r[31];
/* 028E9884 */ _t87 = cpu->r[1] + 0x00000010u;
/* 028E9884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
/* 028E9888 */ cpu->lr = cpu->r[0];
/* 028E988C */ _t88 = cpu->r[1] + 0x00000014u;
/* 028E988C */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
/* 028E9890 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E9894 */ return;
}
// fn_028E9898 @ 0x28e9898
void Gambit_fn_028E9898(CPUState* 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_028E9898: ; // 0x28e9898
/* 028E9898 */ cpu->r[0] = cpu->lr;
/* 028E989C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E989C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E989C */ cpu->r[1] = _t0;
/* 028E98A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E98A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E98A4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E98A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E98A8 */ cpu->r[30] = cpu->r[3];
/* 028E98A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E98AC */ cpu->r[31] = cpu->r[4];
/* 028E98B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E98B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E98B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E98B4 */ _t5 = _t4 & 0x00000001u;
/* 028E98B4 */ if (_t5) goto L_028E9928; else goto L_028E98B8;
L_028E98B8: ; // 0x28e98b8
/* 028E98B8 */ _t6 = cpu->r[30] + 0x00000078u;
/* 028E98B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028E98BC */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
/* 028E98C0 */ cpu->r[9] = 0x10140000u;
/* 028E98C4 */ _t7 = cpu->r[30] + 0x00000070u;
/* 028E98C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028E98C8 */ cpu->r[6] = 0x10140000u;
/* 028E98CC */ cpu->r[0] = cpu->r[3] - cpu->r[12];
/* 028E98D0 */ cpu->r[9] = cpu->r[9] + 0xFFFFBD28u;
/* 028E98D4 */ cpu->r[11] = cpu->r[10] - cpu->r[12];
/* 028E98D8 */ cpu->r[6] = cpu->r[6] + 0xFFFFBD10u;
/* 028E98DC */ _t8 = cpu->r[30] + 0x00000038u;
/* 028E98DC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028E98E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
/* 028E98E4 */ _t9 = cpu->r[30] + 0x00000008u;
/* 028E98E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
/* 028E98E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E98E8 */ _t11 = _t10 & 0x00000001u;
/* 028E98E8 */ if (_t11) goto L_028E9908; else goto L_028E98EC;
L_028E98EC: ; // 0x28e98ec
/* 028E98EC */ cpu->r[7] = 0x00000000u;
L_028E98F0: ; // 0x28e98f0
/* 028E98F0 */ cpu->r[8] = cpu->r[11] + cpu->r[12];
/* 028E98F4 */ _t12 = cpu->r[11] + 0x00000074u;
/* 028E98F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
/* 028E98F8 */ _t13 = cpu->r[8] + 0x00000004u;
/* 028E98F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028E98FC */ cpu->r[11] = cpu->r[10] - cpu->r[12];
/* 028E9900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
/* 028E9904 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9904 */ _t15 = _t14 & 0x00000001u;
/* 028E9904 */ if (_t15) goto L_028E9908; else goto L_028E98F0;
L_028E9908: ; // 0x28e9908
/* 028E9908 */ Gambit_fn_0280236C(cpu);
/* 028E990C */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
/* 028E9910 */ cpu->r[4] = 0x00000002u;
/* 028E9914 */ Gambit_fn_02836FA8(cpu);
/* 028E9918 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E991C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E991C */ _t17 = _t16 & 0x00000001u;
/* 028E991C */ if (_t17) goto L_028E9928; else goto L_028E9920;
L_028E9920: ; // 0x28e9920
/* 028E9920 */ cpu->r[3] = cpu->r[30];
/* 028E9924 */ Gambit_fn_02801BB0(cpu);
L_028E9928: ; // 0x28e9928
/* 028E9928 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E9928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E992C */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E992C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E9930 */ cpu->lr = cpu->r[0];
/* 028E9934 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028E9934 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E9938 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E993C */ return;
}
// fn_028E989C @ 0x28e989c
void Gambit_fn_028E989C(CPUState* 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_028E989C: ; // 0x28e989c
/* 028E989C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E989C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E989C */ cpu->r[1] = _t0;
/* 028E98A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E98A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E98A4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E98A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E98A8 */ cpu->r[30] = cpu->r[3];
/* 028E98A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028E98AC */ cpu->r[31] = cpu->r[4];
/* 028E98B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E98B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E98B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E98B4 */ _t5 = _t4 & 0x00000001u;
/* 028E98B4 */ if (_t5) goto L_028E9928; else goto L_028E98B8;
L_028E98B8: ; // 0x28e98b8
/* 028E98B8 */ _t6 = cpu->r[30] + 0x00000078u;
/* 028E98B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028E98BC */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
/* 028E98C0 */ cpu->r[9] = 0x10140000u;
/* 028E98C4 */ _t7 = cpu->r[30] + 0x00000070u;
/* 028E98C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028E98C8 */ cpu->r[6] = 0x10140000u;
/* 028E98CC */ cpu->r[0] = cpu->r[3] - cpu->r[12];
/* 028E98D0 */ cpu->r[9] = cpu->r[9] + 0xFFFFBD28u;
/* 028E98D4 */ cpu->r[11] = cpu->r[10] - cpu->r[12];
/* 028E98D8 */ cpu->r[6] = cpu->r[6] + 0xFFFFBD10u;
/* 028E98DC */ _t8 = cpu->r[30] + 0x00000038u;
/* 028E98DC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028E98E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
/* 028E98E4 */ _t9 = cpu->r[30] + 0x00000008u;
/* 028E98E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
/* 028E98E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E98E8 */ _t11 = _t10 & 0x00000001u;
/* 028E98E8 */ if (_t11) goto L_028E9908; else goto L_028E98EC;
L_028E98EC: ; // 0x28e98ec
/* 028E98EC */ cpu->r[7] = 0x00000000u;
L_028E98F0: ; // 0x28e98f0
/* 028E98F0 */ cpu->r[8] = cpu->r[11] + cpu->r[12];
/* 028E98F4 */ _t12 = cpu->r[11] + 0x00000074u;
/* 028E98F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
/* 028E98F8 */ _t13 = cpu->r[8] + 0x00000004u;
/* 028E98F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028E98FC */ cpu->r[11] = cpu->r[10] - cpu->r[12];
/* 028E9900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
/* 028E9904 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9904 */ _t15 = _t14 & 0x00000001u;
/* 028E9904 */ if (_t15) goto L_028E9908; else goto L_028E98F0;
L_028E9908: ; // 0x28e9908
/* 028E9908 */ Gambit_fn_0280236C(cpu);
/* 028E990C */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
/* 028E9910 */ cpu->r[4] = 0x00000002u;
/* 028E9914 */ Gambit_fn_02836FA8(cpu);
/* 028E9918 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E991C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E991C */ _t17 = _t16 & 0x00000001u;
/* 028E991C */ if (_t17) goto L_028E9928; else goto L_028E9920;
L_028E9920: ; // 0x28e9920
/* 028E9920 */ cpu->r[3] = cpu->r[30];
/* 028E9924 */ Gambit_fn_02801BB0(cpu);
L_028E9928: ; // 0x28e9928
/* 028E9928 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E9928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E992C */ _t19 = cpu->r[1] + 0x00000008u;
/* 028E992C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028E9930 */ cpu->lr = cpu->r[0];
/* 028E9934 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028E9934 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028E9938 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E993C */ return;
}
// fn_028E9940 @ 0x28e9940
void Gambit_fn_028E9940(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028E9940: ; // 0x28e9940
/* 028E9940 */ cpu->r[0] = cpu->lr;
/* 028E9944 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9944 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9944 */ cpu->r[1] = _t0;
/* 028E9948 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E9948 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E994C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E994C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E9950 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9950 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9954 */ _t4 = cpu->r[3] + 0x00000008u;
/* 028E9954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028E9958 */ _t5 = cpu->r[12] + 0x00000014u;
/* 028E9958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028E995C */ cpu->ctr = cpu->r[11];
/* 028E9960 */ cpu->r[30] = cpu->r[3];
/* 028E9964 */ cpu->r[31] = cpu->r[5];
/* 028E9968 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E996C */ _t6 = cpu->r[31] + 0x00000000u;
/* 028E996C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E9970 */ _t7 = cpu->r[30] + 0x0000003Cu;
/* 028E9970 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E9974 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028E9974 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028E9978 */ _t9 = cpu->r[30] + 0x00000040u;
/* 028E9978 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028E997C */ _t10 = cpu->r[31] + 0x00000008u;
/* 028E997C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028E9980 */ _t11 = cpu->r[30] + 0x00000044u;
/* 028E9980 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028E9984 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028E9984 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028E9988 */ _t13 = cpu->r[30] + 0x00000048u;
/* 028E9988 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028E998C */ _t14 = cpu->r[31] + 0x00000010u;
/* 028E998C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
/* 028E9990 */ _t15 = cpu->r[30] + 0x0000004Cu;
/* 028E9990 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028E9994 */ _t16 = cpu->r[31] + 0x00000014u;
/* 028E9994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
/* 028E9998 */ _t17 = cpu->r[30] + 0x00000050u;
/* 028E9998 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
/* 028E999C */ _t18 = cpu->r[31] + 0x00000018u;
/* 028E999C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028E99A0 */ _t19 = cpu->r[30] + 0x00000054u;
/* 028E99A0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028E99A4 */ _t20 = cpu->r[31] + 0x0000001Cu;
/* 028E99A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
/* 028E99A8 */ _t21 = cpu->r[30] + 0x00000058u;
/* 028E99A8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
/* 028E99AC */ _t22 = cpu->r[31] + 0x00000020u;
/* 028E99AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
/* 028E99B0 */ _t23 = cpu->r[30] + 0x0000005Cu;
/* 028E99B0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 028E99B4 */ _t24 = cpu->r[31] + 0x00000024u;
/* 028E99B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
/* 028E99B8 */ _t25 = cpu->r[30] + 0x00000060u;
/* 028E99B8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 028E99BC */ _t26 = cpu->r[31] + 0x00000028u;
/* 028E99BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028E99C0 */ _t27 = cpu->r[30] + 0x00000064u;
/* 028E99C0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
/* 028E99C4 */ _t28 = cpu->r[31] + 0x0000002Cu;
/* 028E99C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t28);
/* 028E99C8 */ _t29 = cpu->r[30] + 0x00000068u;
/* 028E99C8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[10]);
/* 028E99CC */ _t30 = cpu->r[31] + 0x0000002Du;
/* 028E99CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
/* 028E99D0 */ _t31 = cpu->r[30] + 0x00000069u;
/* 028E99D0 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
/* 028E99D4 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028E99D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028E99D8 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028E99D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
/* 028E99DC */ cpu->lr = cpu->r[0];
/* 028E99E0 */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028E99E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028E99E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E99E8 */ return;
}
// fn_028E9944 @ 0x28e9944
void Gambit_fn_028E9944(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028E9944: ; // 0x28e9944
/* 028E9944 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9944 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9944 */ cpu->r[1] = _t0;
/* 028E9948 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E9948 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E994C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E994C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E9950 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9950 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9954 */ _t4 = cpu->r[3] + 0x00000008u;
/* 028E9954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028E9958 */ _t5 = cpu->r[12] + 0x00000014u;
/* 028E9958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028E995C */ cpu->ctr = cpu->r[11];
/* 028E9960 */ cpu->r[30] = cpu->r[3];
/* 028E9964 */ cpu->r[31] = cpu->r[5];
/* 028E9968 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E996C */ _t6 = cpu->r[31] + 0x00000000u;
/* 028E996C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028E9970 */ _t7 = cpu->r[30] + 0x0000003Cu;
/* 028E9970 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E9974 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028E9974 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028E9978 */ _t9 = cpu->r[30] + 0x00000040u;
/* 028E9978 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028E997C */ _t10 = cpu->r[31] + 0x00000008u;
/* 028E997C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028E9980 */ _t11 = cpu->r[30] + 0x00000044u;
/* 028E9980 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028E9984 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028E9984 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028E9988 */ _t13 = cpu->r[30] + 0x00000048u;
/* 028E9988 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028E998C */ _t14 = cpu->r[31] + 0x00000010u;
/* 028E998C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
/* 028E9990 */ _t15 = cpu->r[30] + 0x0000004Cu;
/* 028E9990 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028E9994 */ _t16 = cpu->r[31] + 0x00000014u;
/* 028E9994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
/* 028E9998 */ _t17 = cpu->r[30] + 0x00000050u;
/* 028E9998 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
/* 028E999C */ _t18 = cpu->r[31] + 0x00000018u;
/* 028E999C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028E99A0 */ _t19 = cpu->r[30] + 0x00000054u;
/* 028E99A0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028E99A4 */ _t20 = cpu->r[31] + 0x0000001Cu;
/* 028E99A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
/* 028E99A8 */ _t21 = cpu->r[30] + 0x00000058u;
/* 028E99A8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
/* 028E99AC */ _t22 = cpu->r[31] + 0x00000020u;
/* 028E99AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
/* 028E99B0 */ _t23 = cpu->r[30] + 0x0000005Cu;
/* 028E99B0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 028E99B4 */ _t24 = cpu->r[31] + 0x00000024u;
/* 028E99B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
/* 028E99B8 */ _t25 = cpu->r[30] + 0x00000060u;
/* 028E99B8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 028E99BC */ _t26 = cpu->r[31] + 0x00000028u;
/* 028E99BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028E99C0 */ _t27 = cpu->r[30] + 0x00000064u;
/* 028E99C0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
/* 028E99C4 */ _t28 = cpu->r[31] + 0x0000002Cu;
/* 028E99C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t28);
/* 028E99C8 */ _t29 = cpu->r[30] + 0x00000068u;
/* 028E99C8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[10]);
/* 028E99CC */ _t30 = cpu->r[31] + 0x0000002Du;
/* 028E99CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
/* 028E99D0 */ _t31 = cpu->r[30] + 0x00000069u;
/* 028E99D0 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
/* 028E99D4 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028E99D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028E99D8 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028E99D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
/* 028E99DC */ cpu->lr = cpu->r[0];
/* 028E99E0 */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028E99E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028E99E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E99E8 */ return;
}
// fn_028E99EC @ 0x28e99ec
void Gambit_fn_028E99EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E99EC: ; // 0x28e99ec
/* 028E99EC */ cpu->r[0] = cpu->lr;
/* 028E99F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E99F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E99F0 */ cpu->r[1] = _t0;
/* 028E99F4 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E99F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E99F8 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028E99F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E99FC */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028E99FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E9A00 */ cpu->r[12] = 0x101D0000u;
/* 028E9A04 */ cpu->r[30] = cpu->r[3];
/* 028E9A08 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028E9A08 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E9A0C */ _t5 = cpu->r[12] + 0xFFFF9B04u;
/* 028E9A0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028E9A10 */ cpu->r[5] = cpu->r[4];
/* 028E9A14 */ _t6 = cpu->r[30] + 0x0000003Cu;
/* 028E9A14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
/* 028E9A18 */ _t7 = cpu->r[12] + 0x00000014u;
/* 028E9A18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028E9A1C */ Gambit_fn_028EE33C(cpu);
/* 028E9A20 */ cpu->r[31] = cpu->r[3];
/* 028E9A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9A24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9A24 */ _t9 = _t8 & 0x00000001u;
/* 028E9A24 */ if (_t9) goto L_028E9B50; else goto L_028E9A28;
L_028E9A28: ; // 0x28e9a28
/* 028E9A28 */ _t10 = cpu->r[30] + 0x00000058u;
/* 028E9A28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028E9A2C */ cpu->r[11] = 0x10140000u;
/* 028E9A30 */ _t11 = cpu->r[11] + 0xFFFFBD0Cu;
/* 028E9A30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028E9A34 */ _t12 = cpu->r[30] + 0x0000005Cu;
/* 028E9A34 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
/* 028E9A38 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
/* 028E9A3C */ _t13 = cpu->r[30] + 0x00000060u;
/* 028E9A3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
/* 028E9A40 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
/* 028E9A44 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028E9A44 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
/* 028E9A48 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
/* 028E9A4C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E9A4C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[11]);
/* 028E9A50 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028E9A50 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
/* 028E9A54 */ _t17 = cpu->r[31] + 0x00000074u;
/* 028E9A54 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
/* 028E9A58 */ _t18 = cpu->r[30] + 0x00000040u;
/* 028E9A58 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
/* 028E9A5C */ _t19 = cpu->r[31] + 0x00000038u;
/* 028E9A5C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
/* 028E9A60 */ _t20 = cpu->r[30] + 0x00000044u;
/* 028E9A60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
/* 028E9A64 */ _t21 = cpu->r[31] + 0x00000008u;
/* 028E9A64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
/* 028E9A68 */ _t22 = cpu->r[31] + 0x0000003Cu;
/* 028E9A68 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
/* 028E9A6C */ _t23 = cpu->r[30] + 0x00000048u;
/* 028E9A6C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
/* 028E9A70 */ _t24 = cpu->r[31] + 0x00000040u;
/* 028E9A70 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
/* 028E9A74 */ _t25 = cpu->r[9] + 0x0000002Cu;
/* 028E9A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E9A78 */ cpu->ctr = cpu->r[0];
/* 028E9A7C */ cpu->r[4] = cpu->r[30] + 0x0000004Cu;
/* 028E9A80 */ cpu->r[3] = cpu->r[31];
/* 028E9A84 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9A88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E9A8C */ cpu->r[3] = cpu->r[31];
/* 028E9A90 */ Gambit_fn_028E86AC(cpu);
/* 028E9A94 */ _t26 = cpu->r[31] + 0x00000008u;
/* 028E9A94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028E9A98 */ _t27 = cpu->r[12] + 0x00000034u;
/* 028E9A98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
/* 028E9A9C */ _t28 = cpu->r[30] + 0x00000064u;
/* 028E9A9C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t28);
/* 028E9AA0 */ cpu->ctr = cpu->r[5];
/* 028E9AA4 */ cpu->r[3] = cpu->r[31];
/* 028E9AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9AAC */ _t29 = cpu->r[30] + 0x00000068u;
/* 028E9AAC */ cpu->r[6] = rbrew_read8(cpu->mem, _t29);
/* 028E9AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028E9AB4 */ cpu->r[3] = cpu->r[31];
/* 028E9AB8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9AB8 */ _t31 = _t30 & 0x00000001u;
/* 028E9AB8 */ if (_t31) goto L_028E9B08; else goto L_028E9ABC;
L_028E9ABC: ; // 0x28e9abc
/* 028E9ABC */ Gambit_fn_028E86C4(cpu);
/* 028E9AC0 */ _t32 = cpu->r[30] + 0x00000069u;
/* 028E9AC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
/* 028E9AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9AC8 */ cpu->r[3] = cpu->r[31];
/* 028E9ACC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9ACC */ _t34 = _t33 & 0x00000001u;
/* 028E9ACC */ if (_t34) goto L_028E9AD0; else goto L_028E9B1C;
L_028E9AD0: ; // 0x28e9ad0
/* 028E9AD0 */ Gambit_fn_028E8700(cpu);
/* 028E9AD4 */ cpu->r[29] = cpu->r[30] + 0x0000007Cu;
/* 028E9AD8 */ cpu->r[3] = cpu->r[29];
/* 028E9ADC */ Gambit_fn_02836FFC(cpu);
/* 028E9AE0 */ _t35 = cpu->r[30] + 0x00000078u;
/* 028E9AE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
/* 028E9AE4 */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
/* 028E9AE8 */ cpu->r[4] = cpu->r[31] + cpu->r[8];
/* 028E9AEC */ Gambit_fn_02801EBC(cpu);
/* 028E9AF0 */ _t36 = cpu->r[30] + 0x00000074u;
/* 028E9AF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
/* 028E9AF4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E9AF8 */ cpu->r[3] = cpu->r[29];
/* 028E9AFC */ _t37 = cpu->r[30] + 0x00000074u;
/* 028E9AFC */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
/* 028E9B00 */ Gambit_fn_02837030(cpu);
/* 028E9B04 */ goto L_028E9B50;
L_028E9B08: ; // 0x28e9b08
/* 028E9B08 */ Gambit_fn_028E86D4(cpu);
/* 028E9B0C */ _t38 = cpu->r[30] + 0x00000069u;
/* 028E9B0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
/* 028E9B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9B14 */ cpu->r[3] = cpu->r[31];
/* 028E9B18 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9B18 */ _t40 = _t39 & 0x00000001u;
/* 028E9B18 */ if (_t40) goto L_028E9AD0; else goto L_028E9B1C;
L_028E9B1C: ; // 0x28e9b1c
/* 028E9B1C */ Gambit_fn_028E86F0(cpu);
/* 028E9B20 */ cpu->r[29] = cpu->r[30] + 0x0000007Cu;
/* 028E9B24 */ cpu->r[3] = cpu->r[29];
/* 028E9B28 */ Gambit_fn_02836FFC(cpu);
/* 028E9B2C */ _t41 = cpu->r[30] + 0x00000078u;
/* 028E9B2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
/* 028E9B30 */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
/* 028E9B34 */ cpu->r[4] = cpu->r[31] + cpu->r[8];
/* 028E9B38 */ Gambit_fn_02801EBC(cpu);
/* 028E9B3C */ _t42 = cpu->r[30] + 0x00000074u;
/* 028E9B3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
/* 028E9B40 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E9B44 */ cpu->r[3] = cpu->r[29];
/* 028E9B48 */ _t43 = cpu->r[30] + 0x00000074u;
/* 028E9B48 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
/* 028E9B4C */ Gambit_fn_02837030(cpu);
L_028E9B50: ; // 0x28e9b50
/* 028E9B50 */ _t44 = cpu->r[1] + 0x00000014u;
/* 028E9B50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
/* 028E9B54 */ _t45 = cpu->r[1] + 0x00000024u;
/* 028E9B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028E9B58 */ cpu->r[3] = cpu->r[31];
/* 028E9B5C */ _t46 = cpu->r[1] + 0x00000018u;
/* 028E9B5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
/* 028E9B60 */ cpu->lr = cpu->r[0];
/* 028E9B64 */ _t47 = cpu->r[1] + 0x0000001Cu;
/* 028E9B64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
/* 028E9B68 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E9B6C */ return;
}
// fn_028E99F0 @ 0x28e99f0
void Gambit_fn_028E99F0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028E99F0: ; // 0x28e99f0
/* 028E99F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E99F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E99F0 */ cpu->r[1] = _t0;
/* 028E99F4 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028E99F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E99F8 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028E99F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E99FC */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028E99FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E9A00 */ cpu->r[12] = 0x101D0000u;
/* 028E9A04 */ cpu->r[30] = cpu->r[3];
/* 028E9A08 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028E9A08 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E9A0C */ _t5 = cpu->r[12] + 0xFFFF9B04u;
/* 028E9A0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028E9A10 */ cpu->r[5] = cpu->r[4];
/* 028E9A14 */ _t6 = cpu->r[30] + 0x0000003Cu;
/* 028E9A14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
/* 028E9A18 */ _t7 = cpu->r[12] + 0x00000014u;
/* 028E9A18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028E9A1C */ Gambit_fn_028EE33C(cpu);
/* 028E9A20 */ cpu->r[31] = cpu->r[3];
/* 028E9A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9A24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9A24 */ _t9 = _t8 & 0x00000001u;
/* 028E9A24 */ if (_t9) goto L_028E9B50; else goto L_028E9A28;
L_028E9A28: ; // 0x28e9a28
/* 028E9A28 */ _t10 = cpu->r[30] + 0x00000058u;
/* 028E9A28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028E9A2C */ cpu->r[11] = 0x10140000u;
/* 028E9A30 */ _t11 = cpu->r[11] + 0xFFFFBD0Cu;
/* 028E9A30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028E9A34 */ _t12 = cpu->r[30] + 0x0000005Cu;
/* 028E9A34 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
/* 028E9A38 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
/* 028E9A3C */ _t13 = cpu->r[30] + 0x00000060u;
/* 028E9A3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
/* 028E9A40 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
/* 028E9A44 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028E9A44 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
/* 028E9A48 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
/* 028E9A4C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E9A4C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[11]);
/* 028E9A50 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028E9A50 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
/* 028E9A54 */ _t17 = cpu->r[31] + 0x00000074u;
/* 028E9A54 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
/* 028E9A58 */ _t18 = cpu->r[30] + 0x00000040u;
/* 028E9A58 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
/* 028E9A5C */ _t19 = cpu->r[31] + 0x00000038u;
/* 028E9A5C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
/* 028E9A60 */ _t20 = cpu->r[30] + 0x00000044u;
/* 028E9A60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
/* 028E9A64 */ _t21 = cpu->r[31] + 0x00000008u;
/* 028E9A64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
/* 028E9A68 */ _t22 = cpu->r[31] + 0x0000003Cu;
/* 028E9A68 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
/* 028E9A6C */ _t23 = cpu->r[30] + 0x00000048u;
/* 028E9A6C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
/* 028E9A70 */ _t24 = cpu->r[31] + 0x00000040u;
/* 028E9A70 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
/* 028E9A74 */ _t25 = cpu->r[9] + 0x0000002Cu;
/* 028E9A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028E9A78 */ cpu->ctr = cpu->r[0];
/* 028E9A7C */ cpu->r[4] = cpu->r[30] + 0x0000004Cu;
/* 028E9A80 */ cpu->r[3] = cpu->r[31];
/* 028E9A84 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9A88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028E9A8C */ cpu->r[3] = cpu->r[31];
/* 028E9A90 */ Gambit_fn_028E86AC(cpu);
/* 028E9A94 */ _t26 = cpu->r[31] + 0x00000008u;
/* 028E9A94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028E9A98 */ _t27 = cpu->r[12] + 0x00000034u;
/* 028E9A98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
/* 028E9A9C */ _t28 = cpu->r[30] + 0x00000064u;
/* 028E9A9C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t28);
/* 028E9AA0 */ cpu->ctr = cpu->r[5];
/* 028E9AA4 */ cpu->r[3] = cpu->r[31];
/* 028E9AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9AAC */ _t29 = cpu->r[30] + 0x00000068u;
/* 028E9AAC */ cpu->r[6] = rbrew_read8(cpu->mem, _t29);
/* 028E9AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028E9AB4 */ cpu->r[3] = cpu->r[31];
/* 028E9AB8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9AB8 */ _t31 = _t30 & 0x00000001u;
/* 028E9AB8 */ if (_t31) goto L_028E9B08; else goto L_028E9ABC;
L_028E9ABC: ; // 0x28e9abc
/* 028E9ABC */ Gambit_fn_028E86C4(cpu);
/* 028E9AC0 */ _t32 = cpu->r[30] + 0x00000069u;
/* 028E9AC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
/* 028E9AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9AC8 */ cpu->r[3] = cpu->r[31];
/* 028E9ACC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9ACC */ _t34 = _t33 & 0x00000001u;
/* 028E9ACC */ if (_t34) goto L_028E9AD0; else goto L_028E9B1C;
L_028E9AD0: ; // 0x28e9ad0
/* 028E9AD0 */ Gambit_fn_028E8700(cpu);
/* 028E9AD4 */ cpu->r[29] = cpu->r[30] + 0x0000007Cu;
/* 028E9AD8 */ cpu->r[3] = cpu->r[29];
/* 028E9ADC */ Gambit_fn_02836FFC(cpu);
/* 028E9AE0 */ _t35 = cpu->r[30] + 0x00000078u;
/* 028E9AE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
/* 028E9AE4 */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
/* 028E9AE8 */ cpu->r[4] = cpu->r[31] + cpu->r[8];
/* 028E9AEC */ Gambit_fn_02801EBC(cpu);
/* 028E9AF0 */ _t36 = cpu->r[30] + 0x00000074u;
/* 028E9AF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
/* 028E9AF4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E9AF8 */ cpu->r[3] = cpu->r[29];
/* 028E9AFC */ _t37 = cpu->r[30] + 0x00000074u;
/* 028E9AFC */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
/* 028E9B00 */ Gambit_fn_02837030(cpu);
/* 028E9B04 */ goto L_028E9B50;
L_028E9B08: ; // 0x28e9b08
/* 028E9B08 */ Gambit_fn_028E86D4(cpu);
/* 028E9B0C */ _t38 = cpu->r[30] + 0x00000069u;
/* 028E9B0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
/* 028E9B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9B14 */ cpu->r[3] = cpu->r[31];
/* 028E9B18 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9B18 */ _t40 = _t39 & 0x00000001u;
/* 028E9B18 */ if (_t40) goto L_028E9AD0; else goto L_028E9B1C;
L_028E9B1C: ; // 0x28e9b1c
/* 028E9B1C */ Gambit_fn_028E86F0(cpu);
/* 028E9B20 */ cpu->r[29] = cpu->r[30] + 0x0000007Cu;
/* 028E9B24 */ cpu->r[3] = cpu->r[29];
/* 028E9B28 */ Gambit_fn_02836FFC(cpu);
/* 028E9B2C */ _t41 = cpu->r[30] + 0x00000078u;
/* 028E9B2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
/* 028E9B30 */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
/* 028E9B34 */ cpu->r[4] = cpu->r[31] + cpu->r[8];
/* 028E9B38 */ Gambit_fn_02801EBC(cpu);
/* 028E9B3C */ _t42 = cpu->r[30] + 0x00000074u;
/* 028E9B3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
/* 028E9B40 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028E9B44 */ cpu->r[3] = cpu->r[29];
/* 028E9B48 */ _t43 = cpu->r[30] + 0x00000074u;
/* 028E9B48 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
/* 028E9B4C */ Gambit_fn_02837030(cpu);
L_028E9B50: ; // 0x28e9b50
/* 028E9B50 */ _t44 = cpu->r[1] + 0x00000014u;
/* 028E9B50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
/* 028E9B54 */ _t45 = cpu->r[1] + 0x00000024u;
/* 028E9B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028E9B58 */ cpu->r[3] = cpu->r[31];
/* 028E9B5C */ _t46 = cpu->r[1] + 0x00000018u;
/* 028E9B5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
/* 028E9B60 */ cpu->lr = cpu->r[0];
/* 028E9B64 */ _t47 = cpu->r[1] + 0x0000001Cu;
/* 028E9B64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
/* 028E9B68 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E9B6C */ return;
}
// fn_028E9B74 @ 0x28e9b74
void Gambit_fn_028E9B74(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028E9B74: ; // 0x28e9b74
/* 028E9B74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028E9B74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9B74 */ cpu->r[1] = _t0;
/* 028E9B78 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E9B78 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028E9B7C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028E9B7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E9B80 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9B80 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028E9B84 */ cpu->r[30] = cpu->r[3];
/* 028E9B88 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028E9B88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028E9B8C */ cpu->r[29] = cpu->r[30] + 0x0000007Cu;
/* 028E9B90 */ cpu->r[3] = cpu->r[29];
/* 028E9B94 */ cpu->r[31] = cpu->r[4];
/* 028E9B98 */ Gambit_fn_02836FFC(cpu);
/* 028E9B9C */ _t5 = cpu->r[30] + 0x00000078u;
/* 028E9B9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028E9BA0 */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
/* 028E9BA4 */ cpu->r[4] = cpu->r[31] + cpu->r[12];
/* 028E9BA8 */ Gambit_fn_02802290(cpu);
/* 028E9BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9BB0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E9BB0 */ _t7 = _t6 & 0x00000001u;
/* 028E9BB0 */ if (_t7) goto L_028E9BEC; else goto L_028E9BB4;
L_028E9BB4: ; // 0x28e9bb4
/* 028E9BB4 */ _t8 = cpu->r[30] + 0x00000078u;
/* 028E9BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E9BB8 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
/* 028E9BBC */ Gambit_fn_02801EDC(cpu);
/* 028E9BC0 */ _t9 = cpu->r[30] + 0x00000074u;
/* 028E9BC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028E9BC4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
/* 028E9BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9BCC */ _t10 = cpu->r[30] + 0x00000074u;
/* 028E9BCC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
/* 028E9BD0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9BD0 */ _t12 = _t11 & 0x00000001u;
/* 028E9BD0 */ if (_t12) goto L_028E9BEC; else goto L_028E9BD4;
L_028E9BD4: ; // 0x28e9bd4
/* 028E9BD4 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028E9BD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028E9BD8 */ _t14 = cpu->r[11] + 0x0000000Cu;
/* 028E9BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E9BDC */ cpu->ctr = cpu->r[0];
/* 028E9BE0 */ cpu->r[3] = cpu->r[31];
/* 028E9BE4 */ cpu->r[4] = 0x00000003u;
/* 028E9BE8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028E9BEC: ; // 0x28e9bec
/* 028E9BEC */ cpu->r[3] = cpu->r[29];
/* 028E9BF0 */ Gambit_fn_02837030(cpu);
/* 028E9BF4 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E9BF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028E9BF8 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028E9BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028E9BFC */ _t17 = cpu->r[1] + 0x00000010u;
/* 028E9BFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028E9C00 */ cpu->lr = cpu->r[0];
/* 028E9C04 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028E9C04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028E9C08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028E9C0C */ return;
}
// fn_028E9C10 @ 0x28e9c10
void Gambit_fn_028E9C10(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_028E9C10: ; // 0x28e9c10
/* 028E9C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9C14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9C14 */ _t17 = _t16 & 0x00000001u;
/* 028E9C14 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9C14 */ goto L_028E9C18;
L_028E9C18: ; // 0x28e9c18
/* 028E9C18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9C1C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9C1C */ _t19 = _t18 & 0x00000001u;
/* 028E9C1C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9C1C */ goto L_028E9C20;
L_028E9C20: ; // 0x28e9c20
/* 028E9C20 */ goto L_02801BB0;
}
// fn_028E9C24 @ 0x28e9c24
void Gambit_fn_028E9C24(CPUState* cpu) {
L_028E9C24: ; // 0x28e9c24
/* 028E9C24 */ return;
}
// fn_028E9C28 @ 0x28e9c28
void Gambit_fn_028E9C28(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_028E9C28: ; // 0x28e9c28
/* 028E9C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9C2C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9C2C */ _t17 = _t16 & 0x00000001u;
/* 028E9C2C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9C2C */ goto L_028E9C30;
L_028E9C30: ; // 0x28e9c30
/* 028E9C30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9C34 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9C34 */ _t19 = _t18 & 0x00000001u;
/* 028E9C34 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9C34 */ goto L_028E9C38;
L_028E9C38: ; // 0x28e9c38
/* 028E9C38 */ goto L_02801BB0;
}
// fn_028E9C3C @ 0x28e9c3c
void Gambit_fn_028E9C3C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028E9C3C: ; // 0x28e9c3c
/* 028E9C3C */ _t0 = cpu->r[3] + 0x00000000u;
/* 028E9C3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028E9C40 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028E9C40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028E9C44 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028E9C48 */ cpu->r[11] = 0x10110000u;
/* 028E9C4C */ _t2 = cpu->r[11] + 0x00007399u;
/* 028E9C4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028E9C50 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028E9C50 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028E9C54 */ return;
}
// fn_028E9C58 @ 0x28e9c58
void Gambit_fn_028E9C58(CPUState* cpu) {
uint32_t _t0, _t1;
L_028E9C58: ; // 0x28e9c58
/* 028E9C58 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028E9C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028E9C5C */ _t1 = cpu->r[3] + 0x00000000u;
/* 028E9C5C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E9C60 */ return;
}
// fn_028E9C64 @ 0x28e9c64
void Gambit_fn_028E9C64(CPUState* cpu) {
uint32_t _t0, _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_028E9C64: ; // 0x28e9c64
/* 028E9C64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E9C64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9C64 */ cpu->r[1] = _t0;
/* 028E9C68 */ /* nop */
/* 028E9C6C */ cpu->r[0] = cpu->lr;
/* 028E9C70 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028E9C70 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028E9C74 */ cpu->r[29] = cpu->r[4];
/* 028E9C78 */ _t2 = cpu->r[29] + 0x00000004u;
/* 028E9C78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
/* 028E9C7C */ _t3 = cpu->r[8] + 0x00000014u;
/* 028E9C7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028E9C80 */ cpu->r[28] = cpu->r[3];
/* 028E9C84 */ cpu->ctr = cpu->r[9];
/* 028E9C88 */ _t4 = cpu->r[28] + 0x0000000Cu;
/* 028E9C88 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
/* 028E9C8C */ cpu->r[3] = cpu->r[29];
/* 028E9C90 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9C94 */ cpu->r[31] = 0x10110000u;
/* 028E9C98 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028E9C98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028E9C9C */ _t6 = cpu->r[31] + 0x00007399u;
/* 028E9C9C */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
/* 028E9CA0 */ _t7 = cpu->r[11] + 0x00000000u;
/* 028E9CA0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
/* 028E9CA4 */ cpu->r[30] = 0x00000000u;
/* 028E9CA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028E9CAC */ cpu->r[12] = 0x00080000u;
/* 028E9CB0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9CB0 */ _t9 = _t8 & 0x00000001u;
/* 028E9CB0 */ if (_t9) goto L_028E9CD8; else goto L_028E9CB4;
L_028E9CB4: ; // 0x28e9cb4
/* 028E9CB4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028E9CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028E9CBC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028E9CC0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028E9CC0 */ _t11 = _t10 & 0x00000001u;
/* 028E9CC0 */ if (_t11) goto L_028E9CD4; else goto L_028E9CC4;
L_028E9CC4: ; // 0x28e9cc4
/* 028E9CC4 */ _t12 = cpu->r[11] + 0x00000000u;
/* 028E9CC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
/* 028E9CC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028E9CCC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9CCC */ _t14 = _t13 & 0x00000001u;
/* 028E9CCC */ if (_t14) goto L_028E9CD0; else goto L_028E9CB4;
L_028E9CD0: ; // 0x28e9cd0
/* 028E9CD0 */ goto L_028E9CD8;
L_028E9CD4: ; // 0x28e9cd4
/* 028E9CD4 */ cpu->r[30] = 0x00000000u;
L_028E9CD8: ; // 0x28e9cd8
/* 028E9CD8 */ _t15 = cpu->r[28] + 0x00000014u;
/* 028E9CD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028E9CDC */ _t16 = cpu->r[29] + 0x00000004u;
/* 028E9CDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028E9CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028E9CE4 */ _t17 = cpu->r[12] + 0x00000014u;
/* 028E9CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028E9CE8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E9CE8 */ _t19 = _t18 & 0x00000001u;
/* 028E9CE8 */ if (_t19) goto L_028E9CF0; else goto L_028E9CEC;
L_028E9CEC: ; // 0x28e9cec
/* 028E9CEC */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028E9CF0: ; // 0x28e9cf0
/* 028E9CF0 */ cpu->ctr = cpu->r[0];
/* 028E9CF4 */ cpu->r[3] = cpu->r[29];
/* 028E9CF8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028E9CFC */ _t20 = cpu->r[29] + 0x00000000u;
/* 028E9CFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
/* 028E9D00 */ cpu->r[6] = 0x00000000u;
/* 028E9D04 */ cpu->r[5] = cpu->r[30];
/* 028E9D08 */ cpu->r[3] = cpu->r[27];
/* 028E9D0C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028E9D10 */ _t21 = cpu->r[27] + cpu->r[30];
/* 028E9D10 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
/* 028E9D14 */ _t22 = cpu->r[28] + 0x0000000Cu;
/* 028E9D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028E9D18 */ _t23 = cpu->r[28] + 0x00000000u;
/* 028E9D18 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028E9D1C */ /* nop */
/* 028E9D20 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028E9D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028E9D24 */ cpu->lr = cpu->r[0];
/* 028E9D28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028E9D2C */ return;
}
// fn_028E9D30 @ 0x28e9d30
void Gambit_fn_028E9D30(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_028E9D30: ; // 0x28e9d30
/* 028E9D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9D34 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9D34 */ _t17 = _t16 & 0x00000001u;
/* 028E9D34 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9D34 */ goto L_028E9D38;
L_028E9D38: ; // 0x28e9d38
/* 028E9D38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9D3C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9D3C */ _t19 = _t18 & 0x00000001u;
/* 028E9D3C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9D3C */ goto L_028E9D40;
L_028E9D40: ; // 0x28e9d40
/* 028E9D40 */ goto L_02801BB0;
}
// fn_028E9D44 @ 0x28e9d44
void Gambit_fn_028E9D44(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_028E9D44: ; // 0x28e9d44
/* 028E9D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9D48 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9D48 */ _t17 = _t16 & 0x00000001u;
/* 028E9D48 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9D48 */ goto L_028E9D4C;
L_028E9D4C: ; // 0x28e9d4c
/* 028E9D4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9D50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9D50 */ _t19 = _t18 & 0x00000001u;
/* 028E9D50 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028E9D50 */ goto L_028E9D54;
L_028E9D54: ; // 0x28e9d54
/* 028E9D54 */ goto L_02801BB0;
}
// fn_028E9D58 @ 0x28e9d58
void Gambit_fn_028E9D58(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028E9D58: ; // 0x28e9d58
/* 028E9D58 */ cpu->r[0] = cpu->lr;
/* 028E9D5C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028E9D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028E9D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9D64 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E9D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028E9D64 */ cpu->r[1] = _t1;
/* 028E9D68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9D68 */ _t3 = _t2 & 0x00000001u;
/* 028E9D68 */ if (_t3) goto L_028E9D6C; else goto L_028E9D7C;
L_028E9D6C: ; // 0x28e9d6c
/* 028E9D6C */ cpu->r[3] = 0x00000020u;
/* 028E9D70 */ Gambit_fn_02801A78(cpu);
/* 028E9D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9D78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9D78 */ _t5 = _t4 & 0x00000001u;
/* 028E9D78 */ if (_t5) goto L_028E9DB4; else goto L_028E9D7C;
L_028E9D7C: ; // 0x28e9d7c
/* 028E9D7C */ cpu->r[0] = 0x00000000u;
/* 028E9D80 */ cpu->r[12] = 0x10140000u;
/* 028E9D84 */ cpu->r[11] = 0x10140000u;
/* 028E9D88 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028E9D88 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E9D8C */ cpu->r[11] = cpu->r[11] + 0xFFFFBD50u;
/* 028E9D90 */ _t7 = cpu->r[12] + 0xFFFFBD38u;
/* 028E9D90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028E9D94 */ _t8 = cpu->r[3] + 0x0000001Cu;
/* 028E9D94 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028E9D98 */ _t9 = cpu->r[3] + 0x00000018u;
/* 028E9D98 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028E9D9C */ _t10 = cpu->r[3] + 0x00000010u;
/* 028E9D9C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028E9DA0 */ cpu->r[12] = 0x00000001u;
/* 028E9DA4 */ _t11 = cpu->r[3] + 0x0000000Cu;
/* 028E9DA4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
/* 028E9DA8 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028E9DA8 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
/* 028E9DAC */ _t13 = cpu->r[3] + 0x00000014u;
/* 028E9DAC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028E9DB0 */ _t14 = cpu->r[3] + 0x00000004u;
/* 028E9DB0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
L_028E9DB4: ; // 0x28e9db4
/* 028E9DB4 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028E9DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E9DB8 */ cpu->lr = cpu->r[0];
/* 028E9DBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E9DC0 */ return;
}
// fn_028E9D64 @ 0x28e9d64
void Gambit_fn_028E9D64(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028E9D64: ; // 0x28e9d64
/* 028E9D64 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028E9D64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9D64 */ cpu->r[1] = _t0;
/* 028E9D68 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9D68 */ _t2 = _t1 & 0x00000001u;
/* 028E9D68 */ if (_t2) goto L_028E9D6C; else goto L_028E9D7C;
L_028E9D6C: ; // 0x28e9d6c
/* 028E9D6C */ cpu->r[3] = 0x00000020u;
/* 028E9D70 */ Gambit_fn_02801A78(cpu);
/* 028E9D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9D78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9D78 */ _t4 = _t3 & 0x00000001u;
/* 028E9D78 */ if (_t4) goto L_028E9DB4; else goto L_028E9D7C;
L_028E9D7C: ; // 0x28e9d7c
/* 028E9D7C */ cpu->r[0] = 0x00000000u;
/* 028E9D80 */ cpu->r[12] = 0x10140000u;
/* 028E9D84 */ cpu->r[11] = 0x10140000u;
/* 028E9D88 */ _t5 = cpu->r[3] + 0x00000000u;
/* 028E9D88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028E9D8C */ cpu->r[11] = cpu->r[11] + 0xFFFFBD50u;
/* 028E9D90 */ _t6 = cpu->r[12] + 0xFFFFBD38u;
/* 028E9D90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028E9D94 */ _t7 = cpu->r[3] + 0x0000001Cu;
/* 028E9D94 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028E9D98 */ _t8 = cpu->r[3] + 0x00000018u;
/* 028E9D98 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028E9D9C */ _t9 = cpu->r[3] + 0x00000010u;
/* 028E9D9C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028E9DA0 */ cpu->r[12] = 0x00000001u;
/* 028E9DA4 */ _t10 = cpu->r[3] + 0x0000000Cu;
/* 028E9DA4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
/* 028E9DA8 */ _t11 = cpu->r[3] + 0x00000008u;
/* 028E9DA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028E9DAC */ _t12 = cpu->r[3] + 0x00000014u;
/* 028E9DAC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028E9DB0 */ _t13 = cpu->r[3] + 0x00000004u;
/* 028E9DB0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
L_028E9DB4: ; // 0x28e9db4
/* 028E9DB4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028E9DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E9DB8 */ cpu->lr = cpu->r[0];
/* 028E9DBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028E9DC0 */ return;
}
// fn_028E9DC4 @ 0x28e9dc4
void Gambit_fn_028E9DC4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028E9DC4: ; // 0x28e9dc4
/* 028E9DC4 */ cpu->r[0] = cpu->lr;
/* 028E9DC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9DC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9DC8 */ cpu->r[1] = _t0;
/* 028E9DCC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E9DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E9DD0 */ cpu->r[31] = cpu->r[3];
/* 028E9DD4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E9DD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E9DD8 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028E9DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028E9DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9DE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9DE0 */ _t5 = _t4 & 0x00000001u;
/* 028E9DE0 */ if (_t5) goto L_028E9E10; else goto L_028E9DE4;
L_028E9DE4: ; // 0x28e9de4
/* 028E9DE4 */ Gambit_fn_028EA6A4(cpu);
/* 028E9DE8 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028E9DE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028E9DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9DF0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9DF0 */ _t8 = _t7 & 0x00000001u;
/* 028E9DF0 */ if (_t8) goto L_028E9E08; else goto L_028E9DF4;
L_028E9DF4: ; // 0x28e9df4
/* 028E9DF4 */ _t9 = cpu->r[3] + 0x00000028u;
/* 028E9DF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028E9DF8 */ _t10 = cpu->r[11] + 0x0000000Cu;
/* 028E9DF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028E9DFC */ cpu->ctr = cpu->r[12];
/* 028E9E00 */ cpu->r[4] = 0x00000003u;
/* 028E9E04 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028E9E08: ; // 0x28e9e08
/* 028E9E08 */ cpu->r[0] = 0x00000000u;
/* 028E9E0C */ _t11 = cpu->r[31] + 0x00000000u;
/* 028E9E0C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028E9E10: ; // 0x28e9e10
/* 028E9E10 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E9E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E9E14 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E9E14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028E9E18 */ cpu->lr = cpu->r[0];
/* 028E9E1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E9E20 */ return;
}
// fn_028E9DC8 @ 0x28e9dc8
void Gambit_fn_028E9DC8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028E9DC8: ; // 0x28e9dc8
/* 028E9DC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9DC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9DC8 */ cpu->r[1] = _t0;
/* 028E9DCC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E9DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E9DD0 */ cpu->r[31] = cpu->r[3];
/* 028E9DD4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028E9DD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028E9DD8 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028E9DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028E9DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9DE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9DE0 */ _t5 = _t4 & 0x00000001u;
/* 028E9DE0 */ if (_t5) goto L_028E9E10; else goto L_028E9DE4;
L_028E9DE4: ; // 0x28e9de4
/* 028E9DE4 */ Gambit_fn_028EA6A4(cpu);
/* 028E9DE8 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028E9DE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028E9DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9DF0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9DF0 */ _t8 = _t7 & 0x00000001u;
/* 028E9DF0 */ if (_t8) goto L_028E9E08; else goto L_028E9DF4;
L_028E9DF4: ; // 0x28e9df4
/* 028E9DF4 */ _t9 = cpu->r[3] + 0x00000028u;
/* 028E9DF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028E9DF8 */ _t10 = cpu->r[11] + 0x0000000Cu;
/* 028E9DF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028E9DFC */ cpu->ctr = cpu->r[12];
/* 028E9E00 */ cpu->r[4] = 0x00000003u;
/* 028E9E04 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028E9E08: ; // 0x28e9e08
/* 028E9E08 */ cpu->r[0] = 0x00000000u;
/* 028E9E0C */ _t11 = cpu->r[31] + 0x00000000u;
/* 028E9E0C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028E9E10: ; // 0x28e9e10
/* 028E9E10 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028E9E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028E9E14 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028E9E14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028E9E18 */ cpu->lr = cpu->r[0];
/* 028E9E1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E9E20 */ return;
}
// fn_028E9E24 @ 0x28e9e24
void Gambit_fn_028E9E24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E9E24: ; // 0x28e9e24
/* 028E9E24 */ cpu->r[0] = cpu->lr;
/* 028E9E28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9E28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9E28 */ cpu->r[1] = _t0;
/* 028E9E2C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E9E2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E9E30 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E9E30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E9E34 */ cpu->r[31] = cpu->r[3];
/* 028E9E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9E38 */ cpu->r[30] = cpu->r[4];
/* 028E9E3C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9E3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9E40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9E40 */ _t5 = _t4 & 0x00000001u;
/* 028E9E40 */ if (_t5) goto L_028E9E68; else goto L_028E9E44;
L_028E9E44: ; // 0x28e9e44
/* 028E9E44 */ cpu->r[0] = 0x10140000u;
/* 028E9E48 */ cpu->r[0] = cpu->r[0] + 0xFFFFBD50u;
/* 028E9E4C */ cpu->r[3] = cpu->r[31];
/* 028E9E50 */ _t6 = cpu->r[31] + 0x0000001Cu;
/* 028E9E50 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E9E54 */ Gambit_fn_028E9DC4(cpu);
/* 028E9E58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9E5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9E5C */ _t8 = _t7 & 0x00000001u;
/* 028E9E5C */ if (_t8) goto L_028E9E68; else goto L_028E9E60;
L_028E9E60: ; // 0x28e9e60
/* 028E9E60 */ cpu->r[3] = cpu->r[31];
/* 028E9E64 */ Gambit_fn_02801BB0(cpu);
L_028E9E68: ; // 0x28e9e68
/* 028E9E68 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E9E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E9E6C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E9E6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E9E70 */ cpu->lr = cpu->r[0];
/* 028E9E74 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E9E74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E9E78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E9E7C */ return;
}
// fn_028E9E28 @ 0x28e9e28
void Gambit_fn_028E9E28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E9E28: ; // 0x28e9e28
/* 028E9E28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9E28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9E28 */ cpu->r[1] = _t0;
/* 028E9E2C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E9E2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E9E30 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E9E30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E9E34 */ cpu->r[31] = cpu->r[3];
/* 028E9E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028E9E38 */ cpu->r[30] = cpu->r[4];
/* 028E9E3C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9E3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9E40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9E40 */ _t5 = _t4 & 0x00000001u;
/* 028E9E40 */ if (_t5) goto L_028E9E68; else goto L_028E9E44;
L_028E9E44: ; // 0x28e9e44
/* 028E9E44 */ cpu->r[0] = 0x10140000u;
/* 028E9E48 */ cpu->r[0] = cpu->r[0] + 0xFFFFBD50u;
/* 028E9E4C */ cpu->r[3] = cpu->r[31];
/* 028E9E50 */ _t6 = cpu->r[31] + 0x0000001Cu;
/* 028E9E50 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028E9E54 */ Gambit_fn_028E9DC4(cpu);
/* 028E9E58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028E9E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028E9E5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9E5C */ _t8 = _t7 & 0x00000001u;
/* 028E9E5C */ if (_t8) goto L_028E9E68; else goto L_028E9E60;
L_028E9E60: ; // 0x28e9e60
/* 028E9E60 */ cpu->r[3] = cpu->r[31];
/* 028E9E64 */ Gambit_fn_02801BB0(cpu);
L_028E9E68: ; // 0x28e9e68
/* 028E9E68 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E9E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E9E6C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E9E6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E9E70 */ cpu->lr = cpu->r[0];
/* 028E9E74 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E9E74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E9E78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E9E7C */ return;
}
// fn_028E9E80 @ 0x28e9e80
void Gambit_fn_028E9E80(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E9E80: ; // 0x28e9e80
/* 028E9E80 */ cpu->r[0] = cpu->lr;
/* 028E9E84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9E84 */ cpu->r[1] = _t0;
/* 028E9E88 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E9E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E9E8C */ cpu->r[31] = cpu->r[3];
/* 028E9E90 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E9E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E9E94 */ cpu->r[30] = cpu->r[4];
/* 028E9E98 */ cpu->r[3] = 0x0000002Cu;
/* 028E9E9C */ cpu->r[5] = 0x00000004u;
/* 028E9EA0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9EA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9EA4 */ Gambit_fn_02801AC8(cpu);
/* 028E9EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9EAC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9EAC */ _t5 = _t4 & 0x00000001u;
/* 028E9EAC */ if (_t5) goto L_028E9EB4; else goto L_028E9EB0;
L_028E9EB0: ; // 0x28e9eb0
/* 028E9EB0 */ Gambit_fn_028EA62C(cpu);
L_028E9EB4: ; // 0x28e9eb4
/* 028E9EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9EB8 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028E9EB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
/* 028E9EBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9EBC */ _t8 = _t7 & 0x00000001u;
/* 028E9EBC */ if (_t8) goto L_028E9EC8; else goto L_028E9EC0;
L_028E9EC0: ; // 0x28e9ec0
/* 028E9EC0 */ cpu->r[4] = cpu->r[30];
/* 028E9EC4 */ Gambit_fn_028EA794(cpu);
L_028E9EC8: ; // 0x28e9ec8
/* 028E9EC8 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E9EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E9ECC */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E9ECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E9ED0 */ cpu->lr = cpu->r[0];
/* 028E9ED4 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E9ED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E9ED8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E9EDC */ return;
}
// fn_028E9E84 @ 0x28e9e84
void Gambit_fn_028E9E84(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028E9E84: ; // 0x28e9e84
/* 028E9E84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9E84 */ cpu->r[1] = _t0;
/* 028E9E88 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028E9E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028E9E8C */ cpu->r[31] = cpu->r[3];
/* 028E9E90 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E9E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E9E94 */ cpu->r[30] = cpu->r[4];
/* 028E9E98 */ cpu->r[3] = 0x0000002Cu;
/* 028E9E9C */ cpu->r[5] = 0x00000004u;
/* 028E9EA0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9EA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9EA4 */ Gambit_fn_02801AC8(cpu);
/* 028E9EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9EAC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9EAC */ _t5 = _t4 & 0x00000001u;
/* 028E9EAC */ if (_t5) goto L_028E9EB4; else goto L_028E9EB0;
L_028E9EB0: ; // 0x28e9eb0
/* 028E9EB0 */ Gambit_fn_028EA62C(cpu);
L_028E9EB4: ; // 0x28e9eb4
/* 028E9EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9EB8 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028E9EB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
/* 028E9EBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9EBC */ _t8 = _t7 & 0x00000001u;
/* 028E9EBC */ if (_t8) goto L_028E9EC8; else goto L_028E9EC0;
L_028E9EC0: ; // 0x28e9ec0
/* 028E9EC0 */ cpu->r[4] = cpu->r[30];
/* 028E9EC4 */ Gambit_fn_028EA794(cpu);
L_028E9EC8: ; // 0x28e9ec8
/* 028E9EC8 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028E9EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028E9ECC */ _t10 = cpu->r[1] + 0x00000008u;
/* 028E9ECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028E9ED0 */ cpu->lr = cpu->r[0];
/* 028E9ED4 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028E9ED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028E9ED8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E9EDC */ return;
}
// fn_028E9EE0 @ 0x28e9ee0
void Gambit_fn_028E9EE0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028E9EE0: ; // 0x28e9ee0
/* 028E9EE0 */ cpu->r[0] = cpu->lr;
/* 028E9EE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9EE4 */ cpu->r[1] = _t0;
/* 028E9EE8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E9EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E9EEC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E9EEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E9EF0 */ cpu->r[30] = cpu->r[3];
/* 028E9EF4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9EF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9EF8 */ _t4 = cpu->r[30] + 0x00000000u;
/* 028E9EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028E9EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9F00 */ cpu->r[31] = cpu->r[4];
/* 028E9F04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9F04 */ _t6 = _t5 & 0x00000001u;
/* 028E9F04 */ if (_t6) goto L_028E9F14; else goto L_028E9F08;
L_028E9F08: ; // 0x28e9f08
/* 028E9F08 */ cpu->r[4] = cpu->r[31];
/* 028E9F0C */ Gambit_fn_028EB31C(cpu);
/* 028E9F10 */ _t7 = cpu->r[30] + 0x0000000Cu;
/* 028E9F10 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
L_028E9F14: ; // 0x28e9f14
/* 028E9F14 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028E9F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E9F18 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028E9F18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028E9F1C */ cpu->lr = cpu->r[0];
/* 028E9F20 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028E9F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028E9F24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E9F28 */ return;
}
// fn_028E9EE4 @ 0x28e9ee4
void Gambit_fn_028E9EE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028E9EE4: ; // 0x28e9ee4
/* 028E9EE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028E9EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9EE4 */ cpu->r[1] = _t0;
/* 028E9EE8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028E9EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E9EEC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028E9EEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E9EF0 */ cpu->r[30] = cpu->r[3];
/* 028E9EF4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028E9EF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E9EF8 */ _t4 = cpu->r[30] + 0x00000000u;
/* 028E9EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028E9EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9F00 */ cpu->r[31] = cpu->r[4];
/* 028E9F04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9F04 */ _t6 = _t5 & 0x00000001u;
/* 028E9F04 */ if (_t6) goto L_028E9F14; else goto L_028E9F08;
L_028E9F08: ; // 0x28e9f08
/* 028E9F08 */ cpu->r[4] = cpu->r[31];
/* 028E9F0C */ Gambit_fn_028EB31C(cpu);
/* 028E9F10 */ _t7 = cpu->r[30] + 0x0000000Cu;
/* 028E9F10 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
L_028E9F14: ; // 0x28e9f14
/* 028E9F14 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028E9F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028E9F18 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028E9F18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028E9F1C */ cpu->lr = cpu->r[0];
/* 028E9F20 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028E9F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028E9F24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028E9F28 */ return;
}
// fn_028E9F2C @ 0x28e9f2c
void Gambit_fn_028E9F2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028E9F2C: ; // 0x28e9f2c
/* 028E9F2C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028E9F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9F2C */ cpu->r[1] = _t0;
/* 028E9F30 */ cpu->r[0] = cpu->lr;
/* 028E9F34 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028E9F34 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028E9F38 */ /* nop */
/* 028E9F3C */ _t2 = cpu->r[1] + 0x00000028u;
/* 028E9F3C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028E9F40 */ cpu->r[10] = 0x10140000u;
/* 028E9F44 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028E9F44 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028E9F48 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E9F48 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E9F4C */ /* nop */
/* 028E9F50 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028E9F50 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028E9F54 */ _t6 = cpu->r[1] + 0x00000030u;
/* 028E9F54 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
/* 028E9F58 */ cpu->r[31] = cpu->r[3];
/* 028E9F5C */ _t7 = cpu->r[1] + 0x0000003Cu;
/* 028E9F5C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E9F60 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E9F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028E9F64 */ cpu->r[30] = 0x00000000u;
/* 028E9F68 */ _t9 = cpu->r[10] + 0xFFFFBD38u;
/* 028E9F68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028E9F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9F70 */ cpu->f[30] = cpu->f[1];
/* 028E9F74 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9F74 */ _t11 = _t10 & 0x00000001u;
/* 028E9F74 */ if (_t11) goto L_028E9FA8; else goto L_028E9F78;
L_028E9F78: ; // 0x28e9f78
/* 028E9F78 */ cpu->f[1] = cpu->f[30];
/* 028E9F7C */ Gambit_fn_028EA998(cpu);
/* 028E9F80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
/* 028E9F84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9F84 */ _t13 = _t12 & 0x00000001u;
/* 028E9F84 */ if (_t13) goto L_028E9F88; else goto L_028E9F98;
L_028E9F88: ; // 0x28e9f88
/* 028E9F88 */ _t14 = cpu->r[31] + 0x00000004u;
/* 028E9F88 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028E9F8C */ _t15 = cpu->r[31] + 0x00000004u;
/* 028E9F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E9F90 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E9F90 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E9F94 */ goto L_028E9FA8;
L_028E9F98: ; // 0x28e9f98
/* 028E9F98 */ cpu->r[12] = 0x00000002u;
/* 028E9F9C */ _t17 = cpu->r[31] + 0x00000004u;
/* 028E9F9C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028E9FA0 */ _t18 = cpu->r[31] + 0x00000004u;
/* 028E9FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E9FA4 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028E9FA4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
L_028E9FA8: ; // 0x28e9fa8
/* 028E9FA8 */ _t20 = cpu->r[31] + 0x0000000Cu;
/* 028E9FA8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
/* 028E9FAC */ _t21 = cpu->r[31] + 0x00000018u;
/* 028E9FAC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
/* 028E9FB0 */ _t22 = cpu->r[1] + 0x00000030u;
/* 028E9FB0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t22);
/* 028E9FB4 */ _t23 = cpu->r[1] + 0x00000020u;
/* 028E9FB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t23);
/* 028E9FB8 */ _t24 = cpu->r[1] + 0x00000028u;
/* 028E9FB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t24);
/* 028E9FBC */ _t25 = cpu->r[1] + 0x00000018u;
/* 028E9FBC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t25);
/* 028E9FC0 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028E9FC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028E9FC4 */ _t27 = cpu->r[1] + 0x00000010u;
/* 028E9FC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028E9FC8 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E9FC8 */ _t29 = _t28 & 0x00000001u;
/* 028E9FC8 */ if (_t29) goto L_028E9FCC; // else: addr-0 trap, fall-through
L_028E9FCC: ; // 0x28e9fcc
/* 028E9FCC */ _t30 = cpu->r[1] + 0x0000003Cu;
/* 028E9FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E9FD0 */ cpu->lr = cpu->r[0];
/* 028E9FD4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E9FD8 */ return;
}
// fn_028E9FDC @ 0x28e9fdc
void Gambit_fn_028E9FDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E9F2C: ; // 0x28e9f2c
/* 028E9F2C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028E9F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9F2C */ cpu->r[1] = _t0;
/* 028E9F30 */ cpu->r[0] = cpu->lr;
/* 028E9F34 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028E9F34 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028E9F38 */ /* nop */
/* 028E9F3C */ _t2 = cpu->r[1] + 0x00000028u;
/* 028E9F3C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028E9F40 */ cpu->r[10] = 0x10140000u;
/* 028E9F44 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028E9F44 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028E9F48 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E9F48 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E9F4C */ /* nop */
/* 028E9F50 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028E9F50 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028E9F54 */ _t6 = cpu->r[1] + 0x00000030u;
/* 028E9F54 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
/* 028E9F58 */ cpu->r[31] = cpu->r[3];
/* 028E9F5C */ _t7 = cpu->r[1] + 0x0000003Cu;
/* 028E9F5C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E9F60 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E9F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028E9F64 */ cpu->r[30] = 0x00000000u;
/* 028E9F68 */ _t9 = cpu->r[10] + 0xFFFFBD38u;
/* 028E9F68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028E9F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9F70 */ cpu->f[30] = cpu->f[1];
/* 028E9F74 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9F74 */ _t11 = _t10 & 0x00000001u;
/* 028E9F74 */ if (_t11) goto L_028E9FA8; else goto L_028E9F78;
L_028E9F78: ; // 0x28e9f78
/* 028E9F78 */ cpu->f[1] = cpu->f[30];
/* 028E9F7C */ Gambit_fn_028EA998(cpu);
/* 028E9F80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
/* 028E9F84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9F84 */ _t13 = _t12 & 0x00000001u;
/* 028E9F84 */ if (_t13) goto L_028E9F88; else goto L_028E9F98;
L_028E9F88: ; // 0x28e9f88
/* 028E9F88 */ _t14 = cpu->r[31] + 0x00000004u;
/* 028E9F88 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028E9F8C */ _t15 = cpu->r[31] + 0x00000004u;
/* 028E9F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E9F90 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E9F90 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E9F94 */ goto L_028E9FA8;
L_028E9F98: ; // 0x28e9f98
/* 028E9F98 */ cpu->r[12] = 0x00000002u;
/* 028E9F9C */ _t17 = cpu->r[31] + 0x00000004u;
/* 028E9F9C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028E9FA0 */ _t18 = cpu->r[31] + 0x00000004u;
/* 028E9FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E9FA4 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028E9FA4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
L_028E9FA8: ; // 0x28e9fa8
/* 028E9FA8 */ _t20 = cpu->r[31] + 0x0000000Cu;
/* 028E9FA8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
/* 028E9FAC */ _t21 = cpu->r[31] + 0x00000018u;
/* 028E9FAC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
/* 028E9FB0 */ _t22 = cpu->r[1] + 0x00000030u;
/* 028E9FB0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t22);
/* 028E9FB4 */ _t23 = cpu->r[1] + 0x00000020u;
/* 028E9FB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t23);
/* 028E9FB8 */ _t24 = cpu->r[1] + 0x00000028u;
/* 028E9FB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t24);
/* 028E9FBC */ _t25 = cpu->r[1] + 0x00000018u;
/* 028E9FBC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t25);
/* 028E9FC0 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028E9FC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028E9FC4 */ _t27 = cpu->r[1] + 0x00000010u;
/* 028E9FC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028E9FC8 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E9FC8 */ _t29 = _t28 & 0x00000001u;
/* 028E9FC8 */ if (_t29) goto L_028E9FCC; // else: addr-0 trap, fall-through
L_028E9FCC: ; // 0x28e9fcc
/* 028E9FCC */ _t30 = cpu->r[1] + 0x0000003Cu;
/* 028E9FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E9FD0 */ cpu->lr = cpu->r[0];
/* 028E9FD4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E9FD8 */ return;
L_028E9FDC: ; // 0x28e9fdc
/* 028E9FDC */ cpu->r[12] = 0x10140000u;
/* 028E9FE0 */ _t31 = cpu->r[12] + 0xFFFFBD38u;
/* 028E9FE0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t31);
/* 028E9FE4 */ goto L_028E9F2C;
}
// fn_028E9FE8 @ 0x28e9fe8
void Gambit_fn_028E9FE8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E9FE8: ; // 0x28e9fe8
/* 028E9FE8 */ cpu->r[0] = cpu->lr;
/* 028E9FEC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E9FEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9FEC */ cpu->r[1] = _t0;
/* 028E9FF0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E9FF0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E9FF4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E9FF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E9FF8 */ /* nop */
/* 028E9FFC */ _t3 = cpu->r[1] + 0x00000018u;
/* 028E9FFC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EA000 */ cpu->r[30] = cpu->r[3];
/* 028EA004 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028EA004 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028EA008 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028EA008 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028EA00C */ _t6 = cpu->r[30] + 0x00000000u;
/* 028EA00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EA010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA014 */ cpu->f[31] = cpu->f[1];
/* 028EA018 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA018 */ _t8 = _t7 & 0x00000001u;
/* 028EA018 */ if (_t8) goto L_028EA01C; else goto L_028EA044;
L_028EA01C: ; // 0x28ea01c
/* 028EA01C */ _t9 = cpu->r[1] + 0x00000018u;
/* 028EA01C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028EA020 */ cpu->r[3] = 0x00000000u;
/* 028EA024 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028EA024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028EA028 */ _t11 = cpu->r[1] + 0x00000010u;
/* 028EA028 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
/* 028EA02C */ _t12 = cpu->r[1] + 0x00000008u;
/* 028EA02C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028EA030 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA030 */ _t14 = _t13 & 0x00000001u;
/* 028EA030 */ if (_t14) goto L_028EA034; // else: addr-0 trap, fall-through
L_028EA034: ; // 0x28ea034
/* 028EA034 */ _t15 = cpu->r[1] + 0x00000024u;
/* 028EA034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA038 */ cpu->lr = cpu->r[0];
/* 028EA03C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA040 */ return;
L_028EA044: ; // 0x28ea044
/* 028EA044 */ Gambit_fn_028EADA4(cpu);
/* 028EA048 */ cpu->f[1] = cpu->f[31];
/* 028EA04C */ _t16 = cpu->r[30] + 0x00000000u;
/* 028EA04C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028EA050 */ cpu->r[4] = 0x00000000u;
/* 028EA054 */ Gambit_fn_028EAFFC(cpu);
/* 028EA058 */ cpu->r[31] = cpu->r[3];
/* 028EA058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EA05C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA05C */ _t18 = _t17 & 0x00000001u;
/* 028EA05C */ if (_t18) goto L_028EA090; else goto L_028EA060;
L_028EA060: ; // 0x28ea060
/* 028EA060 */ _t19 = cpu->r[30] + 0x0000000Cu;
/* 028EA060 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
/* 028EA064 */ cpu->r[11] = 0x00000001u;
/* 028EA068 */ _t20 = cpu->r[30] + 0x00000004u;
/* 028EA068 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
/* 028EA06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA070 */ _t21 = cpu->r[30] + 0x00000004u;
/* 028EA070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028EA074 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA074 */ _t23 = _t22 & 0x00000001u;
/* 028EA074 */ if (_t23) goto L_028EA098; else goto L_028EA078;
L_028EA078: ; // 0x28ea078
/* 028EA078 */ cpu->r[10] = 0x10140000u;
/* 028EA07C */ cpu->r[3] = cpu->r[30];
/* 028EA080 */ _t24 = cpu->r[10] + 0xFFFFBD38u;
/* 028EA080 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t24);
/* 028EA084 */ cpu->r[4] = 0x00000001u;
/* 028EA088 */ Gambit_fn_028E9EE0(cpu);
/* 028EA08C */ goto L_028EA098;
L_028EA090: ; // 0x28ea090
/* 028EA090 */ cpu->r[3] = cpu->r[30];
/* 028EA094 */ Gambit_fn_028E9FDC(cpu);
L_028EA098: ; // 0x28ea098
/* 028EA098 */ _t25 = cpu->r[1] + 0x00000018u;
/* 028EA098 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
/* 028EA09C */ cpu->r[3] = cpu->r[31];
/* 028EA0A0 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028EA0A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028EA0A4 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028EA0A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028EA0A8 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028EA0A8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
/* 028EA0AC */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA0AC */ _t30 = _t29 & 0x00000001u;
/* 028EA0AC */ if (_t30) goto L_028EA0B0; // else: addr-0 trap, fall-through
L_028EA0B0: ; // 0x28ea0b0
/* 028EA0B0 */ _t31 = cpu->r[1] + 0x00000024u;
/* 028EA0B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028EA0B4 */ cpu->lr = cpu->r[0];
/* 028EA0B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA0BC */ return;
}
// fn_028E9FEC @ 0x28e9fec
void Gambit_fn_028E9FEC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E9FEC: ; // 0x28e9fec
/* 028E9FEC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028E9FEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9FEC */ cpu->r[1] = _t0;
/* 028E9FF0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028E9FF0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028E9FF4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028E9FF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028E9FF8 */ /* nop */
/* 028E9FFC */ _t3 = cpu->r[1] + 0x00000018u;
/* 028E9FFC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EA000 */ cpu->r[30] = cpu->r[3];
/* 028EA004 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028EA004 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028EA008 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028EA008 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028EA00C */ _t6 = cpu->r[30] + 0x00000000u;
/* 028EA00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EA010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA014 */ cpu->f[31] = cpu->f[1];
/* 028EA018 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA018 */ _t8 = _t7 & 0x00000001u;
/* 028EA018 */ if (_t8) goto L_028EA01C; else goto L_028EA044;
L_028EA01C: ; // 0x28ea01c
/* 028EA01C */ _t9 = cpu->r[1] + 0x00000018u;
/* 028EA01C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028EA020 */ cpu->r[3] = 0x00000000u;
/* 028EA024 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028EA024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028EA028 */ _t11 = cpu->r[1] + 0x00000010u;
/* 028EA028 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
/* 028EA02C */ _t12 = cpu->r[1] + 0x00000008u;
/* 028EA02C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028EA030 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA030 */ _t14 = _t13 & 0x00000001u;
/* 028EA030 */ if (_t14) goto L_028EA034; // else: addr-0 trap, fall-through
L_028EA034: ; // 0x28ea034
/* 028EA034 */ _t15 = cpu->r[1] + 0x00000024u;
/* 028EA034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA038 */ cpu->lr = cpu->r[0];
/* 028EA03C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA040 */ return;
L_028EA044: ; // 0x28ea044
/* 028EA044 */ Gambit_fn_028EADA4(cpu);
/* 028EA048 */ cpu->f[1] = cpu->f[31];
/* 028EA04C */ _t16 = cpu->r[30] + 0x00000000u;
/* 028EA04C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028EA050 */ cpu->r[4] = 0x00000000u;
/* 028EA054 */ Gambit_fn_028EAFFC(cpu);
/* 028EA058 */ cpu->r[31] = cpu->r[3];
/* 028EA058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EA05C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA05C */ _t18 = _t17 & 0x00000001u;
/* 028EA05C */ if (_t18) goto L_028EA090; else goto L_028EA060;
L_028EA060: ; // 0x28ea060
/* 028EA060 */ _t19 = cpu->r[30] + 0x0000000Cu;
/* 028EA060 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
/* 028EA064 */ cpu->r[11] = 0x00000001u;
/* 028EA068 */ _t20 = cpu->r[30] + 0x00000004u;
/* 028EA068 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
/* 028EA06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA070 */ _t21 = cpu->r[30] + 0x00000004u;
/* 028EA070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028EA074 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA074 */ _t23 = _t22 & 0x00000001u;
/* 028EA074 */ if (_t23) goto L_028EA098; else goto L_028EA078;
L_028EA078: ; // 0x28ea078
/* 028EA078 */ cpu->r[10] = 0x10140000u;
/* 028EA07C */ cpu->r[3] = cpu->r[30];
/* 028EA080 */ _t24 = cpu->r[10] + 0xFFFFBD38u;
/* 028EA080 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t24);
/* 028EA084 */ cpu->r[4] = 0x00000001u;
/* 028EA088 */ Gambit_fn_028E9EE0(cpu);
/* 028EA08C */ goto L_028EA098;
L_028EA090: ; // 0x28ea090
/* 028EA090 */ cpu->r[3] = cpu->r[30];
/* 028EA094 */ Gambit_fn_028E9FDC(cpu);
L_028EA098: ; // 0x28ea098
/* 028EA098 */ _t25 = cpu->r[1] + 0x00000018u;
/* 028EA098 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
/* 028EA09C */ cpu->r[3] = cpu->r[31];
/* 028EA0A0 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028EA0A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028EA0A4 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028EA0A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028EA0A8 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028EA0A8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
/* 028EA0AC */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA0AC */ _t30 = _t29 & 0x00000001u;
/* 028EA0AC */ if (_t30) goto L_028EA0B0; // else: addr-0 trap, fall-through
L_028EA0B0: ; // 0x28ea0b0
/* 028EA0B0 */ _t31 = cpu->r[1] + 0x00000024u;
/* 028EA0B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028EA0B4 */ cpu->lr = cpu->r[0];
/* 028EA0B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA0BC */ return;
}
// fn_028EA0C0 @ 0x28ea0c0
void Gambit_fn_028EA0C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028EA0C0: ; // 0x28ea0c0
/* 028EA0C0 */ cpu->r[0] = cpu->lr;
/* 028EA0C4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028EA0C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028EA0C8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EA0C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028EA0C8 */ cpu->r[1] = _t1;
/* 028EA0CC */ _t2 = cpu->r[3] + 0x00000004u;
/* 028EA0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028EA0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028EA0D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA0D4 */ _t4 = _t3 & 0x00000001u;
/* 028EA0D4 */ if (_t4) goto L_028EA0D8; else goto L_028EA128;
L_028EA0D8: ; // 0x28ea0d8
/* 028EA0D8 */ cpu->r[12] = 0x10140000u;
/* 028EA0DC */ _t5 = cpu->r[3] + 0x00000018u;
/* 028EA0DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
/* 028EA0E0 */ _t6 = cpu->r[12] + 0xFFFFBD3Cu;
/* 028EA0E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EA0E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028EA0E8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA0E8 */ _t8 = _t7 & 0x00000001u;
/* 028EA0E8 */ if (_t8) goto L_028EA0EC; else goto L_028EA108;
L_028EA0EC: ; // 0x28ea0ec
/* 028EA0EC */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
/* 028EA0F0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028EA0F4 */ /* nop */
/* 028EA0F8 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028EA0F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
/* 028EA0FC */ _t10 = cpu->r[3] + 0x00000014u;
/* 028EA0FC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
/* 028EA100 */ Gambit_fn_028E9FE8(cpu);
/* 028EA104 */ goto L_028EA128;
L_028EA108: ; // 0x28ea108
/* 028EA108 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028EA10C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EA110 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028EA114 */ /* nop */
/* 028EA118 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028EA118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028EA11C */ cpu->r[4] = cpu->r[12] + 0x80000000u;
/* 028EA120 */ _t12 = cpu->r[3] + 0x00000014u;
/* 028EA120 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
/* 028EA124 */ Gambit_fn_028E9FE8(cpu);
L_028EA128: ; // 0x28ea128
/* 028EA128 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028EA128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028EA12C */ cpu->lr = cpu->r[0];
/* 028EA130 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA134 */ return;
}
// fn_028EA0C8 @ 0x28ea0c8
void Gambit_fn_028EA0C8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028EA0C8: ; // 0x28ea0c8
/* 028EA0C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EA0C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA0C8 */ cpu->r[1] = _t0;
/* 028EA0CC */ _t1 = cpu->r[3] + 0x00000004u;
/* 028EA0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028EA0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028EA0D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA0D4 */ _t3 = _t2 & 0x00000001u;
/* 028EA0D4 */ if (_t3) goto L_028EA0D8; else goto L_028EA128;
L_028EA0D8: ; // 0x28ea0d8
/* 028EA0D8 */ cpu->r[12] = 0x10140000u;
/* 028EA0DC */ _t4 = cpu->r[3] + 0x00000018u;
/* 028EA0DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
/* 028EA0E0 */ _t5 = cpu->r[12] + 0xFFFFBD3Cu;
/* 028EA0E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028EA0E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028EA0E8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA0E8 */ _t7 = _t6 & 0x00000001u;
/* 028EA0E8 */ if (_t7) goto L_028EA0EC; else goto L_028EA108;
L_028EA0EC: ; // 0x28ea0ec
/* 028EA0EC */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
/* 028EA0F0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028EA0F4 */ /* nop */
/* 028EA0F8 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028EA0F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
/* 028EA0FC */ _t9 = cpu->r[3] + 0x00000014u;
/* 028EA0FC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028EA100 */ Gambit_fn_028E9FE8(cpu);
/* 028EA104 */ goto L_028EA128;
L_028EA108: ; // 0x28ea108
/* 028EA108 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028EA10C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EA110 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028EA114 */ /* nop */
/* 028EA118 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028EA118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028EA11C */ cpu->r[4] = cpu->r[12] + 0x80000000u;
/* 028EA120 */ _t11 = cpu->r[3] + 0x00000014u;
/* 028EA120 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
/* 028EA124 */ Gambit_fn_028E9FE8(cpu);
L_028EA128: ; // 0x28ea128
/* 028EA128 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028EA128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EA12C */ cpu->lr = cpu->r[0];
/* 028EA130 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA134 */ return;
}
// fn_028EA138 @ 0x28ea138
void Gambit_fn_028EA138(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028EA138: ; // 0x28ea138
/* 028EA138 */ cpu->r[0] = cpu->lr;
/* 028EA13C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028EA13C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA13C */ cpu->r[1] = _t0;
/* 028EA140 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028EA140 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA144 */ cpu->r[31] = cpu->r[3];
/* 028EA148 */ _t2 = cpu->r[1] + 0x0000002Cu;
/* 028EA148 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA14C */ _t3 = cpu->r[31] + 0x00000004u;
/* 028EA14C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
/* 028EA150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
/* 028EA154 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA154 */ _t5 = _t4 & 0x00000001u;
/* 028EA154 */ if (_t5) goto L_028EA158; else goto L_028EA278;
L_028EA158: ; // 0x28ea158
/* 028EA158 */ _t6 = cpu->r[31] + 0x00000008u;
/* 028EA158 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028EA15C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
/* 028EA160 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA160 */ _t8 = _t7 & 0x00000001u;
/* 028EA160 */ if (_t8) goto L_028EA164; else goto L_028EA278;
L_028EA164: ; // 0x28ea164
/* 028EA164 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028EA164 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028EA168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA16C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA16C */ _t11 = _t10 & 0x00000001u;
/* 028EA16C */ if (_t11) goto L_028EA278; else goto L_028EA170;
L_028EA170: ; // 0x28ea170
/* 028EA170 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028EA170 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
/* 028EA174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EA178 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA178 */ _t14 = _t13 & 0x00000001u;
/* 028EA178 */ if (_t14) goto L_028EA17C; else goto L_028EA278;
L_028EA17C: ; // 0x28ea17c
/* 028EA17C */ cpu->r[12] = 0x00000000u;
/* 028EA180 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028EA180 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028EA184 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028EA184 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
/* 028EA188 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028EA188 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028EA18C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028EA190 */ _t18 = cpu->r[1] + 0x00000018u;
/* 028EA190 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
/* 028EA194 */ Gambit_fn_028EBA48(cpu);
/* 028EA198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA19C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA19C */ _t20 = _t19 & 0x00000001u;
/* 028EA19C */ if (_t20) goto L_028EA278; else goto L_028EA1A0;
L_028EA1A0: ; // 0x28ea1a0
/* 028EA1A0 */ Gambit_fn_028C29DC(cpu);
/* 028EA1A4 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028EA1A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
/* 028EA1A8 */ cpu->r[0] = 0x43300000u;
/* 028EA1AC */ _t22 = cpu->r[1] + 0x00000008u;
/* 028EA1AC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028EA1B0 */ cpu->r[11] = 0x10140000u;
/* 028EA1B4 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028EA1B4 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028EA1B8 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028EA1B8 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t24);
/* 028EA1BC */ _t25 = cpu->r[11] + 0xFFFFBD40u;
/* 028EA1BC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t25);
/* 028EA1C0 */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028EA1C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
/* 028EA1C4 */ cpu->f[13] = cpu->f[10] - cpu->f[0];
/* 028EA1C8 */ _t27 = cpu->r[3] + 0x00000044u;
/* 028EA1C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27);
/* 028EA1CC */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028EA1CC */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
/* 028EA1D0 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028EA1D0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t29);
/* 028EA1D4 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028EA1D8 */ _t30 = cpu->r[31] + 0x00000018u;
/* 028EA1D8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30);
/* 028EA1DC */ cpu->f[12] = cpu->f[11] - cpu->f[0];
/* 028EA1E0 */ cpu->f[11] = fma(cpu->f[13], cpu->f[10], cpu->f[9]);
/* 028EA1E4 */ cpu->f[12] = (double)(float)cpu->f[12];
/* 028EA1E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028EA1EC */ cpu->f[10] = cpu->f[11];
/* 028EA1F0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA1F0 */ _t32 = _t31 & 0x00000001u;
/* 028EA1F0 */ if (_t32) goto L_028EA230; else goto L_028EA1F4;
L_028EA1F4: ; // 0x28ea1f4
/* 028EA1F4 */ _t33 = cpu->r[1] + 0x00000010u;
/* 028EA1F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
/* 028EA1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA1FC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA1FC */ _t35 = _t34 & 0x00000001u;
/* 028EA1FC */ if (_t35) goto L_028EA26C; else goto L_028EA200;
L_028EA200: ; // 0x28ea200
/* 028EA200 */ cpu->r[12] = 0x10140000u;
/* 028EA204 */ _t36 = cpu->r[12] + 0xFFFFBD40u;
/* 028EA204 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t36);
/* 028EA208 */ cpu->r[9] = 0x43300000u;
/* 028EA20C */ _t37 = cpu->r[1] + 0x00000018u;
/* 028EA20C */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
/* 028EA210 */ _t38 = cpu->r[1] + 0x00000008u;
/* 028EA210 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
/* 028EA214 */ cpu->r[0] = cpu->r[8] - cpu->r[12];
/* 028EA218 */ _t39 = cpu->r[1] + 0x0000000Cu;
/* 028EA218 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
/* 028EA21C */ _t40 = cpu->r[1] + 0x00000008u;
/* 028EA21C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t40);
/* 028EA220 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028EA224 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
/* 028EA228 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028EA22C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA22C */ _t42 = _t41 & 0x00000001u;
/* 028EA22C */ if (_t42) goto L_028EA230; else goto L_028EA248;
L_028EA230: ; // 0x28ea230
/* 028EA230 */ _t43 = cpu->r[31] + 0x00000018u;
/* 028EA230 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
/* 028EA234 */ _t44 = cpu->r[1] + 0x0000002Cu;
/* 028EA234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028EA238 */ _t45 = cpu->r[1] + 0x00000024u;
/* 028EA238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
/* 028EA23C */ cpu->lr = cpu->r[0];
/* 028EA240 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EA244 */ return;
L_028EA248: ; // 0x28ea248
/* 028EA248 */ cpu->f[11] = cpu->f[11] - cpu->f[0];
/* 028EA24C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028EA250 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA250 */ _t47 = _t46 & 0x00000001u;
/* 028EA250 */ if (_t47) goto L_028EA254; else goto L_028EA248;
L_028EA254: ; // 0x28ea254
/* 028EA254 */ _t48 = cpu->r[31] + 0x00000018u;
/* 028EA254 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
/* 028EA258 */ _t49 = cpu->r[1] + 0x0000002Cu;
/* 028EA258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028EA25C */ _t50 = cpu->r[1] + 0x00000024u;
/* 028EA25C */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
/* 028EA260 */ cpu->lr = cpu->r[0];
/* 028EA264 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EA268 */ return;
L_028EA26C: ; // 0x28ea26c
/* 028EA26C */ cpu->r[3] = cpu->r[31];
/* 028EA270 */ _t51 = cpu->r[31] + 0x00000018u;
/* 028EA270 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]);
/* 028EA274 */ Gambit_fn_028E9FDC(cpu);
L_028EA278: ; // 0x28ea278
/* 028EA278 */ _t52 = cpu->r[1] + 0x0000002Cu;
/* 028EA278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
/* 028EA27C */ _t53 = cpu->r[1] + 0x00000024u;
/* 028EA27C */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
/* 028EA280 */ cpu->lr = cpu->r[0];
/* 028EA284 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EA288 */ return;
}
// fn_028EA13C @ 0x28ea13c
void Gambit_fn_028EA13C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028EA13C: ; // 0x28ea13c
/* 028EA13C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028EA13C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA13C */ cpu->r[1] = _t0;
/* 028EA140 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028EA140 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA144 */ cpu->r[31] = cpu->r[3];
/* 028EA148 */ _t2 = cpu->r[1] + 0x0000002Cu;
/* 028EA148 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA14C */ _t3 = cpu->r[31] + 0x00000004u;
/* 028EA14C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
/* 028EA150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
/* 028EA154 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA154 */ _t5 = _t4 & 0x00000001u;
/* 028EA154 */ if (_t5) goto L_028EA158; else goto L_028EA278;
L_028EA158: ; // 0x28ea158
/* 028EA158 */ _t6 = cpu->r[31] + 0x00000008u;
/* 028EA158 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028EA15C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
/* 028EA160 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA160 */ _t8 = _t7 & 0x00000001u;
/* 028EA160 */ if (_t8) goto L_028EA164; else goto L_028EA278;
L_028EA164: ; // 0x28ea164
/* 028EA164 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028EA164 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028EA168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA16C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA16C */ _t11 = _t10 & 0x00000001u;
/* 028EA16C */ if (_t11) goto L_028EA278; else goto L_028EA170;
L_028EA170: ; // 0x28ea170
/* 028EA170 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028EA170 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
/* 028EA174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EA178 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA178 */ _t14 = _t13 & 0x00000001u;
/* 028EA178 */ if (_t14) goto L_028EA17C; else goto L_028EA278;
L_028EA17C: ; // 0x28ea17c
/* 028EA17C */ cpu->r[12] = 0x00000000u;
/* 028EA180 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028EA180 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028EA184 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028EA184 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
/* 028EA188 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028EA188 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028EA18C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028EA190 */ _t18 = cpu->r[1] + 0x00000018u;
/* 028EA190 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
/* 028EA194 */ Gambit_fn_028EBA48(cpu);
/* 028EA198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA19C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA19C */ _t20 = _t19 & 0x00000001u;
/* 028EA19C */ if (_t20) goto L_028EA278; else goto L_028EA1A0;
L_028EA1A0: ; // 0x28ea1a0
/* 028EA1A0 */ Gambit_fn_028C29DC(cpu);
/* 028EA1A4 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028EA1A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
/* 028EA1A8 */ cpu->r[0] = 0x43300000u;
/* 028EA1AC */ _t22 = cpu->r[1] + 0x00000008u;
/* 028EA1AC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028EA1B0 */ cpu->r[11] = 0x10140000u;
/* 028EA1B4 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028EA1B4 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028EA1B8 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028EA1B8 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t24);
/* 028EA1BC */ _t25 = cpu->r[11] + 0xFFFFBD40u;
/* 028EA1BC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t25);
/* 028EA1C0 */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028EA1C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
/* 028EA1C4 */ cpu->f[13] = cpu->f[10] - cpu->f[0];
/* 028EA1C8 */ _t27 = cpu->r[3] + 0x00000044u;
/* 028EA1C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27);
/* 028EA1CC */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028EA1CC */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
/* 028EA1D0 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028EA1D0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t29);
/* 028EA1D4 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028EA1D8 */ _t30 = cpu->r[31] + 0x00000018u;
/* 028EA1D8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30);
/* 028EA1DC */ cpu->f[12] = cpu->f[11] - cpu->f[0];
/* 028EA1E0 */ cpu->f[11] = fma(cpu->f[13], cpu->f[10], cpu->f[9]);
/* 028EA1E4 */ cpu->f[12] = (double)(float)cpu->f[12];
/* 028EA1E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028EA1EC */ cpu->f[10] = cpu->f[11];
/* 028EA1F0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA1F0 */ _t32 = _t31 & 0x00000001u;
/* 028EA1F0 */ if (_t32) goto L_028EA230; else goto L_028EA1F4;
L_028EA1F4: ; // 0x28ea1f4
/* 028EA1F4 */ _t33 = cpu->r[1] + 0x00000010u;
/* 028EA1F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
/* 028EA1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA1FC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA1FC */ _t35 = _t34 & 0x00000001u;
/* 028EA1FC */ if (_t35) goto L_028EA26C; else goto L_028EA200;
L_028EA200: ; // 0x28ea200
/* 028EA200 */ cpu->r[12] = 0x10140000u;
/* 028EA204 */ _t36 = cpu->r[12] + 0xFFFFBD40u;
/* 028EA204 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t36);
/* 028EA208 */ cpu->r[9] = 0x43300000u;
/* 028EA20C */ _t37 = cpu->r[1] + 0x00000018u;
/* 028EA20C */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
/* 028EA210 */ _t38 = cpu->r[1] + 0x00000008u;
/* 028EA210 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
/* 028EA214 */ cpu->r[0] = cpu->r[8] - cpu->r[12];
/* 028EA218 */ _t39 = cpu->r[1] + 0x0000000Cu;
/* 028EA218 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
/* 028EA21C */ _t40 = cpu->r[1] + 0x00000008u;
/* 028EA21C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t40);
/* 028EA220 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028EA224 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
/* 028EA228 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028EA22C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA22C */ _t42 = _t41 & 0x00000001u;
/* 028EA22C */ if (_t42) goto L_028EA230; else goto L_028EA248;
L_028EA230: ; // 0x28ea230
/* 028EA230 */ _t43 = cpu->r[31] + 0x00000018u;
/* 028EA230 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
/* 028EA234 */ _t44 = cpu->r[1] + 0x0000002Cu;
/* 028EA234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028EA238 */ _t45 = cpu->r[1] + 0x00000024u;
/* 028EA238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
/* 028EA23C */ cpu->lr = cpu->r[0];
/* 028EA240 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EA244 */ return;
L_028EA248: ; // 0x28ea248
/* 028EA248 */ cpu->f[11] = cpu->f[11] - cpu->f[0];
/* 028EA24C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028EA250 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA250 */ _t47 = _t46 & 0x00000001u;
/* 028EA250 */ if (_t47) goto L_028EA254; else goto L_028EA248;
L_028EA254: ; // 0x28ea254
/* 028EA254 */ _t48 = cpu->r[31] + 0x00000018u;
/* 028EA254 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
/* 028EA258 */ _t49 = cpu->r[1] + 0x0000002Cu;
/* 028EA258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028EA25C */ _t50 = cpu->r[1] + 0x00000024u;
/* 028EA25C */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
/* 028EA260 */ cpu->lr = cpu->r[0];
/* 028EA264 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EA268 */ return;
L_028EA26C: ; // 0x28ea26c
/* 028EA26C */ cpu->r[3] = cpu->r[31];
/* 028EA270 */ _t51 = cpu->r[31] + 0x00000018u;
/* 028EA270 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]);
/* 028EA274 */ Gambit_fn_028E9FDC(cpu);
L_028EA278: ; // 0x28ea278
/* 028EA278 */ _t52 = cpu->r[1] + 0x0000002Cu;
/* 028EA278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
/* 028EA27C */ _t53 = cpu->r[1] + 0x00000024u;
/* 028EA27C */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
/* 028EA280 */ cpu->lr = cpu->r[0];
/* 028EA284 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EA288 */ return;
}
// fn_028EA28C @ 0x28ea28c
void Gambit_fn_028EA28C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028EA28C: ; // 0x28ea28c
/* 028EA28C */ cpu->r[0] = cpu->lr;
/* 028EA290 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA290 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA290 */ cpu->r[1] = _t0;
/* 028EA294 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EA294 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA298 */ cpu->r[31] = cpu->r[3];
/* 028EA29C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EA29C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA2A0 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028EA2A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028EA2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA2A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA2A8 */ _t5 = _t4 & 0x00000001u;
/* 028EA2A8 */ if (_t5) goto L_028EA2E8; else goto L_028EA2AC;
L_028EA2AC: ; // 0x28ea2ac
/* 028EA2AC */ Gambit_fn_028EA8E8(cpu);
/* 028EA2B0 */ _t6 = cpu->r[31] + 0x00000004u;
/* 028EA2B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028EA2B4 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFFFu;
/* 028EA2B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
/* 028EA2BC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA2BC */ _t8 = _t7 & 0x00000001u;
/* 028EA2BC */ if (_t8) goto L_028EA2C0; else goto L_028EA2E0;
L_028EA2C0: ; // 0x28ea2c0
/* 028EA2C0 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028EA2C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
/* 028EA2C4 */ _t10 = cpu->r[6] + 0x00000000u;
/* 028EA2C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028EA2C8 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu;
/* 028EA2CC */ cpu->r[0] = cpu->r[10] - cpu->r[11];
/* 028EA2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA2D0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA2D0 */ _t12 = _t11 & 0x00000001u;
/* 028EA2D0 */ if (_t12) goto L_028EA2D4; else goto L_028EA2E0;
L_028EA2D4: ; // 0x28ea2d4
/* 028EA2D4 */ cpu->r[12] = 0x00000000u;
/* 028EA2D8 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028EA2D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
/* 028EA2DC */ _t14 = cpu->r[31] + 0x00000004u;
/* 028EA2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
L_028EA2E0: ; // 0x28ea2e0
/* 028EA2E0 */ cpu->r[3] = cpu->r[31];
/* 028EA2E4 */ Gambit_fn_028EA138(cpu);
L_028EA2E8: ; // 0x28ea2e8
/* 028EA2E8 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028EA2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA2EC */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028EA2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028EA2F0 */ cpu->lr = cpu->r[0];
/* 028EA2F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA2F8 */ return;
}
// fn_028EA290 @ 0x28ea290
void Gambit_fn_028EA290(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028EA290: ; // 0x28ea290
/* 028EA290 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA290 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA290 */ cpu->r[1] = _t0;
/* 028EA294 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EA294 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA298 */ cpu->r[31] = cpu->r[3];
/* 028EA29C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EA29C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA2A0 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028EA2A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028EA2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA2A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA2A8 */ _t5 = _t4 & 0x00000001u;
/* 028EA2A8 */ if (_t5) goto L_028EA2E8; else goto L_028EA2AC;
L_028EA2AC: ; // 0x28ea2ac
/* 028EA2AC */ Gambit_fn_028EA8E8(cpu);
/* 028EA2B0 */ _t6 = cpu->r[31] + 0x00000004u;
/* 028EA2B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028EA2B4 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFFFu;
/* 028EA2B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
/* 028EA2BC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA2BC */ _t8 = _t7 & 0x00000001u;
/* 028EA2BC */ if (_t8) goto L_028EA2C0; else goto L_028EA2E0;
L_028EA2C0: ; // 0x28ea2c0
/* 028EA2C0 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028EA2C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
/* 028EA2C4 */ _t10 = cpu->r[6] + 0x00000000u;
/* 028EA2C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028EA2C8 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu;
/* 028EA2CC */ cpu->r[0] = cpu->r[10] - cpu->r[11];
/* 028EA2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA2D0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA2D0 */ _t12 = _t11 & 0x00000001u;
/* 028EA2D0 */ if (_t12) goto L_028EA2D4; else goto L_028EA2E0;
L_028EA2D4: ; // 0x28ea2d4
/* 028EA2D4 */ cpu->r[12] = 0x00000000u;
/* 028EA2D8 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028EA2D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
/* 028EA2DC */ _t14 = cpu->r[31] + 0x00000004u;
/* 028EA2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
L_028EA2E0: ; // 0x28ea2e0
/* 028EA2E0 */ cpu->r[3] = cpu->r[31];
/* 028EA2E4 */ Gambit_fn_028EA138(cpu);
L_028EA2E8: ; // 0x28ea2e8
/* 028EA2E8 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028EA2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA2EC */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028EA2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028EA2F0 */ cpu->lr = cpu->r[0];
/* 028EA2F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA2F8 */ return;
}
// fn_028EA2FC @ 0x28ea2fc
void Gambit_fn_028EA2FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028EA2FC: ; // 0x28ea2fc
/* 028EA2FC */ cpu->r[0] = cpu->lr;
/* 028EA300 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA300 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA300 */ cpu->r[1] = _t0;
/* 028EA304 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EA304 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA308 */ cpu->r[31] = cpu->r[3];
/* 028EA30C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EA30C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA310 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028EA310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028EA314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA318 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA318 */ _t5 = _t4 & 0x00000001u;
/* 028EA318 */ if (_t5) goto L_028EA320; else goto L_028EA31C;
L_028EA31C: ; // 0x28ea31c
/* 028EA31C */ Gambit_fn_028EA9FC(cpu);
L_028EA320: ; // 0x28ea320
/* 028EA320 */ cpu->r[12] = 0x10140000u;
/* 028EA324 */ cpu->r[11] = 0x00000000u;
/* 028EA328 */ _t6 = cpu->r[12] + 0xFFFFBD38u;
/* 028EA328 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EA32C */ cpu->r[12] = 0x00000001u;
/* 028EA330 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028EA330 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028EA334 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028EA334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028EA338 */ _t9 = cpu->r[31] + 0x00000008u;
/* 028EA338 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028EA33C */ _t10 = cpu->r[31] + 0x00000008u;
/* 028EA33C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028EA340 */ _t11 = cpu->r[31] + 0x00000014u;
/* 028EA340 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028EA344 */ _t12 = cpu->r[31] + 0x00000010u;
/* 028EA344 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028EA348 */ _t13 = cpu->r[31] + 0x00000018u;
/* 028EA348 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028EA34C */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028EA34C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
/* 028EA350 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028EA350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA354 */ cpu->lr = cpu->r[0];
/* 028EA358 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028EA358 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028EA35C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA360 */ return;
}
// fn_028EA300 @ 0x28ea300
void Gambit_fn_028EA300(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028EA300: ; // 0x28ea300
/* 028EA300 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA300 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA300 */ cpu->r[1] = _t0;
/* 028EA304 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EA304 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA308 */ cpu->r[31] = cpu->r[3];
/* 028EA30C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EA30C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA310 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028EA310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028EA314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA318 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA318 */ _t5 = _t4 & 0x00000001u;
/* 028EA318 */ if (_t5) goto L_028EA320; else goto L_028EA31C;
L_028EA31C: ; // 0x28ea31c
/* 028EA31C */ Gambit_fn_028EA9FC(cpu);
L_028EA320: ; // 0x28ea320
/* 028EA320 */ cpu->r[12] = 0x10140000u;
/* 028EA324 */ cpu->r[11] = 0x00000000u;
/* 028EA328 */ _t6 = cpu->r[12] + 0xFFFFBD38u;
/* 028EA328 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EA32C */ cpu->r[12] = 0x00000001u;
/* 028EA330 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028EA330 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028EA334 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028EA334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028EA338 */ _t9 = cpu->r[31] + 0x00000008u;
/* 028EA338 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028EA33C */ _t10 = cpu->r[31] + 0x00000008u;
/* 028EA33C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028EA340 */ _t11 = cpu->r[31] + 0x00000014u;
/* 028EA340 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028EA344 */ _t12 = cpu->r[31] + 0x00000010u;
/* 028EA344 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028EA348 */ _t13 = cpu->r[31] + 0x00000018u;
/* 028EA348 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028EA34C */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028EA34C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
/* 028EA350 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028EA350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA354 */ cpu->lr = cpu->r[0];
/* 028EA358 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028EA358 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028EA35C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA360 */ return;
}
// fn_028EA364 @ 0x28ea364
void Gambit_fn_028EA364(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028EA364: ; // 0x28ea364
/* 028EA364 */ cpu->r[12] = 0x10140000u;
/* 028EA368 */ _t0 = cpu->r[12] + 0xFFFFBD38u;
/* 028EA368 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028EA36C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028EA370 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EA370 */ _t2 = _t1 & 0x00000001u;
/* 028EA370 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EA370 */ goto L_028EA374;
L_028EA374: ; // 0x28ea374
/* 028EA374 */ _t3 = cpu->r[3] + 0x00000010u;
/* 028EA374 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028EA378 */ return;
}
// fn_028EA37C @ 0x28ea37c
void Gambit_fn_028EA37C(CPUState* cpu) {
uint32_t _t0, _t1;
L_028EA37C: ; // 0x28ea37c
/* 028EA37C */ _t0 = cpu->r[4] + 0x00000000u;
/* 028EA37C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028EA380 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028EA380 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028EA384 */ return;
}
// fn_028EA388 @ 0x28ea388
void Gambit_fn_028EA388(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028EA388: ; // 0x28ea388
/* 028EA388 */ cpu->r[12] = 0x10140000u;
/* 028EA38C */ _t0 = cpu->r[12] + 0xFFFFBD38u;
/* 028EA38C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028EA390 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028EA394 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EA394 */ _t2 = _t1 & 0x00000001u;
/* 028EA394 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EA394 */ goto L_028EA398;
L_028EA398: ; // 0x28ea398
/* 028EA398 */ _t3 = cpu->r[3] + 0x00000014u;
/* 028EA398 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028EA39C */ return;
}
// fn_028EA3A0 @ 0x28ea3a0
void Gambit_fn_028EA3A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028EA3A0: ; // 0x28ea3a0
/* 028EA3A0 */ cpu->r[0] = cpu->lr;
/* 028EA3A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EA3A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA3A4 */ cpu->r[1] = _t0;
/* 028EA3A8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028EA3A8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EA3AC */ _t2 = cpu->r[1] + 0x00000008u;
/* 028EA3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028EA3B0 */ /* nop */
/* 028EA3B4 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028EA3B4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EA3B8 */ cpu->r[30] = cpu->r[3];
/* 028EA3BC */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028EA3BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028EA3C0 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028EA3C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028EA3C4 */ _t6 = cpu->r[30] + 0x00000000u;
/* 028EA3C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EA3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA3CC */ cpu->r[31] = cpu->r[4];
/* 028EA3D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA3D0 */ _t8 = _t7 & 0x00000001u;
/* 028EA3D0 */ if (_t8) goto L_028EA3D4; else goto L_028EA3FC;
L_028EA3D4: ; // 0x28ea3d4
/* 028EA3D4 */ _t9 = cpu->r[1] + 0x00000018u;
/* 028EA3D4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028EA3D8 */ cpu->r[3] = 0x00000000u;
/* 028EA3DC */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028EA3DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028EA3E0 */ _t11 = cpu->r[1] + 0x00000010u;
/* 028EA3E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
/* 028EA3E4 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028EA3E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028EA3E8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA3E8 */ _t14 = _t13 & 0x00000001u;
/* 028EA3E8 */ if (_t14) goto L_028EA3EC; // else: addr-0 trap, fall-through
L_028EA3EC: ; // 0x28ea3ec
/* 028EA3EC */ _t15 = cpu->r[1] + 0x00000024u;
/* 028EA3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA3F0 */ cpu->lr = cpu->r[0];
/* 028EA3F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA3F8 */ return;
L_028EA3FC: ; // 0x28ea3fc
/* 028EA3FC */ cpu->r[11] = 0x10140000u;
/* 028EA400 */ _t16 = cpu->r[11] + 0xFFFFBD38u;
/* 028EA400 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
/* 028EA404 */ cpu->f[1] = cpu->f[31];
/* 028EA408 */ Gambit_fn_028EA998(cpu);
/* 028EA40C */ cpu->f[1] = cpu->f[31];
/* 028EA410 */ _t17 = cpu->r[30] + 0x00000000u;
/* 028EA410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
/* 028EA414 */ cpu->r[4] = cpu->r[31];
/* 028EA418 */ Gambit_fn_028EAFFC(cpu);
/* 028EA41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA420 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA420 */ _t19 = _t18 & 0x00000001u;
/* 028EA420 */ if (_t19) goto L_028EA430; else goto L_028EA424;
L_028EA424: ; // 0x28ea424
/* 028EA424 */ cpu->r[12] = 0x00000001u;
/* 028EA428 */ _t20 = cpu->r[30] + 0x00000004u;
/* 028EA428 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
/* 028EA42C */ _t21 = cpu->r[30] + 0x00000004u;
/* 028EA42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
L_028EA430: ; // 0x28ea430
/* 028EA430 */ _t22 = cpu->r[1] + 0x00000018u;
/* 028EA430 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t22);
/* 028EA434 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028EA434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028EA438 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028EA438 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t24);
/* 028EA43C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028EA43C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028EA440 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA440 */ _t27 = _t26 & 0x00000001u;
/* 028EA440 */ if (_t27) goto L_028EA444; // else: addr-0 trap, fall-through
L_028EA444: ; // 0x28ea444
/* 028EA444 */ _t28 = cpu->r[1] + 0x00000024u;
/* 028EA444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028EA448 */ cpu->lr = cpu->r[0];
/* 028EA44C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA450 */ return;
}
// fn_028EA3A4 @ 0x28ea3a4
void Gambit_fn_028EA3A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028EA3A4: ; // 0x28ea3a4
/* 028EA3A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EA3A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA3A4 */ cpu->r[1] = _t0;
/* 028EA3A8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028EA3A8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EA3AC */ _t2 = cpu->r[1] + 0x00000008u;
/* 028EA3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028EA3B0 */ /* nop */
/* 028EA3B4 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028EA3B4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EA3B8 */ cpu->r[30] = cpu->r[3];
/* 028EA3BC */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028EA3BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028EA3C0 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028EA3C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028EA3C4 */ _t6 = cpu->r[30] + 0x00000000u;
/* 028EA3C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EA3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA3CC */ cpu->r[31] = cpu->r[4];
/* 028EA3D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA3D0 */ _t8 = _t7 & 0x00000001u;
/* 028EA3D0 */ if (_t8) goto L_028EA3D4; else goto L_028EA3FC;
L_028EA3D4: ; // 0x28ea3d4
/* 028EA3D4 */ _t9 = cpu->r[1] + 0x00000018u;
/* 028EA3D4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028EA3D8 */ cpu->r[3] = 0x00000000u;
/* 028EA3DC */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028EA3DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028EA3E0 */ _t11 = cpu->r[1] + 0x00000010u;
/* 028EA3E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
/* 028EA3E4 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028EA3E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028EA3E8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA3E8 */ _t14 = _t13 & 0x00000001u;
/* 028EA3E8 */ if (_t14) goto L_028EA3EC; // else: addr-0 trap, fall-through
L_028EA3EC: ; // 0x28ea3ec
/* 028EA3EC */ _t15 = cpu->r[1] + 0x00000024u;
/* 028EA3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA3F0 */ cpu->lr = cpu->r[0];
/* 028EA3F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA3F8 */ return;
L_028EA3FC: ; // 0x28ea3fc
/* 028EA3FC */ cpu->r[11] = 0x10140000u;
/* 028EA400 */ _t16 = cpu->r[11] + 0xFFFFBD38u;
/* 028EA400 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
/* 028EA404 */ cpu->f[1] = cpu->f[31];
/* 028EA408 */ Gambit_fn_028EA998(cpu);
/* 028EA40C */ cpu->f[1] = cpu->f[31];
/* 028EA410 */ _t17 = cpu->r[30] + 0x00000000u;
/* 028EA410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
/* 028EA414 */ cpu->r[4] = cpu->r[31];
/* 028EA418 */ Gambit_fn_028EAFFC(cpu);
/* 028EA41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA420 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA420 */ _t19 = _t18 & 0x00000001u;
/* 028EA420 */ if (_t19) goto L_028EA430; else goto L_028EA424;
L_028EA424: ; // 0x28ea424
/* 028EA424 */ cpu->r[12] = 0x00000001u;
/* 028EA428 */ _t20 = cpu->r[30] + 0x00000004u;
/* 028EA428 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
/* 028EA42C */ _t21 = cpu->r[30] + 0x00000004u;
/* 028EA42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
L_028EA430: ; // 0x28ea430
/* 028EA430 */ _t22 = cpu->r[1] + 0x00000018u;
/* 028EA430 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t22);
/* 028EA434 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028EA434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028EA438 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028EA438 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t24);
/* 028EA43C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028EA43C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028EA440 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA440 */ _t27 = _t26 & 0x00000001u;
/* 028EA440 */ if (_t27) goto L_028EA444; // else: addr-0 trap, fall-through
L_028EA444: ; // 0x28ea444
/* 028EA444 */ _t28 = cpu->r[1] + 0x00000024u;
/* 028EA444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028EA448 */ cpu->lr = cpu->r[0];
/* 028EA44C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA450 */ return;
}
// fn_028EA454 @ 0x28ea454
void Gambit_fn_028EA454(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028E9F2C: ; // 0x28e9f2c
/* 028E9F2C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028E9F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E9F2C */ cpu->r[1] = _t0;
/* 028E9F30 */ cpu->r[0] = cpu->lr;
/* 028E9F34 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028E9F34 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028E9F38 */ /* nop */
/* 028E9F3C */ _t2 = cpu->r[1] + 0x00000028u;
/* 028E9F3C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028E9F40 */ cpu->r[10] = 0x10140000u;
/* 028E9F44 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028E9F44 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028E9F48 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028E9F48 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028E9F4C */ /* nop */
/* 028E9F50 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028E9F50 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028E9F54 */ _t6 = cpu->r[1] + 0x00000030u;
/* 028E9F54 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
/* 028E9F58 */ cpu->r[31] = cpu->r[3];
/* 028E9F5C */ _t7 = cpu->r[1] + 0x0000003Cu;
/* 028E9F5C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028E9F60 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028E9F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028E9F64 */ cpu->r[30] = 0x00000000u;
/* 028E9F68 */ _t9 = cpu->r[10] + 0xFFFFBD38u;
/* 028E9F68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028E9F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028E9F70 */ cpu->f[30] = cpu->f[1];
/* 028E9F74 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9F74 */ _t11 = _t10 & 0x00000001u;
/* 028E9F74 */ if (_t11) goto L_028E9FA8; else goto L_028E9F78;
L_028E9F78: ; // 0x28e9f78
/* 028E9F78 */ cpu->f[1] = cpu->f[30];
/* 028E9F7C */ Gambit_fn_028EA998(cpu);
/* 028E9F80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
/* 028E9F84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E9F84 */ _t13 = _t12 & 0x00000001u;
/* 028E9F84 */ if (_t13) goto L_028E9F88; else goto L_028E9F98;
L_028E9F88: ; // 0x28e9f88
/* 028E9F88 */ _t14 = cpu->r[31] + 0x00000004u;
/* 028E9F88 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028E9F8C */ _t15 = cpu->r[31] + 0x00000004u;
/* 028E9F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028E9F90 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028E9F90 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E9F94 */ goto L_028E9FA8;
L_028E9F98: ; // 0x28e9f98
/* 028E9F98 */ cpu->r[12] = 0x00000002u;
/* 028E9F9C */ _t17 = cpu->r[31] + 0x00000004u;
/* 028E9F9C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028E9FA0 */ _t18 = cpu->r[31] + 0x00000004u;
/* 028E9FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028E9FA4 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028E9FA4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
L_028E9FA8: ; // 0x28e9fa8
/* 028E9FA8 */ _t20 = cpu->r[31] + 0x0000000Cu;
/* 028E9FA8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
/* 028E9FAC */ _t21 = cpu->r[31] + 0x00000018u;
/* 028E9FAC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
/* 028E9FB0 */ _t22 = cpu->r[1] + 0x00000030u;
/* 028E9FB0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t22);
/* 028E9FB4 */ _t23 = cpu->r[1] + 0x00000020u;
/* 028E9FB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t23);
/* 028E9FB8 */ _t24 = cpu->r[1] + 0x00000028u;
/* 028E9FB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t24);
/* 028E9FBC */ _t25 = cpu->r[1] + 0x00000018u;
/* 028E9FBC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t25);
/* 028E9FC0 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028E9FC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028E9FC4 */ _t27 = cpu->r[1] + 0x00000010u;
/* 028E9FC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028E9FC8 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028E9FC8 */ _t29 = _t28 & 0x00000001u;
/* 028E9FC8 */ if (_t29) goto L_028E9FCC; // else: addr-0 trap, fall-through
L_028E9FCC: ; // 0x28e9fcc
/* 028E9FCC */ _t30 = cpu->r[1] + 0x0000003Cu;
/* 028E9FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028E9FD0 */ cpu->lr = cpu->r[0];
/* 028E9FD4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028E9FD8 */ return;
L_028EA454: ; // 0x28ea454
/* 028EA454 */ _t31 = cpu->r[3] + 0x00000010u;
/* 028EA454 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t31);
/* 028EA458 */ goto L_028E9F2C;
}
// fn_028EA45C @ 0x28ea45c
void Gambit_fn_028EA45C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028EA45C: ; // 0x28ea45c
/* 028EA45C */ cpu->r[0] = cpu->lr;
/* 028EA460 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EA460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA460 */ cpu->r[1] = _t0;
/* 028EA464 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028EA464 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EA468 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028EA468 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA46C */ cpu->r[31] = cpu->r[3];
/* 028EA470 */ _t3 = cpu->r[1] + 0x00000024u;
/* 028EA470 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EA474 */ _t4 = cpu->r[31] + 0x00000004u;
/* 028EA474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028EA478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028EA47C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA47C */ _t6 = _t5 & 0x00000001u;
/* 028EA47C */ if (_t6) goto L_028EA480; else goto L_028EA498;
L_028EA480: ; // 0x28ea480
/* 028EA480 */ cpu->r[0] = 0x00000003u;
/* 028EA484 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028EA484 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028EA488 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028EA488 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028EA48C */ cpu->r[3] = 0x00000001u;
/* 028EA490 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028EA490 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
/* 028EA494 */ goto L_028EA564;
L_028EA498: ; // 0x28ea498
/* 028EA498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028EA49C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA49C */ _t11 = _t10 & 0x00000001u;
/* 028EA49C */ if (_t11) goto L_028EA4A0; else goto L_028EA4AC;
L_028EA4A0: ; // 0x28ea4a0
/* 028EA4A0 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028EA4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EA4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA4A8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA4A8 */ _t14 = _t13 & 0x00000001u;
/* 028EA4A8 */ if (_t14) goto L_028EA4AC; else goto L_028EA4C8;
L_028EA4AC: ; // 0x28ea4ac
/* 028EA4AC */ _t15 = cpu->r[1] + 0x00000024u;
/* 028EA4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA4B0 */ _t16 = cpu->r[1] + 0x00000018u;
/* 028EA4B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028EA4B4 */ cpu->lr = cpu->r[0];
/* 028EA4B8 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028EA4B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028EA4BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA4C0 */ cpu->r[3] = 0x00000000u;
/* 028EA4C4 */ return;
L_028EA4C8: ; // 0x28ea4c8
/* 028EA4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028EA4CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA4CC */ _t19 = _t18 & 0x00000001u;
/* 028EA4CC */ if (_t19) goto L_028EA4D0; else goto L_028EA4F4;
L_028EA4D0: ; // 0x28ea4d0
/* 028EA4D0 */ cpu->r[3] = cpu->r[31];
/* 028EA4D4 */ Gambit_fn_028EA454(cpu);
/* 028EA4D8 */ _t20 = cpu->r[1] + 0x00000024u;
/* 028EA4D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EA4DC */ _t21 = cpu->r[1] + 0x00000018u;
/* 028EA4DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028EA4E0 */ cpu->lr = cpu->r[0];
/* 028EA4E4 */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028EA4E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028EA4E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA4EC */ cpu->r[3] = 0x00000001u;
/* 028EA4F0 */ return;
L_028EA4F4: ; // 0x28ea4f4
/* 028EA4F4 */ _t23 = cpu->r[31] + 0x00000000u;
/* 028EA4F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028EA4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA4FC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA4FC */ _t25 = _t24 & 0x00000001u;
/* 028EA4FC */ if (_t25) goto L_028EA550; else goto L_028EA500;
L_028EA500: ; // 0x28ea500
/* 028EA500 */ Gambit_fn_028EB954(cpu);
/* 028EA504 */ cpu->r[30] = cpu->r[3];
/* 028EA504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028EA508 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA508 */ _t27 = _t26 & 0x00000001u;
/* 028EA508 */ if (_t27) goto L_028EA50C; else goto L_028EA51C;
L_028EA50C: ; // 0x28ea50c
/* 028EA50C */ cpu->r[12] = 0x10140000u;
/* 028EA510 */ _t28 = cpu->r[12] + 0xFFFFBD38u;
/* 028EA510 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
/* 028EA514 */ _t29 = cpu->r[31] + 0x00000018u;
/* 028EA514 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
/* 028EA518 */ goto L_028EA550;
L_028EA51C: ; // 0x28ea51c
/* 028EA51C */ _t30 = cpu->r[31] + 0x00000000u;
/* 028EA51C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028EA520 */ _t31 = cpu->r[31] + 0x00000010u;
/* 028EA520 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t31);
/* 028EA524 */ Gambit_fn_028EA998(cpu);
/* 028EA528 */ cpu->r[11] = 0x10140000u;
/* 028EA52C */ cpu->r[10] = cpu->r[30] ^ 0x80000000u;
/* 028EA530 */ _t32 = cpu->r[11] + 0xFFFFBD48u;
/* 028EA530 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t32);
/* 028EA534 */ cpu->r[9] = 0x43300000u;
/* 028EA538 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028EA538 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
/* 028EA53C */ _t34 = cpu->r[1] + 0x00000008u;
/* 028EA53C */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
/* 028EA540 */ _t35 = cpu->r[1] + 0x00000008u;
/* 028EA540 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t35);
/* 028EA544 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028EA548 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028EA54C */ _t36 = cpu->r[31] + 0x00000018u;
/* 028EA54C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
L_028EA550: ; // 0x28ea550
/* 028EA550 */ cpu->r[0] = 0x00000003u;
/* 028EA554 */ _t37 = cpu->r[31] + 0x00000004u;
/* 028EA554 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
/* 028EA558 */ _t38 = cpu->r[31] + 0x00000004u;
/* 028EA558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
/* 028EA55C */ cpu->r[3] = 0x00000001u;
/* 028EA560 */ _t39 = cpu->r[1] + 0x00000010u;
/* 028EA560 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
L_028EA564: ; // 0x28ea564
/* 028EA564 */ _t40 = cpu->r[1] + 0x00000024u;
/* 028EA564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028EA568 */ _t41 = cpu->r[1] + 0x00000018u;
/* 028EA568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
/* 028EA56C */ cpu->lr = cpu->r[0];
/* 028EA570 */ _t42 = cpu->r[1] + 0x0000001Cu;
/* 028EA570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
/* 028EA574 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA578 */ return;
}
// fn_028EA460 @ 0x28ea460
void Gambit_fn_028EA460(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028EA460: ; // 0x28ea460
/* 028EA460 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EA460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA460 */ cpu->r[1] = _t0;
/* 028EA464 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028EA464 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EA468 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028EA468 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA46C */ cpu->r[31] = cpu->r[3];
/* 028EA470 */ _t3 = cpu->r[1] + 0x00000024u;
/* 028EA470 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EA474 */ _t4 = cpu->r[31] + 0x00000004u;
/* 028EA474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028EA478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028EA47C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA47C */ _t6 = _t5 & 0x00000001u;
/* 028EA47C */ if (_t6) goto L_028EA480; else goto L_028EA498;
L_028EA480: ; // 0x28ea480
/* 028EA480 */ cpu->r[0] = 0x00000003u;
/* 028EA484 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028EA484 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028EA488 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028EA488 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028EA48C */ cpu->r[3] = 0x00000001u;
/* 028EA490 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028EA490 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
/* 028EA494 */ goto L_028EA564;
L_028EA498: ; // 0x28ea498
/* 028EA498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028EA49C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA49C */ _t11 = _t10 & 0x00000001u;
/* 028EA49C */ if (_t11) goto L_028EA4A0; else goto L_028EA4AC;
L_028EA4A0: ; // 0x28ea4a0
/* 028EA4A0 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028EA4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EA4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA4A8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA4A8 */ _t14 = _t13 & 0x00000001u;
/* 028EA4A8 */ if (_t14) goto L_028EA4AC; else goto L_028EA4C8;
L_028EA4AC: ; // 0x28ea4ac
/* 028EA4AC */ _t15 = cpu->r[1] + 0x00000024u;
/* 028EA4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EA4B0 */ _t16 = cpu->r[1] + 0x00000018u;
/* 028EA4B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028EA4B4 */ cpu->lr = cpu->r[0];
/* 028EA4B8 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028EA4B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028EA4BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA4C0 */ cpu->r[3] = 0x00000000u;
/* 028EA4C4 */ return;
L_028EA4C8: ; // 0x28ea4c8
/* 028EA4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028EA4CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA4CC */ _t19 = _t18 & 0x00000001u;
/* 028EA4CC */ if (_t19) goto L_028EA4D0; else goto L_028EA4F4;
L_028EA4D0: ; // 0x28ea4d0
/* 028EA4D0 */ cpu->r[3] = cpu->r[31];
/* 028EA4D4 */ Gambit_fn_028EA454(cpu);
/* 028EA4D8 */ _t20 = cpu->r[1] + 0x00000024u;
/* 028EA4D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EA4DC */ _t21 = cpu->r[1] + 0x00000018u;
/* 028EA4DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028EA4E0 */ cpu->lr = cpu->r[0];
/* 028EA4E4 */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028EA4E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028EA4E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA4EC */ cpu->r[3] = 0x00000001u;
/* 028EA4F0 */ return;
L_028EA4F4: ; // 0x28ea4f4
/* 028EA4F4 */ _t23 = cpu->r[31] + 0x00000000u;
/* 028EA4F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028EA4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA4FC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA4FC */ _t25 = _t24 & 0x00000001u;
/* 028EA4FC */ if (_t25) goto L_028EA550; else goto L_028EA500;
L_028EA500: ; // 0x28ea500
/* 028EA500 */ Gambit_fn_028EB954(cpu);
/* 028EA504 */ cpu->r[30] = cpu->r[3];
/* 028EA504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028EA508 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA508 */ _t27 = _t26 & 0x00000001u;
/* 028EA508 */ if (_t27) goto L_028EA50C; else goto L_028EA51C;
L_028EA50C: ; // 0x28ea50c
/* 028EA50C */ cpu->r[12] = 0x10140000u;
/* 028EA510 */ _t28 = cpu->r[12] + 0xFFFFBD38u;
/* 028EA510 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
/* 028EA514 */ _t29 = cpu->r[31] + 0x00000018u;
/* 028EA514 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
/* 028EA518 */ goto L_028EA550;
L_028EA51C: ; // 0x28ea51c
/* 028EA51C */ _t30 = cpu->r[31] + 0x00000000u;
/* 028EA51C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028EA520 */ _t31 = cpu->r[31] + 0x00000010u;
/* 028EA520 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t31);
/* 028EA524 */ Gambit_fn_028EA998(cpu);
/* 028EA528 */ cpu->r[11] = 0x10140000u;
/* 028EA52C */ cpu->r[10] = cpu->r[30] ^ 0x80000000u;
/* 028EA530 */ _t32 = cpu->r[11] + 0xFFFFBD48u;
/* 028EA530 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t32);
/* 028EA534 */ cpu->r[9] = 0x43300000u;
/* 028EA538 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028EA538 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
/* 028EA53C */ _t34 = cpu->r[1] + 0x00000008u;
/* 028EA53C */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
/* 028EA540 */ _t35 = cpu->r[1] + 0x00000008u;
/* 028EA540 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t35);
/* 028EA544 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028EA548 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028EA54C */ _t36 = cpu->r[31] + 0x00000018u;
/* 028EA54C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
L_028EA550: ; // 0x28ea550
/* 028EA550 */ cpu->r[0] = 0x00000003u;
/* 028EA554 */ _t37 = cpu->r[31] + 0x00000004u;
/* 028EA554 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
/* 028EA558 */ _t38 = cpu->r[31] + 0x00000004u;
/* 028EA558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
/* 028EA55C */ cpu->r[3] = 0x00000001u;
/* 028EA560 */ _t39 = cpu->r[1] + 0x00000010u;
/* 028EA560 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
L_028EA564: ; // 0x28ea564
/* 028EA564 */ _t40 = cpu->r[1] + 0x00000024u;
/* 028EA564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028EA568 */ _t41 = cpu->r[1] + 0x00000018u;
/* 028EA568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
/* 028EA56C */ cpu->lr = cpu->r[0];
/* 028EA570 */ _t42 = cpu->r[1] + 0x0000001Cu;
/* 028EA570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
/* 028EA574 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA578 */ return;
}
// fn_028EA58C @ 0x28ea58c
void Gambit_fn_028EA58C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028EA57C: ; // 0x28ea57c
/* 028EA57C */ cpu->r[0] = 0x00000004u;
/* 028EA580 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028EA580 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028EA584 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028EA584 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028EA588 */ return;
L_028EA58C: ; // 0x28ea58c
/* 028EA58C */ _t2 = cpu->r[3] + 0x00000004u;
/* 028EA58C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028EA590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
/* 028EA594 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA594 */ _t4 = _t3 & 0x00000001u;
/* 028EA594 */ _t5 = _t4 ^ 0x00000001u;
/* 028EA594 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EA594 */ goto L_028EA598;
L_028EA598: ; // 0x28ea598
/* 028EA598 */ _t6 = cpu->r[3] + 0x00000008u;
/* 028EA598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028EA59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028EA5A0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA5A0 */ _t8 = _t7 & 0x00000001u;
/* 028EA5A0 */ if (_t8) goto L_028EA5A4; else goto L_028EA5B0;
L_028EA5A4: ; // 0x28ea5a4
/* 028EA5A4 */ cpu->r[12] = 0x10140000u;
/* 028EA5A8 */ _t9 = cpu->r[12] + 0xFFFFBD38u;
/* 028EA5A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028EA5AC */ _t10 = cpu->r[3] + 0x00000018u;
/* 028EA5AC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
L_028EA5B0: ; // 0x28ea5b0
/* 028EA5B0 */ goto L_028EA57C;
}
// fn_028EA5B4 @ 0x28ea5b4
void Gambit_fn_028EA5B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028EA5B4: ; // 0x28ea5b4
/* 028EA5B4 */ cpu->r[0] = cpu->lr;
/* 028EA5B8 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028EA5B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028EA5BC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EA5BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028EA5BC */ cpu->r[1] = _t1;
/* 028EA5C0 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028EA5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028EA5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EA5C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA5C8 */ _t4 = _t3 & 0x00000001u;
/* 028EA5C8 */ if (_t4) goto L_028EA618; else goto L_028EA5CC;
L_028EA5CC: ; // 0x28ea5cc
/* 028EA5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
/* 028EA5D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA5D0 */ _t6 = _t5 & 0x00000001u;
/* 028EA5D0 */ if (_t6) goto L_028EA5D4; else goto L_028EA5F8;
L_028EA5D4: ; // 0x28ea5d4
/* 028EA5D4 */ _t7 = cpu->r[3] + 0x00000018u;
/* 028EA5D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028EA5D8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EA5DC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028EA5E0 */ /* nop */
/* 028EA5E4 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028EA5E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028EA5E8 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028EA5E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028EA5EC */ cpu->lr = cpu->r[0];
/* 028EA5F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA5F4 */ return;
L_028EA5F8: ; // 0x28ea5f8
/* 028EA5F8 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028EA5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028EA5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA600 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA600 */ _t12 = _t11 & 0x00000001u;
/* 028EA600 */ if (_t12) goto L_028EA618; else goto L_028EA604;
L_028EA604: ; // 0x28ea604
/* 028EA604 */ Gambit_fn_028EB954(cpu);
/* 028EA608 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028EA608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028EA60C */ cpu->lr = cpu->r[0];
/* 028EA610 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA614 */ return;
L_028EA618: ; // 0x28ea618
/* 028EA618 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028EA618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028EA61C */ cpu->lr = cpu->r[0];
/* 028EA620 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA624 */ cpu->r[3] = 0xFFFFFFFFu;
/* 028EA628 */ return;
}
// fn_028EA5BC @ 0x28ea5bc
void Gambit_fn_028EA5BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028EA5BC: ; // 0x28ea5bc
/* 028EA5BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EA5BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA5BC */ cpu->r[1] = _t0;
/* 028EA5C0 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028EA5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028EA5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EA5C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA5C8 */ _t3 = _t2 & 0x00000001u;
/* 028EA5C8 */ if (_t3) goto L_028EA618; else goto L_028EA5CC;
L_028EA5CC: ; // 0x28ea5cc
/* 028EA5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
/* 028EA5D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA5D0 */ _t5 = _t4 & 0x00000001u;
/* 028EA5D0 */ if (_t5) goto L_028EA5D4; else goto L_028EA5F8;
L_028EA5D4: ; // 0x28ea5d4
/* 028EA5D4 */ _t6 = cpu->r[3] + 0x00000018u;
/* 028EA5D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EA5D8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EA5DC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028EA5E0 */ /* nop */
/* 028EA5E4 */ _t7 = cpu->r[1] + 0x0000001Cu;
/* 028EA5E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028EA5E8 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028EA5E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028EA5EC */ cpu->lr = cpu->r[0];
/* 028EA5F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA5F4 */ return;
L_028EA5F8: ; // 0x28ea5f8
/* 028EA5F8 */ _t9 = cpu->r[3] + 0x00000000u;
/* 028EA5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028EA5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA600 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA600 */ _t11 = _t10 & 0x00000001u;
/* 028EA600 */ if (_t11) goto L_028EA618; else goto L_028EA604;
L_028EA604: ; // 0x28ea604
/* 028EA604 */ Gambit_fn_028EB954(cpu);
/* 028EA608 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028EA608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EA60C */ cpu->lr = cpu->r[0];
/* 028EA610 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA614 */ return;
L_028EA618: ; // 0x28ea618
/* 028EA618 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028EA618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028EA61C */ cpu->lr = cpu->r[0];
/* 028EA620 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA624 */ cpu->r[3] = 0xFFFFFFFFu;
/* 028EA628 */ return;
}
// fn_028EA62C @ 0x28ea62c
void Gambit_fn_028EA62C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028EA62C: ; // 0x28ea62c
/* 028EA62C */ cpu->r[0] = cpu->lr;
/* 028EA630 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028EA630 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028EA634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA638 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028EA638 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028EA638 */ cpu->r[1] = _t1;
/* 028EA63C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA63C */ _t3 = _t2 & 0x00000001u;
/* 028EA63C */ if (_t3) goto L_028EA640; else goto L_028EA650;
L_028EA640: ; // 0x28ea640
/* 028EA640 */ cpu->r[3] = 0x0000002Cu;
/* 028EA644 */ Gambit_fn_02801A78(cpu);
/* 028EA648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA64C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA64C */ _t5 = _t4 & 0x00000001u;
/* 028EA64C */ if (_t5) goto L_028EA694; else goto L_028EA650;
L_028EA650: ; // 0x28ea650
/* 028EA650 */ cpu->r[11] = 0x00000000u;
/* 028EA654 */ cpu->r[12] = 0x10140000u;
/* 028EA658 */ _t6 = cpu->r[3] + 0x00000008u;
/* 028EA658 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
/* 028EA65C */ cpu->r[0] = 0x10140000u;
/* 028EA660 */ _t7 = cpu->r[12] + 0xFFFFBD80u;
/* 028EA660 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028EA664 */ cpu->r[0] = cpu->r[0] + 0xFFFFBD94u;
/* 028EA668 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028EA668 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028EA66C */ _t9 = cpu->r[3] + 0x00000024u;
/* 028EA66C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
/* 028EA670 */ _t10 = cpu->r[3] + 0x00000014u;
/* 028EA670 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028EA674 */ cpu->r[12] = 0x0000007Fu;
/* 028EA678 */ _t11 = cpu->r[3] + 0x00000020u;
/* 028EA678 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028EA67C */ _t12 = cpu->r[3] + 0x00000018u;
/* 028EA67C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
/* 028EA680 */ _t13 = cpu->r[3] + 0x00000004u;
/* 028EA680 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028EA684 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028EA684 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028EA688 */ _t15 = cpu->r[3] + 0x00000028u;
/* 028EA688 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
/* 028EA68C */ _t16 = cpu->r[3] + 0x00000010u;
/* 028EA68C */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
/* 028EA690 */ _t17 = cpu->r[3] + 0x0000001Cu;
/* 028EA690 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
L_028EA694: ; // 0x28ea694
/* 028EA694 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028EA694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028EA698 */ cpu->lr = cpu->r[0];
/* 028EA69C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EA6A0 */ return;
}
// fn_028EA638 @ 0x28ea638
void Gambit_fn_028EA638(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028EA638: ; // 0x28ea638
/* 028EA638 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028EA638 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA638 */ cpu->r[1] = _t0;
/* 028EA63C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA63C */ _t2 = _t1 & 0x00000001u;
/* 028EA63C */ if (_t2) goto L_028EA640; else goto L_028EA650;
L_028EA640: ; // 0x28ea640
/* 028EA640 */ cpu->r[3] = 0x0000002Cu;
/* 028EA644 */ Gambit_fn_02801A78(cpu);
/* 028EA648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA64C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA64C */ _t4 = _t3 & 0x00000001u;
/* 028EA64C */ if (_t4) goto L_028EA694; else goto L_028EA650;
L_028EA650: ; // 0x28ea650
/* 028EA650 */ cpu->r[11] = 0x00000000u;
/* 028EA654 */ cpu->r[12] = 0x10140000u;
/* 028EA658 */ _t5 = cpu->r[3] + 0x00000008u;
/* 028EA658 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
/* 028EA65C */ cpu->r[0] = 0x10140000u;
/* 028EA660 */ _t6 = cpu->r[12] + 0xFFFFBD80u;
/* 028EA660 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EA664 */ cpu->r[0] = cpu->r[0] + 0xFFFFBD94u;
/* 028EA668 */ _t7 = cpu->r[3] + 0x0000000Cu;
/* 028EA668 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028EA66C */ _t8 = cpu->r[3] + 0x00000024u;
/* 028EA66C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028EA670 */ _t9 = cpu->r[3] + 0x00000014u;
/* 028EA670 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028EA674 */ cpu->r[12] = 0x0000007Fu;
/* 028EA678 */ _t10 = cpu->r[3] + 0x00000020u;
/* 028EA678 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
/* 028EA67C */ _t11 = cpu->r[3] + 0x00000018u;
/* 028EA67C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028EA680 */ _t12 = cpu->r[3] + 0x00000004u;
/* 028EA680 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028EA684 */ _t13 = cpu->r[3] + 0x00000000u;
/* 028EA684 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028EA688 */ _t14 = cpu->r[3] + 0x00000028u;
/* 028EA688 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028EA68C */ _t15 = cpu->r[3] + 0x00000010u;
/* 028EA68C */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
/* 028EA690 */ _t16 = cpu->r[3] + 0x0000001Cu;
/* 028EA690 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
L_028EA694: ; // 0x28ea694
/* 028EA694 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028EA694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028EA698 */ cpu->lr = cpu->r[0];
/* 028EA69C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EA6A0 */ return;
}
// fn_028EA6A4 @ 0x28ea6a4
void Gambit_fn_028EA6A4(CPUState* cpu) {
uint32_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_028EA6A4: ; // 0x28ea6a4
/* 028EA6A4 */ cpu->r[0] = cpu->lr;
/* 028EA6A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EA6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA6A8 */ cpu->r[1] = _t0;
/* 028EA6AC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EA6AC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028EA6B0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EA6B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA6B4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028EA6B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028EA6B8 */ cpu->r[31] = cpu->r[3];
/* 028EA6BC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028EA6BC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EA6C0 */ _t5 = cpu->r[31] + 0x0000001Cu;
/* 028EA6C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028EA6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA6C8 */ cpu->r[30] = 0x00000000u;
/* 028EA6CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA6CC */ _t7 = _t6 & 0x00000001u;
/* 028EA6CC */ if (_t7) goto L_028EA6D8; else goto L_028EA6D0;
L_028EA6D0: ; // 0x28ea6d0
/* 028EA6D0 */ Gambit_fn_02801BB0(cpu);
/* 028EA6D4 */ _t8 = cpu->r[31] + 0x0000001Cu;
/* 028EA6D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
L_028EA6D8: ; // 0x28ea6d8
/* 028EA6D8 */ _t9 = cpu->r[31] + 0x00000020u;
/* 028EA6D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028EA6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA6E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA6E0 */ _t11 = _t10 & 0x00000001u;
/* 028EA6E0 */ if (_t11) goto L_028EA6FC; else goto L_028EA6E4;
L_028EA6E4: ; // 0x28ea6e4
/* 028EA6E4 */ _t12 = cpu->r[3] + 0x00000010u;
/* 028EA6E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028EA6E8 */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028EA6E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028EA6EC */ cpu->ctr = cpu->r[0];
/* 028EA6F0 */ cpu->r[4] = 0x00000003u;
/* 028EA6F4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EA6F8 */ _t14 = cpu->r[31] + 0x00000020u;
/* 028EA6F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
L_028EA6FC: ; // 0x28ea6fc
/* 028EA6FC */ _t15 = cpu->r[31] + 0x00000024u;
/* 028EA6FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028EA700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028EA704 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA704 */ _t17 = _t16 & 0x00000001u;
/* 028EA704 */ if (_t17) goto L_028EA71C; else goto L_028EA708;
L_028EA708: ; // 0x28ea708
/* 028EA708 */ cpu->r[3] = cpu->r[29];
/* 028EA70C */ Gambit_fn_02C3E118(cpu);
/* 028EA710 */ cpu->r[3] = cpu->r[29];
/* 028EA714 */ Gambit_fn_02801BB0(cpu);
/* 028EA718 */ _t18 = cpu->r[31] + 0x00000024u;
/* 028EA718 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
L_028EA71C: ; // 0x28ea71c
/* 028EA71C */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028EA71C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
/* 028EA720 */ _t20 = cpu->r[1] + 0x0000001Cu;
/* 028EA720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EA724 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028EA724 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028EA728 */ cpu->lr = cpu->r[0];
/* 028EA72C */ _t22 = cpu->r[1] + 0x00000014u;
/* 028EA72C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028EA730 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA734 */ return;
}
// fn_028EA6A8 @ 0x28ea6a8
void Gambit_fn_028EA6A8(CPUState* cpu) {
uint32_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_028EA6A8: ; // 0x28ea6a8
/* 028EA6A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EA6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA6A8 */ cpu->r[1] = _t0;
/* 028EA6AC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EA6AC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028EA6B0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EA6B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA6B4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028EA6B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028EA6B8 */ cpu->r[31] = cpu->r[3];
/* 028EA6BC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028EA6BC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EA6C0 */ _t5 = cpu->r[31] + 0x0000001Cu;
/* 028EA6C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028EA6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA6C8 */ cpu->r[30] = 0x00000000u;
/* 028EA6CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA6CC */ _t7 = _t6 & 0x00000001u;
/* 028EA6CC */ if (_t7) goto L_028EA6D8; else goto L_028EA6D0;
L_028EA6D0: ; // 0x28ea6d0
/* 028EA6D0 */ Gambit_fn_02801BB0(cpu);
/* 028EA6D4 */ _t8 = cpu->r[31] + 0x0000001Cu;
/* 028EA6D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
L_028EA6D8: ; // 0x28ea6d8
/* 028EA6D8 */ _t9 = cpu->r[31] + 0x00000020u;
/* 028EA6D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028EA6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA6E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA6E0 */ _t11 = _t10 & 0x00000001u;
/* 028EA6E0 */ if (_t11) goto L_028EA6FC; else goto L_028EA6E4;
L_028EA6E4: ; // 0x28ea6e4
/* 028EA6E4 */ _t12 = cpu->r[3] + 0x00000010u;
/* 028EA6E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028EA6E8 */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028EA6E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028EA6EC */ cpu->ctr = cpu->r[0];
/* 028EA6F0 */ cpu->r[4] = 0x00000003u;
/* 028EA6F4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EA6F8 */ _t14 = cpu->r[31] + 0x00000020u;
/* 028EA6F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
L_028EA6FC: ; // 0x28ea6fc
/* 028EA6FC */ _t15 = cpu->r[31] + 0x00000024u;
/* 028EA6FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028EA700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028EA704 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA704 */ _t17 = _t16 & 0x00000001u;
/* 028EA704 */ if (_t17) goto L_028EA71C; else goto L_028EA708;
L_028EA708: ; // 0x28ea708
/* 028EA708 */ cpu->r[3] = cpu->r[29];
/* 028EA70C */ Gambit_fn_02C3E118(cpu);
/* 028EA710 */ cpu->r[3] = cpu->r[29];
/* 028EA714 */ Gambit_fn_02801BB0(cpu);
/* 028EA718 */ _t18 = cpu->r[31] + 0x00000024u;
/* 028EA718 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
L_028EA71C: ; // 0x28ea71c
/* 028EA71C */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028EA71C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
/* 028EA720 */ _t20 = cpu->r[1] + 0x0000001Cu;
/* 028EA720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EA724 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028EA724 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028EA728 */ cpu->lr = cpu->r[0];
/* 028EA72C */ _t22 = cpu->r[1] + 0x00000014u;
/* 028EA72C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028EA730 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA734 */ return;
}
// fn_028EA738 @ 0x28ea738
void Gambit_fn_028EA738(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028EA738: ; // 0x28ea738
/* 028EA738 */ cpu->r[0] = cpu->lr;
/* 028EA73C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA73C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA73C */ cpu->r[1] = _t0;
/* 028EA740 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028EA740 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EA744 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EA744 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA748 */ cpu->r[31] = cpu->r[3];
/* 028EA748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EA74C */ cpu->r[30] = cpu->r[4];
/* 028EA750 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EA750 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EA754 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA754 */ _t5 = _t4 & 0x00000001u;
/* 028EA754 */ if (_t5) goto L_028EA77C; else goto L_028EA758;
L_028EA758: ; // 0x28ea758
/* 028EA758 */ cpu->r[0] = 0x10140000u;
/* 028EA75C */ cpu->r[0] = cpu->r[0] + 0xFFFFBD94u;
/* 028EA760 */ cpu->r[3] = cpu->r[31];
/* 028EA764 */ _t6 = cpu->r[31] + 0x00000028u;
/* 028EA764 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028EA768 */ Gambit_fn_028EA6A4(cpu);
/* 028EA76C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028EA76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA770 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA770 */ _t8 = _t7 & 0x00000001u;
/* 028EA770 */ if (_t8) goto L_028EA77C; else goto L_028EA774;
L_028EA774: ; // 0x28ea774
/* 028EA774 */ cpu->r[3] = cpu->r[31];
/* 028EA778 */ Gambit_fn_02801BB0(cpu);
L_028EA77C: ; // 0x28ea77c
/* 028EA77C */ _t9 = cpu->r[1] + 0x00000014u;
/* 028EA77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EA780 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028EA780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028EA784 */ cpu->lr = cpu->r[0];
/* 028EA788 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028EA788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028EA78C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA790 */ return;
}
// fn_028EA73C @ 0x28ea73c
void Gambit_fn_028EA73C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028EA73C: ; // 0x28ea73c
/* 028EA73C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA73C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA73C */ cpu->r[1] = _t0;
/* 028EA740 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028EA740 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EA744 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EA744 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA748 */ cpu->r[31] = cpu->r[3];
/* 028EA748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EA74C */ cpu->r[30] = cpu->r[4];
/* 028EA750 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EA750 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EA754 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA754 */ _t5 = _t4 & 0x00000001u;
/* 028EA754 */ if (_t5) goto L_028EA77C; else goto L_028EA758;
L_028EA758: ; // 0x28ea758
/* 028EA758 */ cpu->r[0] = 0x10140000u;
/* 028EA75C */ cpu->r[0] = cpu->r[0] + 0xFFFFBD94u;
/* 028EA760 */ cpu->r[3] = cpu->r[31];
/* 028EA764 */ _t6 = cpu->r[31] + 0x00000028u;
/* 028EA764 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028EA768 */ Gambit_fn_028EA6A4(cpu);
/* 028EA76C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028EA76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA770 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA770 */ _t8 = _t7 & 0x00000001u;
/* 028EA770 */ if (_t8) goto L_028EA77C; else goto L_028EA774;
L_028EA774: ; // 0x28ea774
/* 028EA774 */ cpu->r[3] = cpu->r[31];
/* 028EA778 */ Gambit_fn_02801BB0(cpu);
L_028EA77C: ; // 0x28ea77c
/* 028EA77C */ _t9 = cpu->r[1] + 0x00000014u;
/* 028EA77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EA780 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028EA780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028EA784 */ cpu->lr = cpu->r[0];
/* 028EA788 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028EA788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028EA78C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA790 */ return;
}
// fn_028EA794 @ 0x28ea794
void Gambit_fn_028EA794(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028EA794: ; // 0x28ea794
/* 028EA794 */ cpu->r[0] = cpu->lr;
/* 028EA798 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA798 */ cpu->r[1] = _t0;
/* 028EA79C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028EA79C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EA7A0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EA7A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA7A4 */ cpu->r[30] = cpu->r[3];
/* 028EA7A8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EA7A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EA7AC */ _t4 = cpu->r[30] + 0x0000001Cu;
/* 028EA7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028EA7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA7B4 */ cpu->r[31] = cpu->r[4];
/* 028EA7B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA7B8 */ _t6 = _t5 & 0x00000001u;
/* 028EA7B8 */ if (_t6) goto L_028EA7BC; else goto L_028EA7DC;
L_028EA7BC: ; // 0x28ea7bc
/* 028EA7BC */ cpu->r[4] = cpu->r[31];
/* 028EA7C0 */ cpu->r[3] = 0x0000013Cu;
/* 028EA7C4 */ cpu->r[5] = 0x00000004u;
/* 028EA7C8 */ Gambit_fn_02801AC8(cpu);
/* 028EA7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA7D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA7D0 */ _t8 = _t7 & 0x00000001u;
/* 028EA7D0 */ if (_t8) goto L_028EA7D8; else goto L_028EA7D4;
L_028EA7D4: ; // 0x28ea7d4
/* 028EA7D4 */ Gambit_fn_028E5F50(cpu);
L_028EA7D8: ; // 0x28ea7d8
/* 028EA7D8 */ _t9 = cpu->r[30] + 0x0000001Cu;
/* 028EA7D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
L_028EA7DC: ; // 0x28ea7dc
/* 028EA7DC */ _t10 = cpu->r[30] + 0x00000020u;
/* 028EA7DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028EA7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EA7E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA7E4 */ _t12 = _t11 & 0x00000001u;
/* 028EA7E4 */ if (_t12) goto L_028EA7E8; else goto L_028EA810;
L_028EA7E8: ; // 0x28ea7e8
/* 028EA7E8 */ cpu->r[4] = cpu->r[31];
/* 028EA7EC */ cpu->r[3] = 0x00000014u;
/* 028EA7F0 */ cpu->r[5] = 0x00000004u;
/* 028EA7F4 */ Gambit_fn_02801AC8(cpu);
/* 028EA7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA7FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA7FC */ _t14 = _t13 & 0x00000001u;
/* 028EA7FC */ if (_t14) goto L_028EA80C; else goto L_028EA800;
L_028EA800: ; // 0x28ea800
/* 028EA800 */ cpu->r[12] = 0x10140000u;
/* 028EA804 */ _t15 = cpu->r[12] + 0xFFFFBD80u;
/* 028EA804 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 028EA808 */ Gambit_fn_028CA0E4(cpu);
L_028EA80C: ; // 0x28ea80c
/* 028EA80C */ _t16 = cpu->r[30] + 0x00000020u;
/* 028EA80C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
L_028EA810: ; // 0x28ea810
/* 028EA810 */ _t17 = cpu->r[30] + 0x00000024u;
/* 028EA810 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
/* 028EA814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028EA818 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA818 */ _t19 = _t18 & 0x00000001u;
/* 028EA818 */ if (_t19) goto L_028EA81C; else goto L_028EA840;
L_028EA81C: ; // 0x28ea81c
/* 028EA81C */ cpu->r[3] = 0x00000004u;
/* 028EA820 */ cpu->r[4] = cpu->r[31];
/* 028EA824 */ cpu->r[5] = cpu->r[3];
/* 028EA828 */ Gambit_fn_02801AC8(cpu);
/* 028EA82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA830 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA830 */ _t21 = _t20 & 0x00000001u;
/* 028EA830 */ if (_t21) goto L_028EA83C; else goto L_028EA834;
L_028EA834: ; // 0x28ea834
/* 028EA834 */ cpu->r[0] = 0x00000000u;
/* 028EA838 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028EA838 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
L_028EA83C: ; // 0x28ea83c
/* 028EA83C */ _t23 = cpu->r[30] + 0x00000024u;
/* 028EA83C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
L_028EA840: ; // 0x28ea840
/* 028EA840 */ _t24 = cpu->r[1] + 0x00000014u;
/* 028EA840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028EA844 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028EA844 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028EA848 */ cpu->lr = cpu->r[0];
/* 028EA84C */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028EA84C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028EA850 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA854 */ return;
}
// fn_028EA798 @ 0x28ea798
void Gambit_fn_028EA798(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028EA798: ; // 0x28ea798
/* 028EA798 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA798 */ cpu->r[1] = _t0;
/* 028EA79C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028EA79C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EA7A0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EA7A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA7A4 */ cpu->r[30] = cpu->r[3];
/* 028EA7A8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EA7A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EA7AC */ _t4 = cpu->r[30] + 0x0000001Cu;
/* 028EA7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028EA7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA7B4 */ cpu->r[31] = cpu->r[4];
/* 028EA7B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA7B8 */ _t6 = _t5 & 0x00000001u;
/* 028EA7B8 */ if (_t6) goto L_028EA7BC; else goto L_028EA7DC;
L_028EA7BC: ; // 0x28ea7bc
/* 028EA7BC */ cpu->r[4] = cpu->r[31];
/* 028EA7C0 */ cpu->r[3] = 0x0000013Cu;
/* 028EA7C4 */ cpu->r[5] = 0x00000004u;
/* 028EA7C8 */ Gambit_fn_02801AC8(cpu);
/* 028EA7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA7D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA7D0 */ _t8 = _t7 & 0x00000001u;
/* 028EA7D0 */ if (_t8) goto L_028EA7D8; else goto L_028EA7D4;
L_028EA7D4: ; // 0x28ea7d4
/* 028EA7D4 */ Gambit_fn_028E5F50(cpu);
L_028EA7D8: ; // 0x28ea7d8
/* 028EA7D8 */ _t9 = cpu->r[30] + 0x0000001Cu;
/* 028EA7D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
L_028EA7DC: ; // 0x28ea7dc
/* 028EA7DC */ _t10 = cpu->r[30] + 0x00000020u;
/* 028EA7DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028EA7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EA7E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA7E4 */ _t12 = _t11 & 0x00000001u;
/* 028EA7E4 */ if (_t12) goto L_028EA7E8; else goto L_028EA810;
L_028EA7E8: ; // 0x28ea7e8
/* 028EA7E8 */ cpu->r[4] = cpu->r[31];
/* 028EA7EC */ cpu->r[3] = 0x00000014u;
/* 028EA7F0 */ cpu->r[5] = 0x00000004u;
/* 028EA7F4 */ Gambit_fn_02801AC8(cpu);
/* 028EA7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA7FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA7FC */ _t14 = _t13 & 0x00000001u;
/* 028EA7FC */ if (_t14) goto L_028EA80C; else goto L_028EA800;
L_028EA800: ; // 0x28ea800
/* 028EA800 */ cpu->r[12] = 0x10140000u;
/* 028EA804 */ _t15 = cpu->r[12] + 0xFFFFBD80u;
/* 028EA804 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 028EA808 */ Gambit_fn_028CA0E4(cpu);
L_028EA80C: ; // 0x28ea80c
/* 028EA80C */ _t16 = cpu->r[30] + 0x00000020u;
/* 028EA80C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
L_028EA810: ; // 0x28ea810
/* 028EA810 */ _t17 = cpu->r[30] + 0x00000024u;
/* 028EA810 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
/* 028EA814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028EA818 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA818 */ _t19 = _t18 & 0x00000001u;
/* 028EA818 */ if (_t19) goto L_028EA81C; else goto L_028EA840;
L_028EA81C: ; // 0x28ea81c
/* 028EA81C */ cpu->r[3] = 0x00000004u;
/* 028EA820 */ cpu->r[4] = cpu->r[31];
/* 028EA824 */ cpu->r[5] = cpu->r[3];
/* 028EA828 */ Gambit_fn_02801AC8(cpu);
/* 028EA82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA830 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA830 */ _t21 = _t20 & 0x00000001u;
/* 028EA830 */ if (_t21) goto L_028EA83C; else goto L_028EA834;
L_028EA834: ; // 0x28ea834
/* 028EA834 */ cpu->r[0] = 0x00000000u;
/* 028EA838 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028EA838 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
L_028EA83C: ; // 0x28ea83c
/* 028EA83C */ _t23 = cpu->r[30] + 0x00000024u;
/* 028EA83C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
L_028EA840: ; // 0x28ea840
/* 028EA840 */ _t24 = cpu->r[1] + 0x00000014u;
/* 028EA840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028EA844 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028EA844 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028EA848 */ cpu->lr = cpu->r[0];
/* 028EA84C */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028EA84C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028EA850 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA854 */ return;
}
// fn_028EA858 @ 0x28ea858
void Gambit_fn_028EA858(CPUState* cpu) {
uint32_t _t0, _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_028EA858: ; // 0x28ea858
/* 028EA858 */ cpu->r[0] = cpu->lr;
/* 028EA85C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EA85C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA85C */ cpu->r[1] = _t0;
/* 028EA860 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028EA860 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EA864 */ /* nop */
/* 028EA868 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EA868 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA86C */ _t3 = cpu->r[1] + 0x00000018u;
/* 028EA86C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EA870 */ cpu->r[31] = cpu->r[3];
/* 028EA874 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028EA874 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EA878 */ _t5 = cpu->r[31] + 0x00000024u;
/* 028EA878 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028EA87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EA880 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA880 */ _t7 = _t6 & 0x00000001u;
/* 028EA880 */ if (_t7) goto L_028EA8C8; else goto L_028EA884;
L_028EA884: ; // 0x28ea884
/* 028EA884 */ _t8 = cpu->r[31] + 0x00000020u;
/* 028EA884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028EA888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA88C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA88C */ _t10 = _t9 & 0x00000001u;
/* 028EA88C */ if (_t10) goto L_028EA8C8; else goto L_028EA890;
L_028EA890: ; // 0x28ea890
/* 028EA890 */ _t11 = cpu->r[31] + 0x00000004u;
/* 028EA890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028EA894 */ _t12 = cpu->r[31] + 0x00000014u;
/* 028EA894 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028EA898 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028EA89C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028EA89C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028EA8A0 */ Gambit_fn_028CA248(cpu);
/* 028EA8A4 */ _t14 = cpu->r[31] + 0x00000024u;
/* 028EA8A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028EA8A8 */ _t15 = cpu->r[11] + 0x00000000u;
/* 028EA8A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028EA8AC */ cpu->f[31] = cpu->f[31] * cpu->f[1];
/* 028EA8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EA8B4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA8B4 */ _t17 = _t16 & 0x00000001u;
/* 028EA8B4 */ if (_t17) goto L_028EA8C8; else goto L_028EA8B8;
L_028EA8B8: ; // 0x28ea8b8
/* 028EA8B8 */ cpu->f[1] = cpu->f[31];
/* 028EA8BC */ _t18 = cpu->r[11] + 0x00000000u;
/* 028EA8BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028EA8C0 */ cpu->r[4] = 0x00000000u;
/* 028EA8C4 */ Gambit_fn_02C41610(cpu);
L_028EA8C8: ; // 0x28ea8c8
/* 028EA8C8 */ _t19 = cpu->r[1] + 0x00000018u;
/* 028EA8C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028EA8CC */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028EA8CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028EA8D0 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028EA8D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
/* 028EA8D4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA8D4 */ _t23 = _t22 & 0x00000001u;
/* 028EA8D4 */ if (_t23) goto L_028EA8D8; // else: addr-0 trap, fall-through
L_028EA8D8: ; // 0x28ea8d8
/* 028EA8D8 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028EA8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028EA8DC */ cpu->lr = cpu->r[0];
/* 028EA8E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA8E4 */ return;
}
// fn_028EA85C @ 0x28ea85c
void Gambit_fn_028EA85C(CPUState* cpu) {
uint32_t _t0, _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_028EA85C: ; // 0x28ea85c
/* 028EA85C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EA85C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA85C */ cpu->r[1] = _t0;
/* 028EA860 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028EA860 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EA864 */ /* nop */
/* 028EA868 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EA868 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EA86C */ _t3 = cpu->r[1] + 0x00000018u;
/* 028EA86C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EA870 */ cpu->r[31] = cpu->r[3];
/* 028EA874 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028EA874 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EA878 */ _t5 = cpu->r[31] + 0x00000024u;
/* 028EA878 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028EA87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EA880 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA880 */ _t7 = _t6 & 0x00000001u;
/* 028EA880 */ if (_t7) goto L_028EA8C8; else goto L_028EA884;
L_028EA884: ; // 0x28ea884
/* 028EA884 */ _t8 = cpu->r[31] + 0x00000020u;
/* 028EA884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028EA888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA88C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA88C */ _t10 = _t9 & 0x00000001u;
/* 028EA88C */ if (_t10) goto L_028EA8C8; else goto L_028EA890;
L_028EA890: ; // 0x28ea890
/* 028EA890 */ _t11 = cpu->r[31] + 0x00000004u;
/* 028EA890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028EA894 */ _t12 = cpu->r[31] + 0x00000014u;
/* 028EA894 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028EA898 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028EA89C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028EA89C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028EA8A0 */ Gambit_fn_028CA248(cpu);
/* 028EA8A4 */ _t14 = cpu->r[31] + 0x00000024u;
/* 028EA8A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028EA8A8 */ _t15 = cpu->r[11] + 0x00000000u;
/* 028EA8A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028EA8AC */ cpu->f[31] = cpu->f[31] * cpu->f[1];
/* 028EA8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EA8B4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA8B4 */ _t17 = _t16 & 0x00000001u;
/* 028EA8B4 */ if (_t17) goto L_028EA8C8; else goto L_028EA8B8;
L_028EA8B8: ; // 0x28ea8b8
/* 028EA8B8 */ cpu->f[1] = cpu->f[31];
/* 028EA8BC */ _t18 = cpu->r[11] + 0x00000000u;
/* 028EA8BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028EA8C0 */ cpu->r[4] = 0x00000000u;
/* 028EA8C4 */ Gambit_fn_02C41610(cpu);
L_028EA8C8: ; // 0x28ea8c8
/* 028EA8C8 */ _t19 = cpu->r[1] + 0x00000018u;
/* 028EA8C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028EA8CC */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028EA8CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028EA8D0 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028EA8D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
/* 028EA8D4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EA8D4 */ _t23 = _t22 & 0x00000001u;
/* 028EA8D4 */ if (_t23) goto L_028EA8D8; // else: addr-0 trap, fall-through
L_028EA8D8: ; // 0x28ea8d8
/* 028EA8D8 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028EA8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028EA8DC */ cpu->lr = cpu->r[0];
/* 028EA8E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EA8E4 */ return;
}
// fn_028EA8E8 @ 0x28ea8e8
void Gambit_fn_028EA8E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028EA8E8: ; // 0x28ea8e8
/* 028EA8E8 */ cpu->r[0] = cpu->lr;
/* 028EA8EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EA8EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA8EC */ cpu->r[1] = _t0;
/* 028EA8F0 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028EA8F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA8F4 */ cpu->r[31] = cpu->r[3];
/* 028EA8F8 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028EA8F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA8FC */ _t3 = cpu->r[31] + 0x00000024u;
/* 028EA8FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028EA900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EA904 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA904 */ _t5 = _t4 & 0x00000001u;
/* 028EA904 */ if (_t5) goto L_028EA984; else goto L_028EA908;
L_028EA908: ; // 0x28ea908
/* 028EA908 */ _t6 = cpu->r[31] + 0x00000020u;
/* 028EA908 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EA90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA910 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA910 */ _t8 = _t7 & 0x00000001u;
/* 028EA910 */ if (_t8) goto L_028EA984; else goto L_028EA914;
L_028EA914: ; // 0x28ea914
/* 028EA914 */ _t9 = cpu->r[12] + 0x00000000u;
/* 028EA914 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028EA918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EA91C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA91C */ _t11 = _t10 & 0x00000001u;
/* 028EA91C */ if (_t11) goto L_028EA920; else goto L_028EA930;
L_028EA920: ; // 0x28ea920
/* 028EA920 */ cpu->r[0] = 0x00000000u;
/* 028EA924 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028EA924 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028EA928 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028EA928 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028EA92C */ goto L_028EA984;
L_028EA930: ; // 0x28ea930
/* 028EA930 */ Gambit_fn_028CA194(cpu);
/* 028EA934 */ cpu->r[3] = cpu->r[31];
/* 028EA938 */ Gambit_fn_028EA858(cpu);
/* 028EA93C */ _t14 = cpu->r[31] + 0x00000000u;
/* 028EA93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028EA940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
/* 028EA944 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA944 */ _t16 = _t15 & 0x00000001u;
/* 028EA944 */ if (_t16) goto L_028EA948; else goto L_028EA984;
L_028EA948: ; // 0x28ea948
/* 028EA948 */ _t17 = cpu->r[31] + 0x00000020u;
/* 028EA948 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028EA94C */ _t18 = cpu->r[12] + 0x00000000u;
/* 028EA94C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
/* 028EA950 */ _t19 = cpu->r[12] + 0x00000008u;
/* 028EA950 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
/* 028EA954 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028EA958 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA958 */ _t21 = _t20 & 0x00000001u;
/* 028EA958 */ if (_t21) goto L_028EA95C; else goto L_028EA984;
L_028EA95C: ; // 0x28ea95c
/* 028EA95C */ _t22 = cpu->r[31] + 0x00000024u;
/* 028EA95C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028EA960 */ _t23 = cpu->r[12] + 0x00000000u;
/* 028EA960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028EA964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EA968 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA968 */ _t25 = _t24 & 0x00000001u;
/* 028EA968 */ if (_t25) goto L_028EA978; else goto L_028EA96C;
L_028EA96C: ; // 0x28ea96c
/* 028EA96C */ _t26 = cpu->r[12] + 0x00000000u;
/* 028EA96C */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028EA970 */ cpu->r[4] = 0x00000000u;
/* 028EA974 */ Gambit_fn_02C3FCFC(cpu);
L_028EA978: ; // 0x28ea978
/* 028EA978 */ cpu->r[0] = 0x00000000u;
/* 028EA97C */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028EA97C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
/* 028EA980 */ _t28 = cpu->r[31] + 0x00000000u;
/* 028EA980 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
L_028EA984: ; // 0x28ea984
/* 028EA984 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028EA984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028EA988 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028EA988 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028EA98C */ cpu->lr = cpu->r[0];
/* 028EA990 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA994 */ return;
}
// fn_028EA8EC @ 0x28ea8ec
void Gambit_fn_028EA8EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028EA8EC: ; // 0x28ea8ec
/* 028EA8EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EA8EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA8EC */ cpu->r[1] = _t0;
/* 028EA8F0 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028EA8F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA8F4 */ cpu->r[31] = cpu->r[3];
/* 028EA8F8 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028EA8F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA8FC */ _t3 = cpu->r[31] + 0x00000024u;
/* 028EA8FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028EA900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EA904 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA904 */ _t5 = _t4 & 0x00000001u;
/* 028EA904 */ if (_t5) goto L_028EA984; else goto L_028EA908;
L_028EA908: ; // 0x28ea908
/* 028EA908 */ _t6 = cpu->r[31] + 0x00000020u;
/* 028EA908 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EA90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA910 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA910 */ _t8 = _t7 & 0x00000001u;
/* 028EA910 */ if (_t8) goto L_028EA984; else goto L_028EA914;
L_028EA914: ; // 0x28ea914
/* 028EA914 */ _t9 = cpu->r[12] + 0x00000000u;
/* 028EA914 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028EA918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EA91C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA91C */ _t11 = _t10 & 0x00000001u;
/* 028EA91C */ if (_t11) goto L_028EA920; else goto L_028EA930;
L_028EA920: ; // 0x28ea920
/* 028EA920 */ cpu->r[0] = 0x00000000u;
/* 028EA924 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028EA924 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028EA928 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028EA928 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028EA92C */ goto L_028EA984;
L_028EA930: ; // 0x28ea930
/* 028EA930 */ Gambit_fn_028CA194(cpu);
/* 028EA934 */ cpu->r[3] = cpu->r[31];
/* 028EA938 */ Gambit_fn_028EA858(cpu);
/* 028EA93C */ _t14 = cpu->r[31] + 0x00000000u;
/* 028EA93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028EA940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
/* 028EA944 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA944 */ _t16 = _t15 & 0x00000001u;
/* 028EA944 */ if (_t16) goto L_028EA948; else goto L_028EA984;
L_028EA948: ; // 0x28ea948
/* 028EA948 */ _t17 = cpu->r[31] + 0x00000020u;
/* 028EA948 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028EA94C */ _t18 = cpu->r[12] + 0x00000000u;
/* 028EA94C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
/* 028EA950 */ _t19 = cpu->r[12] + 0x00000008u;
/* 028EA950 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
/* 028EA954 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028EA958 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA958 */ _t21 = _t20 & 0x00000001u;
/* 028EA958 */ if (_t21) goto L_028EA95C; else goto L_028EA984;
L_028EA95C: ; // 0x28ea95c
/* 028EA95C */ _t22 = cpu->r[31] + 0x00000024u;
/* 028EA95C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028EA960 */ _t23 = cpu->r[12] + 0x00000000u;
/* 028EA960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028EA964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EA968 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA968 */ _t25 = _t24 & 0x00000001u;
/* 028EA968 */ if (_t25) goto L_028EA978; else goto L_028EA96C;
L_028EA96C: ; // 0x28ea96c
/* 028EA96C */ _t26 = cpu->r[12] + 0x00000000u;
/* 028EA96C */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028EA970 */ cpu->r[4] = 0x00000000u;
/* 028EA974 */ Gambit_fn_02C3FCFC(cpu);
L_028EA978: ; // 0x28ea978
/* 028EA978 */ cpu->r[0] = 0x00000000u;
/* 028EA97C */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028EA97C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
/* 028EA980 */ _t28 = cpu->r[31] + 0x00000000u;
/* 028EA980 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
L_028EA984: ; // 0x28ea984
/* 028EA984 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028EA984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028EA988 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028EA988 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028EA98C */ cpu->lr = cpu->r[0];
/* 028EA990 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EA994 */ return;
}
// fn_028EA998 @ 0x28ea998
void Gambit_fn_028EA998(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028EA998: ; // 0x28ea998
/* 028EA998 */ cpu->r[0] = cpu->lr;
/* 028EA99C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA99C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA99C */ cpu->r[1] = _t0;
/* 028EA9A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EA9A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA9A4 */ cpu->r[31] = cpu->r[3];
/* 028EA9A8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EA9A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA9AC */ _t3 = cpu->r[31] + 0x00000024u;
/* 028EA9AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
/* 028EA9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EA9B4 */ cpu->f[2] = cpu->f[1];
/* 028EA9B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA9B8 */ _t5 = _t4 & 0x00000001u;
/* 028EA9B8 */ if (_t5) goto L_028EA9E8; else goto L_028EA9BC;
L_028EA9BC: ; // 0x28ea9bc
/* 028EA9BC */ _t6 = cpu->r[31] + 0x00000020u;
/* 028EA9BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EA9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA9C4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA9C4 */ _t8 = _t7 & 0x00000001u;
/* 028EA9C4 */ if (_t8) goto L_028EA9E8; else goto L_028EA9C8;
L_028EA9C8: ; // 0x28ea9c8
/* 028EA9C8 */ _t9 = cpu->r[10] + 0x00000000u;
/* 028EA9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EA9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA9D0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA9D0 */ _t11 = _t10 & 0x00000001u;
/* 028EA9D0 */ if (_t11) goto L_028EA9E8; else goto L_028EA9D4;
L_028EA9D4: ; // 0x28ea9d4
/* 028EA9D4 */ cpu->r[12] = 0x10140000u;
/* 028EA9D8 */ _t12 = cpu->r[12] + 0xFFFFBD84u;
/* 028EA9D8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
/* 028EA9DC */ Gambit_fn_028CA1D8(cpu);
/* 028EA9E0 */ cpu->r[0] = 0x00000003u;
/* 028EA9E4 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028EA9E4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
L_028EA9E8: ; // 0x28ea9e8
/* 028EA9E8 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028EA9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028EA9EC */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028EA9EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028EA9F0 */ cpu->lr = cpu->r[0];
/* 028EA9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA9F8 */ return;
}
// fn_028EA99C @ 0x28ea99c
void Gambit_fn_028EA99C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028EA99C: ; // 0x28ea99c
/* 028EA99C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EA99C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA99C */ cpu->r[1] = _t0;
/* 028EA9A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EA9A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EA9A4 */ cpu->r[31] = cpu->r[3];
/* 028EA9A8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EA9A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EA9AC */ _t3 = cpu->r[31] + 0x00000024u;
/* 028EA9AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
/* 028EA9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EA9B4 */ cpu->f[2] = cpu->f[1];
/* 028EA9B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA9B8 */ _t5 = _t4 & 0x00000001u;
/* 028EA9B8 */ if (_t5) goto L_028EA9E8; else goto L_028EA9BC;
L_028EA9BC: ; // 0x28ea9bc
/* 028EA9BC */ _t6 = cpu->r[31] + 0x00000020u;
/* 028EA9BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EA9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EA9C4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA9C4 */ _t8 = _t7 & 0x00000001u;
/* 028EA9C4 */ if (_t8) goto L_028EA9E8; else goto L_028EA9C8;
L_028EA9C8: ; // 0x28ea9c8
/* 028EA9C8 */ _t9 = cpu->r[10] + 0x00000000u;
/* 028EA9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EA9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EA9D0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EA9D0 */ _t11 = _t10 & 0x00000001u;
/* 028EA9D0 */ if (_t11) goto L_028EA9E8; else goto L_028EA9D4;
L_028EA9D4: ; // 0x28ea9d4
/* 028EA9D4 */ cpu->r[12] = 0x10140000u;
/* 028EA9D8 */ _t12 = cpu->r[12] + 0xFFFFBD84u;
/* 028EA9D8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
/* 028EA9DC */ Gambit_fn_028CA1D8(cpu);
/* 028EA9E0 */ cpu->r[0] = 0x00000003u;
/* 028EA9E4 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028EA9E4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
L_028EA9E8: ; // 0x28ea9e8
/* 028EA9E8 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028EA9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028EA9EC */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028EA9EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028EA9F0 */ cpu->lr = cpu->r[0];
/* 028EA9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EA9F8 */ return;
}
// fn_028EA9FC @ 0x28ea9fc
void Gambit_fn_028EA9FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028EA9FC: ; // 0x28ea9fc
/* 028EA9FC */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
/* 028EA9FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EA9FC */ cpu->r[1] = _t0;
/* 028EAA00 */ /* nop */
/* 028EAA04 */ cpu->r[7] = 0x10140000u;
/* 028EAA08 */ _t1 = cpu->r[7] + 0xFFFFBD84u;
/* 028EAA08 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
/* 028EAA0C */ cpu->r[28] = cpu->r[3];
/* 028EAA10 */ cpu->r[0] = cpu->lr;
/* 028EAA14 */ _t2 = cpu->r[1] + 0x00000164u;
/* 028EAA14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EAA18 */ Gambit_fn_028EA998(cpu);
/* 028EAA1C */ _t3 = cpu->r[28] + 0x0000001Cu;
/* 028EAA1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t3);
/* 028EAA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028EAA24 */ cpu->r[27] = 0x00000000u;
/* 028EAA28 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAA28 */ _t5 = _t4 & 0x00000001u;
/* 028EAA28 */ if (_t5) goto L_028EABB4; else goto L_028EAA2C;
L_028EAA2C: ; // 0x28eaa2c
/* 028EAA2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EAA30 */ Gambit_fn_028E5F50(cpu);
/* 028EAA34 */ _t6 = cpu->r[3] + 0x00000004u;
/* 028EAA34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028EAA38 */ _t7 = cpu->r[8] + 0x00000014u;
/* 028EAA38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
/* 028EAA3C */ cpu->ctr = cpu->r[9];
/* 028EAA40 */ _t8 = cpu->r[29] + 0x00000000u;
/* 028EAA40 */ cpu->r[26] = rbrew_read32(cpu->mem, _t8);
/* 028EAA44 */ cpu->r[25] = cpu->r[3];
/* 028EAA48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAA4C */ _t9 = cpu->r[25] + 0x00000000u;
/* 028EAA4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028EAA50 */ cpu->r[31] = 0x10110000u;
/* 028EAA54 */ _t10 = cpu->r[31] + 0x00007399u;
/* 028EAA54 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
/* 028EAA58 */ _t11 = cpu->r[12] + 0x00000000u;
/* 028EAA58 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
/* 028EAA5C */ cpu->r[30] = 0x00000000u;
/* 028EAA60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028EAA64 */ cpu->r[6] = 0x00080000u;
/* 028EAA68 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAA68 */ _t13 = _t12 & 0x00000001u;
/* 028EAA68 */ if (_t13) goto L_028EAA90; else goto L_028EAA6C;
L_028EAA6C: ; // 0x28eaa6c
/* 028EAA6C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028EAA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
/* 028EAA74 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028EAA78 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EAA78 */ _t15 = _t14 & 0x00000001u;
/* 028EAA78 */ if (_t15) goto L_028EAA8C; else goto L_028EAA7C;
L_028EAA7C: ; // 0x28eaa7c
/* 028EAA7C */ _t16 = cpu->r[12] + 0x00000000u;
/* 028EAA7C */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
/* 028EAA80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028EAA84 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAA84 */ _t18 = _t17 & 0x00000001u;
/* 028EAA84 */ if (_t18) goto L_028EAA88; else goto L_028EAA6C;
L_028EAA88: ; // 0x28eaa88
/* 028EAA88 */ goto L_028EAA90;
L_028EAA8C: ; // 0x28eaa8c
/* 028EAA8C */ cpu->r[30] = 0x00000000u;
L_028EAA90: ; // 0x28eaa90
/* 028EAA90 */ _t19 = cpu->r[29] + 0x00000008u;
/* 028EAA90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
/* 028EAA94 */ _t20 = cpu->r[25] + 0x00000004u;
/* 028EAA94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028EAA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028EAA9C */ _t21 = cpu->r[12] + 0x00000014u;
/* 028EAA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028EAAA0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAAA0 */ _t23 = _t22 & 0x00000001u;
/* 028EAAA0 */ if (_t23) goto L_028EAAA8; else goto L_028EAAA4;
L_028EAAA4: ; // 0x28eaaa4
/* 028EAAA4 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
L_028EAAA8: ; // 0x28eaaa8
/* 028EAAA8 */ cpu->ctr = cpu->r[0];
/* 028EAAAC */ cpu->r[3] = cpu->r[25];
/* 028EAAB0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAAB4 */ _t24 = cpu->r[25] + 0x00000000u;
/* 028EAAB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
/* 028EAAB8 */ cpu->r[6] = 0x00000000u;
/* 028EAABC */ cpu->r[5] = cpu->r[30];
/* 028EAAC0 */ cpu->r[3] = cpu->r[26];
/* 028EAAC4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028EAAC8 */ _t25 = cpu->r[26] + cpu->r[30];
/* 028EAAC8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
/* 028EAACC */ _t26 = cpu->r[25] + 0x0000004Cu;
/* 028EAACC */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
/* 028EAAD0 */ _t27 = cpu->r[29] + 0x0000004Cu;
/* 028EAAD0 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
/* 028EAAD4 */ _t28 = cpu->r[25] + 0x00000050u;
/* 028EAAD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028EAAD8 */ _t29 = cpu->r[29] + 0x00000050u;
/* 028EAAD8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028EAADC */ _t30 = cpu->r[25] + 0x00000058u;
/* 028EAADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028EAAE0 */ _t31 = cpu->r[12] + 0x00000014u;
/* 028EAAE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
/* 028EAAE4 */ cpu->ctr = cpu->r[5];
/* 028EAAE8 */ _t32 = cpu->r[29] + 0x00000054u;
/* 028EAAE8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t32);
/* 028EAAEC */ cpu->r[3] = cpu->r[25] + 0x00000054u;
/* 028EAAF0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAAF4 */ _t33 = cpu->r[25] + 0x00000054u;
/* 028EAAF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
/* 028EAAF8 */ _t34 = cpu->r[7] + 0x00000000u;
/* 028EAAF8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t34);
/* 028EAAFC */ cpu->r[30] = 0x00000000u;
/* 028EAB00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028EAB04 */ cpu->r[9] = 0x00080000u;
/* 028EAB08 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAB08 */ _t36 = _t35 & 0x00000001u;
/* 028EAB08 */ if (_t36) goto L_028EAB30; else goto L_028EAB0C;
L_028EAB0C: ; // 0x28eab0c
/* 028EAB0C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028EAB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028EAB14 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028EAB18 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EAB18 */ _t38 = _t37 & 0x00000001u;
/* 028EAB18 */ if (_t38) goto L_028EAB2C; else goto L_028EAB1C;
L_028EAB1C: ; // 0x28eab1c
/* 028EAB1C */ _t39 = cpu->r[7] + 0x00000000u;
/* 028EAB1C */ cpu->r[8] = rbrew_read8(cpu->mem, _t39);
/* 028EAB20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
/* 028EAB24 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAB24 */ _t41 = _t40 & 0x00000001u;
/* 028EAB24 */ if (_t41) goto L_028EAB28; else goto L_028EAB0C;
L_028EAB28: ; // 0x28eab28
/* 028EAB28 */ goto L_028EAB30;
L_028EAB2C: ; // 0x28eab2c
/* 028EAB2C */ cpu->r[30] = 0x00000000u;
L_028EAB30: ; // 0x28eab30
/* 028EAB30 */ _t42 = cpu->r[29] + 0x0000005Cu;
/* 028EAB30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
/* 028EAB34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
/* 028EAB38 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAB38 */ _t44 = _t43 & 0x00000001u;
/* 028EAB38 */ if (_t44) goto L_028EAB40; else goto L_028EAB3C;
L_028EAB3C: ; // 0x28eab3c
/* 028EAB3C */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
L_028EAB40: ; // 0x28eab40
/* 028EAB40 */ _t45 = cpu->r[25] + 0x00000058u;
/* 028EAB40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
/* 028EAB44 */ _t46 = cpu->r[10] + 0x00000014u;
/* 028EAB44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028EAB48 */ cpu->ctr = cpu->r[0];
/* 028EAB4C */ cpu->r[3] = cpu->r[25] + 0x00000054u;
/* 028EAB50 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAB54 */ _t47 = cpu->r[25] + 0x00000054u;
/* 028EAB54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
/* 028EAB58 */ cpu->r[3] = cpu->r[26];
/* 028EAB5C */ cpu->r[5] = cpu->r[30];
/* 028EAB60 */ cpu->r[6] = 0x00000000u;
/* 028EAB64 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028EAB68 */ _t48 = cpu->r[26] + cpu->r[30];
/* 028EAB68 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[31]);
/* 028EAB6C */ _t49 = cpu->r[25] + 0x000000E0u;
/* 028EAB6C */ cpu->r[5] = rbrew_read16(cpu->mem, _t49);
/* 028EAB70 */ _t50 = cpu->r[29] + 0x000000E0u;
/* 028EAB70 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[5]);
/* 028EAB74 */ _t51 = cpu->r[25] + 0x000000E4u;
/* 028EAB74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
/* 028EAB78 */ cpu->r[4] = cpu->r[25] + 0x000000ECu;
/* 028EAB7C */ _t52 = cpu->r[29] + 0x000000E4u;
/* 028EAB7C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
/* 028EAB80 */ _t53 = cpu->r[25] + 0x000000E8u;
/* 028EAB80 */ cpu->r[0] = rbrew_read16(cpu->mem, _t53);
/* 028EAB84 */ cpu->r[5] = 0x00000040u;
/* 028EAB88 */ cpu->r[3] = cpu->r[29] + 0x000000ECu;
/* 028EAB8C */ _t54 = cpu->r[29] + 0x000000E8u;
/* 028EAB8C */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[0]);
/* 028EAB90 */ rbrew_dispatch(cpu, 0x02d0b870u);
/* 028EAB94 */ _t55 = cpu->r[25] + 0x0000012Cu;
/* 028EAB94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
/* 028EAB98 */ _t56 = cpu->r[29] + 0x0000012Cu;
/* 028EAB98 */ rbrew_write32(cpu->mem, _t56, cpu->r[11]);
/* 028EAB9C */ _t57 = cpu->r[25] + 0x00000130u;
/* 028EAB9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
/* 028EABA0 */ _t58 = cpu->r[29] + 0x00000130u;
/* 028EABA0 */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
/* 028EABA4 */ _t59 = cpu->r[25] + 0x00000134u;
/* 028EABA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
/* 028EABA8 */ _t60 = cpu->r[29] + 0x00000134u;
/* 028EABA8 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
/* 028EABAC */ _t61 = cpu->r[25] + 0x00000138u;
/* 028EABAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
/* 028EABB0 */ _t62 = cpu->r[29] + 0x00000138u;
/* 028EABB0 */ rbrew_write32(cpu->mem, _t62, cpu->r[5]);
L_028EABB4: ; // 0x28eabb4
/* 028EABB4 */ _t63 = cpu->r[28] + 0x00000004u;
/* 028EABB4 */ rbrew_write32(cpu->mem, _t63, cpu->r[27]);
/* 028EABB8 */ _t64 = cpu->r[28] + 0x00000004u;
/* 028EABB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t64);
/* 028EABBC */ cpu->r[0] = 0x0000007Fu;
/* 028EABC0 */ _t65 = cpu->r[28] + 0x00000008u;
/* 028EABC0 */ rbrew_write32(cpu->mem, _t65, cpu->r[27]);
/* 028EABC4 */ _t66 = cpu->r[28] + 0x00000018u;
/* 028EABC4 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
/* 028EABC8 */ _t67 = cpu->r[28] + 0x00000010u;
/* 028EABC8 */ rbrew_write32(cpu->mem, _t67, cpu->r[27]);
/* 028EABCC */ _t68 = cpu->r[28] + 0x0000000Cu;
/* 028EABCC */ rbrew_write32(cpu->mem, _t68, cpu->r[27]);
/* 028EABD0 */ /* nop */
/* 028EABD4 */ _t69 = cpu->r[1] + 0x00000164u;
/* 028EABD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
/* 028EABD8 */ cpu->lr = cpu->r[0];
/* 028EABDC */ cpu->r[1] = cpu->r[1] + 0x00000160u;
/* 028EABE0 */ return;
}
// fn_028EABE4 @ 0x28eabe4
void Gambit_fn_028EABE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028EABE4: ; // 0x28eabe4
/* 028EABE4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EABE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EABE4 */ cpu->r[1] = _t0;
/* 028EABE8 */ /* nop */
/* 028EABEC */ cpu->r[0] = cpu->lr;
/* 028EABF0 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028EABF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028EABF4 */ _t2 = cpu->r[3] + 0x0000001Cu;
/* 028EABF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
/* 028EABF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028EABFC */ cpu->r[28] = cpu->r[4];
/* 028EAC00 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAC00 */ _t4 = _t3 & 0x00000001u;
/* 028EAC00 */ if (_t4) goto L_028EAD84; else goto L_028EAC04;
L_028EAC04: ; // 0x28eac04
/* 028EAC04 */ _t5 = cpu->r[28] + 0x00000004u;
/* 028EAC04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
/* 028EAC08 */ _t6 = cpu->r[8] + 0x00000014u;
/* 028EAC08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028EAC0C */ cpu->ctr = cpu->r[9];
/* 028EAC10 */ _t7 = cpu->r[29] + 0x00000000u;
/* 028EAC10 */ cpu->r[27] = rbrew_read32(cpu->mem, _t7);
/* 028EAC14 */ cpu->r[3] = cpu->r[28];
/* 028EAC18 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAC1C */ _t8 = cpu->r[28] + 0x00000000u;
/* 028EAC1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028EAC20 */ cpu->r[31] = 0x10110000u;
/* 028EAC24 */ _t9 = cpu->r[31] + 0x00007399u;
/* 028EAC24 */ cpu->r[31] = rbrew_read8(cpu->mem, _t9);
/* 028EAC28 */ _t10 = cpu->r[8] + 0x00000000u;
/* 028EAC28 */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
/* 028EAC2C */ cpu->r[30] = 0x00000000u;
/* 028EAC30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028EAC34 */ cpu->r[9] = 0x00080000u;
/* 028EAC38 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAC38 */ _t12 = _t11 & 0x00000001u;
/* 028EAC38 */ if (_t12) goto L_028EAC60; else goto L_028EAC3C;
L_028EAC3C: ; // 0x28eac3c
/* 028EAC3C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028EAC40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028EAC44 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028EAC48 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EAC48 */ _t14 = _t13 & 0x00000001u;
/* 028EAC48 */ if (_t14) goto L_028EAC5C; else goto L_028EAC4C;
L_028EAC4C: ; // 0x28eac4c
/* 028EAC4C */ _t15 = cpu->r[8] + 0x00000000u;
/* 028EAC4C */ cpu->r[11] = rbrew_read8(cpu->mem, _t15);
/* 028EAC50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028EAC54 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAC54 */ _t17 = _t16 & 0x00000001u;
/* 028EAC54 */ if (_t17) goto L_028EAC58; else goto L_028EAC3C;
L_028EAC58: ; // 0x28eac58
/* 028EAC58 */ goto L_028EAC60;
L_028EAC5C: ; // 0x28eac5c
/* 028EAC5C */ cpu->r[30] = 0x00000000u;
L_028EAC60: ; // 0x28eac60
/* 028EAC60 */ _t18 = cpu->r[29] + 0x00000008u;
/* 028EAC60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028EAC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028EAC68 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAC68 */ _t20 = _t19 & 0x00000001u;
/* 028EAC68 */ if (_t20) goto L_028EAC70; else goto L_028EAC6C;
L_028EAC6C: ; // 0x28eac6c
/* 028EAC6C */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
L_028EAC70: ; // 0x28eac70
/* 028EAC70 */ _t21 = cpu->r[28] + 0x00000004u;
/* 028EAC70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028EAC74 */ _t22 = cpu->r[12] + 0x00000014u;
/* 028EAC74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028EAC78 */ cpu->ctr = cpu->r[0];
/* 028EAC7C */ cpu->r[3] = cpu->r[28];
/* 028EAC80 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAC84 */ _t23 = cpu->r[28] + 0x00000000u;
/* 028EAC84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
/* 028EAC88 */ cpu->r[6] = 0x00000000u;
/* 028EAC8C */ cpu->r[5] = cpu->r[30];
/* 028EAC90 */ cpu->r[3] = cpu->r[27];
/* 028EAC94 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028EAC98 */ _t24 = cpu->r[27] + cpu->r[30];
/* 028EAC98 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
/* 028EAC9C */ _t25 = cpu->r[28] + 0x0000004Cu;
/* 028EAC9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
/* 028EACA0 */ _t26 = cpu->r[29] + 0x0000004Cu;
/* 028EACA0 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
/* 028EACA4 */ _t27 = cpu->r[28] + 0x00000050u;
/* 028EACA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028EACA8 */ _t28 = cpu->r[29] + 0x00000050u;
/* 028EACA8 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028EACAC */ _t29 = cpu->r[28] + 0x00000058u;
/* 028EACAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
/* 028EACB0 */ _t30 = cpu->r[7] + 0x00000014u;
/* 028EACB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
/* 028EACB4 */ cpu->ctr = cpu->r[8];
/* 028EACB8 */ _t31 = cpu->r[29] + 0x00000054u;
/* 028EACB8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t31);
/* 028EACBC */ cpu->r[3] = cpu->r[28] + 0x00000054u;
/* 028EACC0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EACC4 */ _t32 = cpu->r[28] + 0x00000054u;
/* 028EACC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
/* 028EACC8 */ _t33 = cpu->r[5] + 0x00000000u;
/* 028EACC8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t33);
/* 028EACCC */ cpu->r[30] = 0x00000000u;
/* 028EACD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028EACD4 */ cpu->r[6] = 0x00080000u;
/* 028EACD8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EACD8 */ _t35 = _t34 & 0x00000001u;
/* 028EACD8 */ if (_t35) goto L_028EAD00; else goto L_028EACDC;
L_028EACDC: ; // 0x28eacdc
/* 028EACDC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028EACE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
/* 028EACE4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028EACE8 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EACE8 */ _t37 = _t36 & 0x00000001u;
/* 028EACE8 */ if (_t37) goto L_028EACFC; else goto L_028EACEC;
L_028EACEC: ; // 0x28eacec
/* 028EACEC */ _t38 = cpu->r[5] + 0x00000000u;
/* 028EACEC */ cpu->r[10] = rbrew_read8(cpu->mem, _t38);
/* 028EACF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028EACF4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EACF4 */ _t40 = _t39 & 0x00000001u;
/* 028EACF4 */ if (_t40) goto L_028EACF8; else goto L_028EACDC;
L_028EACF8: ; // 0x28eacf8
/* 028EACF8 */ goto L_028EAD00;
L_028EACFC: ; // 0x28eacfc
/* 028EACFC */ cpu->r[30] = 0x00000000u;
L_028EAD00: ; // 0x28ead00
/* 028EAD00 */ _t41 = cpu->r[29] + 0x0000005Cu;
/* 028EAD00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
/* 028EAD04 */ _t42 = cpu->r[28] + 0x00000058u;
/* 028EAD04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
/* 028EAD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
/* 028EAD0C */ _t43 = cpu->r[11] + 0x00000014u;
/* 028EAD0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028EAD10 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAD10 */ _t45 = _t44 & 0x00000001u;
/* 028EAD10 */ if (_t45) goto L_028EAD18; else goto L_028EAD14;
L_028EAD14: ; // 0x28ead14
/* 028EAD14 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
L_028EAD18: ; // 0x28ead18
/* 028EAD18 */ cpu->ctr = cpu->r[12];
/* 028EAD1C */ cpu->r[3] = cpu->r[28] + 0x00000054u;
/* 028EAD20 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAD24 */ _t46 = cpu->r[28] + 0x00000054u;
/* 028EAD24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
/* 028EAD28 */ cpu->r[3] = cpu->r[27];
/* 028EAD2C */ cpu->r[5] = cpu->r[30];
/* 028EAD30 */ cpu->r[6] = 0x00000000u;
/* 028EAD34 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028EAD38 */ _t47 = cpu->r[27] + cpu->r[30];
/* 028EAD38 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[31]);
/* 028EAD3C */ _t48 = cpu->r[28] + 0x000000E0u;
/* 028EAD3C */ cpu->r[0] = rbrew_read16(cpu->mem, _t48);
/* 028EAD40 */ _t49 = cpu->r[29] + 0x000000E0u;
/* 028EAD40 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[0]);
/* 028EAD44 */ _t50 = cpu->r[28] + 0x000000E4u;
/* 028EAD44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50);
/* 028EAD48 */ cpu->r[5] = 0x00000040u;
/* 028EAD4C */ _t51 = cpu->r[29] + 0x000000E4u;
/* 028EAD4C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
/* 028EAD50 */ _t52 = cpu->r[28] + 0x000000E8u;
/* 028EAD50 */ cpu->r[7] = rbrew_read16(cpu->mem, _t52);
/* 028EAD54 */ cpu->r[4] = cpu->r[28] + 0x000000ECu;
/* 028EAD58 */ cpu->r[3] = cpu->r[29] + 0x000000ECu;
/* 028EAD5C */ _t53 = cpu->r[29] + 0x000000E8u;
/* 028EAD5C */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[7]);
/* 028EAD60 */ rbrew_dispatch(cpu, 0x02d0b870u);
/* 028EAD64 */ _t54 = cpu->r[28] + 0x0000012Cu;
/* 028EAD64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
/* 028EAD68 */ _t55 = cpu->r[29] + 0x0000012Cu;
/* 028EAD68 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
/* 028EAD6C */ _t56 = cpu->r[28] + 0x00000130u;
/* 028EAD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028EAD70 */ _t57 = cpu->r[29] + 0x00000130u;
/* 028EAD70 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
/* 028EAD74 */ _t58 = cpu->r[28] + 0x00000134u;
/* 028EAD74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
/* 028EAD78 */ _t59 = cpu->r[29] + 0x00000134u;
/* 028EAD78 */ rbrew_write32(cpu->mem, _t59, cpu->r[5]);
/* 028EAD7C */ _t60 = cpu->r[28] + 0x00000138u;
/* 028EAD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
/* 028EAD80 */ _t61 = cpu->r[29] + 0x00000138u;
/* 028EAD80 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
L_028EAD84: ; // 0x28ead84
/* 028EAD84 */ /* nop */
/* 028EAD88 */ _t62 = cpu->r[1] + 0x00000024u;
/* 028EAD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028EAD8C */ cpu->lr = cpu->r[0];
/* 028EAD90 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EAD94 */ return;
}
// fn_028EAD98 @ 0x28ead98
void Gambit_fn_028EAD98(CPUState* cpu) {
uint32_t _t0, _t1;
L_028EAD98: ; // 0x28ead98
/* 028EAD98 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028EAD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028EAD9C */ _t1 = cpu->r[3] + 0x00000004u;
/* 028EAD9C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028EADA0 */ return;
}
// fn_028EADA4 @ 0x28eada4
void Gambit_fn_028EADA4(CPUState* cpu) {
uint32_t _t0;
L_028EADA4: ; // 0x28eada4
/* 028EADA4 */ _t0 = cpu->r[3] + 0x00000008u;
/* 028EADA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
/* 028EADA8 */ return;
}
// fn_028EADAC @ 0x28eadac
void Gambit_fn_028EADAC(CPUState* cpu) {
uint32_t _t0, _t1;
L_028EADAC: ; // 0x28eadac
/* 028EADAC */ _t0 = cpu->r[3] + 0x0000000Cu;
/* 028EADAC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
/* 028EADB0 */ _t1 = cpu->r[3] + 0x00000010u;
/* 028EADB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
/* 028EADB4 */ return;
}
// fn_028EADB8 @ 0x28eadb8
void Gambit_fn_028EADB8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028EADB8: ; // 0x28eadb8
/* 028EADB8 */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028EADB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028EADBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EADC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EADC0 */ _t2 = _t1 & 0x00000001u;
/* 028EADC0 */ if (_t2) goto L_028EADE4; else goto L_028EADC4;
L_028EADC4: ; // 0x28eadc4
/* 028EADC4 */ _t3 = cpu->r[11] + 0x00000050u;
/* 028EADC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028EADC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EADCC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EADCC */ _t5 = _t4 & 0x00000001u;
/* 028EADCC */ if (_t5) goto L_028EADE4; else goto L_028EADD0;
L_028EADD0: ; // 0x28eadd0
/* 028EADD0 */ cpu->r[0] = 0x46570000u;
/* 028EADD4 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028EADD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028EADD8 */ cpu->r[0] = cpu->r[0] | 0x00004156u;
/* 028EADDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
/* 028EADE0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EADE0 */ _t8 = _t7 & 0x00000001u;
/* 028EADE0 */ if (_t8) goto L_028EADEC; else goto L_028EADE4;
L_028EADE4: ; // 0x28eade4
/* 028EADE4 */ cpu->r[3] = 0x00000000u;
/* 028EADE8 */ return;
L_028EADEC: ; // 0x28eadec
/* 028EADEC */ _t9 = cpu->r[4] + 0x00000000u;
/* 028EADEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028EADF0 */ cpu->r[10] = cpu->r[10] | 0x00000040u;
/* 028EADF4 */ _t10 = cpu->r[4] + 0x00000000u;
/* 028EADF4 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
/* 028EADF8 */ _t11 = cpu->r[3] + 0x0000001Cu;
/* 028EADF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028EADFC */ cpu->r[11] = 0x00000000u;
/* 028EAE00 */ _t12 = cpu->r[12] + 0x00000050u;
/* 028EAE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EAE04 */ _t13 = cpu->r[4] + 0x000000CCu;
/* 028EAE04 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
/* 028EAE08 */ cpu->r[3] = 0x00000001u;
/* 028EAE0C */ _t14 = cpu->r[4] + 0x000000C8u;
/* 028EAE0C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028EAE10 */ return;
}
// fn_028EAE14 @ 0x28eae14
void Gambit_fn_028EAE14(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76;
L_028EAE14: ; // 0x28eae14
/* 028EAE14 */ cpu->r[0] = cpu->lr;
/* 028EAE18 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EAE18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EAE18 */ cpu->r[1] = _t0;
/* 028EAE1C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028EAE1C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028EAE20 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028EAE20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028EAE24 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028EAE24 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028EAE28 */ cpu->r[30] = cpu->r[3];
/* 028EAE2C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028EAE2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EAE30 */ _t5 = cpu->r[30] + 0x0000001Cu;
/* 028EAE30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028EAE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EAE38 */ cpu->r[31] = cpu->r[4];
/* 028EAE3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAE3C */ _t7 = _t6 & 0x00000001u;
/* 028EAE3C */ if (_t7) goto L_028EAE80; else goto L_028EAE40;
L_028EAE40: ; // 0x28eae40
/* 028EAE40 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028EAE40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028EAE44 */ cpu->r[12] = cpu->r[12] | 0x00000420u;
/* 028EAE48 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028EAE48 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028EAE4C */ _t10 = cpu->r[30] + 0x0000001Cu;
/* 028EAE4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028EAE50 */ Gambit_fn_028E6168(cpu);
/* 028EAE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EAE58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAE58 */ _t12 = _t11 & 0x00000001u;
/* 028EAE58 */ if (_t12) goto L_028EAEA4; else goto L_028EAE5C;
L_028EAE5C: ; // 0x28eae5c
/* 028EAE5C */ cpu->r[12] = 0x101D0000u;
/* 028EAE60 */ _t13 = cpu->r[12] + 0xFFFF9A84u;
/* 028EAE60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028EAE64 */ _t14 = cpu->r[12] + 0x00000034u;
/* 028EAE64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
/* 028EAE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EAE6C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAE6C */ _t16 = _t15 & 0x00000001u;
/* 028EAE6C */ if (_t16) goto L_028EAEA4; else goto L_028EAE70;
L_028EAE70: ; // 0x28eae70
/* 028EAE70 */ _t17 = cpu->r[30] + 0x0000001Cu;
/* 028EAE70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
/* 028EAE74 */ _t18 = cpu->r[6] + 0x00000050u;
/* 028EAE74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
/* 028EAE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028EAE7C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAE7C */ _t20 = _t19 & 0x00000001u;
/* 028EAE7C */ if (_t20) goto L_028EAE80; else goto L_028EAEA0;
L_028EAE80: ; // 0x28eae80
/* 028EAE80 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028EAE80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
/* 028EAE84 */ _t22 = cpu->r[1] + 0x00000024u;
/* 028EAE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028EAE88 */ _t23 = cpu->r[1] + 0x00000018u;
/* 028EAE88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028EAE8C */ cpu->lr = cpu->r[0];
/* 028EAE90 */ _t24 = cpu->r[1] + 0x0000001Cu;
/* 028EAE90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028EAE94 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EAE98 */ cpu->r[3] = 0x00000000u;
/* 028EAE9C */ return;
L_028EAEA0: ; // 0x28eaea0
/* 028EAEA0 */ _t25 = cpu->r[31] + 0x0000003Cu;
/* 028EAEA0 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
L_028EAEA4: ; // 0x28eaea4
/* 028EAEA4 */ _t26 = cpu->r[30] + 0x0000001Cu;
/* 028EAEA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028EAEA8 */ _t27 = cpu->r[29] + 0x00000058u;
/* 028EAEA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
/* 028EAEAC */ _t28 = cpu->r[8] + 0x00000014u;
/* 028EAEAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
/* 028EAEB0 */ cpu->ctr = cpu->r[9];
/* 028EAEB4 */ cpu->r[3] = cpu->r[29] + 0x00000054u;
/* 028EAEB8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAEBC */ _t29 = cpu->r[29] + 0x00000054u;
/* 028EAEBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028EAEC0 */ _t30 = cpu->r[31] + 0x00000030u;
/* 028EAEC0 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
/* 028EAEC4 */ _t31 = cpu->r[30] + 0x0000000Cu;
/* 028EAEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028EAEC8 */ cpu->r[7] = 0x00000001u;
/* 028EAECC */ _t32 = cpu->r[31] + 0x00000034u;
/* 028EAECC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028EAED0 */ _t33 = cpu->r[30] + 0x00000010u;
/* 028EAED0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
/* 028EAED4 */ _t34 = cpu->r[31] + 0x000000C0u;
/* 028EAED4 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
/* 028EAED8 */ cpu->r[12] = 0x10140000u;
/* 028EAEDC */ _t35 = cpu->r[31] + 0x00000038u;
/* 028EAEDC */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
/* 028EAEE0 */ _t36 = cpu->r[30] + 0x0000001Cu;
/* 028EAEE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
/* 028EAEE4 */ _t37 = cpu->r[12] + 0xFFFFBD80u;
/* 028EAEE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
/* 028EAEE8 */ cpu->r[10] = 0x0000007Fu;
/* 028EAEEC */ _t38 = cpu->r[8] + 0x000000E0u;
/* 028EAEEC */ cpu->r[9] = rbrew_read16(cpu->mem, _t38);
/* 028EAEF0 */ _t39 = cpu->r[31] + 0x0000004Cu;
/* 028EAEF0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[10]);
/* 028EAEF4 */ _t40 = cpu->r[31] + 0x00000046u;
/* 028EAEF4 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[9]);
/* 028EAEF8 */ cpu->r[29] = 0x00000000u;
/* 028EAEFC */ _t41 = cpu->r[31] + 0x00000048u;
/* 028EAEFC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
/* 028EAF00 */ _t42 = cpu->r[31] + 0x00000044u;
/* 028EAF00 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[29]);
/* 028EAF04 */ _t43 = cpu->r[30] + 0x0000001Cu;
/* 028EAF04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028EAF08 */ _t44 = cpu->r[12] + 0x000000E8u;
/* 028EAF08 */ cpu->r[6] = rbrew_read16(cpu->mem, _t44);
/* 028EAF0C */ cpu->r[3] = cpu->r[29];
/* 028EAF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[6]);
/* 028EAF14 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAF14 */ _t46 = _t45 & 0x00000001u;
/* 028EAF14 */ if (_t46) goto L_028EAF18; else goto L_028EAFDC;
L_028EAF18: ; // 0x28eaf18
/* 028EAF18 */ cpu->r[10] = 0x10140000u;
/* 028EAF1C */ cpu->r[5] = 0x00000000u;
/* 028EAF20 */ cpu->r[6] = 0x0000007Fu;
/* 028EAF24 */ _t47 = cpu->r[10] + 0xFFFFBD88u;
/* 028EAF24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
/* 028EAF28 */ cpu->r[11] = cpu->r[5];
/* 028EAF2C */ cpu->r[12] = cpu->r[5];
/* 028EAF30 */ goto L_028EAF3C;
L_028EAF34: ; // 0x28eaf34
/* 028EAF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000008u);
/* 028EAF38 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAF38 */ _t49 = _t48 & 0x00000001u;
/* 028EAF38 */ if (_t49) goto L_028EAF3C; else goto L_028EAFDC;
L_028EAF3C: ; // 0x28eaf3c
/* 028EAF3C */ _t50 = cpu->r[31] + 0x00000044u;
/* 028EAF3C */ cpu->r[7] = rbrew_read16(cpu->mem, _t50);
/* 028EAF40 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000010u, 0x0000001Eu);
/* 028EAF44 */ cpu->r[9] = cpu->r[8] + 0x00000001u;
/* 028EAF48 */ _t51 = cpu->r[31] + 0x00000044u;
/* 028EAF48 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[9]);
/* 028EAF4C */ _t52 = cpu->r[30] + 0x0000001Cu;
/* 028EAF4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
/* 028EAF50 */ cpu->r[4] = cpu->r[10] + cpu->r[11];
/* 028EAF54 */ _t53 = cpu->r[4] + 0x000000ECu;
/* 028EAF54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028EAF54 */ cpu->r[4] = _t53;
/* 028EAF58 */ cpu->r[8] = cpu->r[31] + cpu->r[5];
/* 028EAF5C */ _t54 = cpu->r[8] + 0x0000005Bu;
/* 028EAF5C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
/* 028EAF60 */ _t55 = cpu->r[4] + 0x00000004u;
/* 028EAF60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
/* 028EAF64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 028EAF68 */ cpu->r[8] = cpu->r[8] + 0x00000050u;
/* 028EAF6C */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EAF6C */ _t57 = _t56 & 0x00000001u;
/* 028EAF6C */ if (_t57) goto L_028EAF70; else goto L_028EAF74;
L_028EAF70: ; // 0x28eaf70
/* 028EAF70 */ cpu->f[12] = cpu->f[0];
L_028EAF74: ; // 0x28eaf74
/* 028EAF74 */ cpu->f[12] = cpu->f[12] * cpu->f[13];
/* 028EAF78 */ _t58 = cpu->r[8] + 0x00000003u;
/* 028EAF78 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[12]);
/* 028EAF7C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[12];
/* 028EAF80 */ _t59 = cpu->r[8] + 0x00000004u;
/* 028EAF80 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[6]);
/* 028EAF84 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028EAF88 */ /* nop */
/* 028EAF8C */ _t60 = cpu->r[1] + 0x0000000Bu;
/* 028EAF8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t60);
/* 028EAF90 */ _t61 = cpu->r[8] + 0x00000000u;
/* 028EAF90 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[0]);
/* 028EAF94 */ _t62 = cpu->r[4] + 0x00000000u;
/* 028EAF94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
/* 028EAF98 */ cpu->r[9] = 0x00000000u;
/* 028EAF9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
/* 028EAFA0 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAFA0 */ _t64 = _t63 & 0x00000001u;
/* 028EAFA0 */ if (_t64) goto L_028EAFA4; else goto L_028EAFC0;
L_028EAFA4: ; // 0x28eafa4
/* 028EAFA4 */ cpu->r[10] = cpu->r[8] + 0x0000000Cu;
L_028EAFA8: ; // 0x28eafa8
/* 028EAFA8 */ _t65 = cpu->r[10] + cpu->r[9];
/* 028EAFA8 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[29]);
/* 028EAFAC */ _t66 = cpu->r[4] + 0x00000000u;
/* 028EAFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
/* 028EAFB0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028EAFB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
/* 028EAFB8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028EAFBC */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAFBC */ _t68 = _t67 & 0x00000001u;
/* 028EAFBC */ if (_t68) goto L_028EAFA8; else goto L_028EAFC0;
L_028EAFC0: ; // 0x28eafc0
/* 028EAFC0 */ _t69 = cpu->r[30] + 0x0000001Cu;
/* 028EAFC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
/* 028EAFC4 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
/* 028EAFC8 */ _t70 = cpu->r[10] + 0x000000E8u;
/* 028EAFC8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t70);
/* 028EAFCC */ cpu->r[5] = cpu->r[5] + 0x0000000Eu;
/* 028EAFD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]);
/* 028EAFD4 */ cpu->r[11] = cpu->r[11] + 0x00000008u;
/* 028EAFD8 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAFD8 */ _t72 = _t71 & 0x00000001u;
/* 028EAFD8 */ if (_t72) goto L_028EAF34; else goto L_028EAFDC;
L_028EAFDC: ; // 0x28eafdc
/* 028EAFDC */ _t73 = cpu->r[1] + 0x00000014u;
/* 028EAFDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
/* 028EAFE0 */ _t74 = cpu->r[1] + 0x00000024u;
/* 028EAFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
/* 028EAFE4 */ _t75 = cpu->r[1] + 0x00000018u;
/* 028EAFE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
/* 028EAFE8 */ cpu->lr = cpu->r[0];
/* 028EAFEC */ _t76 = cpu->r[1] + 0x0000001Cu;
/* 028EAFEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
/* 028EAFF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EAFF4 */ cpu->r[3] = 0x00000001u;
/* 028EAFF8 */ return;
}
// fn_028EAE18 @ 0x28eae18
void Gambit_fn_028EAE18(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76;
L_028EAE18: ; // 0x28eae18
/* 028EAE18 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EAE18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EAE18 */ cpu->r[1] = _t0;
/* 028EAE1C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028EAE1C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028EAE20 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028EAE20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028EAE24 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028EAE24 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028EAE28 */ cpu->r[30] = cpu->r[3];
/* 028EAE2C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028EAE2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EAE30 */ _t5 = cpu->r[30] + 0x0000001Cu;
/* 028EAE30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028EAE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EAE38 */ cpu->r[31] = cpu->r[4];
/* 028EAE3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAE3C */ _t7 = _t6 & 0x00000001u;
/* 028EAE3C */ if (_t7) goto L_028EAE80; else goto L_028EAE40;
L_028EAE40: ; // 0x28eae40
/* 028EAE40 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028EAE40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028EAE44 */ cpu->r[12] = cpu->r[12] | 0x00000420u;
/* 028EAE48 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028EAE48 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028EAE4C */ _t10 = cpu->r[30] + 0x0000001Cu;
/* 028EAE4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028EAE50 */ Gambit_fn_028E6168(cpu);
/* 028EAE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EAE58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAE58 */ _t12 = _t11 & 0x00000001u;
/* 028EAE58 */ if (_t12) goto L_028EAEA4; else goto L_028EAE5C;
L_028EAE5C: ; // 0x28eae5c
/* 028EAE5C */ cpu->r[12] = 0x101D0000u;
/* 028EAE60 */ _t13 = cpu->r[12] + 0xFFFF9A84u;
/* 028EAE60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028EAE64 */ _t14 = cpu->r[12] + 0x00000034u;
/* 028EAE64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
/* 028EAE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EAE6C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAE6C */ _t16 = _t15 & 0x00000001u;
/* 028EAE6C */ if (_t16) goto L_028EAEA4; else goto L_028EAE70;
L_028EAE70: ; // 0x28eae70
/* 028EAE70 */ _t17 = cpu->r[30] + 0x0000001Cu;
/* 028EAE70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
/* 028EAE74 */ _t18 = cpu->r[6] + 0x00000050u;
/* 028EAE74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
/* 028EAE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028EAE7C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EAE7C */ _t20 = _t19 & 0x00000001u;
/* 028EAE7C */ if (_t20) goto L_028EAE80; else goto L_028EAEA0;
L_028EAE80: ; // 0x28eae80
/* 028EAE80 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028EAE80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
/* 028EAE84 */ _t22 = cpu->r[1] + 0x00000024u;
/* 028EAE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028EAE88 */ _t23 = cpu->r[1] + 0x00000018u;
/* 028EAE88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028EAE8C */ cpu->lr = cpu->r[0];
/* 028EAE90 */ _t24 = cpu->r[1] + 0x0000001Cu;
/* 028EAE90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028EAE94 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EAE98 */ cpu->r[3] = 0x00000000u;
/* 028EAE9C */ return;
L_028EAEA0: ; // 0x28eaea0
/* 028EAEA0 */ _t25 = cpu->r[31] + 0x0000003Cu;
/* 028EAEA0 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
L_028EAEA4: ; // 0x28eaea4
/* 028EAEA4 */ _t26 = cpu->r[30] + 0x0000001Cu;
/* 028EAEA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028EAEA8 */ _t27 = cpu->r[29] + 0x00000058u;
/* 028EAEA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
/* 028EAEAC */ _t28 = cpu->r[8] + 0x00000014u;
/* 028EAEAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
/* 028EAEB0 */ cpu->ctr = cpu->r[9];
/* 028EAEB4 */ cpu->r[3] = cpu->r[29] + 0x00000054u;
/* 028EAEB8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EAEBC */ _t29 = cpu->r[29] + 0x00000054u;
/* 028EAEBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028EAEC0 */ _t30 = cpu->r[31] + 0x00000030u;
/* 028EAEC0 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
/* 028EAEC4 */ _t31 = cpu->r[30] + 0x0000000Cu;
/* 028EAEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028EAEC8 */ cpu->r[7] = 0x00000001u;
/* 028EAECC */ _t32 = cpu->r[31] + 0x00000034u;
/* 028EAECC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028EAED0 */ _t33 = cpu->r[30] + 0x00000010u;
/* 028EAED0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
/* 028EAED4 */ _t34 = cpu->r[31] + 0x000000C0u;
/* 028EAED4 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
/* 028EAED8 */ cpu->r[12] = 0x10140000u;
/* 028EAEDC */ _t35 = cpu->r[31] + 0x00000038u;
/* 028EAEDC */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
/* 028EAEE0 */ _t36 = cpu->r[30] + 0x0000001Cu;
/* 028EAEE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
/* 028EAEE4 */ _t37 = cpu->r[12] + 0xFFFFBD80u;
/* 028EAEE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
/* 028EAEE8 */ cpu->r[10] = 0x0000007Fu;
/* 028EAEEC */ _t38 = cpu->r[8] + 0x000000E0u;
/* 028EAEEC */ cpu->r[9] = rbrew_read16(cpu->mem, _t38);
/* 028EAEF0 */ _t39 = cpu->r[31] + 0x0000004Cu;
/* 028EAEF0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[10]);
/* 028EAEF4 */ _t40 = cpu->r[31] + 0x00000046u;
/* 028EAEF4 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[9]);
/* 028EAEF8 */ cpu->r[29] = 0x00000000u;
/* 028EAEFC */ _t41 = cpu->r[31] + 0x00000048u;
/* 028EAEFC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
/* 028EAF00 */ _t42 = cpu->r[31] + 0x00000044u;
/* 028EAF00 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[29]);
/* 028EAF04 */ _t43 = cpu->r[30] + 0x0000001Cu;
/* 028EAF04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028EAF08 */ _t44 = cpu->r[12] + 0x000000E8u;
/* 028EAF08 */ cpu->r[6] = rbrew_read16(cpu->mem, _t44);
/* 028EAF0C */ cpu->r[3] = cpu->r[29];
/* 028EAF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[6]);
/* 028EAF14 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAF14 */ _t46 = _t45 & 0x00000001u;
/* 028EAF14 */ if (_t46) goto L_028EAF18; else goto L_028EAFDC;
L_028EAF18: ; // 0x28eaf18
/* 028EAF18 */ cpu->r[10] = 0x10140000u;
/* 028EAF1C */ cpu->r[5] = 0x00000000u;
/* 028EAF20 */ cpu->r[6] = 0x0000007Fu;
/* 028EAF24 */ _t47 = cpu->r[10] + 0xFFFFBD88u;
/* 028EAF24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
/* 028EAF28 */ cpu->r[11] = cpu->r[5];
/* 028EAF2C */ cpu->r[12] = cpu->r[5];
/* 028EAF30 */ goto L_028EAF3C;
L_028EAF34: ; // 0x28eaf34
/* 028EAF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000008u);
/* 028EAF38 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAF38 */ _t49 = _t48 & 0x00000001u;
/* 028EAF38 */ if (_t49) goto L_028EAF3C; else goto L_028EAFDC;
L_028EAF3C: ; // 0x28eaf3c
/* 028EAF3C */ _t50 = cpu->r[31] + 0x00000044u;
/* 028EAF3C */ cpu->r[7] = rbrew_read16(cpu->mem, _t50);
/* 028EAF40 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000010u, 0x0000001Eu);
/* 028EAF44 */ cpu->r[9] = cpu->r[8] + 0x00000001u;
/* 028EAF48 */ _t51 = cpu->r[31] + 0x00000044u;
/* 028EAF48 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[9]);
/* 028EAF4C */ _t52 = cpu->r[30] + 0x0000001Cu;
/* 028EAF4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
/* 028EAF50 */ cpu->r[4] = cpu->r[10] + cpu->r[11];
/* 028EAF54 */ _t53 = cpu->r[4] + 0x000000ECu;
/* 028EAF54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028EAF54 */ cpu->r[4] = _t53;
/* 028EAF58 */ cpu->r[8] = cpu->r[31] + cpu->r[5];
/* 028EAF5C */ _t54 = cpu->r[8] + 0x0000005Bu;
/* 028EAF5C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
/* 028EAF60 */ _t55 = cpu->r[4] + 0x00000004u;
/* 028EAF60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
/* 028EAF64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 028EAF68 */ cpu->r[8] = cpu->r[8] + 0x00000050u;
/* 028EAF6C */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EAF6C */ _t57 = _t56 & 0x00000001u;
/* 028EAF6C */ if (_t57) goto L_028EAF70; else goto L_028EAF74;
L_028EAF70: ; // 0x28eaf70
/* 028EAF70 */ cpu->f[12] = cpu->f[0];
L_028EAF74: ; // 0x28eaf74
/* 028EAF74 */ cpu->f[12] = cpu->f[12] * cpu->f[13];
/* 028EAF78 */ _t58 = cpu->r[8] + 0x00000003u;
/* 028EAF78 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[12]);
/* 028EAF7C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[12];
/* 028EAF80 */ _t59 = cpu->r[8] + 0x00000004u;
/* 028EAF80 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[6]);
/* 028EAF84 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028EAF88 */ /* nop */
/* 028EAF8C */ _t60 = cpu->r[1] + 0x0000000Bu;
/* 028EAF8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t60);
/* 028EAF90 */ _t61 = cpu->r[8] + 0x00000000u;
/* 028EAF90 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[0]);
/* 028EAF94 */ _t62 = cpu->r[4] + 0x00000000u;
/* 028EAF94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
/* 028EAF98 */ cpu->r[9] = 0x00000000u;
/* 028EAF9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
/* 028EAFA0 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAFA0 */ _t64 = _t63 & 0x00000001u;
/* 028EAFA0 */ if (_t64) goto L_028EAFA4; else goto L_028EAFC0;
L_028EAFA4: ; // 0x28eafa4
/* 028EAFA4 */ cpu->r[10] = cpu->r[8] + 0x0000000Cu;
L_028EAFA8: ; // 0x28eafa8
/* 028EAFA8 */ _t65 = cpu->r[10] + cpu->r[9];
/* 028EAFA8 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[29]);
/* 028EAFAC */ _t66 = cpu->r[4] + 0x00000000u;
/* 028EAFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
/* 028EAFB0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028EAFB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
/* 028EAFB8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028EAFBC */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAFBC */ _t68 = _t67 & 0x00000001u;
/* 028EAFBC */ if (_t68) goto L_028EAFA8; else goto L_028EAFC0;
L_028EAFC0: ; // 0x28eafc0
/* 028EAFC0 */ _t69 = cpu->r[30] + 0x0000001Cu;
/* 028EAFC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
/* 028EAFC4 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
/* 028EAFC8 */ _t70 = cpu->r[10] + 0x000000E8u;
/* 028EAFC8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t70);
/* 028EAFCC */ cpu->r[5] = cpu->r[5] + 0x0000000Eu;
/* 028EAFD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]);
/* 028EAFD4 */ cpu->r[11] = cpu->r[11] + 0x00000008u;
/* 028EAFD8 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EAFD8 */ _t72 = _t71 & 0x00000001u;
/* 028EAFD8 */ if (_t72) goto L_028EAF34; else goto L_028EAFDC;
L_028EAFDC: ; // 0x28eafdc
/* 028EAFDC */ _t73 = cpu->r[1] + 0x00000014u;
/* 028EAFDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
/* 028EAFE0 */ _t74 = cpu->r[1] + 0x00000024u;
/* 028EAFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
/* 028EAFE4 */ _t75 = cpu->r[1] + 0x00000018u;
/* 028EAFE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
/* 028EAFE8 */ cpu->lr = cpu->r[0];
/* 028EAFEC */ _t76 = cpu->r[1] + 0x0000001Cu;
/* 028EAFEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
/* 028EAFF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EAFF4 */ cpu->r[3] = 0x00000001u;
/* 028EAFF8 */ return;
}
// fn_028EAFFC @ 0x28eaffc
void Gambit_fn_028EAFFC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125;
L_028EAFFC: ; // 0x28eaffc
/* 028EAFFC */ cpu->r[0] = cpu->lr;
/* 028EB000 */ _t0 = cpu->r[1] + 0xFFFFFEE8u;
/* 028EB000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB000 */ cpu->r[1] = _t0;
/* 028EB004 */ _t1 = cpu->r[1] + 0x000000F8u;
/* 028EB004 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028EB008 */ /* nop */
/* 028EB00C */ _t2 = cpu->r[1] + 0x00000108u;
/* 028EB00C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028EB010 */ /* nop */
/* 028EB014 */ _t3 = cpu->r[1] + 0x000000F0u;
/* 028EB014 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028EB018 */ _t4 = cpu->r[1] + 0x00000100u;
/* 028EB018 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
/* 028EB01C */ _t5 = cpu->r[1] + 0x000000F4u;
/* 028EB01C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028EB020 */ _t6 = cpu->r[1] + 0x0000011Cu;
/* 028EB020 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028EB024 */ cpu->r[31] = cpu->r[3];
/* 028EB028 */ _t7 = cpu->r[1] + 0x00000110u;
/* 028EB028 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028EB02C */ cpu->r[30] = cpu->r[4];
/* 028EB030 */ _t8 = cpu->r[1] + 0x000000ECu;
/* 028EB030 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
/* 028EB034 */ _t9 = cpu->r[31] + 0x00000024u;
/* 028EB034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
/* 028EB038 */ cpu->f[31] = cpu->f[1];
/* 028EB03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB040 */ cpu->r[29] = 0x00000000u;
/* 028EB044 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB044 */ _t11 = _t10 & 0x00000001u;
/* 028EB044 */ if (_t11) goto L_028EB210; else goto L_028EB048;
L_028EB048: ; // 0x28eb048
/* 028EB048 */ _t12 = cpu->r[4] + 0x00000000u;
/* 028EB048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EB04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB050 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB050 */ _t14 = _t13 & 0x00000001u;
/* 028EB050 */ if (_t14) goto L_028EB06C; else goto L_028EB054;
L_028EB054: ; // 0x28eb054
/* 028EB054 */ _t15 = cpu->r[4] + 0x00000000u;
/* 028EB054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EB058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB05C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB05C */ _t17 = _t16 & 0x00000001u;
/* 028EB05C */ if (_t17) goto L_028EB06C; else goto L_028EB060;
L_028EB060: ; // 0x28eb060
/* 028EB060 */ _t18 = cpu->r[4] + 0x00000000u;
/* 028EB060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028EB064 */ cpu->r[4] = 0x00000000u;
/* 028EB068 */ Gambit_fn_02C3FCFC(cpu);
L_028EB06C: ; // 0x28eb06c
/* 028EB06C */ _t19 = cpu->r[31] + 0x0000001Cu;
/* 028EB06C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
/* 028EB070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028EB074 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB074 */ _t21 = _t20 & 0x00000001u;
/* 028EB074 */ if (_t21) goto L_028EB210; else goto L_028EB078;
L_028EB078: ; // 0x28eb078
/* 028EB078 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028EB078 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
/* 028EB07C */ cpu->r[10] = cpu->r[1] + 0x00000028u;
/* 028EB080 */ cpu->r[9] = 0x00000004u;
/* 028EB084 */ _t23 = cpu->r[1] + 0x00000024u;
/* 028EB084 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
/* 028EB088 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028EB08C */ cpu->ctr = cpu->r[9];
/* 028EB090 */ _t24 = cpu->r[1] + 0x00000028u;
/* 028EB090 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
L_028EB094: ; // 0x28eb094
/* 028EB094 */ _t25 = cpu->r[10] + 0x00000004u;
/* 028EB094 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
/* 028EB094 */ cpu->r[10] = _t25;
/* 028EB098 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028EB098 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028EB098 */ _t27 = _t26 >> (0x00000002u & 31u);
/* 028EB098 */ _t28 = _t27 & 0x00000001u;
/* 028EB098 */ if (_t28) goto L_028EB094; else goto L_028EB09C;
L_028EB09C: ; // 0x28eb09c
/* 028EB09C */ _t29 = cpu->r[1] + 0x0000003Cu;
/* 028EB09C */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
/* 028EB0A0 */ cpu->r[11] = 0x00000000u;
/* 028EB0A4 */ _t30 = cpu->r[1] + 0x00000040u;
/* 028EB0A4 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
/* 028EB0A8 */ cpu->r[10] = 0x10140000u;
/* 028EB0AC */ _t31 = cpu->r[1] + 0x00000052u;
/* 028EB0AC */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[11]);
/* 028EB0B0 */ cpu->r[5] = 0x0000000Eu;
/* 028EB0B4 */ _t32 = cpu->r[10] + 0xFFFFBD80u;
/* 028EB0B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t32);
/* 028EB0B8 */ _t33 = cpu->r[1] + 0x00000044u;
/* 028EB0B8 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
/* 028EB0BC */ cpu->r[0] = 0x0000007Fu;
/* 028EB0C0 */ _t34 = cpu->r[1] + 0x00000054u;
/* 028EB0C0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[30]);
/* 028EB0C4 */ cpu->r[6] = 0x028F0000u;
/* 028EB0C8 */ _t35 = cpu->r[1] + 0x0000004Cu;
/* 028EB0C8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[11]);
/* 028EB0CC */ _t36 = cpu->r[1] + 0x00000050u;
/* 028EB0CC */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[11]);
/* 028EB0D0 */ cpu->r[4] = 0x00000008u;
/* 028EB0D4 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
/* 028EB0D8 */ _t37 = cpu->r[1] + 0x00000058u;
/* 028EB0D8 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
/* 028EB0DC */ cpu->r[6] = cpu->r[6] + 0xFFFFBB0Cu;
/* 028EB0E0 */ _t38 = cpu->r[1] + 0x00000048u;
/* 028EB0E0 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
/* 028EB0E4 */ Gambit_fn_02C82E00(cpu);
/* 028EB0E8 */ cpu->r[3] = cpu->r[1] + 0x00000059u;
/* 028EB0EC */ _t39 = cpu->r[1] + 0x000000CCu;
/* 028EB0EC */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
/* 028EB0F0 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028EB0F4 */ cpu->r[5] = 0x00000003u;
/* 028EB0F8 */ cpu->r[4] = 0x00000000u;
/* 028EB0FC */ _t40 = cpu->r[1] + 0x000000D0u;
/* 028EB0FC */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
/* 028EB100 */ rbrew_dispatch(cpu, 0x02d0b880u);
/* 028EB104 */ _t41 = cpu->r[31] + 0x00000008u;
/* 028EB104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
/* 028EB108 */ cpu->r[0] = 0x00000000u;
/* 028EB10C */ _t42 = cpu->r[1] + 0x000000E4u;
/* 028EB10C */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
/* 028EB110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EB114 */ _t43 = cpu->r[1] + 0x000000DCu;
/* 028EB114 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]);
/* 028EB118 */ _t44 = cpu->r[31] + 0x0000001Cu;
/* 028EB118 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
/* 028EB11C */ _t45 = cpu->r[1] + 0x000000D8u;
/* 028EB11C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[29]);
/* 028EB120 */ _t46 = cpu->r[1] + 0x000000E8u;
/* 028EB120 */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
/* 028EB124 */ _t47 = cpu->r[1] + 0x000000D4u;
/* 028EB124 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
/* 028EB128 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB128 */ _t49 = _t48 & 0x00000001u;
/* 028EB128 */ if (_t49) goto L_028EB144; else goto L_028EB12C;
L_028EB12C: ; // 0x28eb12c
/* 028EB12C */ _t50 = cpu->r[1] + 0x0000000Cu;
/* 028EB12C */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
/* 028EB130 */ cpu->r[0] = 0x00000002u;
/* 028EB134 */ _t51 = cpu->r[1] + 0x00000014u;
/* 028EB134 */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
/* 028EB138 */ cpu->r[11] = cpu->r[11] | 0x00000001u;
/* 028EB13C */ _t52 = cpu->r[1] + 0x00000010u;
/* 028EB13C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028EB140 */ _t53 = cpu->r[1] + 0x0000000Cu;
/* 028EB140 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
L_028EB144: ; // 0x28eb144
/* 028EB144 */ _t54 = cpu->r[9] + 0x0000004Cu;
/* 028EB144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028EB148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB14C */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB14C */ _t56 = _t55 & 0x00000001u;
/* 028EB14C */ if (_t56) goto L_028EB188; else goto L_028EB150;
L_028EB150: ; // 0x28eb150
/* 028EB150 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB150 */ _t58 = _t57 & 0x00000001u;
/* 028EB150 */ if (_t58) goto L_028EB1B8; else goto L_028EB154;
L_028EB154: ; // 0x28eb154
/* 028EB154 */ _t59 = cpu->r[1] + 0x000000ECu;
/* 028EB154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
/* 028EB158 */ _t60 = cpu->r[1] + 0x000000F4u;
/* 028EB158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
/* 028EB15C */ _t61 = cpu->r[1] + 0x00000110u;
/* 028EB15C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t61);
/* 028EB160 */ _t62 = cpu->r[1] + 0x00000100u;
/* 028EB160 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t62);
/* 028EB164 */ _t63 = cpu->r[1] + 0x00000108u;
/* 028EB164 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t63);
/* 028EB168 */ _t64 = cpu->r[1] + 0x000000F8u;
/* 028EB168 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t64);
/* 028EB16C */ _t65 = cpu->r[1] + 0x000000F0u;
/* 028EB16C */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
/* 028EB170 */ cpu->r[3] = 0x00000000u;
/* 028EB174 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB174 */ _t67 = _t66 & 0x00000001u;
/* 028EB174 */ if (_t67) goto L_028EB178; // else: addr-0 trap, fall-through
L_028EB178: ; // 0x28eb178
/* 028EB178 */ _t68 = cpu->r[1] + 0x0000011Cu;
/* 028EB178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028EB17C */ cpu->lr = cpu->r[0];
/* 028EB180 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028EB184 */ return;
L_028EB188: ; // 0x28eb188
/* 028EB188 */ cpu->r[3] = cpu->r[31];
/* 028EB18C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028EB190 */ Gambit_fn_028EADB8(cpu);
/* 028EB194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB198 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB198 */ _t70 = _t69 & 0x00000001u;
/* 028EB198 */ if (_t70) goto L_028EB210; else goto L_028EB19C;
L_028EB19C: ; // 0x28eb19c
/* 028EB19C */ cpu->r[3] = 0x101D0000u;
/* 028EB1A0 */ _t71 = cpu->r[3] + 0xFFFF9B0Cu;
/* 028EB1A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
/* 028EB1A4 */ cpu->r[5] = 0x01000000u;
/* 028EB1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB1AC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028EB1B0 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1B0 */ _t73 = _t72 & 0x00000001u;
/* 028EB1B0 */ if (_t73) goto L_028EB244; else goto L_028EB1B4;
L_028EB1B4: ; // 0x28eb1b4
/* 028EB1B4 */ goto L_028EB1E0;
L_028EB1B8: ; // 0x28eb1b8
/* 028EB1B8 */ cpu->r[3] = cpu->r[31];
/* 028EB1BC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028EB1C0 */ Gambit_fn_028EAE14(cpu);
/* 028EB1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB1C8 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1C8 */ _t75 = _t74 & 0x00000001u;
/* 028EB1C8 */ if (_t75) goto L_028EB210; else goto L_028EB1CC;
L_028EB1CC: ; // 0x28eb1cc
/* 028EB1CC */ cpu->r[3] = 0x101D0000u;
/* 028EB1D0 */ _t76 = cpu->r[3] + 0xFFFF9B0Cu;
/* 028EB1D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
/* 028EB1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB1D8 */ cpu->r[5] = 0x01000000u;
/* 028EB1DC */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1DC */ _t78 = _t77 & 0x00000001u;
/* 028EB1DC */ if (_t78) goto L_028EB244; else goto L_028EB1E0;
L_028EB1E0: ; // 0x28eb1e0
/* 028EB1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028EB1E4 */ _t79 = cpu->r[31] + 0x00000024u;
/* 028EB1E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
/* 028EB1E8 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1E8 */ _t81 = _t80 & 0x00000001u;
/* 028EB1E8 */ if (_t81) goto L_028EB200; else goto L_028EB1EC;
L_028EB1EC: ; // 0x28eb1ec
/* 028EB1EC */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
/* 028EB1F0 */ Gambit_fn_02C1E66C(cpu);
/* 028EB1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB1F8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1F8 */ _t83 = _t82 & 0x00000001u;
/* 028EB1F8 */ if (_t83) goto L_028EB1FC; else goto L_028EB210;
L_028EB1FC: ; // 0x28eb1fc
/* 028EB1FC */ goto L_028EB244;
L_028EB200: ; // 0x28eb200
/* 028EB200 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
/* 028EB204 */ Gambit_fn_02C1E5F8(cpu);
/* 028EB208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB20C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB20C */ _t85 = _t84 & 0x00000001u;
/* 028EB20C */ if (_t85) goto L_028EB244; else goto L_028EB210;
L_028EB210: ; // 0x28eb210
/* 028EB210 */ _t86 = cpu->r[1] + 0x000000ECu;
/* 028EB210 */ cpu->r[29] = rbrew_read32(cpu->mem, _t86);
/* 028EB214 */ _t87 = cpu->r[1] + 0x000000F4u;
/* 028EB214 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
/* 028EB218 */ _t88 = cpu->r[1] + 0x00000110u;
/* 028EB218 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t88);
/* 028EB21C */ _t89 = cpu->r[1] + 0x00000100u;
/* 028EB21C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t89);
/* 028EB220 */ _t90 = cpu->r[1] + 0x00000108u;
/* 028EB220 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t90);
/* 028EB224 */ _t91 = cpu->r[1] + 0x000000F8u;
/* 028EB224 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t91);
/* 028EB228 */ _t92 = cpu->r[1] + 0x000000F0u;
/* 028EB228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t92);
/* 028EB22C */ cpu->r[3] = 0x00000000u;
/* 028EB230 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB230 */ _t94 = _t93 & 0x00000001u;
/* 028EB230 */ if (_t94) goto L_028EB234; // else: addr-0 trap, fall-through
L_028EB234: ; // 0x28eb234
/* 028EB234 */ _t95 = cpu->r[1] + 0x0000011Cu;
/* 028EB234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
/* 028EB238 */ cpu->lr = cpu->r[0];
/* 028EB23C */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028EB240 */ return;
L_028EB244: ; // 0x28eb244
/* 028EB244 */ cpu->r[12] = 0x101D0000u;
/* 028EB248 */ _t96 = cpu->r[12] + 0xFFFF9B10u;
/* 028EB248 */ cpu->r[9] = rbrew_read8(cpu->mem, _t96);
/* 028EB24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028EB250 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB250 */ _t98 = _t97 & 0x00000001u;
/* 028EB250 */ if (_t98) goto L_028EB284; else goto L_028EB254;
L_028EB254: ; // 0x28eb254
/* 028EB254 */ _t99 = cpu->r[31] + 0x00000024u;
/* 028EB254 */ cpu->r[4] = rbrew_read32(cpu->mem, _t99);
/* 028EB258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB25C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB25C */ _t101 = _t100 & 0x00000001u;
/* 028EB25C */ if (_t101) goto L_028EB284; else goto L_028EB260;
L_028EB260: ; // 0x28eb260
/* 028EB260 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB264 */ Gambit_fn_02C3E40C(cpu);
/* 028EB268 */ _t102 = cpu->r[1] + 0x00000008u;
/* 028EB268 */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
/* 028EB26C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB270 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB270 */ _t104 = _t103 & 0x00000001u;
/* 028EB270 */ if (_t104) goto L_028EB27C; else goto L_028EB274;
L_028EB274: ; // 0x28eb274
/* 028EB274 */ _t105 = cpu->r[31] + 0x00000018u;
/* 028EB274 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
/* 028EB278 */ Gambit_fn_02C43994(cpu);
L_028EB27C: ; // 0x28eb27c
/* 028EB27C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB280 */ Gambit_fn_02C3E528(cpu);
L_028EB284: ; // 0x28eb284
/* 028EB284 */ cpu->r[11] = 0x10140000u;
/* 028EB288 */ _t106 = cpu->r[11] + 0xFFFFBD84u;
/* 028EB288 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t106);
/* 028EB28C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[1]);
/* 028EB290 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB290 */ _t108 = _t107 & 0x00000001u;
/* 028EB290 */ if (_t108) goto L_028EB294; else goto L_028EB2BC;
L_028EB294: ; // 0x28eb294
/* 028EB294 */ cpu->f[2] = cpu->f[1];
/* 028EB298 */ cpu->f[1] = cpu->f[30];
/* 028EB29C */ _t109 = cpu->r[31] + 0x00000020u;
/* 028EB29C */ cpu->r[3] = rbrew_read32(cpu->mem, _t109);
/* 028EB2A0 */ Gambit_fn_028CA1D8(cpu);
/* 028EB2A4 */ cpu->r[3] = cpu->r[31];
/* 028EB2A8 */ _t110 = cpu->r[31] + 0x00000014u;
/* 028EB2A8 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
/* 028EB2AC */ Gambit_fn_028EA858(cpu);
/* 028EB2B0 */ cpu->r[3] = 0x00000001u;
/* 028EB2B4 */ _t111 = cpu->r[31] + 0x00000000u;
/* 028EB2B4 */ rbrew_write32(cpu->mem, _t111, cpu->r[3]);
/* 028EB2B8 */ goto L_028EB2EC;
L_028EB2BC: ; // 0x28eb2bc
/* 028EB2BC */ cpu->f[2] = cpu->f[1];
/* 028EB2C0 */ _t112 = cpu->r[31] + 0x00000020u;
/* 028EB2C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
/* 028EB2C4 */ Gambit_fn_028CA1D8(cpu);
/* 028EB2C8 */ cpu->f[2] = cpu->f[31];
/* 028EB2CC */ _t113 = cpu->r[31] + 0x00000020u;
/* 028EB2CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
/* 028EB2D0 */ cpu->f[1] = cpu->f[30];
/* 028EB2D4 */ Gambit_fn_028CA1D8(cpu);
/* 028EB2D8 */ cpu->r[3] = cpu->r[31];
/* 028EB2DC */ _t114 = cpu->r[31] + 0x00000014u;
/* 028EB2DC */ rbrew_write_f32(cpu->mem, _t114, cpu->f[30]);
/* 028EB2E0 */ Gambit_fn_028EA858(cpu);
/* 028EB2E4 */ cpu->r[3] = 0x00000001u;
/* 028EB2E8 */ _t115 = cpu->r[31] + 0x00000000u;
/* 028EB2E8 */ rbrew_write32(cpu->mem, _t115, cpu->r[3]);
L_028EB2EC: ; // 0x28eb2ec
/* 028EB2EC */ _t116 = cpu->r[1] + 0x000000ECu;
/* 028EB2EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t116);
/* 028EB2F0 */ _t117 = cpu->r[1] + 0x00000110u;
/* 028EB2F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t117);
/* 028EB2F4 */ _t118 = cpu->r[1] + 0x00000100u;
/* 028EB2F4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t118);
/* 028EB2F8 */ _t119 = cpu->r[1] + 0x00000108u;
/* 028EB2F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t119);
/* 028EB2FC */ _t120 = cpu->r[1] + 0x000000F8u;
/* 028EB2FC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t120);
/* 028EB300 */ _t121 = cpu->r[1] + 0x000000F4u;
/* 028EB300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t121);
/* 028EB304 */ _t122 = cpu->r[1] + 0x000000F0u;
/* 028EB304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t122);
/* 028EB308 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB308 */ _t124 = _t123 & 0x00000001u;
/* 028EB308 */ if (_t124) goto L_028EB30C; // else: addr-0 trap, fall-through
L_028EB30C: ; // 0x28eb30c
/* 028EB30C */ _t125 = cpu->r[1] + 0x0000011Cu;
/* 028EB30C */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
/* 028EB310 */ cpu->lr = cpu->r[0];
/* 028EB314 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028EB318 */ return;
}
// fn_028EB000 @ 0x28eb000
void Gambit_fn_028EB000(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125;
L_028EB000: ; // 0x28eb000
/* 028EB000 */ _t0 = cpu->r[1] + 0xFFFFFEE8u;
/* 028EB000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB000 */ cpu->r[1] = _t0;
/* 028EB004 */ _t1 = cpu->r[1] + 0x000000F8u;
/* 028EB004 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028EB008 */ /* nop */
/* 028EB00C */ _t2 = cpu->r[1] + 0x00000108u;
/* 028EB00C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028EB010 */ /* nop */
/* 028EB014 */ _t3 = cpu->r[1] + 0x000000F0u;
/* 028EB014 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028EB018 */ _t4 = cpu->r[1] + 0x00000100u;
/* 028EB018 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
/* 028EB01C */ _t5 = cpu->r[1] + 0x000000F4u;
/* 028EB01C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028EB020 */ _t6 = cpu->r[1] + 0x0000011Cu;
/* 028EB020 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028EB024 */ cpu->r[31] = cpu->r[3];
/* 028EB028 */ _t7 = cpu->r[1] + 0x00000110u;
/* 028EB028 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028EB02C */ cpu->r[30] = cpu->r[4];
/* 028EB030 */ _t8 = cpu->r[1] + 0x000000ECu;
/* 028EB030 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
/* 028EB034 */ _t9 = cpu->r[31] + 0x00000024u;
/* 028EB034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
/* 028EB038 */ cpu->f[31] = cpu->f[1];
/* 028EB03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB040 */ cpu->r[29] = 0x00000000u;
/* 028EB044 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB044 */ _t11 = _t10 & 0x00000001u;
/* 028EB044 */ if (_t11) goto L_028EB210; else goto L_028EB048;
L_028EB048: ; // 0x28eb048
/* 028EB048 */ _t12 = cpu->r[4] + 0x00000000u;
/* 028EB048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EB04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB050 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB050 */ _t14 = _t13 & 0x00000001u;
/* 028EB050 */ if (_t14) goto L_028EB06C; else goto L_028EB054;
L_028EB054: ; // 0x28eb054
/* 028EB054 */ _t15 = cpu->r[4] + 0x00000000u;
/* 028EB054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EB058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB05C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB05C */ _t17 = _t16 & 0x00000001u;
/* 028EB05C */ if (_t17) goto L_028EB06C; else goto L_028EB060;
L_028EB060: ; // 0x28eb060
/* 028EB060 */ _t18 = cpu->r[4] + 0x00000000u;
/* 028EB060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028EB064 */ cpu->r[4] = 0x00000000u;
/* 028EB068 */ Gambit_fn_02C3FCFC(cpu);
L_028EB06C: ; // 0x28eb06c
/* 028EB06C */ _t19 = cpu->r[31] + 0x0000001Cu;
/* 028EB06C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
/* 028EB070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028EB074 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB074 */ _t21 = _t20 & 0x00000001u;
/* 028EB074 */ if (_t21) goto L_028EB210; else goto L_028EB078;
L_028EB078: ; // 0x28eb078
/* 028EB078 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028EB078 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
/* 028EB07C */ cpu->r[10] = cpu->r[1] + 0x00000028u;
/* 028EB080 */ cpu->r[9] = 0x00000004u;
/* 028EB084 */ _t23 = cpu->r[1] + 0x00000024u;
/* 028EB084 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
/* 028EB088 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028EB08C */ cpu->ctr = cpu->r[9];
/* 028EB090 */ _t24 = cpu->r[1] + 0x00000028u;
/* 028EB090 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
L_028EB094: ; // 0x28eb094
/* 028EB094 */ _t25 = cpu->r[10] + 0x00000004u;
/* 028EB094 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
/* 028EB094 */ cpu->r[10] = _t25;
/* 028EB098 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028EB098 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028EB098 */ _t27 = _t26 >> (0x00000002u & 31u);
/* 028EB098 */ _t28 = _t27 & 0x00000001u;
/* 028EB098 */ if (_t28) goto L_028EB094; else goto L_028EB09C;
L_028EB09C: ; // 0x28eb09c
/* 028EB09C */ _t29 = cpu->r[1] + 0x0000003Cu;
/* 028EB09C */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
/* 028EB0A0 */ cpu->r[11] = 0x00000000u;
/* 028EB0A4 */ _t30 = cpu->r[1] + 0x00000040u;
/* 028EB0A4 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
/* 028EB0A8 */ cpu->r[10] = 0x10140000u;
/* 028EB0AC */ _t31 = cpu->r[1] + 0x00000052u;
/* 028EB0AC */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[11]);
/* 028EB0B0 */ cpu->r[5] = 0x0000000Eu;
/* 028EB0B4 */ _t32 = cpu->r[10] + 0xFFFFBD80u;
/* 028EB0B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t32);
/* 028EB0B8 */ _t33 = cpu->r[1] + 0x00000044u;
/* 028EB0B8 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
/* 028EB0BC */ cpu->r[0] = 0x0000007Fu;
/* 028EB0C0 */ _t34 = cpu->r[1] + 0x00000054u;
/* 028EB0C0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[30]);
/* 028EB0C4 */ cpu->r[6] = 0x028F0000u;
/* 028EB0C8 */ _t35 = cpu->r[1] + 0x0000004Cu;
/* 028EB0C8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[11]);
/* 028EB0CC */ _t36 = cpu->r[1] + 0x00000050u;
/* 028EB0CC */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[11]);
/* 028EB0D0 */ cpu->r[4] = 0x00000008u;
/* 028EB0D4 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
/* 028EB0D8 */ _t37 = cpu->r[1] + 0x00000058u;
/* 028EB0D8 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
/* 028EB0DC */ cpu->r[6] = cpu->r[6] + 0xFFFFBB0Cu;
/* 028EB0E0 */ _t38 = cpu->r[1] + 0x00000048u;
/* 028EB0E0 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
/* 028EB0E4 */ Gambit_fn_02C82E00(cpu);
/* 028EB0E8 */ cpu->r[3] = cpu->r[1] + 0x00000059u;
/* 028EB0EC */ _t39 = cpu->r[1] + 0x000000CCu;
/* 028EB0EC */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
/* 028EB0F0 */ cpu->r[12] = 0xFFFFFFFFu;
/* 028EB0F4 */ cpu->r[5] = 0x00000003u;
/* 028EB0F8 */ cpu->r[4] = 0x00000000u;
/* 028EB0FC */ _t40 = cpu->r[1] + 0x000000D0u;
/* 028EB0FC */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
/* 028EB100 */ rbrew_dispatch(cpu, 0x02d0b880u);
/* 028EB104 */ _t41 = cpu->r[31] + 0x00000008u;
/* 028EB104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
/* 028EB108 */ cpu->r[0] = 0x00000000u;
/* 028EB10C */ _t42 = cpu->r[1] + 0x000000E4u;
/* 028EB10C */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
/* 028EB110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EB114 */ _t43 = cpu->r[1] + 0x000000DCu;
/* 028EB114 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]);
/* 028EB118 */ _t44 = cpu->r[31] + 0x0000001Cu;
/* 028EB118 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
/* 028EB11C */ _t45 = cpu->r[1] + 0x000000D8u;
/* 028EB11C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[29]);
/* 028EB120 */ _t46 = cpu->r[1] + 0x000000E8u;
/* 028EB120 */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
/* 028EB124 */ _t47 = cpu->r[1] + 0x000000D4u;
/* 028EB124 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
/* 028EB128 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB128 */ _t49 = _t48 & 0x00000001u;
/* 028EB128 */ if (_t49) goto L_028EB144; else goto L_028EB12C;
L_028EB12C: ; // 0x28eb12c
/* 028EB12C */ _t50 = cpu->r[1] + 0x0000000Cu;
/* 028EB12C */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
/* 028EB130 */ cpu->r[0] = 0x00000002u;
/* 028EB134 */ _t51 = cpu->r[1] + 0x00000014u;
/* 028EB134 */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
/* 028EB138 */ cpu->r[11] = cpu->r[11] | 0x00000001u;
/* 028EB13C */ _t52 = cpu->r[1] + 0x00000010u;
/* 028EB13C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028EB140 */ _t53 = cpu->r[1] + 0x0000000Cu;
/* 028EB140 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
L_028EB144: ; // 0x28eb144
/* 028EB144 */ _t54 = cpu->r[9] + 0x0000004Cu;
/* 028EB144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028EB148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB14C */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB14C */ _t56 = _t55 & 0x00000001u;
/* 028EB14C */ if (_t56) goto L_028EB188; else goto L_028EB150;
L_028EB150: ; // 0x28eb150
/* 028EB150 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB150 */ _t58 = _t57 & 0x00000001u;
/* 028EB150 */ if (_t58) goto L_028EB1B8; else goto L_028EB154;
L_028EB154: ; // 0x28eb154
/* 028EB154 */ _t59 = cpu->r[1] + 0x000000ECu;
/* 028EB154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
/* 028EB158 */ _t60 = cpu->r[1] + 0x000000F4u;
/* 028EB158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
/* 028EB15C */ _t61 = cpu->r[1] + 0x00000110u;
/* 028EB15C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t61);
/* 028EB160 */ _t62 = cpu->r[1] + 0x00000100u;
/* 028EB160 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t62);
/* 028EB164 */ _t63 = cpu->r[1] + 0x00000108u;
/* 028EB164 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t63);
/* 028EB168 */ _t64 = cpu->r[1] + 0x000000F8u;
/* 028EB168 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t64);
/* 028EB16C */ _t65 = cpu->r[1] + 0x000000F0u;
/* 028EB16C */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
/* 028EB170 */ cpu->r[3] = 0x00000000u;
/* 028EB174 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB174 */ _t67 = _t66 & 0x00000001u;
/* 028EB174 */ if (_t67) goto L_028EB178; // else: addr-0 trap, fall-through
L_028EB178: ; // 0x28eb178
/* 028EB178 */ _t68 = cpu->r[1] + 0x0000011Cu;
/* 028EB178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028EB17C */ cpu->lr = cpu->r[0];
/* 028EB180 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028EB184 */ return;
L_028EB188: ; // 0x28eb188
/* 028EB188 */ cpu->r[3] = cpu->r[31];
/* 028EB18C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028EB190 */ Gambit_fn_028EADB8(cpu);
/* 028EB194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB198 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB198 */ _t70 = _t69 & 0x00000001u;
/* 028EB198 */ if (_t70) goto L_028EB210; else goto L_028EB19C;
L_028EB19C: ; // 0x28eb19c
/* 028EB19C */ cpu->r[3] = 0x101D0000u;
/* 028EB1A0 */ _t71 = cpu->r[3] + 0xFFFF9B0Cu;
/* 028EB1A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
/* 028EB1A4 */ cpu->r[5] = 0x01000000u;
/* 028EB1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB1AC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028EB1B0 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1B0 */ _t73 = _t72 & 0x00000001u;
/* 028EB1B0 */ if (_t73) goto L_028EB244; else goto L_028EB1B4;
L_028EB1B4: ; // 0x28eb1b4
/* 028EB1B4 */ goto L_028EB1E0;
L_028EB1B8: ; // 0x28eb1b8
/* 028EB1B8 */ cpu->r[3] = cpu->r[31];
/* 028EB1BC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028EB1C0 */ Gambit_fn_028EAE14(cpu);
/* 028EB1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB1C8 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1C8 */ _t75 = _t74 & 0x00000001u;
/* 028EB1C8 */ if (_t75) goto L_028EB210; else goto L_028EB1CC;
L_028EB1CC: ; // 0x28eb1cc
/* 028EB1CC */ cpu->r[3] = 0x101D0000u;
/* 028EB1D0 */ _t76 = cpu->r[3] + 0xFFFF9B0Cu;
/* 028EB1D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
/* 028EB1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB1D8 */ cpu->r[5] = 0x01000000u;
/* 028EB1DC */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1DC */ _t78 = _t77 & 0x00000001u;
/* 028EB1DC */ if (_t78) goto L_028EB244; else goto L_028EB1E0;
L_028EB1E0: ; // 0x28eb1e0
/* 028EB1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028EB1E4 */ _t79 = cpu->r[31] + 0x00000024u;
/* 028EB1E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
/* 028EB1E8 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1E8 */ _t81 = _t80 & 0x00000001u;
/* 028EB1E8 */ if (_t81) goto L_028EB200; else goto L_028EB1EC;
L_028EB1EC: ; // 0x28eb1ec
/* 028EB1EC */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
/* 028EB1F0 */ Gambit_fn_02C1E66C(cpu);
/* 028EB1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB1F8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB1F8 */ _t83 = _t82 & 0x00000001u;
/* 028EB1F8 */ if (_t83) goto L_028EB1FC; else goto L_028EB210;
L_028EB1FC: ; // 0x28eb1fc
/* 028EB1FC */ goto L_028EB244;
L_028EB200: ; // 0x28eb200
/* 028EB200 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
/* 028EB204 */ Gambit_fn_02C1E5F8(cpu);
/* 028EB208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB20C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB20C */ _t85 = _t84 & 0x00000001u;
/* 028EB20C */ if (_t85) goto L_028EB244; else goto L_028EB210;
L_028EB210: ; // 0x28eb210
/* 028EB210 */ _t86 = cpu->r[1] + 0x000000ECu;
/* 028EB210 */ cpu->r[29] = rbrew_read32(cpu->mem, _t86);
/* 028EB214 */ _t87 = cpu->r[1] + 0x000000F4u;
/* 028EB214 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
/* 028EB218 */ _t88 = cpu->r[1] + 0x00000110u;
/* 028EB218 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t88);
/* 028EB21C */ _t89 = cpu->r[1] + 0x00000100u;
/* 028EB21C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t89);
/* 028EB220 */ _t90 = cpu->r[1] + 0x00000108u;
/* 028EB220 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t90);
/* 028EB224 */ _t91 = cpu->r[1] + 0x000000F8u;
/* 028EB224 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t91);
/* 028EB228 */ _t92 = cpu->r[1] + 0x000000F0u;
/* 028EB228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t92);
/* 028EB22C */ cpu->r[3] = 0x00000000u;
/* 028EB230 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB230 */ _t94 = _t93 & 0x00000001u;
/* 028EB230 */ if (_t94) goto L_028EB234; // else: addr-0 trap, fall-through
L_028EB234: ; // 0x28eb234
/* 028EB234 */ _t95 = cpu->r[1] + 0x0000011Cu;
/* 028EB234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
/* 028EB238 */ cpu->lr = cpu->r[0];
/* 028EB23C */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028EB240 */ return;
L_028EB244: ; // 0x28eb244
/* 028EB244 */ cpu->r[12] = 0x101D0000u;
/* 028EB248 */ _t96 = cpu->r[12] + 0xFFFF9B10u;
/* 028EB248 */ cpu->r[9] = rbrew_read8(cpu->mem, _t96);
/* 028EB24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028EB250 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB250 */ _t98 = _t97 & 0x00000001u;
/* 028EB250 */ if (_t98) goto L_028EB284; else goto L_028EB254;
L_028EB254: ; // 0x28eb254
/* 028EB254 */ _t99 = cpu->r[31] + 0x00000024u;
/* 028EB254 */ cpu->r[4] = rbrew_read32(cpu->mem, _t99);
/* 028EB258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB25C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB25C */ _t101 = _t100 & 0x00000001u;
/* 028EB25C */ if (_t101) goto L_028EB284; else goto L_028EB260;
L_028EB260: ; // 0x28eb260
/* 028EB260 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB264 */ Gambit_fn_02C3E40C(cpu);
/* 028EB268 */ _t102 = cpu->r[1] + 0x00000008u;
/* 028EB268 */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
/* 028EB26C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB270 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB270 */ _t104 = _t103 & 0x00000001u;
/* 028EB270 */ if (_t104) goto L_028EB27C; else goto L_028EB274;
L_028EB274: ; // 0x28eb274
/* 028EB274 */ _t105 = cpu->r[31] + 0x00000018u;
/* 028EB274 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
/* 028EB278 */ Gambit_fn_02C43994(cpu);
L_028EB27C: ; // 0x28eb27c
/* 028EB27C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB280 */ Gambit_fn_02C3E528(cpu);
L_028EB284: ; // 0x28eb284
/* 028EB284 */ cpu->r[11] = 0x10140000u;
/* 028EB288 */ _t106 = cpu->r[11] + 0xFFFFBD84u;
/* 028EB288 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t106);
/* 028EB28C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[1]);
/* 028EB290 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB290 */ _t108 = _t107 & 0x00000001u;
/* 028EB290 */ if (_t108) goto L_028EB294; else goto L_028EB2BC;
L_028EB294: ; // 0x28eb294
/* 028EB294 */ cpu->f[2] = cpu->f[1];
/* 028EB298 */ cpu->f[1] = cpu->f[30];
/* 028EB29C */ _t109 = cpu->r[31] + 0x00000020u;
/* 028EB29C */ cpu->r[3] = rbrew_read32(cpu->mem, _t109);
/* 028EB2A0 */ Gambit_fn_028CA1D8(cpu);
/* 028EB2A4 */ cpu->r[3] = cpu->r[31];
/* 028EB2A8 */ _t110 = cpu->r[31] + 0x00000014u;
/* 028EB2A8 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
/* 028EB2AC */ Gambit_fn_028EA858(cpu);
/* 028EB2B0 */ cpu->r[3] = 0x00000001u;
/* 028EB2B4 */ _t111 = cpu->r[31] + 0x00000000u;
/* 028EB2B4 */ rbrew_write32(cpu->mem, _t111, cpu->r[3]);
/* 028EB2B8 */ goto L_028EB2EC;
L_028EB2BC: ; // 0x28eb2bc
/* 028EB2BC */ cpu->f[2] = cpu->f[1];
/* 028EB2C0 */ _t112 = cpu->r[31] + 0x00000020u;
/* 028EB2C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
/* 028EB2C4 */ Gambit_fn_028CA1D8(cpu);
/* 028EB2C8 */ cpu->f[2] = cpu->f[31];
/* 028EB2CC */ _t113 = cpu->r[31] + 0x00000020u;
/* 028EB2CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
/* 028EB2D0 */ cpu->f[1] = cpu->f[30];
/* 028EB2D4 */ Gambit_fn_028CA1D8(cpu);
/* 028EB2D8 */ cpu->r[3] = cpu->r[31];
/* 028EB2DC */ _t114 = cpu->r[31] + 0x00000014u;
/* 028EB2DC */ rbrew_write_f32(cpu->mem, _t114, cpu->f[30]);
/* 028EB2E0 */ Gambit_fn_028EA858(cpu);
/* 028EB2E4 */ cpu->r[3] = 0x00000001u;
/* 028EB2E8 */ _t115 = cpu->r[31] + 0x00000000u;
/* 028EB2E8 */ rbrew_write32(cpu->mem, _t115, cpu->r[3]);
L_028EB2EC: ; // 0x28eb2ec
/* 028EB2EC */ _t116 = cpu->r[1] + 0x000000ECu;
/* 028EB2EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t116);
/* 028EB2F0 */ _t117 = cpu->r[1] + 0x00000110u;
/* 028EB2F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t117);
/* 028EB2F4 */ _t118 = cpu->r[1] + 0x00000100u;
/* 028EB2F4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t118);
/* 028EB2F8 */ _t119 = cpu->r[1] + 0x00000108u;
/* 028EB2F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t119);
/* 028EB2FC */ _t120 = cpu->r[1] + 0x000000F8u;
/* 028EB2FC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t120);
/* 028EB300 */ _t121 = cpu->r[1] + 0x000000F4u;
/* 028EB300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t121);
/* 028EB304 */ _t122 = cpu->r[1] + 0x000000F0u;
/* 028EB304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t122);
/* 028EB308 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB308 */ _t124 = _t123 & 0x00000001u;
/* 028EB308 */ if (_t124) goto L_028EB30C; // else: addr-0 trap, fall-through
L_028EB30C: ; // 0x28eb30c
/* 028EB30C */ _t125 = cpu->r[1] + 0x0000011Cu;
/* 028EB30C */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
/* 028EB310 */ cpu->lr = cpu->r[0];
/* 028EB314 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
/* 028EB318 */ return;
}
// fn_028EB31C @ 0x28eb31c
void Gambit_fn_028EB31C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028EB31C: ; // 0x28eb31c
/* 028EB31C */ cpu->r[0] = cpu->lr;
/* 028EB320 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028EB320 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB320 */ cpu->r[1] = _t0;
/* 028EB324 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028EB324 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EB328 */ /* nop */
/* 028EB32C */ _t2 = cpu->r[1] + 0x00000020u;
/* 028EB32C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028EB330 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028EB330 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EB334 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028EB334 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028EB338 */ cpu->r[30] = cpu->r[3];
/* 028EB33C */ _t5 = cpu->r[1] + 0x00000014u;
/* 028EB33C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028EB340 */ _t6 = cpu->r[30] + 0x00000024u;
/* 028EB340 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028EB344 */ cpu->f[31] = cpu->f[1];
/* 028EB348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EB34C */ cpu->r[31] = cpu->r[4];
/* 028EB350 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB350 */ _t8 = _t7 & 0x00000001u;
/* 028EB350 */ if (_t8) goto L_028EB3E0; else goto L_028EB354;
L_028EB354: ; // 0x28eb354
/* 028EB354 */ Gambit_fn_028C29DC(cpu);
/* 028EB358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB35C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB35C */ _t10 = _t9 & 0x00000001u;
/* 028EB35C */ if (_t10) goto L_028EB3E0; else goto L_028EB360;
L_028EB360: ; // 0x28eb360
/* 028EB360 */ _t11 = cpu->r[3] + 0x00000044u;
/* 028EB360 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028EB364 */ cpu->f[0] = cpu->f[31] / cpu->f[0];
/* 028EB368 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EB36C */ _t12 = cpu->r[30] + 0x00000000u;
/* 028EB36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EB370 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028EB374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EB378 */ /* nop */
/* 028EB37C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028EB37C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
/* 028EB380 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB380 */ _t15 = _t14 & 0x00000001u;
/* 028EB380 */ if (_t15) goto L_028EB3B4; else goto L_028EB384;
L_028EB384: ; // 0x28eb384
/* 028EB384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028EB388 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB388 */ _t17 = _t16 & 0x00000001u;
/* 028EB388 */ if (_t17) goto L_028EB38C; else goto L_028EB3E0;
L_028EB38C: ; // 0x28eb38c
/* 028EB38C */ _t18 = cpu->r[30] + 0x00000024u;
/* 028EB38C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028EB390 */ _t19 = cpu->r[12] + 0x00000000u;
/* 028EB390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028EB394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB398 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB398 */ _t21 = _t20 & 0x00000001u;
/* 028EB398 */ if (_t21) goto L_028EB3A8; else goto L_028EB39C;
L_028EB39C: ; // 0x28eb39c
/* 028EB39C */ _t22 = cpu->r[12] + 0x00000000u;
/* 028EB39C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028EB3A0 */ cpu->r[4] = 0x00000001u;
/* 028EB3A4 */ Gambit_fn_02C40E24(cpu);
L_028EB3A8: ; // 0x28eb3a8
/* 028EB3A8 */ cpu->r[10] = 0x00000002u;
/* 028EB3AC */ _t23 = cpu->r[30] + 0x00000000u;
/* 028EB3AC */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028EB3B0 */ goto L_028EB3E0;
L_028EB3B4: ; // 0x28eb3b4
/* 028EB3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028EB3B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB3B8 */ _t25 = _t24 & 0x00000001u;
/* 028EB3B8 */ if (_t25) goto L_028EB3BC; else goto L_028EB3E0;
L_028EB3BC: ; // 0x28eb3bc
/* 028EB3BC */ _t26 = cpu->r[30] + 0x00000024u;
/* 028EB3BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028EB3C0 */ _t27 = cpu->r[11] + 0x00000000u;
/* 028EB3C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028EB3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB3C8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB3C8 */ _t29 = _t28 & 0x00000001u;
/* 028EB3C8 */ if (_t29) goto L_028EB3D8; else goto L_028EB3CC;
L_028EB3CC: ; // 0x28eb3cc
/* 028EB3CC */ _t30 = cpu->r[11] + 0x00000000u;
/* 028EB3CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028EB3D0 */ cpu->r[4] = 0x00000000u;
/* 028EB3D4 */ Gambit_fn_02C40E24(cpu);
L_028EB3D8: ; // 0x28eb3d8
/* 028EB3D8 */ cpu->r[10] = 0x00000001u;
/* 028EB3DC */ _t31 = cpu->r[30] + 0x00000000u;
/* 028EB3DC */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
L_028EB3E0: ; // 0x28eb3e0
/* 028EB3E0 */ _t32 = cpu->r[1] + 0x00000020u;
/* 028EB3E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
/* 028EB3E4 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028EB3E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
/* 028EB3E8 */ _t34 = cpu->r[1] + 0x00000018u;
/* 028EB3E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34);
/* 028EB3EC */ _t35 = cpu->r[1] + 0x00000010u;
/* 028EB3EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028EB3F0 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB3F0 */ _t37 = _t36 & 0x00000001u;
/* 028EB3F0 */ if (_t37) goto L_028EB3F4; // else: addr-0 trap, fall-through
L_028EB3F4: ; // 0x28eb3f4
/* 028EB3F4 */ _t38 = cpu->r[1] + 0x0000002Cu;
/* 028EB3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028EB3F8 */ cpu->lr = cpu->r[0];
/* 028EB3FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EB400 */ return;
}
// fn_028EB320 @ 0x28eb320
void Gambit_fn_028EB320(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028EB320: ; // 0x28eb320
/* 028EB320 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028EB320 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB320 */ cpu->r[1] = _t0;
/* 028EB324 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028EB324 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EB328 */ /* nop */
/* 028EB32C */ _t2 = cpu->r[1] + 0x00000020u;
/* 028EB32C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028EB330 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028EB330 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EB334 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028EB334 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028EB338 */ cpu->r[30] = cpu->r[3];
/* 028EB33C */ _t5 = cpu->r[1] + 0x00000014u;
/* 028EB33C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028EB340 */ _t6 = cpu->r[30] + 0x00000024u;
/* 028EB340 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028EB344 */ cpu->f[31] = cpu->f[1];
/* 028EB348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EB34C */ cpu->r[31] = cpu->r[4];
/* 028EB350 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB350 */ _t8 = _t7 & 0x00000001u;
/* 028EB350 */ if (_t8) goto L_028EB3E0; else goto L_028EB354;
L_028EB354: ; // 0x28eb354
/* 028EB354 */ Gambit_fn_028C29DC(cpu);
/* 028EB358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB35C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB35C */ _t10 = _t9 & 0x00000001u;
/* 028EB35C */ if (_t10) goto L_028EB3E0; else goto L_028EB360;
L_028EB360: ; // 0x28eb360
/* 028EB360 */ _t11 = cpu->r[3] + 0x00000044u;
/* 028EB360 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028EB364 */ cpu->f[0] = cpu->f[31] / cpu->f[0];
/* 028EB368 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EB36C */ _t12 = cpu->r[30] + 0x00000000u;
/* 028EB36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EB370 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028EB374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EB378 */ /* nop */
/* 028EB37C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028EB37C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
/* 028EB380 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB380 */ _t15 = _t14 & 0x00000001u;
/* 028EB380 */ if (_t15) goto L_028EB3B4; else goto L_028EB384;
L_028EB384: ; // 0x28eb384
/* 028EB384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028EB388 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB388 */ _t17 = _t16 & 0x00000001u;
/* 028EB388 */ if (_t17) goto L_028EB38C; else goto L_028EB3E0;
L_028EB38C: ; // 0x28eb38c
/* 028EB38C */ _t18 = cpu->r[30] + 0x00000024u;
/* 028EB38C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028EB390 */ _t19 = cpu->r[12] + 0x00000000u;
/* 028EB390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028EB394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB398 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB398 */ _t21 = _t20 & 0x00000001u;
/* 028EB398 */ if (_t21) goto L_028EB3A8; else goto L_028EB39C;
L_028EB39C: ; // 0x28eb39c
/* 028EB39C */ _t22 = cpu->r[12] + 0x00000000u;
/* 028EB39C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028EB3A0 */ cpu->r[4] = 0x00000001u;
/* 028EB3A4 */ Gambit_fn_02C40E24(cpu);
L_028EB3A8: ; // 0x28eb3a8
/* 028EB3A8 */ cpu->r[10] = 0x00000002u;
/* 028EB3AC */ _t23 = cpu->r[30] + 0x00000000u;
/* 028EB3AC */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028EB3B0 */ goto L_028EB3E0;
L_028EB3B4: ; // 0x28eb3b4
/* 028EB3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028EB3B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB3B8 */ _t25 = _t24 & 0x00000001u;
/* 028EB3B8 */ if (_t25) goto L_028EB3BC; else goto L_028EB3E0;
L_028EB3BC: ; // 0x28eb3bc
/* 028EB3BC */ _t26 = cpu->r[30] + 0x00000024u;
/* 028EB3BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028EB3C0 */ _t27 = cpu->r[11] + 0x00000000u;
/* 028EB3C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028EB3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB3C8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB3C8 */ _t29 = _t28 & 0x00000001u;
/* 028EB3C8 */ if (_t29) goto L_028EB3D8; else goto L_028EB3CC;
L_028EB3CC: ; // 0x28eb3cc
/* 028EB3CC */ _t30 = cpu->r[11] + 0x00000000u;
/* 028EB3CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028EB3D0 */ cpu->r[4] = 0x00000000u;
/* 028EB3D4 */ Gambit_fn_02C40E24(cpu);
L_028EB3D8: ; // 0x28eb3d8
/* 028EB3D8 */ cpu->r[10] = 0x00000001u;
/* 028EB3DC */ _t31 = cpu->r[30] + 0x00000000u;
/* 028EB3DC */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
L_028EB3E0: ; // 0x28eb3e0
/* 028EB3E0 */ _t32 = cpu->r[1] + 0x00000020u;
/* 028EB3E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
/* 028EB3E4 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028EB3E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
/* 028EB3E8 */ _t34 = cpu->r[1] + 0x00000018u;
/* 028EB3E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34);
/* 028EB3EC */ _t35 = cpu->r[1] + 0x00000010u;
/* 028EB3EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028EB3F0 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB3F0 */ _t37 = _t36 & 0x00000001u;
/* 028EB3F0 */ if (_t37) goto L_028EB3F4; // else: addr-0 trap, fall-through
L_028EB3F4: ; // 0x28eb3f4
/* 028EB3F4 */ _t38 = cpu->r[1] + 0x0000002Cu;
/* 028EB3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028EB3F8 */ cpu->lr = cpu->r[0];
/* 028EB3FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EB400 */ return;
}
// fn_028EB424 @ 0x28eb424
void Gambit_fn_028EB424(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028EB424: ; // 0x28eb424
/* 028EB424 */ _t0 = cpu->r[3] + 0x00000024u;
/* 028EB424 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028EB428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB42C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB42C */ _t2 = _t1 & 0x00000001u;
/* 028EB42C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB42C */ goto L_028EB430;
L_028EB430: ; // 0x28eb430
/* 028EB430 */ _t3 = cpu->r[4] + 0x00000000u;
/* 028EB430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028EB434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB438 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB438 */ _t5 = _t4 & 0x00000001u;
/* 028EB438 */ if (_t5) goto L_028EB450; else goto L_028EB43C;
L_028EB43C: ; // 0x28eb43c
/* 028EB43C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB43C */ _t7 = _t6 & 0x00000001u;
/* 028EB43C */ if (_t7) goto L_028EB470; else goto L_028EB440;
L_028EB440: ; // 0x28eb440
/* 028EB440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
/* 028EB444 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB444 */ _t9 = _t8 & 0x00000001u;
/* 028EB444 */ if (_t9) goto L_028EB488; else goto L_028EB448;
L_028EB448: ; // 0x28eb448
/* 028EB448 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB448 */ _t11 = _t10 & 0x00000001u;
/* 028EB448 */ if (_t11) goto L_028EB4A0; else goto L_028EB44C;
L_028EB44C: ; // 0x28eb44c
/* 028EB44C */ return;
L_028EB450: ; // 0x28eb450
/* 028EB450 */ _t12 = cpu->r[12] + 0x00000000u;
/* 028EB450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028EB454 */ cpu->r[11] = 0x10140000u;
/* 028EB458 */ _t13 = cpu->r[11] + 0xFFFFBD80u;
/* 028EB458 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
/* 028EB45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB460 */ cpu->f[1] = cpu->f[1] - cpu->f[0];
/* 028EB464 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB464 */ _t15 = _t14 & 0x00000001u;
/* 028EB464 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB464 */ goto L_028EB468;
L_028EB468: ; // 0x28eb468
/* 028EB468 */ _t16 = cpu->r[12] + 0x00000000u;
/* 028EB468 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028EB46C */ goto L_02C416D8;
L_028EB470: ; // 0x28eb470
/* 028EB470 */ _t17 = cpu->r[12] + 0x00000000u;
/* 028EB470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028EB474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB478 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB478 */ _t19 = _t18 & 0x00000001u;
/* 028EB478 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB478 */ goto L_028EB47C;
L_028EB47C: ; // 0x28eb47c
/* 028EB47C */ _t20 = cpu->r[12] + 0x00000000u;
/* 028EB47C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028EB480 */ cpu->r[4] = 0x00000000u;
/* 028EB484 */ goto L_02C416E0;
L_028EB488: ; // 0x28eb488
/* 028EB488 */ _t21 = cpu->r[12] + 0x00000000u;
/* 028EB488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028EB48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB490 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB490 */ _t23 = _t22 & 0x00000001u;
/* 028EB490 */ if (_t23) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB490 */ goto L_028EB494;
L_028EB494: ; // 0x28eb494
/* 028EB494 */ _t24 = cpu->r[12] + 0x00000000u;
/* 028EB494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
/* 028EB498 */ cpu->r[4] = 0x00000001u;
/* 028EB49C */ goto L_02C416E0;
L_028EB4A0: ; // 0x28eb4a0
/* 028EB4A0 */ _t25 = cpu->r[12] + 0x00000000u;
/* 028EB4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028EB4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB4A8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB4A8 */ _t27 = _t26 & 0x00000001u;
/* 028EB4A8 */ if (_t27) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB4A8 */ goto L_028EB4AC;
L_028EB4AC: ; // 0x28eb4ac
/* 028EB4AC */ _t28 = cpu->r[12] + 0x00000000u;
/* 028EB4AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028EB4B0 */ cpu->r[4] = 0x00000002u;
/* 028EB4B4 */ goto L_02C416E0;
L_02C416D8: ; // 0x2c416d8
/* 02C416D8 */ _t29 = cpu->r[3] + 0x0000013Cu;
/* 02C416D8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[1]);
/* 02C416DC */ return;
L_02C416E0: ; // 0x2c416e0
/* 02C416E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 02C416E4 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
/* 02C416E8 */ _t30 = cpu->r[12] + 0x00000140u;
/* 02C416E8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[1]);
/* 02C416EC */ return;
}
// fn_028EB4B8 @ 0x28eb4b8
void Gambit_fn_028EB4B8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028EB4B8: ; // 0x28eb4b8
/* 028EB4B8 */ _t0 = cpu->r[3] + 0x00000024u;
/* 028EB4B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028EB4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB4C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB4C0 */ _t2 = _t1 & 0x00000001u;
/* 028EB4C0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB4C0 */ goto L_028EB4C4;
L_028EB4C4: ; // 0x28eb4c4
/* 028EB4C4 */ _t3 = cpu->r[12] + 0x00000000u;
/* 028EB4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028EB4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB4CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB4CC */ _t5 = _t4 & 0x00000001u;
/* 028EB4CC */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB4CC */ goto L_028EB4D0;
L_028EB4D0: ; // 0x28eb4d0
/* 028EB4D0 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028EB4D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EB4D4 */ goto L_02C416AC;
L_02C416AC: ; // 0x2c416ac
/* 02C416AC */ _t7 = cpu->r[3] + 0x000000EFu;
/* 02C416AC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[4]);
/* 02C416B0 */ _t8 = cpu->r[3] + 0x00000118u;
/* 02C416B0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 02C416B4 */ return;
}
// fn_028EB4D8 @ 0x28eb4d8
void Gambit_fn_028EB4D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028EB4D8: ; // 0x28eb4d8
/* 028EB4D8 */ _t0 = cpu->r[3] + 0x00000024u;
/* 028EB4D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028EB4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB4E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB4E0 */ _t2 = _t1 & 0x00000001u;
/* 028EB4E0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB4E0 */ goto L_028EB4E4;
L_028EB4E4: ; // 0x28eb4e4
/* 028EB4E4 */ _t3 = cpu->r[12] + 0x00000000u;
/* 028EB4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028EB4E8 */ cpu->f[1] = -cpu->f[1];
/* 028EB4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB4F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB4F0 */ _t5 = _t4 & 0x00000001u;
/* 028EB4F0 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB4F0 */ goto L_028EB4F4;
L_028EB4F4: ; // 0x28eb4f4
/* 028EB4F4 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028EB4F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EB4F8 */ goto L_02C416A4;
L_02C416A4: ; // 0x2c416a4
/* 02C416A4 */ _t7 = cpu->r[3] + 0x00000114u;
/* 02C416A4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[1]);
/* 02C416A8 */ return;
}
// fn_028EB4FC @ 0x28eb4fc
void Gambit_fn_028EB4FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028EB4FC: ; // 0x28eb4fc
/* 028EB4FC */ _t0 = cpu->r[3] + 0x00000024u;
/* 028EB4FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028EB500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB504 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB504 */ _t2 = _t1 & 0x00000001u;
/* 028EB504 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB504 */ goto L_028EB508;
L_028EB508: ; // 0x28eb508
/* 028EB508 */ _t3 = cpu->r[12] + 0x00000000u;
/* 028EB508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028EB50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB510 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB510 */ _t5 = _t4 & 0x00000001u;
/* 028EB510 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB510 */ goto L_028EB514;
L_028EB514: ; // 0x28eb514
/* 028EB514 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028EB514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EB518 */ goto L_02C416B8;
L_02C416B8: ; // 0x2c416b8
/* 02C416B8 */ _t7 = cpu->r[3] + 0x0000011Cu;
/* 02C416B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
/* 02C416BC */ return;
}
// fn_028EB51C @ 0x28eb51c
void Gambit_fn_028EB51C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028EB51C: ; // 0x28eb51c
/* 028EB51C */ _t0 = cpu->r[5] + 0x00000000u;
/* 028EB51C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028EB520 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000005u);
/* 028EB524 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EB524 */ _t2 = _t1 & 0x00000001u;
/* 028EB524 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB524 */ goto L_028EB528;
L_028EB528: ; // 0x28eb528
/* 028EB528 */ cpu->r[12] = cpu->r[11] + 0x10140000u;
/* 028EB52C */ _t3 = cpu->r[4] + 0x00000000u;
/* 028EB52C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028EB530 */ _t4 = cpu->r[12] + 0xFFFFBD8Cu;
/* 028EB530 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
/* 028EB534 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
/* 028EB538 */ _t5 = cpu->r[4] + 0x00000000u;
/* 028EB538 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028EB53C */ return;
}
// fn_028EB540 @ 0x28eb540
void Gambit_fn_028EB540(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028EB540: ; // 0x28eb540
/* 028EB540 */ cpu->r[0] = cpu->lr;
/* 028EB544 */ cpu->r[9] = cpu->r[4];
/* 028EB548 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EB548 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB548 */ cpu->r[1] = _t0;
/* 028EB54C */ cpu->r[4] = 0x00000000u;
/* 028EB550 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EB550 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
/* 028EB554 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EB554 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EB558 */ cpu->r[10] = cpu->r[5];
/* 028EB558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EB55C */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028EB55C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EB560 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EB560 */ _t5 = _t4 & 0x00000001u;
/* 028EB560 */ if (_t5) goto L_028EB564; else goto L_028EB5E4;
L_028EB564: ; // 0x28eb564
/* 028EB564 */ cpu->r[31] = 0x00000000u;
/* 028EB568 */ cpu->r[8] = cpu->r[9];
/* 028EB56C */ goto L_028EB578;
L_028EB570: ; // 0x28eb570
/* 028EB570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
/* 028EB574 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB574 */ _t7 = _t6 & 0x00000001u;
/* 028EB574 */ if (_t7) goto L_028EB578; else goto L_028EB580;
L_028EB578: ; // 0x28eb578
/* 028EB578 */ cpu->r[12] = cpu->r[8];
/* 028EB57C */ goto L_028EB584;
L_028EB580: ; // 0x28eb580
/* 028EB580 */ cpu->r[12] = cpu->r[9];
L_028EB584: ; // 0x28eb584
/* 028EB584 */ _t8 = cpu->r[12] + 0x00000000u;
/* 028EB584 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028EB588 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028EB588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EB58C */ cpu->r[6] = cpu->r[7] | cpu->r[0];
/* 028EB58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028EB590 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB590 */ _t11 = _t10 & 0x00000001u;
/* 028EB590 */ if (_t11) goto L_028EB594; else goto L_028EB5B4;
L_028EB594: ; // 0x28eb594
/* 028EB594 */ _t12 = cpu->r[12] + 0x00000008u;
/* 028EB594 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028EB598 */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028EB598 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
/* 028EB59C */ cpu->r[0] = cpu->r[5] | cpu->r[6];
/* 028EB59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB5A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB5A0 */ _t15 = _t14 & 0x00000001u;
/* 028EB5A0 */ if (_t15) goto L_028EB5A4; else goto L_028EB5B4;
L_028EB5A4: ; // 0x28eb5a4
/* 028EB5A4 */ _t16 = cpu->r[12] + 0x00000010u;
/* 028EB5A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028EB5A8 */ _t17 = cpu->r[12] + 0x00000014u;
/* 028EB5A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028EB5AC */ cpu->r[11] = cpu->r[0] | cpu->r[4];
/* 028EB5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EB5B0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB5B0 */ _t19 = _t18 & 0x00000001u;
/* 028EB5B0 */ if (_t19) goto L_028EB5C4; else goto L_028EB5B4;
L_028EB5B4: ; // 0x28eb5b4
/* 028EB5B4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028EB5B8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028EB5BC */ _t20 = cpu->r[1] + 0x00000008u;
/* 028EB5BC */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
/* 028EB5C0 */ Gambit_fn_028EB51C(cpu);
L_028EB5C4: ; // 0x28eb5c4
/* 028EB5C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028EB5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
/* 028EB5CC */ cpu->r[8] = cpu->r[8] + 0x00000018u;
/* 028EB5D0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB5D0 */ _t22 = _t21 & 0x00000001u;
/* 028EB5D0 */ if (_t22) goto L_028EB570; else goto L_028EB5D4;
L_028EB5D4: ; // 0x28eb5d4
/* 028EB5D4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
/* 028EB5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EB5D8 */ cpu->r[9] = cpu->r[9] + 0x00000090u;
/* 028EB5DC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB5DC */ _t24 = _t23 & 0x00000001u;
/* 028EB5DC */ if (_t24) goto L_028EB5E0; else goto L_028EB564;
L_028EB5E0: ; // 0x28eb5e0
/* 028EB5E0 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028EB5E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
L_028EB5E4: ; // 0x28eb5e4
/* 028EB5E4 */ Gambit_fn_028EB4FC(cpu);
/* 028EB5E8 */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028EB5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028EB5EC */ _t27 = cpu->r[1] + 0x00000014u;
/* 028EB5EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028EB5F0 */ cpu->lr = cpu->r[0];
/* 028EB5F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EB5F8 */ return;
}
// fn_028EB548 @ 0x28eb548
void Gambit_fn_028EB548(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028EB548: ; // 0x28eb548
/* 028EB548 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EB548 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB548 */ cpu->r[1] = _t0;
/* 028EB54C */ cpu->r[4] = 0x00000000u;
/* 028EB550 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EB550 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
/* 028EB554 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EB554 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EB558 */ cpu->r[10] = cpu->r[5];
/* 028EB558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EB55C */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028EB55C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EB560 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EB560 */ _t5 = _t4 & 0x00000001u;
/* 028EB560 */ if (_t5) goto L_028EB564; else goto L_028EB5E4;
L_028EB564: ; // 0x28eb564
/* 028EB564 */ cpu->r[31] = 0x00000000u;
/* 028EB568 */ cpu->r[8] = cpu->r[9];
/* 028EB56C */ goto L_028EB578;
L_028EB570: ; // 0x28eb570
/* 028EB570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
/* 028EB574 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB574 */ _t7 = _t6 & 0x00000001u;
/* 028EB574 */ if (_t7) goto L_028EB578; else goto L_028EB580;
L_028EB578: ; // 0x28eb578
/* 028EB578 */ cpu->r[12] = cpu->r[8];
/* 028EB57C */ goto L_028EB584;
L_028EB580: ; // 0x28eb580
/* 028EB580 */ cpu->r[12] = cpu->r[9];
L_028EB584: ; // 0x28eb584
/* 028EB584 */ _t8 = cpu->r[12] + 0x00000000u;
/* 028EB584 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028EB588 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028EB588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EB58C */ cpu->r[6] = cpu->r[7] | cpu->r[0];
/* 028EB58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028EB590 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB590 */ _t11 = _t10 & 0x00000001u;
/* 028EB590 */ if (_t11) goto L_028EB594; else goto L_028EB5B4;
L_028EB594: ; // 0x28eb594
/* 028EB594 */ _t12 = cpu->r[12] + 0x00000008u;
/* 028EB594 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028EB598 */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028EB598 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
/* 028EB59C */ cpu->r[0] = cpu->r[5] | cpu->r[6];
/* 028EB59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB5A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB5A0 */ _t15 = _t14 & 0x00000001u;
/* 028EB5A0 */ if (_t15) goto L_028EB5A4; else goto L_028EB5B4;
L_028EB5A4: ; // 0x28eb5a4
/* 028EB5A4 */ _t16 = cpu->r[12] + 0x00000010u;
/* 028EB5A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028EB5A8 */ _t17 = cpu->r[12] + 0x00000014u;
/* 028EB5A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028EB5AC */ cpu->r[11] = cpu->r[0] | cpu->r[4];
/* 028EB5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EB5B0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB5B0 */ _t19 = _t18 & 0x00000001u;
/* 028EB5B0 */ if (_t19) goto L_028EB5C4; else goto L_028EB5B4;
L_028EB5B4: ; // 0x28eb5b4
/* 028EB5B4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028EB5B8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028EB5BC */ _t20 = cpu->r[1] + 0x00000008u;
/* 028EB5BC */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
/* 028EB5C0 */ Gambit_fn_028EB51C(cpu);
L_028EB5C4: ; // 0x28eb5c4
/* 028EB5C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028EB5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
/* 028EB5CC */ cpu->r[8] = cpu->r[8] + 0x00000018u;
/* 028EB5D0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB5D0 */ _t22 = _t21 & 0x00000001u;
/* 028EB5D0 */ if (_t22) goto L_028EB570; else goto L_028EB5D4;
L_028EB5D4: ; // 0x28eb5d4
/* 028EB5D4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
/* 028EB5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EB5D8 */ cpu->r[9] = cpu->r[9] + 0x00000090u;
/* 028EB5DC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB5DC */ _t24 = _t23 & 0x00000001u;
/* 028EB5DC */ if (_t24) goto L_028EB5E0; else goto L_028EB564;
L_028EB5E0: ; // 0x28eb5e0
/* 028EB5E0 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028EB5E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
L_028EB5E4: ; // 0x28eb5e4
/* 028EB5E4 */ Gambit_fn_028EB4FC(cpu);
/* 028EB5E8 */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028EB5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028EB5EC */ _t27 = cpu->r[1] + 0x00000014u;
/* 028EB5EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028EB5F0 */ cpu->lr = cpu->r[0];
/* 028EB5F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EB5F8 */ return;
}
// fn_028EB5FC @ 0x28eb5fc
void Gambit_fn_028EB5FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028EB5FC: ; // 0x28eb5fc
/* 028EB5FC */ _t0 = cpu->r[3] + 0x00000024u;
/* 028EB5FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028EB600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB604 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB604 */ _t2 = _t1 & 0x00000001u;
/* 028EB604 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB604 */ goto L_028EB608;
L_028EB608: ; // 0x28eb608
/* 028EB608 */ _t3 = cpu->r[12] + 0x00000000u;
/* 028EB608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028EB60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB610 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB610 */ _t5 = _t4 & 0x00000001u;
/* 028EB610 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB610 */ goto L_028EB614;
L_028EB614: ; // 0x28eb614
/* 028EB614 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028EB614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028EB618 */ goto L_02C419D0;
L_02C419D0: ; // 0x2c419d0
/* 02C419D0 */ cpu->r[12] = 0x101B0000u;
/* 02C419D4 */ _t7 = cpu->r[12] + 0xFFFFCFB4u;
/* 02C419D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 02C419D8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu);
/* 02C419DC */ /* nop */
/* 02C419E0 */ cpu->r[11] = cpu->r[3] + cpu->r[0];
/* 02C419E4 */ _t8 = cpu->r[11] + 0x0000023Cu;
/* 02C419E4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 02C419E8 */ return;
}
// fn_028EB61C @ 0x28eb61c
void Gambit_fn_028EB61C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028EB61C: ; // 0x28eb61c
/* 028EB61C */ cpu->r[0] = cpu->lr;
/* 028EB620 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028EB620 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB620 */ cpu->r[1] = _t0;
/* 028EB624 */ _t1 = cpu->r[1] + 0x00000048u;
/* 028EB624 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EB628 */ _t2 = cpu->r[1] + 0x00000044u;
/* 028EB628 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028EB62C */ _t3 = cpu->r[1] + 0x0000004Cu;
/* 028EB62C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028EB630 */ _t4 = cpu->r[1] + 0x00000054u;
/* 028EB630 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EB634 */ _t5 = cpu->r[5] + 0x00000000u;
/* 028EB634 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028EB638 */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFEu;
/* 028EB63C */ cpu->r[31] = cpu->r[6];
/* 028EB640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u);
/* 028EB644 */ cpu->r[30] = cpu->r[8];
/* 028EB648 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB648 */ _t7 = _t6 & 0x00000001u;
/* 028EB648 */ if (_t7) goto L_028EB858; else goto L_028EB64C;
L_028EB64C: ; // 0x28eb64c
/* 028EB64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
/* 028EB650 */ cpu->r[29] = 0x00000000u;
/* 028EB654 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB654 */ _t9 = _t8 & 0x00000001u;
/* 028EB654 */ if (_t9) goto L_028EB658; else goto L_028EB65C;
L_028EB658: ; // 0x28eb658
/* 028EB658 */ cpu->r[29] = 0x00000001u;
L_028EB65C: ; // 0x28eb65c
/* 028EB65C */ cpu->r[12] = 0x10140000u;
/* 028EB660 */ _t10 = cpu->r[12] + 0xFFFFBD80u;
/* 028EB660 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
/* 028EB664 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
/* 028EB668 */ cpu->f[13] = cpu->f[12];
/* 028EB66C */ _t11 = cpu->r[4] + 0x00000000u;
/* 028EB66C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
/* 028EB670 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB670 */ _t13 = _t12 & 0x00000001u;
/* 028EB670 */ if (_t13) goto L_028EB674; else goto L_028EB6C4;
L_028EB674: ; // 0x28eb674
/* 028EB674 */ _t14 = cpu->r[4] + 0x00000004u;
/* 028EB674 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
/* 028EB678 */ cpu->f[0] = cpu->f[10] * cpu->f[1];
/* 028EB67C */ _t15 = cpu->r[4] + 0x00000008u;
/* 028EB67C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
/* 028EB680 */ cpu->f[10] = cpu->f[11] * cpu->f[1];
/* 028EB684 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028EB684 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
/* 028EB688 */ _t17 = cpu->r[4] + 0x0000000Cu;
/* 028EB688 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
/* 028EB68C */ cpu->f[0] = cpu->f[9] * cpu->f[1];
/* 028EB690 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028EB690 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
/* 028EB694 */ cpu->f[10] = cpu->f[11] * cpu->f[1];
/* 028EB698 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028EB698 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028EB69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
/* 028EB6A0 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028EB6A0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
/* 028EB6A4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB6A4 */ _t22 = _t21 & 0x00000001u;
/* 028EB6A4 */ if (_t22) goto L_028EB6E8; else goto L_028EB6A8;
L_028EB6A8: ; // 0x28eb6a8
/* 028EB6A8 */ _t23 = cpu->r[4] + 0x00000010u;
/* 028EB6A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028EB6AC */ _t24 = cpu->r[4] + 0x00000014u;
/* 028EB6AC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t24);
/* 028EB6B0 */ cpu->f[13] = cpu->f[0] * cpu->f[1];
/* 028EB6B4 */ cpu->f[0] = cpu->f[9] * cpu->f[1];
/* 028EB6B8 */ _t25 = cpu->r[1] + 0x00000018u;
/* 028EB6B8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
/* 028EB6BC */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028EB6BC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
/* 028EB6C0 */ goto L_028EB718;
L_028EB6C4: ; // 0x28eb6c4
/* 028EB6C4 */ _t27 = cpu->r[4] + 0x00000008u;
/* 028EB6C4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
/* 028EB6C8 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028EB6C8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[10]);
/* 028EB6CC */ _t29 = cpu->r[1] + 0x00000010u;
/* 028EB6CC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[9]);
/* 028EB6D0 */ _t30 = cpu->r[4] + 0x00000004u;
/* 028EB6D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
/* 028EB6D4 */ _t31 = cpu->r[4] + 0x0000000Cu;
/* 028EB6D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t31);
/* 028EB6D8 */ _t32 = cpu->r[1] + 0x0000000Cu;
/* 028EB6D8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[11]);
/* 028EB6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
/* 028EB6E0 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028EB6E0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
/* 028EB6E4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB6E4 */ _t35 = _t34 & 0x00000001u;
/* 028EB6E4 */ if (_t35) goto L_028EB6E8; else goto L_028EB708;
L_028EB6E8: ; // 0x28eb6e8
/* 028EB6E8 */ _t36 = cpu->r[3] + 0x0000001Cu;
/* 028EB6E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
/* 028EB6EC */ _t37 = cpu->r[1] + 0x0000001Cu;
/* 028EB6EC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
/* 028EB6F0 */ _t38 = cpu->r[1] + 0x00000018u;
/* 028EB6F0 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[12]);
/* 028EB6F4 */ _t39 = cpu->r[11] + 0x0000004Cu;
/* 028EB6F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028EB6F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB6FC */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB6FC */ _t41 = _t40 & 0x00000001u;
/* 028EB6FC */ if (_t41) goto L_028EB748; else goto L_028EB700;
L_028EB700: ; // 0x28eb700
/* 028EB700 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB700 */ _t43 = _t42 & 0x00000001u;
/* 028EB700 */ if (_t43) goto L_028EB7DC; else goto L_028EB704;
L_028EB704: ; // 0x28eb704
/* 028EB704 */ goto L_028EB72C;
L_028EB708: ; // 0x28eb708
/* 028EB708 */ _t44 = cpu->r[4] + 0x00000010u;
/* 028EB708 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
/* 028EB70C */ _t45 = cpu->r[4] + 0x00000014u;
/* 028EB70C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
/* 028EB710 */ _t46 = cpu->r[1] + 0x00000018u;
/* 028EB710 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[11]);
/* 028EB714 */ _t47 = cpu->r[1] + 0x0000001Cu;
/* 028EB714 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
L_028EB718: ; // 0x28eb718
/* 028EB718 */ _t48 = cpu->r[3] + 0x0000001Cu;
/* 028EB718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
/* 028EB71C */ _t49 = cpu->r[11] + 0x0000004Cu;
/* 028EB71C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028EB720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB724 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB724 */ _t51 = _t50 & 0x00000001u;
/* 028EB724 */ if (_t51) goto L_028EB748; else goto L_028EB728;
L_028EB728: ; // 0x28eb728
/* 028EB728 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB728 */ _t53 = _t52 & 0x00000001u;
/* 028EB728 */ if (_t53) goto L_028EB7DC; else goto L_028EB72C;
L_028EB72C: ; // 0x28eb72c
/* 028EB72C */ _t54 = cpu->r[1] + 0x00000044u;
/* 028EB72C */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
/* 028EB730 */ _t55 = cpu->r[1] + 0x00000054u;
/* 028EB730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028EB734 */ _t56 = cpu->r[1] + 0x00000048u;
/* 028EB734 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028EB738 */ cpu->lr = cpu->r[0];
/* 028EB73C */ _t57 = cpu->r[1] + 0x0000004Cu;
/* 028EB73C */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
/* 028EB740 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028EB744 */ return;
L_028EB748: ; // 0x28eb748
/* 028EB748 */ _t58 = cpu->r[3] + 0x00000024u;
/* 028EB748 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
/* 028EB74C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028EB750 */ Gambit_fn_02C3E40C(cpu);
/* 028EB754 */ _t59 = cpu->r[1] + 0x00000020u;
/* 028EB754 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
/* 028EB758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB75C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB75C */ _t61 = _t60 & 0x00000001u;
/* 028EB75C */ if (_t61) goto L_028EB7B8; else goto L_028EB760;
L_028EB760: ; // 0x28eb760
/* 028EB760 */ cpu->r[4] = 0x00000001u;
/* 028EB764 */ Gambit_fn_02C416D0(cpu);
/* 028EB768 */ _t62 = cpu->r[1] + 0x00000020u;
/* 028EB768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
/* 028EB76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB770 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB770 */ _t64 = _t63 & 0x00000001u;
/* 028EB770 */ if (_t64) goto L_028EB7B8; else goto L_028EB774;
L_028EB774: ; // 0x28eb774
/* 028EB774 */ _t65 = cpu->r[1] + 0x00000014u;
/* 028EB774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
/* 028EB778 */ _t66 = cpu->r[1] + 0x00000008u;
/* 028EB778 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
/* 028EB77C */ _t67 = cpu->r[1] + 0x00000034u;
/* 028EB77C */ rbrew_write32(cpu->mem, _t67, cpu->r[6]);
/* 028EB780 */ _t68 = cpu->r[1] + 0x00000028u;
/* 028EB780 */ rbrew_write32(cpu->mem, _t68, cpu->r[11]);
/* 028EB784 */ cpu->r[4] = cpu->r[29];
/* 028EB788 */ _t69 = cpu->r[1] + 0x00000018u;
/* 028EB788 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
/* 028EB78C */ _t70 = cpu->r[1] + 0x00000010u;
/* 028EB78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
/* 028EB790 */ cpu->r[10] = cpu->r[1] + 0x00000028u;
/* 028EB794 */ _t71 = cpu->r[1] + 0x00000038u;
/* 028EB794 */ rbrew_write32(cpu->mem, _t71, cpu->r[7]);
/* 028EB798 */ cpu->r[6] = cpu->r[10];
/* 028EB79C */ _t72 = cpu->r[1] + 0x00000030u;
/* 028EB79C */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
/* 028EB7A0 */ _t73 = cpu->r[1] + 0x0000000Cu;
/* 028EB7A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
/* 028EB7A4 */ _t74 = cpu->r[1] + 0x0000001Cu;
/* 028EB7A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74);
/* 028EB7A8 */ _t75 = cpu->r[1] + 0x0000002Cu;
/* 028EB7A8 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
/* 028EB7AC */ cpu->r[5] = cpu->r[31];
/* 028EB7B0 */ _t76 = cpu->r[1] + 0x0000003Cu;
/* 028EB7B0 */ rbrew_write32(cpu->mem, _t76, cpu->r[8]);
/* 028EB7B4 */ Gambit_fn_02C41998(cpu);
L_028EB7B8: ; // 0x28eb7b8
/* 028EB7B8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028EB7BC */ Gambit_fn_02C3E528(cpu);
/* 028EB7C0 */ _t77 = cpu->r[1] + 0x00000044u;
/* 028EB7C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t77);
/* 028EB7C4 */ _t78 = cpu->r[1] + 0x00000054u;
/* 028EB7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
/* 028EB7C8 */ _t79 = cpu->r[1] + 0x00000048u;
/* 028EB7C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t79);
/* 028EB7CC */ cpu->lr = cpu->r[0];
/* 028EB7D0 */ _t80 = cpu->r[1] + 0x0000004Cu;
/* 028EB7D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t80);
/* 028EB7D4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028EB7D8 */ return;
L_028EB7DC: ; // 0x28eb7dc
/* 028EB7DC */ _t81 = cpu->r[3] + 0x00000024u;
/* 028EB7DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
/* 028EB7E0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028EB7E4 */ Gambit_fn_02C3E264(cpu);
/* 028EB7E8 */ _t82 = cpu->r[1] + 0x00000024u;
/* 028EB7E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
/* 028EB7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB7F0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB7F0 */ _t84 = _t83 & 0x00000001u;
/* 028EB7F0 */ if (_t84) goto L_028EB850; else goto L_028EB7F4;
L_028EB7F4: ; // 0x28eb7f4
/* 028EB7F4 */ cpu->r[4] = 0x00000001u;
/* 028EB7F8 */ Gambit_fn_02C416D0(cpu);
/* 028EB7FC */ _t85 = cpu->r[1] + 0x00000024u;
/* 028EB7FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
/* 028EB800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB804 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB804 */ _t87 = _t86 & 0x00000001u;
/* 028EB804 */ if (_t87) goto L_028EB850; else goto L_028EB808;
L_028EB808: ; // 0x28eb808
/* 028EB808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000001u);
/* 028EB80C */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB80C */ _t89 = _t88 & 0x00000001u;
/* 028EB80C */ if (_t89) goto L_028EB820; else goto L_028EB810;
L_028EB810: ; // 0x28eb810
/* 028EB810 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB810 */ _t91 = _t90 & 0x00000001u;
/* 028EB810 */ if (_t91) goto L_028EB83C; else goto L_028EB814;
L_028EB814: ; // 0x28eb814
/* 028EB814 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028EB818 */ Gambit_fn_02C3E380(cpu);
/* 028EB81C */ goto L_028EB858;
L_028EB820: ; // 0x28eb820
/* 028EB820 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028EB824 */ cpu->r[5] = cpu->r[31];
/* 028EB828 */ cpu->r[4] = cpu->r[30];
/* 028EB82C */ Gambit_fn_02C4423C(cpu);
/* 028EB830 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028EB834 */ Gambit_fn_02C3E380(cpu);
/* 028EB838 */ goto L_028EB858;
L_028EB83C: ; // 0x28eb83c
/* 028EB83C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028EB840 */ cpu->r[4] = 0x00000000u;
/* 028EB844 */ cpu->r[6] = cpu->r[31];
/* 028EB848 */ cpu->r[5] = cpu->r[30];
/* 028EB84C */ Gambit_fn_02C442C4(cpu);
L_028EB850: ; // 0x28eb850
/* 028EB850 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028EB854 */ Gambit_fn_02C3E380(cpu);
L_028EB858: ; // 0x28eb858
/* 028EB858 */ _t92 = cpu->r[1] + 0x00000044u;
/* 028EB858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t92);
/* 028EB85C */ _t93 = cpu->r[1] + 0x00000054u;
/* 028EB85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
/* 028EB860 */ _t94 = cpu->r[1] + 0x00000048u;
/* 028EB860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t94);
/* 028EB864 */ cpu->lr = cpu->r[0];
/* 028EB868 */ _t95 = cpu->r[1] + 0x0000004Cu;
/* 028EB868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
/* 028EB86C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028EB870 */ return;
}
// fn_028EB620 @ 0x28eb620
void Gambit_fn_028EB620(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028EB620: ; // 0x28eb620
/* 028EB620 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028EB620 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB620 */ cpu->r[1] = _t0;
/* 028EB624 */ _t1 = cpu->r[1] + 0x00000048u;
/* 028EB624 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EB628 */ _t2 = cpu->r[1] + 0x00000044u;
/* 028EB628 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028EB62C */ _t3 = cpu->r[1] + 0x0000004Cu;
/* 028EB62C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028EB630 */ _t4 = cpu->r[1] + 0x00000054u;
/* 028EB630 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EB634 */ _t5 = cpu->r[5] + 0x00000000u;
/* 028EB634 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028EB638 */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFEu;
/* 028EB63C */ cpu->r[31] = cpu->r[6];
/* 028EB640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u);
/* 028EB644 */ cpu->r[30] = cpu->r[8];
/* 028EB648 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB648 */ _t7 = _t6 & 0x00000001u;
/* 028EB648 */ if (_t7) goto L_028EB858; else goto L_028EB64C;
L_028EB64C: ; // 0x28eb64c
/* 028EB64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
/* 028EB650 */ cpu->r[29] = 0x00000000u;
/* 028EB654 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB654 */ _t9 = _t8 & 0x00000001u;
/* 028EB654 */ if (_t9) goto L_028EB658; else goto L_028EB65C;
L_028EB658: ; // 0x28eb658
/* 028EB658 */ cpu->r[29] = 0x00000001u;
L_028EB65C: ; // 0x28eb65c
/* 028EB65C */ cpu->r[12] = 0x10140000u;
/* 028EB660 */ _t10 = cpu->r[12] + 0xFFFFBD80u;
/* 028EB660 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
/* 028EB664 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
/* 028EB668 */ cpu->f[13] = cpu->f[12];
/* 028EB66C */ _t11 = cpu->r[4] + 0x00000000u;
/* 028EB66C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
/* 028EB670 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB670 */ _t13 = _t12 & 0x00000001u;
/* 028EB670 */ if (_t13) goto L_028EB674; else goto L_028EB6C4;
L_028EB674: ; // 0x28eb674
/* 028EB674 */ _t14 = cpu->r[4] + 0x00000004u;
/* 028EB674 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
/* 028EB678 */ cpu->f[0] = cpu->f[10] * cpu->f[1];
/* 028EB67C */ _t15 = cpu->r[4] + 0x00000008u;
/* 028EB67C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
/* 028EB680 */ cpu->f[10] = cpu->f[11] * cpu->f[1];
/* 028EB684 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028EB684 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
/* 028EB688 */ _t17 = cpu->r[4] + 0x0000000Cu;
/* 028EB688 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
/* 028EB68C */ cpu->f[0] = cpu->f[9] * cpu->f[1];
/* 028EB690 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028EB690 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
/* 028EB694 */ cpu->f[10] = cpu->f[11] * cpu->f[1];
/* 028EB698 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028EB698 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028EB69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
/* 028EB6A0 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028EB6A0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
/* 028EB6A4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB6A4 */ _t22 = _t21 & 0x00000001u;
/* 028EB6A4 */ if (_t22) goto L_028EB6E8; else goto L_028EB6A8;
L_028EB6A8: ; // 0x28eb6a8
/* 028EB6A8 */ _t23 = cpu->r[4] + 0x00000010u;
/* 028EB6A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028EB6AC */ _t24 = cpu->r[4] + 0x00000014u;
/* 028EB6AC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t24);
/* 028EB6B0 */ cpu->f[13] = cpu->f[0] * cpu->f[1];
/* 028EB6B4 */ cpu->f[0] = cpu->f[9] * cpu->f[1];
/* 028EB6B8 */ _t25 = cpu->r[1] + 0x00000018u;
/* 028EB6B8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
/* 028EB6BC */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028EB6BC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
/* 028EB6C0 */ goto L_028EB718;
L_028EB6C4: ; // 0x28eb6c4
/* 028EB6C4 */ _t27 = cpu->r[4] + 0x00000008u;
/* 028EB6C4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
/* 028EB6C8 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028EB6C8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[10]);
/* 028EB6CC */ _t29 = cpu->r[1] + 0x00000010u;
/* 028EB6CC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[9]);
/* 028EB6D0 */ _t30 = cpu->r[4] + 0x00000004u;
/* 028EB6D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
/* 028EB6D4 */ _t31 = cpu->r[4] + 0x0000000Cu;
/* 028EB6D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t31);
/* 028EB6D8 */ _t32 = cpu->r[1] + 0x0000000Cu;
/* 028EB6D8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[11]);
/* 028EB6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
/* 028EB6E0 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028EB6E0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
/* 028EB6E4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB6E4 */ _t35 = _t34 & 0x00000001u;
/* 028EB6E4 */ if (_t35) goto L_028EB6E8; else goto L_028EB708;
L_028EB6E8: ; // 0x28eb6e8
/* 028EB6E8 */ _t36 = cpu->r[3] + 0x0000001Cu;
/* 028EB6E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
/* 028EB6EC */ _t37 = cpu->r[1] + 0x0000001Cu;
/* 028EB6EC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
/* 028EB6F0 */ _t38 = cpu->r[1] + 0x00000018u;
/* 028EB6F0 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[12]);
/* 028EB6F4 */ _t39 = cpu->r[11] + 0x0000004Cu;
/* 028EB6F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028EB6F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB6FC */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB6FC */ _t41 = _t40 & 0x00000001u;
/* 028EB6FC */ if (_t41) goto L_028EB748; else goto L_028EB700;
L_028EB700: ; // 0x28eb700
/* 028EB700 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB700 */ _t43 = _t42 & 0x00000001u;
/* 028EB700 */ if (_t43) goto L_028EB7DC; else goto L_028EB704;
L_028EB704: ; // 0x28eb704
/* 028EB704 */ goto L_028EB72C;
L_028EB708: ; // 0x28eb708
/* 028EB708 */ _t44 = cpu->r[4] + 0x00000010u;
/* 028EB708 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
/* 028EB70C */ _t45 = cpu->r[4] + 0x00000014u;
/* 028EB70C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
/* 028EB710 */ _t46 = cpu->r[1] + 0x00000018u;
/* 028EB710 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[11]);
/* 028EB714 */ _t47 = cpu->r[1] + 0x0000001Cu;
/* 028EB714 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
L_028EB718: ; // 0x28eb718
/* 028EB718 */ _t48 = cpu->r[3] + 0x0000001Cu;
/* 028EB718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
/* 028EB71C */ _t49 = cpu->r[11] + 0x0000004Cu;
/* 028EB71C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028EB720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB724 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB724 */ _t51 = _t50 & 0x00000001u;
/* 028EB724 */ if (_t51) goto L_028EB748; else goto L_028EB728;
L_028EB728: ; // 0x28eb728
/* 028EB728 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB728 */ _t53 = _t52 & 0x00000001u;
/* 028EB728 */ if (_t53) goto L_028EB7DC; else goto L_028EB72C;
L_028EB72C: ; // 0x28eb72c
/* 028EB72C */ _t54 = cpu->r[1] + 0x00000044u;
/* 028EB72C */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
/* 028EB730 */ _t55 = cpu->r[1] + 0x00000054u;
/* 028EB730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028EB734 */ _t56 = cpu->r[1] + 0x00000048u;
/* 028EB734 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028EB738 */ cpu->lr = cpu->r[0];
/* 028EB73C */ _t57 = cpu->r[1] + 0x0000004Cu;
/* 028EB73C */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
/* 028EB740 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028EB744 */ return;
L_028EB748: ; // 0x28eb748
/* 028EB748 */ _t58 = cpu->r[3] + 0x00000024u;
/* 028EB748 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
/* 028EB74C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028EB750 */ Gambit_fn_02C3E40C(cpu);
/* 028EB754 */ _t59 = cpu->r[1] + 0x00000020u;
/* 028EB754 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
/* 028EB758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB75C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB75C */ _t61 = _t60 & 0x00000001u;
/* 028EB75C */ if (_t61) goto L_028EB7B8; else goto L_028EB760;
L_028EB760: ; // 0x28eb760
/* 028EB760 */ cpu->r[4] = 0x00000001u;
/* 028EB764 */ Gambit_fn_02C416D0(cpu);
/* 028EB768 */ _t62 = cpu->r[1] + 0x00000020u;
/* 028EB768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
/* 028EB76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB770 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB770 */ _t64 = _t63 & 0x00000001u;
/* 028EB770 */ if (_t64) goto L_028EB7B8; else goto L_028EB774;
L_028EB774: ; // 0x28eb774
/* 028EB774 */ _t65 = cpu->r[1] + 0x00000014u;
/* 028EB774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
/* 028EB778 */ _t66 = cpu->r[1] + 0x00000008u;
/* 028EB778 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
/* 028EB77C */ _t67 = cpu->r[1] + 0x00000034u;
/* 028EB77C */ rbrew_write32(cpu->mem, _t67, cpu->r[6]);
/* 028EB780 */ _t68 = cpu->r[1] + 0x00000028u;
/* 028EB780 */ rbrew_write32(cpu->mem, _t68, cpu->r[11]);
/* 028EB784 */ cpu->r[4] = cpu->r[29];
/* 028EB788 */ _t69 = cpu->r[1] + 0x00000018u;
/* 028EB788 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
/* 028EB78C */ _t70 = cpu->r[1] + 0x00000010u;
/* 028EB78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
/* 028EB790 */ cpu->r[10] = cpu->r[1] + 0x00000028u;
/* 028EB794 */ _t71 = cpu->r[1] + 0x00000038u;
/* 028EB794 */ rbrew_write32(cpu->mem, _t71, cpu->r[7]);
/* 028EB798 */ cpu->r[6] = cpu->r[10];
/* 028EB79C */ _t72 = cpu->r[1] + 0x00000030u;
/* 028EB79C */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
/* 028EB7A0 */ _t73 = cpu->r[1] + 0x0000000Cu;
/* 028EB7A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
/* 028EB7A4 */ _t74 = cpu->r[1] + 0x0000001Cu;
/* 028EB7A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74);
/* 028EB7A8 */ _t75 = cpu->r[1] + 0x0000002Cu;
/* 028EB7A8 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
/* 028EB7AC */ cpu->r[5] = cpu->r[31];
/* 028EB7B0 */ _t76 = cpu->r[1] + 0x0000003Cu;
/* 028EB7B0 */ rbrew_write32(cpu->mem, _t76, cpu->r[8]);
/* 028EB7B4 */ Gambit_fn_02C41998(cpu);
L_028EB7B8: ; // 0x28eb7b8
/* 028EB7B8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028EB7BC */ Gambit_fn_02C3E528(cpu);
/* 028EB7C0 */ _t77 = cpu->r[1] + 0x00000044u;
/* 028EB7C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t77);
/* 028EB7C4 */ _t78 = cpu->r[1] + 0x00000054u;
/* 028EB7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
/* 028EB7C8 */ _t79 = cpu->r[1] + 0x00000048u;
/* 028EB7C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t79);
/* 028EB7CC */ cpu->lr = cpu->r[0];
/* 028EB7D0 */ _t80 = cpu->r[1] + 0x0000004Cu;
/* 028EB7D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t80);
/* 028EB7D4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028EB7D8 */ return;
L_028EB7DC: ; // 0x28eb7dc
/* 028EB7DC */ _t81 = cpu->r[3] + 0x00000024u;
/* 028EB7DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
/* 028EB7E0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028EB7E4 */ Gambit_fn_02C3E264(cpu);
/* 028EB7E8 */ _t82 = cpu->r[1] + 0x00000024u;
/* 028EB7E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
/* 028EB7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB7F0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB7F0 */ _t84 = _t83 & 0x00000001u;
/* 028EB7F0 */ if (_t84) goto L_028EB850; else goto L_028EB7F4;
L_028EB7F4: ; // 0x28eb7f4
/* 028EB7F4 */ cpu->r[4] = 0x00000001u;
/* 028EB7F8 */ Gambit_fn_02C416D0(cpu);
/* 028EB7FC */ _t85 = cpu->r[1] + 0x00000024u;
/* 028EB7FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
/* 028EB800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB804 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB804 */ _t87 = _t86 & 0x00000001u;
/* 028EB804 */ if (_t87) goto L_028EB850; else goto L_028EB808;
L_028EB808: ; // 0x28eb808
/* 028EB808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000001u);
/* 028EB80C */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB80C */ _t89 = _t88 & 0x00000001u;
/* 028EB80C */ if (_t89) goto L_028EB820; else goto L_028EB810;
L_028EB810: ; // 0x28eb810
/* 028EB810 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB810 */ _t91 = _t90 & 0x00000001u;
/* 028EB810 */ if (_t91) goto L_028EB83C; else goto L_028EB814;
L_028EB814: ; // 0x28eb814
/* 028EB814 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028EB818 */ Gambit_fn_02C3E380(cpu);
/* 028EB81C */ goto L_028EB858;
L_028EB820: ; // 0x28eb820
/* 028EB820 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028EB824 */ cpu->r[5] = cpu->r[31];
/* 028EB828 */ cpu->r[4] = cpu->r[30];
/* 028EB82C */ Gambit_fn_02C4423C(cpu);
/* 028EB830 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028EB834 */ Gambit_fn_02C3E380(cpu);
/* 028EB838 */ goto L_028EB858;
L_028EB83C: ; // 0x28eb83c
/* 028EB83C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028EB840 */ cpu->r[4] = 0x00000000u;
/* 028EB844 */ cpu->r[6] = cpu->r[31];
/* 028EB848 */ cpu->r[5] = cpu->r[30];
/* 028EB84C */ Gambit_fn_02C442C4(cpu);
L_028EB850: ; // 0x28eb850
/* 028EB850 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028EB854 */ Gambit_fn_02C3E380(cpu);
L_028EB858: ; // 0x28eb858
/* 028EB858 */ _t92 = cpu->r[1] + 0x00000044u;
/* 028EB858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t92);
/* 028EB85C */ _t93 = cpu->r[1] + 0x00000054u;
/* 028EB85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
/* 028EB860 */ _t94 = cpu->r[1] + 0x00000048u;
/* 028EB860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t94);
/* 028EB864 */ cpu->lr = cpu->r[0];
/* 028EB868 */ _t95 = cpu->r[1] + 0x0000004Cu;
/* 028EB868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
/* 028EB86C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028EB870 */ return;
}
// fn_028EB874 @ 0x28eb874
void Gambit_fn_028EB874(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028EB874: ; // 0x28eb874
/* 028EB874 */ cpu->r[0] = cpu->lr;
/* 028EB878 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EB878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB878 */ cpu->r[1] = _t0;
/* 028EB87C */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028EB87C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EB880 */ cpu->r[12] = 0x101D0000u;
/* 028EB884 */ _t2 = cpu->r[1] + 0x00000024u;
/* 028EB884 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EB888 */ _t3 = cpu->r[12] + 0xFFFF9B10u;
/* 028EB888 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028EB88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB890 */ cpu->r[31] = cpu->r[3];
/* 028EB894 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB894 */ _t5 = _t4 & 0x00000001u;
/* 028EB894 */ if (_t5) goto L_028EB940; else goto L_028EB898;
L_028EB898: ; // 0x28eb898
/* 028EB898 */ cpu->r[11] = 0x10140000u;
/* 028EB89C */ _t6 = cpu->r[11] + 0xFFFFBD84u;
/* 028EB89C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EB8A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028EB8A4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB8A4 */ _t8 = _t7 & 0x00000001u;
/* 028EB8A4 */ if (_t8) goto L_028EB8A8; else goto L_028EB8DC;
L_028EB8A8: ; // 0x28eb8a8
/* 028EB8A8 */ cpu->r[12] = 0x10140000u;
/* 028EB8AC */ cpu->f[1] = cpu->f[0];
/* 028EB8B0 */ _t9 = cpu->r[12] + 0xFFFFBD88u;
/* 028EB8B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028EB8B4 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
/* 028EB8B8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EB8BC */ _t10 = cpu->r[31] + 0x00000024u;
/* 028EB8BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028EB8C0 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
/* 028EB8C4 */ /* nop */
/* 028EB8C8 */ _t11 = cpu->r[1] + 0x00000010u;
/* 028EB8C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028EB8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB8D0 */ _t12 = cpu->r[31] + 0x00000018u;
/* 028EB8D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028EB8D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB8D4 */ _t14 = _t13 & 0x00000001u;
/* 028EB8D4 */ if (_t14) goto L_028EB940; else goto L_028EB8D8;
L_028EB8D8: ; // 0x28eb8d8
/* 028EB8D8 */ goto L_028EB91C;
L_028EB8DC: ; // 0x28eb8dc
/* 028EB8DC */ cpu->r[9] = 0x10140000u;
/* 028EB8E0 */ _t15 = cpu->r[9] + 0xFFFFBD80u;
/* 028EB8E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
/* 028EB8E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028EB8E8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EB8E8 */ _t17 = _t16 & 0x00000001u;
/* 028EB8E8 */ if (_t17) goto L_028EB8EC; else goto L_028EB8F0;
L_028EB8EC: ; // 0x28eb8ec
/* 028EB8EC */ cpu->f[1] = cpu->f[0];
L_028EB8F0: ; // 0x28eb8f0
/* 028EB8F0 */ cpu->r[12] = 0x10140000u;
/* 028EB8F4 */ _t18 = cpu->r[12] + 0xFFFFBD88u;
/* 028EB8F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028EB8F8 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
/* 028EB8FC */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EB900 */ _t19 = cpu->r[31] + 0x00000024u;
/* 028EB900 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028EB904 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
/* 028EB908 */ /* nop */
/* 028EB90C */ _t20 = cpu->r[1] + 0x00000010u;
/* 028EB90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EB910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB914 */ _t21 = cpu->r[31] + 0x00000018u;
/* 028EB914 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028EB918 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB918 */ _t23 = _t22 & 0x00000001u;
/* 028EB918 */ if (_t23) goto L_028EB940; else goto L_028EB91C;
L_028EB91C: ; // 0x28eb91c
/* 028EB91C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB920 */ Gambit_fn_02C3E40C(cpu);
/* 028EB924 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028EB924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
/* 028EB928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB92C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB92C */ _t26 = _t25 & 0x00000001u;
/* 028EB92C */ if (_t26) goto L_028EB938; else goto L_028EB930;
L_028EB930: ; // 0x28eb930
/* 028EB930 */ _t27 = cpu->r[31] + 0x00000018u;
/* 028EB930 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
/* 028EB934 */ Gambit_fn_02C43994(cpu);
L_028EB938: ; // 0x28eb938
/* 028EB938 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB93C */ Gambit_fn_02C3E528(cpu);
L_028EB940: ; // 0x28eb940
/* 028EB940 */ _t28 = cpu->r[1] + 0x00000024u;
/* 028EB940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028EB944 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028EB944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028EB948 */ cpu->lr = cpu->r[0];
/* 028EB94C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EB950 */ return;
}
// fn_028EB878 @ 0x28eb878
void Gambit_fn_028EB878(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028EB878: ; // 0x28eb878
/* 028EB878 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EB878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB878 */ cpu->r[1] = _t0;
/* 028EB87C */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028EB87C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EB880 */ cpu->r[12] = 0x101D0000u;
/* 028EB884 */ _t2 = cpu->r[1] + 0x00000024u;
/* 028EB884 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EB888 */ _t3 = cpu->r[12] + 0xFFFF9B10u;
/* 028EB888 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028EB88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB890 */ cpu->r[31] = cpu->r[3];
/* 028EB894 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB894 */ _t5 = _t4 & 0x00000001u;
/* 028EB894 */ if (_t5) goto L_028EB940; else goto L_028EB898;
L_028EB898: ; // 0x28eb898
/* 028EB898 */ cpu->r[11] = 0x10140000u;
/* 028EB89C */ _t6 = cpu->r[11] + 0xFFFFBD84u;
/* 028EB89C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EB8A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028EB8A4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB8A4 */ _t8 = _t7 & 0x00000001u;
/* 028EB8A4 */ if (_t8) goto L_028EB8A8; else goto L_028EB8DC;
L_028EB8A8: ; // 0x28eb8a8
/* 028EB8A8 */ cpu->r[12] = 0x10140000u;
/* 028EB8AC */ cpu->f[1] = cpu->f[0];
/* 028EB8B0 */ _t9 = cpu->r[12] + 0xFFFFBD88u;
/* 028EB8B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028EB8B4 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
/* 028EB8B8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EB8BC */ _t10 = cpu->r[31] + 0x00000024u;
/* 028EB8BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028EB8C0 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
/* 028EB8C4 */ /* nop */
/* 028EB8C8 */ _t11 = cpu->r[1] + 0x00000010u;
/* 028EB8C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028EB8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB8D0 */ _t12 = cpu->r[31] + 0x00000018u;
/* 028EB8D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028EB8D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB8D4 */ _t14 = _t13 & 0x00000001u;
/* 028EB8D4 */ if (_t14) goto L_028EB940; else goto L_028EB8D8;
L_028EB8D8: ; // 0x28eb8d8
/* 028EB8D8 */ goto L_028EB91C;
L_028EB8DC: ; // 0x28eb8dc
/* 028EB8DC */ cpu->r[9] = 0x10140000u;
/* 028EB8E0 */ _t15 = cpu->r[9] + 0xFFFFBD80u;
/* 028EB8E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
/* 028EB8E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028EB8E8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EB8E8 */ _t17 = _t16 & 0x00000001u;
/* 028EB8E8 */ if (_t17) goto L_028EB8EC; else goto L_028EB8F0;
L_028EB8EC: ; // 0x28eb8ec
/* 028EB8EC */ cpu->f[1] = cpu->f[0];
L_028EB8F0: ; // 0x28eb8f0
/* 028EB8F0 */ cpu->r[12] = 0x10140000u;
/* 028EB8F4 */ _t18 = cpu->r[12] + 0xFFFFBD88u;
/* 028EB8F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028EB8F8 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
/* 028EB8FC */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028EB900 */ _t19 = cpu->r[31] + 0x00000024u;
/* 028EB900 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028EB904 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
/* 028EB908 */ /* nop */
/* 028EB90C */ _t20 = cpu->r[1] + 0x00000010u;
/* 028EB90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EB910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB914 */ _t21 = cpu->r[31] + 0x00000018u;
/* 028EB914 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028EB918 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB918 */ _t23 = _t22 & 0x00000001u;
/* 028EB918 */ if (_t23) goto L_028EB940; else goto L_028EB91C;
L_028EB91C: ; // 0x28eb91c
/* 028EB91C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB920 */ Gambit_fn_02C3E40C(cpu);
/* 028EB924 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028EB924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
/* 028EB928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB92C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB92C */ _t26 = _t25 & 0x00000001u;
/* 028EB92C */ if (_t26) goto L_028EB938; else goto L_028EB930;
L_028EB930: ; // 0x28eb930
/* 028EB930 */ _t27 = cpu->r[31] + 0x00000018u;
/* 028EB930 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
/* 028EB934 */ Gambit_fn_02C43994(cpu);
L_028EB938: ; // 0x28eb938
/* 028EB938 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB93C */ Gambit_fn_02C3E528(cpu);
L_028EB940: ; // 0x28eb940
/* 028EB940 */ _t28 = cpu->r[1] + 0x00000024u;
/* 028EB940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028EB944 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028EB944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028EB948 */ cpu->lr = cpu->r[0];
/* 028EB94C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EB950 */ return;
}
// fn_028EB954 @ 0x28eb954
void Gambit_fn_028EB954(CPUState* cpu) {
uint32_t _t0, _t1, _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_028EB954: ; // 0x28eb954
/* 028EB954 */ cpu->r[0] = cpu->lr;
/* 028EB958 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EB958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB958 */ cpu->r[1] = _t0;
/* 028EB95C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028EB95C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EB960 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028EB960 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EB964 */ _t3 = cpu->r[3] + 0x00000024u;
/* 028EB964 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028EB968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB96C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB96C */ _t5 = _t4 & 0x00000001u;
/* 028EB96C */ if (_t5) goto L_028EBA2C; else goto L_028EB970;
L_028EB970: ; // 0x28eb970
/* 028EB970 */ _t6 = cpu->r[3] + 0x0000001Cu;
/* 028EB970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028EB974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB978 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB978 */ _t8 = _t7 & 0x00000001u;
/* 028EB978 */ if (_t8) goto L_028EBA2C; else goto L_028EB97C;
L_028EB97C: ; // 0x28eb97c
/* 028EB97C */ _t9 = cpu->r[12] + 0x0000004Cu;
/* 028EB97C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EB980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB984 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB984 */ _t11 = _t10 & 0x00000001u;
/* 028EB984 */ if (_t11) goto L_028EB994; else goto L_028EB988;
L_028EB988: ; // 0x28eb988
/* 028EB988 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB988 */ _t13 = _t12 & 0x00000001u;
/* 028EB988 */ if (_t13) goto L_028EB9E4; else goto L_028EB98C;
L_028EB98C: ; // 0x28eb98c
/* 028EB98C */ cpu->r[31] = 0xFFFFFFFFu;
/* 028EB990 */ goto L_028EBA30;
L_028EB994: ; // 0x28eb994
/* 028EB994 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB998 */ Gambit_fn_02C3E40C(cpu);
/* 028EB99C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028EB99C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028EB9A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB9A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB9A4 */ _t16 = _t15 & 0x00000001u;
/* 028EB9A4 */ if (_t16) goto L_028EB9D4; else goto L_028EB9A8;
L_028EB9A8: ; // 0x28eb9a8
/* 028EB9A8 */ cpu->r[4] = 0x00000001u;
/* 028EB9AC */ Gambit_fn_02C43B04(cpu);
/* 028EB9B0 */ cpu->r[31] = cpu->r[3];
/* 028EB9B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB9B8 */ Gambit_fn_02C3E528(cpu);
/* 028EB9BC */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028EB9BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028EB9C0 */ cpu->r[3] = cpu->r[31];
/* 028EB9C4 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028EB9C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028EB9C8 */ cpu->lr = cpu->r[0];
/* 028EB9CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EB9D0 */ return;
L_028EB9D4: ; // 0x28eb9d4
/* 028EB9D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB9D8 */ Gambit_fn_02C3E528(cpu);
/* 028EB9DC */ cpu->r[31] = 0xFFFFFFFFu;
/* 028EB9E0 */ goto L_028EBA30;
L_028EB9E4: ; // 0x28eb9e4
/* 028EB9E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028EB9E8 */ Gambit_fn_02C3E264(cpu);
/* 028EB9EC */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028EB9EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028EB9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB9F4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB9F4 */ _t21 = _t20 & 0x00000001u;
/* 028EB9F4 */ if (_t21) goto L_028EBA24; else goto L_028EB9F8;
L_028EB9F8: ; // 0x28eb9f8
/* 028EB9F8 */ cpu->r[4] = 0x00000001u;
/* 028EB9FC */ Gambit_fn_02C44554(cpu);
/* 028EBA00 */ cpu->r[31] = cpu->r[3];
/* 028EBA04 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028EBA08 */ Gambit_fn_02C3E380(cpu);
/* 028EBA0C */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028EBA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028EBA10 */ cpu->r[3] = cpu->r[31];
/* 028EBA14 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028EBA14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028EBA18 */ cpu->lr = cpu->r[0];
/* 028EBA1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EBA20 */ return;
L_028EBA24: ; // 0x28eba24
/* 028EBA24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028EBA28 */ Gambit_fn_02C3E380(cpu);
L_028EBA2C: ; // 0x28eba2c
/* 028EBA2C */ cpu->r[31] = 0xFFFFFFFFu;
L_028EBA30: ; // 0x28eba30
/* 028EBA30 */ _t24 = cpu->r[1] + 0x0000001Cu;
/* 028EBA30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028EBA34 */ cpu->r[3] = cpu->r[31];
/* 028EBA38 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028EBA38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028EBA3C */ cpu->lr = cpu->r[0];
/* 028EBA40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EBA44 */ return;
}
// fn_028EB958 @ 0x28eb958
void Gambit_fn_028EB958(CPUState* cpu) {
uint32_t _t0, _t1, _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_028EB958: ; // 0x28eb958
/* 028EB958 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028EB958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EB958 */ cpu->r[1] = _t0;
/* 028EB95C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028EB95C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EB960 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028EB960 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EB964 */ _t3 = cpu->r[3] + 0x00000024u;
/* 028EB964 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028EB968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EB96C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB96C */ _t5 = _t4 & 0x00000001u;
/* 028EB96C */ if (_t5) goto L_028EBA2C; else goto L_028EB970;
L_028EB970: ; // 0x28eb970
/* 028EB970 */ _t6 = cpu->r[3] + 0x0000001Cu;
/* 028EB970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028EB974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB978 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB978 */ _t8 = _t7 & 0x00000001u;
/* 028EB978 */ if (_t8) goto L_028EBA2C; else goto L_028EB97C;
L_028EB97C: ; // 0x28eb97c
/* 028EB97C */ _t9 = cpu->r[12] + 0x0000004Cu;
/* 028EB97C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EB980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028EB984 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EB984 */ _t11 = _t10 & 0x00000001u;
/* 028EB984 */ if (_t11) goto L_028EB994; else goto L_028EB988;
L_028EB988: ; // 0x28eb988
/* 028EB988 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB988 */ _t13 = _t12 & 0x00000001u;
/* 028EB988 */ if (_t13) goto L_028EB9E4; else goto L_028EB98C;
L_028EB98C: ; // 0x28eb98c
/* 028EB98C */ cpu->r[31] = 0xFFFFFFFFu;
/* 028EB990 */ goto L_028EBA30;
L_028EB994: ; // 0x28eb994
/* 028EB994 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB998 */ Gambit_fn_02C3E40C(cpu);
/* 028EB99C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028EB99C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028EB9A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB9A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB9A4 */ _t16 = _t15 & 0x00000001u;
/* 028EB9A4 */ if (_t16) goto L_028EB9D4; else goto L_028EB9A8;
L_028EB9A8: ; // 0x28eb9a8
/* 028EB9A8 */ cpu->r[4] = 0x00000001u;
/* 028EB9AC */ Gambit_fn_02C43B04(cpu);
/* 028EB9B0 */ cpu->r[31] = cpu->r[3];
/* 028EB9B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB9B8 */ Gambit_fn_02C3E528(cpu);
/* 028EB9BC */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028EB9BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028EB9C0 */ cpu->r[3] = cpu->r[31];
/* 028EB9C4 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028EB9C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028EB9C8 */ cpu->lr = cpu->r[0];
/* 028EB9CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EB9D0 */ return;
L_028EB9D4: ; // 0x28eb9d4
/* 028EB9D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028EB9D8 */ Gambit_fn_02C3E528(cpu);
/* 028EB9DC */ cpu->r[31] = 0xFFFFFFFFu;
/* 028EB9E0 */ goto L_028EBA30;
L_028EB9E4: ; // 0x28eb9e4
/* 028EB9E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028EB9E8 */ Gambit_fn_02C3E264(cpu);
/* 028EB9EC */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028EB9EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028EB9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EB9F4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB9F4 */ _t21 = _t20 & 0x00000001u;
/* 028EB9F4 */ if (_t21) goto L_028EBA24; else goto L_028EB9F8;
L_028EB9F8: ; // 0x28eb9f8
/* 028EB9F8 */ cpu->r[4] = 0x00000001u;
/* 028EB9FC */ Gambit_fn_02C44554(cpu);
/* 028EBA00 */ cpu->r[31] = cpu->r[3];
/* 028EBA04 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028EBA08 */ Gambit_fn_02C3E380(cpu);
/* 028EBA0C */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028EBA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028EBA10 */ cpu->r[3] = cpu->r[31];
/* 028EBA14 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028EBA14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028EBA18 */ cpu->lr = cpu->r[0];
/* 028EBA1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EBA20 */ return;
L_028EBA24: ; // 0x28eba24
/* 028EBA24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028EBA28 */ Gambit_fn_02C3E380(cpu);
L_028EBA2C: ; // 0x28eba2c
/* 028EBA2C */ cpu->r[31] = 0xFFFFFFFFu;
L_028EBA30: ; // 0x28eba30
/* 028EBA30 */ _t24 = cpu->r[1] + 0x0000001Cu;
/* 028EBA30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028EBA34 */ cpu->r[3] = cpu->r[31];
/* 028EBA38 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028EBA38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028EBA3C */ cpu->lr = cpu->r[0];
/* 028EBA40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028EBA44 */ return;
}
// fn_028EBA48 @ 0x28eba48
void Gambit_fn_028EBA48(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
L_028E62CC: ; // 0x28e62cc
/* 028E62CC */ cpu->r[0] = cpu->lr;
/* 028E62D0 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
/* 028E62D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028E62D0 */ cpu->r[1] = _t0;
/* 028E62D4 */ _t1 = cpu->r[1] + 0x00000098u;
/* 028E62D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028E62D8 */ _t2 = cpu->r[1] + 0x0000009Cu;
/* 028E62D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028E62DC */ cpu->r[30] = cpu->r[3];
/* 028E62E0 */ _t3 = cpu->r[1] + 0x000000A4u;
/* 028E62E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028E62E4 */ _t4 = cpu->r[30] + 0x0000004Cu;
/* 028E62E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
/* 028E62E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
/* 028E62EC */ cpu->r[31] = cpu->r[4];
/* 028E62F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E62F0 */ _t6 = _t5 & 0x00000001u;
/* 028E62F0 */ if (_t6) goto L_028E62F4; else goto L_028E635C;
L_028E62F4: ; // 0x28e62f4
/* 028E62F4 */ _t7 = cpu->r[30] + 0x00000050u;
/* 028E62F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028E62F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028E62FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E62FC */ _t9 = _t8 & 0x00000001u;
/* 028E62FC */ if (_t9) goto L_028E63C8; else goto L_028E6300;
L_028E6300: ; // 0x28e6300
/* 028E6300 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6304 */ Gambit_fn_02C425B8(cpu);
/* 028E6308 */ _t10 = cpu->r[30] + 0x00000050u;
/* 028E6308 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028E630C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6310 */ Gambit_fn_02C42634(cpu);
/* 028E6314 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028E6318 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E631C */ Gambit_fn_02C426B0(cpu);
/* 028E6320 */ _t11 = cpu->r[1] + 0x00000015u;
/* 028E6320 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
/* 028E6324 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028E6324 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028E6328 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028E6328 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
/* 028E632C */ _t14 = cpu->r[1] + 0x00000018u;
/* 028E632C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028E6330 */ _t15 = cpu->r[1] + 0x00000020u;
/* 028E6330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028E6334 */ _t16 = cpu->r[31] + 0x00000004u;
/* 028E6334 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028E6338 */ _t17 = cpu->r[31] + 0x0000000Cu;
/* 028E6338 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
/* 028E633C */ _t18 = cpu->r[31] + 0x00000008u;
/* 028E633C */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
/* 028E6340 */ _t19 = cpu->r[1] + 0x000000A4u;
/* 028E6340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028E6344 */ _t20 = cpu->r[1] + 0x00000098u;
/* 028E6344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028E6348 */ cpu->lr = cpu->r[0];
/* 028E634C */ _t21 = cpu->r[1] + 0x0000009Cu;
/* 028E634C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028E6350 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028E6354 */ cpu->r[3] = 0x00000001u;
/* 028E6358 */ return;
L_028E635C: ; // 0x28e635c
/* 028E635C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028E6360 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E6360 */ _t23 = _t22 & 0x00000001u;
/* 028E6360 */ if (_t23) goto L_028E6364; else goto L_028E63C8;
L_028E6364: ; // 0x28e6364
/* 028E6364 */ _t24 = cpu->r[30] + 0x00000050u;
/* 028E6364 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
/* 028E6368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028E636C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028E636C */ _t26 = _t25 & 0x00000001u;
/* 028E636C */ if (_t26) goto L_028E63C8; else goto L_028E6370;
L_028E6370: ; // 0x28e6370
/* 028E6370 */ cpu->r[5] = 0x00000000u;
/* 028E6374 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6378 */ Gambit_fn_02C3C820(cpu);
/* 028E637C */ cpu->r[5] = 0x00000000u;
/* 028E6380 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
/* 028E6384 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028E6388 */ Gambit_fn_02C3C9B0(cpu);
/* 028E638C */ _t27 = cpu->r[1] + 0x00000020u;
/* 028E638C */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
/* 028E6390 */ _t28 = cpu->r[1] + 0x00000030u;
/* 028E6390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028E6394 */ _t29 = cpu->r[31] + 0x00000000u;
/* 028E6394 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[12]);
/* 028E6398 */ _t30 = cpu->r[31] + 0x0000000Cu;
/* 028E6398 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028E639C */ _t31 = cpu->r[1] + 0x00000028u;
/* 028E639C */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
/* 028E63A0 */ _t32 = cpu->r[1] + 0x0000002Cu;
/* 028E63A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
/* 028E63A4 */ _t33 = cpu->r[31] + 0x00000004u;
/* 028E63A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
/* 028E63A8 */ _t34 = cpu->r[31] + 0x00000008u;
/* 028E63A8 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
/* 028E63AC */ _t35 = cpu->r[1] + 0x000000A4u;
/* 028E63AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028E63B0 */ _t36 = cpu->r[1] + 0x00000098u;
/* 028E63B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028E63B4 */ cpu->lr = cpu->r[0];
/* 028E63B8 */ _t37 = cpu->r[1] + 0x0000009Cu;
/* 028E63B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
/* 028E63BC */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028E63C0 */ cpu->r[3] = 0x00000001u;
/* 028E63C4 */ return;
L_028E63C8: ; // 0x28e63c8
/* 028E63C8 */ _t38 = cpu->r[1] + 0x000000A4u;
/* 028E63C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028E63CC */ _t39 = cpu->r[1] + 0x00000098u;
/* 028E63CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
/* 028E63D0 */ cpu->lr = cpu->r[0];
/* 028E63D4 */ _t40 = cpu->r[1] + 0x0000009Cu;
/* 028E63D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028E63D8 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028E63DC */ cpu->r[3] = 0x00000000u;
/* 028E63E0 */ return;
L_028EBA48: ; // 0x28eba48
/* 028EBA48 */ _t41 = cpu->r[3] + 0x0000001Cu;
/* 028EBA48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028EBA4C */ cpu->r[3] = 0x00000000u;
/* 028EBA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EBA54 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBA54 */ _t43 = _t42 & 0x00000001u;
/* 028EBA54 */ if (_t43) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EBA54 */ goto L_028EBA58;
L_028EBA58: ; // 0x28eba58
/* 028EBA58 */ cpu->r[3] = cpu->r[0];
/* 028EBA5C */ goto L_028E62CC;
}
// fn_028EBA64 @ 0x28eba64
void Gambit_fn_028EBA64(CPUState* cpu) {
uint32_t _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_028EBA64: ; // 0x28eba64
/* 028EBA64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EBA64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EBA64 */ cpu->r[1] = _t0;
/* 028EBA68 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EBA68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EBA6C */ cpu->r[12] = 0x101D0000u;
/* 028EBA70 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EBA70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EBA74 */ _t3 = cpu->r[12] + 0xFFFF99E8u;
/* 028EBA74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028EBA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EBA7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBA7C */ _t5 = _t4 & 0x00000001u;
/* 028EBA7C */ if (_t5) goto L_028EBAF8; else goto L_028EBA80;
L_028EBA80: ; // 0x28eba80
/* 028EBA80 */ cpu->r[10] = 0x101D0000u;
/* 028EBA84 */ _t6 = cpu->r[10] + 0xFFFFF9ECu;
/* 028EBA84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028EBA84 */ cpu->r[10] = _t6;
/* 028EBA88 */ cpu->r[4] = 0x101D0000u;
/* 028EBA8C */ _t7 = cpu->r[12] + 0x0000001Cu;
/* 028EBA8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028EBA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EBA94 */ cpu->r[4] = cpu->r[4] + 0x000014C8u;
/* 028EBA98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBA98 */ _t9 = _t8 & 0x00000001u;
/* 028EBA98 */ if (_t9) goto L_028EBA9C; else goto L_028EBAB0;
L_028EBA9C: ; // 0x28eba9c
/* 028EBA9C */ cpu->r[0] = 0x10140000u;
/* 028EBAA0 */ cpu->r[12] = 0x00000001u;
/* 028EBAA4 */ cpu->r[0] = cpu->r[0] + 0xFFFFBD70u;
/* 028EBAA8 */ _t10 = cpu->r[10] + 0x00000000u;
/* 028EBAA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028EBAAC */ _t11 = cpu->r[4] + 0x00000000u;
/* 028EBAAC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028EBAB0: ; // 0x28ebab0
/* 028EBAB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBAB4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBAB4 */ _t13 = _t12 & 0x00000001u;
/* 028EBAB4 */ if (_t13) goto L_028EBAEC; else goto L_028EBAB8;
L_028EBAB8: ; // 0x28ebab8
/* 028EBAB8 */ _t14 = cpu->r[31] + 0x00000000u;
/* 028EBAB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028EBABC */ _t15 = cpu->r[11] + 0x0000000Cu;
/* 028EBABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EBAC0 */ cpu->ctr = cpu->r[0];
/* 028EBAC4 */ cpu->r[3] = cpu->r[31];
/* 028EBAC8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028EBACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBAD0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBAD0 */ _t17 = _t16 & 0x00000001u;
/* 028EBAD0 */ if (_t17) goto L_028EBAEC; else goto L_028EBAD4;
L_028EBAD4: ; // 0x28ebad4
/* 028EBAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBAD8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBAD8 */ _t19 = _t18 & 0x00000001u;
/* 028EBAD8 */ if (_t19) goto L_028EBAEC; else goto L_028EBADC;
L_028EBADC: ; // 0x28ebadc
/* 028EBADC */ cpu->r[10] = 0x101D0000u;
/* 028EBAE0 */ cpu->r[9] = cpu->r[31] + 0x00000004u;
/* 028EBAE4 */ _t20 = cpu->r[10] + 0xFFFF9B0Cu;
/* 028EBAE4 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
/* 028EBAE8 */ goto L_028EBAF8;
L_028EBAEC: ; // 0x28ebaec
/* 028EBAEC */ cpu->r[10] = 0x101D0000u;
/* 028EBAF0 */ cpu->r[9] = 0x00000000u;
/* 028EBAF4 */ _t21 = cpu->r[10] + 0xFFFF9B0Cu;
/* 028EBAF4 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
L_028EBAF8: ; // 0x28ebaf8
/* 028EBAF8 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028EBAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028EBAFC */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028EBAFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028EBB00 */ cpu->lr = cpu->r[0];
/* 028EBB04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EBB08 */ return;
}
// fn_028EBB10 @ 0x28ebb10
void Gambit_fn_028EBB10(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028EBB10: ; // 0x28ebb10
/* 028EBB10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EBB10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EBB10 */ cpu->r[1] = _t0;
/* 028EBB14 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EBB14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EBB18 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028EBB18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028EBB1C */ cpu->r[31] = cpu->r[3];
/* 028EBB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBB20 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EBB20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EBB24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBB24 */ _t5 = _t4 & 0x00000001u;
/* 028EBB24 */ if (_t5) goto L_028EBB28; else goto L_028EBB38;
L_028EBB28: ; // 0x28ebb28
/* 028EBB28 */ cpu->r[3] = 0x0000000Eu;
/* 028EBB2C */ Gambit_fn_02801A78(cpu);
/* 028EBB30 */ cpu->r[31] = cpu->r[3];
/* 028EBB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBB34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBB34 */ _t7 = _t6 & 0x00000001u;
/* 028EBB34 */ if (_t7) goto L_028EBB84; else goto L_028EBB38;
L_028EBB38: ; // 0x28ebb38
/* 028EBB38 */ cpu->r[30] = 0x00000000u;
/* 028EBB3C */ cpu->r[11] = 0x0000007Fu;
/* 028EBB40 */ _t8 = cpu->r[31] + 0x0000000Au;
/* 028EBB40 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
/* 028EBB44 */ cpu->r[5] = 0x00000002u;
/* 028EBB48 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028EBB48 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
/* 028EBB4C */ cpu->r[4] = 0xFFFFFFFFu;
/* 028EBB50 */ _t10 = cpu->r[31] + 0x0000000Bu;
/* 028EBB50 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
/* 028EBB54 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
/* 028EBB58 */ _t11 = cpu->r[31] + 0x00000001u;
/* 028EBB58 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
/* 028EBB5C */ _t12 = cpu->r[31] + 0x00000002u;
/* 028EBB5C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
/* 028EBB60 */ cpu->r[12] = 0x00000040u;
/* 028EBB64 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028EBB64 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
/* 028EBB68 */ _t14 = cpu->r[31] + 0x00000008u;
/* 028EBB68 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
/* 028EBB6C */ _t15 = cpu->r[31] + 0x00000009u;
/* 028EBB6C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[30]);
/* 028EBB70 */ rbrew_dispatch(cpu, 0x02d0b880u);
/* 028EBB74 */ cpu->r[5] = 0x00000003u;
/* 028EBB78 */ cpu->r[4] = cpu->r[30];
/* 028EBB7C */ cpu->r[3] = cpu->r[31] + 0x00000005u;
/* 028EBB80 */ rbrew_dispatch(cpu, 0x02d0b880u);
L_028EBB84: ; // 0x28ebb84
/* 028EBB84 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028EBB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028EBB88 */ cpu->r[3] = cpu->r[31];
/* 028EBB8C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028EBB8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028EBB90 */ cpu->lr = cpu->r[0];
/* 028EBB94 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028EBB94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028EBB98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EBB9C */ return;
}
// fn_028EBBA0 @ 0x28ebba0
void Gambit_fn_028EBBA0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028EBBA0: ; // 0x28ebba0
/* 028EBBA0 */ cpu->r[0] = cpu->lr;
/* 028EBBA4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028EBBA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EBBA4 */ cpu->r[1] = _t0;
/* 028EBBA8 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028EBBA8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EBBAC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EBBAC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028EBBB0 */ /* nop */
/* 028EBBB4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EBBB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028EBBB8 */ _t4 = cpu->r[1] + 0x00000020u;
/* 028EBBB8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028EBBBC */ cpu->r[31] = cpu->r[3];
/* 028EBBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBBC0 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028EBBC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028EBBC4 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028EBBC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028EBBC8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBBC8 */ _t8 = _t7 & 0x00000001u;
/* 028EBBC8 */ if (_t8) goto L_028EBBCC; else goto L_028EBBDC;
L_028EBBCC: ; // 0x28ebbcc
/* 028EBBCC */ cpu->r[3] = 0x00000044u;
/* 028EBBD0 */ Gambit_fn_02801A78(cpu);
/* 028EBBD4 */ cpu->r[31] = cpu->r[3];
/* 028EBBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBBD8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBBD8 */ _t10 = _t9 & 0x00000001u;
/* 028EBBD8 */ if (_t10) goto L_028EBCAC; else goto L_028EBBDC;
L_028EBBDC: ; // 0x28ebbdc
/* 028EBBDC */ cpu->r[9] = 0x10140000u;
/* 028EBBE0 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
/* 028EBBE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028EBBE4 */ cpu->r[9] = cpu->r[9] + 0xFFFFBEF8u;
/* 028EBBE8 */ cpu->r[30] = 0x00000000u;
/* 028EBBEC */ _t11 = cpu->r[31] + 0x00000000u;
/* 028EBBEC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
/* 028EBBF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBBF0 */ _t13 = _t12 & 0x00000001u;
/* 028EBBF0 */ if (_t13) goto L_028EBBF4; else goto L_028EBC04;
L_028EBBF4: ; // 0x28ebbf4
/* 028EBBF4 */ cpu->r[3] = 0x00000014u;
/* 028EBBF8 */ Gambit_fn_02801A78(cpu);
/* 028EBBFC */ cpu->r[29] = cpu->r[3];
/* 028EBBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028EBC00 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC00 */ _t15 = _t14 & 0x00000001u;
/* 028EBC00 */ if (_t15) goto L_028EBC30; else goto L_028EBC04;
L_028EBC04: ; // 0x28ebc04
/* 028EBC04 */ cpu->r[3] = cpu->r[29];
/* 028EBC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC08 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC08 */ _t17 = _t16 & 0x00000001u;
/* 028EBC08 */ if (_t17) goto L_028EBC0C; else goto L_028EBC1C;
L_028EBC0C: ; // 0x28ebc0c
/* 028EBC0C */ cpu->r[3] = 0x0000000Cu;
/* 028EBC10 */ Gambit_fn_02801A78(cpu);
/* 028EBC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC18 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC18 */ _t19 = _t18 & 0x00000001u;
/* 028EBC18 */ if (_t19) goto L_028EBC28; else goto L_028EBC1C;
L_028EBC1C: ; // 0x28ebc1c
/* 028EBC1C */ _t20 = cpu->r[3] + 0x00000004u;
/* 028EBC1C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028EBC20 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028EBC20 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028EBC24 */ _t22 = cpu->r[3] + 0x00000008u;
/* 028EBC24 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
L_028EBC28: ; // 0x28ebc28
/* 028EBC28 */ _t23 = cpu->r[29] + 0x00000010u;
/* 028EBC28 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028EBC2C */ _t24 = cpu->r[29] + 0x0000000Cu;
/* 028EBC2C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
L_028EBC30: ; // 0x28ebc30
/* 028EBC30 */ _t25 = cpu->r[31] + 0x00000018u;
/* 028EBC30 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
/* 028EBC34 */ cpu->r[10] = 0x10140000u;
/* 028EBC38 */ _t26 = cpu->r[31] + 0x0000001Cu;
/* 028EBC38 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
/* 028EBC3C */ cpu->r[8] = 0x10140000u;
/* 028EBC40 */ _t27 = cpu->r[10] + 0xFFFFBECCu;
/* 028EBC40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
/* 028EBC44 */ _t28 = cpu->r[8] + 0xFFFFBEC8u;
/* 028EBC44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
/* 028EBC48 */ _t29 = cpu->r[31] + 0x00000024u;
/* 028EBC48 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
/* 028EBC4C */ cpu->r[3] = cpu->r[31] + 0x00000028u;
/* 028EBC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC50 */ _t30 = cpu->r[31] + 0x00000020u;
/* 028EBC50 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
/* 028EBC54 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC54 */ _t32 = _t31 & 0x00000001u;
/* 028EBC54 */ if (_t32) goto L_028EBC58; else goto L_028EBC68;
L_028EBC58: ; // 0x28ebc58
/* 028EBC58 */ cpu->r[3] = 0x00000008u;
/* 028EBC5C */ Gambit_fn_02801A78(cpu);
/* 028EBC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC64 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC64 */ _t34 = _t33 & 0x00000001u;
/* 028EBC64 */ if (_t34) goto L_028EBC70; else goto L_028EBC68;
L_028EBC68: ; // 0x28ebc68
/* 028EBC68 */ _t35 = cpu->r[3] + 0x00000004u;
/* 028EBC68 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[31]);
/* 028EBC6C */ _t36 = cpu->r[3] + 0x00000000u;
/* 028EBC6C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
L_028EBC70: ; // 0x28ebc70
/* 028EBC70 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
/* 028EBC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC74 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC74 */ _t38 = _t37 & 0x00000001u;
/* 028EBC74 */ if (_t38) goto L_028EBC78; else goto L_028EBC88;
L_028EBC78: ; // 0x28ebc78
/* 028EBC78 */ cpu->r[3] = 0x00000008u;
/* 028EBC7C */ Gambit_fn_02801A78(cpu);
/* 028EBC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC84 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC84 */ _t40 = _t39 & 0x00000001u;
/* 028EBC84 */ if (_t40) goto L_028EBC94; else goto L_028EBC88;
L_028EBC88: ; // 0x28ebc88
/* 028EBC88 */ cpu->r[11] = 0x0000000Au;
/* 028EBC8C */ _t41 = cpu->r[3] + 0x00000004u;
/* 028EBC8C */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
/* 028EBC90 */ _t42 = cpu->r[3] + 0x00000000u;
/* 028EBC90 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
L_028EBC94: ; // 0x28ebc94
/* 028EBC94 */ cpu->r[7] = 0x10140000u;
/* 028EBC98 */ _t43 = cpu->r[31] + 0x00000040u;
/* 028EBC98 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[30]);
/* 028EBC9C */ cpu->r[0] = 0x00000040u;
/* 028EBCA0 */ _t44 = cpu->r[7] + 0xFFFFBED0u;
/* 028EBCA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
/* 028EBCA4 */ _t45 = cpu->r[31] + 0x00000038u;
/* 028EBCA4 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
/* 028EBCA8 */ _t46 = cpu->r[31] + 0x0000003Cu;
/* 028EBCA8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
L_028EBCAC: ; // 0x28ebcac
/* 028EBCAC */ _t47 = cpu->r[1] + 0x0000000Cu;
/* 028EBCAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
/* 028EBCB0 */ _t48 = cpu->r[1] + 0x00000020u;
/* 028EBCB0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t48);
/* 028EBCB4 */ _t49 = cpu->r[1] + 0x00000010u;
/* 028EBCB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
/* 028EBCB8 */ _t50 = cpu->r[1] + 0x00000018u;
/* 028EBCB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t50);
/* 028EBCBC */ cpu->r[3] = cpu->r[31];
/* 028EBCC0 */ _t51 = cpu->r[1] + 0x00000014u;
/* 028EBCC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
/* 028EBCC4 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBCC4 */ _t53 = _t52 & 0x00000001u;
/* 028EBCC4 */ if (_t53) goto L_028EBCC8; // else: addr-0 trap, fall-through
L_028EBCC8: ; // 0x28ebcc8
/* 028EBCC8 */ _t54 = cpu->r[1] + 0x0000002Cu;
/* 028EBCC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028EBCCC */ cpu->lr = cpu->r[0];
/* 028EBCD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EBCD4 */ return;
}
// fn_028EBBA4 @ 0x28ebba4
void Gambit_fn_028EBBA4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028EBBA4: ; // 0x28ebba4
/* 028EBBA4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028EBBA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EBBA4 */ cpu->r[1] = _t0;
/* 028EBBA8 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028EBBA8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EBBAC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EBBAC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028EBBB0 */ /* nop */
/* 028EBBB4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EBBB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028EBBB8 */ _t4 = cpu->r[1] + 0x00000020u;
/* 028EBBB8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028EBBBC */ cpu->r[31] = cpu->r[3];
/* 028EBBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBBC0 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028EBBC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028EBBC4 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028EBBC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028EBBC8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBBC8 */ _t8 = _t7 & 0x00000001u;
/* 028EBBC8 */ if (_t8) goto L_028EBBCC; else goto L_028EBBDC;
L_028EBBCC: ; // 0x28ebbcc
/* 028EBBCC */ cpu->r[3] = 0x00000044u;
/* 028EBBD0 */ Gambit_fn_02801A78(cpu);
/* 028EBBD4 */ cpu->r[31] = cpu->r[3];
/* 028EBBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBBD8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBBD8 */ _t10 = _t9 & 0x00000001u;
/* 028EBBD8 */ if (_t10) goto L_028EBCAC; else goto L_028EBBDC;
L_028EBBDC: ; // 0x28ebbdc
/* 028EBBDC */ cpu->r[9] = 0x10140000u;
/* 028EBBE0 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
/* 028EBBE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028EBBE4 */ cpu->r[9] = cpu->r[9] + 0xFFFFBEF8u;
/* 028EBBE8 */ cpu->r[30] = 0x00000000u;
/* 028EBBEC */ _t11 = cpu->r[31] + 0x00000000u;
/* 028EBBEC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
/* 028EBBF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBBF0 */ _t13 = _t12 & 0x00000001u;
/* 028EBBF0 */ if (_t13) goto L_028EBBF4; else goto L_028EBC04;
L_028EBBF4: ; // 0x28ebbf4
/* 028EBBF4 */ cpu->r[3] = 0x00000014u;
/* 028EBBF8 */ Gambit_fn_02801A78(cpu);
/* 028EBBFC */ cpu->r[29] = cpu->r[3];
/* 028EBBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028EBC00 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC00 */ _t15 = _t14 & 0x00000001u;
/* 028EBC00 */ if (_t15) goto L_028EBC30; else goto L_028EBC04;
L_028EBC04: ; // 0x28ebc04
/* 028EBC04 */ cpu->r[3] = cpu->r[29];
/* 028EBC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC08 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC08 */ _t17 = _t16 & 0x00000001u;
/* 028EBC08 */ if (_t17) goto L_028EBC0C; else goto L_028EBC1C;
L_028EBC0C: ; // 0x28ebc0c
/* 028EBC0C */ cpu->r[3] = 0x0000000Cu;
/* 028EBC10 */ Gambit_fn_02801A78(cpu);
/* 028EBC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC18 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC18 */ _t19 = _t18 & 0x00000001u;
/* 028EBC18 */ if (_t19) goto L_028EBC28; else goto L_028EBC1C;
L_028EBC1C: ; // 0x28ebc1c
/* 028EBC1C */ _t20 = cpu->r[3] + 0x00000004u;
/* 028EBC1C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028EBC20 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028EBC20 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028EBC24 */ _t22 = cpu->r[3] + 0x00000008u;
/* 028EBC24 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
L_028EBC28: ; // 0x28ebc28
/* 028EBC28 */ _t23 = cpu->r[29] + 0x00000010u;
/* 028EBC28 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028EBC2C */ _t24 = cpu->r[29] + 0x0000000Cu;
/* 028EBC2C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
L_028EBC30: ; // 0x28ebc30
/* 028EBC30 */ _t25 = cpu->r[31] + 0x00000018u;
/* 028EBC30 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
/* 028EBC34 */ cpu->r[10] = 0x10140000u;
/* 028EBC38 */ _t26 = cpu->r[31] + 0x0000001Cu;
/* 028EBC38 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
/* 028EBC3C */ cpu->r[8] = 0x10140000u;
/* 028EBC40 */ _t27 = cpu->r[10] + 0xFFFFBECCu;
/* 028EBC40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
/* 028EBC44 */ _t28 = cpu->r[8] + 0xFFFFBEC8u;
/* 028EBC44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
/* 028EBC48 */ _t29 = cpu->r[31] + 0x00000024u;
/* 028EBC48 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
/* 028EBC4C */ cpu->r[3] = cpu->r[31] + 0x00000028u;
/* 028EBC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC50 */ _t30 = cpu->r[31] + 0x00000020u;
/* 028EBC50 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
/* 028EBC54 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC54 */ _t32 = _t31 & 0x00000001u;
/* 028EBC54 */ if (_t32) goto L_028EBC58; else goto L_028EBC68;
L_028EBC58: ; // 0x28ebc58
/* 028EBC58 */ cpu->r[3] = 0x00000008u;
/* 028EBC5C */ Gambit_fn_02801A78(cpu);
/* 028EBC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC64 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC64 */ _t34 = _t33 & 0x00000001u;
/* 028EBC64 */ if (_t34) goto L_028EBC70; else goto L_028EBC68;
L_028EBC68: ; // 0x28ebc68
/* 028EBC68 */ _t35 = cpu->r[3] + 0x00000004u;
/* 028EBC68 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[31]);
/* 028EBC6C */ _t36 = cpu->r[3] + 0x00000000u;
/* 028EBC6C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
L_028EBC70: ; // 0x28ebc70
/* 028EBC70 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
/* 028EBC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC74 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC74 */ _t38 = _t37 & 0x00000001u;
/* 028EBC74 */ if (_t38) goto L_028EBC78; else goto L_028EBC88;
L_028EBC78: ; // 0x28ebc78
/* 028EBC78 */ cpu->r[3] = 0x00000008u;
/* 028EBC7C */ Gambit_fn_02801A78(cpu);
/* 028EBC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBC84 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBC84 */ _t40 = _t39 & 0x00000001u;
/* 028EBC84 */ if (_t40) goto L_028EBC94; else goto L_028EBC88;
L_028EBC88: ; // 0x28ebc88
/* 028EBC88 */ cpu->r[11] = 0x0000000Au;
/* 028EBC8C */ _t41 = cpu->r[3] + 0x00000004u;
/* 028EBC8C */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
/* 028EBC90 */ _t42 = cpu->r[3] + 0x00000000u;
/* 028EBC90 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
L_028EBC94: ; // 0x28ebc94
/* 028EBC94 */ cpu->r[7] = 0x10140000u;
/* 028EBC98 */ _t43 = cpu->r[31] + 0x00000040u;
/* 028EBC98 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[30]);
/* 028EBC9C */ cpu->r[0] = 0x00000040u;
/* 028EBCA0 */ _t44 = cpu->r[7] + 0xFFFFBED0u;
/* 028EBCA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
/* 028EBCA4 */ _t45 = cpu->r[31] + 0x00000038u;
/* 028EBCA4 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
/* 028EBCA8 */ _t46 = cpu->r[31] + 0x0000003Cu;
/* 028EBCA8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
L_028EBCAC: ; // 0x28ebcac
/* 028EBCAC */ _t47 = cpu->r[1] + 0x0000000Cu;
/* 028EBCAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
/* 028EBCB0 */ _t48 = cpu->r[1] + 0x00000020u;
/* 028EBCB0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t48);
/* 028EBCB4 */ _t49 = cpu->r[1] + 0x00000010u;
/* 028EBCB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
/* 028EBCB8 */ _t50 = cpu->r[1] + 0x00000018u;
/* 028EBCB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t50);
/* 028EBCBC */ cpu->r[3] = cpu->r[31];
/* 028EBCC0 */ _t51 = cpu->r[1] + 0x00000014u;
/* 028EBCC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
/* 028EBCC4 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBCC4 */ _t53 = _t52 & 0x00000001u;
/* 028EBCC4 */ if (_t53) goto L_028EBCC8; // else: addr-0 trap, fall-through
L_028EBCC8: ; // 0x28ebcc8
/* 028EBCC8 */ _t54 = cpu->r[1] + 0x0000002Cu;
/* 028EBCC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028EBCCC */ cpu->lr = cpu->r[0];
/* 028EBCD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028EBCD4 */ return;
}
// fn_028EBCD8 @ 0x28ebcd8
void Gambit_fn_028EBCD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98;
L_028EBCD8: ; // 0x28ebcd8
/* 028EBCD8 */ cpu->r[12] = 0x00000000u;
/* 028EBCDC */ _t0 = cpu->r[3] + 0x00000004u;
/* 028EBCDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
/* 028EBCE0 */ cpu->r[8] = cpu->r[12];
/* 028EBCE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[10]);
/* 028EBCE8 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBCE8 */ _t2 = _t1 & 0x00000001u;
/* 028EBCE8 */ if (_t2) goto L_028EBCEC; else goto L_028EBD1C;
L_028EBCEC: ; // 0x28ebcec
/* 028EBCEC */ _t3 = cpu->r[3] + 0x00000010u;
/* 028EBCEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028EBCF0 */ cpu->r[5] = 0x00000000u;
L_028EBCF4: ; // 0x28ebcf4
/* 028EBCF4 */ _t4 = cpu->r[3] + 0x0000000Cu;
/* 028EBCF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
/* 028EBCF8 */ _t5 = cpu->r[11] + cpu->r[5];
/* 028EBCF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
/* 028EBCFC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028EBD00 */ _t6 = cpu->r[6] + 0x00000000u;
/* 028EBD00 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
/* 028EBD04 */ _t7 = cpu->r[3] + 0x00000004u;
/* 028EBD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028EBD08 */ cpu->r[9] = cpu->r[6];
/* 028EBD0C */ cpu->r[5] = cpu->r[5] + 0x00000004u;
/* 028EBD10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
/* 028EBD14 */ _t8 = cpu->r[3] + 0x00000010u;
/* 028EBD14 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028EBD18 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBD18 */ _t10 = _t9 & 0x00000001u;
/* 028EBD18 */ if (_t10) goto L_028EBCF4; else goto L_028EBD1C;
L_028EBD1C: ; // 0x28ebd1c
/* 028EBD1C */ _t11 = cpu->r[3] + 0x00000008u;
/* 028EBD1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
/* 028EBD20 */ cpu->r[9] = 0x10140000u;
/* 028EBD24 */ _t12 = cpu->r[3] + 0x00000004u;
/* 028EBD24 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
/* 028EBD28 */ cpu->r[6] = 0x10140000u;
/* 028EBD2C */ _t13 = cpu->r[9] + 0xFFFFBEC8u;
/* 028EBD2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
/* 028EBD30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028EBD34 */ _t14 = cpu->r[6] + 0xFFFFBECCu;
/* 028EBD34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
/* 028EBD38 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EBD38 */ _t16 = _t15 & 0x00000001u;
/* 028EBD38 */ if (_t16) goto L_028EBD70; else goto L_028EBD3C;
L_028EBD3C: ; // 0x28ebd3c
/* 028EBD3C */ cpu->r[11] = 0x00000000u;
/* 028EBD40 */ _t17 = cpu->r[3] + 0x00000018u;
/* 028EBD40 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
/* 028EBD44 */ _t18 = cpu->r[11] + 0x00000000u;
/* 028EBD44 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
/* 028EBD48 */ _t19 = cpu->r[3] + 0x00000018u;
/* 028EBD48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
/* 028EBD4C */ _t20 = cpu->r[6] + 0x00000004u;
/* 028EBD4C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
/* 028EBD50 */ _t21 = cpu->r[3] + 0x00000018u;
/* 028EBD50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
/* 028EBD54 */ _t22 = cpu->r[7] + 0x00000008u;
/* 028EBD54 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
/* 028EBD58 */ _t23 = cpu->r[3] + 0x00000004u;
/* 028EBD58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028EBD5C */ _t24 = cpu->r[3] + 0x00000008u;
/* 028EBD5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028EBD60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]);
/* 028EBD64 */ _t25 = cpu->r[7] + 0x00000008u;
/* 028EBD64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
/* 028EBD68 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBD68 */ _t27 = _t26 & 0x00000001u;
/* 028EBD68 */ if (_t27) goto L_028EBD6C; else goto L_028EBE08;
L_028EBD6C: ; // 0x28ebd6c
/* 028EBD6C */ goto L_028EBE30;
L_028EBD70: ; // 0x28ebd70
/* 028EBD70 */ _t28 = cpu->r[3] + 0x00000010u;
/* 028EBD70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
/* 028EBD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EBD78 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBD78 */ _t30 = _t29 & 0x00000001u;
/* 028EBD78 */ if (_t30) goto L_028EBD84; else goto L_028EBD7C;
L_028EBD7C: ; // 0x28ebd7c
/* 028EBD7C */ _t31 = cpu->r[11] + 0x00000000u;
/* 028EBD7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
/* 028EBD80 */ _t32 = cpu->r[3] + 0x00000010u;
/* 028EBD80 */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
L_028EBD84: ; // 0x28ebd84
/* 028EBD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028EBD88 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBD88 */ _t34 = _t33 & 0x00000001u;
/* 028EBD88 */ if (_t34) goto L_028EBDB0; else goto L_028EBD8C;
L_028EBD8C: ; // 0x28ebd8c
/* 028EBD8C */ _t35 = cpu->r[11] + 0x00000008u;
/* 028EBD8C */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
/* 028EBD90 */ _t36 = cpu->r[11] + 0x00000000u;
/* 028EBD90 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
/* 028EBD94 */ _t37 = cpu->r[11] + 0x0000000Cu;
/* 028EBD94 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
/* 028EBD98 */ _t38 = cpu->r[11] + 0x00000004u;
/* 028EBD98 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
/* 028EBD9C */ _t39 = cpu->r[3] + 0x00000008u;
/* 028EBD9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
/* 028EBDA0 */ _t40 = cpu->r[3] + 0x00000004u;
/* 028EBDA0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
/* 028EBDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
/* 028EBDA8 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBDA8 */ _t42 = _t41 & 0x00000001u;
/* 028EBDA8 */ if (_t42) goto L_028EBDAC; else goto L_028EBDDC;
L_028EBDAC: ; // 0x28ebdac
/* 028EBDAC */ goto L_028EBDC4;
L_028EBDB0: ; // 0x28ebdb0
/* 028EBDB0 */ _t43 = cpu->r[3] + 0x00000004u;
/* 028EBDB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
/* 028EBDB4 */ _t44 = cpu->r[3] + 0x00000008u;
/* 028EBDB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
/* 028EBDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
/* 028EBDBC */ cpu->r[11] = 0x00000000u;
/* 028EBDC0 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBDC0 */ _t46 = _t45 & 0x00000001u;
/* 028EBDC0 */ if (_t46) goto L_028EBDC4; else goto L_028EBDDC;
L_028EBDC4: ; // 0x28ebdc4
/* 028EBDC4 */ _t47 = cpu->r[3] + 0x0000000Cu;
/* 028EBDC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028EBDC8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028EBDCC */ _t48 = cpu->r[10] + cpu->r[0];
/* 028EBDCC */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
/* 028EBDD0 */ _t49 = cpu->r[3] + 0x00000004u;
/* 028EBDD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
/* 028EBDD4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028EBDD8 */ _t50 = cpu->r[3] + 0x00000004u;
/* 028EBDD8 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
L_028EBDDC: ; // 0x28ebddc
/* 028EBDDC */ _t51 = cpu->r[3] + 0x00000018u;
/* 028EBDDC */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
/* 028EBDE0 */ _t52 = cpu->r[11] + 0x00000000u;
/* 028EBDE0 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
/* 028EBDE4 */ _t53 = cpu->r[3] + 0x00000018u;
/* 028EBDE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
/* 028EBDE8 */ _t54 = cpu->r[6] + 0x00000004u;
/* 028EBDE8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[13]);
/* 028EBDEC */ _t55 = cpu->r[3] + 0x00000018u;
/* 028EBDEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
/* 028EBDF0 */ _t56 = cpu->r[7] + 0x00000008u;
/* 028EBDF0 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
/* 028EBDF4 */ _t57 = cpu->r[3] + 0x00000004u;
/* 028EBDF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
/* 028EBDF8 */ _t58 = cpu->r[3] + 0x00000008u;
/* 028EBDF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
/* 028EBDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]);
/* 028EBE00 */ _t59 = cpu->r[7] + 0x00000008u;
/* 028EBE00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
/* 028EBE04 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBE04 */ _t61 = _t60 & 0x00000001u;
/* 028EBE04 */ if (_t61) goto L_028EBE30; else goto L_028EBE08;
L_028EBE08: ; // 0x28ebe08
/* 028EBE08 */ cpu->r[10] = 0x00000000u;
/* 028EBE0C */ _t62 = cpu->r[3] + 0x0000001Cu;
/* 028EBE0C */ rbrew_write32(cpu->mem, _t62, cpu->r[10]);
/* 028EBE10 */ _t63 = cpu->r[10] + 0x00000000u;
/* 028EBE10 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[13]);
/* 028EBE14 */ _t64 = cpu->r[3] + 0x0000001Cu;
/* 028EBE14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
/* 028EBE18 */ _t65 = cpu->r[8] + 0x00000004u;
/* 028EBE18 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]);
/* 028EBE1C */ _t66 = cpu->r[3] + 0x0000001Cu;
/* 028EBE1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
/* 028EBE20 */ cpu->r[6] = 0x00000007u;
/* 028EBE24 */ _t67 = cpu->r[9] + 0x00000008u;
/* 028EBE24 */ rbrew_write32(cpu->mem, _t67, cpu->r[6]);
/* 028EBE28 */ _t68 = cpu->r[9] + 0x00000008u;
/* 028EBE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028EBE2C */ return;
L_028EBE30: ; // 0x28ebe30
/* 028EBE30 */ _t69 = cpu->r[3] + 0x00000010u;
/* 028EBE30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
/* 028EBE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EBE38 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBE38 */ _t71 = _t70 & 0x00000001u;
/* 028EBE38 */ if (_t71) goto L_028EBE44; else goto L_028EBE3C;
L_028EBE3C: ; // 0x28ebe3c
/* 028EBE3C */ _t72 = cpu->r[10] + 0x00000000u;
/* 028EBE3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
/* 028EBE40 */ _t73 = cpu->r[3] + 0x00000010u;
/* 028EBE40 */ rbrew_write32(cpu->mem, _t73, cpu->r[11]);
L_028EBE44: ; // 0x28ebe44
/* 028EBE44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028EBE48 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBE48 */ _t75 = _t74 & 0x00000001u;
/* 028EBE48 */ if (_t75) goto L_028EBE70; else goto L_028EBE4C;
L_028EBE4C: ; // 0x28ebe4c
/* 028EBE4C */ _t76 = cpu->r[10] + 0x00000008u;
/* 028EBE4C */ rbrew_write32(cpu->mem, _t76, cpu->r[12]);
/* 028EBE50 */ _t77 = cpu->r[10] + 0x00000000u;
/* 028EBE50 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[0]);
/* 028EBE54 */ _t78 = cpu->r[10] + 0x0000000Cu;
/* 028EBE54 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[13]);
/* 028EBE58 */ _t79 = cpu->r[10] + 0x00000004u;
/* 028EBE58 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[0]);
/* 028EBE5C */ _t80 = cpu->r[3] + 0x00000008u;
/* 028EBE5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
/* 028EBE60 */ _t81 = cpu->r[3] + 0x00000004u;
/* 028EBE60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
/* 028EBE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
/* 028EBE68 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBE68 */ _t83 = _t82 & 0x00000001u;
/* 028EBE68 */ if (_t83) goto L_028EBE6C; else goto L_028EBE9C;
L_028EBE6C: ; // 0x28ebe6c
/* 028EBE6C */ goto L_028EBE84;
L_028EBE70: ; // 0x28ebe70
/* 028EBE70 */ _t84 = cpu->r[3] + 0x00000004u;
/* 028EBE70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
/* 028EBE74 */ _t85 = cpu->r[3] + 0x00000008u;
/* 028EBE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
/* 028EBE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
/* 028EBE7C */ cpu->r[10] = 0x00000000u;
/* 028EBE80 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBE80 */ _t87 = _t86 & 0x00000001u;
/* 028EBE80 */ if (_t87) goto L_028EBE84; else goto L_028EBE9C;
L_028EBE84: ; // 0x28ebe84
/* 028EBE84 */ _t88 = cpu->r[3] + 0x0000000Cu;
/* 028EBE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
/* 028EBE88 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028EBE8C */ _t89 = cpu->r[5] + cpu->r[0];
/* 028EBE8C */ rbrew_write32(cpu->mem, _t89, cpu->r[10]);
/* 028EBE90 */ _t90 = cpu->r[3] + 0x00000004u;
/* 028EBE90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
/* 028EBE94 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028EBE98 */ _t91 = cpu->r[3] + 0x00000004u;
/* 028EBE98 */ rbrew_write32(cpu->mem, _t91, cpu->r[7]);
L_028EBE9C: ; // 0x28ebe9c
/* 028EBE9C */ _t92 = cpu->r[3] + 0x0000001Cu;
/* 028EBE9C */ rbrew_write32(cpu->mem, _t92, cpu->r[10]);
/* 028EBEA0 */ _t93 = cpu->r[10] + 0x00000000u;
/* 028EBEA0 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[13]);
/* 028EBEA4 */ _t94 = cpu->r[3] + 0x0000001Cu;
/* 028EBEA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t94);
/* 028EBEA8 */ _t95 = cpu->r[8] + 0x00000004u;
/* 028EBEA8 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[0]);
/* 028EBEAC */ _t96 = cpu->r[3] + 0x0000001Cu;
/* 028EBEAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t96);
/* 028EBEB0 */ cpu->r[6] = 0x00000007u;
/* 028EBEB4 */ _t97 = cpu->r[9] + 0x00000008u;
/* 028EBEB4 */ rbrew_write32(cpu->mem, _t97, cpu->r[6]);
/* 028EBEB8 */ _t98 = cpu->r[9] + 0x00000008u;
/* 028EBEB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
/* 028EBEBC */ return;
}
// fn_028EBEC0 @ 0x28ebec0
void Gambit_fn_028EBEC0(CPUState* cpu) {
uint32_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_028EBEC0: ; // 0x28ebec0
/* 028EBEC0 */ cpu->r[0] = cpu->lr;
/* 028EBEC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EBEC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EBEC4 */ cpu->r[1] = _t0;
/* 028EBEC8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028EBEC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EBECC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EBECC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EBED0 */ cpu->r[30] = cpu->r[3];
/* 028EBED4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EBED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EBED8 */ _t4 = cpu->r[30] + 0x0000000Cu;
/* 028EBED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028EBEDC */ cpu->r[31] = cpu->r[4];
/* 028EBEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EBEE4 */ cpu->r[4] = cpu->r[5];
/* 028EBEE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBEE8 */ _t6 = _t5 & 0x00000001u;
/* 028EBEE8 */ if (_t6) goto L_028EBEEC; else goto L_028EBF50;
L_028EBEEC: ; // 0x28ebeec
/* 028EBEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBEF0 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EBEF0 */ _t8 = _t7 & 0x00000001u;
/* 028EBEF0 */ if (_t8) goto L_028EBEF4; else goto L_028EBF48;
L_028EBEF4: ; // 0x28ebef4
/* 028EBEF4 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000014u);
/* 028EBEF8 */ cpu->r[5] = 0x00000004u;
/* 028EBEFC */ Gambit_fn_02801ADC(cpu);
/* 028EBF00 */ cpu->r[12] = cpu->r[3];
/* 028EBF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EBF04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBF04 */ _t10 = _t9 & 0x00000001u;
/* 028EBF04 */ if (_t10) goto L_028EBF48; else goto L_028EBF08;
L_028EBF08: ; // 0x28ebf08
/* 028EBF08 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
/* 028EBF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EBF0C */ _t11 = cpu->r[30] + 0x00000010u;
/* 028EBF0C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028EBF10 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EBF10 */ _t13 = _t12 & 0x00000001u;
/* 028EBF10 */ if (_t13) goto L_028EBF14; else goto L_028EBF28;
L_028EBF14: ; // 0x28ebf14
/* 028EBF14 */ cpu->ctr = cpu->r[0];
/* 028EBF18 */ cpu->r[7] = cpu->r[12] + 0x00000010u;
L_028EBF1C: ; // 0x28ebf1c
/* 028EBF1C */ _t14 = cpu->r[7] + 0xFFFFFFF0u;
/* 028EBF1C */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
/* 028EBF20 */ cpu->r[7] = cpu->r[7] + 0x00000010u;
/* 028EBF24 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028EBF24 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028EBF24 */ _t16 = _t15 >> (0x00000002u & 31u);
/* 028EBF24 */ _t17 = _t16 & 0x00000001u;
/* 028EBF24 */ if (_t17) goto L_028EBF1C; else goto L_028EBF28;
L_028EBF28: ; // 0x28ebf28
/* 028EBF28 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028EBF2C */ cpu->r[10] = 0x00000000u;
/* 028EBF30 */ cpu->r[5] = cpu->r[12] + cpu->r[8];
/* 028EBF34 */ cpu->r[4] = cpu->r[31];
/* 028EBF38 */ _t18 = cpu->r[5] + 0xFFFFFFF0u;
/* 028EBF38 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
/* 028EBF3C */ cpu->r[3] = cpu->r[30] + 0x00000004u;
/* 028EBF40 */ _t19 = cpu->r[30] + 0x00000014u;
/* 028EBF40 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028EBF44 */ Gambit_fn_028023A8(cpu);
L_028EBF48: ; // 0x28ebf48
/* 028EBF48 */ cpu->r[3] = cpu->r[30];
/* 028EBF4C */ Gambit_fn_028EBCD8(cpu);
L_028EBF50: ; // 0x28ebf50
/* 028EBF50 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028EBF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EBF54 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028EBF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028EBF58 */ cpu->lr = cpu->r[0];
/* 028EBF5C */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028EBF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028EBF60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EBF64 */ return;
}
// fn_028EBEC4 @ 0x28ebec4
void Gambit_fn_028EBEC4(CPUState* cpu) {
uint32_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_028EBEC4: ; // 0x28ebec4
/* 028EBEC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EBEC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EBEC4 */ cpu->r[1] = _t0;
/* 028EBEC8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028EBEC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028EBECC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EBECC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EBED0 */ cpu->r[30] = cpu->r[3];
/* 028EBED4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028EBED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028EBED8 */ _t4 = cpu->r[30] + 0x0000000Cu;
/* 028EBED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028EBEDC */ cpu->r[31] = cpu->r[4];
/* 028EBEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EBEE4 */ cpu->r[4] = cpu->r[5];
/* 028EBEE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBEE8 */ _t6 = _t5 & 0x00000001u;
/* 028EBEE8 */ if (_t6) goto L_028EBEEC; else goto L_028EBF50;
L_028EBEEC: ; // 0x28ebeec
/* 028EBEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EBEF0 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EBEF0 */ _t8 = _t7 & 0x00000001u;
/* 028EBEF0 */ if (_t8) goto L_028EBEF4; else goto L_028EBF48;
L_028EBEF4: ; // 0x28ebef4
/* 028EBEF4 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000014u);
/* 028EBEF8 */ cpu->r[5] = 0x00000004u;
/* 028EBEFC */ Gambit_fn_02801ADC(cpu);
/* 028EBF00 */ cpu->r[12] = cpu->r[3];
/* 028EBF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EBF04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EBF04 */ _t10 = _t9 & 0x00000001u;
/* 028EBF04 */ if (_t10) goto L_028EBF48; else goto L_028EBF08;
L_028EBF08: ; // 0x28ebf08
/* 028EBF08 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
/* 028EBF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EBF0C */ _t11 = cpu->r[30] + 0x00000010u;
/* 028EBF0C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028EBF10 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EBF10 */ _t13 = _t12 & 0x00000001u;
/* 028EBF10 */ if (_t13) goto L_028EBF14; else goto L_028EBF28;
L_028EBF14: ; // 0x28ebf14
/* 028EBF14 */ cpu->ctr = cpu->r[0];
/* 028EBF18 */ cpu->r[7] = cpu->r[12] + 0x00000010u;
L_028EBF1C: ; // 0x28ebf1c
/* 028EBF1C */ _t14 = cpu->r[7] + 0xFFFFFFF0u;
/* 028EBF1C */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
/* 028EBF20 */ cpu->r[7] = cpu->r[7] + 0x00000010u;
/* 028EBF24 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028EBF24 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028EBF24 */ _t16 = _t15 >> (0x00000002u & 31u);
/* 028EBF24 */ _t17 = _t16 & 0x00000001u;
/* 028EBF24 */ if (_t17) goto L_028EBF1C; else goto L_028EBF28;
L_028EBF28: ; // 0x28ebf28
/* 028EBF28 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028EBF2C */ cpu->r[10] = 0x00000000u;
/* 028EBF30 */ cpu->r[5] = cpu->r[12] + cpu->r[8];
/* 028EBF34 */ cpu->r[4] = cpu->r[31];
/* 028EBF38 */ _t18 = cpu->r[5] + 0xFFFFFFF0u;
/* 028EBF38 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
/* 028EBF3C */ cpu->r[3] = cpu->r[30] + 0x00000004u;
/* 028EBF40 */ _t19 = cpu->r[30] + 0x00000014u;
/* 028EBF40 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028EBF44 */ Gambit_fn_028023A8(cpu);
L_028EBF48: ; // 0x28ebf48
/* 028EBF48 */ cpu->r[3] = cpu->r[30];
/* 028EBF4C */ Gambit_fn_028EBCD8(cpu);
L_028EBF50: ; // 0x28ebf50
/* 028EBF50 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028EBF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EBF54 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028EBF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028EBF58 */ cpu->lr = cpu->r[0];
/* 028EBF5C */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028EBF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028EBF60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EBF64 */ return;
}
// fn_028EBF68 @ 0x28ebf68
void Gambit_fn_028EBF68(CPUState* cpu) {
uint32_t _t0;
L_028EBF68: ; // 0x28ebf68
/* 028EBF68 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028EBF68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028EBF6C */ return;
}
// fn_028EBF70 @ 0x28ebf70
void Gambit_fn_028EBF70(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028EBF70: ; // 0x28ebf70
/* 028EBF70 */ cpu->r[0] = cpu->lr;
/* 028EBF74 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028EBF74 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028EBF78 */ cpu->r[9] = cpu->r[3];
/* 028EBF7C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028EBF7C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028EBF7C */ cpu->r[1] = _t1;
/* 028EBF80 */ Gambit_fn_028EBF68(cpu);
/* 028EBF84 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
/* 028EBF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EBF88 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBF88 */ _t3 = _t2 & 0x00000001u;
/* 028EBF88 */ if (_t3) goto L_028EBFC4; else goto L_028EBF8C;
L_028EBF8C: ; // 0x28ebf8c
/* 028EBF8C */ _t4 = cpu->r[9] + 0x00000004u;
/* 028EBF8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028EBF90 */ cpu->ctr = cpu->r[3];
/* 028EBF94 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028EBF98: ; // 0x28ebf98
/* 028EBF98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
/* 028EBF9C */ cpu->r[10] = 0x00000000u;
/* 028EBFA0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBFA0 */ _t6 = _t5 & 0x00000001u;
/* 028EBFA0 */ if (_t6) goto L_028EBFA4; else goto L_028EBFAC;
L_028EBFA4: ; // 0x28ebfa4
/* 028EBFA4 */ _t7 = cpu->r[9] + 0x0000000Cu;
/* 028EBFA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028EBFA8 */ _t8 = cpu->r[11] + cpu->r[8];
/* 028EBFA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
L_028EBFAC: ; // 0x28ebfac
/* 028EBFAC */ _t9 = cpu->r[10] + 0x00000000u;
/* 028EBFAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028EBFB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028EBFB4 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBFB4 */ _t11 = _t10 & 0x00000001u;
/* 028EBFB4 */ if (_t11) goto L_028EBFB8; else goto L_028EBFC8;
L_028EBFB8: ; // 0x28ebfb8
/* 028EBFB8 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu;
/* 028EBFBC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028EBFC0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028EBFC0 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028EBFC0 */ _t13 = _t12 >> (0x00000002u & 31u);
/* 028EBFC0 */ _t14 = _t13 & 0x00000001u;
/* 028EBFC0 */ if (_t14) goto L_028EBF98; else goto L_028EBFC4;
L_028EBFC4: ; // 0x28ebfc4
/* 028EBFC4 */ cpu->r[12] = 0x00000000u;
L_028EBFC8: ; // 0x28ebfc8
/* 028EBFC8 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028EBFC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EBFCC */ cpu->lr = cpu->r[0];
/* 028EBFD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EBFD4 */ cpu->r[3] = cpu->r[12];
/* 028EBFD8 */ return;
}
// fn_028EBF7C @ 0x28ebf7c
void Gambit_fn_028EBF7C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028EBF7C: ; // 0x28ebf7c
/* 028EBF7C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028EBF7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EBF7C */ cpu->r[1] = _t0;
/* 028EBF80 */ Gambit_fn_028EBF68(cpu);
/* 028EBF84 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
/* 028EBF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EBF88 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBF88 */ _t2 = _t1 & 0x00000001u;
/* 028EBF88 */ if (_t2) goto L_028EBFC4; else goto L_028EBF8C;
L_028EBF8C: ; // 0x28ebf8c
/* 028EBF8C */ _t3 = cpu->r[9] + 0x00000004u;
/* 028EBF8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028EBF90 */ cpu->ctr = cpu->r[3];
/* 028EBF94 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028EBF98: ; // 0x28ebf98
/* 028EBF98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
/* 028EBF9C */ cpu->r[10] = 0x00000000u;
/* 028EBFA0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBFA0 */ _t5 = _t4 & 0x00000001u;
/* 028EBFA0 */ if (_t5) goto L_028EBFA4; else goto L_028EBFAC;
L_028EBFA4: ; // 0x28ebfa4
/* 028EBFA4 */ _t6 = cpu->r[9] + 0x0000000Cu;
/* 028EBFA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028EBFA8 */ _t7 = cpu->r[11] + cpu->r[8];
/* 028EBFA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
L_028EBFAC: ; // 0x28ebfac
/* 028EBFAC */ _t8 = cpu->r[10] + 0x00000000u;
/* 028EBFAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028EBFB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028EBFB4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EBFB4 */ _t10 = _t9 & 0x00000001u;
/* 028EBFB4 */ if (_t10) goto L_028EBFB8; else goto L_028EBFC8;
L_028EBFB8: ; // 0x28ebfb8
/* 028EBFB8 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu;
/* 028EBFBC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028EBFC0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028EBFC0 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028EBFC0 */ _t12 = _t11 >> (0x00000002u & 31u);
/* 028EBFC0 */ _t13 = _t12 & 0x00000001u;
/* 028EBFC0 */ if (_t13) goto L_028EBF98; else goto L_028EBFC4;
L_028EBFC4: ; // 0x28ebfc4
/* 028EBFC4 */ cpu->r[12] = 0x00000000u;
L_028EBFC8: ; // 0x28ebfc8
/* 028EBFC8 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028EBFC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028EBFCC */ cpu->lr = cpu->r[0];
/* 028EBFD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EBFD4 */ cpu->r[3] = cpu->r[12];
/* 028EBFD8 */ return;
}
// fn_028EBFDC @ 0x28ebfdc
void Gambit_fn_028EBFDC(CPUState* 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_028EBFDC: ; // 0x28ebfdc
/* 028EBFDC */ cpu->r[0] = cpu->lr;
/* 028EBFE0 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028EBFE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028EBFE4 */ cpu->r[7] = cpu->r[3];
/* 028EBFE8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028EBFE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028EBFE8 */ cpu->r[1] = _t1;
/* 028EBFEC */ Gambit_fn_028EBF68(cpu);
/* 028EBFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBFF4 */ cpu->r[8] = 0x00000000u;
/* 028EBFF8 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EBFF8 */ _t3 = _t2 & 0x00000001u;
/* 028EBFF8 */ if (_t3) goto L_028EBFFC; else goto L_028EC064;
L_028EBFFC: ; // 0x28ebffc
/* 028EBFFC */ cpu->r[12] = 0x10140000u;
/* 028EC000 */ _t4 = cpu->r[7] + 0x00000004u;
/* 028EC000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028EC004 */ _t5 = cpu->r[12] + 0xFFFFBED4u;
/* 028EC004 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
/* 028EC008 */ cpu->r[12] = 0x10140000u;
/* 028EC00C */ cpu->ctr = cpu->r[3];
/* 028EC010 */ _t6 = cpu->r[12] + 0xFFFFBED8u;
/* 028EC010 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EC014 */ cpu->r[11] = 0x00000000u;
L_028EC018: ; // 0x28ec018
/* 028EC018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
/* 028EC01C */ cpu->r[10] = 0x00000000u;
/* 028EC020 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC020 */ _t8 = _t7 & 0x00000001u;
/* 028EC020 */ if (_t8) goto L_028EC024; else goto L_028EC02C;
L_028EC024: ; // 0x28ec024
/* 028EC024 */ _t9 = cpu->r[7] + 0x0000000Cu;
/* 028EC024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028EC028 */ _t10 = cpu->r[9] + cpu->r[11];
/* 028EC028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
L_028EC02C: ; // 0x28ec02c
/* 028EC02C */ _t11 = cpu->r[10] + 0x00000000u;
/* 028EC02C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
/* 028EC030 */ cpu->f[11] = cpu->f[12] - cpu->f[1];
/* 028EC034 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
/* 028EC038 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC038 */ _t13 = _t12 & 0x00000001u;
/* 028EC038 */ if (_t13) goto L_028EC058; else goto L_028EC03C;
L_028EC03C: ; // 0x28ec03c
/* 028EC03C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028EC040 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC040 */ _t15 = _t14 & 0x00000001u;
/* 028EC040 */ if (_t15) goto L_028EC058; else goto L_028EC044;
L_028EC044: ; // 0x28ec044
/* 028EC044 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028EC044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028EC048 */ cpu->lr = cpu->r[0];
/* 028EC04C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EC050 */ cpu->r[3] = 0x00000001u;
/* 028EC054 */ return;
L_028EC058: ; // 0x28ec058
/* 028EC058 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
/* 028EC05C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028EC060 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028EC060 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028EC060 */ _t18 = _t17 >> (0x00000002u & 31u);
/* 028EC060 */ _t19 = _t18 & 0x00000001u;
/* 028EC060 */ if (_t19) goto L_028EC018; else goto L_028EC064;
L_028EC064: ; // 0x28ec064
/* 028EC064 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028EC064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EC068 */ cpu->lr = cpu->r[0];
/* 028EC06C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EC070 */ cpu->r[3] = 0x00000000u;
/* 028EC074 */ return;
}
// fn_028EBFE8 @ 0x28ebfe8
void Gambit_fn_028EBFE8(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_028EBFE8: ; // 0x28ebfe8
/* 028EBFE8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028EBFE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EBFE8 */ cpu->r[1] = _t0;
/* 028EBFEC */ Gambit_fn_028EBF68(cpu);
/* 028EBFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EBFF4 */ cpu->r[8] = 0x00000000u;
/* 028EBFF8 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EBFF8 */ _t2 = _t1 & 0x00000001u;
/* 028EBFF8 */ if (_t2) goto L_028EBFFC; else goto L_028EC064;
L_028EBFFC: ; // 0x28ebffc
/* 028EBFFC */ cpu->r[12] = 0x10140000u;
/* 028EC000 */ _t3 = cpu->r[7] + 0x00000004u;
/* 028EC000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028EC004 */ _t4 = cpu->r[12] + 0xFFFFBED4u;
/* 028EC004 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
/* 028EC008 */ cpu->r[12] = 0x10140000u;
/* 028EC00C */ cpu->ctr = cpu->r[3];
/* 028EC010 */ _t5 = cpu->r[12] + 0xFFFFBED8u;
/* 028EC010 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028EC014 */ cpu->r[11] = 0x00000000u;
L_028EC018: ; // 0x28ec018
/* 028EC018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
/* 028EC01C */ cpu->r[10] = 0x00000000u;
/* 028EC020 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC020 */ _t7 = _t6 & 0x00000001u;
/* 028EC020 */ if (_t7) goto L_028EC024; else goto L_028EC02C;
L_028EC024: ; // 0x28ec024
/* 028EC024 */ _t8 = cpu->r[7] + 0x0000000Cu;
/* 028EC024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028EC028 */ _t9 = cpu->r[9] + cpu->r[11];
/* 028EC028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
L_028EC02C: ; // 0x28ec02c
/* 028EC02C */ _t10 = cpu->r[10] + 0x00000000u;
/* 028EC02C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
/* 028EC030 */ cpu->f[11] = cpu->f[12] - cpu->f[1];
/* 028EC034 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
/* 028EC038 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC038 */ _t12 = _t11 & 0x00000001u;
/* 028EC038 */ if (_t12) goto L_028EC058; else goto L_028EC03C;
L_028EC03C: ; // 0x28ec03c
/* 028EC03C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028EC040 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC040 */ _t14 = _t13 & 0x00000001u;
/* 028EC040 */ if (_t14) goto L_028EC058; else goto L_028EC044;
L_028EC044: ; // 0x28ec044
/* 028EC044 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028EC044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028EC048 */ cpu->lr = cpu->r[0];
/* 028EC04C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EC050 */ cpu->r[3] = 0x00000001u;
/* 028EC054 */ return;
L_028EC058: ; // 0x28ec058
/* 028EC058 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
/* 028EC05C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028EC060 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028EC060 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028EC060 */ _t17 = _t16 >> (0x00000002u & 31u);
/* 028EC060 */ _t18 = _t17 & 0x00000001u;
/* 028EC060 */ if (_t18) goto L_028EC018; else goto L_028EC064;
L_028EC064: ; // 0x28ec064
/* 028EC064 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028EC064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028EC068 */ cpu->lr = cpu->r[0];
/* 028EC06C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EC070 */ cpu->r[3] = 0x00000000u;
/* 028EC074 */ return;
}
// fn_028EC078 @ 0x28ec078
void Gambit_fn_028EC078(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028EC078: ; // 0x28ec078
/* 028EC078 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EC078 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC078 */ cpu->r[1] = _t0;
/* 028EC07C */ cpu->r[0] = cpu->lr;
/* 028EC080 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028EC080 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EC084 */ /* nop */
/* 028EC088 */ cpu->r[11] = 0x10140000u;
/* 028EC08C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028EC08C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028EC090 */ cpu->f[31] = cpu->f[1];
/* 028EC094 */ _t3 = cpu->r[11] + 0xFFFFBEC8u;
/* 028EC094 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t3);
/* 028EC098 */ cpu->r[5] = 0x10140000u;
/* 028EC09C */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028EC09C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028EC0A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[10]);
/* 028EC0A4 */ _t5 = cpu->r[5] + 0xFFFFBECCu;
/* 028EC0A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t5);
/* 028EC0A8 */ _t6 = cpu->r[1] + 0x00000024u;
/* 028EC0A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028EC0AC */ cpu->r[6] = cpu->r[3];
/* 028EC0B0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC0B0 */ _t8 = _t7 & 0x00000001u;
/* 028EC0B0 */ if (_t8) goto L_028EC0B4; else goto L_028EC0D0;
L_028EC0B4: ; // 0x28ec0b4
/* 028EC0B4 */ cpu->f[31] = cpu->f[10];
/* 028EC0B8 */ cpu->f[1] = cpu->f[31];
/* 028EC0BC */ cpu->r[3] = cpu->r[6];
/* 028EC0C0 */ Gambit_fn_028EBFDC(cpu);
/* 028EC0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EC0C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC0C8 */ _t10 = _t9 & 0x00000001u;
/* 028EC0C8 */ if (_t10) goto L_028EC114; else goto L_028EC0CC;
L_028EC0CC: ; // 0x28ec0cc
/* 028EC0CC */ goto L_028EC0F0;
L_028EC0D0: ; // 0x28ec0d0
/* 028EC0D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[9]);
/* 028EC0D4 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC0D4 */ _t12 = _t11 & 0x00000001u;
/* 028EC0D4 */ if (_t12) goto L_028EC0D8; else goto L_028EC0DC;
L_028EC0D8: ; // 0x28ec0d8
/* 028EC0D8 */ cpu->f[31] = cpu->f[9];
L_028EC0DC: ; // 0x28ec0dc
/* 028EC0DC */ cpu->f[1] = cpu->f[31];
/* 028EC0E0 */ cpu->r[3] = cpu->r[6];
/* 028EC0E4 */ Gambit_fn_028EBFDC(cpu);
/* 028EC0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EC0EC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC0EC */ _t14 = _t13 & 0x00000001u;
/* 028EC0EC */ if (_t14) goto L_028EC114; else goto L_028EC0F0;
L_028EC0F0: ; // 0x28ec0f0
/* 028EC0F0 */ _t15 = cpu->r[1] + 0x00000018u;
/* 028EC0F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
/* 028EC0F4 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028EC0F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028EC0F8 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028EC0F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
/* 028EC0FC */ cpu->r[3] = 0x00000000u;
/* 028EC100 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC100 */ _t19 = _t18 & 0x00000001u;
/* 028EC100 */ if (_t19) goto L_028EC104; // else: addr-0 trap, fall-through
L_028EC104: ; // 0x28ec104
/* 028EC104 */ _t20 = cpu->r[1] + 0x00000024u;
/* 028EC104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028EC108 */ cpu->lr = cpu->r[0];
/* 028EC10C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EC110 */ return;
L_028EC114: ; // 0x28ec114
/* 028EC114 */ cpu->f[1] = cpu->f[31];
/* 028EC118 */ cpu->r[3] = cpu->r[6];
/* 028EC11C */ Gambit_fn_028EBF70(cpu);
/* 028EC120 */ _t21 = cpu->r[6] + 0x00000008u;
/* 028EC120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028EC124 */ _t22 = cpu->r[6] + 0x00000004u;
/* 028EC124 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028EC128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
/* 028EC12C */ cpu->r[4] = cpu->r[3] + 0x00000001u;
/* 028EC130 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC130 */ _t24 = _t23 & 0x00000001u;
/* 028EC130 */ if (_t24) goto L_028EC158; else goto L_028EC134;
L_028EC134: ; // 0x28ec134
/* 028EC134 */ _t25 = cpu->r[1] + 0x00000018u;
/* 028EC134 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
/* 028EC138 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028EC138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028EC13C */ _t27 = cpu->r[1] + 0x00000010u;
/* 028EC13C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t27);
/* 028EC140 */ cpu->r[3] = 0x00000000u;
/* 028EC144 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC144 */ _t29 = _t28 & 0x00000001u;
/* 028EC144 */ if (_t29) goto L_028EC148; // else: addr-0 trap, fall-through
L_028EC148: ; // 0x28ec148
/* 028EC148 */ _t30 = cpu->r[1] + 0x00000024u;
/* 028EC148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028EC14C */ cpu->lr = cpu->r[0];
/* 028EC150 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EC154 */ return;
L_028EC158: ; // 0x28ec158
/* 028EC158 */ _t31 = cpu->r[6] + 0x00000010u;
/* 028EC158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028EC15C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EC160 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC160 */ _t33 = _t32 & 0x00000001u;
/* 028EC160 */ if (_t33) goto L_028EC16C; else goto L_028EC164;
L_028EC164: ; // 0x28ec164
/* 028EC164 */ _t34 = cpu->r[31] + 0x00000000u;
/* 028EC164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
/* 028EC168 */ _t35 = cpu->r[6] + 0x00000010u;
/* 028EC168 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
L_028EC16C: ; // 0x28ec16c
/* 028EC16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EC170 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC170 */ _t37 = _t36 & 0x00000001u;
/* 028EC170 */ if (_t37) goto L_028EC1A0; else goto L_028EC174;
L_028EC174: ; // 0x28ec174
/* 028EC174 */ _t38 = cpu->r[31] + 0x00000000u;
/* 028EC174 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[10]);
/* 028EC178 */ cpu->r[0] = 0x00000000u;
/* 028EC17C */ _t39 = cpu->r[31] + 0x00000004u;
/* 028EC17C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[10]);
/* 028EC180 */ cpu->r[5] = cpu->r[31];
/* 028EC184 */ _t40 = cpu->r[31] + 0x00000008u;
/* 028EC184 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
/* 028EC188 */ cpu->r[3] = cpu->r[6] + 0x00000004u;
/* 028EC18C */ _t41 = cpu->r[31] + 0x0000000Cu;
/* 028EC18C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[9]);
/* 028EC190 */ Gambit_fn_028025B4(cpu);
/* 028EC194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028EC198 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC198 */ _t43 = _t42 & 0x00000001u;
/* 028EC198 */ if (_t43) goto L_028EC1BC; else goto L_028EC19C;
L_028EC19C: ; // 0x28ec19c
/* 028EC19C */ goto L_028EC1B8;
L_028EC1A0: ; // 0x28ec1a0
/* 028EC1A0 */ cpu->r[31] = 0x00000000u;
/* 028EC1A4 */ cpu->r[3] = cpu->r[6] + 0x00000004u;
/* 028EC1A8 */ cpu->r[5] = cpu->r[31];
/* 028EC1AC */ Gambit_fn_028025B4(cpu);
/* 028EC1B0 */ cpu->r[3] = cpu->r[31];
/* 028EC1B4 */ goto L_028EC1C0;
L_028EC1B8: ; // 0x28ec1b8
/* 028EC1B8 */ _t44 = cpu->r[31] + 0x00000000u;
/* 028EC1B8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[31]);
L_028EC1BC: ; // 0x28ec1bc
/* 028EC1BC */ cpu->r[3] = cpu->r[31];
L_028EC1C0: ; // 0x28ec1c0
/* 028EC1C0 */ _t45 = cpu->r[1] + 0x00000018u;
/* 028EC1C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t45);
/* 028EC1C4 */ _t46 = cpu->r[1] + 0x0000000Cu;
/* 028EC1C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
/* 028EC1C8 */ _t47 = cpu->r[1] + 0x00000010u;
/* 028EC1C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t47);
/* 028EC1CC */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC1CC */ _t49 = _t48 & 0x00000001u;
/* 028EC1CC */ if (_t49) goto L_028EC1D0; // else: addr-0 trap, fall-through
L_028EC1D0: ; // 0x28ec1d0
/* 028EC1D0 */ _t50 = cpu->r[1] + 0x00000024u;
/* 028EC1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028EC1D4 */ cpu->lr = cpu->r[0];
/* 028EC1D8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EC1DC */ return;
}
// fn_028EC1E0 @ 0x28ec1e0
void Gambit_fn_028EC1E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028EC1E0: ; // 0x28ec1e0
/* 028EC1E0 */ cpu->r[0] = cpu->lr;
/* 028EC1E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EC1E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC1E4 */ cpu->r[1] = _t0;
/* 028EC1E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EC1E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EC1EC */ cpu->r[31] = cpu->r[4];
/* 028EC1F0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EC1F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EC1F4 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028EC1F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
/* 028EC1F8 */ Gambit_fn_028EC078(cpu);
/* 028EC1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EC200 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC200 */ _t5 = _t4 & 0x00000001u;
/* 028EC200 */ if (_t5) goto L_028EC224; else goto L_028EC204;
L_028EC204: ; // 0x28ec204
/* 028EC204 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028EC204 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EC208 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028EC208 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028EC20C */ _t8 = cpu->r[31] + 0x00000004u;
/* 028EC20C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028EC210 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028EC210 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028EC214 */ _t10 = cpu->r[31] + 0x00000008u;
/* 028EC214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028EC218 */ _t11 = cpu->r[3] + 0x00000008u;
/* 028EC218 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028EC21C */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028EC21C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028EC220 */ _t13 = cpu->r[3] + 0x0000000Cu;
/* 028EC220 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
L_028EC224: ; // 0x28ec224
/* 028EC224 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028EC224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028EC228 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028EC228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028EC22C */ cpu->lr = cpu->r[0];
/* 028EC230 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EC234 */ return;
}
// fn_028EC1E4 @ 0x28ec1e4
void Gambit_fn_028EC1E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028EC1E4: ; // 0x28ec1e4
/* 028EC1E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028EC1E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC1E4 */ cpu->r[1] = _t0;
/* 028EC1E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EC1E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EC1EC */ cpu->r[31] = cpu->r[4];
/* 028EC1F0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028EC1F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028EC1F4 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028EC1F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
/* 028EC1F8 */ Gambit_fn_028EC078(cpu);
/* 028EC1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028EC200 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC200 */ _t5 = _t4 & 0x00000001u;
/* 028EC200 */ if (_t5) goto L_028EC224; else goto L_028EC204;
L_028EC204: ; // 0x28ec204
/* 028EC204 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028EC204 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028EC208 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028EC208 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028EC20C */ _t8 = cpu->r[31] + 0x00000004u;
/* 028EC20C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028EC210 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028EC210 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028EC214 */ _t10 = cpu->r[31] + 0x00000008u;
/* 028EC214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028EC218 */ _t11 = cpu->r[3] + 0x00000008u;
/* 028EC218 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028EC21C */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028EC21C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028EC220 */ _t13 = cpu->r[3] + 0x0000000Cu;
/* 028EC220 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
L_028EC224: ; // 0x28ec224
/* 028EC224 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028EC224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028EC228 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028EC228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028EC22C */ cpu->lr = cpu->r[0];
/* 028EC230 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028EC234 */ return;
}
// fn_028EC238 @ 0x28ec238
void Gambit_fn_028EC238(CPUState* cpu) {
uint32_t _t0;
L_028EC238: ; // 0x28ec238
/* 028EC238 */ _t0 = cpu->r[3] + 0x00000018u;
/* 028EC238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028EC23C */ return;
}
// fn_028EC240 @ 0x28ec240
void Gambit_fn_028EC240(CPUState* cpu) {
uint32_t _t0;
L_028EC240: ; // 0x28ec240
/* 028EC240 */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028EC240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028EC244 */ return;
}
// fn_028EC248 @ 0x28ec248
void Gambit_fn_028EC248(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028EC248: ; // 0x28ec248
/* 028EC248 */ cpu->r[0] = cpu->lr;
/* 028EC24C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028EC24C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028EC250 */ cpu->r[7] = cpu->r[3];
/* 028EC254 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028EC254 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028EC254 */ cpu->r[1] = _t1;
/* 028EC258 */ Gambit_fn_028EBF70(cpu);
/* 028EC25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EC260 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC260 */ _t3 = _t2 & 0x00000001u;
/* 028EC260 */ if (_t3) goto L_028EC268; else goto L_028EC264;
L_028EC264: ; // 0x28ec264
/* 028EC264 */ _t4 = cpu->r[4] + 0x00000000u;
/* 028EC264 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
L_028EC268: ; // 0x28ec268
/* 028EC268 */ _t5 = cpu->r[7] + 0x00000004u;
/* 028EC268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028EC26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]);
/* 028EC270 */ cpu->r[0] = 0x00000000u;
/* 028EC274 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC274 */ _t7 = _t6 & 0x00000001u;
/* 028EC274 */ if (_t7) goto L_028EC278; else goto L_028EC284;
L_028EC278: ; // 0x28ec278
/* 028EC278 */ _t8 = cpu->r[7] + 0x0000000Cu;
/* 028EC278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028EC27C */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028EC280 */ _t9 = cpu->r[11] + cpu->r[12];
/* 028EC280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
L_028EC284: ; // 0x28ec284
/* 028EC284 */ cpu->r[3] = cpu->r[0];
/* 028EC288 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028EC288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028EC28C */ cpu->lr = cpu->r[0];
/* 028EC290 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EC294 */ return;
}
// fn_028EC254 @ 0x28ec254
void Gambit_fn_028EC254(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028EC254: ; // 0x28ec254
/* 028EC254 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028EC254 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC254 */ cpu->r[1] = _t0;
/* 028EC258 */ Gambit_fn_028EBF70(cpu);
/* 028EC25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028EC260 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC260 */ _t2 = _t1 & 0x00000001u;
/* 028EC260 */ if (_t2) goto L_028EC268; else goto L_028EC264;
L_028EC264: ; // 0x28ec264
/* 028EC264 */ _t3 = cpu->r[4] + 0x00000000u;
/* 028EC264 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
L_028EC268: ; // 0x28ec268
/* 028EC268 */ _t4 = cpu->r[7] + 0x00000004u;
/* 028EC268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028EC26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]);
/* 028EC270 */ cpu->r[0] = 0x00000000u;
/* 028EC274 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC274 */ _t6 = _t5 & 0x00000001u;
/* 028EC274 */ if (_t6) goto L_028EC278; else goto L_028EC284;
L_028EC278: ; // 0x28ec278
/* 028EC278 */ _t7 = cpu->r[7] + 0x0000000Cu;
/* 028EC278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028EC27C */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028EC280 */ _t8 = cpu->r[11] + cpu->r[12];
/* 028EC280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
L_028EC284: ; // 0x28ec284
/* 028EC284 */ cpu->r[3] = cpu->r[0];
/* 028EC288 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028EC288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028EC28C */ cpu->lr = cpu->r[0];
/* 028EC290 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028EC294 */ return;
}
// fn_028EC298 @ 0x28ec298
void Gambit_fn_028EC298(CPUState* cpu) {
L_028EC298: ; // 0x28ec298
/* 028EC298 */ cpu->f[1] = fma(cpu->f[2], cpu->f[1], cpu->f[3]);
/* 028EC29C */ return;
}
// fn_028EC2A0 @ 0x28ec2a0
void Gambit_fn_028EC2A0(CPUState* cpu) {
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_028EC2A0: ; // 0x28ec2a0
/* 028EC2A0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028EC2A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC2A0 */ cpu->r[1] = _t0;
/* 028EC2A4 */ cpu->r[0] = cpu->lr;
/* 028EC2A8 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028EC2A8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EC2AC */ /* nop */
/* 028EC2B0 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028EC2B0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028EC2B4 */ cpu->r[12] = 0x10140000u;
/* 028EC2B8 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028EC2B8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EC2BC */ /* nop */
/* 028EC2C0 */ _t4 = cpu->r[12] + 0xFFFFBEC8u;
/* 028EC2C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
/* 028EC2C4 */ cpu->f[31] = cpu->f[2];
/* 028EC2C8 */ _t5 = cpu->r[1] + 0x00000020u;
/* 028EC2C8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
/* 028EC2CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
/* 028EC2D0 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028EC2D0 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
/* 028EC2D4 */ /* nop */
/* 028EC2D8 */ _t7 = cpu->r[1] + 0x0000003Cu;
/* 028EC2D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028EC2DC */ cpu->f[30] = cpu->f[4];
/* 028EC2E0 */ _t8 = cpu->r[1] + 0x00000010u;
/* 028EC2E0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
/* 028EC2E4 */ cpu->f[29] = cpu->f[3];
/* 028EC2E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC2E8 */ _t10 = _t9 & 0x00000001u;
/* 028EC2E8 */ if (_t10) goto L_028EC2EC; else goto L_028EC310;
L_028EC2EC: ; // 0x28ec2ec
/* 028EC2EC */ cpu->r[12] = 0x10140000u;
/* 028EC2F0 */ _t11 = cpu->r[12] + 0xFFFFBECCu;
/* 028EC2F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
/* 028EC2F4 */ cpu->r[12] = 0x10140000u;
/* 028EC2F8 */ _t12 = cpu->r[12] + 0xFFFFBEE0u;
/* 028EC2F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028EC2FC */ cpu->f[11] = -cpu->f[30];
/* 028EC300 */ /* nop */
/* 028EC304 */ /* nop */
/* 028EC308 */ cpu->f[1] = fma(cpu->f[1], cpu->f[31], cpu->f[29]);
/* 028EC30C */ goto L_028EC320;
L_028EC310: ; // 0x28ec310
/* 028EC310 */ Gambit_fn_02827650(cpu);
/* 028EC314 */ cpu->f[1] = cpu->f[1] * cpu->f[30];
/* 028EC318 */ Gambit_fn_02827584(cpu);
/* 028EC31C */ cpu->f[1] = fma(cpu->f[1], cpu->f[31], cpu->f[29]);
L_028EC320: ; // 0x28ec320
/* 028EC320 */ _t13 = cpu->r[1] + 0x00000010u;
/* 028EC320 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t13);
/* 028EC324 */ _t14 = cpu->r[1] + 0x00000020u;
/* 028EC324 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
/* 028EC328 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028EC328 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t15);
/* 028EC32C */ _t16 = cpu->r[1] + 0x00000030u;
/* 028EC32C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
/* 028EC330 */ _t17 = cpu->r[1] + 0x00000018u;
/* 028EC330 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t17);
/* 028EC334 */ _t18 = cpu->r[1] + 0x00000028u;
/* 028EC334 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
/* 028EC338 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC338 */ _t20 = _t19 & 0x00000001u;
/* 028EC338 */ if (_t20) goto L_028EC33C; // else: addr-0 trap, fall-through
L_028EC33C: ; // 0x28ec33c
/* 028EC33C */ _t21 = cpu->r[1] + 0x0000003Cu;
/* 028EC33C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028EC340 */ cpu->lr = cpu->r[0];
/* 028EC344 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028EC348 */ return;
}
// fn_028EC34C @ 0x28ec34c
void Gambit_fn_028EC34C(CPUState* cpu) {
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_028EC34C: ; // 0x28ec34c
/* 028EC34C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028EC34C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC34C */ cpu->r[1] = _t0;
/* 028EC350 */ cpu->r[12] = 0x10140000u;
/* 028EC354 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028EC354 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028EC358 */ cpu->r[0] = cpu->lr;
/* 028EC35C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028EC35C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028EC360 */ /* nop */
/* 028EC364 */ _t3 = cpu->r[12] + 0xFFFFBEC8u;
/* 028EC364 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028EC368 */ /* nop */
/* 028EC36C */ _t4 = cpu->r[1] + 0x00000028u;
/* 028EC36C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
/* 028EC370 */ /* nop */
/* 028EC374 */ cpu->r[12] = 0x10140000u;
/* 028EC378 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028EC378 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
/* 028EC37C */ cpu->f[29] = cpu->f[2];
/* 028EC380 */ _t6 = cpu->r[12] + 0xFFFFBECCu;
/* 028EC380 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
/* 028EC384 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
/* 028EC388 */ _t7 = cpu->r[1] + 0x00000020u;
/* 028EC388 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
/* 028EC38C */ _t8 = cpu->r[1] + 0x00000030u;
/* 028EC38C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
/* 028EC390 */ cpu->f[30] = cpu->f[3];
/* 028EC394 */ _t9 = cpu->r[1] + 0x0000003Cu;
/* 028EC394 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028EC398 */ cpu->f[31] = cpu->f[12] / cpu->f[4];
/* 028EC39C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC39C */ _t11 = _t10 & 0x00000001u;
/* 028EC39C */ if (_t11) goto L_028EC3A0; else goto L_028EC3BC;
L_028EC3A0: ; // 0x28ec3a0
/* 028EC3A0 */ cpu->r[12] = 0x10140000u;
/* 028EC3A4 */ _t12 = cpu->r[12] + 0xFFFFBEE0u;
/* 028EC3A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028EC3A8 */ cpu->f[10] = -cpu->f[31];
/* 028EC3AC */ /* nop */
/* 028EC3B0 */ /* nop */
/* 028EC3B4 */ cpu->f[1] = fma(cpu->f[1], cpu->f[29], cpu->f[30]);
/* 028EC3B8 */ goto L_028EC3CC;
L_028EC3BC: ; // 0x28ec3bc
/* 028EC3BC */ Gambit_fn_02827650(cpu);
/* 028EC3C0 */ cpu->f[1] = cpu->f[1] * cpu->f[31];
/* 028EC3C4 */ Gambit_fn_02827584(cpu);
/* 028EC3C8 */ cpu->f[1] = fma(cpu->f[1], cpu->f[29], cpu->f[30]);
L_028EC3CC: ; // 0x28ec3cc
/* 028EC3CC */ _t13 = cpu->r[1] + 0x00000010u;
/* 028EC3CC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t13);
/* 028EC3D0 */ _t14 = cpu->r[1] + 0x00000020u;
/* 028EC3D0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
/* 028EC3D4 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028EC3D4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t15);
/* 028EC3D8 */ _t16 = cpu->r[1] + 0x00000030u;
/* 028EC3D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
/* 028EC3DC */ _t17 = cpu->r[1] + 0x00000018u;
/* 028EC3DC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t17);
/* 028EC3E0 */ _t18 = cpu->r[1] + 0x00000028u;
/* 028EC3E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
/* 028EC3E4 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC3E4 */ _t20 = _t19 & 0x00000001u;
/* 028EC3E4 */ if (_t20) goto L_028EC3E8; // else: addr-0 trap, fall-through
L_028EC3E8: ; // 0x28ec3e8
/* 028EC3E8 */ _t21 = cpu->r[1] + 0x0000003Cu;
/* 028EC3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028EC3EC */ cpu->lr = cpu->r[0];
/* 028EC3F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028EC3F4 */ return;
}
// fn_028EC3F8 @ 0x28ec3f8
void Gambit_fn_028EC3F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028EC3F8: ; // 0x28ec3f8
/* 028EC3F8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
/* 028EC3F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC3F8 */ cpu->r[1] = _t0;
/* 028EC3FC */ _t1 = cpu->r[1] + 0x00000020u;
/* 028EC3FC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028EC400 */ /* nop */
/* 028EC404 */ cpu->r[12] = 0x10140000u;
/* 028EC408 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028EC408 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028EC40C */ cpu->r[0] = cpu->lr;
/* 028EC410 */ _t3 = cpu->r[1] + 0x00000028u;
/* 028EC410 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028EC414 */ cpu->f[30] = cpu->f[3];
/* 028EC418 */ _t4 = cpu->r[12] + 0xFFFFBEE4u;
/* 028EC418 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028EC41C */ /* nop */
/* 028EC420 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028EC420 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
/* 028EC424 */ cpu->f[1] = cpu->f[0] * cpu->f[1];
/* 028EC428 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028EC428 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
/* 028EC42C */ cpu->r[31] = cpu->r[3];
/* 028EC430 */ _t7 = cpu->r[1] + 0x00000038u;
/* 028EC430 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028EC434 */ /* nop */
/* 028EC438 */ _t8 = cpu->r[1] + 0x00000044u;
/* 028EC438 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028EC43C */ cpu->f[31] = cpu->f[4];
/* 028EC440 */ _t9 = cpu->r[1] + 0x00000018u;
/* 028EC440 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
/* 028EC444 */ cpu->f[29] = cpu->f[2];
/* 028EC448 */ Gambit_fn_02C886F8(cpu);
/* 028EC44C */ cpu->r[12] = 0x10140000u;
/* 028EC450 */ _t10 = cpu->r[12] + 0xFFFFBECCu;
/* 028EC450 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028EC454 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
/* 028EC458 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC458 */ _t12 = _t11 & 0x00000001u;
/* 028EC458 */ if (_t12) goto L_028EC45C; else goto L_028EC490;
L_028EC45C: ; // 0x28ec45c
/* 028EC45C */ _t13 = cpu->r[1] + 0x00000038u;
/* 028EC45C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
/* 028EC460 */ cpu->f[1] = fma(cpu->f[1], cpu->f[29], cpu->f[30]);
/* 028EC464 */ _t14 = cpu->r[1] + 0x00000018u;
/* 028EC464 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t14);
/* 028EC468 */ _t15 = cpu->r[1] + 0x00000030u;
/* 028EC468 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028EC46C */ _t16 = cpu->r[1] + 0x00000028u;
/* 028EC46C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t16);
/* 028EC470 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028EC470 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t17);
/* 028EC474 */ _t18 = cpu->r[1] + 0x00000020u;
/* 028EC474 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t18);
/* 028EC478 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028EC478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028EC47C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC47C */ _t21 = _t20 & 0x00000001u;
/* 028EC47C */ if (_t21) goto L_028EC480; // else: addr-0 trap, fall-through
L_028EC480: ; // 0x28ec480
/* 028EC480 */ _t22 = cpu->r[1] + 0x00000044u;
/* 028EC480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028EC484 */ cpu->lr = cpu->r[0];
/* 028EC488 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028EC48C */ return;
L_028EC490: ; // 0x28ec490
/* 028EC490 */ cpu->f[4] = cpu->f[31];
/* 028EC494 */ cpu->r[3] = cpu->r[31];
/* 028EC498 */ cpu->f[2] = cpu->f[29];
/* 028EC49C */ cpu->f[3] = cpu->f[30];
/* 028EC4A0 */ Gambit_fn_028EC2A0(cpu);
/* 028EC4A4 */ _t23 = cpu->r[1] + 0x00000038u;
/* 028EC4A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
/* 028EC4A8 */ _t24 = cpu->r[1] + 0x00000028u;
/* 028EC4A8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t24);
/* 028EC4AC */ _t25 = cpu->r[1] + 0x00000030u;
/* 028EC4AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25);
/* 028EC4B0 */ _t26 = cpu->r[1] + 0x00000018u;
/* 028EC4B0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t26);
/* 028EC4B4 */ _t27 = cpu->r[1] + 0x00000020u;
/* 028EC4B4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t27);
/* 028EC4B8 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028EC4B8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t28);
/* 028EC4BC */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028EC4BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028EC4C0 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC4C0 */ _t31 = _t30 & 0x00000001u;
/* 028EC4C0 */ if (_t31) goto L_028EC4C4; // else: addr-0 trap, fall-through
L_028EC4C4: ; // 0x28ec4c4
/* 028EC4C4 */ _t32 = cpu->r[1] + 0x00000044u;
/* 028EC4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028EC4C8 */ cpu->lr = cpu->r[0];
/* 028EC4CC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028EC4D0 */ return;
}
// fn_028EC4D4 @ 0x28ec4d4
void Gambit_fn_028EC4D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028EC4D4: ; // 0x28ec4d4
/* 028EC4D4 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028EC4D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC4D4 */ cpu->r[1] = _t0;
/* 028EC4D8 */ cpu->r[12] = 0x10140000u;
/* 028EC4DC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028EC4DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
/* 028EC4E0 */ cpu->r[0] = cpu->lr;
/* 028EC4E4 */ _t2 = cpu->r[12] + 0xFFFFBEE4u;
/* 028EC4E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028EC4E8 */ /* nop */
/* 028EC4EC */ _t3 = cpu->r[1] + 0x00000038u;
/* 028EC4EC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
/* 028EC4F0 */ /* nop */
/* 028EC4F4 */ _t4 = cpu->r[1] + 0x00000028u;
/* 028EC4F4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
/* 028EC4F8 */ cpu->f[1] = cpu->f[0] * cpu->f[1];
/* 028EC4FC */ _t5 = cpu->r[1] + 0x00000010u;
/* 028EC4FC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
/* 028EC500 */ _t6 = cpu->r[1] + 0x00000018u;
/* 028EC500 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
/* 028EC504 */ cpu->f[28] = cpu->f[2];
/* 028EC508 */ _t7 = cpu->r[1] + 0x0000004Cu;
/* 028EC508 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028EC50C */ /* nop */
/* 028EC510 */ _t8 = cpu->r[1] + 0x00000040u;
/* 028EC510 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
/* 028EC514 */ /* nop */
/* 028EC518 */ _t9 = cpu->r[1] + 0x00000030u;
/* 028EC518 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
/* 028EC51C */ cpu->f[30] = cpu->f[4];
/* 028EC520 */ _t10 = cpu->r[1] + 0x00000020u;
/* 028EC520 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[29]);
/* 028EC524 */ cpu->f[29] = cpu->f[3];
/* 028EC528 */ Gambit_fn_02C88F2C(cpu);
/* 028EC52C */ cpu->r[12] = 0x10140000u;
/* 028EC530 */ _t11 = cpu->r[12] + 0xFFFFBECCu;
/* 028EC530 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028EC534 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
/* 028EC538 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC538 */ _t13 = _t12 & 0x00000001u;
/* 028EC538 */ if (_t13) goto L_028EC53C; else goto L_028EC570;
L_028EC53C: ; // 0x28ec53c
/* 028EC53C */ cpu->r[12] = 0x10140000u;
/* 028EC540 */ _t14 = cpu->r[12] + 0xFFFFBEC8u;
/* 028EC540 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
/* 028EC544 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
/* 028EC548 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC548 */ _t16 = _t15 & 0x00000001u;
/* 028EC548 */ if (_t16) goto L_028EC54C; else goto L_028EC564;
L_028EC54C: ; // 0x28ec54c
/* 028EC54C */ cpu->r[12] = 0x10140000u;
/* 028EC550 */ _t17 = cpu->r[12] + 0xFFFFBEE0u;
/* 028EC550 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
/* 028EC554 */ cpu->f[11] = -cpu->f[30];
/* 028EC558 */ /* nop */
/* 028EC55C */ /* nop */
/* 028EC560 */ goto L_028EC570;
L_028EC564: ; // 0x28ec564
/* 028EC564 */ Gambit_fn_02827650(cpu);
/* 028EC568 */ cpu->f[1] = cpu->f[1] * cpu->f[30];
/* 028EC56C */ Gambit_fn_02827584(cpu);
L_028EC570: ; // 0x28ec570
/* 028EC570 */ _t18 = cpu->r[1] + 0x00000030u;
/* 028EC570 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t18);
/* 028EC574 */ cpu->f[13] = cpu->f[31] - cpu->f[1];
/* 028EC578 */ _t19 = cpu->r[1] + 0x00000040u;
/* 028EC578 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028EC57C */ _t20 = cpu->r[1] + 0x00000028u;
/* 028EC57C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t20);
/* 028EC580 */ cpu->f[1] = fma(cpu->f[13], cpu->f[28], cpu->f[29]);
/* 028EC584 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028EC584 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t21);
/* 028EC588 */ _t22 = cpu->r[1] + 0x00000020u;
/* 028EC588 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t22);
/* 028EC58C */ _t23 = cpu->r[1] + 0x00000008u;
/* 028EC58C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t23);
/* 028EC590 */ _t24 = cpu->r[1] + 0x00000018u;
/* 028EC590 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t24);
/* 028EC594 */ _t25 = cpu->r[1] + 0x00000038u;
/* 028EC594 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25);
/* 028EC598 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC598 */ _t27 = _t26 & 0x00000001u;
/* 028EC598 */ if (_t27) goto L_028EC59C; // else: addr-0 trap, fall-through
L_028EC59C: ; // 0x28ec59c
/* 028EC59C */ _t28 = cpu->r[1] + 0x0000004Cu;
/* 028EC59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028EC5A0 */ cpu->lr = cpu->r[0];
/* 028EC5A4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028EC5A8 */ return;
}
// fn_028EC5AC @ 0x28ec5ac
void Gambit_fn_028EC5AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028EC5AC: ; // 0x28ec5ac
/* 028EC5AC */ cpu->r[0] = cpu->lr;
/* 028EC5B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EC5B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC5B0 */ cpu->r[1] = _t0;
/* 028EC5B4 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028EC5B4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EC5B8 */ /* nop */
/* 028EC5BC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EC5BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EC5C0 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028EC5C0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EC5C4 */ cpu->f[31] = cpu->f[1];
/* 028EC5C8 */ cpu->r[31] = cpu->r[3];
/* 028EC5CC */ _t4 = cpu->r[1] + 0x00000024u;
/* 028EC5CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EC5D0 */ _t5 = cpu->r[31] + 0x00000020u;
/* 028EC5D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
/* 028EC5D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[11]);
/* 028EC5D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC5D8 */ _t7 = _t6 & 0x00000001u;
/* 028EC5D8 */ if (_t7) goto L_028EC600; else goto L_028EC5DC;
L_028EC5DC: ; // 0x28ec5dc
/* 028EC5DC */ cpu->r[12] = 0x10140000u;
/* 028EC5E0 */ _t8 = cpu->r[12] + 0xFFFFBEE8u;
/* 028EC5E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028EC5E4 */ cpu->f[1] = cpu->f[0] * cpu->f[31];
/* 028EC5E8 */ Gambit_fn_02827584(cpu);
/* 028EC5EC */ cpu->r[12] = 0x10140000u;
/* 028EC5F0 */ _t9 = cpu->r[12] + 0xFFFFBECCu;
/* 028EC5F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028EC5F4 */ cpu->f[12] = cpu->f[1] + cpu->f[13];
/* 028EC5F8 */ _t10 = cpu->r[31] + 0x00000020u;
/* 028EC5F8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
/* 028EC5FC */ _t11 = cpu->r[31] + 0x00000024u;
/* 028EC5FC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
L_028EC600: ; // 0x28ec600
/* 028EC600 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028EC600 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028EC604 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028EC604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028EC608 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028EC608 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
/* 028EC60C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC60C */ _t16 = _t15 & 0x00000001u;
/* 028EC60C */ if (_t16) goto L_028EC610; // else: addr-0 trap, fall-through
L_028EC610: ; // 0x28ec610
/* 028EC610 */ _t17 = cpu->r[1] + 0x00000024u;
/* 028EC610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028EC614 */ cpu->lr = cpu->r[0];
/* 028EC618 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EC61C */ return;
}
// fn_028EC5B0 @ 0x28ec5b0
void Gambit_fn_028EC5B0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028EC5B0: ; // 0x28ec5b0
/* 028EC5B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028EC5B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC5B0 */ cpu->r[1] = _t0;
/* 028EC5B4 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028EC5B4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028EC5B8 */ /* nop */
/* 028EC5BC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028EC5BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028EC5C0 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028EC5C0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028EC5C4 */ cpu->f[31] = cpu->f[1];
/* 028EC5C8 */ cpu->r[31] = cpu->r[3];
/* 028EC5CC */ _t4 = cpu->r[1] + 0x00000024u;
/* 028EC5CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028EC5D0 */ _t5 = cpu->r[31] + 0x00000020u;
/* 028EC5D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
/* 028EC5D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[11]);
/* 028EC5D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC5D8 */ _t7 = _t6 & 0x00000001u;
/* 028EC5D8 */ if (_t7) goto L_028EC600; else goto L_028EC5DC;
L_028EC5DC: ; // 0x28ec5dc
/* 028EC5DC */ cpu->r[12] = 0x10140000u;
/* 028EC5E0 */ _t8 = cpu->r[12] + 0xFFFFBEE8u;
/* 028EC5E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028EC5E4 */ cpu->f[1] = cpu->f[0] * cpu->f[31];
/* 028EC5E8 */ Gambit_fn_02827584(cpu);
/* 028EC5EC */ cpu->r[12] = 0x10140000u;
/* 028EC5F0 */ _t9 = cpu->r[12] + 0xFFFFBECCu;
/* 028EC5F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028EC5F4 */ cpu->f[12] = cpu->f[1] + cpu->f[13];
/* 028EC5F8 */ _t10 = cpu->r[31] + 0x00000020u;
/* 028EC5F8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
/* 028EC5FC */ _t11 = cpu->r[31] + 0x00000024u;
/* 028EC5FC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
L_028EC600: ; // 0x28ec600
/* 028EC600 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028EC600 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028EC604 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028EC604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028EC608 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028EC608 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
/* 028EC60C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC60C */ _t16 = _t15 & 0x00000001u;
/* 028EC60C */ if (_t16) goto L_028EC610; // else: addr-0 trap, fall-through
L_028EC610: ; // 0x28ec610
/* 028EC610 */ _t17 = cpu->r[1] + 0x00000024u;
/* 028EC610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028EC614 */ cpu->lr = cpu->r[0];
/* 028EC618 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028EC61C */ return;
}
// fn_028EC620 @ 0x28ec620
void Gambit_fn_028EC620(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028EC620: ; // 0x28ec620
/* 028EC620 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
/* 028EC620 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC620 */ cpu->r[1] = _t0;
/* 028EC624 */ cpu->r[12] = 0x10140000u;
/* 028EC628 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028EC628 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028EC62C */ /* nop */
/* 028EC630 */ _t2 = cpu->r[12] + 0xFFFFBEECu;
/* 028EC630 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028EC634 */ cpu->r[0] = cpu->lr;
/* 028EC638 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028EC638 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
/* 028EC63C */ /* nop */
/* 028EC640 */ _t4 = cpu->r[1] + 0x00000018u;
/* 028EC640 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028EC644 */ cpu->f[12] = cpu->f[0] - cpu->f[1];
/* 028EC648 */ _t5 = cpu->r[1] + 0x00000030u;
/* 028EC648 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
/* 028EC64C */ /* nop */
/* 028EC650 */ _t6 = cpu->r[1] + 0x00000028u;
/* 028EC650 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
/* 028EC654 */ cpu->f[1] = cpu->f[4] * cpu->f[12];
/* 028EC658 */ _t7 = cpu->r[1] + 0x00000038u;
/* 028EC658 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028EC65C */ cpu->r[12] = 0x10140000u;
/* 028EC660 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028EC660 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
/* 028EC664 */ cpu->f[30] = cpu->f[3];
/* 028EC668 */ _t9 = cpu->r[12] + 0xFFFFBECCu;
/* 028EC668 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028EC66C */ cpu->f[29] = cpu->f[2];
/* 028EC670 */ cpu->r[31] = cpu->r[3];
/* 028EC674 */ _t10 = cpu->r[1] + 0x00000044u;
/* 028EC674 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028EC678 */ Gambit_fn_02827584(cpu);
/* 028EC67C */ cpu->f[0] = cpu->f[1] + cpu->f[31];
/* 028EC680 */ _t11 = cpu->r[31] + 0x00000024u;
/* 028EC680 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
/* 028EC684 */ cpu->r[12] = 0x10140000u;
/* 028EC688 */ cpu->f[12] = cpu->f[11] / cpu->f[0];
/* 028EC68C */ _t12 = cpu->r[12] + 0xFFFFBEC8u;
/* 028EC68C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
/* 028EC690 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
/* 028EC694 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC694 */ _t14 = _t13 & 0x00000001u;
/* 028EC694 */ if (_t14) goto L_028EC698; else goto L_028EC6A0;
L_028EC698: ; // 0x28ec698
/* 028EC698 */ cpu->f[1] = fma(cpu->f[13], cpu->f[29], cpu->f[30]);
/* 028EC69C */ goto L_028EC6B0;
L_028EC6A0: ; // 0x28ec6a0
/* 028EC6A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
/* 028EC6A4 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC6A4 */ _t16 = _t15 & 0x00000001u;
/* 028EC6A4 */ if (_t16) goto L_028EC6A8; else goto L_028EC6AC;
L_028EC6A8: ; // 0x28ec6a8
/* 028EC6A8 */ cpu->f[12] = cpu->f[31];
L_028EC6AC: ; // 0x28ec6ac
/* 028EC6AC */ cpu->f[1] = fma(cpu->f[12], cpu->f[29], cpu->f[30]);
L_028EC6B0: ; // 0x28ec6b0
/* 028EC6B0 */ _t17 = cpu->r[1] + 0x00000038u;
/* 028EC6B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
/* 028EC6B4 */ _t18 = cpu->r[1] + 0x00000028u;
/* 028EC6B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t18);
/* 028EC6B8 */ _t19 = cpu->r[1] + 0x00000030u;
/* 028EC6B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
/* 028EC6BC */ _t20 = cpu->r[1] + 0x00000018u;
/* 028EC6BC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t20);
/* 028EC6C0 */ _t21 = cpu->r[1] + 0x00000020u;
/* 028EC6C0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t21);
/* 028EC6C4 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028EC6C4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t22);
/* 028EC6C8 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028EC6C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028EC6CC */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC6CC */ _t25 = _t24 & 0x00000001u;
/* 028EC6CC */ if (_t25) goto L_028EC6D0; // else: addr-0 trap, fall-through
L_028EC6D0: ; // 0x28ec6d0
/* 028EC6D0 */ _t26 = cpu->r[1] + 0x00000044u;
/* 028EC6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028EC6D4 */ cpu->lr = cpu->r[0];
/* 028EC6D8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028EC6DC */ return;
}
// fn_028EC6E0 @ 0x28ec6e0
void Gambit_fn_028EC6E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028EC6E0: ; // 0x28ec6e0
/* 028EC6E0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028EC6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028EC6E0 */ cpu->r[1] = _t0;
/* 028EC6E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028EC6E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028EC6E8 */ cpu->r[0] = cpu->lr;
/* 028EC6EC */ _t2 = cpu->r[1] + 0x00000020u;
/* 028EC6EC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
/* 028EC6F0 */ /* nop */
/* 028EC6F4 */ _t3 = cpu->r[1] + 0x00000040u;
/* 028EC6F4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
/* 028EC6F8 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028EC6F8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[28]);
/* 028EC6FC */ /* nop */
/* 028EC700 */ _t5 = cpu->r[1] + 0x00000028u;
/* 028EC700 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
/* 028EC704 */ /* nop */
/* 028EC708 */ _t6 = cpu->r[1] + 0x00000030u;
/* 028EC708 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[30]);
/* 028EC70C */ _t7 = cpu->r[1] + 0x00000048u;
/* 028EC70C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028EC710 */ /* nop */
/* 028EC714 */ _t8 = cpu->r[1] + 0x00000054u;
/* 028EC714 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028EC718 */ cpu->f[9] = cpu->f[1];
/* 028EC71C */ _t9 = cpu->r[1] + 0x00000018u;
/* 028EC71C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]);
/* 028EC720 */ cpu->r[31] = cpu->r[3];
/* 028EC724 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028EC728 */ _t10 = cpu->r[1] + 0x00000038u;
/* 028EC728 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
/* 028EC72C */ Gambit_fn_028EC248(cpu);
/* 028EC730 */ cpu->r[12] = 0x10140000u;
/* 028EC734 */ cpu->r[7] = cpu->r[3];
/* 028EC734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028EC738 */ _t11 = cpu->r[12] + 0xFFFFBEC8u;
/* 028EC738 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028EC73C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC73C */ _t13 = _t12 & 0x00000001u;
/* 028EC73C */ if (_t13) goto L_028ECA90; else goto L_028EC740;
L_028EC740: ; // 0x28ec740
/* 028EC740 */ cpu->r[3] = cpu->r[31];
/* 028EC744 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028EC744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028EC748 */ Gambit_fn_028EBF68(cpu);
/* 028EC74C */ cpu->r[9] = cpu->r[3] + 0xFFFFFFFFu;
/* 028EC750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]);
/* 028EC754 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC754 */ _t16 = _t15 & 0x00000001u;
/* 028EC754 */ if (_t16) goto L_028EC794; else goto L_028EC758;
L_028EC758: ; // 0x28ec758
/* 028EC758 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028EC758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028EC75C */ _t18 = cpu->r[1] + 0x00000038u;
/* 028EC75C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t18);
/* 028EC760 */ _t19 = cpu->r[1] + 0x00000048u;
/* 028EC760 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028EC764 */ _t20 = cpu->r[1] + 0x00000030u;
/* 028EC764 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t20);
/* 028EC768 */ _t21 = cpu->r[1] + 0x00000040u;
/* 028EC768 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
/* 028EC76C */ _t22 = cpu->r[1] + 0x00000028u;
/* 028EC76C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t22);
/* 028EC770 */ _t23 = cpu->r[1] + 0x00000018u;
/* 028EC770 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t23);
/* 028EC774 */ _t24 = cpu->r[1] + 0x00000020u;
/* 028EC774 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t24);
/* 028EC778 */ _t25 = cpu->r[1] + 0x00000010u;
/* 028EC778 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t25);
/* 028EC77C */ _t26 = cpu->r[7] + 0x00000004u;
/* 028EC77C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t26);
/* 028EC780 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC780 */ _t28 = _t27 & 0x00000001u;
/* 028EC780 */ if (_t28) goto L_028EC784; // else: addr-0 trap, fall-through
L_028EC784: ; // 0x28ec784
/* 028EC784 */ _t29 = cpu->r[1] + 0x00000054u;
/* 028EC784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028EC788 */ cpu->lr = cpu->r[0];
/* 028EC78C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028EC790 */ return;
L_028EC794: ; // 0x28ec794
/* 028EC794 */ _t30 = cpu->r[31] + 0x00000004u;
/* 028EC794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028EC798 */ cpu->r[11] = cpu->r[8] + 0x00000001u;
/* 028EC79C */ cpu->r[10] = 0x00000000u;
/* 028EC7A0 */ /* nop */
/* 028EC7A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028EC7A8 */ _t31 = cpu->r[7] + 0x00000000u;
/* 028EC7A8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t31);
/* 028EC7AC */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC7AC */ _t33 = _t32 & 0x00000001u;
/* 028EC7AC */ if (_t33) goto L_028EC7B0; else goto L_028EC7C0;
L_028EC7B0: ; // 0x28ec7b0
/* 028EC7B0 */ _t34 = cpu->r[31] + 0x0000000Cu;
/* 028EC7B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
/* 028EC7B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028EC7B8 */ cpu->r[8] = cpu->r[9] + cpu->r[0];
/* 028EC7BC */ _t35 = cpu->r[8] + 0x00000004u;
/* 028EC7BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
L_028EC7C0: ; // 0x28ec7c0
/* 028EC7C0 */ cpu->f[10] = cpu->f[9] - cpu->f[7];
/* 028EC7C4 */ _t36 = cpu->r[7] + 0x00000004u;
/* 028EC7C4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
/* 028EC7C8 */ _t37 = cpu->r[7] + 0x0000000Cu;
/* 028EC7C8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t37);
/* 028EC7CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 028EC7D0 */ _t38 = cpu->r[10] + 0x00000000u;
/* 028EC7D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t38);
/* 028EC7D4 */ _t39 = cpu->r[10] + 0x00000004u;
/* 028EC7D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t39);
/* 028EC7D8 */ cpu->f[11] = cpu->f[8] - cpu->f[7];
/* 028EC7DC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC7DC */ _t41 = _t40 & 0x00000001u;
/* 028EC7DC */ if (_t41) goto L_028ECA54; else goto L_028EC7E0;
L_028EC7E0: ; // 0x28ec7e0
/* 028EC7E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028EC7E4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EC7E4 */ _t43 = _t42 & 0x00000001u;
/* 028EC7E4 */ if (_t43) goto L_028ECA94; else goto L_028EC7E8;
L_028EC7E8: ; // 0x28ec7e8
/* 028EC7E8 */ cpu->f[29] = cpu->f[10] / cpu->f[11];
/* 028EC7EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[0]);
/* 028EC7F0 */ _t44 = cpu->r[7] + 0x00000008u;
/* 028EC7F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
/* 028EC7F4 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028EC7F4 */ _t46 = _t45 & 0x00000001u;
/* 028EC7F4 */ if (_t46) goto L_028EC7F8; else goto L_028EC80C;
L_028EC7F8: ; // 0x28ec7f8
/* 028EC7F8 */ cpu->f[29] = cpu->f[0];
/* 028EC7FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000006u);
/* 028EC800 */ cpu->f[30] = cpu->f[1] - cpu->f[31];
/* 028EC804 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC804 */ _t48 = _t47 & 0x00000001u;
/* 028EC804 */ if (_t48) goto L_028ECA90; else goto L_028EC808;
L_028EC808: ; // 0x28ec808
/* 028EC808 */ goto L_028EC82C;
L_028EC80C: ; // 0x28ec80c
/* 028EC80C */ cpu->r[12] = 0x10140000u;
/* 028EC810 */ _t49 = cpu->r[12] + 0xFFFFBECCu;
/* 028EC810 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49);
/* 028EC814 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[12]);
/* 028EC818 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC818 */ _t51 = _t50 & 0x00000001u;
/* 028EC818 */ if (_t51) goto L_028EC81C; else goto L_028EC820;
L_028EC81C: ; // 0x28ec81c
/* 028EC81C */ cpu->f[29] = cpu->f[12];
L_028EC820: ; // 0x28ec820
/* 028EC820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000006u);
/* 028EC824 */ cpu->f[30] = cpu->f[1] - cpu->f[31];
/* 028EC828 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028EC828 */ _t53 = _t52 & 0x00000001u;
/* 028EC828 */ if (_t53) goto L_028ECA90; else goto L_028EC82C;
L_028EC82C: ; // 0x28ec82c
/* 028EC82C */ cpu->r[0] = 0x028F0000u;
/* 028EC830 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028EC834 */ cpu->r[0] = cpu->r[0] + 0xFFFFC844u;
/* 028EC838 */ cpu->r[0] = cpu->r[10] + cpu->r[0];
/* 028EC83C */ cpu->ctr = cpu->r[0];
/* 028EC840 */ rbrew_dispatch(cpu, cpu->ctr); return;
L_028ECA54: ; // 0x28eca54
/* 028ECA54 */ _t54 = cpu->r[1] + 0x00000018u;
/* 028ECA54 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t54);
/* 028ECA58 */ cpu->f[1] = cpu->f[31];
/* 028ECA5C */ _t55 = cpu->r[1] + 0x00000048u;
/* 028ECA5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t55);
/* 028ECA60 */ _t56 = cpu->r[1] + 0x00000028u;
/* 028ECA60 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t56);
/* 028ECA64 */ _t57 = cpu->r[1] + 0x00000040u;
/* 028ECA64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t57);
/* 028ECA68 */ _t58 = cpu->r[1] + 0x00000038u;
/* 028ECA68 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t58);
/* 028ECA6C */ _t59 = cpu->r[1] + 0x00000020u;
/* 028ECA6C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t59);
/* 028ECA70 */ _t60 = cpu->r[1] + 0x00000030u;
/* 028ECA70 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t60);
/* 028ECA74 */ _t61 = cpu->r[1] + 0x0000000Cu;
/* 028ECA74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
/* 028ECA78 */ _t62 = cpu->r[1] + 0x00000010u;
/* 028ECA78 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t62);
/* 028ECA7C */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ECA7C */ _t64 = _t63 & 0x00000001u;
/* 028ECA7C */ if (_t64) goto L_028ECA80; // else: addr-0 trap, fall-through
L_028ECA80: ; // 0x28eca80
/* 028ECA80 */ _t65 = cpu->r[1] + 0x00000054u;
/* 028ECA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
/* 028ECA84 */ cpu->lr = cpu->r[0];
/* 028ECA88 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028ECA8C */ return;
L_028ECA90: ; // 0x28eca90
/* 028ECA90 */ cpu->f[1] = cpu->f[0];
L_028ECA94: ; // 0x28eca94
/* 028ECA94 */ _t66 = cpu->r[1] + 0x00000048u;
/* 028ECA94 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t66);
/* 028ECA98 */ _t67 = cpu->r[1] + 0x00000038u;
/* 028ECA98 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67);
/* 028ECA9C */ _t68 = cpu->r[1] + 0x00000040u;
/* 028ECA9C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t68);
/* 028ECAA0 */ _t69 = cpu->r[1] + 0x00000030u;
/* 028ECAA0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t69);
/* 028ECAA4 */ _t70 = cpu->r[1] + 0x0000000Cu;
/* 028ECAA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
/* 028ECAA8 */ _t71 = cpu->r[1] + 0x00000028u;
/* 028ECAA8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t71);
/* 028ECAAC */ _t72 = cpu->r[1] + 0x00000018u;
/* 028ECAAC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t72);
/* 028ECAB0 */ _t73 = cpu->r[1] + 0x00000020u;
/* 028ECAB0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t73);
/* 028ECAB4 */ _t74 = cpu->r[1] + 0x00000010u;
/* 028ECAB4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t74);
/* 028ECAB8 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ECAB8 */ _t76 = _t75 & 0x00000001u;
/* 028ECAB8 */ if (_t76) goto L_028ECABC; // else: addr-0 trap, fall-through
L_028ECABC: ; // 0x28ecabc
/* 028ECABC */ _t77 = cpu->r[1] + 0x00000054u;
/* 028ECABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028ECAC0 */ cpu->lr = cpu->r[0];
/* 028ECAC4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028ECAC8 */ return;
}
// fn_028ECACC @ 0x28ecacc
void Gambit_fn_028ECACC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028ECACC: ; // 0x28ecacc
/* 028ECACC */ cpu->r[0] = cpu->lr;
/* 028ECAD0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028ECAD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ECAD0 */ cpu->r[1] = _t0;
/* 028ECAD4 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028ECAD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028ECAD8 */ /* nop */
/* 028ECADC */ cpu->r[29] = cpu->r[3];
/* 028ECADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028ECAE0 */ cpu->r[26] = cpu->r[4];
/* 028ECAE4 */ cpu->r[27] = cpu->r[5];
/* 028ECAE8 */ cpu->r[28] = cpu->r[6];
/* 028ECAEC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECAEC */ _t3 = _t2 & 0x00000001u;
/* 028ECAEC */ if (_t3) goto L_028ECAF0; else goto L_028ECB00;
L_028ECAF0: ; // 0x28ecaf0
/* 028ECAF0 */ cpu->r[3] = 0x000000A8u;
/* 028ECAF4 */ Gambit_fn_02801A78(cpu);
/* 028ECAF8 */ cpu->r[29] = cpu->r[3];
/* 028ECAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028ECAFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECAFC */ _t5 = _t4 & 0x00000001u;
/* 028ECAFC */ if (_t5) goto L_028ECE90; else goto L_028ECB00;
L_028ECB00: ; // 0x28ecb00
/* 028ECB00 */ cpu->r[24] = cpu->r[29];
/* 028ECB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028ECB04 */ cpu->r[25] = 0x00000000u;
/* 028ECB08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB08 */ _t7 = _t6 & 0x00000001u;
/* 028ECB08 */ if (_t7) goto L_028ECB0C; else goto L_028ECB1C;
L_028ECB0C: ; // 0x28ecb0c
/* 028ECB0C */ cpu->r[3] = 0x00000098u;
/* 028ECB10 */ Gambit_fn_02801A78(cpu);
/* 028ECB14 */ cpu->r[24] = cpu->r[3];
/* 028ECB14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028ECB18 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB18 */ _t9 = _t8 & 0x00000001u;
/* 028ECB18 */ if (_t9) goto L_028ECE3C; else goto L_028ECB1C;
L_028ECB1C: ; // 0x28ecb1c
/* 028ECB1C */ cpu->r[3] = cpu->r[24];
/* 028ECB20 */ Gambit_fn_028EBBA0(cpu);
/* 028ECB24 */ cpu->r[23] = cpu->r[24] + 0x00000044u;
/* 028ECB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028ECB28 */ cpu->r[31] = 0x10110000u;
/* 028ECB2C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB2C */ _t11 = _t10 & 0x00000001u;
/* 028ECB2C */ if (_t11) goto L_028ECB30; else goto L_028ECBA4;
L_028ECB30: ; // 0x28ecb30
/* 028ECB30 */ cpu->r[3] = 0x00000048u;
/* 028ECB34 */ Gambit_fn_02801A78(cpu);
/* 028ECB38 */ cpu->r[23] = cpu->r[3];
/* 028ECB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028ECB3C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB3C */ _t13 = _t12 & 0x00000001u;
/* 028ECB3C */ if (_t13) goto L_028ECB40; else goto L_028ECBA4;
L_028ECB40: ; // 0x28ecb40
/* 028ECB40 */ _t14 = cpu->r[31] + 0x00007399u;
/* 028ECB40 */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
/* 028ECB44 */ cpu->r[0] = 0x10140000u;
/* 028ECB48 */ cpu->r[9] = 0x10140000u;
/* 028ECB4C */ _t15 = cpu->r[24] + 0x00000090u;
/* 028ECB4C */ rbrew_write32(cpu->mem, _t15, cpu->r[25]);
/* 028ECB50 */ cpu->r[0] = cpu->r[0] + 0xFFFFBE40u;
/* 028ECB54 */ _t16 = cpu->r[24] + 0x00000094u;
/* 028ECB54 */ rbrew_write32(cpu->mem, _t16, cpu->r[25]);
/* 028ECB58 */ cpu->r[9] = cpu->r[9] + 0xFFFFBE70u;
/* 028ECB5C */ cpu->r[10] = 0x10140000u;
/* 028ECB60 */ _t17 = cpu->r[24] + 0x00000000u;
/* 028ECB60 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028ECB64 */ cpu->r[10] = cpu->r[10] + 0xFFFFBE88u;
/* 028ECB68 */ _t18 = cpu->r[24] + 0x0000004Cu;
/* 028ECB68 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
/* 028ECB6C */ _t19 = cpu->r[24] + 0x0000008Cu;
/* 028ECB6C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028ECB70 */ _t20 = cpu->r[26] + 0x00000004u;
/* 028ECB70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
/* 028ECB74 */ _t21 = cpu->r[11] + 0x00000014u;
/* 028ECB74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028ECB78 */ cpu->ctr = cpu->r[12];
/* 028ECB7C */ _t22 = cpu->r[24] + 0x00000050u;
/* 028ECB7C */ cpu->r[23] = rbrew_read32(cpu->mem, _t22);
/* 028ECB80 */ cpu->r[3] = cpu->r[26];
/* 028ECB84 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECB88 */ _t23 = cpu->r[26] + 0x00000000u;
/* 028ECB88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028ECB8C */ _t24 = cpu->r[12] + 0x00000000u;
/* 028ECB8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
/* 028ECB90 */ cpu->r[30] = 0x00000000u;
/* 028ECB94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028ECB98 */ cpu->r[0] = 0x00080000u;
/* 028ECB9C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB9C */ _t26 = _t25 & 0x00000001u;
/* 028ECB9C */ if (_t26) goto L_028ECBA0; else goto L_028ECDD4;
L_028ECBA0: ; // 0x28ecba0
/* 028ECBA0 */ goto L_028ECDF8;
L_028ECBA4: ; // 0x28ecba4
/* 028ECBA4 */ cpu->r[30] = cpu->r[23];
/* 028ECBA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028ECBA8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECBA8 */ _t28 = _t27 & 0x00000001u;
/* 028ECBA8 */ if (_t28) goto L_028ECBAC; else goto L_028ECBBC;
L_028ECBAC: ; // 0x28ecbac
/* 028ECBAC */ cpu->r[3] = 0x0000000Cu;
/* 028ECBB0 */ Gambit_fn_02801A78(cpu);
/* 028ECBB4 */ cpu->r[30] = cpu->r[3];
/* 028ECBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028ECBB8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECBB8 */ _t30 = _t29 & 0x00000001u;
/* 028ECBB8 */ if (_t30) goto L_028ECC00; else goto L_028ECBBC;
L_028ECBBC: ; // 0x28ecbbc
/* 028ECBBC */ cpu->r[3] = cpu->r[30];
/* 028ECBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECBC0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECBC0 */ _t32 = _t31 & 0x00000001u;
/* 028ECBC0 */ if (_t32) goto L_028ECBC4; else goto L_028ECBD4;
L_028ECBC4: ; // 0x28ecbc4
/* 028ECBC4 */ cpu->r[3] = 0x00000008u;
/* 028ECBC8 */ Gambit_fn_02801A78(cpu);
/* 028ECBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECBD0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECBD0 */ _t34 = _t33 & 0x00000001u;
/* 028ECBD0 */ if (_t34) goto L_028ECBEC; else goto L_028ECBD4;
L_028ECBD4: ; // 0x28ecbd4
/* 028ECBD4 */ cpu->r[9] = 0x10140000u;
/* 028ECBD8 */ cpu->r[0] = 0x10140000u;
/* 028ECBDC */ cpu->r[9] = cpu->r[9] + 0xFFFFBDB0u;
/* 028ECBE0 */ cpu->r[0] = cpu->r[0] + 0xFFFFBDACu;
/* 028ECBE4 */ _t35 = cpu->r[3] + 0x00000004u;
/* 028ECBE4 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
/* 028ECBE8 */ _t36 = cpu->r[3] + 0x00000000u;
/* 028ECBE8 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
L_028ECBEC: ; // 0x28ecbec
/* 028ECBEC */ cpu->r[11] = 0x10140000u;
/* 028ECBF0 */ cpu->r[11] = cpu->r[11] + 0xFFFFBE10u;
/* 028ECBF4 */ _t37 = cpu->r[30] + 0x00000008u;
/* 028ECBF4 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
/* 028ECBF8 */ _t38 = cpu->r[26] + 0x00000000u;
/* 028ECBF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028ECBFC */ _t39 = cpu->r[30] + 0x00000000u;
/* 028ECBFC */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
L_028ECC00: ; // 0x28ecc00
/* 028ECC00 */ cpu->r[0] = 0x10140000u;
/* 028ECC04 */ cpu->r[0] = cpu->r[0] + 0xFFFFBE28u;
/* 028ECC08 */ cpu->r[30] = cpu->r[23] + 0x0000000Cu;
/* 028ECC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028ECC0C */ _t40 = cpu->r[23] + 0x00000008u;
/* 028ECC0C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
/* 028ECC10 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC10 */ _t42 = _t41 & 0x00000001u;
/* 028ECC10 */ if (_t42) goto L_028ECC14; else goto L_028ECC68;
L_028ECC14: ; // 0x28ecc14
/* 028ECC14 */ cpu->r[3] = 0x0000003Cu;
/* 028ECC18 */ Gambit_fn_02801A78(cpu);
/* 028ECC1C */ cpu->r[30] = cpu->r[3];
/* 028ECC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028ECC20 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC20 */ _t44 = _t43 & 0x00000001u;
/* 028ECC20 */ if (_t44) goto L_028ECC24; else goto L_028ECC68;
L_028ECC24: ; // 0x28ecc24
/* 028ECC24 */ cpu->r[0] = 0x10140000u;
/* 028ECC28 */ _t45 = cpu->r[31] + 0x00007399u;
/* 028ECC28 */ cpu->r[31] = rbrew_read8(cpu->mem, _t45);
/* 028ECC2C */ cpu->r[0] = cpu->r[0] + 0xFFFFBEB0u;
/* 028ECC30 */ _t46 = cpu->r[23] + 0x00000010u;
/* 028ECC30 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
/* 028ECC34 */ _t47 = cpu->r[26] + 0x00000004u;
/* 028ECC34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
/* 028ECC38 */ _t48 = cpu->r[8] + 0x00000014u;
/* 028ECC38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
/* 028ECC3C */ cpu->ctr = cpu->r[9];
/* 028ECC40 */ _t49 = cpu->r[23] + 0x0000000Cu;
/* 028ECC40 */ cpu->r[22] = rbrew_read32(cpu->mem, _t49);
/* 028ECC44 */ cpu->r[3] = cpu->r[26];
/* 028ECC48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECC4C */ _t50 = cpu->r[26] + 0x00000000u;
/* 028ECC4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
/* 028ECC50 */ _t51 = cpu->r[5] + 0x00000000u;
/* 028ECC50 */ cpu->r[10] = rbrew_read8(cpu->mem, _t51);
/* 028ECC54 */ cpu->r[30] = 0x00000000u;
/* 028ECC58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028ECC5C */ cpu->r[0] = 0x00080000u;
/* 028ECC60 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC60 */ _t53 = _t52 & 0x00000001u;
/* 028ECC60 */ if (_t53) goto L_028ECC64; else goto L_028ECD10;
L_028ECC64: ; // 0x28ecc64
/* 028ECC64 */ goto L_028ECD34;
L_028ECC68: ; // 0x28ecc68
/* 028ECC68 */ cpu->r[3] = cpu->r[30];
/* 028ECC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECC6C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC6C */ _t55 = _t54 & 0x00000001u;
/* 028ECC6C */ if (_t55) goto L_028ECC70; else goto L_028ECC9C;
L_028ECC70: ; // 0x28ecc70
/* 028ECC70 */ cpu->r[3] = 0x0000000Cu;
/* 028ECC74 */ Gambit_fn_02801A78(cpu);
/* 028ECC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECC7C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC7C */ _t57 = _t56 & 0x00000001u;
/* 028ECC7C */ if (_t57) goto L_028ECC80; else goto L_028ECC9C;
L_028ECC80: ; // 0x28ecc80
/* 028ECC80 */ cpu->r[0] = 0x10140000u;
/* 028ECC84 */ _t58 = cpu->r[31] + 0x00007399u;
/* 028ECC84 */ cpu->r[31] = rbrew_read8(cpu->mem, _t58);
/* 028ECC88 */ cpu->r[0] = cpu->r[0] + 0xFFFFBE98u;
/* 028ECC8C */ _t59 = cpu->r[30] + 0x00000000u;
/* 028ECC8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
/* 028ECC90 */ _t60 = cpu->r[30] + 0x00000004u;
/* 028ECC90 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
/* 028ECC94 */ _t61 = cpu->r[6] + 0x00000000u;
/* 028ECC94 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[31]);
/* 028ECC98 */ goto L_028ECCD4;
L_028ECC9C: ; // 0x28ecc9c
/* 028ECC9C */ cpu->r[12] = 0x10140000u;
/* 028ECCA0 */ cpu->r[11] = cpu->r[30] + 0x0000000Cu;
/* 028ECCA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFBDC8u;
/* 028ECCA8 */ _t62 = cpu->r[3] + 0x00000000u;
/* 028ECCA8 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
/* 028ECCAC */ cpu->r[0] = 0x00000030u;
/* 028ECCB0 */ _t63 = cpu->r[3] + 0x00000004u;
/* 028ECCB0 */ rbrew_write32(cpu->mem, _t63, cpu->r[12]);
/* 028ECCB4 */ _t64 = cpu->r[3] + 0x00000008u;
/* 028ECCB4 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
/* 028ECCB8 */ _t65 = cpu->r[31] + 0x00007399u;
/* 028ECCB8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t65);
/* 028ECCBC */ cpu->r[0] = 0x10140000u;
/* 028ECCC0 */ _t66 = cpu->r[30] + 0x00000000u;
/* 028ECCC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t66);
/* 028ECCC4 */ cpu->r[0] = cpu->r[0] + 0xFFFFBE98u;
/* 028ECCC8 */ _t67 = cpu->r[30] + 0x0000003Bu;
/* 028ECCC8 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[31]);
/* 028ECCCC */ _t68 = cpu->r[30] + 0x00000004u;
/* 028ECCCC */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
/* 028ECCD0 */ _t69 = cpu->r[6] + 0x00000000u;
/* 028ECCD0 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[31]);
L_028ECCD4: ; // 0x28eccd4
/* 028ECCD4 */ cpu->r[0] = 0x10140000u;
/* 028ECCD8 */ cpu->r[0] = cpu->r[0] + 0xFFFFBEB0u;
/* 028ECCDC */ _t70 = cpu->r[23] + 0x00000010u;
/* 028ECCDC */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
/* 028ECCE0 */ _t71 = cpu->r[26] + 0x00000004u;
/* 028ECCE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
/* 028ECCE4 */ _t72 = cpu->r[8] + 0x00000014u;
/* 028ECCE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
/* 028ECCE8 */ cpu->ctr = cpu->r[9];
/* 028ECCEC */ _t73 = cpu->r[23] + 0x0000000Cu;
/* 028ECCEC */ cpu->r[22] = rbrew_read32(cpu->mem, _t73);
/* 028ECCF0 */ cpu->r[3] = cpu->r[26];
/* 028ECCF4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECCF8 */ _t74 = cpu->r[26] + 0x00000000u;
/* 028ECCF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74);
/* 028ECCFC */ _t75 = cpu->r[5] + 0x00000000u;
/* 028ECCFC */ cpu->r[10] = rbrew_read8(cpu->mem, _t75);
/* 028ECD00 */ cpu->r[30] = 0x00000000u;
/* 028ECD04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028ECD08 */ cpu->r[0] = 0x00080000u;
/* 028ECD0C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECD0C */ _t77 = _t76 & 0x00000001u;
/* 028ECD0C */ if (_t77) goto L_028ECC64; else goto L_028ECD10;
L_028ECD10: ; // 0x28ecd10
/* 028ECD10 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028ECD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028ECD18 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028ECD1C */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028ECD1C */ _t79 = _t78 & 0x00000001u;
/* 028ECD1C */ if (_t79) goto L_028ECD30; else goto L_028ECD20;
L_028ECD20: ; // 0x28ecd20
/* 028ECD20 */ _t80 = cpu->r[5] + 0x00000000u;
/* 028ECD20 */ cpu->r[11] = rbrew_read8(cpu->mem, _t80);
/* 028ECD24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028ECD28 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECD28 */ _t82 = _t81 & 0x00000001u;
/* 028ECD28 */ if (_t82) goto L_028ECD2C; else goto L_028ECD10;
L_028ECD2C: ; // 0x28ecd2c
/* 028ECD2C */ goto L_028ECD34;
L_028ECD30: ; // 0x28ecd30
/* 028ECD30 */ cpu->r[30] = 0x00000000u;
L_028ECD34: ; // 0x28ecd34
/* 028ECD34 */ _t83 = cpu->r[23] + 0x00000014u;
/* 028ECD34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t83);
/* 028ECD38 */ _t84 = cpu->r[26] + 0x00000004u;
/* 028ECD38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
/* 028ECD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028ECD40 */ _t85 = cpu->r[12] + 0x00000014u;
/* 028ECD40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
/* 028ECD44 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ECD44 */ _t87 = _t86 & 0x00000001u;
/* 028ECD44 */ if (_t87) goto L_028ECD4C; else goto L_028ECD48;
L_028ECD48: ; // 0x28ecd48
/* 028ECD48 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028ECD4C: ; // 0x28ecd4c
/* 028ECD4C */ cpu->ctr = cpu->r[0];
/* 028ECD50 */ cpu->r[3] = cpu->r[26];
/* 028ECD54 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECD58 */ _t88 = cpu->r[26] + 0x00000000u;
/* 028ECD58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
/* 028ECD5C */ cpu->r[6] = 0x00000000u;
/* 028ECD60 */ cpu->r[5] = cpu->r[30];
/* 028ECD64 */ cpu->r[3] = cpu->r[22];
/* 028ECD68 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028ECD6C */ _t89 = cpu->r[22] + cpu->r[30];
/* 028ECD6C */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[31]);
/* 028ECD70 */ _t90 = cpu->r[23] + 0x0000000Cu;
/* 028ECD70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
/* 028ECD74 */ cpu->r[10] = 0x10140000u;
/* 028ECD78 */ cpu->r[0] = 0x10140000u;
/* 028ECD7C */ cpu->r[9] = 0x10140000u;
/* 028ECD80 */ _t91 = cpu->r[23] + 0x00000000u;
/* 028ECD80 */ rbrew_write32(cpu->mem, _t91, cpu->r[7]);
/* 028ECD84 */ cpu->r[10] = cpu->r[10] + 0xFFFFBE88u;
/* 028ECD88 */ _t92 = cpu->r[24] + 0x00000094u;
/* 028ECD88 */ rbrew_write32(cpu->mem, _t92, cpu->r[25]);
/* 028ECD8C */ cpu->r[0] = cpu->r[0] + 0xFFFFBE40u;
/* 028ECD90 */ _t93 = cpu->r[24] + 0x0000008Cu;
/* 028ECD90 */ rbrew_write32(cpu->mem, _t93, cpu->r[10]);
/* 028ECD94 */ cpu->r[9] = cpu->r[9] + 0xFFFFBE70u;
/* 028ECD98 */ _t94 = cpu->r[24] + 0x00000090u;
/* 028ECD98 */ rbrew_write32(cpu->mem, _t94, cpu->r[25]);
/* 028ECD9C */ _t95 = cpu->r[24] + 0x0000004Cu;
/* 028ECD9C */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
/* 028ECDA0 */ _t96 = cpu->r[24] + 0x00000000u;
/* 028ECDA0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
/* 028ECDA4 */ _t97 = cpu->r[26] + 0x00000004u;
/* 028ECDA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t97);
/* 028ECDA8 */ _t98 = cpu->r[11] + 0x00000014u;
/* 028ECDA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
/* 028ECDAC */ cpu->ctr = cpu->r[12];
/* 028ECDB0 */ _t99 = cpu->r[24] + 0x00000050u;
/* 028ECDB0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t99);
/* 028ECDB4 */ cpu->r[3] = cpu->r[26];
/* 028ECDB8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECDBC */ _t100 = cpu->r[26] + 0x00000000u;
/* 028ECDBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
/* 028ECDC0 */ _t101 = cpu->r[12] + 0x00000000u;
/* 028ECDC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
/* 028ECDC4 */ cpu->r[30] = 0x00000000u;
/* 028ECDC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028ECDCC */ cpu->r[0] = 0x00080000u;
/* 028ECDD0 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECDD0 */ _t103 = _t102 & 0x00000001u;
/* 028ECDD0 */ if (_t103) goto L_028ECDF8; else goto L_028ECDD4;
L_028ECDD4: ; // 0x28ecdd4
/* 028ECDD4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028ECDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028ECDDC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028ECDE0 */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028ECDE0 */ _t105 = _t104 & 0x00000001u;
/* 028ECDE0 */ if (_t105) goto L_028ECDF4; else goto L_028ECDE4;
L_028ECDE4: ; // 0x28ecde4
/* 028ECDE4 */ _t106 = cpu->r[12] + 0x00000000u;
/* 028ECDE4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t106);
/* 028ECDE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028ECDEC */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECDEC */ _t108 = _t107 & 0x00000001u;
/* 028ECDEC */ if (_t108) goto L_028ECDF0; else goto L_028ECDD4;
L_028ECDF0: ; // 0x28ecdf0
/* 028ECDF0 */ goto L_028ECDF8;
L_028ECDF4: ; // 0x28ecdf4
/* 028ECDF4 */ cpu->r[30] = 0x00000000u;
L_028ECDF8: ; // 0x28ecdf8
/* 028ECDF8 */ _t109 = cpu->r[24] + 0x00000058u;
/* 028ECDF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
/* 028ECDFC */ _t110 = cpu->r[26] + 0x00000004u;
/* 028ECDFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t110);
/* 028ECE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
/* 028ECE04 */ _t111 = cpu->r[6] + 0x00000014u;
/* 028ECE04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
/* 028ECE08 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ECE08 */ _t113 = _t112 & 0x00000001u;
/* 028ECE08 */ if (_t113) goto L_028ECE10; else goto L_028ECE0C;
L_028ECE0C: ; // 0x28ece0c
/* 028ECE0C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
L_028ECE10: ; // 0x28ece10
/* 028ECE10 */ cpu->ctr = cpu->r[7];
/* 028ECE14 */ cpu->r[3] = cpu->r[26];
/* 028ECE18 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECE1C */ _t114 = cpu->r[26] + 0x00000000u;
/* 028ECE1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
/* 028ECE20 */ cpu->r[6] = 0x00000000u;
/* 028ECE24 */ cpu->r[5] = cpu->r[30];
/* 028ECE28 */ cpu->r[3] = cpu->r[23];
/* 028ECE2C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028ECE30 */ _t115 = cpu->r[23] + cpu->r[30];
/* 028ECE30 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[31]);
/* 028ECE34 */ _t116 = cpu->r[24] + 0x00000050u;
/* 028ECE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
/* 028ECE38 */ _t117 = cpu->r[24] + 0x00000044u;
/* 028ECE38 */ rbrew_write32(cpu->mem, _t117, cpu->r[0]);
L_028ECE3C: ; // 0x28ece3c
/* 028ECE3C */ cpu->r[6] = 0x10140000u;
/* 028ECE40 */ cpu->r[10] = 0x10140000u;
/* 028ECE44 */ _t118 = cpu->r[6] + 0xFFFFBEECu;
/* 028ECE44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t118);
/* 028ECE48 */ cpu->r[9] = 0x10140000u;
/* 028ECE4C */ _t119 = cpu->r[29] + 0x000000A0u;
/* 028ECE4C */ rbrew_write32(cpu->mem, _t119, cpu->r[25]);
/* 028ECE50 */ cpu->r[9] = cpu->r[9] + 0xFFFFBF28u;
/* 028ECE54 */ _t120 = cpu->r[29] + 0x00000098u;
/* 028ECE54 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[0]);
/* 028ECE58 */ cpu->r[10] = cpu->r[10] + 0xFFFFBF58u;
/* 028ECE5C */ cpu->r[5] = 0x10140000u;
/* 028ECE60 */ _t121 = cpu->r[29] + 0x00000000u;
/* 028ECE60 */ rbrew_write32(cpu->mem, _t121, cpu->r[9]);
/* 028ECE64 */ cpu->r[11] = 0x10140000u;
/* 028ECE68 */ _t122 = cpu->r[5] + 0xFFFFBECCu;
/* 028ECE68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t122);
/* 028ECE6C */ cpu->r[11] = cpu->r[11] + 0xFFFFBF70u;
/* 028ECE70 */ _t123 = cpu->r[29] + 0x0000004Cu;
/* 028ECE70 */ rbrew_write32(cpu->mem, _t123, cpu->r[10]);
/* 028ECE74 */ cpu->r[4] = cpu->r[27];
/* 028ECE78 */ _t124 = cpu->r[29] + 0x0000008Cu;
/* 028ECE78 */ rbrew_write32(cpu->mem, _t124, cpu->r[11]);
/* 028ECE7C */ cpu->r[3] = cpu->r[29];
/* 028ECE80 */ _t125 = cpu->r[29] + 0x0000009Cu;
/* 028ECE80 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[0]);
/* 028ECE84 */ cpu->r[5] = cpu->r[28];
/* 028ECE88 */ _t126 = cpu->r[29] + 0x000000A4u;
/* 028ECE88 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[0]);
/* 028ECE8C */ Gambit_fn_028EBEC0(cpu);
L_028ECE90: ; // 0x28ece90
/* 028ECE90 */ cpu->r[3] = cpu->r[29];
/* 028ECE94 */ /* nop */
/* 028ECE98 */ _t127 = cpu->r[1] + 0x00000034u;
/* 028ECE98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
/* 028ECE9C */ cpu->lr = cpu->r[0];
/* 028ECEA0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028ECEA4 */ return;
}
// fn_028ECAD0 @ 0x28ecad0
void Gambit_fn_028ECAD0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
L_028ECAD0: ; // 0x28ecad0
/* 028ECAD0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028ECAD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ECAD0 */ cpu->r[1] = _t0;
/* 028ECAD4 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028ECAD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028ECAD8 */ /* nop */
/* 028ECADC */ cpu->r[29] = cpu->r[3];
/* 028ECADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028ECAE0 */ cpu->r[26] = cpu->r[4];
/* 028ECAE4 */ cpu->r[27] = cpu->r[5];
/* 028ECAE8 */ cpu->r[28] = cpu->r[6];
/* 028ECAEC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECAEC */ _t3 = _t2 & 0x00000001u;
/* 028ECAEC */ if (_t3) goto L_028ECAF0; else goto L_028ECB00;
L_028ECAF0: ; // 0x28ecaf0
/* 028ECAF0 */ cpu->r[3] = 0x000000A8u;
/* 028ECAF4 */ Gambit_fn_02801A78(cpu);
/* 028ECAF8 */ cpu->r[29] = cpu->r[3];
/* 028ECAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028ECAFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECAFC */ _t5 = _t4 & 0x00000001u;
/* 028ECAFC */ if (_t5) goto L_028ECE90; else goto L_028ECB00;
L_028ECB00: ; // 0x28ecb00
/* 028ECB00 */ cpu->r[24] = cpu->r[29];
/* 028ECB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028ECB04 */ cpu->r[25] = 0x00000000u;
/* 028ECB08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB08 */ _t7 = _t6 & 0x00000001u;
/* 028ECB08 */ if (_t7) goto L_028ECB0C; else goto L_028ECB1C;
L_028ECB0C: ; // 0x28ecb0c
/* 028ECB0C */ cpu->r[3] = 0x00000098u;
/* 028ECB10 */ Gambit_fn_02801A78(cpu);
/* 028ECB14 */ cpu->r[24] = cpu->r[3];
/* 028ECB14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028ECB18 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB18 */ _t9 = _t8 & 0x00000001u;
/* 028ECB18 */ if (_t9) goto L_028ECE3C; else goto L_028ECB1C;
L_028ECB1C: ; // 0x28ecb1c
/* 028ECB1C */ cpu->r[3] = cpu->r[24];
/* 028ECB20 */ Gambit_fn_028EBBA0(cpu);
/* 028ECB24 */ cpu->r[23] = cpu->r[24] + 0x00000044u;
/* 028ECB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028ECB28 */ cpu->r[31] = 0x10110000u;
/* 028ECB2C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB2C */ _t11 = _t10 & 0x00000001u;
/* 028ECB2C */ if (_t11) goto L_028ECB30; else goto L_028ECBA4;
L_028ECB30: ; // 0x28ecb30
/* 028ECB30 */ cpu->r[3] = 0x00000048u;
/* 028ECB34 */ Gambit_fn_02801A78(cpu);
/* 028ECB38 */ cpu->r[23] = cpu->r[3];
/* 028ECB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028ECB3C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB3C */ _t13 = _t12 & 0x00000001u;
/* 028ECB3C */ if (_t13) goto L_028ECB40; else goto L_028ECBA4;
L_028ECB40: ; // 0x28ecb40
/* 028ECB40 */ _t14 = cpu->r[31] + 0x00007399u;
/* 028ECB40 */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
/* 028ECB44 */ cpu->r[0] = 0x10140000u;
/* 028ECB48 */ cpu->r[9] = 0x10140000u;
/* 028ECB4C */ _t15 = cpu->r[24] + 0x00000090u;
/* 028ECB4C */ rbrew_write32(cpu->mem, _t15, cpu->r[25]);
/* 028ECB50 */ cpu->r[0] = cpu->r[0] + 0xFFFFBE40u;
/* 028ECB54 */ _t16 = cpu->r[24] + 0x00000094u;
/* 028ECB54 */ rbrew_write32(cpu->mem, _t16, cpu->r[25]);
/* 028ECB58 */ cpu->r[9] = cpu->r[9] + 0xFFFFBE70u;
/* 028ECB5C */ cpu->r[10] = 0x10140000u;
/* 028ECB60 */ _t17 = cpu->r[24] + 0x00000000u;
/* 028ECB60 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028ECB64 */ cpu->r[10] = cpu->r[10] + 0xFFFFBE88u;
/* 028ECB68 */ _t18 = cpu->r[24] + 0x0000004Cu;
/* 028ECB68 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
/* 028ECB6C */ _t19 = cpu->r[24] + 0x0000008Cu;
/* 028ECB6C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028ECB70 */ _t20 = cpu->r[26] + 0x00000004u;
/* 028ECB70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
/* 028ECB74 */ _t21 = cpu->r[11] + 0x00000014u;
/* 028ECB74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028ECB78 */ cpu->ctr = cpu->r[12];
/* 028ECB7C */ _t22 = cpu->r[24] + 0x00000050u;
/* 028ECB7C */ cpu->r[23] = rbrew_read32(cpu->mem, _t22);
/* 028ECB80 */ cpu->r[3] = cpu->r[26];
/* 028ECB84 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECB88 */ _t23 = cpu->r[26] + 0x00000000u;
/* 028ECB88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028ECB8C */ _t24 = cpu->r[12] + 0x00000000u;
/* 028ECB8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
/* 028ECB90 */ cpu->r[30] = 0x00000000u;
/* 028ECB94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028ECB98 */ cpu->r[0] = 0x00080000u;
/* 028ECB9C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECB9C */ _t26 = _t25 & 0x00000001u;
/* 028ECB9C */ if (_t26) goto L_028ECBA0; else goto L_028ECDD4;
L_028ECBA0: ; // 0x28ecba0
/* 028ECBA0 */ goto L_028ECDF8;
L_028ECBA4: ; // 0x28ecba4
/* 028ECBA4 */ cpu->r[30] = cpu->r[23];
/* 028ECBA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028ECBA8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECBA8 */ _t28 = _t27 & 0x00000001u;
/* 028ECBA8 */ if (_t28) goto L_028ECBAC; else goto L_028ECBBC;
L_028ECBAC: ; // 0x28ecbac
/* 028ECBAC */ cpu->r[3] = 0x0000000Cu;
/* 028ECBB0 */ Gambit_fn_02801A78(cpu);
/* 028ECBB4 */ cpu->r[30] = cpu->r[3];
/* 028ECBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028ECBB8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECBB8 */ _t30 = _t29 & 0x00000001u;
/* 028ECBB8 */ if (_t30) goto L_028ECC00; else goto L_028ECBBC;
L_028ECBBC: ; // 0x28ecbbc
/* 028ECBBC */ cpu->r[3] = cpu->r[30];
/* 028ECBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECBC0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECBC0 */ _t32 = _t31 & 0x00000001u;
/* 028ECBC0 */ if (_t32) goto L_028ECBC4; else goto L_028ECBD4;
L_028ECBC4: ; // 0x28ecbc4
/* 028ECBC4 */ cpu->r[3] = 0x00000008u;
/* 028ECBC8 */ Gambit_fn_02801A78(cpu);
/* 028ECBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECBD0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECBD0 */ _t34 = _t33 & 0x00000001u;
/* 028ECBD0 */ if (_t34) goto L_028ECBEC; else goto L_028ECBD4;
L_028ECBD4: ; // 0x28ecbd4
/* 028ECBD4 */ cpu->r[9] = 0x10140000u;
/* 028ECBD8 */ cpu->r[0] = 0x10140000u;
/* 028ECBDC */ cpu->r[9] = cpu->r[9] + 0xFFFFBDB0u;
/* 028ECBE0 */ cpu->r[0] = cpu->r[0] + 0xFFFFBDACu;
/* 028ECBE4 */ _t35 = cpu->r[3] + 0x00000004u;
/* 028ECBE4 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
/* 028ECBE8 */ _t36 = cpu->r[3] + 0x00000000u;
/* 028ECBE8 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
L_028ECBEC: ; // 0x28ecbec
/* 028ECBEC */ cpu->r[11] = 0x10140000u;
/* 028ECBF0 */ cpu->r[11] = cpu->r[11] + 0xFFFFBE10u;
/* 028ECBF4 */ _t37 = cpu->r[30] + 0x00000008u;
/* 028ECBF4 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
/* 028ECBF8 */ _t38 = cpu->r[26] + 0x00000000u;
/* 028ECBF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028ECBFC */ _t39 = cpu->r[30] + 0x00000000u;
/* 028ECBFC */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
L_028ECC00: ; // 0x28ecc00
/* 028ECC00 */ cpu->r[0] = 0x10140000u;
/* 028ECC04 */ cpu->r[0] = cpu->r[0] + 0xFFFFBE28u;
/* 028ECC08 */ cpu->r[30] = cpu->r[23] + 0x0000000Cu;
/* 028ECC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028ECC0C */ _t40 = cpu->r[23] + 0x00000008u;
/* 028ECC0C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
/* 028ECC10 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC10 */ _t42 = _t41 & 0x00000001u;
/* 028ECC10 */ if (_t42) goto L_028ECC14; else goto L_028ECC68;
L_028ECC14: ; // 0x28ecc14
/* 028ECC14 */ cpu->r[3] = 0x0000003Cu;
/* 028ECC18 */ Gambit_fn_02801A78(cpu);
/* 028ECC1C */ cpu->r[30] = cpu->r[3];
/* 028ECC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028ECC20 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC20 */ _t44 = _t43 & 0x00000001u;
/* 028ECC20 */ if (_t44) goto L_028ECC24; else goto L_028ECC68;
L_028ECC24: ; // 0x28ecc24
/* 028ECC24 */ cpu->r[0] = 0x10140000u;
/* 028ECC28 */ _t45 = cpu->r[31] + 0x00007399u;
/* 028ECC28 */ cpu->r[31] = rbrew_read8(cpu->mem, _t45);
/* 028ECC2C */ cpu->r[0] = cpu->r[0] + 0xFFFFBEB0u;
/* 028ECC30 */ _t46 = cpu->r[23] + 0x00000010u;
/* 028ECC30 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
/* 028ECC34 */ _t47 = cpu->r[26] + 0x00000004u;
/* 028ECC34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
/* 028ECC38 */ _t48 = cpu->r[8] + 0x00000014u;
/* 028ECC38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
/* 028ECC3C */ cpu->ctr = cpu->r[9];
/* 028ECC40 */ _t49 = cpu->r[23] + 0x0000000Cu;
/* 028ECC40 */ cpu->r[22] = rbrew_read32(cpu->mem, _t49);
/* 028ECC44 */ cpu->r[3] = cpu->r[26];
/* 028ECC48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECC4C */ _t50 = cpu->r[26] + 0x00000000u;
/* 028ECC4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
/* 028ECC50 */ _t51 = cpu->r[5] + 0x00000000u;
/* 028ECC50 */ cpu->r[10] = rbrew_read8(cpu->mem, _t51);
/* 028ECC54 */ cpu->r[30] = 0x00000000u;
/* 028ECC58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028ECC5C */ cpu->r[0] = 0x00080000u;
/* 028ECC60 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC60 */ _t53 = _t52 & 0x00000001u;
/* 028ECC60 */ if (_t53) goto L_028ECC64; else goto L_028ECD10;
L_028ECC64: ; // 0x28ecc64
/* 028ECC64 */ goto L_028ECD34;
L_028ECC68: ; // 0x28ecc68
/* 028ECC68 */ cpu->r[3] = cpu->r[30];
/* 028ECC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECC6C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC6C */ _t55 = _t54 & 0x00000001u;
/* 028ECC6C */ if (_t55) goto L_028ECC70; else goto L_028ECC9C;
L_028ECC70: ; // 0x28ecc70
/* 028ECC70 */ cpu->r[3] = 0x0000000Cu;
/* 028ECC74 */ Gambit_fn_02801A78(cpu);
/* 028ECC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECC7C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECC7C */ _t57 = _t56 & 0x00000001u;
/* 028ECC7C */ if (_t57) goto L_028ECC80; else goto L_028ECC9C;
L_028ECC80: ; // 0x28ecc80
/* 028ECC80 */ cpu->r[0] = 0x10140000u;
/* 028ECC84 */ _t58 = cpu->r[31] + 0x00007399u;
/* 028ECC84 */ cpu->r[31] = rbrew_read8(cpu->mem, _t58);
/* 028ECC88 */ cpu->r[0] = cpu->r[0] + 0xFFFFBE98u;
/* 028ECC8C */ _t59 = cpu->r[30] + 0x00000000u;
/* 028ECC8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
/* 028ECC90 */ _t60 = cpu->r[30] + 0x00000004u;
/* 028ECC90 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
/* 028ECC94 */ _t61 = cpu->r[6] + 0x00000000u;
/* 028ECC94 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[31]);
/* 028ECC98 */ goto L_028ECCD4;
L_028ECC9C: ; // 0x28ecc9c
/* 028ECC9C */ cpu->r[12] = 0x10140000u;
/* 028ECCA0 */ cpu->r[11] = cpu->r[30] + 0x0000000Cu;
/* 028ECCA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFBDC8u;
/* 028ECCA8 */ _t62 = cpu->r[3] + 0x00000000u;
/* 028ECCA8 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
/* 028ECCAC */ cpu->r[0] = 0x00000030u;
/* 028ECCB0 */ _t63 = cpu->r[3] + 0x00000004u;
/* 028ECCB0 */ rbrew_write32(cpu->mem, _t63, cpu->r[12]);
/* 028ECCB4 */ _t64 = cpu->r[3] + 0x00000008u;
/* 028ECCB4 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
/* 028ECCB8 */ _t65 = cpu->r[31] + 0x00007399u;
/* 028ECCB8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t65);
/* 028ECCBC */ cpu->r[0] = 0x10140000u;
/* 028ECCC0 */ _t66 = cpu->r[30] + 0x00000000u;
/* 028ECCC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t66);
/* 028ECCC4 */ cpu->r[0] = cpu->r[0] + 0xFFFFBE98u;
/* 028ECCC8 */ _t67 = cpu->r[30] + 0x0000003Bu;
/* 028ECCC8 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[31]);
/* 028ECCCC */ _t68 = cpu->r[30] + 0x00000004u;
/* 028ECCCC */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
/* 028ECCD0 */ _t69 = cpu->r[6] + 0x00000000u;
/* 028ECCD0 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[31]);
L_028ECCD4: ; // 0x28eccd4
/* 028ECCD4 */ cpu->r[0] = 0x10140000u;
/* 028ECCD8 */ cpu->r[0] = cpu->r[0] + 0xFFFFBEB0u;
/* 028ECCDC */ _t70 = cpu->r[23] + 0x00000010u;
/* 028ECCDC */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
/* 028ECCE0 */ _t71 = cpu->r[26] + 0x00000004u;
/* 028ECCE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
/* 028ECCE4 */ _t72 = cpu->r[8] + 0x00000014u;
/* 028ECCE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
/* 028ECCE8 */ cpu->ctr = cpu->r[9];
/* 028ECCEC */ _t73 = cpu->r[23] + 0x0000000Cu;
/* 028ECCEC */ cpu->r[22] = rbrew_read32(cpu->mem, _t73);
/* 028ECCF0 */ cpu->r[3] = cpu->r[26];
/* 028ECCF4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECCF8 */ _t74 = cpu->r[26] + 0x00000000u;
/* 028ECCF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74);
/* 028ECCFC */ _t75 = cpu->r[5] + 0x00000000u;
/* 028ECCFC */ cpu->r[10] = rbrew_read8(cpu->mem, _t75);
/* 028ECD00 */ cpu->r[30] = 0x00000000u;
/* 028ECD04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028ECD08 */ cpu->r[0] = 0x00080000u;
/* 028ECD0C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECD0C */ _t77 = _t76 & 0x00000001u;
/* 028ECD0C */ if (_t77) goto L_028ECC64; else goto L_028ECD10;
L_028ECD10: ; // 0x28ecd10
/* 028ECD10 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028ECD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028ECD18 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028ECD1C */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028ECD1C */ _t79 = _t78 & 0x00000001u;
/* 028ECD1C */ if (_t79) goto L_028ECD30; else goto L_028ECD20;
L_028ECD20: ; // 0x28ecd20
/* 028ECD20 */ _t80 = cpu->r[5] + 0x00000000u;
/* 028ECD20 */ cpu->r[11] = rbrew_read8(cpu->mem, _t80);
/* 028ECD24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028ECD28 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECD28 */ _t82 = _t81 & 0x00000001u;
/* 028ECD28 */ if (_t82) goto L_028ECD2C; else goto L_028ECD10;
L_028ECD2C: ; // 0x28ecd2c
/* 028ECD2C */ goto L_028ECD34;
L_028ECD30: ; // 0x28ecd30
/* 028ECD30 */ cpu->r[30] = 0x00000000u;
L_028ECD34: ; // 0x28ecd34
/* 028ECD34 */ _t83 = cpu->r[23] + 0x00000014u;
/* 028ECD34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t83);
/* 028ECD38 */ _t84 = cpu->r[26] + 0x00000004u;
/* 028ECD38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
/* 028ECD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028ECD40 */ _t85 = cpu->r[12] + 0x00000014u;
/* 028ECD40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
/* 028ECD44 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ECD44 */ _t87 = _t86 & 0x00000001u;
/* 028ECD44 */ if (_t87) goto L_028ECD4C; else goto L_028ECD48;
L_028ECD48: ; // 0x28ecd48
/* 028ECD48 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028ECD4C: ; // 0x28ecd4c
/* 028ECD4C */ cpu->ctr = cpu->r[0];
/* 028ECD50 */ cpu->r[3] = cpu->r[26];
/* 028ECD54 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECD58 */ _t88 = cpu->r[26] + 0x00000000u;
/* 028ECD58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
/* 028ECD5C */ cpu->r[6] = 0x00000000u;
/* 028ECD60 */ cpu->r[5] = cpu->r[30];
/* 028ECD64 */ cpu->r[3] = cpu->r[22];
/* 028ECD68 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028ECD6C */ _t89 = cpu->r[22] + cpu->r[30];
/* 028ECD6C */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[31]);
/* 028ECD70 */ _t90 = cpu->r[23] + 0x0000000Cu;
/* 028ECD70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
/* 028ECD74 */ cpu->r[10] = 0x10140000u;
/* 028ECD78 */ cpu->r[0] = 0x10140000u;
/* 028ECD7C */ cpu->r[9] = 0x10140000u;
/* 028ECD80 */ _t91 = cpu->r[23] + 0x00000000u;
/* 028ECD80 */ rbrew_write32(cpu->mem, _t91, cpu->r[7]);
/* 028ECD84 */ cpu->r[10] = cpu->r[10] + 0xFFFFBE88u;
/* 028ECD88 */ _t92 = cpu->r[24] + 0x00000094u;
/* 028ECD88 */ rbrew_write32(cpu->mem, _t92, cpu->r[25]);
/* 028ECD8C */ cpu->r[0] = cpu->r[0] + 0xFFFFBE40u;
/* 028ECD90 */ _t93 = cpu->r[24] + 0x0000008Cu;
/* 028ECD90 */ rbrew_write32(cpu->mem, _t93, cpu->r[10]);
/* 028ECD94 */ cpu->r[9] = cpu->r[9] + 0xFFFFBE70u;
/* 028ECD98 */ _t94 = cpu->r[24] + 0x00000090u;
/* 028ECD98 */ rbrew_write32(cpu->mem, _t94, cpu->r[25]);
/* 028ECD9C */ _t95 = cpu->r[24] + 0x0000004Cu;
/* 028ECD9C */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
/* 028ECDA0 */ _t96 = cpu->r[24] + 0x00000000u;
/* 028ECDA0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
/* 028ECDA4 */ _t97 = cpu->r[26] + 0x00000004u;
/* 028ECDA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t97);
/* 028ECDA8 */ _t98 = cpu->r[11] + 0x00000014u;
/* 028ECDA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
/* 028ECDAC */ cpu->ctr = cpu->r[12];
/* 028ECDB0 */ _t99 = cpu->r[24] + 0x00000050u;
/* 028ECDB0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t99);
/* 028ECDB4 */ cpu->r[3] = cpu->r[26];
/* 028ECDB8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECDBC */ _t100 = cpu->r[26] + 0x00000000u;
/* 028ECDBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
/* 028ECDC0 */ _t101 = cpu->r[12] + 0x00000000u;
/* 028ECDC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
/* 028ECDC4 */ cpu->r[30] = 0x00000000u;
/* 028ECDC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028ECDCC */ cpu->r[0] = 0x00080000u;
/* 028ECDD0 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECDD0 */ _t103 = _t102 & 0x00000001u;
/* 028ECDD0 */ if (_t103) goto L_028ECDF8; else goto L_028ECDD4;
L_028ECDD4: ; // 0x28ecdd4
/* 028ECDD4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028ECDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028ECDDC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028ECDE0 */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028ECDE0 */ _t105 = _t104 & 0x00000001u;
/* 028ECDE0 */ if (_t105) goto L_028ECDF4; else goto L_028ECDE4;
L_028ECDE4: ; // 0x28ecde4
/* 028ECDE4 */ _t106 = cpu->r[12] + 0x00000000u;
/* 028ECDE4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t106);
/* 028ECDE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028ECDEC */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECDEC */ _t108 = _t107 & 0x00000001u;
/* 028ECDEC */ if (_t108) goto L_028ECDF0; else goto L_028ECDD4;
L_028ECDF0: ; // 0x28ecdf0
/* 028ECDF0 */ goto L_028ECDF8;
L_028ECDF4: ; // 0x28ecdf4
/* 028ECDF4 */ cpu->r[30] = 0x00000000u;
L_028ECDF8: ; // 0x28ecdf8
/* 028ECDF8 */ _t109 = cpu->r[24] + 0x00000058u;
/* 028ECDF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
/* 028ECDFC */ _t110 = cpu->r[26] + 0x00000004u;
/* 028ECDFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t110);
/* 028ECE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
/* 028ECE04 */ _t111 = cpu->r[6] + 0x00000014u;
/* 028ECE04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
/* 028ECE08 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ECE08 */ _t113 = _t112 & 0x00000001u;
/* 028ECE08 */ if (_t113) goto L_028ECE10; else goto L_028ECE0C;
L_028ECE0C: ; // 0x28ece0c
/* 028ECE0C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
L_028ECE10: ; // 0x28ece10
/* 028ECE10 */ cpu->ctr = cpu->r[7];
/* 028ECE14 */ cpu->r[3] = cpu->r[26];
/* 028ECE18 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECE1C */ _t114 = cpu->r[26] + 0x00000000u;
/* 028ECE1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
/* 028ECE20 */ cpu->r[6] = 0x00000000u;
/* 028ECE24 */ cpu->r[5] = cpu->r[30];
/* 028ECE28 */ cpu->r[3] = cpu->r[23];
/* 028ECE2C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028ECE30 */ _t115 = cpu->r[23] + cpu->r[30];
/* 028ECE30 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[31]);
/* 028ECE34 */ _t116 = cpu->r[24] + 0x00000050u;
/* 028ECE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
/* 028ECE38 */ _t117 = cpu->r[24] + 0x00000044u;
/* 028ECE38 */ rbrew_write32(cpu->mem, _t117, cpu->r[0]);
L_028ECE3C: ; // 0x28ece3c
/* 028ECE3C */ cpu->r[6] = 0x10140000u;
/* 028ECE40 */ cpu->r[10] = 0x10140000u;
/* 028ECE44 */ _t118 = cpu->r[6] + 0xFFFFBEECu;
/* 028ECE44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t118);
/* 028ECE48 */ cpu->r[9] = 0x10140000u;
/* 028ECE4C */ _t119 = cpu->r[29] + 0x000000A0u;
/* 028ECE4C */ rbrew_write32(cpu->mem, _t119, cpu->r[25]);
/* 028ECE50 */ cpu->r[9] = cpu->r[9] + 0xFFFFBF28u;
/* 028ECE54 */ _t120 = cpu->r[29] + 0x00000098u;
/* 028ECE54 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[0]);
/* 028ECE58 */ cpu->r[10] = cpu->r[10] + 0xFFFFBF58u;
/* 028ECE5C */ cpu->r[5] = 0x10140000u;
/* 028ECE60 */ _t121 = cpu->r[29] + 0x00000000u;
/* 028ECE60 */ rbrew_write32(cpu->mem, _t121, cpu->r[9]);
/* 028ECE64 */ cpu->r[11] = 0x10140000u;
/* 028ECE68 */ _t122 = cpu->r[5] + 0xFFFFBECCu;
/* 028ECE68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t122);
/* 028ECE6C */ cpu->r[11] = cpu->r[11] + 0xFFFFBF70u;
/* 028ECE70 */ _t123 = cpu->r[29] + 0x0000004Cu;
/* 028ECE70 */ rbrew_write32(cpu->mem, _t123, cpu->r[10]);
/* 028ECE74 */ cpu->r[4] = cpu->r[27];
/* 028ECE78 */ _t124 = cpu->r[29] + 0x0000008Cu;
/* 028ECE78 */ rbrew_write32(cpu->mem, _t124, cpu->r[11]);
/* 028ECE7C */ cpu->r[3] = cpu->r[29];
/* 028ECE80 */ _t125 = cpu->r[29] + 0x0000009Cu;
/* 028ECE80 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[0]);
/* 028ECE84 */ cpu->r[5] = cpu->r[28];
/* 028ECE88 */ _t126 = cpu->r[29] + 0x000000A4u;
/* 028ECE88 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[0]);
/* 028ECE8C */ Gambit_fn_028EBEC0(cpu);
L_028ECE90: ; // 0x28ece90
/* 028ECE90 */ cpu->r[3] = cpu->r[29];
/* 028ECE94 */ /* nop */
/* 028ECE98 */ _t127 = cpu->r[1] + 0x00000034u;
/* 028ECE98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
/* 028ECE9C */ cpu->lr = cpu->r[0];
/* 028ECEA0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028ECEA4 */ return;
}
// fn_028ECEA8 @ 0x28ecea8
void Gambit_fn_028ECEA8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028ECEA8: ; // 0x28ecea8
/* 028ECEA8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028ECEA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ECEA8 */ cpu->r[1] = _t0;
/* 028ECEAC */ /* nop */
/* 028ECEB0 */ cpu->r[0] = cpu->lr;
/* 028ECEB4 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028ECEB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028ECEB8 */ cpu->r[29] = 0x101D0000u;
/* 028ECEBC */ cpu->r[30] = cpu->r[3];
/* 028ECEC0 */ cpu->r[27] = cpu->r[4];
/* 028ECEC4 */ _t2 = cpu->r[29] + 0xFFFF9AA0u;
/* 028ECEC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
/* 028ECEC4 */ cpu->r[29] = _t2;
/* 028ECEC8 */ cpu->r[4] = cpu->r[30];
/* 028ECECC */ cpu->r[28] = cpu->r[5];
/* 028ECED0 */ Gambit_fn_028ED090(cpu);
/* 028ECED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECED8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECED8 */ _t4 = _t3 & 0x00000001u;
/* 028ECED8 */ if (_t4) goto L_028ECEF4; else goto L_028ECEDC;
L_028ECEDC: ; // 0x28ecedc
/* 028ECEDC */ /* nop */
/* 028ECEE0 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028ECEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028ECEE4 */ cpu->lr = cpu->r[0];
/* 028ECEE8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028ECEEC */ cpu->r[3] = 0x00000000u;
/* 028ECEF0 */ return;
L_028ECEF4: ; // 0x28ecef4
/* 028ECEF4 */ cpu->r[4] = cpu->r[28];
/* 028ECEF8 */ cpu->r[3] = 0x000000A8u;
/* 028ECEFC */ cpu->r[5] = 0x00000004u;
/* 028ECF00 */ Gambit_fn_02801AC8(cpu);
/* 028ECF04 */ cpu->r[31] = cpu->r[3];
/* 028ECF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028ECF08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECF08 */ _t7 = _t6 & 0x00000001u;
/* 028ECF08 */ if (_t7) goto L_028ECF24; else goto L_028ECF0C;
L_028ECF0C: ; // 0x28ecf0c
/* 028ECF0C */ cpu->r[6] = cpu->r[28];
/* 028ECF10 */ cpu->r[5] = cpu->r[27];
/* 028ECF14 */ cpu->r[4] = cpu->r[30];
/* 028ECF18 */ cpu->r[3] = cpu->r[31];
/* 028ECF1C */ Gambit_fn_028ECACC(cpu);
/* 028ECF20 */ cpu->r[31] = cpu->r[3];
L_028ECF24: ; // 0x28ecf24
/* 028ECF24 */ _t8 = cpu->r[29] + 0x00000000u;
/* 028ECF24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028ECF28 */ cpu->r[4] = cpu->r[31];
/* 028ECF2C */ Gambit_fn_028ED1A4(cpu);
/* 028ECF30 */ cpu->r[3] = cpu->r[31];
/* 028ECF34 */ /* nop */
/* 028ECF38 */ _t9 = cpu->r[1] + 0x00000024u;
/* 028ECF38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028ECF3C */ cpu->lr = cpu->r[0];
/* 028ECF40 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028ECF44 */ return;
}
// fn_028ECF48 @ 0x28ecf48
void Gambit_fn_028ECF48(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_028ECF48: ; // 0x28ecf48
/* 028ECF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECF4C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECF4C */ _t17 = _t16 & 0x00000001u;
/* 028ECF4C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ECF4C */ goto L_028ECF50;
L_028ECF50: ; // 0x28ecf50
/* 028ECF50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ECF50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ECF54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECF54 */ _t19 = _t18 & 0x00000001u;
/* 028ECF54 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ECF54 */ goto L_028ECF58;
L_028ECF58: ; // 0x28ecf58
/* 028ECF58 */ goto L_02801BB0;
}
// fn_028ECF5C @ 0x28ecf5c
void Gambit_fn_028ECF5C(CPUState* cpu) {
L_028ECF5C: ; // 0x28ecf5c
/* 028ECF5C */ return;
}
// fn_028ECF60 @ 0x28ecf60
void Gambit_fn_028ECF60(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_028ECF60: ; // 0x28ecf60
/* 028ECF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ECF64 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECF64 */ _t17 = _t16 & 0x00000001u;
/* 028ECF64 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ECF64 */ goto L_028ECF68;
L_028ECF68: ; // 0x28ecf68
/* 028ECF68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ECF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ECF6C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECF6C */ _t19 = _t18 & 0x00000001u;
/* 028ECF6C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ECF6C */ goto L_028ECF70;
L_028ECF70: ; // 0x28ecf70
/* 028ECF70 */ goto L_02801BB0;
}
// fn_028ECF74 @ 0x28ecf74
void Gambit_fn_028ECF74(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028ECF74: ; // 0x28ecf74
/* 028ECF74 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028ECF74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028ECF78 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028ECF78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028ECF7C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028ECF80 */ cpu->r[11] = 0x10110000u;
/* 028ECF84 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028ECF84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028ECF88 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028ECF88 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028ECF8C */ return;
}
// fn_028ECF90 @ 0x28ecf90
void Gambit_fn_028ECF90(CPUState* cpu) {
uint32_t _t0, _t1;
L_028ECF90: ; // 0x28ecf90
/* 028ECF90 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028ECF90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028ECF94 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028ECF94 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028ECF98 */ return;
}
// fn_028ECF9C @ 0x28ecf9c
void Gambit_fn_028ECF9C(CPUState* cpu) {
uint32_t _t0, _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_028ECF9C: ; // 0x28ecf9c
/* 028ECF9C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028ECF9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ECF9C */ cpu->r[1] = _t0;
/* 028ECFA0 */ /* nop */
/* 028ECFA4 */ cpu->r[0] = cpu->lr;
/* 028ECFA8 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028ECFA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028ECFAC */ cpu->r[29] = cpu->r[4];
/* 028ECFB0 */ _t2 = cpu->r[29] + 0x00000004u;
/* 028ECFB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
/* 028ECFB4 */ _t3 = cpu->r[8] + 0x00000014u;
/* 028ECFB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028ECFB8 */ cpu->r[28] = cpu->r[3];
/* 028ECFBC */ cpu->ctr = cpu->r[9];
/* 028ECFC0 */ _t4 = cpu->r[28] + 0x0000000Cu;
/* 028ECFC0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
/* 028ECFC4 */ cpu->r[3] = cpu->r[29];
/* 028ECFC8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ECFCC */ cpu->r[31] = 0x10110000u;
/* 028ECFD0 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028ECFD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028ECFD4 */ _t6 = cpu->r[31] + 0x00007399u;
/* 028ECFD4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
/* 028ECFD8 */ _t7 = cpu->r[11] + 0x00000000u;
/* 028ECFD8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
/* 028ECFDC */ cpu->r[30] = 0x00000000u;
/* 028ECFE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028ECFE4 */ cpu->r[12] = 0x00080000u;
/* 028ECFE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ECFE8 */ _t9 = _t8 & 0x00000001u;
/* 028ECFE8 */ if (_t9) goto L_028ED010; else goto L_028ECFEC;
L_028ECFEC: ; // 0x28ecfec
/* 028ECFEC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028ECFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028ECFF4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028ECFF8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028ECFF8 */ _t11 = _t10 & 0x00000001u;
/* 028ECFF8 */ if (_t11) goto L_028ED00C; else goto L_028ECFFC;
L_028ECFFC: ; // 0x28ecffc
/* 028ECFFC */ _t12 = cpu->r[11] + 0x00000000u;
/* 028ECFFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
/* 028ED000 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028ED004 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED004 */ _t14 = _t13 & 0x00000001u;
/* 028ED004 */ if (_t14) goto L_028ED008; else goto L_028ECFEC;
L_028ED008: ; // 0x28ed008
/* 028ED008 */ goto L_028ED010;
L_028ED00C: ; // 0x28ed00c
/* 028ED00C */ cpu->r[30] = 0x00000000u;
L_028ED010: ; // 0x28ed010
/* 028ED010 */ _t15 = cpu->r[28] + 0x00000014u;
/* 028ED010 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028ED014 */ _t16 = cpu->r[29] + 0x00000004u;
/* 028ED014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028ED018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028ED01C */ _t17 = cpu->r[12] + 0x00000014u;
/* 028ED01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028ED020 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ED020 */ _t19 = _t18 & 0x00000001u;
/* 028ED020 */ if (_t19) goto L_028ED028; else goto L_028ED024;
L_028ED024: ; // 0x28ed024
/* 028ED024 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028ED028: ; // 0x28ed028
/* 028ED028 */ cpu->ctr = cpu->r[0];
/* 028ED02C */ cpu->r[3] = cpu->r[29];
/* 028ED030 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ED034 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028ED034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
/* 028ED038 */ cpu->r[6] = 0x00000000u;
/* 028ED03C */ cpu->r[5] = cpu->r[30];
/* 028ED040 */ cpu->r[3] = cpu->r[27];
/* 028ED044 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028ED048 */ _t21 = cpu->r[27] + cpu->r[30];
/* 028ED048 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
/* 028ED04C */ _t22 = cpu->r[28] + 0x0000000Cu;
/* 028ED04C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028ED050 */ _t23 = cpu->r[28] + 0x00000000u;
/* 028ED050 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028ED054 */ /* nop */
/* 028ED058 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028ED058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028ED05C */ cpu->lr = cpu->r[0];
/* 028ED060 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028ED064 */ return;
}
// fn_028ED068 @ 0x28ed068
void Gambit_fn_028ED068(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_028ED068: ; // 0x28ed068
/* 028ED068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED06C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED06C */ _t17 = _t16 & 0x00000001u;
/* 028ED06C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED06C */ goto L_028ED070;
L_028ED070: ; // 0x28ed070
/* 028ED070 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED074 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED074 */ _t19 = _t18 & 0x00000001u;
/* 028ED074 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED074 */ goto L_028ED078;
L_028ED078: ; // 0x28ed078
/* 028ED078 */ goto L_02801BB0;
}
// fn_028ED07C @ 0x28ed07c
void Gambit_fn_028ED07C(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_028ED07C: ; // 0x28ed07c
/* 028ED07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED080 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED080 */ _t17 = _t16 & 0x00000001u;
/* 028ED080 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED080 */ goto L_028ED084;
L_028ED084: ; // 0x28ed084
/* 028ED084 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED088 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED088 */ _t19 = _t18 & 0x00000001u;
/* 028ED088 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED088 */ goto L_028ED08C;
L_028ED08C: ; // 0x28ed08c
/* 028ED08C */ goto L_02801BB0;
}
// fn_028ED090 @ 0x28ed090
void Gambit_fn_028ED090(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
L_028ED090: ; // 0x28ed090
/* 028ED090 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028ED090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED090 */ cpu->r[1] = _t0;
/* 028ED094 */ /* nop */
/* 028ED098 */ cpu->r[0] = cpu->lr;
/* 028ED09C */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028ED09C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028ED0A0 */ _t2 = cpu->r[3] + 0x00000018u;
/* 028ED0A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028ED0A4 */ cpu->r[27] = cpu->r[4];
/* 028ED0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED0AC */ cpu->r[10] = cpu->r[3] + 0x00000010u;
/* 028ED0B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED0B0 */ _t4 = _t3 & 0x00000001u;
/* 028ED0B0 */ if (_t4) goto L_028ED18C; else goto L_028ED0B4;
L_028ED0B4: ; // 0x28ed0b4
/* 028ED0B4 */ _t5 = cpu->r[10] + 0x0000000Cu;
/* 028ED0B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
/* 028ED0B8 */ _t6 = cpu->r[10] + 0x00000004u;
/* 028ED0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028ED0BC */ cpu->r[30] = cpu->r[10] - cpu->r[29];
/* 028ED0C0 */ cpu->r[28] = cpu->r[0] - cpu->r[29];
/* 028ED0C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
/* 028ED0C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED0C8 */ _t8 = _t7 & 0x00000001u;
/* 028ED0C8 */ if (_t8) goto L_028ED18C; else goto L_028ED0CC;
L_028ED0CC: ; // 0x28ed0cc
/* 028ED0CC */ cpu->r[31] = 0x10110000u;
/* 028ED0D0 */ cpu->r[25] = 0x00080000u;
/* 028ED0D4 */ _t9 = cpu->r[31] + 0x00007399u;
/* 028ED0D4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t9);
/* 028ED0D8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
L_028ED0DC: ; // 0x28ed0dc
/* 028ED0DC */ _t10 = cpu->r[28] + 0x00000048u;
/* 028ED0DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028ED0E0 */ _t11 = cpu->r[5] + 0x00000014u;
/* 028ED0E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
/* 028ED0E4 */ cpu->r[24] = cpu->r[28] + 0x00000044u;
/* 028ED0E8 */ cpu->ctr = cpu->r[6];
/* 028ED0EC */ cpu->r[3] = cpu->r[24];
/* 028ED0F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ED0F4 */ _t12 = cpu->r[28] + 0x00000048u;
/* 028ED0F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028ED0F8 */ _t13 = cpu->r[7] + 0x00000014u;
/* 028ED0F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
/* 028ED0FC */ cpu->ctr = cpu->r[8];
/* 028ED100 */ cpu->r[3] = cpu->r[24];
/* 028ED104 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ED108 */ _t14 = cpu->r[27] + 0x00000004u;
/* 028ED108 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028ED10C */ _t15 = cpu->r[9] + 0x00000014u;
/* 028ED10C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028ED110 */ cpu->ctr = cpu->r[10];
/* 028ED114 */ _t16 = cpu->r[28] + 0x00000044u;
/* 028ED114 */ cpu->r[26] = rbrew_read32(cpu->mem, _t16);
/* 028ED118 */ cpu->r[3] = cpu->r[27];
/* 028ED11C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028ED120 */ _t17 = cpu->r[27] + 0x00000000u;
/* 028ED120 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028ED124 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[11]);
/* 028ED128 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED128 */ _t19 = _t18 & 0x00000001u;
/* 028ED128 */ if (_t19) goto L_028ED160; else goto L_028ED12C;
L_028ED12C: ; // 0x28ed12c
/* 028ED12C */ _t20 = cpu->r[24] + 0x00000000u;
/* 028ED12C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028ED130 */ _t21 = cpu->r[27] + 0x00000000u;
/* 028ED130 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
/* 028ED134 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028ED138 */ cpu->ctr = cpu->r[25];
/* 028ED13C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
L_028ED140: ; // 0x28ed140
/* 028ED140 */ _t22 = cpu->r[8] + 0x00000001u;
/* 028ED140 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
/* 028ED140 */ cpu->r[8] = _t22;
/* 028ED144 */ _t23 = cpu->r[7] + 0x00000001u;
/* 028ED144 */ cpu->r[12] = rbrew_read8(cpu->mem, _t23);
/* 028ED144 */ cpu->r[7] = _t23;
/* 028ED148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
/* 028ED14C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED14C */ _t25 = _t24 & 0x00000001u;
/* 028ED14C */ if (_t25) goto L_028ED150; else goto L_028ED178;
L_028ED150: ; // 0x28ed150
/* 028ED150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028ED154 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED154 */ _t27 = _t26 & 0x00000001u;
/* 028ED154 */ if (_t27) goto L_028ED160; else goto L_028ED158;
L_028ED158: ; // 0x28ed158
/* 028ED158 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028ED158 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028ED158 */ _t29 = _t28 >> (0x00000002u & 31u);
/* 028ED158 */ _t30 = _t29 & 0x00000001u;
/* 028ED158 */ if (_t30) goto L_028ED140; else goto L_028ED15C;
L_028ED15C: ; // 0x28ed15c
/* 028ED15C */ goto L_028ED178;
L_028ED160: ; // 0x28ed160
/* 028ED160 */ cpu->r[3] = cpu->r[28];
/* 028ED164 */ /* nop */
/* 028ED168 */ _t31 = cpu->r[1] + 0x0000002Cu;
/* 028ED168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028ED16C */ cpu->lr = cpu->r[0];
/* 028ED170 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028ED174 */ return;
L_028ED178: ; // 0x28ed178
/* 028ED178 */ cpu->r[12] = cpu->r[28] + cpu->r[29];
/* 028ED17C */ _t32 = cpu->r[12] + 0x00000004u;
/* 028ED17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028ED180 */ cpu->r[28] = cpu->r[0] - cpu->r[29];
/* 028ED184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
/* 028ED188 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED188 */ _t34 = _t33 & 0x00000001u;
/* 028ED188 */ if (_t34) goto L_028ED18C; else goto L_028ED0DC;
L_028ED18C: ; // 0x28ed18c
/* 028ED18C */ /* nop */
/* 028ED190 */ _t35 = cpu->r[1] + 0x0000002Cu;
/* 028ED190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028ED194 */ cpu->lr = cpu->r[0];
/* 028ED198 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028ED19C */ cpu->r[3] = 0x00000000u;
/* 028ED1A0 */ return;
}
// fn_028ED1A4 @ 0x28ed1a4
void Gambit_fn_028ED1A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028ED1A4: ; // 0x28ed1a4
/* 028ED1A4 */ cpu->r[0] = cpu->lr;
/* 028ED1A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED1A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED1A8 */ cpu->r[1] = _t0;
/* 028ED1AC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028ED1AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028ED1B0 */ cpu->r[30] = cpu->r[4];
/* 028ED1B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028ED1B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028ED1B8 */ cpu->r[4] = cpu->r[30] + 0x00000044u;
/* 028ED1BC */ cpu->r[31] = cpu->r[3];
/* 028ED1C0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED1C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED1C4 */ Gambit_fn_028ED090(cpu);
/* 028ED1C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED1CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED1CC */ _t5 = _t4 & 0x00000001u;
/* 028ED1CC */ if (_t5) goto L_028ED1EC; else goto L_028ED1D0;
L_028ED1D0: ; // 0x28ed1d0
/* 028ED1D0 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028ED1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028ED1D4 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028ED1D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
/* 028ED1D8 */ cpu->lr = cpu->r[0];
/* 028ED1DC */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028ED1DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028ED1E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED1E4 */ cpu->r[3] = 0x00000000u;
/* 028ED1E8 */ return;
L_028ED1EC: ; // 0x28ed1ec
/* 028ED1EC */ _t9 = cpu->r[31] + 0x0000001Cu;
/* 028ED1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028ED1F0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028ED1F4 */ cpu->r[4] = cpu->r[30] + cpu->r[0];
/* 028ED1F8 */ Gambit_fn_02801EBC(cpu);
/* 028ED1FC */ _t10 = cpu->r[31] + 0x00000018u;
/* 028ED1FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028ED200 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028ED204 */ _t11 = cpu->r[31] + 0x00000018u;
/* 028ED204 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028ED208 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028ED208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028ED20C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028ED20C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028ED210 */ cpu->lr = cpu->r[0];
/* 028ED214 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028ED214 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028ED218 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED21C */ cpu->r[3] = 0x00000001u;
/* 028ED220 */ return;
}
// fn_028ED1A8 @ 0x28ed1a8
void Gambit_fn_028ED1A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028ED1A8: ; // 0x28ed1a8
/* 028ED1A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED1A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED1A8 */ cpu->r[1] = _t0;
/* 028ED1AC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028ED1AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028ED1B0 */ cpu->r[30] = cpu->r[4];
/* 028ED1B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028ED1B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028ED1B8 */ cpu->r[4] = cpu->r[30] + 0x00000044u;
/* 028ED1BC */ cpu->r[31] = cpu->r[3];
/* 028ED1C0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED1C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED1C4 */ Gambit_fn_028ED090(cpu);
/* 028ED1C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED1CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED1CC */ _t5 = _t4 & 0x00000001u;
/* 028ED1CC */ if (_t5) goto L_028ED1EC; else goto L_028ED1D0;
L_028ED1D0: ; // 0x28ed1d0
/* 028ED1D0 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028ED1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028ED1D4 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028ED1D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
/* 028ED1D8 */ cpu->lr = cpu->r[0];
/* 028ED1DC */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028ED1DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028ED1E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED1E4 */ cpu->r[3] = 0x00000000u;
/* 028ED1E8 */ return;
L_028ED1EC: ; // 0x28ed1ec
/* 028ED1EC */ _t9 = cpu->r[31] + 0x0000001Cu;
/* 028ED1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028ED1F0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028ED1F4 */ cpu->r[4] = cpu->r[30] + cpu->r[0];
/* 028ED1F8 */ Gambit_fn_02801EBC(cpu);
/* 028ED1FC */ _t10 = cpu->r[31] + 0x00000018u;
/* 028ED1FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028ED200 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028ED204 */ _t11 = cpu->r[31] + 0x00000018u;
/* 028ED204 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028ED208 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028ED208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028ED20C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028ED20C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028ED210 */ cpu->lr = cpu->r[0];
/* 028ED214 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028ED214 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028ED218 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED21C */ cpu->r[3] = 0x00000001u;
/* 028ED220 */ return;
}
// fn_028ED224 @ 0x28ed224
void Gambit_fn_028ED224(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028ED224: ; // 0x28ed224
/* 028ED224 */ cpu->r[12] = 0x101D0000u;
/* 028ED228 */ _t0 = cpu->r[12] + 0xFFFF9A84u;
/* 028ED228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028ED22C */ _t1 = cpu->r[12] + 0x00000020u;
/* 028ED22C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028ED230 */ _t2 = cpu->r[12] + 0x00000048u;
/* 028ED230 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
/* 028ED234 */ return;
}
// fn_028ED238 @ 0x28ed238
void Gambit_fn_028ED238(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028ED238: ; // 0x28ed238
/* 028ED238 */ cpu->r[0] = cpu->lr;
/* 028ED23C */ cpu->f[0] = cpu->f[1];
/* 028ED240 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028ED240 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028ED244 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED244 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028ED244 */ cpu->r[1] = _t1;
/* 028ED248 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028ED24C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028ED24C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
/* 028ED250 */ Gambit_fn_028ED224(cpu);
/* 028ED254 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028ED258 */ cpu->lr = cpu->r[0];
/* 028ED25C */ cpu->f[1] = cpu->f[0] * cpu->f[1];
/* 028ED260 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED264 */ return;
}
// fn_028ED244 @ 0x28ed244
void Gambit_fn_028ED244(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028ED244: ; // 0x28ed244
/* 028ED244 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED244 */ cpu->r[1] = _t0;
/* 028ED248 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028ED24C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028ED24C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
/* 028ED250 */ Gambit_fn_028ED224(cpu);
/* 028ED254 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028ED254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028ED258 */ cpu->lr = cpu->r[0];
/* 028ED25C */ cpu->f[1] = cpu->f[0] * cpu->f[1];
/* 028ED260 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED264 */ return;
}
// fn_028ED268 @ 0x28ed268
void Gambit_fn_028ED268(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028ED268: ; // 0x28ed268
/* 028ED268 */ cpu->r[0] = cpu->lr;
/* 028ED26C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028ED26C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028ED270 */ cpu->r[12] = 0x10140000u;
/* 028ED274 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED274 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028ED274 */ cpu->r[1] = _t1;
/* 028ED278 */ _t2 = cpu->r[12] + 0xFFFFBF80u;
/* 028ED278 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028ED27C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028ED280 */ cpu->f[13] = cpu->f[1];
/* 028ED284 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028ED284 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
/* 028ED288 */ Gambit_fn_028ED224(cpu);
/* 028ED28C */ _t4 = cpu->r[1] + 0x00000014u;
/* 028ED28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028ED290 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED294 */ cpu->lr = cpu->r[0];
/* 028ED298 */ cpu->f[1] = cpu->f[13] / cpu->f[1];
/* 028ED29C */ return;
}
// fn_028ED274 @ 0x28ed274
void Gambit_fn_028ED274(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028ED274: ; // 0x28ed274
/* 028ED274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED274 */ cpu->r[1] = _t0;
/* 028ED278 */ _t1 = cpu->r[12] + 0xFFFFBF80u;
/* 028ED278 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028ED27C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028ED280 */ cpu->f[13] = cpu->f[1];
/* 028ED284 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028ED284 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
/* 028ED288 */ Gambit_fn_028ED224(cpu);
/* 028ED28C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028ED290 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED294 */ cpu->lr = cpu->r[0];
/* 028ED298 */ cpu->f[1] = cpu->f[13] / cpu->f[1];
/* 028ED29C */ return;
}
// fn_028ED2A0 @ 0x28ed2a0
void Gambit_fn_028ED2A0(CPUState* cpu) {
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_028ED2A0: ; // 0x28ed2a0
/* 028ED2A0 */ cpu->r[0] = cpu->lr;
/* 028ED2A4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028ED2A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED2A4 */ cpu->r[1] = _t0;
/* 028ED2A8 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028ED2A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028ED2AC */ cpu->r[30] = cpu->r[3];
/* 028ED2B0 */ cpu->r[6] = 0x028F0000u;
/* 028ED2B4 */ _t2 = cpu->r[1] + 0x00000024u;
/* 028ED2B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028ED2B8 */ cpu->r[31] = cpu->r[4];
/* 028ED2BC */ cpu->r[4] = 0x00000003u;
/* 028ED2C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028ED2C4 */ cpu->r[6] = cpu->r[6] + 0xFFFFD34Cu;
/* 028ED2C8 */ cpu->r[5] = 0x00000004u;
/* 028ED2CC */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028ED2CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED2D0 */ Gambit_fn_02C82E00(cpu);
/* 028ED2D4 */ _t4 = cpu->r[31] + 0x00000004u;
/* 028ED2D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
/* 028ED2D8 */ _t5 = cpu->r[31] + 0x00000000u;
/* 028ED2D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028ED2DC */ _t6 = cpu->r[31] + 0x00000008u;
/* 028ED2DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
/* 028ED2E0 */ _t7 = cpu->r[1] + 0x00000010u;
/* 028ED2E0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
/* 028ED2E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028ED2E8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028ED2E8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
/* 028ED2EC */ _t9 = cpu->r[1] + 0x00000008u;
/* 028ED2EC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028ED2F0 */ Gambit_fn_028ED224(cpu);
/* 028ED2F4 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028ED2F8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028ED2FC */ Gambit_fn_028ED224(cpu);
/* 028ED300 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028ED304 */ cpu->f[13] = cpu->f[13] * cpu->f[1];
/* 028ED308 */ Gambit_fn_028ED224(cpu);
/* 028ED30C */ _t10 = cpu->r[1] + 0x00000014u;
/* 028ED30C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028ED310 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028ED310 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028ED314 */ cpu->f[0] = cpu->f[12] * cpu->f[1];
/* 028ED318 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028ED318 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
/* 028ED31C */ _t13 = cpu->r[1] + 0x00000018u;
/* 028ED31C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028ED320 */ _t14 = cpu->r[30] + 0x00000000u;
/* 028ED320 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028ED324 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028ED324 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028ED328 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028ED328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028ED32C */ _t17 = cpu->r[30] + 0x00000004u;
/* 028ED32C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028ED330 */ _t18 = cpu->r[30] + 0x00000008u;
/* 028ED330 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028ED334 */ _t19 = cpu->r[1] + 0x0000002Cu;
/* 028ED334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028ED338 */ _t20 = cpu->r[1] + 0x00000024u;
/* 028ED338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028ED33C */ cpu->lr = cpu->r[0];
/* 028ED340 */ _t21 = cpu->r[1] + 0x00000020u;
/* 028ED340 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028ED344 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028ED348 */ return;
}
// fn_028ED2A4 @ 0x28ed2a4
void Gambit_fn_028ED2A4(CPUState* cpu) {
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_028ED2A4: ; // 0x28ed2a4
/* 028ED2A4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028ED2A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED2A4 */ cpu->r[1] = _t0;
/* 028ED2A8 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028ED2A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028ED2AC */ cpu->r[30] = cpu->r[3];
/* 028ED2B0 */ cpu->r[6] = 0x028F0000u;
/* 028ED2B4 */ _t2 = cpu->r[1] + 0x00000024u;
/* 028ED2B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028ED2B8 */ cpu->r[31] = cpu->r[4];
/* 028ED2BC */ cpu->r[4] = 0x00000003u;
/* 028ED2C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028ED2C4 */ cpu->r[6] = cpu->r[6] + 0xFFFFD34Cu;
/* 028ED2C8 */ cpu->r[5] = 0x00000004u;
/* 028ED2CC */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028ED2CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED2D0 */ Gambit_fn_02C82E00(cpu);
/* 028ED2D4 */ _t4 = cpu->r[31] + 0x00000004u;
/* 028ED2D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
/* 028ED2D8 */ _t5 = cpu->r[31] + 0x00000000u;
/* 028ED2D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028ED2DC */ _t6 = cpu->r[31] + 0x00000008u;
/* 028ED2DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
/* 028ED2E0 */ _t7 = cpu->r[1] + 0x00000010u;
/* 028ED2E0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
/* 028ED2E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028ED2E8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028ED2E8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
/* 028ED2EC */ _t9 = cpu->r[1] + 0x00000008u;
/* 028ED2EC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028ED2F0 */ Gambit_fn_028ED224(cpu);
/* 028ED2F4 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028ED2F8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028ED2FC */ Gambit_fn_028ED224(cpu);
/* 028ED300 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028ED304 */ cpu->f[13] = cpu->f[13] * cpu->f[1];
/* 028ED308 */ Gambit_fn_028ED224(cpu);
/* 028ED30C */ _t10 = cpu->r[1] + 0x00000014u;
/* 028ED30C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028ED310 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028ED310 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028ED314 */ cpu->f[0] = cpu->f[12] * cpu->f[1];
/* 028ED318 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028ED318 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
/* 028ED31C */ _t13 = cpu->r[1] + 0x00000018u;
/* 028ED31C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028ED320 */ _t14 = cpu->r[30] + 0x00000000u;
/* 028ED320 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028ED324 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028ED324 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028ED328 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028ED328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028ED32C */ _t17 = cpu->r[30] + 0x00000004u;
/* 028ED32C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028ED330 */ _t18 = cpu->r[30] + 0x00000008u;
/* 028ED330 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028ED334 */ _t19 = cpu->r[1] + 0x0000002Cu;
/* 028ED334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028ED338 */ _t20 = cpu->r[1] + 0x00000024u;
/* 028ED338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028ED33C */ cpu->lr = cpu->r[0];
/* 028ED340 */ _t21 = cpu->r[1] + 0x00000020u;
/* 028ED340 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028ED344 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028ED348 */ return;
}
// fn_028ED358 @ 0x28ed358
void Gambit_fn_028ED358(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028ED358: ; // 0x28ed358
/* 028ED358 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028ED358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED358 */ cpu->r[1] = _t0;
/* 028ED35C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED35C */ _t2 = _t1 & 0x00000001u;
/* 028ED35C */ if (_t2) goto L_028ED360; else goto L_028ED370;
L_028ED360: ; // 0x28ed360
/* 028ED360 */ cpu->r[3] = 0x00000004u;
/* 028ED364 */ Gambit_fn_02801A78(cpu);
/* 028ED368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED36C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED36C */ _t4 = _t3 & 0x00000001u;
/* 028ED36C */ if (_t4) goto L_028ED37C; else goto L_028ED370;
L_028ED370: ; // 0x28ed370
/* 028ED370 */ cpu->r[12] = 0x10140000u;
/* 028ED374 */ _t5 = cpu->r[12] + 0xFFFFBF80u;
/* 028ED374 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028ED378 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028ED378 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
L_028ED37C: ; // 0x28ed37c
/* 028ED37C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028ED37C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028ED380 */ cpu->lr = cpu->r[0];
/* 028ED384 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028ED388 */ return;
}
// fn_028ED38C @ 0x28ed38c
void Gambit_fn_028ED38C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028ED38C: ; // 0x28ed38c
/* 028ED38C */ cpu->r[0] = cpu->lr;
/* 028ED390 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028ED390 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028ED394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED398 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028ED398 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028ED398 */ cpu->r[1] = _t1;
/* 028ED39C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED39C */ _t3 = _t2 & 0x00000001u;
/* 028ED39C */ if (_t3) goto L_028ED3A0; else goto L_028ED3B0;
L_028ED3A0: ; // 0x28ed3a0
/* 028ED3A0 */ cpu->r[3] = 0x00000008u;
/* 028ED3A4 */ Gambit_fn_02801A78(cpu);
/* 028ED3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED3AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED3AC */ _t5 = _t4 & 0x00000001u;
/* 028ED3AC */ if (_t5) goto L_028ED3C8; else goto L_028ED3B0;
L_028ED3B0: ; // 0x28ed3b0
/* 028ED3B0 */ cpu->r[0] = 0x10140000u;
/* 028ED3B4 */ cpu->r[12] = 0x10140000u;
/* 028ED3B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFBF84u;
/* 028ED3BC */ _t6 = cpu->r[12] + 0xFFFFBF94u;
/* 028ED3BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028ED3C0 */ _t7 = cpu->r[3] + 0x00000004u;
/* 028ED3C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028ED3C4 */ _t8 = cpu->r[3] + 0x00000000u;
/* 028ED3C4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
L_028ED3C8: ; // 0x28ed3c8
/* 028ED3C8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028ED3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028ED3CC */ cpu->lr = cpu->r[0];
/* 028ED3D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028ED3D4 */ return;
}
// fn_028ED398 @ 0x28ed398
void Gambit_fn_028ED398(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028ED398: ; // 0x28ed398
/* 028ED398 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028ED398 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED398 */ cpu->r[1] = _t0;
/* 028ED39C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED39C */ _t2 = _t1 & 0x00000001u;
/* 028ED39C */ if (_t2) goto L_028ED3A0; else goto L_028ED3B0;
L_028ED3A0: ; // 0x28ed3a0
/* 028ED3A0 */ cpu->r[3] = 0x00000008u;
/* 028ED3A4 */ Gambit_fn_02801A78(cpu);
/* 028ED3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED3AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED3AC */ _t4 = _t3 & 0x00000001u;
/* 028ED3AC */ if (_t4) goto L_028ED3C8; else goto L_028ED3B0;
L_028ED3B0: ; // 0x28ed3b0
/* 028ED3B0 */ cpu->r[0] = 0x10140000u;
/* 028ED3B4 */ cpu->r[12] = 0x10140000u;
/* 028ED3B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFBF84u;
/* 028ED3BC */ _t5 = cpu->r[12] + 0xFFFFBF94u;
/* 028ED3BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028ED3C0 */ _t6 = cpu->r[3] + 0x00000004u;
/* 028ED3C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028ED3C4 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028ED3C4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
L_028ED3C8: ; // 0x28ed3c8
/* 028ED3C8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028ED3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028ED3CC */ cpu->lr = cpu->r[0];
/* 028ED3D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028ED3D4 */ return;
}
// fn_028ED3D8 @ 0x28ed3d8
void Gambit_fn_028ED3D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028ED3D8: ; // 0x28ed3d8
/* 028ED3D8 */ cpu->r[0] = cpu->lr;
/* 028ED3DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED3DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED3DC */ cpu->r[1] = _t0;
/* 028ED3E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028ED3E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028ED3E4 */ cpu->r[12] = 0x10140000u;
/* 028ED3E8 */ _t2 = cpu->r[12] + 0xFFFFBF98u;
/* 028ED3E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028ED3EC */ cpu->r[31] = cpu->r[3];
/* 028ED3F0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED3F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED3F4 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028ED3F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
/* 028ED3F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028ED3FC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ED3FC */ _t6 = _t5 & 0x00000001u;
/* 028ED3FC */ if (_t6) goto L_028ED41C; else goto L_028ED400;
L_028ED400: ; // 0x28ed400
/* 028ED400 */ Gambit_fn_028C29DC(cpu);
/* 028ED404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED408 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED408 */ _t8 = _t7 & 0x00000001u;
/* 028ED408 */ if (_t8) goto L_028ED41C; else goto L_028ED40C;
L_028ED40C: ; // 0x28ed40c
/* 028ED40C */ _t9 = cpu->r[31] + 0x00000000u;
/* 028ED40C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028ED410 */ _t10 = cpu->r[3] + 0x00000044u;
/* 028ED410 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028ED414 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028ED418 */ _t11 = cpu->r[31] + 0x00000000u;
/* 028ED418 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
L_028ED41C: ; // 0x28ed41c
/* 028ED41C */ _t12 = cpu->r[1] + 0x00000014u;
/* 028ED41C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028ED420 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028ED420 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028ED424 */ cpu->lr = cpu->r[0];
/* 028ED428 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED42C */ return;
}
// fn_028ED3DC @ 0x28ed3dc
void Gambit_fn_028ED3DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028ED3DC: ; // 0x28ed3dc
/* 028ED3DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED3DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED3DC */ cpu->r[1] = _t0;
/* 028ED3E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028ED3E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028ED3E4 */ cpu->r[12] = 0x10140000u;
/* 028ED3E8 */ _t2 = cpu->r[12] + 0xFFFFBF98u;
/* 028ED3E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028ED3EC */ cpu->r[31] = cpu->r[3];
/* 028ED3F0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED3F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED3F4 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028ED3F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
/* 028ED3F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028ED3FC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ED3FC */ _t6 = _t5 & 0x00000001u;
/* 028ED3FC */ if (_t6) goto L_028ED41C; else goto L_028ED400;
L_028ED400: ; // 0x28ed400
/* 028ED400 */ Gambit_fn_028C29DC(cpu);
/* 028ED404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED408 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED408 */ _t8 = _t7 & 0x00000001u;
/* 028ED408 */ if (_t8) goto L_028ED41C; else goto L_028ED40C;
L_028ED40C: ; // 0x28ed40c
/* 028ED40C */ _t9 = cpu->r[31] + 0x00000000u;
/* 028ED40C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028ED410 */ _t10 = cpu->r[3] + 0x00000044u;
/* 028ED410 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028ED414 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028ED418 */ _t11 = cpu->r[31] + 0x00000000u;
/* 028ED418 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
L_028ED41C: ; // 0x28ed41c
/* 028ED41C */ _t12 = cpu->r[1] + 0x00000014u;
/* 028ED41C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028ED420 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028ED420 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028ED424 */ cpu->lr = cpu->r[0];
/* 028ED428 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED42C */ return;
}
// fn_028ED440 @ 0x28ed440
void Gambit_fn_028ED440(CPUState* cpu) {
uint32_t _t0, _t1;
L_028ED440: ; // 0x28ed440
/* 028ED440 */ cpu->r[12] = 0x10140000u;
/* 028ED444 */ _t0 = cpu->r[12] + 0xFFFFBF94u;
/* 028ED444 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028ED448 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028ED448 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
/* 028ED44C */ return;
}
// fn_028ED450 @ 0x28ed450
void Gambit_fn_028ED450(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028ED450: ; // 0x28ed450
/* 028ED450 */ cpu->r[0] = cpu->lr;
/* 028ED454 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028ED454 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED454 */ cpu->r[1] = _t0;
/* 028ED458 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028ED458 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028ED45C */ _t2 = cpu->r[1] + 0x00000020u;
/* 028ED45C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028ED460 */ cpu->r[31] = cpu->r[3];
/* 028ED460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028ED464 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028ED464 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED468 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED468 */ _t5 = _t4 & 0x00000001u;
/* 028ED468 */ if (_t5) goto L_028ED46C; else goto L_028ED47C;
L_028ED46C: ; // 0x28ed46c
/* 028ED46C */ cpu->r[3] = 0x0000004Cu;
/* 028ED470 */ Gambit_fn_02801A78(cpu);
/* 028ED474 */ cpu->r[31] = cpu->r[3];
/* 028ED474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028ED478 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED478 */ _t7 = _t6 & 0x00000001u;
/* 028ED478 */ if (_t7) goto L_028ED538; else goto L_028ED47C;
L_028ED47C: ; // 0x28ed47c
/* 028ED47C */ cpu->r[8] = 0x10140000u;
/* 028ED480 */ cpu->r[9] = 0x101F0000u;
/* 028ED484 */ cpu->r[11] = 0x00000003u;
/* 028ED488 */ cpu->r[8] = cpu->r[8] + 0xFFFFBFC0u;
/* 028ED48C */ cpu->r[9] = cpu->r[9] + 0x00005DFCu;
/* 028ED490 */ cpu->r[10] = cpu->r[31];
/* 028ED494 */ cpu->ctr = cpu->r[11];
/* 028ED498 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028ED498 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
L_028ED49C: ; // 0x28ed49c
/* 028ED49C */ _t9 = cpu->r[9] + 0x00000004u;
/* 028ED49C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028ED4A0 */ _t10 = cpu->r[10] + 0x00000004u;
/* 028ED4A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028ED4A4 */ _t11 = cpu->r[9] + 0x00000008u;
/* 028ED4A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028ED4A8 */ _t12 = cpu->r[10] + 0x00000008u;
/* 028ED4A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028ED4AC */ _t13 = cpu->r[9] + 0x0000000Cu;
/* 028ED4AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028ED4B0 */ _t14 = cpu->r[10] + 0x0000000Cu;
/* 028ED4B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
/* 028ED4B4 */ _t15 = cpu->r[9] + 0x00000010u;
/* 028ED4B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028ED4B4 */ cpu->r[9] = _t15;
/* 028ED4B8 */ _t16 = cpu->r[10] + 0x00000010u;
/* 028ED4B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
/* 028ED4B8 */ cpu->r[10] = _t16;
/* 028ED4BC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028ED4BC */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028ED4BC */ _t18 = _t17 >> (0x00000002u & 31u);
/* 028ED4BC */ _t19 = _t18 & 0x00000001u;
/* 028ED4BC */ if (_t19) goto L_028ED49C; else goto L_028ED4C0;
L_028ED4C0: ; // 0x28ed4c0
/* 028ED4C0 */ cpu->r[30] = 0x00000000u;
/* 028ED4C4 */ cpu->r[0] = cpu->r[31] + 0x00000038u;
/* 028ED4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED4C8 */ _t20 = cpu->r[31] + 0x00000034u;
/* 028ED4C8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028ED4CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED4CC */ _t22 = _t21 & 0x00000001u;
/* 028ED4CC */ if (_t22) goto L_028ED4D0; else goto L_028ED4D8;
L_028ED4D0: ; // 0x28ed4d0
/* 028ED4D0 */ cpu->r[3] = 0x0000000Cu;
/* 028ED4D4 */ Gambit_fn_02801A78(cpu);
L_028ED4D8: ; // 0x28ed4d8
/* 028ED4D8 */ cpu->r[11] = 0x101F0000u;
/* 028ED4DC */ _t23 = cpu->r[31] + 0x00000044u;
/* 028ED4DC */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028ED4E0 */ cpu->r[11] = cpu->r[11] + 0x0000635Cu;
/* 028ED4E4 */ _t24 = cpu->r[31] + 0x00000048u;
/* 028ED4E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028ED4E8 */ cpu->r[12] = 0x10140000u;
/* 028ED4EC */ /* nop */
/* 028ED4F0 */ _t25 = cpu->r[12] + 0xFFFFBFBCu;
/* 028ED4F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
/* 028ED4F4 */ _t26 = cpu->r[11] + 0x00000008u;
/* 028ED4F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
/* 028ED4F8 */ /* nop */
/* 028ED4FC */ /* nop */
/* 028ED500 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028ED500 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
/* 028ED504 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
/* 028ED508 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028ED508 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
/* 028ED50C */ _t29 = cpu->r[1] + 0x00000018u;
/* 028ED50C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
/* 028ED510 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028ED510 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
/* 028ED514 */ _t31 = cpu->r[1] + 0x00000010u;
/* 028ED514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028ED518 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028ED518 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
/* 028ED51C */ _t33 = cpu->r[1] + 0x00000014u;
/* 028ED51C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
/* 028ED520 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028ED520 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028ED524 */ _t35 = cpu->r[31] + 0x00000038u;
/* 028ED524 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[13]);
/* 028ED528 */ _t36 = cpu->r[1] + 0x00000018u;
/* 028ED528 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 028ED52C */ _t37 = cpu->r[31] + 0x0000003Cu;
/* 028ED52C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
/* 028ED530 */ _t38 = cpu->r[1] + 0x0000001Cu;
/* 028ED530 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
/* 028ED534 */ _t39 = cpu->r[31] + 0x00000040u;
/* 028ED534 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
L_028ED538: ; // 0x28ed538
/* 028ED538 */ _t40 = cpu->r[1] + 0x0000002Cu;
/* 028ED538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028ED53C */ cpu->r[3] = cpu->r[31];
/* 028ED540 */ _t41 = cpu->r[1] + 0x00000024u;
/* 028ED540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
/* 028ED544 */ cpu->lr = cpu->r[0];
/* 028ED548 */ _t42 = cpu->r[1] + 0x00000020u;
/* 028ED548 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
/* 028ED54C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028ED550 */ return;
}
// fn_028ED454 @ 0x28ed454
void Gambit_fn_028ED454(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028ED454: ; // 0x28ed454
/* 028ED454 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028ED454 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED454 */ cpu->r[1] = _t0;
/* 028ED458 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028ED458 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028ED45C */ _t2 = cpu->r[1] + 0x00000020u;
/* 028ED45C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028ED460 */ cpu->r[31] = cpu->r[3];
/* 028ED460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028ED464 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028ED464 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED468 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED468 */ _t5 = _t4 & 0x00000001u;
/* 028ED468 */ if (_t5) goto L_028ED46C; else goto L_028ED47C;
L_028ED46C: ; // 0x28ed46c
/* 028ED46C */ cpu->r[3] = 0x0000004Cu;
/* 028ED470 */ Gambit_fn_02801A78(cpu);
/* 028ED474 */ cpu->r[31] = cpu->r[3];
/* 028ED474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028ED478 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED478 */ _t7 = _t6 & 0x00000001u;
/* 028ED478 */ if (_t7) goto L_028ED538; else goto L_028ED47C;
L_028ED47C: ; // 0x28ed47c
/* 028ED47C */ cpu->r[8] = 0x10140000u;
/* 028ED480 */ cpu->r[9] = 0x101F0000u;
/* 028ED484 */ cpu->r[11] = 0x00000003u;
/* 028ED488 */ cpu->r[8] = cpu->r[8] + 0xFFFFBFC0u;
/* 028ED48C */ cpu->r[9] = cpu->r[9] + 0x00005DFCu;
/* 028ED490 */ cpu->r[10] = cpu->r[31];
/* 028ED494 */ cpu->ctr = cpu->r[11];
/* 028ED498 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028ED498 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
L_028ED49C: ; // 0x28ed49c
/* 028ED49C */ _t9 = cpu->r[9] + 0x00000004u;
/* 028ED49C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028ED4A0 */ _t10 = cpu->r[10] + 0x00000004u;
/* 028ED4A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028ED4A4 */ _t11 = cpu->r[9] + 0x00000008u;
/* 028ED4A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028ED4A8 */ _t12 = cpu->r[10] + 0x00000008u;
/* 028ED4A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028ED4AC */ _t13 = cpu->r[9] + 0x0000000Cu;
/* 028ED4AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028ED4B0 */ _t14 = cpu->r[10] + 0x0000000Cu;
/* 028ED4B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
/* 028ED4B4 */ _t15 = cpu->r[9] + 0x00000010u;
/* 028ED4B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028ED4B4 */ cpu->r[9] = _t15;
/* 028ED4B8 */ _t16 = cpu->r[10] + 0x00000010u;
/* 028ED4B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
/* 028ED4B8 */ cpu->r[10] = _t16;
/* 028ED4BC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028ED4BC */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028ED4BC */ _t18 = _t17 >> (0x00000002u & 31u);
/* 028ED4BC */ _t19 = _t18 & 0x00000001u;
/* 028ED4BC */ if (_t19) goto L_028ED49C; else goto L_028ED4C0;
L_028ED4C0: ; // 0x28ed4c0
/* 028ED4C0 */ cpu->r[30] = 0x00000000u;
/* 028ED4C4 */ cpu->r[0] = cpu->r[31] + 0x00000038u;
/* 028ED4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED4C8 */ _t20 = cpu->r[31] + 0x00000034u;
/* 028ED4C8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028ED4CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED4CC */ _t22 = _t21 & 0x00000001u;
/* 028ED4CC */ if (_t22) goto L_028ED4D0; else goto L_028ED4D8;
L_028ED4D0: ; // 0x28ed4d0
/* 028ED4D0 */ cpu->r[3] = 0x0000000Cu;
/* 028ED4D4 */ Gambit_fn_02801A78(cpu);
L_028ED4D8: ; // 0x28ed4d8
/* 028ED4D8 */ cpu->r[11] = 0x101F0000u;
/* 028ED4DC */ _t23 = cpu->r[31] + 0x00000044u;
/* 028ED4DC */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028ED4E0 */ cpu->r[11] = cpu->r[11] + 0x0000635Cu;
/* 028ED4E4 */ _t24 = cpu->r[31] + 0x00000048u;
/* 028ED4E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028ED4E8 */ cpu->r[12] = 0x10140000u;
/* 028ED4EC */ /* nop */
/* 028ED4F0 */ _t25 = cpu->r[12] + 0xFFFFBFBCu;
/* 028ED4F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
/* 028ED4F4 */ _t26 = cpu->r[11] + 0x00000008u;
/* 028ED4F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
/* 028ED4F8 */ /* nop */
/* 028ED4FC */ /* nop */
/* 028ED500 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028ED500 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
/* 028ED504 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
/* 028ED508 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028ED508 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
/* 028ED50C */ _t29 = cpu->r[1] + 0x00000018u;
/* 028ED50C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
/* 028ED510 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028ED510 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
/* 028ED514 */ _t31 = cpu->r[1] + 0x00000010u;
/* 028ED514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028ED518 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028ED518 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
/* 028ED51C */ _t33 = cpu->r[1] + 0x00000014u;
/* 028ED51C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
/* 028ED520 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028ED520 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028ED524 */ _t35 = cpu->r[31] + 0x00000038u;
/* 028ED524 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[13]);
/* 028ED528 */ _t36 = cpu->r[1] + 0x00000018u;
/* 028ED528 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 028ED52C */ _t37 = cpu->r[31] + 0x0000003Cu;
/* 028ED52C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
/* 028ED530 */ _t38 = cpu->r[1] + 0x0000001Cu;
/* 028ED530 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
/* 028ED534 */ _t39 = cpu->r[31] + 0x00000040u;
/* 028ED534 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
L_028ED538: ; // 0x28ed538
/* 028ED538 */ _t40 = cpu->r[1] + 0x0000002Cu;
/* 028ED538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028ED53C */ cpu->r[3] = cpu->r[31];
/* 028ED540 */ _t41 = cpu->r[1] + 0x00000024u;
/* 028ED540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
/* 028ED544 */ cpu->lr = cpu->r[0];
/* 028ED548 */ _t42 = cpu->r[1] + 0x00000020u;
/* 028ED548 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
/* 028ED54C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028ED550 */ return;
}
// fn_028ED554 @ 0x28ed554
void Gambit_fn_028ED554(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_028ED554: ; // 0x28ed554
/* 028ED554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED558 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED558 */ _t17 = _t16 & 0x00000001u;
/* 028ED558 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED558 */ goto L_028ED55C;
L_028ED55C: ; // 0x28ed55c
/* 028ED55C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED560 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED560 */ _t19 = _t18 & 0x00000001u;
/* 028ED560 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED560 */ goto L_028ED564;
L_028ED564: ; // 0x28ed564
/* 028ED564 */ goto L_02801BB0;
}
// fn_028ED568 @ 0x28ed568
void Gambit_fn_028ED568(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028ED568: ; // 0x28ed568
/* 028ED568 */ cpu->r[0] = cpu->lr;
/* 028ED56C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED56C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED56C */ cpu->r[1] = _t0;
/* 028ED570 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028ED570 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028ED574 */ cpu->r[31] = cpu->r[4];
/* 028ED578 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028ED578 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028ED57C */ Gambit_fn_028C2A24(cpu);
/* 028ED580 */ cpu->r[4] = cpu->r[31];
/* 028ED584 */ Gambit_fn_028D7234(cpu);
/* 028ED588 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028ED58C */ cpu->lr = cpu->r[0];
/* 028ED590 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028ED590 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028ED594 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED598 */ return;
}
// fn_028ED56C @ 0x28ed56c
void Gambit_fn_028ED56C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028ED56C: ; // 0x28ed56c
/* 028ED56C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED56C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED56C */ cpu->r[1] = _t0;
/* 028ED570 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028ED570 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028ED574 */ cpu->r[31] = cpu->r[4];
/* 028ED578 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028ED578 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028ED57C */ Gambit_fn_028C2A24(cpu);
/* 028ED580 */ cpu->r[4] = cpu->r[31];
/* 028ED584 */ Gambit_fn_028D7234(cpu);
/* 028ED588 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028ED58C */ cpu->lr = cpu->r[0];
/* 028ED590 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028ED590 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028ED594 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED598 */ return;
}
// fn_028ED59C @ 0x28ed59c
void Gambit_fn_028ED59C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_023D860C: ; // 0x23d860c
/* 023D860C */ _t0 = cpu->r[1] + 0xFFFFFF98u;
/* 023D860C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 023D860C */ cpu->r[1] = _t0;
/* 023D8610 */ _t1 = cpu->r[1] + 0x00000010u;
/* 023D8610 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 023D8614 */ cpu->r[0] = cpu->lr;
/* 023D8618 */ _t2 = cpu->r[1] + 0x00000058u;
/* 023D8618 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 023D861C */ /* nop */
/* 023D8620 */ _t3 = cpu->r[1] + 0x00000038u;
/* 023D8620 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
/* 023D8624 */ /* nop */
/* 023D8628 */ _t4 = cpu->r[1] + 0x00000060u;
/* 023D8628 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 023D862C */ _t5 = cpu->r[1] + 0x00000040u;
/* 023D862C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
/* 023D8630 */ _t6 = cpu->r[1] + 0x00000018u;
/* 023D8630 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[27]);
/* 023D8634 */ _t7 = cpu->r[1] + 0x00000028u;
/* 023D8634 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
/* 023D8638 */ _t8 = cpu->r[1] + 0x0000006Cu;
/* 023D8638 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 023D863C */ /* nop */
/* 023D8640 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 023D8640 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
/* 023D8644 */ _t10 = cpu->r[1] + 0x00000020u;
/* 023D8644 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[27]);
/* 023D8648 */ /* nop */
/* 023D864C */ _t11 = cpu->r[1] + 0x00000048u;
/* 023D864C */ rbrew_write_f64(cpu->mem, _t11, cpu->f[30]);
/* 023D8650 */ _t12 = cpu->r[1] + 0x00000030u;
/* 023D8650 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[28]);
/* 023D8654 */ /* nop */
/* 023D8658 */ _t13 = cpu->r[1] + 0x00000014u;
/* 023D8658 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
/* 023D865C */ _t14 = cpu->r[1] + 0x00000050u;
/* 023D865C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[30]);
/* 023D8660 */ cpu->r[29] = cpu->r[4];
/* 023D8664 */ _t15 = cpu->r[29] + 0x00000000u;
/* 023D8664 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 023D8668 */ cpu->r[31] = cpu->r[3];
/* 023D866C */ cpu->r[30] = cpu->r[5];
/* 023D8670 */ Gambit_fn_02C886F8(cpu);
/* 023D8674 */ cpu->f[27] = cpu->f[1];
/* 023D8678 */ _t16 = cpu->r[29] + 0x00000004u;
/* 023D8678 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
/* 023D867C */ Gambit_fn_02C886F8(cpu);
/* 023D8680 */ cpu->f[28] = cpu->f[1];
/* 023D8684 */ _t17 = cpu->r[29] + 0x00000008u;
/* 023D8684 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
/* 023D8688 */ Gambit_fn_02C886F8(cpu);
/* 023D868C */ cpu->f[29] = cpu->f[1];
/* 023D8690 */ _t18 = cpu->r[29] + 0x00000000u;
/* 023D8690 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
/* 023D8694 */ Gambit_fn_02C88F2C(cpu);
/* 023D8698 */ cpu->f[30] = cpu->f[1];
/* 023D869C */ _t19 = cpu->r[29] + 0x00000004u;
/* 023D869C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19);
/* 023D86A0 */ Gambit_fn_02C88F2C(cpu);
/* 023D86A4 */ cpu->f[31] = cpu->f[1];
/* 023D86A8 */ _t20 = cpu->r[29] + 0x00000008u;
/* 023D86A8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t20);
/* 023D86AC */ Gambit_fn_02C88F2C(cpu);
/* 023D86B0 */ cpu->f[0] = -cpu->f[28];
/* 023D86B4 */ cpu->f[13] = cpu->f[31] * cpu->f[29];
/* 023D86B8 */ cpu->f[8] = cpu->f[27] * cpu->f[28];
/* 023D86BC */ _t21 = cpu->r[31] + 0x00000010u;
/* 023D86BC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
/* 023D86C0 */ cpu->f[12] = cpu->f[31] * cpu->f[1];
/* 023D86C4 */ cpu->f[10] = cpu->f[30] * cpu->f[29];
/* 023D86C8 */ cpu->f[13] = cpu->f[30] * cpu->f[1];
/* 023D86CC */ _t22 = cpu->r[31] + 0x00000000u;
/* 023D86CC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
/* 023D86D0 */ cpu->f[12] = fma(cpu->f[8], cpu->f[1], -(cpu->f[10]));
/* 023D86D4 */ cpu->f[7] = cpu->f[27] * cpu->f[29];
/* 023D86D8 */ _t23 = cpu->r[31] + 0x00000020u;
/* 023D86D8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 023D86DC */ cpu->f[8] = fma(cpu->f[8], cpu->f[29], cpu->f[13]);
/* 023D86E0 */ _t24 = cpu->r[31] + 0x00000004u;
/* 023D86E0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
/* 023D86E4 */ cpu->f[0] = cpu->f[27] * cpu->f[31];
/* 023D86E8 */ cpu->f[11] = cpu->f[27] * cpu->f[1];
/* 023D86EC */ cpu->f[9] = fma(cpu->f[13], cpu->f[28], cpu->f[7]);
/* 023D86F0 */ _t25 = cpu->r[31] + 0x00000024u;
/* 023D86F0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 023D86F4 */ cpu->f[12] = fma(cpu->f[10], cpu->f[28], -(cpu->f[11]));
/* 023D86F8 */ _t26 = cpu->r[31] + 0x00000014u;
/* 023D86F8 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[8]);
/* 023D86FC */ cpu->f[0] = cpu->f[30] * cpu->f[31];
/* 023D8700 */ _t27 = cpu->r[31] + 0x00000008u;
/* 023D8700 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[9]);
/* 023D8704 */ _t28 = cpu->r[31] + 0x00000018u;
/* 023D8704 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
/* 023D8708 */ _t29 = cpu->r[31] + 0x00000028u;
/* 023D8708 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
/* 023D870C */ _t30 = cpu->r[30] + 0x00000000u;
/* 023D870C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t30);
/* 023D8710 */ _t31 = cpu->r[31] + 0x0000000Cu;
/* 023D8710 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[7]);
/* 023D8714 */ _t32 = cpu->r[30] + 0x00000004u;
/* 023D8714 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t32);
/* 023D8718 */ _t33 = cpu->r[31] + 0x0000001Cu;
/* 023D8718 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]);
/* 023D871C */ _t34 = cpu->r[30] + 0x00000008u;
/* 023D871C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
/* 023D8720 */ _t35 = cpu->r[31] + 0x0000002Cu;
/* 023D8720 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[11]);
/* 023D8724 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 023D8724 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
/* 023D8728 */ _t37 = cpu->r[1] + 0x00000030u;
/* 023D8728 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t37);
/* 023D872C */ _t38 = cpu->r[1] + 0x00000014u;
/* 023D872C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
/* 023D8730 */ _t39 = cpu->r[1] + 0x00000028u;
/* 023D8730 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t39);
/* 023D8734 */ _t40 = cpu->r[1] + 0x00000060u;
/* 023D8734 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
/* 023D8738 */ _t41 = cpu->r[1] + 0x00000020u;
/* 023D8738 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t41);
/* 023D873C */ _t42 = cpu->r[1] + 0x00000058u;
/* 023D873C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t42);
/* 023D8740 */ _t43 = cpu->r[1] + 0x00000018u;
/* 023D8740 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t43);
/* 023D8744 */ _t44 = cpu->r[1] + 0x00000040u;
/* 023D8744 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t44);
/* 023D8748 */ _t45 = cpu->r[1] + 0x00000050u;
/* 023D8748 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t45);
/* 023D874C */ _t46 = cpu->r[1] + 0x00000038u;
/* 023D874C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t46);
/* 023D8750 */ _t47 = cpu->r[1] + 0x00000048u;
/* 023D8750 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t47);
/* 023D8754 */ _t48 = cpu->r[1] + 0x00000010u;
/* 023D8754 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
/* 023D8758 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
/* 023D8758 */ _t50 = _t49 & 0x00000001u;
/* 023D8758 */ if (_t50) goto L_023D875C; // else: addr-0 trap, fall-through
L_023D875C: ; // 0x23d875c
/* 023D875C */ _t51 = cpu->r[1] + 0x0000006Cu;
/* 023D875C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 023D8760 */ cpu->lr = cpu->r[0];
/* 023D8764 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
/* 023D8768 */ return;
L_028ED59C: ; // 0x28ed59c
/* 028ED59C */ cpu->r[0] = cpu->r[4];
/* 028ED5A0 */ cpu->r[4] = cpu->r[5];
/* 028ED5A4 */ cpu->r[5] = cpu->r[0];
/* 028ED5A8 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028ED5AC */ goto L_023D860C;
}
// fn_028ED5B0 @ 0x28ed5b0
void Gambit_fn_028ED5B0(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_028ED5B0: ; // 0x28ed5b0
/* 028ED5B0 */ cpu->r[0] = cpu->lr;
/* 028ED5B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED5B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED5B4 */ cpu->r[1] = _t0;
/* 028ED5B8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028ED5B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028ED5BC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028ED5BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028ED5C0 */ cpu->r[12] = 0x101D0000u;
/* 028ED5C4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED5C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED5C8 */ _t4 = cpu->r[12] + 0xFFFF9ACCu;
/* 028ED5C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028ED5CC */ _t5 = cpu->r[12] + 0x00000020u;
/* 028ED5CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028ED5D0 */ cpu->r[31] = cpu->r[12] + 0x00000018u;
/* 028ED5D4 */ cpu->r[30] = cpu->r[3];
/* 028ED5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028ED5DC */ _t6 = cpu->r[30] + 0x00000044u;
/* 028ED5DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
/* 028ED5E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED5E0 */ _t8 = _t7 & 0x00000001u;
/* 028ED5E0 */ if (_t8) goto L_028ED5E4; else goto L_028ED5EC;
L_028ED5E4: ; // 0x28ed5e4
/* 028ED5E4 */ cpu->r[0] = 0x00000000u;
/* 028ED5E8 */ _t9 = cpu->r[30] + 0x00000048u;
/* 028ED5E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
L_028ED5EC: ; // 0x28ed5ec
/* 028ED5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[10]);
/* 028ED5F0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ED5F0 */ _t11 = _t10 & 0x00000001u;
/* 028ED5F0 */ if (_t11) goto L_028ED5FC; else goto L_028ED5F4;
L_028ED5F4: ; // 0x28ed5f4
/* 028ED5F4 */ cpu->r[4] = cpu->r[10] + 0xFFFFFFFFu;
/* 028ED5F8 */ _t12 = cpu->r[30] + 0x00000044u;
/* 028ED5F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
L_028ED5FC: ; // 0x28ed5fc
/* 028ED5FC */ cpu->r[3] = cpu->r[31];
/* 028ED600 */ Gambit_fn_02801F14(cpu);
/* 028ED604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED608 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED608 */ _t14 = _t13 & 0x00000001u;
/* 028ED608 */ if (_t14) goto L_028ED614; else goto L_028ED60C;
L_028ED60C: ; // 0x28ed60c
/* 028ED60C */ _t15 = cpu->r[31] + 0x0000000Cu;
/* 028ED60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028ED610 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
L_028ED614: ; // 0x28ed614
/* 028ED614 */ _t16 = cpu->r[30] + 0x00000048u;
/* 028ED614 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
/* 028ED618 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028ED618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028ED61C */ _t18 = cpu->r[1] + 0x00000008u;
/* 028ED61C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028ED620 */ cpu->lr = cpu->r[0];
/* 028ED624 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028ED624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028ED628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED62C */ return;
}
// fn_028ED5B4 @ 0x28ed5b4
void Gambit_fn_028ED5B4(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_028ED5B4: ; // 0x28ed5b4
/* 028ED5B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028ED5B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED5B4 */ cpu->r[1] = _t0;
/* 028ED5B8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028ED5B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028ED5BC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028ED5BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028ED5C0 */ cpu->r[12] = 0x101D0000u;
/* 028ED5C4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028ED5C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028ED5C8 */ _t4 = cpu->r[12] + 0xFFFF9ACCu;
/* 028ED5C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028ED5CC */ _t5 = cpu->r[12] + 0x00000020u;
/* 028ED5CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028ED5D0 */ cpu->r[31] = cpu->r[12] + 0x00000018u;
/* 028ED5D4 */ cpu->r[30] = cpu->r[3];
/* 028ED5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028ED5DC */ _t6 = cpu->r[30] + 0x00000044u;
/* 028ED5DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
/* 028ED5E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED5E0 */ _t8 = _t7 & 0x00000001u;
/* 028ED5E0 */ if (_t8) goto L_028ED5E4; else goto L_028ED5EC;
L_028ED5E4: ; // 0x28ed5e4
/* 028ED5E4 */ cpu->r[0] = 0x00000000u;
/* 028ED5E8 */ _t9 = cpu->r[30] + 0x00000048u;
/* 028ED5E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
L_028ED5EC: ; // 0x28ed5ec
/* 028ED5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[10]);
/* 028ED5F0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028ED5F0 */ _t11 = _t10 & 0x00000001u;
/* 028ED5F0 */ if (_t11) goto L_028ED5FC; else goto L_028ED5F4;
L_028ED5F4: ; // 0x28ed5f4
/* 028ED5F4 */ cpu->r[4] = cpu->r[10] + 0xFFFFFFFFu;
/* 028ED5F8 */ _t12 = cpu->r[30] + 0x00000044u;
/* 028ED5F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
L_028ED5FC: ; // 0x28ed5fc
/* 028ED5FC */ cpu->r[3] = cpu->r[31];
/* 028ED600 */ Gambit_fn_02801F14(cpu);
/* 028ED604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED608 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED608 */ _t14 = _t13 & 0x00000001u;
/* 028ED608 */ if (_t14) goto L_028ED614; else goto L_028ED60C;
L_028ED60C: ; // 0x28ed60c
/* 028ED60C */ _t15 = cpu->r[31] + 0x0000000Cu;
/* 028ED60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028ED610 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
L_028ED614: ; // 0x28ed614
/* 028ED614 */ _t16 = cpu->r[30] + 0x00000048u;
/* 028ED614 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
/* 028ED618 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028ED618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028ED61C */ _t18 = cpu->r[1] + 0x00000008u;
/* 028ED61C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028ED620 */ cpu->lr = cpu->r[0];
/* 028ED624 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028ED624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028ED628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028ED62C */ return;
}
// fn_028ED634 @ 0x28ed634
void Gambit_fn_028ED634(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028ED634: ; // 0x28ed634
/* 028ED634 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
/* 028ED634 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028ED634 */ cpu->r[1] = _t0;
/* 028ED638 */ _t1 = cpu->r[1] + 0x0000003Cu;
/* 028ED638 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028ED63C */ _t2 = cpu->r[1] + 0x00000044u;
/* 028ED63C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028ED640 */ _t3 = cpu->r[3] + 0x00000034u;
/* 028ED640 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028ED644 */ cpu->r[31] = cpu->r[3];
/* 028ED648 */ Gambit_fn_028ED568(cpu);
/* 028ED64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED650 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED650 */ _t5 = _t4 & 0x00000001u;
/* 028ED650 */ if (_t5) goto L_028ED6B8; else goto L_028ED654;
L_028ED654: ; // 0x28ed654
/* 028ED654 */ cpu->r[4] = cpu->r[3] + 0x00000110u;
/* 028ED658 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028ED65C */ Gambit_fn_0200D450(cpu);
/* 028ED660 */ cpu->r[4] = cpu->r[31] + 0x00000038u;
/* 028ED664 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028ED668 */ Gambit_fn_028ED2A0(cpu);
/* 028ED66C */ /* nop */
/* 028ED670 */ /* nop */
/* 028ED674 */ _t6 = cpu->r[1] + 0x00000028u;
/* 028ED674 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
/* 028ED678 */ /* nop */
/* 028ED67C */ _t7 = cpu->r[1] + 0x0000001Cu;
/* 028ED67C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
/* 028ED680 */ /* nop */
/* 028ED684 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028ED684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028ED688 */ cpu->f[0] = cpu->f[12] + cpu->f[13];
/* 028ED68C */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028ED68C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028ED690 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
/* 028ED694 */ _t10 = cpu->r[1] + 0x0000002Cu;
/* 028ED694 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028ED698 */ cpu->r[3] = cpu->r[31];
/* 028ED69C */ _t11 = cpu->r[1] + 0x00000010u;
/* 028ED69C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028ED6A0 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028ED6A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028ED6A4 */ cpu->r[5] = 0x101F0000u;
/* 028ED6A8 */ _t13 = cpu->r[1] + 0x00000030u;
/* 028ED6A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
/* 028ED6AC */ cpu->r[5] = cpu->r[5] + 0x00006368u;
/* 028ED6B0 */ _t14 = cpu->r[1] + 0x00000034u;
/* 028ED6B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028ED6B4 */ Gambit_fn_028ED59C(cpu);
L_028ED6B8: ; // 0x28ed6b8
/* 028ED6B8 */ cpu->r[3] = cpu->r[31];
/* 028ED6BC */ Gambit_fn_028ED5B0(cpu);
/* 028ED6C0 */ _t15 = cpu->r[1] + 0x00000044u;
/* 028ED6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028ED6C4 */ _t16 = cpu->r[1] + 0x0000003Cu;
/* 028ED6C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028ED6C8 */ cpu->lr = cpu->r[0];
/* 028ED6CC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028ED6D0 */ return;
}
// fn_028ED6D4 @ 0x28ed6d4
void Gambit_fn_028ED6D4(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_028ED6D4: ; // 0x28ed6d4
/* 028ED6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED6D8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED6D8 */ _t17 = _t16 & 0x00000001u;
/* 028ED6D8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED6D8 */ goto L_028ED6DC;
L_028ED6DC: ; // 0x28ed6dc
/* 028ED6DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED6E0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED6E0 */ _t19 = _t18 & 0x00000001u;
/* 028ED6E0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED6E0 */ goto L_028ED6E4;
L_028ED6E4: ; // 0x28ed6e4
/* 028ED6E4 */ goto L_02801BB0;
}
// fn_028ED6E8 @ 0x28ed6e8
void Gambit_fn_028ED6E8(CPUState* cpu) {
L_028ED6E8: ; // 0x28ed6e8
/* 028ED6E8 */ return;
}
// fn_028ED6EC @ 0x28ed6ec
void Gambit_fn_028ED6EC(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_028ED6EC: ; // 0x28ed6ec
/* 028ED6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED6F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED6F0 */ _t17 = _t16 & 0x00000001u;
/* 028ED6F0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED6F0 */ goto L_028ED6F4;
L_028ED6F4: ; // 0x28ed6f4
/* 028ED6F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED6F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED6F8 */ _t19 = _t18 & 0x00000001u;
/* 028ED6F8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED6F8 */ goto L_028ED6FC;
L_028ED6FC: ; // 0x28ed6fc
/* 028ED6FC */ goto L_02801BB0;
}
// fn_028ED700 @ 0x28ed700
void Gambit_fn_028ED700(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028ED700: ; // 0x28ed700
/* 028ED700 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028ED700 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028ED704 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028ED704 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028ED708 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028ED70C */ cpu->r[11] = 0x10110000u;
/* 028ED710 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028ED710 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028ED714 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028ED714 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028ED718 */ return;
}
// fn_028ED71C @ 0x28ed71c
void Gambit_fn_028ED71C(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_028ED71C: ; // 0x28ed71c
/* 028ED71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED720 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED720 */ _t17 = _t16 & 0x00000001u;
/* 028ED720 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED720 */ goto L_028ED724;
L_028ED724: ; // 0x28ed724
/* 028ED724 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED728 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED728 */ _t19 = _t18 & 0x00000001u;
/* 028ED728 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED728 */ goto L_028ED72C;
L_028ED72C: ; // 0x28ed72c
/* 028ED72C */ goto L_02801BB0;
}
// fn_028ED730 @ 0x28ed730
void Gambit_fn_028ED730(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_028ED730: ; // 0x28ed730
/* 028ED730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED734 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED734 */ _t17 = _t16 & 0x00000001u;
/* 028ED734 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED734 */ goto L_028ED738;
L_028ED738: ; // 0x28ed738
/* 028ED738 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED73C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED73C */ _t19 = _t18 & 0x00000001u;
/* 028ED73C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED73C */ goto L_028ED740;
L_028ED740: ; // 0x28ed740
/* 028ED740 */ goto L_02801BB0;
}
// fn_028ED744 @ 0x28ed744
void Gambit_fn_028ED744(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_028ED744: ; // 0x28ed744
/* 028ED744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED748 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED748 */ _t17 = _t16 & 0x00000001u;
/* 028ED748 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED748 */ goto L_028ED74C;
L_028ED74C: ; // 0x28ed74c
/* 028ED74C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED74C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED750 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED750 */ _t19 = _t18 & 0x00000001u;
/* 028ED750 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED750 */ goto L_028ED754;
L_028ED754: ; // 0x28ed754
/* 028ED754 */ goto L_02801BB0;
}
// fn_028ED758 @ 0x28ed758
void Gambit_fn_028ED758(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_028ED758: ; // 0x28ed758
/* 028ED758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED75C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED75C */ _t17 = _t16 & 0x00000001u;
/* 028ED75C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED75C */ goto L_028ED760;
L_028ED760: ; // 0x28ed760
/* 028ED760 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED764 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED764 */ _t19 = _t18 & 0x00000001u;
/* 028ED764 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED764 */ goto L_028ED768;
L_028ED768: ; // 0x28ed768
/* 028ED768 */ goto L_02801BB0;
}
// fn_028ED76C @ 0x28ed76c
void Gambit_fn_028ED76C(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_028ED76C: ; // 0x28ed76c
/* 028ED76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED770 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED770 */ _t17 = _t16 & 0x00000001u;
/* 028ED770 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED770 */ goto L_028ED774;
L_028ED774: ; // 0x28ed774
/* 028ED774 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED778 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED778 */ _t19 = _t18 & 0x00000001u;
/* 028ED778 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED778 */ goto L_028ED77C;
L_028ED77C: ; // 0x28ed77c
/* 028ED77C */ goto L_02801BB0;
}
// fn_028ED780 @ 0x28ed780
void Gambit_fn_028ED780(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_028ED780: ; // 0x28ed780
/* 028ED780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED784 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED784 */ _t17 = _t16 & 0x00000001u;
/* 028ED784 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED784 */ goto L_028ED788;
L_028ED788: ; // 0x28ed788
/* 028ED788 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED78C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED78C */ _t19 = _t18 & 0x00000001u;
/* 028ED78C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED78C */ goto L_028ED790;
L_028ED790: ; // 0x28ed790
/* 028ED790 */ goto L_02801BB0;
}
// fn_028ED794 @ 0x28ed794
void Gambit_fn_028ED794(CPUState* cpu) {
L_028ED794: ; // 0x28ed794
/* 028ED794 */ return;
}
// fn_028ED798 @ 0x28ed798
void Gambit_fn_028ED798(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_028ED798: ; // 0x28ed798
/* 028ED798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028ED79C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED79C */ _t17 = _t16 & 0x00000001u;
/* 028ED79C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED79C */ goto L_028ED7A0;
L_028ED7A0: ; // 0x28ed7a0
/* 028ED7A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028ED7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028ED7A4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028ED7A4 */ _t19 = _t18 & 0x00000001u;
/* 028ED7A4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028ED7A4 */ goto L_028ED7A8;
L_028ED7A8: ; // 0x28ed7a8
/* 028ED7A8 */ goto L_02801BB0;
}