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

40474 lines
2.1 MiB
Plaintext

// Generated by RebrewU -- do not edit
#include <rebrewu_runtime.h>
#include <stdint.h>
#include <math.h>
#include "Gambit.h"
// fn_028B7CDC @ 0x28b7cdc
void Gambit_fn_028B7CDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028B7CDC: ; // 0x28b7cdc
/* 028B7CDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B7CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B7CDC */ cpu->r[1] = _t0;
/* 028B7CE0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028B7CE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028B7CE4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B7CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028B7CE8 */ cpu->r[30] = cpu->r[3];
/* 028B7CEC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028B7CEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B7CF0 */ _t4 = cpu->r[30] + 0x00000000u;
/* 028B7CF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028B7CF4 */ _t5 = cpu->r[12] + 0x00000020u;
/* 028B7CF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028B7CF8 */ _t6 = cpu->r[11] + 0x0000000Cu;
/* 028B7CF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028B7CFC */ cpu->r[31] = cpu->r[4];
/* 028B7D00 */ Gambit_fn_028AE39C(cpu);
/* 028B7D04 */ _t7 = cpu->r[3] + 0x00000014u;
/* 028B7D04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
/* 028B7D08 */ cpu->r[4] = 0x00000001u;
/* 028B7D0C */ _t8 = cpu->r[3] + 0x00000008u;
/* 028B7D0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028B7D10 */ cpu->r[3] = cpu->r[30];
/* 028B7D14 */ cpu->r[5] = cpu->r[31];
/* 028B7D18 */ Gambit_fn_028B872C(cpu);
/* 028B7D1C */ _t9 = cpu->r[1] + 0x00000014u;
/* 028B7D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028B7D20 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028B7D20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028B7D24 */ cpu->lr = cpu->r[0];
/* 028B7D28 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028B7D28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028B7D2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B7D30 */ return;
}
// fn_028B7D34 @ 0x28b7d34
void Gambit_fn_028B7D34(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_028B7D34: ; // 0x28b7d34
/* 028B7D34 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028B7D34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B7D34 */ cpu->r[1] = _t0;
/* 028B7D38 */ /* nop */
/* 028B7D3C */ cpu->r[0] = cpu->lr;
/* 028B7D40 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028B7D40 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028B7D44 */ cpu->r[26] = cpu->r[3];
/* 028B7D48 */ _t2 = cpu->r[26] + 0x00000000u;
/* 028B7D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028B7D4C */ _t3 = cpu->r[26] + 0x0000000Cu;
/* 028B7D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028B7D50 */ _t4 = cpu->r[12] + 0x00000020u;
/* 028B7D50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
/* 028B7D54 */ _t5 = cpu->r[9] + 0x00000008u;
/* 028B7D54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
/* 028B7D58 */ _t6 = cpu->r[9] + 0x0000000Cu;
/* 028B7D58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
/* 028B7D5C */ _t7 = cpu->r[6] + 0x0000000Cu;
/* 028B7D5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
/* 028B7D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
/* 028B7D64 */ cpu->r[27] = cpu->r[4];
/* 028B7D68 */ _t8 = cpu->r[7] + 0x00000030u;
/* 028B7D68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028B7D6C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B7D6C */ _t10 = _t9 & 0x00000001u;
/* 028B7D6C */ if (_t10) goto L_028B7E6C; else goto L_028B7D70;
L_028B7D70: ; // 0x28b7d70
/* 028B7D70 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x00000018u);
/* 028B7D74 */ cpu->r[31] = cpu->r[8] + cpu->r[0];
L_028B7D78: ; // 0x28b7d78
/* 028B7D78 */ _t11 = cpu->r[31] + 0x00000008u;
/* 028B7D78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028B7D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028B7D80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7D80 */ _t13 = _t12 & 0x00000001u;
/* 028B7D80 */ if (_t13) goto L_028B7E5C; else goto L_028B7D84;
L_028B7D84: ; // 0x28b7d84
/* 028B7D84 */ _t14 = cpu->r[11] + 0x00000014u;
/* 028B7D84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028B7D88 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
/* 028B7D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B7D8C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7D8C */ _t16 = _t15 & 0x00000001u;
/* 028B7D8C */ if (_t16) goto L_028B7D90; else goto L_028B7DA4;
L_028B7D90: ; // 0x28b7d90
/* 028B7D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028B7D94 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7D94 */ _t18 = _t17 & 0x00000001u;
/* 028B7D94 */ if (_t18) goto L_028B7D98; else goto L_028B7DA4;
L_028B7D98: ; // 0x28b7d98
/* 028B7D98 */ _t19 = cpu->r[26] + 0x0000001Cu;
/* 028B7D98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
/* 028B7D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B7DA0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7DA0 */ _t21 = _t20 & 0x00000001u;
/* 028B7DA0 */ if (_t21) goto L_028B7E5C; else goto L_028B7DA4;
L_028B7DA4: ; // 0x28b7da4
/* 028B7DA4 */ _t22 = cpu->r[26] + 0x00000008u;
/* 028B7DA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028B7DA8 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028B7DA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
/* 028B7DAC */ Gambit_fn_028A8CF8(cpu);
/* 028B7DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B7DB4 */ cpu->r[3] = cpu->r[26];
/* 028B7DB8 */ cpu->r[4] = cpu->r[29];
/* 028B7DBC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7DBC */ _t25 = _t24 & 0x00000001u;
/* 028B7DBC */ if (_t25) goto L_028B7E2C; else goto L_028B7DC0;
L_028B7DC0: ; // 0x28b7dc0
/* 028B7DC0 */ _t26 = cpu->r[31] + 0x00000008u;
/* 028B7DC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
/* 028B7DC4 */ _t27 = cpu->r[6] + 0x00000014u;
/* 028B7DC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
/* 028B7DC8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
/* 028B7DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B7DCC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7DCC */ _t29 = _t28 & 0x00000001u;
/* 028B7DCC */ if (_t29) goto L_028B7DF8; else goto L_028B7DD0;
L_028B7DD0: ; // 0x28b7dd0
/* 028B7DD0 */ Gambit_fn_028B8878(cpu);
/* 028B7DD4 */ _t30 = cpu->r[3] + 0x00000004u;
/* 028B7DD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
/* 028B7DD8 */ _t31 = cpu->r[7] + 0x00000000u;
/* 028B7DD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
/* 028B7DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B7DE0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7DE0 */ _t33 = _t32 & 0x00000001u;
/* 028B7DE0 */ if (_t33) goto L_028B7E08; else goto L_028B7DE4;
L_028B7DE4: ; // 0x28b7de4
/* 028B7DE4 */ _t34 = cpu->r[10] + 0x0000000Cu;
/* 028B7DE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
/* 028B7DE8 */ _t35 = cpu->r[7] + 0x00000004u;
/* 028B7DE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
/* 028B7DEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028B7DF0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7DF0 */ _t37 = _t36 & 0x00000001u;
/* 028B7DF0 */ if (_t37) goto L_028B7E5C; else goto L_028B7DF4;
L_028B7DF4: ; // 0x28b7df4
/* 028B7DF4 */ goto L_028B7E08;
L_028B7DF8: ; // 0x28b7df8
/* 028B7DF8 */ Gambit_fn_028B8878(cpu);
/* 028B7DFC */ _t38 = cpu->r[3] + 0x00000008u;
/* 028B7DFC */ cpu->r[12] = rbrew_read8(cpu->mem, _t38);
/* 028B7E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B7E04 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7E04 */ _t40 = _t39 & 0x00000001u;
/* 028B7E04 */ if (_t40) goto L_028B7E08; else goto L_028B7E5C;
L_028B7E08: ; // 0x28b7e08
/* 028B7E08 */ cpu->r[3] = cpu->r[26];
/* 028B7E0C */ cpu->r[4] = cpu->r[29];
/* 028B7E10 */ Gambit_fn_028B7CD8(cpu);
/* 028B7E14 */ cpu->r[30] = 0x00000001u;
/* 028B7E18 */ cpu->r[4] = cpu->r[29];
/* 028B7E1C */ cpu->r[3] = cpu->r[26];
/* 028B7E20 */ Gambit_fn_028B8878(cpu);
/* 028B7E24 */ _t41 = cpu->r[3] + 0x00000008u;
/* 028B7E24 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[30]);
/* 028B7E28 */ goto L_028B7E5C;
L_028B7E2C: ; // 0x28b7e2c
/* 028B7E2C */ Gambit_fn_028B8878(cpu);
/* 028B7E30 */ _t42 = cpu->r[3] + 0x00000008u;
/* 028B7E30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
/* 028B7E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B7E38 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7E38 */ _t44 = _t43 & 0x00000001u;
/* 028B7E38 */ if (_t44) goto L_028B7E5C; else goto L_028B7E3C;
L_028B7E3C: ; // 0x28b7e3c
/* 028B7E3C */ cpu->r[3] = cpu->r[26];
/* 028B7E40 */ cpu->r[4] = cpu->r[29];
/* 028B7E44 */ Gambit_fn_028B87D0(cpu);
/* 028B7E48 */ cpu->r[30] = 0x00000000u;
/* 028B7E4C */ cpu->r[4] = cpu->r[29];
/* 028B7E50 */ cpu->r[3] = cpu->r[26];
/* 028B7E54 */ Gambit_fn_028B8878(cpu);
/* 028B7E58 */ _t45 = cpu->r[3] + 0x00000008u;
/* 028B7E58 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
L_028B7E5C: ; // 0x28b7e5c
/* 028B7E5C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028B7E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
/* 028B7E64 */ cpu->r[31] = cpu->r[31] + 0x00000018u;
/* 028B7E68 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B7E68 */ _t47 = _t46 & 0x00000001u;
/* 028B7E68 */ if (_t47) goto L_028B7E6C; else goto L_028B7D78;
L_028B7E6C: ; // 0x28b7e6c
/* 028B7E6C */ /* nop */
/* 028B7E70 */ _t48 = cpu->r[1] + 0x00000024u;
/* 028B7E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028B7E74 */ cpu->lr = cpu->r[0];
/* 028B7E78 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028B7E7C */ return;
}
// fn_028B7E84 @ 0x28b7e84
void Gambit_fn_028B7E84(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028B7E84: ; // 0x28b7e84
/* 028B7E84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B7E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B7E84 */ cpu->r[1] = _t0;
/* 028B7E88 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B7E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B7E8C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028B7E8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028B7E90 */ _t3 = cpu->r[3] + 0x00000008u;
/* 028B7E90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028B7E94 */ _t4 = cpu->r[3] + 0x00000010u;
/* 028B7E94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028B7E98 */ _t5 = cpu->r[11] + 0x00000004u;
/* 028B7E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028B7E9C */ cpu->r[10] = cpu->r[12] ^ cpu->r[0];
/* 028B7EA0 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu;
/* 028B7EA4 */ cpu->r[4] = cpu->r[10] - cpu->r[12];
/* 028B7EA8 */ cpu->r[31] = cpu->r[3];
/* 028B7EAC */ Gambit_fn_028B7D34(cpu);
/* 028B7EB0 */ _t6 = cpu->r[31] + 0x00000008u;
/* 028B7EB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028B7EB4 */ _t7 = cpu->r[11] + 0x00000004u;
/* 028B7EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028B7EB8 */ _t8 = cpu->r[31] + 0x00000010u;
/* 028B7EB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028B7EBC */ _t9 = cpu->r[1] + 0x00000014u;
/* 028B7EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028B7EC0 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028B7EC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028B7EC4 */ cpu->lr = cpu->r[0];
/* 028B7EC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B7ECC */ return;
}
// fn_028B7ED4 @ 0x28b7ed4
void Gambit_fn_028B7ED4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028B7ED4: ; // 0x28b7ed4
/* 028B7ED4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B7ED4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B7ED4 */ cpu->r[1] = _t0;
/* 028B7ED8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B7ED8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B7EDC */ cpu->r[31] = cpu->r[3];
/* 028B7EE0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028B7EE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028B7EE4 */ _t3 = cpu->r[31] + 0x00000008u;
/* 028B7EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028B7EE8 */ _t4 = cpu->r[31] + 0x00000010u;
/* 028B7EE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028B7EEC */ _t5 = cpu->r[12] + 0x00000004u;
/* 028B7EEC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
/* 028B7EF0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028B7EF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7EF4 */ _t7 = _t6 & 0x00000001u;
/* 028B7EF4 */ if (_t7) goto L_028B7F1C; else goto L_028B7EF8;
L_028B7EF8: ; // 0x28b7ef8
/* 028B7EF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028B7EFC */ /* nop */
/* 028B7F00 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x0000001Fu, 0x0000001Fu);
/* 028B7F04 */ cpu->r[3] = cpu->r[31];
/* 028B7F08 */ cpu->r[4] = cpu->r[12] ^ 0x00000001u;
/* 028B7F0C */ Gambit_fn_028B7D34(cpu);
/* 028B7F10 */ _t8 = cpu->r[31] + 0x00000008u;
/* 028B7F10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028B7F14 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028B7F14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028B7F18 */ _t10 = cpu->r[31] + 0x00000010u;
/* 028B7F18 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
L_028B7F1C: ; // 0x28b7f1c
/* 028B7F1C */ _t11 = cpu->r[1] + 0x00000014u;
/* 028B7F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028B7F20 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028B7F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028B7F24 */ cpu->lr = cpu->r[0];
/* 028B7F28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B7F2C */ return;
}
// fn_028B7F30 @ 0x28b7f30
void Gambit_fn_028B7F30(CPUState* cpu) {
uint32_t _t0, _t1;
L_028B7F30: ; // 0x28b7f30
/* 028B7F30 */ _t0 = cpu->r[3] + 0x00000010u;
/* 028B7F30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028B7F34 */ cpu->r[0] = 0x00000001u;
/* 028B7F38 */ _t1 = cpu->r[12] + 0x00000000u;
/* 028B7F38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028B7F3C */ return;
}
// fn_028B7F40 @ 0x28b7f40
void Gambit_fn_028B7F40(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58;
L_028B7F40: ; // 0x28b7f40
/* 028B7F40 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028B7F40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B7F40 */ cpu->r[1] = _t0;
/* 028B7F44 */ cpu->r[0] = cpu->lr;
/* 028B7F48 */ /* nop */
/* 028B7F4C */ cpu->r[31] = cpu->r[3];
/* 028B7F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028B7F50 */ cpu->r[28] = cpu->r[4];
/* 028B7F54 */ cpu->r[30] = cpu->r[6];
/* 028B7F58 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028B7F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028B7F5C */ cpu->r[29] = cpu->r[5];
/* 028B7F60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7F60 */ _t3 = _t2 & 0x00000001u;
/* 028B7F60 */ if (_t3) goto L_028B7F64; else goto L_028B7F74;
L_028B7F64: ; // 0x28b7f64
/* 028B7F64 */ cpu->r[3] = 0x00000014u;
/* 028B7F68 */ Gambit_fn_02801A78(cpu);
/* 028B7F6C */ cpu->r[31] = cpu->r[3];
/* 028B7F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028B7F70 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7F70 */ _t5 = _t4 & 0x00000001u;
/* 028B7F70 */ if (_t5) goto L_028B8100; else goto L_028B7F74;
L_028B7F74: ; // 0x28b7f74
/* 028B7F74 */ _t6 = cpu->r[31] + 0x00000004u;
/* 028B7F74 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
/* 028B7F78 */ cpu->r[6] = 0x10140000u;
/* 028B7F7C */ cpu->r[27] = 0x00000000u;
/* 028B7F80 */ _t7 = cpu->r[31] + 0x00000008u;
/* 028B7F80 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028B7F84 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D40u;
/* 028B7F88 */ _t8 = cpu->r[31] + 0x00000010u;
/* 028B7F88 */ rbrew_write32(cpu->mem, _t8, cpu->r[27]);
/* 028B7F8C */ _t9 = cpu->r[31] + 0x00000000u;
/* 028B7F8C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
/* 028B7F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028B7F94 */ _t10 = cpu->r[31] + 0x0000000Cu;
/* 028B7F94 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
/* 028B7F98 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7F98 */ _t12 = _t11 & 0x00000001u;
/* 028B7F98 */ if (_t12) goto L_028B8064; else goto L_028B7F9C;
L_028B7F9C: ; // 0x28b7f9c
/* 028B7F9C */ cpu->r[28] = 0x101D0000u;
/* 028B7FA0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000002Cu);
/* 028B7FA4 */ _t13 = cpu->r[28] + 0xFFFFC3D4u;
/* 028B7FA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
/* 028B7FA4 */ cpu->r[28] = _t13;
/* 028B7FA8 */ cpu->r[5] = 0x00000004u;
/* 028B7FAC */ cpu->r[4] = cpu->r[29];
/* 028B7FB0 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
/* 028B7FB4 */ Gambit_fn_02801ADC(cpu);
/* 028B7FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B7FBC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B7FBC */ _t15 = _t14 & 0x00000001u;
/* 028B7FBC */ if (_t15) goto L_028B8000; else goto L_028B7FC0;
L_028B7FC0: ; // 0x28b7fc0
/* 028B7FC0 */ cpu->r[6] = 0x028C0000u;
/* 028B7FC4 */ _t16 = cpu->r[28] + 0x00000000u;
/* 028B7FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028B7FC8 */ cpu->r[5] = 0x0000002Cu;
/* 028B7FCC */ cpu->r[6] = cpu->r[6] + 0xFFFF85E0u;
/* 028B7FD0 */ cpu->r[4] = cpu->r[30];
/* 028B7FD4 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
/* 028B7FD8 */ cpu->r[7] = 0x00000000u;
/* 028B7FDC */ Gambit_fn_02C82DBC(cpu);
/* 028B7FE0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000002Cu);
/* 028B7FE4 */ cpu->r[4] = 0x00000000u;
/* 028B7FE8 */ _t17 = cpu->r[31] + 0x0000000Cu;
/* 028B7FE8 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
/* 028B7FEC */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028B7FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
/* 028B7FF4 */ cpu->r[9] = 0x00000000u;
/* 028B7FF8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B7FF8 */ _t19 = _t18 & 0x00000001u;
/* 028B7FF8 */ if (_t19) goto L_028B8024; else goto L_028B7FFC;
L_028B7FFC: ; // 0x28b7ffc
/* 028B7FFC */ goto L_028B8020;
L_028B8000: ; // 0x28b8000
/* 028B8000 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000002Cu);
/* 028B8004 */ cpu->r[3] = 0x00000000u;
/* 028B8008 */ cpu->r[4] = cpu->r[3];
/* 028B800C */ _t20 = cpu->r[31] + 0x0000000Cu;
/* 028B800C */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
/* 028B8010 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028B8014 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
/* 028B8018 */ cpu->r[9] = 0x00000000u;
/* 028B801C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B801C */ _t22 = _t21 & 0x00000001u;
/* 028B801C */ if (_t22) goto L_028B8024; else goto L_028B8020;
L_028B8020: ; // 0x28b8020
/* 028B8020 */ cpu->r[30] = 0x00000001u;
L_028B8024: ; // 0x28b8024
/* 028B8024 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000002Cu);
L_028B8028: ; // 0x28b8028
/* 028B8028 */ cpu->r[4] = cpu->r[29];
/* 028B802C */ cpu->r[3] = 0x00000028u;
/* 028B8030 */ cpu->r[5] = 0x00000004u;
/* 028B8034 */ Gambit_fn_02801AC8(cpu);
/* 028B8038 */ cpu->r[0] = cpu->r[3];
/* 028B8038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B803C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B803C */ _t24 = _t23 & 0x00000001u;
/* 028B803C */ if (_t24) goto L_028B804C; else goto L_028B8040;
L_028B8040: ; // 0x28b8040
/* 028B8040 */ cpu->r[3] = cpu->r[0];
/* 028B8044 */ Gambit_fn_028B79C4(cpu);
/* 028B8048 */ cpu->r[0] = cpu->r[3];
L_028B804C: ; // 0x28b804c
/* 028B804C */ _t25 = cpu->r[31] + 0x0000000Cu;
/* 028B804C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028B8050 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028B8050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028B8054 */ cpu->r[11] = cpu->r[12] + cpu->r[28];
/* 028B8058 */ cpu->r[28] = cpu->r[28] + 0x0000002Cu;
/* 028B805C */ _t26 = cpu->r[11] + 0x00000008u;
/* 028B805C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
/* 028B8060 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8060 */ _t28 = _t27 & 0x00000001u;
/* 028B8060 */ if (_t28) goto L_028B8064; else goto L_028B8028;
L_028B8064: ; // 0x28b8064
/* 028B8064 */ cpu->r[4] = cpu->r[29];
/* 028B8068 */ cpu->r[3] = 0x00000064u;
/* 028B806C */ cpu->r[5] = 0x00000004u;
/* 028B8070 */ Gambit_fn_02801AC8(cpu);
/* 028B8074 */ cpu->r[12] = cpu->r[3];
/* 028B8074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B8078 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8078 */ _t30 = _t29 & 0x00000001u;
/* 028B8078 */ if (_t30) goto L_028B80F0; else goto L_028B807C;
L_028B807C: ; // 0x28b807c
/* 028B807C */ _t31 = cpu->r[12] + 0x0000004Cu;
/* 028B807C */ rbrew_write32(cpu->mem, _t31, cpu->r[27]);
/* 028B8080 */ cpu->r[3] = cpu->r[31];
/* 028B8084 */ _t32 = cpu->r[12] + 0x00000000u;
/* 028B8084 */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
/* 028B8088 */ _t33 = cpu->r[12] + 0x00000004u;
/* 028B8088 */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
/* 028B808C */ _t34 = cpu->r[12] + 0x00000008u;
/* 028B808C */ rbrew_write32(cpu->mem, _t34, cpu->r[27]);
/* 028B8090 */ _t35 = cpu->r[12] + 0x0000001Cu;
/* 028B8090 */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
/* 028B8094 */ _t36 = cpu->r[12] + 0x00000038u;
/* 028B8094 */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
/* 028B8098 */ _t37 = cpu->r[12] + 0x00000020u;
/* 028B8098 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
/* 028B809C */ _t38 = cpu->r[12] + 0x00000060u;
/* 028B809C */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
/* 028B80A0 */ _t39 = cpu->r[12] + 0x00000050u;
/* 028B80A0 */ rbrew_write32(cpu->mem, _t39, cpu->r[27]);
/* 028B80A4 */ _t40 = cpu->r[12] + 0x00000030u;
/* 028B80A4 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
/* 028B80A8 */ _t41 = cpu->r[12] + 0x00000048u;
/* 028B80A8 */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
/* 028B80AC */ _t42 = cpu->r[12] + 0x0000000Cu;
/* 028B80AC */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
/* 028B80B0 */ _t43 = cpu->r[12] + 0x00000018u;
/* 028B80B0 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
/* 028B80B4 */ _t44 = cpu->r[12] + 0x0000003Cu;
/* 028B80B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
/* 028B80B8 */ _t45 = cpu->r[12] + 0x00000024u;
/* 028B80B8 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
/* 028B80BC */ _t46 = cpu->r[12] + 0x0000005Cu;
/* 028B80BC */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
/* 028B80C0 */ _t47 = cpu->r[12] + 0x00000054u;
/* 028B80C0 */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
/* 028B80C4 */ _t48 = cpu->r[12] + 0x0000002Cu;
/* 028B80C4 */ rbrew_write32(cpu->mem, _t48, cpu->r[27]);
/* 028B80C8 */ _t49 = cpu->r[12] + 0x00000044u;
/* 028B80C8 */ rbrew_write32(cpu->mem, _t49, cpu->r[27]);
/* 028B80CC */ _t50 = cpu->r[12] + 0x00000010u;
/* 028B80CC */ rbrew_write32(cpu->mem, _t50, cpu->r[27]);
/* 028B80D0 */ _t51 = cpu->r[12] + 0x00000014u;
/* 028B80D0 */ rbrew_write32(cpu->mem, _t51, cpu->r[27]);
/* 028B80D4 */ _t52 = cpu->r[12] + 0x00000040u;
/* 028B80D4 */ rbrew_write32(cpu->mem, _t52, cpu->r[27]);
/* 028B80D8 */ _t53 = cpu->r[12] + 0x00000028u;
/* 028B80D8 */ rbrew_write32(cpu->mem, _t53, cpu->r[27]);
/* 028B80DC */ _t54 = cpu->r[12] + 0x00000058u;
/* 028B80DC */ rbrew_write32(cpu->mem, _t54, cpu->r[27]);
/* 028B80E0 */ _t55 = cpu->r[12] + 0x00000034u;
/* 028B80E0 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
/* 028B80E4 */ _t56 = cpu->r[31] + 0x00000010u;
/* 028B80E4 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
/* 028B80E8 */ Gambit_fn_028B7F30(cpu);
/* 028B80EC */ goto L_028B8100;
L_028B80F0: ; // 0x28b80f0
/* 028B80F0 */ cpu->r[12] = 0x00000000u;
/* 028B80F4 */ cpu->r[3] = cpu->r[31];
/* 028B80F8 */ _t57 = cpu->r[31] + 0x00000010u;
/* 028B80F8 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
/* 028B80FC */ Gambit_fn_028B7F30(cpu);
L_028B8100: ; // 0x28b8100
/* 028B8100 */ cpu->r[3] = cpu->r[31];
/* 028B8104 */ /* nop */
/* 028B8108 */ _t58 = cpu->r[1] + 0x00000024u;
/* 028B8108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028B810C */ cpu->lr = cpu->r[0];
/* 028B8110 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028B8114 */ return;
}
// fn_028B8118 @ 0x28b8118
void Gambit_fn_028B8118(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
L_028B8118: ; // 0x28b8118
/* 028B8118 */ cpu->r[0] = cpu->lr;
/* 028B811C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B811C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B811C */ cpu->r[1] = _t0;
/* 028B8120 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B8120 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B8124 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028B8124 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028B8128 */ cpu->r[31] = cpu->r[4];
/* 028B812C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028B812C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B8130 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028B8130 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
/* 028B8134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000058u);
/* 028B8138 */ cpu->r[30] = cpu->r[3];
/* 028B813C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B813C */ _t6 = _t5 & 0x00000001u;
/* 028B813C */ if (_t6) goto L_028B8140; else goto L_028B8164;
L_028B8140: ; // 0x28b8140
/* 028B8140 */ _t7 = cpu->r[31] + 0x00000001u;
/* 028B8140 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
/* 028B8144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000004Cu);
/* 028B8148 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8148 */ _t9 = _t8 & 0x00000001u;
/* 028B8148 */ if (_t9) goto L_028B814C; else goto L_028B8164;
L_028B814C: ; // 0x28b814c
/* 028B814C */ _t10 = cpu->r[31] + 0x00000002u;
/* 028B814C */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
/* 028B8150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000004Eu);
/* 028B8154 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8154 */ _t12 = _t11 & 0x00000001u;
/* 028B8154 */ if (_t12) goto L_028B8158; else goto L_028B8164;
L_028B8158: ; // 0x28b8158
/* 028B8158 */ _t13 = cpu->r[31] + 0x00000003u;
/* 028B8158 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
/* 028B815C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000004Bu);
/* 028B8160 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8160 */ _t15 = _t14 & 0x00000001u;
/* 028B8160 */ if (_t15) goto L_028B819C; else goto L_028B8164;
L_028B8164: ; // 0x28b8164
/* 028B8164 */ cpu->r[6] = 0x10140000u;
/* 028B8168 */ _t16 = cpu->r[30] + 0x00000004u;
/* 028B8168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028B816C */ cpu->r[4] = 0x00000010u;
/* 028B8170 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D10u;
/* 028B8174 */ cpu->r[5] = 0x00000000u;
/* 028B8178 */ _t17 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028B8178 */ _t18 = _t17 & 0x00000001u;
/* 028B8178 */ if (_t18) goto L_028B817C; // else: addr-0 trap, fall-through
L_028B817C: ; // 0x28b817c
/* 028B817C */ Gambit_fn_028AA73C(cpu);
/* 028B8180 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028B8180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028B8184 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028B8184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028B8188 */ cpu->lr = cpu->r[0];
/* 028B818C */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028B818C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028B8190 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B8194 */ cpu->r[3] = 0x00000000u;
/* 028B8198 */ return;
L_028B819C: ; // 0x28b819c
/* 028B819C */ _t22 = cpu->r[30] + 0x00000004u;
/* 028B819C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028B81A0 */ _t23 = cpu->r[3] + 0x00000000u;
/* 028B81A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028B81A4 */ _t24 = cpu->r[12] + 0x00000054u;
/* 028B81A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028B81A8 */ cpu->ctr = cpu->r[0];
/* 028B81AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B81B0 */ _t25 = cpu->r[31] + 0x00000008u;
/* 028B81B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028B81B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
/* 028B81B8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B81B8 */ _t27 = _t26 & 0x00000001u;
/* 028B81B8 */ if (_t27) goto L_028B8214; else goto L_028B81BC;
L_028B81BC: ; // 0x28b81bc
/* 028B81BC */ _t28 = cpu->r[30] + 0x00000004u;
/* 028B81BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028B81C0 */ _t29 = cpu->r[30] + 0x00000000u;
/* 028B81C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
/* 028B81C4 */ _t30 = cpu->r[11] + 0x00000054u;
/* 028B81C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028B81C8 */ cpu->ctr = cpu->r[12];
/* 028B81CC */ cpu->r[3] = cpu->r[30];
/* 028B81D0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B81D4 */ cpu->r[7] = cpu->r[3];
/* 028B81D8 */ cpu->r[6] = 0x10140000u;
/* 028B81DC */ _t31 = cpu->r[31] + 0x00000008u;
/* 028B81DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
/* 028B81E0 */ cpu->r[3] = cpu->r[30];
/* 028B81E4 */ cpu->r[4] = 0x00000011u;
/* 028B81E8 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D2Cu;
/* 028B81EC */ cpu->r[5] = 0x00000000u;
/* 028B81F0 */ _t32 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028B81F0 */ _t33 = _t32 & 0x00000001u;
/* 028B81F0 */ if (_t33) goto L_028B81F4; // else: addr-0 trap, fall-through
L_028B81F4: ; // 0x28b81f4
/* 028B81F4 */ Gambit_fn_028AA73C(cpu);
/* 028B81F8 */ _t34 = cpu->r[1] + 0x00000014u;
/* 028B81F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028B81FC */ _t35 = cpu->r[1] + 0x00000008u;
/* 028B81FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028B8200 */ cpu->lr = cpu->r[0];
/* 028B8204 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028B8204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028B8208 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B820C */ cpu->r[3] = 0x00000000u;
/* 028B8210 */ return;
L_028B8214: ; // 0x28b8214
/* 028B8214 */ _t37 = cpu->r[1] + 0x00000014u;
/* 028B8214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028B8218 */ _t38 = cpu->r[1] + 0x00000008u;
/* 028B8218 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
/* 028B821C */ cpu->lr = cpu->r[0];
/* 028B8220 */ _t39 = cpu->r[1] + 0x0000000Cu;
/* 028B8220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
/* 028B8224 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B8228 */ cpu->r[3] = 0x00000001u;
/* 028B822C */ return;
}
// fn_028B811C @ 0x28b811c
void Gambit_fn_028B811C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
L_028B811C: ; // 0x28b811c
/* 028B811C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B811C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B811C */ cpu->r[1] = _t0;
/* 028B8120 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B8120 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B8124 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028B8124 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028B8128 */ cpu->r[31] = cpu->r[4];
/* 028B812C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028B812C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B8130 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028B8130 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
/* 028B8134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000058u);
/* 028B8138 */ cpu->r[30] = cpu->r[3];
/* 028B813C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B813C */ _t6 = _t5 & 0x00000001u;
/* 028B813C */ if (_t6) goto L_028B8140; else goto L_028B8164;
L_028B8140: ; // 0x28b8140
/* 028B8140 */ _t7 = cpu->r[31] + 0x00000001u;
/* 028B8140 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
/* 028B8144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000004Cu);
/* 028B8148 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8148 */ _t9 = _t8 & 0x00000001u;
/* 028B8148 */ if (_t9) goto L_028B814C; else goto L_028B8164;
L_028B814C: ; // 0x28b814c
/* 028B814C */ _t10 = cpu->r[31] + 0x00000002u;
/* 028B814C */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
/* 028B8150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000004Eu);
/* 028B8154 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8154 */ _t12 = _t11 & 0x00000001u;
/* 028B8154 */ if (_t12) goto L_028B8158; else goto L_028B8164;
L_028B8158: ; // 0x28b8158
/* 028B8158 */ _t13 = cpu->r[31] + 0x00000003u;
/* 028B8158 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
/* 028B815C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000004Bu);
/* 028B8160 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8160 */ _t15 = _t14 & 0x00000001u;
/* 028B8160 */ if (_t15) goto L_028B819C; else goto L_028B8164;
L_028B8164: ; // 0x28b8164
/* 028B8164 */ cpu->r[6] = 0x10140000u;
/* 028B8168 */ _t16 = cpu->r[30] + 0x00000004u;
/* 028B8168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028B816C */ cpu->r[4] = 0x00000010u;
/* 028B8170 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D10u;
/* 028B8174 */ cpu->r[5] = 0x00000000u;
/* 028B8178 */ _t17 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028B8178 */ _t18 = _t17 & 0x00000001u;
/* 028B8178 */ if (_t18) goto L_028B817C; // else: addr-0 trap, fall-through
L_028B817C: ; // 0x28b817c
/* 028B817C */ Gambit_fn_028AA73C(cpu);
/* 028B8180 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028B8180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028B8184 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028B8184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028B8188 */ cpu->lr = cpu->r[0];
/* 028B818C */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028B818C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028B8190 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B8194 */ cpu->r[3] = 0x00000000u;
/* 028B8198 */ return;
L_028B819C: ; // 0x28b819c
/* 028B819C */ _t22 = cpu->r[30] + 0x00000004u;
/* 028B819C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028B81A0 */ _t23 = cpu->r[3] + 0x00000000u;
/* 028B81A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028B81A4 */ _t24 = cpu->r[12] + 0x00000054u;
/* 028B81A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028B81A8 */ cpu->ctr = cpu->r[0];
/* 028B81AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B81B0 */ _t25 = cpu->r[31] + 0x00000008u;
/* 028B81B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028B81B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
/* 028B81B8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B81B8 */ _t27 = _t26 & 0x00000001u;
/* 028B81B8 */ if (_t27) goto L_028B8214; else goto L_028B81BC;
L_028B81BC: ; // 0x28b81bc
/* 028B81BC */ _t28 = cpu->r[30] + 0x00000004u;
/* 028B81BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028B81C0 */ _t29 = cpu->r[30] + 0x00000000u;
/* 028B81C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
/* 028B81C4 */ _t30 = cpu->r[11] + 0x00000054u;
/* 028B81C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028B81C8 */ cpu->ctr = cpu->r[12];
/* 028B81CC */ cpu->r[3] = cpu->r[30];
/* 028B81D0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B81D4 */ cpu->r[7] = cpu->r[3];
/* 028B81D8 */ cpu->r[6] = 0x10140000u;
/* 028B81DC */ _t31 = cpu->r[31] + 0x00000008u;
/* 028B81DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
/* 028B81E0 */ cpu->r[3] = cpu->r[30];
/* 028B81E4 */ cpu->r[4] = 0x00000011u;
/* 028B81E8 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D2Cu;
/* 028B81EC */ cpu->r[5] = 0x00000000u;
/* 028B81F0 */ _t32 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028B81F0 */ _t33 = _t32 & 0x00000001u;
/* 028B81F0 */ if (_t33) goto L_028B81F4; // else: addr-0 trap, fall-through
L_028B81F4: ; // 0x28b81f4
/* 028B81F4 */ Gambit_fn_028AA73C(cpu);
/* 028B81F8 */ _t34 = cpu->r[1] + 0x00000014u;
/* 028B81F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028B81FC */ _t35 = cpu->r[1] + 0x00000008u;
/* 028B81FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028B8200 */ cpu->lr = cpu->r[0];
/* 028B8204 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028B8204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028B8208 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B820C */ cpu->r[3] = 0x00000000u;
/* 028B8210 */ return;
L_028B8214: ; // 0x28b8214
/* 028B8214 */ _t37 = cpu->r[1] + 0x00000014u;
/* 028B8214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028B8218 */ _t38 = cpu->r[1] + 0x00000008u;
/* 028B8218 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
/* 028B821C */ cpu->lr = cpu->r[0];
/* 028B8220 */ _t39 = cpu->r[1] + 0x0000000Cu;
/* 028B8220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
/* 028B8224 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B8228 */ cpu->r[3] = 0x00000001u;
/* 028B822C */ return;
}
// fn_028B8230 @ 0x28b8230
void Gambit_fn_028B8230(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81;
L_028B8230: ; // 0x28b8230
/* 028B8230 */ cpu->r[0] = cpu->lr;
/* 028B8234 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B8234 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8234 */ cpu->r[1] = _t0;
/* 028B8238 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028B8238 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028B823C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B823C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B8240 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028B8240 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028B8244 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000002Cu);
/* 028B8248 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028B8248 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028B824C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028B824C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B8250 */ _t6 = cpu->r[3] + 0x0000000Cu;
/* 028B8250 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028B8254 */ _t7 = cpu->r[9] + cpu->r[8];
/* 028B8254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
/* 028B8258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028B825C */ cpu->r[30] = cpu->r[9] + cpu->r[8];
/* 028B8260 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8260 */ _t9 = _t8 & 0x00000001u;
/* 028B8260 */ if (_t9) goto L_028B8264; else goto L_028B8330;
L_028B8264: ; // 0x28b8264
/* 028B8264 */ _t10 = cpu->r[30] + 0x00000000u;
/* 028B8264 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
/* 028B8268 */ cpu->r[10] = 0x00000000u;
/* 028B826C */ _t11 = cpu->r[30] + 0x00000024u;
/* 028B826C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
/* 028B8270 */ _t12 = cpu->r[30] + 0x0000001Cu;
/* 028B8270 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
/* 028B8274 */ _t13 = cpu->r[30] + 0x0000000Cu;
/* 028B8274 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
/* 028B8278 */ _t14 = cpu->r[30] + 0x00000018u;
/* 028B8278 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
/* 028B827C */ _t15 = cpu->r[30] + 0x00000028u;
/* 028B827C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
/* 028B8280 */ _t16 = cpu->r[30] + 0x00000020u;
/* 028B8280 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
/* 028B8284 */ _t17 = cpu->r[30] + 0x00000010u;
/* 028B8284 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
/* 028B8288 */ _t18 = cpu->r[30] + 0x00000014u;
/* 028B8288 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
/* 028B828C */ cpu->r[31] = cpu->r[5];
/* 028B8290 */ _t19 = cpu->r[30] + 0x00000004u;
/* 028B8290 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028B8294 */ _t20 = cpu->r[31] + 0x00000034u;
/* 028B8294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028B8298 */ cpu->r[0] = cpu->r[12] + cpu->r[5];
/* 028B829C */ _t21 = cpu->r[30] + 0x00000020u;
/* 028B829C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028B82A0 */ _t22 = cpu->r[31] + 0x00000038u;
/* 028B82A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
/* 028B82A4 */ cpu->r[6] = cpu->r[7] + cpu->r[5];
/* 028B82A8 */ _t23 = cpu->r[30] + 0x00000024u;
/* 028B82A8 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
/* 028B82AC */ _t24 = cpu->r[31] + 0x0000003Cu;
/* 028B82AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028B82B0 */ cpu->r[8] = cpu->r[9] + cpu->r[5];
/* 028B82B4 */ _t25 = cpu->r[30] + 0x00000028u;
/* 028B82B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
/* 028B82B8 */ _t26 = cpu->r[31] + 0x00000030u;
/* 028B82B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028B82BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028B82C0 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
/* 028B82C4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B82C4 */ _t28 = _t27 & 0x00000001u;
/* 028B82C4 */ if (_t28) goto L_028B830C; else goto L_028B82C8;
L_028B82C8: ; // 0x28b82c8
/* 028B82C8 */ cpu->r[9] = cpu->r[4];
/* 028B82CC */ _t29 = cpu->r[30] + 0x00000004u;
/* 028B82CC */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
/* 028B82D0 */ _t30 = cpu->r[31] + 0x00000030u;
/* 028B82D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028B82D4 */ cpu->r[6] = 0x00000000u;
/* 028B82D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[11]);
/* 028B82DC */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B82DC */ _t32 = _t31 & 0x00000001u;
/* 028B82DC */ if (_t32) goto L_028B82E0; else goto L_028B830C;
L_028B82E0: ; // 0x28b82e0
/* 028B82E0 */ cpu->r[8] = 0x00000000u;
L_028B82E4: ; // 0x28b82e4
/* 028B82E4 */ _t33 = cpu->r[9] + cpu->r[8];
/* 028B82E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
/* 028B82E8 */ cpu->r[10] = cpu->r[10] + cpu->r[5];
/* 028B82EC */ _t34 = cpu->r[9] + cpu->r[8];
/* 028B82EC */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
/* 028B82F0 */ _t35 = cpu->r[31] + 0x00000030u;
/* 028B82F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
/* 028B82F4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028B82F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[11]);
/* 028B82FC */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028B8300 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8300 */ _t37 = _t36 & 0x00000001u;
/* 028B8300 */ if (_t37) goto L_028B8304; else goto L_028B830C;
L_028B8304: ; // 0x28b8304
/* 028B8304 */ _t38 = cpu->r[30] + 0x00000004u;
/* 028B8304 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
/* 028B8308 */ goto L_028B82E4;
L_028B830C: ; // 0x28b830c
/* 028B830C */ _t39 = cpu->r[31] + 0x0000000Cu;
/* 028B830C */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
/* 028B8310 */ _t40 = cpu->r[31] + 0x00000010u;
/* 028B8310 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
/* 028B8314 */ _t41 = cpu->r[31] + 0x00000018u;
/* 028B8314 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
/* 028B8318 */ cpu->r[12] = cpu->r[6] + cpu->r[7];
/* 028B831C */ cpu->r[0] = cpu->r[12] + cpu->r[9];
/* 028B8320 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028B8324 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028B8324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028B8328 */ cpu->r[28] = cpu->r[4] + cpu->r[11];
/* 028B832C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B832C */ _t43 = _t42 & 0x00000001u;
/* 028B832C */ if (_t43) goto L_028B8330; else goto L_028B8354;
L_028B8330: ; // 0x28b8330
/* 028B8330 */ _t44 = cpu->r[1] + 0x00000008u;
/* 028B8330 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
/* 028B8334 */ _t45 = cpu->r[1] + 0x0000000Cu;
/* 028B8334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
/* 028B8338 */ _t46 = cpu->r[1] + 0x0000001Cu;
/* 028B8338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028B833C */ _t47 = cpu->r[1] + 0x00000010u;
/* 028B833C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
/* 028B8340 */ cpu->lr = cpu->r[0];
/* 028B8344 */ _t48 = cpu->r[1] + 0x00000014u;
/* 028B8344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
/* 028B8348 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B834C */ cpu->r[3] = 0x00000000u;
/* 028B8350 */ return;
L_028B8354: ; // 0x28b8354
/* 028B8354 */ _t49 = cpu->r[30] + 0x00000028u;
/* 028B8354 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
/* 028B8358 */ cpu->r[4] = cpu->r[28];
/* 028B835C */ _t50 = cpu->r[31] + 0x00000014u;
/* 028B835C */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
/* 028B8360 */ _t51 = cpu->r[30] + 0x00000008u;
/* 028B8360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
/* 028B8364 */ Gambit_fn_028B7A24(cpu);
/* 028B8368 */ _t52 = cpu->r[31] + 0x0000001Cu;
/* 028B8368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
/* 028B836C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B8370 */ cpu->r[9] = cpu->r[28] + cpu->r[29];
/* 028B8374 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8374 */ _t54 = _t53 & 0x00000001u;
/* 028B8374 */ if (_t54) goto L_028B8380; else goto L_028B8378;
L_028B8378: ; // 0x28b8378
/* 028B8378 */ _t55 = cpu->r[30] + 0x0000000Cu;
/* 028B8378 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
/* 028B837C */ _t56 = cpu->r[31] + 0x0000001Cu;
/* 028B837C */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
L_028B8380: ; // 0x28b8380
/* 028B8380 */ _t57 = cpu->r[31] + 0x00000020u;
/* 028B8380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028B8384 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028B8388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B838C */ cpu->r[11] = cpu->r[9] + cpu->r[7];
/* 028B8390 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8390 */ _t59 = _t58 & 0x00000001u;
/* 028B8390 */ if (_t59) goto L_028B839C; else goto L_028B8394;
L_028B8394: ; // 0x28b8394
/* 028B8394 */ _t60 = cpu->r[30] + 0x00000010u;
/* 028B8394 */ rbrew_write32(cpu->mem, _t60, cpu->r[11]);
/* 028B8398 */ _t61 = cpu->r[31] + 0x00000020u;
/* 028B8398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
L_028B839C: ; // 0x28b839c
/* 028B839C */ _t62 = cpu->r[31] + 0x00000018u;
/* 028B839C */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
/* 028B83A0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028B83A4 */ cpu->r[12] = cpu->r[8] + 0x00000004u;
/* 028B83A8 */ _t63 = cpu->r[31] + 0x00000024u;
/* 028B83A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
/* 028B83AC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
/* 028B83B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028B83B4 */ cpu->r[7] = cpu->r[11] + cpu->r[0];
/* 028B83B8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B83B8 */ _t65 = _t64 & 0x00000001u;
/* 028B83B8 */ if (_t65) goto L_028B83C4; else goto L_028B83BC;
L_028B83BC: ; // 0x28b83bc
/* 028B83BC */ _t66 = cpu->r[30] + 0x00000014u;
/* 028B83BC */ rbrew_write32(cpu->mem, _t66, cpu->r[7]);
/* 028B83C0 */ _t67 = cpu->r[31] + 0x00000024u;
/* 028B83C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
L_028B83C4: ; // 0x28b83c4
/* 028B83C4 */ _t68 = cpu->r[31] + 0x00000028u;
/* 028B83C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028B83C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028B83CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B83D0 */ cpu->r[9] = cpu->r[7] + cpu->r[8];
/* 028B83D4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B83D4 */ _t70 = _t69 & 0x00000001u;
/* 028B83D4 */ if (_t70) goto L_028B83E0; else goto L_028B83D8;
L_028B83D8: ; // 0x28b83d8
/* 028B83D8 */ _t71 = cpu->r[30] + 0x00000018u;
/* 028B83D8 */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
/* 028B83DC */ _t72 = cpu->r[31] + 0x00000028u;
/* 028B83DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
L_028B83E0: ; // 0x28b83e0
/* 028B83E0 */ _t73 = cpu->r[31] + 0x0000002Cu;
/* 028B83E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
/* 028B83E4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028B83E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B83EC */ cpu->r[0] = cpu->r[9] + cpu->r[10];
/* 028B83F0 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B83F0 */ _t75 = _t74 & 0x00000001u;
/* 028B83F0 */ if (_t75) goto L_028B83F8; else goto L_028B83F4;
L_028B83F4: ; // 0x28b83f4
/* 028B83F4 */ _t76 = cpu->r[30] + 0x0000001Cu;
/* 028B83F4 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
L_028B83F8: ; // 0x28b83f8
/* 028B83F8 */ _t77 = cpu->r[1] + 0x00000008u;
/* 028B83F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t77);
/* 028B83FC */ _t78 = cpu->r[1] + 0x0000000Cu;
/* 028B83FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t78);
/* 028B8400 */ _t79 = cpu->r[1] + 0x0000001Cu;
/* 028B8400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
/* 028B8404 */ _t80 = cpu->r[1] + 0x00000010u;
/* 028B8404 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
/* 028B8408 */ cpu->lr = cpu->r[0];
/* 028B840C */ _t81 = cpu->r[1] + 0x00000014u;
/* 028B840C */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
/* 028B8410 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B8414 */ cpu->r[3] = 0x00000001u;
/* 028B8418 */ return;
}
// fn_028B8234 @ 0x28b8234
void Gambit_fn_028B8234(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81;
L_028B8234: ; // 0x28b8234
/* 028B8234 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B8234 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8234 */ cpu->r[1] = _t0;
/* 028B8238 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028B8238 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028B823C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B823C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B8240 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028B8240 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028B8244 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000002Cu);
/* 028B8248 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028B8248 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028B824C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028B824C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B8250 */ _t6 = cpu->r[3] + 0x0000000Cu;
/* 028B8250 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028B8254 */ _t7 = cpu->r[9] + cpu->r[8];
/* 028B8254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
/* 028B8258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028B825C */ cpu->r[30] = cpu->r[9] + cpu->r[8];
/* 028B8260 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8260 */ _t9 = _t8 & 0x00000001u;
/* 028B8260 */ if (_t9) goto L_028B8264; else goto L_028B8330;
L_028B8264: ; // 0x28b8264
/* 028B8264 */ _t10 = cpu->r[30] + 0x00000000u;
/* 028B8264 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
/* 028B8268 */ cpu->r[10] = 0x00000000u;
/* 028B826C */ _t11 = cpu->r[30] + 0x00000024u;
/* 028B826C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
/* 028B8270 */ _t12 = cpu->r[30] + 0x0000001Cu;
/* 028B8270 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
/* 028B8274 */ _t13 = cpu->r[30] + 0x0000000Cu;
/* 028B8274 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
/* 028B8278 */ _t14 = cpu->r[30] + 0x00000018u;
/* 028B8278 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
/* 028B827C */ _t15 = cpu->r[30] + 0x00000028u;
/* 028B827C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
/* 028B8280 */ _t16 = cpu->r[30] + 0x00000020u;
/* 028B8280 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
/* 028B8284 */ _t17 = cpu->r[30] + 0x00000010u;
/* 028B8284 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
/* 028B8288 */ _t18 = cpu->r[30] + 0x00000014u;
/* 028B8288 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
/* 028B828C */ cpu->r[31] = cpu->r[5];
/* 028B8290 */ _t19 = cpu->r[30] + 0x00000004u;
/* 028B8290 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028B8294 */ _t20 = cpu->r[31] + 0x00000034u;
/* 028B8294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028B8298 */ cpu->r[0] = cpu->r[12] + cpu->r[5];
/* 028B829C */ _t21 = cpu->r[30] + 0x00000020u;
/* 028B829C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028B82A0 */ _t22 = cpu->r[31] + 0x00000038u;
/* 028B82A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
/* 028B82A4 */ cpu->r[6] = cpu->r[7] + cpu->r[5];
/* 028B82A8 */ _t23 = cpu->r[30] + 0x00000024u;
/* 028B82A8 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
/* 028B82AC */ _t24 = cpu->r[31] + 0x0000003Cu;
/* 028B82AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028B82B0 */ cpu->r[8] = cpu->r[9] + cpu->r[5];
/* 028B82B4 */ _t25 = cpu->r[30] + 0x00000028u;
/* 028B82B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
/* 028B82B8 */ _t26 = cpu->r[31] + 0x00000030u;
/* 028B82B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028B82BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028B82C0 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
/* 028B82C4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B82C4 */ _t28 = _t27 & 0x00000001u;
/* 028B82C4 */ if (_t28) goto L_028B830C; else goto L_028B82C8;
L_028B82C8: ; // 0x28b82c8
/* 028B82C8 */ cpu->r[9] = cpu->r[4];
/* 028B82CC */ _t29 = cpu->r[30] + 0x00000004u;
/* 028B82CC */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
/* 028B82D0 */ _t30 = cpu->r[31] + 0x00000030u;
/* 028B82D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028B82D4 */ cpu->r[6] = 0x00000000u;
/* 028B82D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[11]);
/* 028B82DC */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B82DC */ _t32 = _t31 & 0x00000001u;
/* 028B82DC */ if (_t32) goto L_028B82E0; else goto L_028B830C;
L_028B82E0: ; // 0x28b82e0
/* 028B82E0 */ cpu->r[8] = 0x00000000u;
L_028B82E4: ; // 0x28b82e4
/* 028B82E4 */ _t33 = cpu->r[9] + cpu->r[8];
/* 028B82E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
/* 028B82E8 */ cpu->r[10] = cpu->r[10] + cpu->r[5];
/* 028B82EC */ _t34 = cpu->r[9] + cpu->r[8];
/* 028B82EC */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
/* 028B82F0 */ _t35 = cpu->r[31] + 0x00000030u;
/* 028B82F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
/* 028B82F4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028B82F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[11]);
/* 028B82FC */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028B8300 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8300 */ _t37 = _t36 & 0x00000001u;
/* 028B8300 */ if (_t37) goto L_028B8304; else goto L_028B830C;
L_028B8304: ; // 0x28b8304
/* 028B8304 */ _t38 = cpu->r[30] + 0x00000004u;
/* 028B8304 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
/* 028B8308 */ goto L_028B82E4;
L_028B830C: ; // 0x28b830c
/* 028B830C */ _t39 = cpu->r[31] + 0x0000000Cu;
/* 028B830C */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
/* 028B8310 */ _t40 = cpu->r[31] + 0x00000010u;
/* 028B8310 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
/* 028B8314 */ _t41 = cpu->r[31] + 0x00000018u;
/* 028B8314 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
/* 028B8318 */ cpu->r[12] = cpu->r[6] + cpu->r[7];
/* 028B831C */ cpu->r[0] = cpu->r[12] + cpu->r[9];
/* 028B8320 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028B8324 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028B8324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028B8328 */ cpu->r[28] = cpu->r[4] + cpu->r[11];
/* 028B832C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B832C */ _t43 = _t42 & 0x00000001u;
/* 028B832C */ if (_t43) goto L_028B8330; else goto L_028B8354;
L_028B8330: ; // 0x28b8330
/* 028B8330 */ _t44 = cpu->r[1] + 0x00000008u;
/* 028B8330 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
/* 028B8334 */ _t45 = cpu->r[1] + 0x0000000Cu;
/* 028B8334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
/* 028B8338 */ _t46 = cpu->r[1] + 0x0000001Cu;
/* 028B8338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028B833C */ _t47 = cpu->r[1] + 0x00000010u;
/* 028B833C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
/* 028B8340 */ cpu->lr = cpu->r[0];
/* 028B8344 */ _t48 = cpu->r[1] + 0x00000014u;
/* 028B8344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
/* 028B8348 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B834C */ cpu->r[3] = 0x00000000u;
/* 028B8350 */ return;
L_028B8354: ; // 0x28b8354
/* 028B8354 */ _t49 = cpu->r[30] + 0x00000028u;
/* 028B8354 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
/* 028B8358 */ cpu->r[4] = cpu->r[28];
/* 028B835C */ _t50 = cpu->r[31] + 0x00000014u;
/* 028B835C */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
/* 028B8360 */ _t51 = cpu->r[30] + 0x00000008u;
/* 028B8360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
/* 028B8364 */ Gambit_fn_028B7A24(cpu);
/* 028B8368 */ _t52 = cpu->r[31] + 0x0000001Cu;
/* 028B8368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
/* 028B836C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B8370 */ cpu->r[9] = cpu->r[28] + cpu->r[29];
/* 028B8374 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8374 */ _t54 = _t53 & 0x00000001u;
/* 028B8374 */ if (_t54) goto L_028B8380; else goto L_028B8378;
L_028B8378: ; // 0x28b8378
/* 028B8378 */ _t55 = cpu->r[30] + 0x0000000Cu;
/* 028B8378 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
/* 028B837C */ _t56 = cpu->r[31] + 0x0000001Cu;
/* 028B837C */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
L_028B8380: ; // 0x28b8380
/* 028B8380 */ _t57 = cpu->r[31] + 0x00000020u;
/* 028B8380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028B8384 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028B8388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B838C */ cpu->r[11] = cpu->r[9] + cpu->r[7];
/* 028B8390 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8390 */ _t59 = _t58 & 0x00000001u;
/* 028B8390 */ if (_t59) goto L_028B839C; else goto L_028B8394;
L_028B8394: ; // 0x28b8394
/* 028B8394 */ _t60 = cpu->r[30] + 0x00000010u;
/* 028B8394 */ rbrew_write32(cpu->mem, _t60, cpu->r[11]);
/* 028B8398 */ _t61 = cpu->r[31] + 0x00000020u;
/* 028B8398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
L_028B839C: ; // 0x28b839c
/* 028B839C */ _t62 = cpu->r[31] + 0x00000018u;
/* 028B839C */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
/* 028B83A0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028B83A4 */ cpu->r[12] = cpu->r[8] + 0x00000004u;
/* 028B83A8 */ _t63 = cpu->r[31] + 0x00000024u;
/* 028B83A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
/* 028B83AC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
/* 028B83B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028B83B4 */ cpu->r[7] = cpu->r[11] + cpu->r[0];
/* 028B83B8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B83B8 */ _t65 = _t64 & 0x00000001u;
/* 028B83B8 */ if (_t65) goto L_028B83C4; else goto L_028B83BC;
L_028B83BC: ; // 0x28b83bc
/* 028B83BC */ _t66 = cpu->r[30] + 0x00000014u;
/* 028B83BC */ rbrew_write32(cpu->mem, _t66, cpu->r[7]);
/* 028B83C0 */ _t67 = cpu->r[31] + 0x00000024u;
/* 028B83C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
L_028B83C4: ; // 0x28b83c4
/* 028B83C4 */ _t68 = cpu->r[31] + 0x00000028u;
/* 028B83C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028B83C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028B83CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B83D0 */ cpu->r[9] = cpu->r[7] + cpu->r[8];
/* 028B83D4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B83D4 */ _t70 = _t69 & 0x00000001u;
/* 028B83D4 */ if (_t70) goto L_028B83E0; else goto L_028B83D8;
L_028B83D8: ; // 0x28b83d8
/* 028B83D8 */ _t71 = cpu->r[30] + 0x00000018u;
/* 028B83D8 */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
/* 028B83DC */ _t72 = cpu->r[31] + 0x00000028u;
/* 028B83DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
L_028B83E0: ; // 0x28b83e0
/* 028B83E0 */ _t73 = cpu->r[31] + 0x0000002Cu;
/* 028B83E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
/* 028B83E4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028B83E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B83EC */ cpu->r[0] = cpu->r[9] + cpu->r[10];
/* 028B83F0 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B83F0 */ _t75 = _t74 & 0x00000001u;
/* 028B83F0 */ if (_t75) goto L_028B83F8; else goto L_028B83F4;
L_028B83F4: ; // 0x28b83f4
/* 028B83F4 */ _t76 = cpu->r[30] + 0x0000001Cu;
/* 028B83F4 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
L_028B83F8: ; // 0x28b83f8
/* 028B83F8 */ _t77 = cpu->r[1] + 0x00000008u;
/* 028B83F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t77);
/* 028B83FC */ _t78 = cpu->r[1] + 0x0000000Cu;
/* 028B83FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t78);
/* 028B8400 */ _t79 = cpu->r[1] + 0x0000001Cu;
/* 028B8400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
/* 028B8404 */ _t80 = cpu->r[1] + 0x00000010u;
/* 028B8404 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
/* 028B8408 */ cpu->lr = cpu->r[0];
/* 028B840C */ _t81 = cpu->r[1] + 0x00000014u;
/* 028B840C */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
/* 028B8410 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B8414 */ cpu->r[3] = 0x00000001u;
/* 028B8418 */ return;
}
// fn_028B8420 @ 0x28b8420
void Gambit_fn_028B8420(CPUState* 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_028B8420: ; // 0x28b8420
/* 028B8420 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B8420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8420 */ cpu->r[1] = _t0;
/* 028B8424 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028B8424 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028B8428 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B8428 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B842C */ cpu->r[30] = cpu->r[4];
/* 028B842C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028B8430 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028B8430 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028B8434 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028B8434 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B8438 */ cpu->r[29] = cpu->r[3];
/* 028B843C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B843C */ _t6 = _t5 & 0x00000001u;
/* 028B843C */ if (_t6) goto L_028B848C; else goto L_028B8440;
L_028B8440: ; // 0x28b8440
/* 028B8440 */ cpu->r[3] = cpu->r[29];
/* 028B8444 */ cpu->r[4] = cpu->r[30];
/* 028B8448 */ Gambit_fn_028B8118(cpu);
/* 028B844C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8450 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8450 */ _t8 = _t7 & 0x00000001u;
/* 028B8450 */ if (_t8) goto L_028B848C; else goto L_028B8454;
L_028B8454: ; // 0x28b8454
/* 028B8454 */ _t9 = cpu->r[29] + 0x00000008u;
/* 028B8454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028B8458 */ cpu->r[31] = 0x00000000u;
/* 028B845C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028B8460 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8460 */ _t11 = _t10 & 0x00000001u;
/* 028B8460 */ if (_t11) goto L_028B8464; else goto L_028B848C;
L_028B8464: ; // 0x28b8464
/* 028B8464 */ cpu->r[5] = cpu->r[30];
/* 028B8468 */ cpu->r[4] = cpu->r[31];
/* 028B846C */ cpu->r[3] = cpu->r[29];
/* 028B8470 */ Gambit_fn_028B8230(cpu);
/* 028B8474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8478 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8478 */ _t13 = _t12 & 0x00000001u;
/* 028B8478 */ if (_t13) goto L_028B847C; else goto L_028B8490;
L_028B847C: ; // 0x28b847c
/* 028B847C */ _t14 = cpu->r[29] + 0x00000008u;
/* 028B847C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028B8480 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028B8484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028B8488 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8488 */ _t16 = _t15 & 0x00000001u;
/* 028B8488 */ if (_t16) goto L_028B8464; else goto L_028B848C;
L_028B848C: ; // 0x28b848c
/* 028B848C */ cpu->r[31] = 0xFFFFFFFFu;
L_028B8490: ; // 0x28b8490
/* 028B8490 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028B8490 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028B8494 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028B8494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028B8498 */ cpu->r[3] = cpu->r[31];
/* 028B849C */ _t19 = cpu->r[1] + 0x00000010u;
/* 028B849C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028B84A0 */ cpu->lr = cpu->r[0];
/* 028B84A4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028B84A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028B84A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B84AC */ return;
}
// fn_028B84B0 @ 0x28b84b0
void Gambit_fn_028B84B0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028B84B0: ; // 0x28b84b0
/* 028B84B0 */ _t0 = cpu->r[3] + 0x00000008u;
/* 028B84B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028B84B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028B84B8 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B84B8 */ _t2 = _t1 & 0x00000001u;
/* 028B84B8 */ if (_t2) goto L_028B84BC; else goto L_028B84D4;
L_028B84BC: ; // 0x28b84bc
/* 028B84BC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000002Cu);
/* 028B84C0 */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028B84C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028B84C4 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
/* 028B84C8 */ _t4 = cpu->r[3] + 0x00000000u;
/* 028B84C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028B84CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B84D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B84D0 */ _t6 = _t5 & 0x00000001u;
/* 028B84D0 */ _t7 = _t6 ^ 0x00000001u;
/* 028B84D0 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028B84D0 */ goto L_028B84D4;
L_028B84D4: ; // 0x28b84d4
/* 028B84D4 */ cpu->r[3] = 0x00000000u;
/* 028B84D8 */ return;
}
// fn_028B84DC @ 0x28b84dc
void Gambit_fn_028B84DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028B84DC: ; // 0x28b84dc
/* 028B84DC */ _t0 = cpu->r[3] + 0x00000008u;
/* 028B84DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028B84E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B84E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B84E4 */ _t2 = _t1 & 0x00000001u;
/* 028B84E4 */ if (_t2) goto L_028B8504; else goto L_028B84E8;
L_028B84E8: ; // 0x28b84e8
/* 028B84E8 */ cpu->ctr = cpu->r[12];
/* 028B84EC */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028B84EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
L_028B84F0: ; // 0x28b84f0
/* 028B84F0 */ _t4 = cpu->r[3] + 0x00000000u;
/* 028B84F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028B84F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B84F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B84F8 */ _t6 = _t5 & 0x00000001u;
/* 028B84F8 */ _t7 = _t6 ^ 0x00000001u;
/* 028B84F8 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028B84F8 */ goto L_028B84FC;
L_028B84FC: ; // 0x28b84fc
/* 028B84FC */ cpu->r[3] = cpu->r[3] + 0x0000002Cu;
/* 028B8500 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028B8500 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028B8500 */ _t9 = _t8 >> (0x00000002u & 31u);
/* 028B8500 */ _t10 = _t9 & 0x00000001u;
/* 028B8500 */ if (_t10) goto L_028B84F0; else goto L_028B8504;
L_028B8504: ; // 0x28b8504
/* 028B8504 */ cpu->r[3] = 0x00000000u;
/* 028B8508 */ return;
}
// fn_028B850C @ 0x28b850c
void Gambit_fn_028B850C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028B850C: ; // 0x28b850c
/* 028B850C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028B850C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B850C */ cpu->r[1] = _t0;
/* 028B8510 */ /* nop */
/* 028B8514 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028B8514 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
/* 028B8518 */ cpu->r[12] = 0x00000000u;
/* 028B851C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
/* 028B8520 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8520 */ _t3 = _t2 & 0x00000001u;
/* 028B8520 */ if (_t3) goto L_028B8524; else goto L_028B85D0;
L_028B8524: ; // 0x28b8524
/* 028B8524 */ _t4 = cpu->r[3] + 0x0000000Cu;
/* 028B8524 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
/* 028B8528 */ cpu->r[7] = 0x00000000u;
L_028B852C: ; // 0x28b852c
/* 028B852C */ _t5 = cpu->r[8] + cpu->r[7];
/* 028B852C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028B8530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028B8534 */ cpu->r[9] = cpu->r[8] + cpu->r[7];
/* 028B8538 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8538 */ _t7 = _t6 & 0x00000001u;
/* 028B8538 */ if (_t7) goto L_028B85C0; else goto L_028B853C;
L_028B853C: ; // 0x28b853c
/* 028B853C */ _t8 = cpu->r[9] + 0x00000000u;
/* 028B853C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028B8540 */ _t9 = cpu->r[11] + 0x00000030u;
/* 028B8540 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
/* 028B8544 */ cpu->r[30] = 0x00000000u;
/* 028B8548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[6]);
/* 028B854C */ _t10 = cpu->r[9] + 0x00000028u;
/* 028B854C */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
/* 028B8550 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8550 */ _t12 = _t11 & 0x00000001u;
/* 028B8550 */ if (_t12) goto L_028B8554; else goto L_028B85C0;
L_028B8554: ; // 0x28b8554
/* 028B8554 */ cpu->r[11] = cpu->r[8] + cpu->r[7];
/* 028B8558 */ _t13 = cpu->r[11] + 0x00000004u;
/* 028B8558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
/* 028B855C */ cpu->r[6] = 0x00000000u;
L_028B8560: ; // 0x28b8560
/* 028B8560 */ _t14 = cpu->r[9] + cpu->r[6];
/* 028B8560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028B8564 */ _t15 = cpu->r[31] + 0x0000005Cu;
/* 028B8564 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028B8568 */ cpu->r[3] = cpu->r[28] + cpu->r[29];
/* 028B856C */ cpu->r[26] = cpu->r[5] + 0xFFFFFFFFu;
/* 028B8570 */ cpu->r[27] = cpu->r[3] + 0xFFFFFFFFu;
L_028B8574: ; // 0x28b8574
/* 028B8574 */ _t16 = cpu->r[27] + 0x00000001u;
/* 028B8574 */ cpu->r[3] = rbrew_read8(cpu->mem, _t16);
/* 028B8574 */ cpu->r[27] = _t16;
/* 028B8578 */ _t17 = cpu->r[26] + 0x00000001u;
/* 028B8578 */ cpu->r[29] = rbrew_read8(cpu->mem, _t17);
/* 028B8578 */ cpu->r[26] = _t17;
/* 028B857C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[3]);
/* 028B8580 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8580 */ _t19 = _t18 & 0x00000001u;
/* 028B8580 */ if (_t19) goto L_028B8584; else goto L_028B858C;
L_028B8584: ; // 0x28b8584
/* 028B8584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000000u);
/* 028B8588 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8588 */ _t21 = _t20 & 0x00000001u;
/* 028B8588 */ if (_t21) goto L_028B858C; else goto L_028B8574;
L_028B858C: ; // 0x28b858c
/* 028B858C */ cpu->r[3] = cpu->r[29] - cpu->r[3];
/* 028B858C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8590 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8590 */ _t23 = _t22 & 0x00000001u;
/* 028B8590 */ if (_t23) goto L_028B8594; else goto L_028B85A8;
L_028B8594: ; // 0x28b8594
/* 028B8594 */ _t24 = cpu->r[4] + 0x00000000u;
/* 028B8594 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
/* 028B8598 */ /* nop */
/* 028B859C */ cpu->r[3] = cpu->r[12];
/* 028B85A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028B85A4 */ return;
L_028B85A8: ; // 0x28b85a8
/* 028B85A8 */ _t25 = cpu->r[11] + 0x00000000u;
/* 028B85A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028B85AC */ _t26 = cpu->r[31] + 0x00000030u;
/* 028B85AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028B85B0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028B85B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
/* 028B85B8 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028B85BC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B85BC */ _t28 = _t27 & 0x00000001u;
/* 028B85BC */ if (_t28) goto L_028B8560; else goto L_028B85C0;
L_028B85C0: ; // 0x28b85c0
/* 028B85C0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028B85C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
/* 028B85C8 */ cpu->r[7] = cpu->r[7] + 0x0000002Cu;
/* 028B85CC */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B85CC */ _t30 = _t29 & 0x00000001u;
/* 028B85CC */ if (_t30) goto L_028B852C; else goto L_028B85D0;
L_028B85D0: ; // 0x28b85d0
/* 028B85D0 */ /* nop */
/* 028B85D4 */ cpu->r[3] = 0xFFFFFFFFu;
/* 028B85D8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028B85DC */ return;
}
// fn_028B85EC @ 0x28b85ec
void Gambit_fn_028B85EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028B85EC: ; // 0x28b85ec
/* 028B85EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028B85EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B85EC */ cpu->r[1] = _t0;
/* 028B85F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B85F0 */ _t2 = _t1 & 0x00000001u;
/* 028B85F0 */ if (_t2) goto L_028B85F4; else goto L_028B8604;
L_028B85F4: ; // 0x28b85f4
/* 028B85F4 */ cpu->r[3] = 0x0000002Cu;
/* 028B85F8 */ Gambit_fn_02801A78(cpu);
/* 028B85FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8600 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8600 */ _t4 = _t3 & 0x00000001u;
/* 028B8600 */ if (_t4) goto L_028B8634; else goto L_028B8604;
L_028B8604: ; // 0x28b8604
/* 028B8604 */ cpu->r[0] = 0x00000000u;
/* 028B8608 */ _t5 = cpu->r[3] + 0x0000001Cu;
/* 028B8608 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B860C */ _t6 = cpu->r[3] + 0x00000008u;
/* 028B860C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028B8610 */ _t7 = cpu->r[3] + 0x00000010u;
/* 028B8610 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028B8614 */ _t8 = cpu->r[3] + 0x00000000u;
/* 028B8614 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028B8618 */ _t9 = cpu->r[3] + 0x00000020u;
/* 028B8618 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028B861C */ _t10 = cpu->r[3] + 0x00000018u;
/* 028B861C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028B8620 */ _t11 = cpu->r[3] + 0x00000028u;
/* 028B8620 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028B8624 */ _t12 = cpu->r[3] + 0x0000000Cu;
/* 028B8624 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028B8628 */ _t13 = cpu->r[3] + 0x00000004u;
/* 028B8628 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028B862C */ _t14 = cpu->r[3] + 0x00000024u;
/* 028B862C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028B8630 */ _t15 = cpu->r[3] + 0x00000014u;
/* 028B8630 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
L_028B8634: ; // 0x28b8634
/* 028B8634 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028B8634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028B8638 */ cpu->lr = cpu->r[0];
/* 028B863C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028B8640 */ return;
}
// fn_028B8644 @ 0x28b8644
void Gambit_fn_028B8644(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028B8644: ; // 0x28b8644
/* 028B8644 */ cpu->r[0] = cpu->lr;
/* 028B8648 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B8648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8648 */ cpu->r[1] = _t0;
/* 028B864C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B864C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028B8650 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028B8650 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028B8654 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028B8654 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028B8658 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028B8658 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028B865C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028B865C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B8660 */ cpu->r[29] = cpu->r[3];
/* 028B8664 */ _t6 = cpu->r[29] + 0x00000000u;
/* 028B8664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028B8668 */ _t7 = cpu->r[12] + 0x00000020u;
/* 028B8668 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
/* 028B866C */ _t8 = cpu->r[9] + 0x0000000Cu;
/* 028B866C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028B8670 */ _t9 = cpu->r[3] + 0x00000060u;
/* 028B8670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028B8674 */ _t10 = cpu->r[12] + 0x00000014u;
/* 028B8674 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
/* 028B8678 */ cpu->ctr = cpu->r[7];
/* 028B867C */ cpu->r[30] = cpu->r[4];
/* 028B8680 */ cpu->r[31] = cpu->r[5];
/* 028B8684 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B8688 */ _t11 = cpu->r[3] + 0x0000000Cu;
/* 028B8688 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
/* 028B868C */ _t12 = cpu->r[8] + 0x00000014u;
/* 028B868C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028B8690 */ cpu->ctr = cpu->r[0];
/* 028B8694 */ cpu->r[28] = cpu->r[3];
/* 028B8698 */ cpu->r[4] = cpu->r[30];
/* 028B869C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B86A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B86A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B86A4 */ _t14 = _t13 & 0x00000001u;
/* 028B86A4 */ if (_t14) goto L_028B870C; else goto L_028B86A8;
L_028B86A8: ; // 0x28b86a8
/* 028B86A8 */ _t15 = cpu->r[28] + 0x0000000Cu;
/* 028B86A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
/* 028B86AC */ _t16 = cpu->r[11] + 0x0000001Cu;
/* 028B86AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028B86B0 */ cpu->ctr = cpu->r[0];
/* 028B86B4 */ cpu->r[3] = cpu->r[28];
/* 028B86B8 */ cpu->r[4] = cpu->r[30];
/* 028B86BC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B86C0 */ cpu->r[4] = cpu->r[3];
/* 028B86C4 */ _t17 = cpu->r[4] + 0x00000000u;
/* 028B86C4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t17);
/* 028B86C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028B86CC */ _t18 = cpu->r[29] + 0x00000000u;
/* 028B86CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028B86D0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B86D0 */ _t20 = _t19 & 0x00000001u;
/* 028B86D0 */ if (_t20) goto L_028B8704; else goto L_028B86D4;
L_028B86D4: ; // 0x28b86d4
/* 028B86D4 */ _t21 = cpu->r[11] + 0x00000024u;
/* 028B86D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
/* 028B86D8 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028B86D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028B86DC */ _t23 = cpu->r[8] + 0x0000000Cu;
/* 028B86DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028B86E0 */ cpu->ctr = cpu->r[9];
/* 028B86E4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B86E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B86EC */ _t24 = cpu->r[31] + 0x00000000u;
/* 028B86EC */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
/* 028B86F0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B86F0 */ _t26 = _t25 & 0x00000001u;
/* 028B86F0 */ if (_t26) goto L_028B86F4; else goto L_028B870C;
L_028B86F4: ; // 0x28b86f4
/* 028B86F4 */ _t27 = cpu->r[29] + 0x00000000u;
/* 028B86F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028B86F8 */ _t28 = cpu->r[12] + 0x00000028u;
/* 028B86F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028B86FC */ _t29 = cpu->r[31] + 0x00000000u;
/* 028B86FC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028B8700 */ goto L_028B870C;
L_028B8704: ; // 0x28b8704
/* 028B8704 */ _t30 = cpu->r[11] + 0x00000028u;
/* 028B8704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028B8708 */ _t31 = cpu->r[31] + 0x00000000u;
/* 028B8708 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
L_028B870C: ; // 0x28b870c
/* 028B870C */ _t32 = cpu->r[1] + 0x00000008u;
/* 028B870C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
/* 028B8710 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028B8710 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
/* 028B8714 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028B8714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028B8718 */ _t35 = cpu->r[1] + 0x00000010u;
/* 028B8718 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028B871C */ cpu->lr = cpu->r[0];
/* 028B8720 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028B8720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028B8724 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B8728 */ return;
}
// fn_028B8648 @ 0x28b8648
void Gambit_fn_028B8648(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028B8648: ; // 0x28b8648
/* 028B8648 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B8648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8648 */ cpu->r[1] = _t0;
/* 028B864C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B864C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028B8650 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028B8650 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028B8654 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028B8654 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028B8658 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028B8658 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028B865C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028B865C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B8660 */ cpu->r[29] = cpu->r[3];
/* 028B8664 */ _t6 = cpu->r[29] + 0x00000000u;
/* 028B8664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028B8668 */ _t7 = cpu->r[12] + 0x00000020u;
/* 028B8668 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
/* 028B866C */ _t8 = cpu->r[9] + 0x0000000Cu;
/* 028B866C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028B8670 */ _t9 = cpu->r[3] + 0x00000060u;
/* 028B8670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028B8674 */ _t10 = cpu->r[12] + 0x00000014u;
/* 028B8674 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
/* 028B8678 */ cpu->ctr = cpu->r[7];
/* 028B867C */ cpu->r[30] = cpu->r[4];
/* 028B8680 */ cpu->r[31] = cpu->r[5];
/* 028B8684 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B8688 */ _t11 = cpu->r[3] + 0x0000000Cu;
/* 028B8688 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
/* 028B868C */ _t12 = cpu->r[8] + 0x00000014u;
/* 028B868C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028B8690 */ cpu->ctr = cpu->r[0];
/* 028B8694 */ cpu->r[28] = cpu->r[3];
/* 028B8698 */ cpu->r[4] = cpu->r[30];
/* 028B869C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B86A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B86A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B86A4 */ _t14 = _t13 & 0x00000001u;
/* 028B86A4 */ if (_t14) goto L_028B870C; else goto L_028B86A8;
L_028B86A8: ; // 0x28b86a8
/* 028B86A8 */ _t15 = cpu->r[28] + 0x0000000Cu;
/* 028B86A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
/* 028B86AC */ _t16 = cpu->r[11] + 0x0000001Cu;
/* 028B86AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028B86B0 */ cpu->ctr = cpu->r[0];
/* 028B86B4 */ cpu->r[3] = cpu->r[28];
/* 028B86B8 */ cpu->r[4] = cpu->r[30];
/* 028B86BC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B86C0 */ cpu->r[4] = cpu->r[3];
/* 028B86C4 */ _t17 = cpu->r[4] + 0x00000000u;
/* 028B86C4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t17);
/* 028B86C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028B86CC */ _t18 = cpu->r[29] + 0x00000000u;
/* 028B86CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028B86D0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B86D0 */ _t20 = _t19 & 0x00000001u;
/* 028B86D0 */ if (_t20) goto L_028B8704; else goto L_028B86D4;
L_028B86D4: ; // 0x28b86d4
/* 028B86D4 */ _t21 = cpu->r[11] + 0x00000024u;
/* 028B86D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
/* 028B86D8 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028B86D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028B86DC */ _t23 = cpu->r[8] + 0x0000000Cu;
/* 028B86DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028B86E0 */ cpu->ctr = cpu->r[9];
/* 028B86E4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B86E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B86EC */ _t24 = cpu->r[31] + 0x00000000u;
/* 028B86EC */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
/* 028B86F0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B86F0 */ _t26 = _t25 & 0x00000001u;
/* 028B86F0 */ if (_t26) goto L_028B86F4; else goto L_028B870C;
L_028B86F4: ; // 0x28b86f4
/* 028B86F4 */ _t27 = cpu->r[29] + 0x00000000u;
/* 028B86F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028B86F8 */ _t28 = cpu->r[12] + 0x00000028u;
/* 028B86F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028B86FC */ _t29 = cpu->r[31] + 0x00000000u;
/* 028B86FC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028B8700 */ goto L_028B870C;
L_028B8704: ; // 0x28b8704
/* 028B8704 */ _t30 = cpu->r[11] + 0x00000028u;
/* 028B8704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028B8708 */ _t31 = cpu->r[31] + 0x00000000u;
/* 028B8708 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
L_028B870C: ; // 0x28b870c
/* 028B870C */ _t32 = cpu->r[1] + 0x00000008u;
/* 028B870C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
/* 028B8710 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028B8710 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
/* 028B8714 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028B8714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028B8718 */ _t35 = cpu->r[1] + 0x00000010u;
/* 028B8718 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028B871C */ cpu->lr = cpu->r[0];
/* 028B8720 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028B8720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028B8724 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B8728 */ return;
}
// fn_028B872C @ 0x28b872c
void Gambit_fn_028B872C(CPUState* 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_028B872C: ; // 0x28b872c
/* 028B872C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028B872C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B872C */ cpu->r[1] = _t0;
/* 028B8730 */ cpu->r[0] = cpu->lr;
/* 028B8734 */ /* nop */
/* 028B8738 */ cpu->r[27] = cpu->r[3];
/* 028B873C */ cpu->r[31] = cpu->r[7];
/* 028B873C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028B8740 */ cpu->r[30] = cpu->r[6];
/* 028B8744 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028B8744 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028B8748 */ cpu->r[29] = cpu->r[4];
/* 028B874C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B874C */ _t3 = _t2 & 0x00000001u;
/* 028B874C */ if (_t3) goto L_028B87BC; else goto L_028B8750;
L_028B8750: ; // 0x28b8750
/* 028B8750 */ _t4 = cpu->r[27] + 0x00000004u;
/* 028B8750 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
/* 028B8754 */ _t5 = cpu->r[9] + 0x00000000u;
/* 028B8754 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028B8758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[10]);
/* 028B875C */ cpu->r[28] = 0x00000000u;
/* 028B8760 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8760 */ _t7 = _t6 & 0x00000001u;
/* 028B8760 */ if (_t7) goto L_028B8764; else goto L_028B8770;
L_028B8764: ; // 0x28b8764
/* 028B8764 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000000Cu);
/* 028B8768 */ _t8 = cpu->r[9] + 0x00000004u;
/* 028B8768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028B876C */ cpu->r[28] = cpu->r[12] + cpu->r[11];
L_028B8770: ; // 0x28b8770
/* 028B8770 */ cpu->r[5] = cpu->r[28];
/* 028B8774 */ cpu->r[4] = cpu->r[30];
/* 028B8778 */ cpu->r[3] = cpu->r[27];
/* 028B877C */ Gambit_fn_028B8644(cpu);
/* 028B8780 */ cpu->r[0] = 0x00000000u;
/* 028B8784 */ _t9 = cpu->r[27] + 0x00000000u;
/* 028B8784 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028B8788 */ cpu->r[6] = 0xFFFFFFFFu;
/* 028B878C */ _t10 = cpu->r[1] + 0x00000010u;
/* 028B878C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028B8790 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028B8790 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
/* 028B8794 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028B8794 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028B8798 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028B8798 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028B879C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028B879C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
/* 028B87A0 */ _t15 = cpu->r[28] + 0x00000000u;
/* 028B87A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028B87A4 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028B87A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
/* 028B87A8 */ _t17 = cpu->r[1] + 0x00000018u;
/* 028B87A8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028B87AC */ _t18 = cpu->r[1] + 0x00000010u;
/* 028B87AC */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
/* 028B87B0 */ _t19 = cpu->r[28] + 0x00000004u;
/* 028B87B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
/* 028B87B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B87B8 */ Gambit_fn_028AC7F4(cpu);
L_028B87BC: ; // 0x28b87bc
/* 028B87BC */ /* nop */
/* 028B87C0 */ _t20 = cpu->r[1] + 0x00000034u;
/* 028B87C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028B87C4 */ cpu->lr = cpu->r[0];
/* 028B87C8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028B87CC */ return;
}
// fn_028B87D0 @ 0x28b87d0
void Gambit_fn_028B87D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028B87D0: ; // 0x28b87d0
/* 028B87D0 */ cpu->r[0] = cpu->lr;
/* 028B87D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B87D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B87D4 */ cpu->r[1] = _t0;
/* 028B87D8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028B87D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028B87DC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B87DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028B87E0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028B87E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B87E4 */ _t4 = cpu->r[3] + 0x00000004u;
/* 028B87E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
/* 028B87E8 */ _t5 = cpu->r[9] + 0x00000000u;
/* 028B87E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028B87EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028B87F0 */ cpu->r[11] = 0x00000000u;
/* 028B87F4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B87F4 */ _t7 = _t6 & 0x00000001u;
/* 028B87F4 */ if (_t7) goto L_028B87F8; else goto L_028B8804;
L_028B87F8: ; // 0x28b87f8
/* 028B87F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu);
/* 028B87FC */ _t8 = cpu->r[9] + 0x00000004u;
/* 028B87FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028B8800 */ cpu->r[11] = cpu->r[11] + cpu->r[0];
L_028B8804: ; // 0x28b8804
/* 028B8804 */ _t9 = cpu->r[11] + 0x00000004u;
/* 028B8804 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028B8808 */ _t10 = cpu->r[30] + 0x00000000u;
/* 028B8808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028B880C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028B8810 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8810 */ _t12 = _t11 & 0x00000001u;
/* 028B8810 */ if (_t12) goto L_028B8860; else goto L_028B8814;
L_028B8814: ; // 0x28b8814
/* 028B8814 */ _t13 = cpu->r[30] + 0x00000004u;
/* 028B8814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028B8818 */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028B8818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028B881C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028B8820 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8820 */ _t16 = _t15 & 0x00000001u;
/* 028B8820 */ if (_t16) goto L_028B8824; else goto L_028B8860;
L_028B8824: ; // 0x28b8824
/* 028B8824 */ _t17 = cpu->r[31] + 0x0000000Cu;
/* 028B8824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028B8828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028B882C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B882C */ _t19 = _t18 & 0x00000001u;
/* 028B882C */ if (_t19) goto L_028B8830; else goto L_028B8854;
L_028B8830: ; // 0x28b8830
/* 028B8830 */ _t20 = cpu->r[31] + 0x00000028u;
/* 028B8830 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028B8834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8838 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8838 */ _t22 = _t21 & 0x00000001u;
/* 028B8838 */ if (_t22) goto L_028B884C; else goto L_028B883C;
L_028B883C: ; // 0x28b883c
/* 028B883C */ _t23 = cpu->r[3] + 0x00000050u;
/* 028B883C */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
/* 028B8840 */ _t24 = cpu->r[10] + 0x00000044u;
/* 028B8840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028B8844 */ cpu->ctr = cpu->r[12];
/* 028B8848 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028B884C: ; // 0x28b884c
/* 028B884C */ cpu->r[0] = 0x00000001u;
/* 028B8850 */ _t25 = cpu->r[31] + 0x0000004Cu;
/* 028B8850 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
L_028B8854: ; // 0x28b8854
/* 028B8854 */ cpu->r[9] = 0x00000000u;
/* 028B8858 */ _t26 = cpu->r[30] + 0x00000004u;
/* 028B8858 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
/* 028B885C */ _t27 = cpu->r[30] + 0x00000000u;
/* 028B885C */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
L_028B8860: ; // 0x28b8860
/* 028B8860 */ _t28 = cpu->r[1] + 0x00000014u;
/* 028B8860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028B8864 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028B8864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028B8868 */ cpu->lr = cpu->r[0];
/* 028B886C */ _t30 = cpu->r[1] + 0x0000000Cu;
/* 028B886C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028B8870 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B8874 */ return;
}
// fn_028B87D4 @ 0x28b87d4
void Gambit_fn_028B87D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028B87D4: ; // 0x28b87d4
/* 028B87D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B87D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B87D4 */ cpu->r[1] = _t0;
/* 028B87D8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028B87D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028B87DC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B87DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028B87E0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028B87E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B87E4 */ _t4 = cpu->r[3] + 0x00000004u;
/* 028B87E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
/* 028B87E8 */ _t5 = cpu->r[9] + 0x00000000u;
/* 028B87E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028B87EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028B87F0 */ cpu->r[11] = 0x00000000u;
/* 028B87F4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B87F4 */ _t7 = _t6 & 0x00000001u;
/* 028B87F4 */ if (_t7) goto L_028B87F8; else goto L_028B8804;
L_028B87F8: ; // 0x28b87f8
/* 028B87F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu);
/* 028B87FC */ _t8 = cpu->r[9] + 0x00000004u;
/* 028B87FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028B8800 */ cpu->r[11] = cpu->r[11] + cpu->r[0];
L_028B8804: ; // 0x28b8804
/* 028B8804 */ _t9 = cpu->r[11] + 0x00000004u;
/* 028B8804 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028B8808 */ _t10 = cpu->r[30] + 0x00000000u;
/* 028B8808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028B880C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028B8810 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8810 */ _t12 = _t11 & 0x00000001u;
/* 028B8810 */ if (_t12) goto L_028B8860; else goto L_028B8814;
L_028B8814: ; // 0x28b8814
/* 028B8814 */ _t13 = cpu->r[30] + 0x00000004u;
/* 028B8814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028B8818 */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028B8818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028B881C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028B8820 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8820 */ _t16 = _t15 & 0x00000001u;
/* 028B8820 */ if (_t16) goto L_028B8824; else goto L_028B8860;
L_028B8824: ; // 0x28b8824
/* 028B8824 */ _t17 = cpu->r[31] + 0x0000000Cu;
/* 028B8824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028B8828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028B882C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B882C */ _t19 = _t18 & 0x00000001u;
/* 028B882C */ if (_t19) goto L_028B8830; else goto L_028B8854;
L_028B8830: ; // 0x28b8830
/* 028B8830 */ _t20 = cpu->r[31] + 0x00000028u;
/* 028B8830 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028B8834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8838 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8838 */ _t22 = _t21 & 0x00000001u;
/* 028B8838 */ if (_t22) goto L_028B884C; else goto L_028B883C;
L_028B883C: ; // 0x28b883c
/* 028B883C */ _t23 = cpu->r[3] + 0x00000050u;
/* 028B883C */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
/* 028B8840 */ _t24 = cpu->r[10] + 0x00000044u;
/* 028B8840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028B8844 */ cpu->ctr = cpu->r[12];
/* 028B8848 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028B884C: ; // 0x28b884c
/* 028B884C */ cpu->r[0] = 0x00000001u;
/* 028B8850 */ _t25 = cpu->r[31] + 0x0000004Cu;
/* 028B8850 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
L_028B8854: ; // 0x28b8854
/* 028B8854 */ cpu->r[9] = 0x00000000u;
/* 028B8858 */ _t26 = cpu->r[30] + 0x00000004u;
/* 028B8858 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
/* 028B885C */ _t27 = cpu->r[30] + 0x00000000u;
/* 028B885C */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
L_028B8860: ; // 0x28b8860
/* 028B8860 */ _t28 = cpu->r[1] + 0x00000014u;
/* 028B8860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028B8864 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028B8864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028B8868 */ cpu->lr = cpu->r[0];
/* 028B886C */ _t30 = cpu->r[1] + 0x0000000Cu;
/* 028B886C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028B8870 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B8874 */ return;
}
// fn_028B8878 @ 0x28b8878
void Gambit_fn_028B8878(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028B8878: ; // 0x28b8878
/* 028B8878 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028B8878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028B887C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B8880 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8880 */ _t2 = _t1 & 0x00000001u;
/* 028B8880 */ if (_t2) goto L_028B88AC; else goto L_028B8884;
L_028B8884: ; // 0x28b8884
/* 028B8884 */ _t3 = cpu->r[12] + 0x00000000u;
/* 028B8884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028B8888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028B888C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B888C */ _t5 = _t4 & 0x00000001u;
/* 028B888C */ if (_t5) goto L_028B8890; else goto L_028B88AC;
L_028B8890: ; // 0x28b8890
/* 028B8890 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028B8890 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028B8894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
/* 028B8898 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8898 */ _t8 = _t7 & 0x00000001u;
/* 028B8898 */ if (_t8) goto L_028B889C; else goto L_028B88AC;
L_028B889C: ; // 0x28b889c
/* 028B889C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu);
/* 028B88A0 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028B88A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028B88A4 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
/* 028B88A8 */ return;
L_028B88AC: ; // 0x28b88ac
/* 028B88AC */ cpu->r[3] = 0x00000000u;
/* 028B88B0 */ return;
}
// fn_028B88B4 @ 0x28b88b4
void Gambit_fn_028B88B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028B4C24: ; // 0x28b4c24
/* 028B4C24 */ cpu->r[0] = cpu->lr;
/* 028B4C28 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028B4C28 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028B4C2C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028B4C2C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028B4C2C */ cpu->r[1] = _t1;
/* 028B4C30 */ Gambit_fn_028B4C18(cpu);
/* 028B4C34 */ Gambit_fn_028B6078(cpu);
/* 028B4C38 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B4C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028B4C3C */ cpu->lr = cpu->r[0];
/* 028B4C40 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028B4C44 */ return;
L_028B88B4: ; // 0x28b88b4
/* 028B88B4 */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028B88B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028B88B8 */ goto L_028B4C24;
}
// fn_028B88BC @ 0x28b88bc
void Gambit_fn_028B88BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028B88BC: ; // 0x28b88bc
/* 028B88BC */ _t0 = cpu->r[5] + 0x00000000u;
/* 028B88BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028B88C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B88C4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B88C4 */ _t2 = _t1 & 0x00000001u;
/* 028B88C4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028B88C4 */ goto L_028B88C8;
L_028B88C8: ; // 0x28b88c8
/* 028B88C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028B88C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028B88CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B88CC */ _t4 = _t3 & 0x00000001u;
/* 028B88CC */ if (_t4) goto L_028B88E4; else goto L_028B88D0;
L_028B88D0: ; // 0x28b88d0
/* 028B88D0 */ _t5 = cpu->r[3] + 0x00000060u;
/* 028B88D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028B88D4 */ _t6 = cpu->r[4] + 0x00000008u;
/* 028B88D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028B88D8 */ cpu->r[10] = cpu->r[10] | 0x00000001u;
/* 028B88DC */ _t7 = cpu->r[3] + 0x00000060u;
/* 028B88DC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028B88E0 */ _t8 = cpu->r[3] + 0x00000064u;
/* 028B88E0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
L_028B88E4: ; // 0x28b88e4
/* 028B88E4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028B88E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028B88E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B88E8 */ _t10 = _t9 & 0x00000001u;
/* 028B88E8 */ if (_t10) goto L_028B891C; else goto L_028B88EC;
L_028B88EC: ; // 0x28b88ec
/* 028B88EC */ cpu->r[12] = 0x00000006u;
/* 028B88F0 */ cpu->r[10] = cpu->r[4] + 0x0000000Cu;
/* 028B88F4 */ cpu->r[9] = cpu->r[3] + 0x00000068u;
/* 028B88F8 */ cpu->ctr = cpu->r[12];
/* 028B88FC */ cpu->r[8] = 0x00000000u;
L_028B8900: ; // 0x28b8900
/* 028B8900 */ _t11 = cpu->r[10] + cpu->r[8];
/* 028B8900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028B8904 */ _t12 = cpu->r[9] + cpu->r[8];
/* 028B8904 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028B8908 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028B890C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028B890C */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028B890C */ _t14 = _t13 >> (0x00000002u & 31u);
/* 028B890C */ _t15 = _t14 & 0x00000001u;
/* 028B890C */ if (_t15) goto L_028B8900; else goto L_028B8910;
L_028B8910: ; // 0x28b8910
/* 028B8910 */ _t16 = cpu->r[3] + 0x00000060u;
/* 028B8910 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028B8914 */ cpu->r[10] = cpu->r[10] | 0x00000002u;
/* 028B8918 */ _t17 = cpu->r[3] + 0x00000060u;
/* 028B8918 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
L_028B891C: ; // 0x28b891c
/* 028B891C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028B891C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B8920 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8920 */ _t19 = _t18 & 0x00000001u;
/* 028B8920 */ if (_t19) goto L_028B8938; else goto L_028B8924;
L_028B8924: ; // 0x28b8924
/* 028B8924 */ _t20 = cpu->r[3] + 0x00000060u;
/* 028B8924 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028B8928 */ _t21 = cpu->r[4] + 0x00000024u;
/* 028B8928 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
/* 028B892C */ cpu->r[7] = cpu->r[7] | 0x00000004u;
/* 028B8930 */ _t22 = cpu->r[3] + 0x00000060u;
/* 028B8930 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
/* 028B8934 */ _t23 = cpu->r[3] + 0x00000080u;
/* 028B8934 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
L_028B8938: ; // 0x28b8938
/* 028B8938 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028B8938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028B893C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B893C */ _t25 = _t24 & 0x00000001u;
/* 028B893C */ if (_t25) goto L_028B8954; else goto L_028B8940;
L_028B8940: ; // 0x28b8940
/* 028B8940 */ _t26 = cpu->r[3] + 0x00000060u;
/* 028B8940 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
/* 028B8944 */ _t27 = cpu->r[4] + 0x00000028u;
/* 028B8944 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
/* 028B8948 */ cpu->r[9] = cpu->r[9] | 0x00000008u;
/* 028B894C */ _t28 = cpu->r[3] + 0x00000060u;
/* 028B894C */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
/* 028B8950 */ _t29 = cpu->r[3] + 0x00000084u;
/* 028B8950 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
L_028B8954: ; // 0x28b8954
/* 028B8954 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
/* 028B8954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B8958 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8958 */ _t31 = _t30 & 0x00000001u;
/* 028B8958 */ if (_t31) goto L_028B8970; else goto L_028B895C;
L_028B895C: ; // 0x28b895c
/* 028B895C */ _t32 = cpu->r[3] + 0x00000060u;
/* 028B895C */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
/* 028B8960 */ _t33 = cpu->r[4] + 0x0000002Cu;
/* 028B8960 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
/* 028B8964 */ cpu->r[11] = cpu->r[11] | 0x00000010u;
/* 028B8968 */ _t34 = cpu->r[3] + 0x00000060u;
/* 028B8968 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
/* 028B896C */ _t35 = cpu->r[3] + 0x00000088u;
/* 028B896C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
L_028B8970: ; // 0x28b8970
/* 028B8970 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
/* 028B8970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028B8974 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8974 */ _t37 = _t36 & 0x00000001u;
/* 028B8974 */ if (_t37) goto L_028B899C; else goto L_028B8978;
L_028B8978: ; // 0x28b8978
/* 028B8978 */ _t38 = cpu->r[4] + 0x00000030u;
/* 028B8978 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
/* 028B897C */ _t39 = cpu->r[3] + 0x00000060u;
/* 028B897C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
/* 028B8980 */ _t40 = cpu->r[3] + 0x0000008Cu;
/* 028B8980 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
/* 028B8984 */ _t41 = cpu->r[4] + 0x00000034u;
/* 028B8984 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
/* 028B8988 */ cpu->r[11] = cpu->r[11] | 0x00000020u;
/* 028B898C */ _t42 = cpu->r[3] + 0x00000090u;
/* 028B898C */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
/* 028B8990 */ _t43 = cpu->r[4] + 0x00000038u;
/* 028B8990 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
/* 028B8994 */ _t44 = cpu->r[3] + 0x00000060u;
/* 028B8994 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
/* 028B8998 */ _t45 = cpu->r[3] + 0x00000094u;
/* 028B8998 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
L_028B899C: ; // 0x28b899c
/* 028B899C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
/* 028B899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B89A0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B89A0 */ _t47 = _t46 & 0x00000001u;
/* 028B89A0 */ if (_t47) goto L_028B89C8; else goto L_028B89A4;
L_028B89A4: ; // 0x28b89a4
/* 028B89A4 */ _t48 = cpu->r[4] + 0x0000003Cu;
/* 028B89A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
/* 028B89A8 */ _t49 = cpu->r[3] + 0x00000060u;
/* 028B89A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
/* 028B89AC */ _t50 = cpu->r[3] + 0x00000098u;
/* 028B89AC */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
/* 028B89B0 */ _t51 = cpu->r[4] + 0x00000040u;
/* 028B89B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
/* 028B89B4 */ cpu->r[7] = cpu->r[7] | 0x00000040u;
/* 028B89B8 */ _t52 = cpu->r[3] + 0x0000009Cu;
/* 028B89B8 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
/* 028B89BC */ _t53 = cpu->r[4] + 0x00000044u;
/* 028B89BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
/* 028B89C0 */ _t54 = cpu->r[3] + 0x00000060u;
/* 028B89C0 */ rbrew_write32(cpu->mem, _t54, cpu->r[7]);
/* 028B89C4 */ _t55 = cpu->r[3] + 0x000000A0u;
/* 028B89C4 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
L_028B89C8: ; // 0x28b89c8
/* 028B89C8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000019u, 0x0000001Fu, 0x0000001Fu);
/* 028B89C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B89CC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B89CC */ _t57 = _t56 & 0x00000001u;
/* 028B89CC */ if (_t57) goto L_028B89E4; else goto L_028B89D0;
L_028B89D0: ; // 0x28b89d0
/* 028B89D0 */ _t58 = cpu->r[3] + 0x00000060u;
/* 028B89D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
/* 028B89D4 */ _t59 = cpu->r[4] + 0x0000004Cu;
/* 028B89D4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t59);
/* 028B89D8 */ cpu->r[12] = cpu->r[12] | 0x00000080u;
/* 028B89DC */ _t60 = cpu->r[3] + 0x00000060u;
/* 028B89DC */ rbrew_write32(cpu->mem, _t60, cpu->r[12]);
/* 028B89E0 */ _t61 = cpu->r[3] + 0x000000A8u;
/* 028B89E0 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[11]);
L_028B89E4: ; // 0x28b89e4
/* 028B89E4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x0000001Fu, 0x0000001Fu);
/* 028B89E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028B89E8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B89E8 */ _t63 = _t62 & 0x00000001u;
/* 028B89E8 */ if (_t63) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028B89E8 */ goto L_028B89EC;
L_028B89EC: ; // 0x28b89ec
/* 028B89EC */ _t64 = cpu->r[3] + 0x00000060u;
/* 028B89EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
/* 028B89F0 */ _t65 = cpu->r[4] + 0x00000048u;
/* 028B89F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
/* 028B89F4 */ cpu->r[11] = cpu->r[11] | 0x00000100u;
/* 028B89F8 */ _t66 = cpu->r[3] + 0x00000060u;
/* 028B89F8 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
/* 028B89FC */ _t67 = cpu->r[3] + 0x000000A4u;
/* 028B89FC */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
/* 028B8A00 */ return;
}
// fn_028B8A04 @ 0x28b8a04
void Gambit_fn_028B8A04(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028B8A04: ; // 0x28b8a04
/* 028B8A04 */ cpu->r[0] = cpu->lr;
/* 028B8A08 */ _t0 = cpu->r[1] + 0xFFFFFF68u;
/* 028B8A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8A08 */ cpu->r[1] = _t0;
/* 028B8A0C */ _t1 = cpu->r[1] + 0x00000088u;
/* 028B8A0C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028B8A10 */ /* nop */
/* 028B8A14 */ _t2 = cpu->r[1] + 0x00000090u;
/* 028B8A14 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028B8A18 */ _t3 = cpu->r[1] + 0x0000009Cu;
/* 028B8A18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B8A1C */ /* nop */
/* 028B8A20 */ cpu->r[27] = cpu->r[4];
/* 028B8A24 */ cpu->r[26] = cpu->r[3];
/* 028B8A28 */ Gambit_fn_028B88B4(cpu);
/* 028B8A2C */ cpu->r[25] = cpu->r[3];
/* 028B8A30 */ cpu->r[3] = cpu->r[26] + 0x0000002Cu;
/* 028B8A34 */ Gambit_fn_028BC36C(cpu);
/* 028B8A38 */ cpu->r[23] = cpu->r[3];
/* 028B8A3C */ cpu->r[3] = cpu->r[26] + 0x0000002Cu;
/* 028B8A40 */ Gambit_fn_028BC334(cpu);
/* 028B8A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028B8A48 */ cpu->r[28] = cpu->r[3];
/* 028B8A4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8A4C */ _t5 = _t4 & 0x00000001u;
/* 028B8A4C */ if (_t5) goto L_028B8CEC; else goto L_028B8A50;
L_028B8A50: ; // 0x28b8a50
/* 028B8A50 */ _t6 = cpu->r[26] + 0x00000060u;
/* 028B8A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028B8A54 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028B8A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B8A58 */ _t7 = cpu->r[26] + 0x00000038u;
/* 028B8A58 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
/* 028B8A5C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8A5C */ _t9 = _t8 & 0x00000001u;
/* 028B8A5C */ if (_t9) goto L_028B8A68; else goto L_028B8A60;
L_028B8A60: ; // 0x28b8a60
/* 028B8A60 */ _t10 = cpu->r[26] + 0x00000064u;
/* 028B8A60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028B8A64 */ cpu->f[1] = cpu->f[1] * cpu->f[13];
L_028B8A68: ; // 0x28b8a68
/* 028B8A68 */ cpu->r[3] = cpu->r[23];
/* 028B8A6C */ Gambit_fn_028BD330(cpu);
/* 028B8A70 */ cpu->r[8] = 0x10140000u;
/* 028B8A74 */ cpu->r[30] = cpu->r[1] + 0x0000000Cu;
/* 028B8A78 */ cpu->r[24] = 0x00000000u;
/* 028B8A7C */ _t11 = cpu->r[8] + 0xFFFF8D58u;
/* 028B8A7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028B8A80 */ cpu->r[31] = cpu->r[26] + 0x0000003Cu;
/* 028B8A84 */ cpu->r[29] = cpu->r[24];
L_028B8A88: ; // 0x28b8a88
/* 028B8A88 */ _t12 = cpu->r[26] + 0x00000060u;
/* 028B8A88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028B8A8C */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028B8A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028B8A90 */ _t13 = cpu->r[31] + cpu->r[29];
/* 028B8A90 */ cpu->r[1] = rbrew_read32(cpu->mem, _t13);
/* 028B8A94 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8A94 */ _t15 = _t14 & 0x00000001u;
/* 028B8A94 */ if (_t15) goto L_028B8AEC; else goto L_028B8A98;
L_028B8A98: ; // 0x28b8a98
/* 028B8A98 */ cpu->r[12] = cpu->r[26] + 0x00000068u;
/* 028B8A9C */ _t16 = cpu->r[12] + cpu->r[29];
/* 028B8A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028B8AA0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028B8AA4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8AA4 */ _t18 = _t17 & 0x00000001u;
/* 028B8AA4 */ if (_t18) goto L_028B8AEC; else goto L_028B8AA8;
L_028B8AA8: ; // 0x28b8aa8
/* 028B8AA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
/* 028B8AAC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8AAC */ _t20 = _t19 & 0x00000001u;
/* 028B8AAC */ if (_t20) goto L_028B8AE8; else goto L_028B8AB0;
L_028B8AB0: ; // 0x28b8ab0
/* 028B8AB0 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028B8AB0 */ rbrew_write32(cpu->mem, _t21, cpu->r[24]);
/* 028B8AB4 */ cpu->f[1] = cpu->f[1] * cpu->f[0];
/* 028B8AB8 */ _t22 = cpu->r[30] + 0x00000000u;
/* 028B8AB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
/* 028B8ABC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8AC0 */ cpu->r[3] = cpu->r[23];
/* 028B8AC4 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028B8AC4 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
/* 028B8AC8 */ Gambit_fn_028BD348(cpu);
/* 028B8ACC */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028B8AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000006u);
/* 028B8AD4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028B8AD8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8AD8 */ _t25 = _t24 & 0x00000001u;
/* 028B8AD8 */ if (_t25) goto L_028B8ADC; else goto L_028B8B14;
L_028B8ADC: ; // 0x28b8adc
/* 028B8ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000002u);
/* 028B8AE0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8AE0 */ _t27 = _t26 & 0x00000001u;
/* 028B8AE0 */ if (_t27) goto L_028B8A88; else goto L_028B8AE4;
L_028B8AE4: ; // 0x28b8ae4
/* 028B8AE4 */ goto L_028B8B14;
L_028B8AE8: ; // 0x28b8ae8
/* 028B8AE8 */ cpu->f[1] = cpu->f[0];
L_028B8AEC: ; // 0x28b8aec
/* 028B8AEC */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028B8AEC */ rbrew_write32(cpu->mem, _t28, cpu->r[24]);
/* 028B8AF0 */ _t29 = cpu->r[30] + 0x00000000u;
/* 028B8AF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
/* 028B8AF4 */ cpu->r[3] = cpu->r[23];
/* 028B8AF8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8AFC */ _t30 = cpu->r[1] + 0x00000008u;
/* 028B8AFC */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
/* 028B8B00 */ Gambit_fn_028BD348(cpu);
/* 028B8B04 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028B8B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000006u);
/* 028B8B0C */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028B8B10 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8B10 */ _t32 = _t31 & 0x00000001u;
/* 028B8B10 */ if (_t32) goto L_028B8ADC; else goto L_028B8B14;
L_028B8B14: ; // 0x28b8b14
/* 028B8B14 */ _t33 = cpu->r[26] + 0x00000060u;
/* 028B8B14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
/* 028B8B18 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028B8B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B8B1C */ _t34 = cpu->r[26] + 0x00000054u;
/* 028B8B1C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t34);
/* 028B8B20 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B20 */ _t36 = _t35 & 0x00000001u;
/* 028B8B20 */ if (_t36) goto L_028B8B2C; else goto L_028B8B24;
L_028B8B24: ; // 0x28b8b24
/* 028B8B24 */ _t37 = cpu->r[26] + 0x00000080u;
/* 028B8B24 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t37);
/* 028B8B28 */ cpu->f[1] = cpu->f[1] * cpu->f[12];
L_028B8B2C: ; // 0x28b8b2c
/* 028B8B2C */ cpu->r[3] = cpu->r[23];
/* 028B8B30 */ Gambit_fn_028BD370(cpu);
/* 028B8B34 */ _t38 = cpu->r[26] + 0x00000060u;
/* 028B8B34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
/* 028B8B38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028B8B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B8B3C */ _t39 = cpu->r[26] + 0x00000058u;
/* 028B8B3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t39);
/* 028B8B40 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B40 */ _t41 = _t40 & 0x00000001u;
/* 028B8B40 */ if (_t41) goto L_028B8B4C; else goto L_028B8B44;
L_028B8B44: ; // 0x28b8b44
/* 028B8B44 */ _t42 = cpu->r[26] + 0x00000084u;
/* 028B8B44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
/* 028B8B48 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
L_028B8B4C: ; // 0x28b8b4c
/* 028B8B4C */ cpu->r[3] = cpu->r[23];
/* 028B8B50 */ Gambit_fn_028BD390(cpu);
/* 028B8B54 */ _t43 = cpu->r[26] + 0x00000060u;
/* 028B8B54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
/* 028B8B58 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
/* 028B8B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028B8B5C */ _t44 = cpu->r[26] + 0x0000005Cu;
/* 028B8B5C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t44);
/* 028B8B60 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B60 */ _t46 = _t45 & 0x00000001u;
/* 028B8B60 */ if (_t46) goto L_028B8B6C; else goto L_028B8B64;
L_028B8B64: ; // 0x28b8b64
/* 028B8B64 */ _t47 = cpu->r[26] + 0x00000088u;
/* 028B8B64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
/* 028B8B68 */ cpu->f[1] = cpu->f[1] * cpu->f[13];
L_028B8B6C: ; // 0x28b8b6c
/* 028B8B6C */ cpu->r[3] = cpu->r[28];
/* 028B8B70 */ Gambit_fn_028BEE18(cpu);
/* 028B8B74 */ _t48 = cpu->r[26] + 0x00000020u;
/* 028B8B74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
/* 028B8B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8B7C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B7C */ _t50 = _t49 & 0x00000001u;
/* 028B8B7C */ if (_t50) goto L_028B8B80; else goto L_028B8B88;
L_028B8B80: ; // 0x28b8b80
/* 028B8B80 */ _t51 = cpu->r[26] + 0x00000028u;
/* 028B8B80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
/* 028B8B84 */ _t52 = cpu->r[7] + 0x00000000u;
/* 028B8B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
L_028B8B88: ; // 0x28b8b88
/* 028B8B88 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8B8C */ Gambit_fn_02C69510(cpu);
/* 028B8B90 */ _t53 = cpu->r[26] + 0x00000028u;
/* 028B8B90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
/* 028B8B94 */ _t54 = cpu->r[8] + 0x00000004u;
/* 028B8B94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
/* 028B8B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028B8B9C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B9C */ _t56 = _t55 & 0x00000001u;
/* 028B8B9C */ if (_t56) goto L_028B8BA8; else goto L_028B8BA0;
L_028B8BA0: ; // 0x28b8ba0
/* 028B8BA0 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
/* 028B8BA4 */ Gambit_fn_021620C4(cpu);
L_028B8BA8: ; // 0x28b8ba8
/* 028B8BA8 */ _t57 = cpu->r[26] + 0x00000060u;
/* 028B8BA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
/* 028B8BAC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
/* 028B8BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B8BB0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8BB0 */ _t59 = _t58 & 0x00000001u;
/* 028B8BB0 */ if (_t59) goto L_028B8BC8; else goto L_028B8BB4;
L_028B8BB4: ; // 0x28b8bb4
/* 028B8BB4 */ cpu->r[4] = cpu->r[26] + 0x00000098u;
/* 028B8BB8 */ cpu->r[3] = cpu->r[28] + 0x00000140u;
/* 028B8BBC */ Gambit_fn_028E14B0(cpu);
/* 028B8BC0 */ _t60 = cpu->r[26] + 0x00000060u;
/* 028B8BC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
/* 028B8BC4 */ goto L_028B8C34;
L_028B8BC8: ; // 0x28b8bc8
/* 028B8BC8 */ _t61 = cpu->r[26] + 0x00000028u;
/* 028B8BC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
/* 028B8BCC */ _t62 = cpu->r[10] + 0x0000000Cu;
/* 028B8BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028B8BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B8BD4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8BD4 */ _t64 = _t63 & 0x00000001u;
/* 028B8BD4 */ if (_t64) goto L_028B8C34; else goto L_028B8BD8;
L_028B8BD8: ; // 0x28b8bd8
/* 028B8BD8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
/* 028B8BDC */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8BE0 */ Gambit_fn_0200D450(cpu);
/* 028B8BE4 */ /* nop */
/* 028B8BE8 */ /* nop */
/* 028B8BEC */ _t65 = cpu->r[26] + 0x00000028u;
/* 028B8BEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
/* 028B8BF0 */ /* nop */
/* 028B8BF4 */ _t66 = cpu->r[26] + 0x000000B4u;
/* 028B8BF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t66);
/* 028B8BF8 */ _t67 = cpu->r[1] + 0x00000024u;
/* 028B8BF8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t67);
/* 028B8BFC */ _t68 = cpu->r[12] + 0x0000000Cu;
/* 028B8BFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
/* 028B8C00 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028B8C04 */ /* nop */
/* 028B8C08 */ _t69 = cpu->r[1] + 0x00000014u;
/* 028B8C08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
/* 028B8C0C */ _t70 = cpu->r[1] + 0x00000010u;
/* 028B8C0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
/* 028B8C10 */ _t71 = cpu->r[1] + 0x00000018u;
/* 028B8C10 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[12]);
/* 028B8C14 */ _t72 = cpu->r[1] + 0x00000018u;
/* 028B8C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
/* 028B8C18 */ _t73 = cpu->r[1] + 0x0000002Cu;
/* 028B8C18 */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
/* 028B8C1C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028B8C20 */ _t74 = cpu->r[1] + 0x00000028u;
/* 028B8C20 */ rbrew_write32(cpu->mem, _t74, cpu->r[7]);
/* 028B8C24 */ cpu->r[3] = cpu->r[12] + 0x000000FCu;
/* 028B8C28 */ _t75 = cpu->r[1] + 0x00000030u;
/* 028B8C28 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
/* 028B8C2C */ Gambit_fn_028E14B0(cpu);
/* 028B8C30 */ _t76 = cpu->r[26] + 0x00000060u;
/* 028B8C30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
L_028B8C34: ; // 0x28b8c34
/* 028B8C34 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
/* 028B8C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B8C38 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8C38 */ _t78 = _t77 & 0x00000001u;
/* 028B8C38 */ if (_t78) goto L_028B8C7C; else goto L_028B8C3C;
L_028B8C3C: ; // 0x28b8c3c
/* 028B8C3C */ cpu->r[3] = cpu->r[28] + 0x00000140u;
/* 028B8C40 */ cpu->r[4] = 0x00000001u;
/* 028B8C44 */ Gambit_fn_028E1468(cpu);
/* 028B8C48 */ cpu->r[5] = 0x101F0000u;
/* 028B8C4C */ cpu->r[4] = cpu->r[26] + 0x0000008Cu;
/* 028B8C50 */ cpu->r[5] = cpu->r[5] + 0x00006368u;
/* 028B8C54 */ cpu->r[3] = cpu->r[28] + 0x00000140u;
/* 028B8C58 */ Gambit_fn_028E14D4(cpu);
/* 028B8C5C */ /* nop */
/* 028B8C60 */ _t79 = cpu->r[1] + 0x00000090u;
/* 028B8C60 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t79);
/* 028B8C64 */ _t80 = cpu->r[1] + 0x00000088u;
/* 028B8C64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t80);
/* 028B8C68 */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8C68 */ _t82 = _t81 & 0x00000001u;
/* 028B8C68 */ if (_t82) goto L_028B8C6C; // else: addr-0 trap, fall-through
L_028B8C6C: ; // 0x28b8c6c
/* 028B8C6C */ _t83 = cpu->r[1] + 0x0000009Cu;
/* 028B8C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
/* 028B8C70 */ cpu->lr = cpu->r[0];
/* 028B8C74 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
/* 028B8C78 */ return;
L_028B8C7C: ; // 0x28b8c7c
/* 028B8C7C */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8C80 */ cpu->r[3] = cpu->r[26] + 0x000000ACu;
/* 028B8C84 */ Gambit_fn_0200D450(cpu);
/* 028B8C88 */ _t84 = cpu->r[26] + 0x00000010u;
/* 028B8C88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
/* 028B8C8C */ cpu->r[3] = cpu->r[25];
/* 028B8C90 */ Gambit_fn_028B3258(cpu);
/* 028B8C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8C98 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8C98 */ _t86 = _t85 & 0x00000001u;
/* 028B8C98 */ if (_t86) goto L_028B8CD8; else goto L_028B8C9C;
L_028B8C9C: ; // 0x28b8c9c
/* 028B8C9C */ _t87 = cpu->r[26] + 0x00000028u;
/* 028B8C9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
/* 028B8CA0 */ _t88 = cpu->r[11] + 0x0000000Cu;
/* 028B8CA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t88);
/* 028B8CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B8CA8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8CA8 */ _t90 = _t89 & 0x00000001u;
/* 028B8CA8 */ if (_t90) goto L_028B8CEC; else goto L_028B8CAC;
L_028B8CAC: ; // 0x28b8cac
/* 028B8CAC */ cpu->r[3] = cpu->r[10] + 0x000000FCu;
/* 028B8CB0 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8CB4 */ Gambit_fn_028E1478(cpu);
/* 028B8CB8 */ /* nop */
/* 028B8CBC */ _t91 = cpu->r[1] + 0x00000090u;
/* 028B8CBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t91);
/* 028B8CC0 */ _t92 = cpu->r[1] + 0x00000088u;
/* 028B8CC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t92);
/* 028B8CC4 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8CC4 */ _t94 = _t93 & 0x00000001u;
/* 028B8CC4 */ if (_t94) goto L_028B8CC8; // else: addr-0 trap, fall-through
L_028B8CC8: ; // 0x28b8cc8
/* 028B8CC8 */ _t95 = cpu->r[1] + 0x0000009Cu;
/* 028B8CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
/* 028B8CCC */ cpu->lr = cpu->r[0];
/* 028B8CD0 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
/* 028B8CD4 */ return;
L_028B8CD8: ; // 0x28b8cd8
/* 028B8CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028B8CDC */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8CDC */ _t97 = _t96 & 0x00000001u;
/* 028B8CDC */ if (_t97) goto L_028B8CEC; else goto L_028B8CE0;
L_028B8CE0: ; // 0x28b8ce0
/* 028B8CE0 */ cpu->r[3] = cpu->r[28] + 0x00000140u;
/* 028B8CE4 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8CE8 */ Gambit_fn_028E1478(cpu);
L_028B8CEC: ; // 0x28b8cec
/* 028B8CEC */ /* nop */
/* 028B8CF0 */ _t98 = cpu->r[1] + 0x00000090u;
/* 028B8CF0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t98);
/* 028B8CF4 */ _t99 = cpu->r[1] + 0x00000088u;
/* 028B8CF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t99);
/* 028B8CF8 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8CF8 */ _t101 = _t100 & 0x00000001u;
/* 028B8CF8 */ if (_t101) goto L_028B8CFC; // else: addr-0 trap, fall-through
L_028B8CFC: ; // 0x28b8cfc
/* 028B8CFC */ _t102 = cpu->r[1] + 0x0000009Cu;
/* 028B8CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
/* 028B8D00 */ cpu->lr = cpu->r[0];
/* 028B8D04 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
/* 028B8D08 */ return;
}
// fn_028B8A08 @ 0x28b8a08
void Gambit_fn_028B8A08(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028B8A08: ; // 0x28b8a08
/* 028B8A08 */ _t0 = cpu->r[1] + 0xFFFFFF68u;
/* 028B8A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8A08 */ cpu->r[1] = _t0;
/* 028B8A0C */ _t1 = cpu->r[1] + 0x00000088u;
/* 028B8A0C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028B8A10 */ /* nop */
/* 028B8A14 */ _t2 = cpu->r[1] + 0x00000090u;
/* 028B8A14 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028B8A18 */ _t3 = cpu->r[1] + 0x0000009Cu;
/* 028B8A18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B8A1C */ /* nop */
/* 028B8A20 */ cpu->r[27] = cpu->r[4];
/* 028B8A24 */ cpu->r[26] = cpu->r[3];
/* 028B8A28 */ Gambit_fn_028B88B4(cpu);
/* 028B8A2C */ cpu->r[25] = cpu->r[3];
/* 028B8A30 */ cpu->r[3] = cpu->r[26] + 0x0000002Cu;
/* 028B8A34 */ Gambit_fn_028BC36C(cpu);
/* 028B8A38 */ cpu->r[23] = cpu->r[3];
/* 028B8A3C */ cpu->r[3] = cpu->r[26] + 0x0000002Cu;
/* 028B8A40 */ Gambit_fn_028BC334(cpu);
/* 028B8A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
/* 028B8A48 */ cpu->r[28] = cpu->r[3];
/* 028B8A4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8A4C */ _t5 = _t4 & 0x00000001u;
/* 028B8A4C */ if (_t5) goto L_028B8CEC; else goto L_028B8A50;
L_028B8A50: ; // 0x28b8a50
/* 028B8A50 */ _t6 = cpu->r[26] + 0x00000060u;
/* 028B8A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028B8A54 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028B8A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B8A58 */ _t7 = cpu->r[26] + 0x00000038u;
/* 028B8A58 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
/* 028B8A5C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8A5C */ _t9 = _t8 & 0x00000001u;
/* 028B8A5C */ if (_t9) goto L_028B8A68; else goto L_028B8A60;
L_028B8A60: ; // 0x28b8a60
/* 028B8A60 */ _t10 = cpu->r[26] + 0x00000064u;
/* 028B8A60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028B8A64 */ cpu->f[1] = cpu->f[1] * cpu->f[13];
L_028B8A68: ; // 0x28b8a68
/* 028B8A68 */ cpu->r[3] = cpu->r[23];
/* 028B8A6C */ Gambit_fn_028BD330(cpu);
/* 028B8A70 */ cpu->r[8] = 0x10140000u;
/* 028B8A74 */ cpu->r[30] = cpu->r[1] + 0x0000000Cu;
/* 028B8A78 */ cpu->r[24] = 0x00000000u;
/* 028B8A7C */ _t11 = cpu->r[8] + 0xFFFF8D58u;
/* 028B8A7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028B8A80 */ cpu->r[31] = cpu->r[26] + 0x0000003Cu;
/* 028B8A84 */ cpu->r[29] = cpu->r[24];
L_028B8A88: ; // 0x28b8a88
/* 028B8A88 */ _t12 = cpu->r[26] + 0x00000060u;
/* 028B8A88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028B8A8C */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028B8A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028B8A90 */ _t13 = cpu->r[31] + cpu->r[29];
/* 028B8A90 */ cpu->r[1] = rbrew_read32(cpu->mem, _t13);
/* 028B8A94 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8A94 */ _t15 = _t14 & 0x00000001u;
/* 028B8A94 */ if (_t15) goto L_028B8AEC; else goto L_028B8A98;
L_028B8A98: ; // 0x28b8a98
/* 028B8A98 */ cpu->r[12] = cpu->r[26] + 0x00000068u;
/* 028B8A9C */ _t16 = cpu->r[12] + cpu->r[29];
/* 028B8A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028B8AA0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028B8AA4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8AA4 */ _t18 = _t17 & 0x00000001u;
/* 028B8AA4 */ if (_t18) goto L_028B8AEC; else goto L_028B8AA8;
L_028B8AA8: ; // 0x28b8aa8
/* 028B8AA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
/* 028B8AAC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8AAC */ _t20 = _t19 & 0x00000001u;
/* 028B8AAC */ if (_t20) goto L_028B8AE8; else goto L_028B8AB0;
L_028B8AB0: ; // 0x28b8ab0
/* 028B8AB0 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028B8AB0 */ rbrew_write32(cpu->mem, _t21, cpu->r[24]);
/* 028B8AB4 */ cpu->f[1] = cpu->f[1] * cpu->f[0];
/* 028B8AB8 */ _t22 = cpu->r[30] + 0x00000000u;
/* 028B8AB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
/* 028B8ABC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8AC0 */ cpu->r[3] = cpu->r[23];
/* 028B8AC4 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028B8AC4 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
/* 028B8AC8 */ Gambit_fn_028BD348(cpu);
/* 028B8ACC */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028B8AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000006u);
/* 028B8AD4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028B8AD8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8AD8 */ _t25 = _t24 & 0x00000001u;
/* 028B8AD8 */ if (_t25) goto L_028B8ADC; else goto L_028B8B14;
L_028B8ADC: ; // 0x28b8adc
/* 028B8ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000002u);
/* 028B8AE0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8AE0 */ _t27 = _t26 & 0x00000001u;
/* 028B8AE0 */ if (_t27) goto L_028B8A88; else goto L_028B8AE4;
L_028B8AE4: ; // 0x28b8ae4
/* 028B8AE4 */ goto L_028B8B14;
L_028B8AE8: ; // 0x28b8ae8
/* 028B8AE8 */ cpu->f[1] = cpu->f[0];
L_028B8AEC: ; // 0x28b8aec
/* 028B8AEC */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028B8AEC */ rbrew_write32(cpu->mem, _t28, cpu->r[24]);
/* 028B8AF0 */ _t29 = cpu->r[30] + 0x00000000u;
/* 028B8AF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
/* 028B8AF4 */ cpu->r[3] = cpu->r[23];
/* 028B8AF8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8AFC */ _t30 = cpu->r[1] + 0x00000008u;
/* 028B8AFC */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
/* 028B8B00 */ Gambit_fn_028BD348(cpu);
/* 028B8B04 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028B8B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000006u);
/* 028B8B0C */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028B8B10 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8B10 */ _t32 = _t31 & 0x00000001u;
/* 028B8B10 */ if (_t32) goto L_028B8ADC; else goto L_028B8B14;
L_028B8B14: ; // 0x28b8b14
/* 028B8B14 */ _t33 = cpu->r[26] + 0x00000060u;
/* 028B8B14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
/* 028B8B18 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028B8B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B8B1C */ _t34 = cpu->r[26] + 0x00000054u;
/* 028B8B1C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t34);
/* 028B8B20 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B20 */ _t36 = _t35 & 0x00000001u;
/* 028B8B20 */ if (_t36) goto L_028B8B2C; else goto L_028B8B24;
L_028B8B24: ; // 0x28b8b24
/* 028B8B24 */ _t37 = cpu->r[26] + 0x00000080u;
/* 028B8B24 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t37);
/* 028B8B28 */ cpu->f[1] = cpu->f[1] * cpu->f[12];
L_028B8B2C: ; // 0x28b8b2c
/* 028B8B2C */ cpu->r[3] = cpu->r[23];
/* 028B8B30 */ Gambit_fn_028BD370(cpu);
/* 028B8B34 */ _t38 = cpu->r[26] + 0x00000060u;
/* 028B8B34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
/* 028B8B38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028B8B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B8B3C */ _t39 = cpu->r[26] + 0x00000058u;
/* 028B8B3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t39);
/* 028B8B40 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B40 */ _t41 = _t40 & 0x00000001u;
/* 028B8B40 */ if (_t41) goto L_028B8B4C; else goto L_028B8B44;
L_028B8B44: ; // 0x28b8b44
/* 028B8B44 */ _t42 = cpu->r[26] + 0x00000084u;
/* 028B8B44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
/* 028B8B48 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
L_028B8B4C: ; // 0x28b8b4c
/* 028B8B4C */ cpu->r[3] = cpu->r[23];
/* 028B8B50 */ Gambit_fn_028BD390(cpu);
/* 028B8B54 */ _t43 = cpu->r[26] + 0x00000060u;
/* 028B8B54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
/* 028B8B58 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
/* 028B8B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028B8B5C */ _t44 = cpu->r[26] + 0x0000005Cu;
/* 028B8B5C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t44);
/* 028B8B60 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B60 */ _t46 = _t45 & 0x00000001u;
/* 028B8B60 */ if (_t46) goto L_028B8B6C; else goto L_028B8B64;
L_028B8B64: ; // 0x28b8b64
/* 028B8B64 */ _t47 = cpu->r[26] + 0x00000088u;
/* 028B8B64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
/* 028B8B68 */ cpu->f[1] = cpu->f[1] * cpu->f[13];
L_028B8B6C: ; // 0x28b8b6c
/* 028B8B6C */ cpu->r[3] = cpu->r[28];
/* 028B8B70 */ Gambit_fn_028BEE18(cpu);
/* 028B8B74 */ _t48 = cpu->r[26] + 0x00000020u;
/* 028B8B74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
/* 028B8B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8B7C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B7C */ _t50 = _t49 & 0x00000001u;
/* 028B8B7C */ if (_t50) goto L_028B8B80; else goto L_028B8B88;
L_028B8B80: ; // 0x28b8b80
/* 028B8B80 */ _t51 = cpu->r[26] + 0x00000028u;
/* 028B8B80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
/* 028B8B84 */ _t52 = cpu->r[7] + 0x00000000u;
/* 028B8B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
L_028B8B88: ; // 0x28b8b88
/* 028B8B88 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8B8C */ Gambit_fn_02C69510(cpu);
/* 028B8B90 */ _t53 = cpu->r[26] + 0x00000028u;
/* 028B8B90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
/* 028B8B94 */ _t54 = cpu->r[8] + 0x00000004u;
/* 028B8B94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
/* 028B8B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028B8B9C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8B9C */ _t56 = _t55 & 0x00000001u;
/* 028B8B9C */ if (_t56) goto L_028B8BA8; else goto L_028B8BA0;
L_028B8BA0: ; // 0x28b8ba0
/* 028B8BA0 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
/* 028B8BA4 */ Gambit_fn_021620C4(cpu);
L_028B8BA8: ; // 0x28b8ba8
/* 028B8BA8 */ _t57 = cpu->r[26] + 0x00000060u;
/* 028B8BA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
/* 028B8BAC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
/* 028B8BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B8BB0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8BB0 */ _t59 = _t58 & 0x00000001u;
/* 028B8BB0 */ if (_t59) goto L_028B8BC8; else goto L_028B8BB4;
L_028B8BB4: ; // 0x28b8bb4
/* 028B8BB4 */ cpu->r[4] = cpu->r[26] + 0x00000098u;
/* 028B8BB8 */ cpu->r[3] = cpu->r[28] + 0x00000140u;
/* 028B8BBC */ Gambit_fn_028E14B0(cpu);
/* 028B8BC0 */ _t60 = cpu->r[26] + 0x00000060u;
/* 028B8BC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
/* 028B8BC4 */ goto L_028B8C34;
L_028B8BC8: ; // 0x28b8bc8
/* 028B8BC8 */ _t61 = cpu->r[26] + 0x00000028u;
/* 028B8BC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
/* 028B8BCC */ _t62 = cpu->r[10] + 0x0000000Cu;
/* 028B8BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028B8BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B8BD4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8BD4 */ _t64 = _t63 & 0x00000001u;
/* 028B8BD4 */ if (_t64) goto L_028B8C34; else goto L_028B8BD8;
L_028B8BD8: ; // 0x28b8bd8
/* 028B8BD8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
/* 028B8BDC */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8BE0 */ Gambit_fn_0200D450(cpu);
/* 028B8BE4 */ /* nop */
/* 028B8BE8 */ /* nop */
/* 028B8BEC */ _t65 = cpu->r[26] + 0x00000028u;
/* 028B8BEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
/* 028B8BF0 */ /* nop */
/* 028B8BF4 */ _t66 = cpu->r[26] + 0x000000B4u;
/* 028B8BF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t66);
/* 028B8BF8 */ _t67 = cpu->r[1] + 0x00000024u;
/* 028B8BF8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t67);
/* 028B8BFC */ _t68 = cpu->r[12] + 0x0000000Cu;
/* 028B8BFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
/* 028B8C00 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028B8C04 */ /* nop */
/* 028B8C08 */ _t69 = cpu->r[1] + 0x00000014u;
/* 028B8C08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
/* 028B8C0C */ _t70 = cpu->r[1] + 0x00000010u;
/* 028B8C0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
/* 028B8C10 */ _t71 = cpu->r[1] + 0x00000018u;
/* 028B8C10 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[12]);
/* 028B8C14 */ _t72 = cpu->r[1] + 0x00000018u;
/* 028B8C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
/* 028B8C18 */ _t73 = cpu->r[1] + 0x0000002Cu;
/* 028B8C18 */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
/* 028B8C1C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028B8C20 */ _t74 = cpu->r[1] + 0x00000028u;
/* 028B8C20 */ rbrew_write32(cpu->mem, _t74, cpu->r[7]);
/* 028B8C24 */ cpu->r[3] = cpu->r[12] + 0x000000FCu;
/* 028B8C28 */ _t75 = cpu->r[1] + 0x00000030u;
/* 028B8C28 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
/* 028B8C2C */ Gambit_fn_028E14B0(cpu);
/* 028B8C30 */ _t76 = cpu->r[26] + 0x00000060u;
/* 028B8C30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
L_028B8C34: ; // 0x28b8c34
/* 028B8C34 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
/* 028B8C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B8C38 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8C38 */ _t78 = _t77 & 0x00000001u;
/* 028B8C38 */ if (_t78) goto L_028B8C7C; else goto L_028B8C3C;
L_028B8C3C: ; // 0x28b8c3c
/* 028B8C3C */ cpu->r[3] = cpu->r[28] + 0x00000140u;
/* 028B8C40 */ cpu->r[4] = 0x00000001u;
/* 028B8C44 */ Gambit_fn_028E1468(cpu);
/* 028B8C48 */ cpu->r[5] = 0x101F0000u;
/* 028B8C4C */ cpu->r[4] = cpu->r[26] + 0x0000008Cu;
/* 028B8C50 */ cpu->r[5] = cpu->r[5] + 0x00006368u;
/* 028B8C54 */ cpu->r[3] = cpu->r[28] + 0x00000140u;
/* 028B8C58 */ Gambit_fn_028E14D4(cpu);
/* 028B8C5C */ /* nop */
/* 028B8C60 */ _t79 = cpu->r[1] + 0x00000090u;
/* 028B8C60 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t79);
/* 028B8C64 */ _t80 = cpu->r[1] + 0x00000088u;
/* 028B8C64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t80);
/* 028B8C68 */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8C68 */ _t82 = _t81 & 0x00000001u;
/* 028B8C68 */ if (_t82) goto L_028B8C6C; // else: addr-0 trap, fall-through
L_028B8C6C: ; // 0x28b8c6c
/* 028B8C6C */ _t83 = cpu->r[1] + 0x0000009Cu;
/* 028B8C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
/* 028B8C70 */ cpu->lr = cpu->r[0];
/* 028B8C74 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
/* 028B8C78 */ return;
L_028B8C7C: ; // 0x28b8c7c
/* 028B8C7C */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8C80 */ cpu->r[3] = cpu->r[26] + 0x000000ACu;
/* 028B8C84 */ Gambit_fn_0200D450(cpu);
/* 028B8C88 */ _t84 = cpu->r[26] + 0x00000010u;
/* 028B8C88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
/* 028B8C8C */ cpu->r[3] = cpu->r[25];
/* 028B8C90 */ Gambit_fn_028B3258(cpu);
/* 028B8C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8C98 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8C98 */ _t86 = _t85 & 0x00000001u;
/* 028B8C98 */ if (_t86) goto L_028B8CD8; else goto L_028B8C9C;
L_028B8C9C: ; // 0x28b8c9c
/* 028B8C9C */ _t87 = cpu->r[26] + 0x00000028u;
/* 028B8C9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
/* 028B8CA0 */ _t88 = cpu->r[11] + 0x0000000Cu;
/* 028B8CA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t88);
/* 028B8CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B8CA8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8CA8 */ _t90 = _t89 & 0x00000001u;
/* 028B8CA8 */ if (_t90) goto L_028B8CEC; else goto L_028B8CAC;
L_028B8CAC: ; // 0x28b8cac
/* 028B8CAC */ cpu->r[3] = cpu->r[10] + 0x000000FCu;
/* 028B8CB0 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8CB4 */ Gambit_fn_028E1478(cpu);
/* 028B8CB8 */ /* nop */
/* 028B8CBC */ _t91 = cpu->r[1] + 0x00000090u;
/* 028B8CBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t91);
/* 028B8CC0 */ _t92 = cpu->r[1] + 0x00000088u;
/* 028B8CC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t92);
/* 028B8CC4 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8CC4 */ _t94 = _t93 & 0x00000001u;
/* 028B8CC4 */ if (_t94) goto L_028B8CC8; // else: addr-0 trap, fall-through
L_028B8CC8: ; // 0x28b8cc8
/* 028B8CC8 */ _t95 = cpu->r[1] + 0x0000009Cu;
/* 028B8CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
/* 028B8CCC */ cpu->lr = cpu->r[0];
/* 028B8CD0 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
/* 028B8CD4 */ return;
L_028B8CD8: ; // 0x28b8cd8
/* 028B8CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028B8CDC */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8CDC */ _t97 = _t96 & 0x00000001u;
/* 028B8CDC */ if (_t97) goto L_028B8CEC; else goto L_028B8CE0;
L_028B8CE0: ; // 0x28b8ce0
/* 028B8CE0 */ cpu->r[3] = cpu->r[28] + 0x00000140u;
/* 028B8CE4 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
/* 028B8CE8 */ Gambit_fn_028E1478(cpu);
L_028B8CEC: ; // 0x28b8cec
/* 028B8CEC */ /* nop */
/* 028B8CF0 */ _t98 = cpu->r[1] + 0x00000090u;
/* 028B8CF0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t98);
/* 028B8CF4 */ _t99 = cpu->r[1] + 0x00000088u;
/* 028B8CF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t99);
/* 028B8CF8 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B8CF8 */ _t101 = _t100 & 0x00000001u;
/* 028B8CF8 */ if (_t101) goto L_028B8CFC; // else: addr-0 trap, fall-through
L_028B8CFC: ; // 0x28b8cfc
/* 028B8CFC */ _t102 = cpu->r[1] + 0x0000009Cu;
/* 028B8CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
/* 028B8D00 */ cpu->lr = cpu->r[0];
/* 028B8D04 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
/* 028B8D08 */ return;
}
// fn_028B8D0C @ 0x28b8d0c
void Gambit_fn_028B8D0C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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;
L_028B8D0C: ; // 0x28b8d0c
/* 028B8D0C */ cpu->r[0] = cpu->lr;
/* 028B8D10 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028B8D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8D10 */ cpu->r[1] = _t0;
/* 028B8D14 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028B8D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B8D18 */ cpu->r[31] = cpu->r[3];
/* 028B8D1C */ _t2 = cpu->r[1] + 0x00000024u;
/* 028B8D1C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B8D20 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028B8D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028B8D24 */ _t4 = cpu->r[1] + 0x00000028u;
/* 028B8D24 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028B8D28 */ _t5 = cpu->r[1] + 0x00000034u;
/* 028B8D28 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B8D2C */ Gambit_fn_028B88B4(cpu);
/* 028B8D30 */ _t6 = cpu->r[31] + 0x0000001Cu;
/* 028B8D30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
/* 028B8D34 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028B8D34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
/* 028B8D38 */ cpu->r[5] = cpu->r[29];
/* 028B8D3C */ _t8 = cpu->r[31] + 0x00000010u;
/* 028B8D3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
/* 028B8D40 */ cpu->r[28] = cpu->r[3];
/* 028B8D44 */ Gambit_fn_028B3BE0(cpu);
/* 028B8D48 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8D4C */ Gambit_fn_028BC1D4(cpu);
/* 028B8D50 */ _t9 = cpu->r[31] + 0x00000010u;
/* 028B8D50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
/* 028B8D54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8D58 */ cpu->r[3] = cpu->r[28];
/* 028B8D5C */ Gambit_fn_028B3738(cpu);
/* 028B8D60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8D64 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8D68 */ Gambit_fn_028BC19C(cpu);
/* 028B8D6C */ _t10 = cpu->r[31] + 0x00000010u;
/* 028B8D6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028B8D70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8D74 */ cpu->r[3] = cpu->r[28];
/* 028B8D78 */ Gambit_fn_028B3738(cpu);
/* 028B8D7C */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8D80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8D84 */ Gambit_fn_028BC214(cpu);
/* 028B8D88 */ _t11 = cpu->r[31] + 0x00000010u;
/* 028B8D88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
/* 028B8D8C */ cpu->r[3] = cpu->r[28];
/* 028B8D90 */ cpu->r[30] = 0x00000001u;
/* 028B8D94 */ Gambit_fn_028A7E4C(cpu);
/* 028B8D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8D9C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8D9C */ _t13 = _t12 & 0x00000001u;
/* 028B8D9C */ if (_t13) goto L_028B8DA4; else goto L_028B8DA0;
L_028B8DA0: ; // 0x28b8da0
/* 028B8DA0 */ cpu->r[30] = 0x00000002u;
L_028B8DA4: ; // 0x28b8da4
/* 028B8DA4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028B8DA8 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8DAC */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028B8DAC */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028B8DB0 */ Gambit_fn_028BC260(cpu);
/* 028B8DB4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8DB8 */ Gambit_fn_028BC334(cpu);
/* 028B8DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8DC0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8DC0 */ _t16 = _t15 & 0x00000001u;
/* 028B8DC0 */ if (_t16) goto L_028B8E74; else goto L_028B8DC4;
L_028B8DC4: ; // 0x28b8dc4
/* 028B8DC4 */ _t17 = cpu->r[31] + 0x00000010u;
/* 028B8DC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028B8DC8 */ cpu->r[3] = cpu->r[28];
/* 028B8DCC */ Gambit_fn_028B3A38(cpu);
/* 028B8DD0 */ cpu->r[30] = cpu->r[3];
/* 028B8DD4 */ _t18 = cpu->r[30] + 0x00000000u;
/* 028B8DD4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t18);
/* 028B8DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028B8DDC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8DDC */ _t20 = _t19 & 0x00000001u;
/* 028B8DDC */ if (_t20) goto L_028B8E04; else goto L_028B8DE0;
L_028B8DE0: ; // 0x28b8de0
/* 028B8DE0 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8DE4 */ Gambit_fn_028BC334(cpu);
/* 028B8DE8 */ cpu->r[9] = 0x10140000u;
/* 028B8DEC */ cpu->r[3] = cpu->r[3] + 0x00000140u;
/* 028B8DF0 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028B8DF0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028B8DF4 */ cpu->r[9] = cpu->r[9] + 0xFFFF8D5Cu;
/* 028B8DF8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028B8DFC */ _t22 = cpu->r[1] + 0x00000018u;
/* 028B8DFC */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
/* 028B8E00 */ Gambit_fn_028E1510(cpu);
L_028B8E04: ; // 0x28b8e04
/* 028B8E04 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8E08 */ Gambit_fn_028BC334(cpu);
/* 028B8E0C */ _t23 = cpu->r[31] + 0x00000010u;
/* 028B8E0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
/* 028B8E10 */ cpu->r[30] = cpu->r[3];
/* 028B8E14 */ cpu->r[3] = cpu->r[28];
/* 028B8E18 */ Gambit_fn_028B3368(cpu);
/* 028B8E1C */ cpu->r[4] = cpu->r[3];
/* 028B8E20 */ cpu->r[3] = cpu->r[30] + 0x00000140u;
/* 028B8E24 */ Gambit_fn_028E1560(cpu);
/* 028B8E28 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8E2C */ Gambit_fn_028BC334(cpu);
/* 028B8E30 */ _t24 = cpu->r[31] + 0x00000010u;
/* 028B8E30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
/* 028B8E34 */ cpu->r[30] = cpu->r[3];
/* 028B8E38 */ _t25 = cpu->r[31] + 0x0000000Cu;
/* 028B8E38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
/* 028B8E3C */ cpu->r[3] = cpu->r[28];
/* 028B8E40 */ Gambit_fn_028B397C(cpu);
/* 028B8E44 */ cpu->r[3] = cpu->r[30] + 0x00000140u;
/* 028B8E48 */ Gambit_fn_028E1550(cpu);
/* 028B8E4C */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8E50 */ Gambit_fn_028BC334(cpu);
/* 028B8E54 */ _t26 = cpu->r[31] + 0x00000010u;
/* 028B8E54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
/* 028B8E58 */ cpu->r[30] = cpu->r[3];
/* 028B8E5C */ cpu->r[3] = cpu->r[28];
/* 028B8E60 */ Gambit_fn_028B32E0(cpu);
/* 028B8E64 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
/* 028B8E68 */ cpu->r[3] = cpu->r[30] + 0x00000140u;
/* 028B8E6C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028B8E70 */ Gambit_fn_028E1468(cpu);
L_028B8E74: ; // 0x28b8e74
/* 028B8E74 */ cpu->r[5] = 0x00000009u;
/* 028B8E78 */ cpu->r[4] = cpu->r[29];
/* 028B8E7C */ cpu->r[3] = cpu->r[28];
/* 028B8E80 */ Gambit_fn_028A89E8(cpu);
/* 028B8E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8E88 */ cpu->r[3] = cpu->r[28];
/* 028B8E8C */ _t27 = cpu->r[31] + 0x0000000Cu;
/* 028B8E8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
/* 028B8E90 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8E90 */ _t29 = _t28 & 0x00000001u;
/* 028B8E90 */ if (_t29) goto L_028B8EC0; else goto L_028B8E94;
L_028B8E94: ; // 0x28b8e94
/* 028B8E94 */ cpu->r[4] = cpu->r[29];
/* 028B8E98 */ Gambit_fn_028B3A84(cpu);
/* 028B8E9C */ cpu->r[6] = 0x00000009u;
/* 028B8EA0 */ _t30 = cpu->r[31] + 0x0000001Cu;
/* 028B8EA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
/* 028B8EA4 */ cpu->r[4] = 0x00000002u;
/* 028B8EA8 */ cpu->r[3] = cpu->r[28];
/* 028B8EAC */ _t31 = cpu->r[31] + 0x00000038u;
/* 028B8EAC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[1]);
/* 028B8EB0 */ Gambit_fn_028A8B18(cpu);
/* 028B8EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8EB8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8EB8 */ _t33 = _t32 & 0x00000001u;
/* 028B8EB8 */ if (_t33) goto L_028B8EF4; else goto L_028B8EBC;
L_028B8EBC: ; // 0x28b8ebc
/* 028B8EBC */ goto L_028B8EE8;
L_028B8EC0: ; // 0x28b8ec0
/* 028B8EC0 */ _t34 = cpu->r[31] + 0x00000010u;
/* 028B8EC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
/* 028B8EC4 */ Gambit_fn_028B33F0(cpu);
/* 028B8EC8 */ cpu->r[6] = 0x00000009u;
/* 028B8ECC */ _t35 = cpu->r[31] + 0x00000010u;
/* 028B8ECC */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
/* 028B8ED0 */ cpu->r[4] = 0x00000002u;
/* 028B8ED4 */ cpu->r[3] = cpu->r[28];
/* 028B8ED8 */ _t36 = cpu->r[31] + 0x00000038u;
/* 028B8ED8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[1]);
/* 028B8EDC */ Gambit_fn_028A8848(cpu);
/* 028B8EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8EE4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8EE4 */ _t38 = _t37 & 0x00000001u;
/* 028B8EE4 */ if (_t38) goto L_028B8EF4; else goto L_028B8EE8;
L_028B8EE8: ; // 0x28b8ee8
/* 028B8EE8 */ _t39 = cpu->r[31] + 0x00000034u;
/* 028B8EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028B8EEC */ cpu->r[10] = cpu->r[10] | 0x00000001u;
/* 028B8EF0 */ _t40 = cpu->r[31] + 0x00000034u;
/* 028B8EF0 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
L_028B8EF4: ; // 0x28b8ef4
/* 028B8EF4 */ _t41 = cpu->r[31] + 0x00000010u;
/* 028B8EF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
/* 028B8EF8 */ cpu->r[3] = cpu->r[28];
/* 028B8EFC */ _t42 = cpu->r[31] + 0x0000000Cu;
/* 028B8EFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
/* 028B8F00 */ Gambit_fn_028B348C(cpu);
/* 028B8F04 */ _t43 = cpu->r[31] + 0x0000000Cu;
/* 028B8F04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
/* 028B8F08 */ cpu->r[3] = cpu->r[28];
/* 028B8F0C */ _t44 = cpu->r[31] + 0x00000010u;
/* 028B8F0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
/* 028B8F10 */ _t45 = cpu->r[31] + 0x0000003Cu;
/* 028B8F10 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[1]);
/* 028B8F14 */ Gambit_fn_028B34FC(cpu);
/* 028B8F18 */ cpu->r[3] = cpu->r[28];
/* 028B8F1C */ _t46 = cpu->r[31] + 0x00000010u;
/* 028B8F1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
/* 028B8F20 */ cpu->r[4] = 0x00000002u;
/* 028B8F24 */ cpu->r[6] = 0x0000000Au;
/* 028B8F28 */ _t47 = cpu->r[31] + 0x00000040u;
/* 028B8F28 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[1]);
/* 028B8F2C */ Gambit_fn_028A8848(cpu);
/* 028B8F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8F34 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8F34 */ _t49 = _t48 & 0x00000001u;
/* 028B8F34 */ if (_t49) goto L_028B8F38; else goto L_028B8F54;
L_028B8F38: ; // 0x28b8f38
/* 028B8F38 */ _t50 = cpu->r[31] + 0x00000010u;
/* 028B8F38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
/* 028B8F3C */ cpu->r[6] = 0x0000000Bu;
/* 028B8F40 */ cpu->r[4] = 0x00000002u;
/* 028B8F44 */ cpu->r[3] = cpu->r[28];
/* 028B8F48 */ Gambit_fn_028A8848(cpu);
/* 028B8F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8F50 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8F50 */ _t52 = _t51 & 0x00000001u;
/* 028B8F50 */ if (_t52) goto L_028B8F60; else goto L_028B8F54;
L_028B8F54: ; // 0x28b8f54
/* 028B8F54 */ _t53 = cpu->r[31] + 0x00000034u;
/* 028B8F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028B8F58 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
/* 028B8F5C */ _t54 = cpu->r[31] + 0x00000034u;
/* 028B8F5C */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
L_028B8F60: ; // 0x28b8f60
/* 028B8F60 */ cpu->r[5] = 0x0000000Cu;
/* 028B8F64 */ cpu->r[4] = cpu->r[29];
/* 028B8F68 */ cpu->r[3] = cpu->r[28];
/* 028B8F6C */ Gambit_fn_028A89E8(cpu);
/* 028B8F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8F74 */ cpu->r[3] = cpu->r[28];
/* 028B8F78 */ _t55 = cpu->r[31] + 0x0000000Cu;
/* 028B8F78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
/* 028B8F7C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8F7C */ _t57 = _t56 & 0x00000001u;
/* 028B8F7C */ if (_t57) goto L_028B8FAC; else goto L_028B8F80;
L_028B8F80: ; // 0x28b8f80
/* 028B8F80 */ cpu->r[4] = cpu->r[29];
/* 028B8F84 */ Gambit_fn_028B3AB8(cpu);
/* 028B8F88 */ cpu->r[6] = 0x0000000Cu;
/* 028B8F8C */ _t58 = cpu->r[31] + 0x0000001Cu;
/* 028B8F8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
/* 028B8F90 */ cpu->r[4] = 0x00000002u;
/* 028B8F94 */ cpu->r[3] = cpu->r[28];
/* 028B8F98 */ _t59 = cpu->r[31] + 0x00000054u;
/* 028B8F98 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[1]);
/* 028B8F9C */ Gambit_fn_028A8B18(cpu);
/* 028B8FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8FA4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8FA4 */ _t61 = _t60 & 0x00000001u;
/* 028B8FA4 */ if (_t61) goto L_028B8FE0; else goto L_028B8FA8;
L_028B8FA8: ; // 0x28b8fa8
/* 028B8FA8 */ goto L_028B8FD4;
L_028B8FAC: ; // 0x28b8fac
/* 028B8FAC */ _t62 = cpu->r[31] + 0x00000010u;
/* 028B8FAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
/* 028B8FB0 */ Gambit_fn_028B356C(cpu);
/* 028B8FB4 */ cpu->r[6] = 0x0000000Cu;
/* 028B8FB8 */ _t63 = cpu->r[31] + 0x00000010u;
/* 028B8FB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
/* 028B8FBC */ cpu->r[4] = 0x00000002u;
/* 028B8FC0 */ cpu->r[3] = cpu->r[28];
/* 028B8FC4 */ _t64 = cpu->r[31] + 0x00000054u;
/* 028B8FC4 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[1]);
/* 028B8FC8 */ Gambit_fn_028A8848(cpu);
/* 028B8FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8FD0 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8FD0 */ _t66 = _t65 & 0x00000001u;
/* 028B8FD0 */ if (_t66) goto L_028B8FE0; else goto L_028B8FD4;
L_028B8FD4: ; // 0x28b8fd4
/* 028B8FD4 */ _t67 = cpu->r[31] + 0x00000034u;
/* 028B8FD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
/* 028B8FD8 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
/* 028B8FDC */ _t68 = cpu->r[31] + 0x00000034u;
/* 028B8FDC */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
L_028B8FE0: ; // 0x28b8fe0
/* 028B8FE0 */ cpu->r[5] = 0x0000000Du;
/* 028B8FE4 */ cpu->r[4] = cpu->r[29];
/* 028B8FE8 */ cpu->r[3] = cpu->r[28];
/* 028B8FEC */ Gambit_fn_028A89E8(cpu);
/* 028B8FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8FF4 */ cpu->r[3] = cpu->r[28];
/* 028B8FF8 */ _t69 = cpu->r[31] + 0x0000000Cu;
/* 028B8FF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
/* 028B8FFC */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8FFC */ _t71 = _t70 & 0x00000001u;
/* 028B8FFC */ if (_t71) goto L_028B902C; else goto L_028B9000;
L_028B9000: ; // 0x28b9000
/* 028B9000 */ cpu->r[4] = cpu->r[29];
/* 028B9004 */ Gambit_fn_028B3AEC(cpu);
/* 028B9008 */ cpu->r[6] = 0x0000000Du;
/* 028B900C */ _t72 = cpu->r[31] + 0x0000001Cu;
/* 028B900C */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
/* 028B9010 */ cpu->r[4] = 0x00000002u;
/* 028B9014 */ cpu->r[3] = cpu->r[28];
/* 028B9018 */ _t73 = cpu->r[31] + 0x00000058u;
/* 028B9018 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[1]);
/* 028B901C */ Gambit_fn_028A8B18(cpu);
/* 028B9020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9024 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9024 */ _t75 = _t74 & 0x00000001u;
/* 028B9024 */ if (_t75) goto L_028B9060; else goto L_028B9028;
L_028B9028: ; // 0x28b9028
/* 028B9028 */ goto L_028B9054;
L_028B902C: ; // 0x28b902c
/* 028B902C */ _t76 = cpu->r[31] + 0x00000010u;
/* 028B902C */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
/* 028B9030 */ Gambit_fn_028B35E8(cpu);
/* 028B9034 */ cpu->r[6] = 0x0000000Du;
/* 028B9038 */ _t77 = cpu->r[31] + 0x00000010u;
/* 028B9038 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
/* 028B903C */ cpu->r[4] = 0x00000002u;
/* 028B9040 */ cpu->r[3] = cpu->r[28];
/* 028B9044 */ _t78 = cpu->r[31] + 0x00000058u;
/* 028B9044 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[1]);
/* 028B9048 */ Gambit_fn_028A8848(cpu);
/* 028B904C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9050 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9050 */ _t80 = _t79 & 0x00000001u;
/* 028B9050 */ if (_t80) goto L_028B9060; else goto L_028B9054;
L_028B9054: ; // 0x28b9054
/* 028B9054 */ _t81 = cpu->r[31] + 0x00000034u;
/* 028B9054 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
/* 028B9058 */ cpu->r[11] = cpu->r[11] | 0x00000008u;
/* 028B905C */ _t82 = cpu->r[31] + 0x00000034u;
/* 028B905C */ rbrew_write32(cpu->mem, _t82, cpu->r[11]);
L_028B9060: ; // 0x28b9060
/* 028B9060 */ cpu->r[5] = 0x00000013u;
/* 028B9064 */ cpu->r[4] = cpu->r[29];
/* 028B9068 */ cpu->r[3] = cpu->r[28];
/* 028B906C */ Gambit_fn_028A89E8(cpu);
/* 028B9070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9074 */ cpu->r[3] = cpu->r[28];
/* 028B9078 */ _t83 = cpu->r[31] + 0x0000000Cu;
/* 028B9078 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83);
/* 028B907C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B907C */ _t85 = _t84 & 0x00000001u;
/* 028B907C */ if (_t85) goto L_028B90AC; else goto L_028B9080;
L_028B9080: ; // 0x28b9080
/* 028B9080 */ cpu->r[4] = cpu->r[29];
/* 028B9084 */ Gambit_fn_028B3AF8(cpu);
/* 028B9088 */ cpu->r[6] = 0x00000013u;
/* 028B908C */ _t86 = cpu->r[31] + 0x0000001Cu;
/* 028B908C */ cpu->r[5] = rbrew_read32(cpu->mem, _t86);
/* 028B9090 */ cpu->r[4] = 0x00000002u;
/* 028B9094 */ cpu->r[3] = cpu->r[28];
/* 028B9098 */ _t87 = cpu->r[31] + 0x0000005Cu;
/* 028B9098 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[1]);
/* 028B909C */ Gambit_fn_028A8B18(cpu);
/* 028B90A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B90A4 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B90A4 */ _t89 = _t88 & 0x00000001u;
/* 028B90A4 */ if (_t89) goto L_028B90E0; else goto L_028B90A8;
L_028B90A8: ; // 0x28b90a8
/* 028B90A8 */ goto L_028B90D4;
L_028B90AC: ; // 0x28b90ac
/* 028B90AC */ _t90 = cpu->r[31] + 0x00000010u;
/* 028B90AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
/* 028B90B0 */ Gambit_fn_028B390C(cpu);
/* 028B90B4 */ cpu->r[6] = 0x00000013u;
/* 028B90B8 */ _t91 = cpu->r[31] + 0x00000010u;
/* 028B90B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
/* 028B90BC */ cpu->r[4] = 0x00000002u;
/* 028B90C0 */ cpu->r[3] = cpu->r[28];
/* 028B90C4 */ _t92 = cpu->r[31] + 0x0000005Cu;
/* 028B90C4 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[1]);
/* 028B90C8 */ Gambit_fn_028A8848(cpu);
/* 028B90CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B90D0 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B90D0 */ _t94 = _t93 & 0x00000001u;
/* 028B90D0 */ if (_t94) goto L_028B90E0; else goto L_028B90D4;
L_028B90D4: ; // 0x28b90d4
/* 028B90D4 */ _t95 = cpu->r[31] + 0x00000034u;
/* 028B90D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
/* 028B90D8 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
/* 028B90DC */ _t96 = cpu->r[31] + 0x00000034u;
/* 028B90DC */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
L_028B90E0: ; // 0x28b90e0
/* 028B90E0 */ _t97 = cpu->r[31] + 0x00000008u;
/* 028B90E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
/* 028B90E4 */ cpu->r[3] = cpu->r[31];
/* 028B90E8 */ _t98 = cpu->r[12] + 0x00000054u;
/* 028B90E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
/* 028B90EC */ cpu->r[4] = cpu->r[12] + 0x00000054u;
/* 028B90F0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
/* 028B90F4 */ _t99 = cpu->r[1] + 0x00000010u;
/* 028B90F4 */ rbrew_write32(cpu->mem, _t99, cpu->r[11]);
/* 028B90F8 */ Gambit_fn_028B88BC(cpu);
/* 028B90FC */ cpu->r[4] = 0x00000001u;
/* 028B9100 */ Gambit_fn_028B8A04(cpu);
/* 028B9104 */ _t100 = cpu->r[1] + 0x00000020u;
/* 028B9104 */ cpu->r[28] = rbrew_read32(cpu->mem, _t100);
/* 028B9108 */ _t101 = cpu->r[1] + 0x00000024u;
/* 028B9108 */ cpu->r[29] = rbrew_read32(cpu->mem, _t101);
/* 028B910C */ _t102 = cpu->r[1] + 0x00000034u;
/* 028B910C */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
/* 028B9110 */ _t103 = cpu->r[1] + 0x00000028u;
/* 028B9110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t103);
/* 028B9114 */ cpu->lr = cpu->r[0];
/* 028B9118 */ _t104 = cpu->r[1] + 0x0000002Cu;
/* 028B9118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t104);
/* 028B911C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028B9120 */ return;
}
// fn_028B8D10 @ 0x28b8d10
void Gambit_fn_028B8D10(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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;
L_028B8D10: ; // 0x28b8d10
/* 028B8D10 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028B8D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B8D10 */ cpu->r[1] = _t0;
/* 028B8D14 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028B8D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B8D18 */ cpu->r[31] = cpu->r[3];
/* 028B8D1C */ _t2 = cpu->r[1] + 0x00000024u;
/* 028B8D1C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B8D20 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028B8D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028B8D24 */ _t4 = cpu->r[1] + 0x00000028u;
/* 028B8D24 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028B8D28 */ _t5 = cpu->r[1] + 0x00000034u;
/* 028B8D28 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B8D2C */ Gambit_fn_028B88B4(cpu);
/* 028B8D30 */ _t6 = cpu->r[31] + 0x0000001Cu;
/* 028B8D30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
/* 028B8D34 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028B8D34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
/* 028B8D38 */ cpu->r[5] = cpu->r[29];
/* 028B8D3C */ _t8 = cpu->r[31] + 0x00000010u;
/* 028B8D3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
/* 028B8D40 */ cpu->r[28] = cpu->r[3];
/* 028B8D44 */ Gambit_fn_028B3BE0(cpu);
/* 028B8D48 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8D4C */ Gambit_fn_028BC1D4(cpu);
/* 028B8D50 */ _t9 = cpu->r[31] + 0x00000010u;
/* 028B8D50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
/* 028B8D54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8D58 */ cpu->r[3] = cpu->r[28];
/* 028B8D5C */ Gambit_fn_028B3738(cpu);
/* 028B8D60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8D64 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8D68 */ Gambit_fn_028BC19C(cpu);
/* 028B8D6C */ _t10 = cpu->r[31] + 0x00000010u;
/* 028B8D6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028B8D70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8D74 */ cpu->r[3] = cpu->r[28];
/* 028B8D78 */ Gambit_fn_028B3738(cpu);
/* 028B8D7C */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8D80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B8D84 */ Gambit_fn_028BC214(cpu);
/* 028B8D88 */ _t11 = cpu->r[31] + 0x00000010u;
/* 028B8D88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
/* 028B8D8C */ cpu->r[3] = cpu->r[28];
/* 028B8D90 */ cpu->r[30] = 0x00000001u;
/* 028B8D94 */ Gambit_fn_028A7E4C(cpu);
/* 028B8D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8D9C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8D9C */ _t13 = _t12 & 0x00000001u;
/* 028B8D9C */ if (_t13) goto L_028B8DA4; else goto L_028B8DA0;
L_028B8DA0: ; // 0x28b8da0
/* 028B8DA0 */ cpu->r[30] = 0x00000002u;
L_028B8DA4: ; // 0x28b8da4
/* 028B8DA4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028B8DA8 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8DAC */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028B8DAC */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028B8DB0 */ Gambit_fn_028BC260(cpu);
/* 028B8DB4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8DB8 */ Gambit_fn_028BC334(cpu);
/* 028B8DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8DC0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8DC0 */ _t16 = _t15 & 0x00000001u;
/* 028B8DC0 */ if (_t16) goto L_028B8E74; else goto L_028B8DC4;
L_028B8DC4: ; // 0x28b8dc4
/* 028B8DC4 */ _t17 = cpu->r[31] + 0x00000010u;
/* 028B8DC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028B8DC8 */ cpu->r[3] = cpu->r[28];
/* 028B8DCC */ Gambit_fn_028B3A38(cpu);
/* 028B8DD0 */ cpu->r[30] = cpu->r[3];
/* 028B8DD4 */ _t18 = cpu->r[30] + 0x00000000u;
/* 028B8DD4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t18);
/* 028B8DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028B8DDC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8DDC */ _t20 = _t19 & 0x00000001u;
/* 028B8DDC */ if (_t20) goto L_028B8E04; else goto L_028B8DE0;
L_028B8DE0: ; // 0x28b8de0
/* 028B8DE0 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8DE4 */ Gambit_fn_028BC334(cpu);
/* 028B8DE8 */ cpu->r[9] = 0x10140000u;
/* 028B8DEC */ cpu->r[3] = cpu->r[3] + 0x00000140u;
/* 028B8DF0 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028B8DF0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028B8DF4 */ cpu->r[9] = cpu->r[9] + 0xFFFF8D5Cu;
/* 028B8DF8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028B8DFC */ _t22 = cpu->r[1] + 0x00000018u;
/* 028B8DFC */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
/* 028B8E00 */ Gambit_fn_028E1510(cpu);
L_028B8E04: ; // 0x28b8e04
/* 028B8E04 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8E08 */ Gambit_fn_028BC334(cpu);
/* 028B8E0C */ _t23 = cpu->r[31] + 0x00000010u;
/* 028B8E0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
/* 028B8E10 */ cpu->r[30] = cpu->r[3];
/* 028B8E14 */ cpu->r[3] = cpu->r[28];
/* 028B8E18 */ Gambit_fn_028B3368(cpu);
/* 028B8E1C */ cpu->r[4] = cpu->r[3];
/* 028B8E20 */ cpu->r[3] = cpu->r[30] + 0x00000140u;
/* 028B8E24 */ Gambit_fn_028E1560(cpu);
/* 028B8E28 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8E2C */ Gambit_fn_028BC334(cpu);
/* 028B8E30 */ _t24 = cpu->r[31] + 0x00000010u;
/* 028B8E30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
/* 028B8E34 */ cpu->r[30] = cpu->r[3];
/* 028B8E38 */ _t25 = cpu->r[31] + 0x0000000Cu;
/* 028B8E38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
/* 028B8E3C */ cpu->r[3] = cpu->r[28];
/* 028B8E40 */ Gambit_fn_028B397C(cpu);
/* 028B8E44 */ cpu->r[3] = cpu->r[30] + 0x00000140u;
/* 028B8E48 */ Gambit_fn_028E1550(cpu);
/* 028B8E4C */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B8E50 */ Gambit_fn_028BC334(cpu);
/* 028B8E54 */ _t26 = cpu->r[31] + 0x00000010u;
/* 028B8E54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
/* 028B8E58 */ cpu->r[30] = cpu->r[3];
/* 028B8E5C */ cpu->r[3] = cpu->r[28];
/* 028B8E60 */ Gambit_fn_028B32E0(cpu);
/* 028B8E64 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
/* 028B8E68 */ cpu->r[3] = cpu->r[30] + 0x00000140u;
/* 028B8E6C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028B8E70 */ Gambit_fn_028E1468(cpu);
L_028B8E74: ; // 0x28b8e74
/* 028B8E74 */ cpu->r[5] = 0x00000009u;
/* 028B8E78 */ cpu->r[4] = cpu->r[29];
/* 028B8E7C */ cpu->r[3] = cpu->r[28];
/* 028B8E80 */ Gambit_fn_028A89E8(cpu);
/* 028B8E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8E88 */ cpu->r[3] = cpu->r[28];
/* 028B8E8C */ _t27 = cpu->r[31] + 0x0000000Cu;
/* 028B8E8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
/* 028B8E90 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8E90 */ _t29 = _t28 & 0x00000001u;
/* 028B8E90 */ if (_t29) goto L_028B8EC0; else goto L_028B8E94;
L_028B8E94: ; // 0x28b8e94
/* 028B8E94 */ cpu->r[4] = cpu->r[29];
/* 028B8E98 */ Gambit_fn_028B3A84(cpu);
/* 028B8E9C */ cpu->r[6] = 0x00000009u;
/* 028B8EA0 */ _t30 = cpu->r[31] + 0x0000001Cu;
/* 028B8EA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
/* 028B8EA4 */ cpu->r[4] = 0x00000002u;
/* 028B8EA8 */ cpu->r[3] = cpu->r[28];
/* 028B8EAC */ _t31 = cpu->r[31] + 0x00000038u;
/* 028B8EAC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[1]);
/* 028B8EB0 */ Gambit_fn_028A8B18(cpu);
/* 028B8EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8EB8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8EB8 */ _t33 = _t32 & 0x00000001u;
/* 028B8EB8 */ if (_t33) goto L_028B8EF4; else goto L_028B8EBC;
L_028B8EBC: ; // 0x28b8ebc
/* 028B8EBC */ goto L_028B8EE8;
L_028B8EC0: ; // 0x28b8ec0
/* 028B8EC0 */ _t34 = cpu->r[31] + 0x00000010u;
/* 028B8EC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
/* 028B8EC4 */ Gambit_fn_028B33F0(cpu);
/* 028B8EC8 */ cpu->r[6] = 0x00000009u;
/* 028B8ECC */ _t35 = cpu->r[31] + 0x00000010u;
/* 028B8ECC */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
/* 028B8ED0 */ cpu->r[4] = 0x00000002u;
/* 028B8ED4 */ cpu->r[3] = cpu->r[28];
/* 028B8ED8 */ _t36 = cpu->r[31] + 0x00000038u;
/* 028B8ED8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[1]);
/* 028B8EDC */ Gambit_fn_028A8848(cpu);
/* 028B8EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8EE4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8EE4 */ _t38 = _t37 & 0x00000001u;
/* 028B8EE4 */ if (_t38) goto L_028B8EF4; else goto L_028B8EE8;
L_028B8EE8: ; // 0x28b8ee8
/* 028B8EE8 */ _t39 = cpu->r[31] + 0x00000034u;
/* 028B8EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028B8EEC */ cpu->r[10] = cpu->r[10] | 0x00000001u;
/* 028B8EF0 */ _t40 = cpu->r[31] + 0x00000034u;
/* 028B8EF0 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
L_028B8EF4: ; // 0x28b8ef4
/* 028B8EF4 */ _t41 = cpu->r[31] + 0x00000010u;
/* 028B8EF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
/* 028B8EF8 */ cpu->r[3] = cpu->r[28];
/* 028B8EFC */ _t42 = cpu->r[31] + 0x0000000Cu;
/* 028B8EFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
/* 028B8F00 */ Gambit_fn_028B348C(cpu);
/* 028B8F04 */ _t43 = cpu->r[31] + 0x0000000Cu;
/* 028B8F04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
/* 028B8F08 */ cpu->r[3] = cpu->r[28];
/* 028B8F0C */ _t44 = cpu->r[31] + 0x00000010u;
/* 028B8F0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
/* 028B8F10 */ _t45 = cpu->r[31] + 0x0000003Cu;
/* 028B8F10 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[1]);
/* 028B8F14 */ Gambit_fn_028B34FC(cpu);
/* 028B8F18 */ cpu->r[3] = cpu->r[28];
/* 028B8F1C */ _t46 = cpu->r[31] + 0x00000010u;
/* 028B8F1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
/* 028B8F20 */ cpu->r[4] = 0x00000002u;
/* 028B8F24 */ cpu->r[6] = 0x0000000Au;
/* 028B8F28 */ _t47 = cpu->r[31] + 0x00000040u;
/* 028B8F28 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[1]);
/* 028B8F2C */ Gambit_fn_028A8848(cpu);
/* 028B8F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8F34 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8F34 */ _t49 = _t48 & 0x00000001u;
/* 028B8F34 */ if (_t49) goto L_028B8F38; else goto L_028B8F54;
L_028B8F38: ; // 0x28b8f38
/* 028B8F38 */ _t50 = cpu->r[31] + 0x00000010u;
/* 028B8F38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
/* 028B8F3C */ cpu->r[6] = 0x0000000Bu;
/* 028B8F40 */ cpu->r[4] = 0x00000002u;
/* 028B8F44 */ cpu->r[3] = cpu->r[28];
/* 028B8F48 */ Gambit_fn_028A8848(cpu);
/* 028B8F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8F50 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8F50 */ _t52 = _t51 & 0x00000001u;
/* 028B8F50 */ if (_t52) goto L_028B8F60; else goto L_028B8F54;
L_028B8F54: ; // 0x28b8f54
/* 028B8F54 */ _t53 = cpu->r[31] + 0x00000034u;
/* 028B8F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028B8F58 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
/* 028B8F5C */ _t54 = cpu->r[31] + 0x00000034u;
/* 028B8F5C */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
L_028B8F60: ; // 0x28b8f60
/* 028B8F60 */ cpu->r[5] = 0x0000000Cu;
/* 028B8F64 */ cpu->r[4] = cpu->r[29];
/* 028B8F68 */ cpu->r[3] = cpu->r[28];
/* 028B8F6C */ Gambit_fn_028A89E8(cpu);
/* 028B8F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8F74 */ cpu->r[3] = cpu->r[28];
/* 028B8F78 */ _t55 = cpu->r[31] + 0x0000000Cu;
/* 028B8F78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
/* 028B8F7C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8F7C */ _t57 = _t56 & 0x00000001u;
/* 028B8F7C */ if (_t57) goto L_028B8FAC; else goto L_028B8F80;
L_028B8F80: ; // 0x28b8f80
/* 028B8F80 */ cpu->r[4] = cpu->r[29];
/* 028B8F84 */ Gambit_fn_028B3AB8(cpu);
/* 028B8F88 */ cpu->r[6] = 0x0000000Cu;
/* 028B8F8C */ _t58 = cpu->r[31] + 0x0000001Cu;
/* 028B8F8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
/* 028B8F90 */ cpu->r[4] = 0x00000002u;
/* 028B8F94 */ cpu->r[3] = cpu->r[28];
/* 028B8F98 */ _t59 = cpu->r[31] + 0x00000054u;
/* 028B8F98 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[1]);
/* 028B8F9C */ Gambit_fn_028A8B18(cpu);
/* 028B8FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8FA4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8FA4 */ _t61 = _t60 & 0x00000001u;
/* 028B8FA4 */ if (_t61) goto L_028B8FE0; else goto L_028B8FA8;
L_028B8FA8: ; // 0x28b8fa8
/* 028B8FA8 */ goto L_028B8FD4;
L_028B8FAC: ; // 0x28b8fac
/* 028B8FAC */ _t62 = cpu->r[31] + 0x00000010u;
/* 028B8FAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
/* 028B8FB0 */ Gambit_fn_028B356C(cpu);
/* 028B8FB4 */ cpu->r[6] = 0x0000000Cu;
/* 028B8FB8 */ _t63 = cpu->r[31] + 0x00000010u;
/* 028B8FB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
/* 028B8FBC */ cpu->r[4] = 0x00000002u;
/* 028B8FC0 */ cpu->r[3] = cpu->r[28];
/* 028B8FC4 */ _t64 = cpu->r[31] + 0x00000054u;
/* 028B8FC4 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[1]);
/* 028B8FC8 */ Gambit_fn_028A8848(cpu);
/* 028B8FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8FD0 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8FD0 */ _t66 = _t65 & 0x00000001u;
/* 028B8FD0 */ if (_t66) goto L_028B8FE0; else goto L_028B8FD4;
L_028B8FD4: ; // 0x28b8fd4
/* 028B8FD4 */ _t67 = cpu->r[31] + 0x00000034u;
/* 028B8FD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
/* 028B8FD8 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
/* 028B8FDC */ _t68 = cpu->r[31] + 0x00000034u;
/* 028B8FDC */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
L_028B8FE0: ; // 0x28b8fe0
/* 028B8FE0 */ cpu->r[5] = 0x0000000Du;
/* 028B8FE4 */ cpu->r[4] = cpu->r[29];
/* 028B8FE8 */ cpu->r[3] = cpu->r[28];
/* 028B8FEC */ Gambit_fn_028A89E8(cpu);
/* 028B8FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B8FF4 */ cpu->r[3] = cpu->r[28];
/* 028B8FF8 */ _t69 = cpu->r[31] + 0x0000000Cu;
/* 028B8FF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
/* 028B8FFC */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B8FFC */ _t71 = _t70 & 0x00000001u;
/* 028B8FFC */ if (_t71) goto L_028B902C; else goto L_028B9000;
L_028B9000: ; // 0x28b9000
/* 028B9000 */ cpu->r[4] = cpu->r[29];
/* 028B9004 */ Gambit_fn_028B3AEC(cpu);
/* 028B9008 */ cpu->r[6] = 0x0000000Du;
/* 028B900C */ _t72 = cpu->r[31] + 0x0000001Cu;
/* 028B900C */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
/* 028B9010 */ cpu->r[4] = 0x00000002u;
/* 028B9014 */ cpu->r[3] = cpu->r[28];
/* 028B9018 */ _t73 = cpu->r[31] + 0x00000058u;
/* 028B9018 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[1]);
/* 028B901C */ Gambit_fn_028A8B18(cpu);
/* 028B9020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9024 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9024 */ _t75 = _t74 & 0x00000001u;
/* 028B9024 */ if (_t75) goto L_028B9060; else goto L_028B9028;
L_028B9028: ; // 0x28b9028
/* 028B9028 */ goto L_028B9054;
L_028B902C: ; // 0x28b902c
/* 028B902C */ _t76 = cpu->r[31] + 0x00000010u;
/* 028B902C */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
/* 028B9030 */ Gambit_fn_028B35E8(cpu);
/* 028B9034 */ cpu->r[6] = 0x0000000Du;
/* 028B9038 */ _t77 = cpu->r[31] + 0x00000010u;
/* 028B9038 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
/* 028B903C */ cpu->r[4] = 0x00000002u;
/* 028B9040 */ cpu->r[3] = cpu->r[28];
/* 028B9044 */ _t78 = cpu->r[31] + 0x00000058u;
/* 028B9044 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[1]);
/* 028B9048 */ Gambit_fn_028A8848(cpu);
/* 028B904C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9050 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9050 */ _t80 = _t79 & 0x00000001u;
/* 028B9050 */ if (_t80) goto L_028B9060; else goto L_028B9054;
L_028B9054: ; // 0x28b9054
/* 028B9054 */ _t81 = cpu->r[31] + 0x00000034u;
/* 028B9054 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
/* 028B9058 */ cpu->r[11] = cpu->r[11] | 0x00000008u;
/* 028B905C */ _t82 = cpu->r[31] + 0x00000034u;
/* 028B905C */ rbrew_write32(cpu->mem, _t82, cpu->r[11]);
L_028B9060: ; // 0x28b9060
/* 028B9060 */ cpu->r[5] = 0x00000013u;
/* 028B9064 */ cpu->r[4] = cpu->r[29];
/* 028B9068 */ cpu->r[3] = cpu->r[28];
/* 028B906C */ Gambit_fn_028A89E8(cpu);
/* 028B9070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9074 */ cpu->r[3] = cpu->r[28];
/* 028B9078 */ _t83 = cpu->r[31] + 0x0000000Cu;
/* 028B9078 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83);
/* 028B907C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B907C */ _t85 = _t84 & 0x00000001u;
/* 028B907C */ if (_t85) goto L_028B90AC; else goto L_028B9080;
L_028B9080: ; // 0x28b9080
/* 028B9080 */ cpu->r[4] = cpu->r[29];
/* 028B9084 */ Gambit_fn_028B3AF8(cpu);
/* 028B9088 */ cpu->r[6] = 0x00000013u;
/* 028B908C */ _t86 = cpu->r[31] + 0x0000001Cu;
/* 028B908C */ cpu->r[5] = rbrew_read32(cpu->mem, _t86);
/* 028B9090 */ cpu->r[4] = 0x00000002u;
/* 028B9094 */ cpu->r[3] = cpu->r[28];
/* 028B9098 */ _t87 = cpu->r[31] + 0x0000005Cu;
/* 028B9098 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[1]);
/* 028B909C */ Gambit_fn_028A8B18(cpu);
/* 028B90A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B90A4 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B90A4 */ _t89 = _t88 & 0x00000001u;
/* 028B90A4 */ if (_t89) goto L_028B90E0; else goto L_028B90A8;
L_028B90A8: ; // 0x28b90a8
/* 028B90A8 */ goto L_028B90D4;
L_028B90AC: ; // 0x28b90ac
/* 028B90AC */ _t90 = cpu->r[31] + 0x00000010u;
/* 028B90AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
/* 028B90B0 */ Gambit_fn_028B390C(cpu);
/* 028B90B4 */ cpu->r[6] = 0x00000013u;
/* 028B90B8 */ _t91 = cpu->r[31] + 0x00000010u;
/* 028B90B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
/* 028B90BC */ cpu->r[4] = 0x00000002u;
/* 028B90C0 */ cpu->r[3] = cpu->r[28];
/* 028B90C4 */ _t92 = cpu->r[31] + 0x0000005Cu;
/* 028B90C4 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[1]);
/* 028B90C8 */ Gambit_fn_028A8848(cpu);
/* 028B90CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B90D0 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B90D0 */ _t94 = _t93 & 0x00000001u;
/* 028B90D0 */ if (_t94) goto L_028B90E0; else goto L_028B90D4;
L_028B90D4: ; // 0x28b90d4
/* 028B90D4 */ _t95 = cpu->r[31] + 0x00000034u;
/* 028B90D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
/* 028B90D8 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
/* 028B90DC */ _t96 = cpu->r[31] + 0x00000034u;
/* 028B90DC */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
L_028B90E0: ; // 0x28b90e0
/* 028B90E0 */ _t97 = cpu->r[31] + 0x00000008u;
/* 028B90E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
/* 028B90E4 */ cpu->r[3] = cpu->r[31];
/* 028B90E8 */ _t98 = cpu->r[12] + 0x00000054u;
/* 028B90E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
/* 028B90EC */ cpu->r[4] = cpu->r[12] + 0x00000054u;
/* 028B90F0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
/* 028B90F4 */ _t99 = cpu->r[1] + 0x00000010u;
/* 028B90F4 */ rbrew_write32(cpu->mem, _t99, cpu->r[11]);
/* 028B90F8 */ Gambit_fn_028B88BC(cpu);
/* 028B90FC */ cpu->r[4] = 0x00000001u;
/* 028B9100 */ Gambit_fn_028B8A04(cpu);
/* 028B9104 */ _t100 = cpu->r[1] + 0x00000020u;
/* 028B9104 */ cpu->r[28] = rbrew_read32(cpu->mem, _t100);
/* 028B9108 */ _t101 = cpu->r[1] + 0x00000024u;
/* 028B9108 */ cpu->r[29] = rbrew_read32(cpu->mem, _t101);
/* 028B910C */ _t102 = cpu->r[1] + 0x00000034u;
/* 028B910C */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
/* 028B9110 */ _t103 = cpu->r[1] + 0x00000028u;
/* 028B9110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t103);
/* 028B9114 */ cpu->lr = cpu->r[0];
/* 028B9118 */ _t104 = cpu->r[1] + 0x0000002Cu;
/* 028B9118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t104);
/* 028B911C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028B9120 */ return;
}
// fn_028B9124 @ 0x28b9124
void Gambit_fn_028B9124(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028B9124: ; // 0x28b9124
/* 028B9124 */ _t0 = cpu->r[1] + 0xFFFFFDB8u;
/* 028B9124 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9124 */ cpu->r[1] = _t0;
/* 028B9128 */ /* nop */
/* 028B912C */ cpu->r[0] = cpu->lr;
/* 028B9130 */ _t1 = cpu->r[1] + 0x0000024Cu;
/* 028B9130 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028B9134 */ cpu->r[30] = cpu->r[3];
/* 028B9138 */ _t2 = cpu->r[3] + 0x0000000Cu;
/* 028B9138 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
/* 028B913C */ Gambit_fn_028B88B4(cpu);
/* 028B9140 */ _t3 = cpu->r[30] + 0x00000010u;
/* 028B9140 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028B9144 */ cpu->r[27] = cpu->r[3];
/* 028B9148 */ Gambit_fn_028B31C0(cpu);
/* 028B914C */ cpu->r[31] = 0x10110000u;
/* 028B9150 */ cpu->r[7] = 0x00000080u;
/* 028B9154 */ _t4 = cpu->r[31] + 0x00007399u;
/* 028B9154 */ cpu->r[31] = rbrew_read8(cpu->mem, _t4);
/* 028B9158 */ cpu->r[8] = 0x10140000u;
/* 028B915C */ _t5 = cpu->r[1] + 0x0000005Cu;
/* 028B915C */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
/* 028B9160 */ cpu->r[8] = cpu->r[8] + 0xFFFF8DA4u;
/* 028B9164 */ cpu->r[23] = 0x10140000u;
/* 028B9168 */ _t6 = cpu->r[1] + 0x00000060u;
/* 028B9168 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
/* 028B916C */ cpu->r[23] = cpu->r[23] + 0xFFFF8D5Cu;
/* 028B9170 */ _t7 = cpu->r[1] + 0x000000DFu;
/* 028B9170 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
/* 028B9174 */ cpu->r[0] = cpu->r[3];
/* 028B9174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B9178 */ cpu->r[26] = cpu->r[1] + 0x00000060u;
/* 028B917C */ _t8 = cpu->r[1] + 0x00000058u;
/* 028B917C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
/* 028B9180 */ cpu->r[28] = 0x00000000u;
/* 028B9184 */ _t9 = cpu->r[1] + 0x00000054u;
/* 028B9184 */ rbrew_write32(cpu->mem, _t9, cpu->r[26]);
/* 028B9188 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9188 */ _t11 = _t10 & 0x00000001u;
/* 028B9188 */ if (_t11) goto L_028B9290; else goto L_028B918C;
L_028B918C: ; // 0x28b918c
/* 028B918C */ _t12 = cpu->r[1] + 0x00000018u;
/* 028B918C */ rbrew_write32(cpu->mem, _t12, cpu->r[23]);
/* 028B9190 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
/* 028B9194 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028B9194 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028B9198 */ Gambit_fn_028BA00C(cpu);
/* 028B919C */ _t14 = cpu->r[1] + 0x00000054u;
/* 028B919C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028B91A0 */ _t15 = cpu->r[10] + 0x00000000u;
/* 028B91A0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t15);
/* 028B91A4 */ cpu->r[24] = 0x00000000u;
/* 028B91A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028B91AC */ cpu->r[0] = 0x00080000u;
/* 028B91B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B91B0 */ _t17 = _t16 & 0x00000001u;
/* 028B91B0 */ if (_t17) goto L_028B91D8; else goto L_028B91B4;
L_028B91B4: ; // 0x28b91b4
/* 028B91B4 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028B91B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
/* 028B91BC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028B91C0 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B91C0 */ _t19 = _t18 & 0x00000001u;
/* 028B91C0 */ if (_t19) goto L_028B91D4; else goto L_028B91C4;
L_028B91C4: ; // 0x28b91c4
/* 028B91C4 */ _t20 = cpu->r[10] + 0x00000000u;
/* 028B91C4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
/* 028B91C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028B91CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B91CC */ _t22 = _t21 & 0x00000001u;
/* 028B91CC */ if (_t22) goto L_028B91D0; else goto L_028B91B4;
L_028B91D0: ; // 0x28b91d0
/* 028B91D0 */ goto L_028B91D8;
L_028B91D4: ; // 0x28b91d4
/* 028B91D4 */ cpu->r[24] = 0x00000000u;
L_028B91D8: ; // 0x28b91d8
/* 028B91D8 */ _t23 = cpu->r[1] + 0x00000018u;
/* 028B91D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028B91DC */ cpu->r[22] = cpu->r[24];
/* 028B91DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028B91E0 */ _t24 = cpu->r[12] + 0x00000014u;
/* 028B91E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028B91E4 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B91E4 */ _t26 = _t25 & 0x00000001u;
/* 028B91E4 */ if (_t26) goto L_028B91E8; else goto L_028B91EC;
L_028B91E8: ; // 0x28b91e8
/* 028B91E8 */ cpu->r[22] = 0x00000000u;
L_028B91EC: ; // 0x28b91ec
/* 028B91EC */ cpu->ctr = cpu->r[0];
/* 028B91F0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028B91F4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B91F8 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028B91F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
/* 028B91FC */ _t28 = cpu->r[7] + 0x00000000u;
/* 028B91FC */ cpu->r[5] = rbrew_read8(cpu->mem, _t28);
/* 028B9200 */ cpu->r[25] = 0x00000000u;
/* 028B9204 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028B9208 */ cpu->r[9] = 0x00080000u;
/* 028B920C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B920C */ _t30 = _t29 & 0x00000001u;
/* 028B920C */ if (_t30) goto L_028B9234; else goto L_028B9210;
L_028B9210: ; // 0x28b9210
/* 028B9210 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
/* 028B9214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[9]);
/* 028B9218 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028B921C */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B921C */ _t32 = _t31 & 0x00000001u;
/* 028B921C */ if (_t32) goto L_028B9230; else goto L_028B9220;
L_028B9220: ; // 0x28b9220
/* 028B9220 */ _t33 = cpu->r[7] + 0x00000000u;
/* 028B9220 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
/* 028B9224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028B9228 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9228 */ _t35 = _t34 & 0x00000001u;
/* 028B9228 */ if (_t35) goto L_028B922C; else goto L_028B9210;
L_028B922C: ; // 0x28b922c
/* 028B922C */ goto L_028B9234;
L_028B9230: ; // 0x28b9230
/* 028B9230 */ cpu->r[25] = 0x00000000u;
L_028B9234: ; // 0x28b9234
/* 028B9234 */ _t36 = cpu->r[1] + 0x0000005Cu;
/* 028B9234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
/* 028B9238 */ cpu->r[5] = cpu->r[0] - cpu->r[22];
/* 028B923C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
/* 028B9240 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9240 */ _t38 = _t37 & 0x00000001u;
/* 028B9240 */ if (_t38) goto L_028B9248; else goto L_028B9244;
L_028B9244: ; // 0x28b9244
/* 028B9244 */ cpu->r[25] = cpu->r[5] + 0xFFFFFFFFu;
L_028B9248: ; // 0x28b9248
/* 028B9248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028B924C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B924C */ _t40 = _t39 & 0x00000001u;
/* 028B924C */ if (_t40) goto L_028B9250; else goto L_028B928C;
L_028B9250: ; // 0x28b9250
/* 028B9250 */ _t41 = cpu->r[1] + 0x00000018u;
/* 028B9250 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
/* 028B9254 */ _t42 = cpu->r[8] + 0x00000014u;
/* 028B9254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
/* 028B9258 */ cpu->ctr = cpu->r[11];
/* 028B925C */ cpu->r[21] = cpu->r[26] + cpu->r[22];
/* 028B9260 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028B9264 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B9268 */ _t43 = cpu->r[1] + 0x00000014u;
/* 028B9268 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
/* 028B926C */ cpu->r[6] = 0x00000000u;
/* 028B9270 */ cpu->r[5] = cpu->r[25];
/* 028B9274 */ cpu->r[3] = cpu->r[21];
/* 028B9278 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028B927C */ cpu->r[9] = cpu->r[22] + cpu->r[25];
/* 028B9280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[24]);
/* 028B9284 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B9284 */ _t45 = _t44 & 0x00000001u;
/* 028B9284 */ if (_t45) goto L_028B9288; else goto L_028B928C;
L_028B9288: ; // 0x28b9288
/* 028B9288 */ _t46 = cpu->r[26] + cpu->r[9];
/* 028B9288 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[31]);
L_028B928C: ; // 0x28b928c
/* 028B928C */ _t47 = cpu->r[1] + 0x00000054u;
/* 028B928C */ cpu->r[26] = rbrew_read32(cpu->mem, _t47);
L_028B9290: ; // 0x28b9290
/* 028B9290 */ _t48 = cpu->r[26] + 0x00000000u;
/* 028B9290 */ cpu->r[12] = rbrew_read8(cpu->mem, _t48);
/* 028B9294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028B9298 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9298 */ _t50 = _t49 & 0x00000001u;
/* 028B9298 */ if (_t50) goto L_028B9504; else goto L_028B929C;
L_028B929C: ; // 0x28b929c
/* 028B929C */ cpu->r[3] = cpu->r[29];
/* 028B92A0 */ Gambit_fn_028B4C08(cpu);
/* 028B92A4 */ cpu->r[31] = cpu->r[3];
/* 028B92A8 */ cpu->r[3] = cpu->r[1] + 0x000000E0u;
/* 028B92AC */ Gambit_fn_028E5F50(cpu);
/* 028B92B0 */ cpu->r[4] = cpu->r[31];
/* 028B92B4 */ cpu->r[3] = cpu->r[1] + 0x000000E0u;
/* 028B92B8 */ cpu->r[5] = cpu->r[1] + 0x00000054u;
/* 028B92BC */ Gambit_fn_028BB50C(cpu);
/* 028B92C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B92C4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B92C4 */ _t52 = _t51 & 0x00000001u;
/* 028B92C4 */ if (_t52) goto L_028B92C8; else goto L_028B9308;
L_028B92C8: ; // 0x28b92c8
/* 028B92C8 */ _t53 = cpu->r[1] + 0x00000058u;
/* 028B92C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
/* 028B92CC */ _t54 = cpu->r[5] + 0x00000014u;
/* 028B92CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028B92D0 */ cpu->ctr = cpu->r[0];
/* 028B92D4 */ _t55 = cpu->r[30] + 0x0000000Cu;
/* 028B92D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
/* 028B92D8 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
/* 028B92DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B92E0 */ _t56 = cpu->r[31] + 0x0000001Cu;
/* 028B92E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
/* 028B92E4 */ cpu->r[6] = 0x10140000u;
/* 028B92E8 */ _t57 = cpu->r[1] + 0x00000054u;
/* 028B92E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
/* 028B92EC */ cpu->r[6] = cpu->r[6] + 0xFFFF8DBCu;
/* 028B92F0 */ _t58 = cpu->r[31] + 0x00000020u;
/* 028B92F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
/* 028B92F4 */ cpu->r[4] = 0x0000000Au;
/* 028B92F8 */ _t59 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028B92F8 */ _t60 = _t59 & 0x00000001u;
/* 028B92F8 */ if (_t60) goto L_028B92FC; // else: addr-0 trap, fall-through
L_028B92FC: ; // 0x28b92fc
/* 028B92FC */ Gambit_fn_028AA73C(cpu);
/* 028B9300 */ cpu->r[3] = 0x00000000u;
/* 028B9304 */ goto L_028B9508;
L_028B9308: ; // 0x28b9308
/* 028B9308 */ _t61 = cpu->r[1] + 0x00000008u;
/* 028B9308 */ rbrew_write32(cpu->mem, _t61, cpu->r[28]);
/* 028B930C */ cpu->r[0] = 0x00000005u;
/* 028B9310 */ _t62 = cpu->r[1] + 0x0000000Cu;
/* 028B9310 */ rbrew_write32(cpu->mem, _t62, cpu->r[28]);
/* 028B9314 */ cpu->r[3] = cpu->r[27];
/* 028B9318 */ _t63 = cpu->r[30] + 0x00000010u;
/* 028B9318 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63);
/* 028B931C */ _t64 = cpu->r[1] + 0x00000010u;
/* 028B931C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
/* 028B9320 */ Gambit_fn_028B320C(cpu);
/* 028B9324 */ cpu->r[26] = cpu->r[3];
/* 028B9328 */ _t65 = cpu->r[1] + 0x00000020u;
/* 028B9328 */ rbrew_write32(cpu->mem, _t65, cpu->r[23]);
/* 028B932C */ _t66 = cpu->r[1] + 0x0000001Cu;
/* 028B932C */ rbrew_write32(cpu->mem, _t66, cpu->r[26]);
/* 028B9330 */ Gambit_fn_028C29F4(cpu);
/* 028B9334 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
/* 028B9338 */ Gambit_fn_028D2310(cpu);
/* 028B933C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9340 */ cpu->r[31] = 0x101D0000u;
/* 028B9344 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9344 */ _t68 = _t67 & 0x00000001u;
/* 028B9344 */ if (_t68) goto L_028B9348; else goto L_028B9374;
L_028B9348: ; // 0x28b9348
/* 028B9348 */ _t69 = cpu->r[30] + 0x0000000Cu;
/* 028B9348 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
/* 028B934C */ cpu->r[6] = 0x10140000u;
/* 028B9350 */ _t70 = cpu->r[31] + 0xFFFF9A68u;
/* 028B9350 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
/* 028B9354 */ cpu->r[4] = 0x0000000Cu;
/* 028B9358 */ _t71 = cpu->r[10] + 0x00000020u;
/* 028B9358 */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
/* 028B935C */ cpu->r[6] = cpu->r[6] + 0xFFFF8DC8u;
/* 028B9360 */ cpu->r[7] = cpu->r[26];
/* 028B9364 */ _t72 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028B9364 */ _t73 = _t72 & 0x00000001u;
/* 028B9364 */ if (_t73) goto L_028B9368; // else: addr-0 trap, fall-through
L_028B9368: ; // 0x28b9368
/* 028B9368 */ Gambit_fn_028AA73C(cpu);
/* 028B936C */ Gambit_fn_028C29F4(cpu);
/* 028B9370 */ _t74 = cpu->r[3] + 0x0000000Cu;
/* 028B9370 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
L_028B9374: ; // 0x28b9374
/* 028B9374 */ _t75 = cpu->r[1] + 0x00000008u;
/* 028B9374 */ rbrew_write32(cpu->mem, _t75, cpu->r[3]);
/* 028B9378 */ _t76 = cpu->r[30] + 0x00000010u;
/* 028B9378 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
/* 028B937C */ cpu->r[3] = cpu->r[27];
/* 028B9380 */ Gambit_fn_028B329C(cpu);
/* 028B9384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9388 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9388 */ _t78 = _t77 & 0x00000001u;
/* 028B9388 */ if (_t78) goto L_028B93A0; else goto L_028B938C;
L_028B938C: ; // 0x28b938c
/* 028B938C */ _t79 = cpu->r[30] + 0x00000010u;
/* 028B938C */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
/* 028B9390 */ cpu->r[3] = cpu->r[27];
/* 028B9394 */ Gambit_fn_028B3368(cpu);
/* 028B9398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B939C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B939C */ _t81 = _t80 & 0x00000001u;
/* 028B939C */ if (_t81) goto L_028B93CC; else goto L_028B93A0;
L_028B93A0: ; // 0x28b93a0
/* 028B93A0 */ _t82 = cpu->r[1] + 0x00000010u;
/* 028B93A0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t82);
/* 028B93A4 */ _t83 = cpu->r[30] + 0x00000010u;
/* 028B93A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83);
/* 028B93A8 */ cpu->r[11] = cpu->r[11] | 0x00000001u;
/* 028B93AC */ cpu->r[3] = cpu->r[27];
/* 028B93B0 */ _t84 = cpu->r[1] + 0x00000010u;
/* 028B93B0 */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[11]);
/* 028B93B4 */ Gambit_fn_028B3324(cpu);
/* 028B93B8 */ _t85 = cpu->r[30] + 0x00000028u;
/* 028B93B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
/* 028B93BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B93C0 */ _t86 = cpu->r[8] + 0x0000000Cu;
/* 028B93C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
/* 028B93C4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B93C4 */ _t88 = _t87 & 0x00000001u;
/* 028B93C4 */ if (_t88) goto L_028B93C8; else goto L_028B93F4;
L_028B93C8: ; // 0x28b93c8
/* 028B93C8 */ goto L_028B9434;
L_028B93CC: ; // 0x28b93cc
/* 028B93CC */ _t89 = cpu->r[1] + 0x00000010u;
/* 028B93CC */ cpu->r[12] = rbrew_read16(cpu->mem, _t89);
/* 028B93D0 */ _t90 = cpu->r[30] + 0x00000010u;
/* 028B93D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
/* 028B93D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Eu);
/* 028B93D8 */ cpu->r[3] = cpu->r[27];
/* 028B93DC */ _t91 = cpu->r[1] + 0x00000010u;
/* 028B93DC */ rbrew_write16(cpu->mem, _t91, (uint16_t)cpu->r[12]);
/* 028B93E0 */ Gambit_fn_028B3324(cpu);
/* 028B93E4 */ _t92 = cpu->r[30] + 0x00000028u;
/* 028B93E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
/* 028B93E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B93EC */ _t93 = cpu->r[8] + 0x0000000Cu;
/* 028B93EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t93);
/* 028B93F0 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B93F0 */ _t95 = _t94 & 0x00000001u;
/* 028B93F0 */ if (_t95) goto L_028B9434; else goto L_028B93F4;
L_028B93F4: ; // 0x28b93f4
/* 028B93F4 */ _t96 = cpu->r[1] + 0x00000010u;
/* 028B93F4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t96);
/* 028B93F8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028B93FC */ cpu->r[0] = cpu->r[0] | 0x00000004u;
/* 028B9400 */ cpu->r[4] = cpu->r[1] + 0x000000E0u;
/* 028B9404 */ _t97 = cpu->r[1] + 0x00000010u;
/* 028B9404 */ rbrew_write16(cpu->mem, _t97, (uint16_t)cpu->r[0]);
/* 028B9408 */ Gambit_fn_028BB2E0(cpu);
/* 028B940C */ _t98 = cpu->r[1] + 0x00000024u;
/* 028B940C */ rbrew_write32(cpu->mem, _t98, cpu->r[3]);
/* 028B9410 */ _t99 = cpu->r[1] + 0x00000028u;
/* 028B9410 */ rbrew_write32(cpu->mem, _t99, cpu->r[4]);
/* 028B9414 */ cpu->r[27] = cpu->r[30] + 0x0000002Cu;
/* 028B9418 */ _t100 = cpu->r[30] + 0x0000002Cu;
/* 028B9418 */ rbrew_write32(cpu->mem, _t100, cpu->r[3]);
/* 028B941C */ cpu->r[3] = cpu->r[27];
/* 028B9420 */ _t101 = cpu->r[30] + 0x00000030u;
/* 028B9420 */ rbrew_write32(cpu->mem, _t101, cpu->r[4]);
/* 028B9424 */ Gambit_fn_028BBF4C(cpu);
/* 028B9428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B942C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B942C */ _t103 = _t102 & 0x00000001u;
/* 028B942C */ if (_t103) goto L_028B9504; else goto L_028B9430;
L_028B9430: ; // 0x28b9430
/* 028B9430 */ goto L_028B9470;
L_028B9434: ; // 0x28b9434
/* 028B9434 */ _t104 = cpu->r[1] + 0x00000010u;
/* 028B9434 */ cpu->r[10] = rbrew_read16(cpu->mem, _t104);
/* 028B9438 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028B943C */ cpu->r[10] = cpu->r[10] & 0x0000FFFBu;
/* 028B943C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B9440 */ cpu->r[4] = cpu->r[1] + 0x000000E0u;
/* 028B9444 */ _t105 = cpu->r[1] + 0x00000010u;
/* 028B9444 */ rbrew_write16(cpu->mem, _t105, (uint16_t)cpu->r[10]);
/* 028B9448 */ Gambit_fn_028BB2E0(cpu);
/* 028B944C */ _t106 = cpu->r[1] + 0x00000024u;
/* 028B944C */ rbrew_write32(cpu->mem, _t106, cpu->r[3]);
/* 028B9450 */ _t107 = cpu->r[1] + 0x00000028u;
/* 028B9450 */ rbrew_write32(cpu->mem, _t107, cpu->r[4]);
/* 028B9454 */ cpu->r[27] = cpu->r[30] + 0x0000002Cu;
/* 028B9458 */ _t108 = cpu->r[30] + 0x0000002Cu;
/* 028B9458 */ rbrew_write32(cpu->mem, _t108, cpu->r[3]);
/* 028B945C */ cpu->r[3] = cpu->r[27];
/* 028B9460 */ _t109 = cpu->r[30] + 0x00000030u;
/* 028B9460 */ rbrew_write32(cpu->mem, _t109, cpu->r[4]);
/* 028B9464 */ Gambit_fn_028BBF4C(cpu);
/* 028B9468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B946C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B946C */ _t111 = _t110 & 0x00000001u;
/* 028B946C */ if (_t111) goto L_028B9504; else goto L_028B9470;
L_028B9470: ; // 0x28b9470
/* 028B9470 */ cpu->r[3] = cpu->r[30];
/* 028B9474 */ Gambit_fn_028B8D0C(cpu);
/* 028B9478 */ _t112 = cpu->r[31] + 0xFFFF9A68u;
/* 028B9478 */ cpu->r[8] = rbrew_read32(cpu->mem, _t112);
/* 028B947C */ _t113 = cpu->r[8] + 0x00000070u;
/* 028B947C */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
/* 028B9480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9484 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9484 */ _t115 = _t114 & 0x00000001u;
/* 028B9484 */ if (_t115) goto L_028B94B4; else goto L_028B9488;
L_028B9488: ; // 0x28b9488
/* 028B9488 */ _t116 = cpu->r[30] + 0x00000010u;
/* 028B9488 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
/* 028B948C */ _t117 = cpu->r[1] + 0x00000030u;
/* 028B948C */ rbrew_write32(cpu->mem, _t117, cpu->r[29]);
/* 028B9490 */ _t118 = cpu->r[1] + 0x00000038u;
/* 028B9490 */ rbrew_write32(cpu->mem, _t118, cpu->r[10]);
/* 028B9494 */ _t119 = cpu->r[1] + 0x00000034u;
/* 028B9494 */ rbrew_write32(cpu->mem, _t119, cpu->r[27]);
/* 028B9498 */ _t120 = cpu->r[1] + 0x0000003Cu;
/* 028B9498 */ rbrew_write32(cpu->mem, _t120, cpu->r[30]);
/* 028B949C */ _t121 = cpu->r[1] + 0x0000002Cu;
/* 028B949C */ rbrew_write32(cpu->mem, _t121, cpu->r[28]);
/* 028B94A0 */ _t122 = cpu->r[3] + 0x00000000u;
/* 028B94A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t122);
/* 028B94A4 */ _t123 = cpu->r[11] + 0x00000014u;
/* 028B94A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
/* 028B94A8 */ cpu->ctr = cpu->r[12];
/* 028B94AC */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
/* 028B94B0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028B94B4: ; // 0x28b94b4
/* 028B94B4 */ _t124 = cpu->r[29] + 0x00000088u;
/* 028B94B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t124);
/* 028B94B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B94BC */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B94BC */ _t126 = _t125 & 0x00000001u;
/* 028B94BC */ if (_t126) goto L_028B94EC; else goto L_028B94C0;
L_028B94C0: ; // 0x28b94c0
/* 028B94C0 */ _t127 = cpu->r[30] + 0x00000010u;
/* 028B94C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
/* 028B94C4 */ _t128 = cpu->r[1] + 0x00000044u;
/* 028B94C4 */ rbrew_write32(cpu->mem, _t128, cpu->r[29]);
/* 028B94C8 */ _t129 = cpu->r[1] + 0x0000004Cu;
/* 028B94C8 */ rbrew_write32(cpu->mem, _t129, cpu->r[0]);
/* 028B94CC */ _t130 = cpu->r[1] + 0x00000048u;
/* 028B94CC */ rbrew_write32(cpu->mem, _t130, cpu->r[27]);
/* 028B94D0 */ _t131 = cpu->r[1] + 0x00000050u;
/* 028B94D0 */ rbrew_write32(cpu->mem, _t131, cpu->r[30]);
/* 028B94D4 */ _t132 = cpu->r[1] + 0x00000040u;
/* 028B94D4 */ rbrew_write32(cpu->mem, _t132, cpu->r[28]);
/* 028B94D8 */ _t133 = cpu->r[3] + 0x00000000u;
/* 028B94D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133);
/* 028B94DC */ _t134 = cpu->r[5] + 0x00000014u;
/* 028B94DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t134);
/* 028B94E0 */ cpu->ctr = cpu->r[0];
/* 028B94E4 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
/* 028B94E8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028B94EC: ; // 0x28b94ec
/* 028B94EC */ /* nop */
/* 028B94F0 */ _t135 = cpu->r[1] + 0x0000024Cu;
/* 028B94F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
/* 028B94F4 */ cpu->lr = cpu->r[0];
/* 028B94F8 */ cpu->r[1] = cpu->r[1] + 0x00000248u;
/* 028B94FC */ cpu->r[3] = 0x00000001u;
/* 028B9500 */ return;
L_028B9504: ; // 0x28b9504
/* 028B9504 */ cpu->r[3] = 0x00000000u;
L_028B9508: ; // 0x28b9508
/* 028B9508 */ /* nop */
/* 028B950C */ _t136 = cpu->r[1] + 0x0000024Cu;
/* 028B950C */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
/* 028B9510 */ cpu->lr = cpu->r[0];
/* 028B9514 */ cpu->r[1] = cpu->r[1] + 0x00000248u;
/* 028B9518 */ return;
}
// fn_028B951C @ 0x28b951c
void Gambit_fn_028B951C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
L_028B951C: ; // 0x28b951c
/* 028B951C */ cpu->r[0] = cpu->lr;
/* 028B9520 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B9520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9520 */ cpu->r[1] = _t0;
/* 028B9524 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028B9524 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B9528 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B9528 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B952C */ cpu->r[31] = cpu->r[3];
/* 028B9530 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028B9530 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028B9534 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028B9534 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B9538 */ Gambit_fn_028B88B4(cpu);
/* 028B953C */ _t5 = cpu->r[31] + 0x00000034u;
/* 028B953C */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
/* 028B9540 */ cpu->r[29] = cpu->r[3];
/* 028B9544 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028B9544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B9548 */ _t6 = cpu->r[31] + 0x0000001Cu;
/* 028B9548 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028B954C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B954C */ _t8 = _t7 & 0x00000001u;
/* 028B954C */ if (_t8) goto L_028B9594; else goto L_028B9550;
L_028B9550: ; // 0x28b9550
/* 028B9550 */ cpu->r[5] = 0x00000009u;
/* 028B9554 */ cpu->r[4] = cpu->r[30];
/* 028B9558 */ cpu->r[3] = cpu->r[29];
/* 028B955C */ Gambit_fn_028A89E8(cpu);
/* 028B9560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9564 */ cpu->r[3] = cpu->r[29];
/* 028B9568 */ _t9 = cpu->r[31] + 0x0000000Cu;
/* 028B9568 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
/* 028B956C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B956C */ _t11 = _t10 & 0x00000001u;
/* 028B956C */ if (_t11) goto L_028B9584; else goto L_028B9570;
L_028B9570: ; // 0x28b9570
/* 028B9570 */ cpu->r[4] = cpu->r[30];
/* 028B9574 */ Gambit_fn_028B3A84(cpu);
/* 028B9578 */ _t12 = cpu->r[31] + 0x00000034u;
/* 028B9578 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028B957C */ _t13 = cpu->r[31] + 0x00000038u;
/* 028B957C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[1]);
/* 028B9580 */ goto L_028B9594;
L_028B9584: ; // 0x28b9584
/* 028B9584 */ _t14 = cpu->r[31] + 0x00000010u;
/* 028B9584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028B9588 */ Gambit_fn_028B33F0(cpu);
/* 028B958C */ _t15 = cpu->r[31] + 0x00000034u;
/* 028B958C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028B9590 */ _t16 = cpu->r[31] + 0x00000038u;
/* 028B9590 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
L_028B9594: ; // 0x28b9594
/* 028B9594 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028B9594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B9598 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9598 */ _t18 = _t17 & 0x00000001u;
/* 028B9598 */ if (_t18) goto L_028B95C8; else goto L_028B959C;
L_028B959C: ; // 0x28b959c
/* 028B959C */ _t19 = cpu->r[31] + 0x00000010u;
/* 028B959C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028B95A0 */ cpu->r[3] = cpu->r[29];
/* 028B95A4 */ _t20 = cpu->r[31] + 0x0000000Cu;
/* 028B95A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
/* 028B95A8 */ Gambit_fn_028B348C(cpu);
/* 028B95AC */ _t21 = cpu->r[31] + 0x0000000Cu;
/* 028B95AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
/* 028B95B0 */ cpu->r[3] = cpu->r[29];
/* 028B95B4 */ _t22 = cpu->r[31] + 0x00000010u;
/* 028B95B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
/* 028B95B8 */ _t23 = cpu->r[31] + 0x0000003Cu;
/* 028B95B8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[1]);
/* 028B95BC */ Gambit_fn_028B34FC(cpu);
/* 028B95C0 */ _t24 = cpu->r[31] + 0x00000034u;
/* 028B95C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
/* 028B95C4 */ _t25 = cpu->r[31] + 0x00000040u;
/* 028B95C4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[1]);
L_028B95C8: ; // 0x28b95c8
/* 028B95C8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028B95C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B95CC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B95CC */ _t27 = _t26 & 0x00000001u;
/* 028B95CC */ if (_t27) goto L_028B9614; else goto L_028B95D0;
L_028B95D0: ; // 0x28b95d0
/* 028B95D0 */ cpu->r[5] = 0x0000000Cu;
/* 028B95D4 */ cpu->r[4] = cpu->r[30];
/* 028B95D8 */ cpu->r[3] = cpu->r[29];
/* 028B95DC */ Gambit_fn_028A89E8(cpu);
/* 028B95E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B95E4 */ cpu->r[3] = cpu->r[29];
/* 028B95E8 */ _t28 = cpu->r[31] + 0x0000000Cu;
/* 028B95E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
/* 028B95EC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B95EC */ _t30 = _t29 & 0x00000001u;
/* 028B95EC */ if (_t30) goto L_028B9604; else goto L_028B95F0;
L_028B95F0: ; // 0x28b95f0
/* 028B95F0 */ cpu->r[4] = cpu->r[30];
/* 028B95F4 */ Gambit_fn_028B3AB8(cpu);
/* 028B95F8 */ _t31 = cpu->r[31] + 0x00000034u;
/* 028B95F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
/* 028B95FC */ _t32 = cpu->r[31] + 0x00000054u;
/* 028B95FC */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
/* 028B9600 */ goto L_028B9614;
L_028B9604: ; // 0x28b9604
/* 028B9604 */ _t33 = cpu->r[31] + 0x00000010u;
/* 028B9604 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
/* 028B9608 */ Gambit_fn_028B356C(cpu);
/* 028B960C */ _t34 = cpu->r[31] + 0x00000034u;
/* 028B960C */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
/* 028B9610 */ _t35 = cpu->r[31] + 0x00000054u;
/* 028B9610 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[1]);
L_028B9614: ; // 0x28b9614
/* 028B9614 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028B9614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B9618 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9618 */ _t37 = _t36 & 0x00000001u;
/* 028B9618 */ if (_t37) goto L_028B9660; else goto L_028B961C;
L_028B961C: ; // 0x28b961c
/* 028B961C */ cpu->r[5] = 0x0000000Du;
/* 028B9620 */ cpu->r[4] = cpu->r[30];
/* 028B9624 */ cpu->r[3] = cpu->r[29];
/* 028B9628 */ Gambit_fn_028A89E8(cpu);
/* 028B962C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9630 */ cpu->r[3] = cpu->r[29];
/* 028B9634 */ _t38 = cpu->r[31] + 0x0000000Cu;
/* 028B9634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
/* 028B9638 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9638 */ _t40 = _t39 & 0x00000001u;
/* 028B9638 */ if (_t40) goto L_028B9650; else goto L_028B963C;
L_028B963C: ; // 0x28b963c
/* 028B963C */ cpu->r[4] = cpu->r[30];
/* 028B9640 */ Gambit_fn_028B3AEC(cpu);
/* 028B9644 */ _t41 = cpu->r[31] + 0x00000034u;
/* 028B9644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
/* 028B9648 */ _t42 = cpu->r[31] + 0x00000058u;
/* 028B9648 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[1]);
/* 028B964C */ goto L_028B9660;
L_028B9650: ; // 0x28b9650
/* 028B9650 */ _t43 = cpu->r[31] + 0x00000010u;
/* 028B9650 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
/* 028B9654 */ Gambit_fn_028B35E8(cpu);
/* 028B9658 */ _t44 = cpu->r[31] + 0x00000034u;
/* 028B9658 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
/* 028B965C */ _t45 = cpu->r[31] + 0x00000058u;
/* 028B965C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[1]);
L_028B9660: ; // 0x28b9660
/* 028B9660 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
/* 028B9660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B9664 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9664 */ _t47 = _t46 & 0x00000001u;
/* 028B9664 */ if (_t47) goto L_028B96A4; else goto L_028B9668;
L_028B9668: ; // 0x28b9668
/* 028B9668 */ cpu->r[5] = 0x00000013u;
/* 028B966C */ cpu->r[4] = cpu->r[30];
/* 028B9670 */ cpu->r[3] = cpu->r[29];
/* 028B9674 */ Gambit_fn_028A89E8(cpu);
/* 028B9678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B967C */ cpu->r[3] = cpu->r[29];
/* 028B9680 */ _t48 = cpu->r[31] + 0x0000000Cu;
/* 028B9680 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
/* 028B9684 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9684 */ _t50 = _t49 & 0x00000001u;
/* 028B9684 */ if (_t50) goto L_028B9698; else goto L_028B9688;
L_028B9688: ; // 0x28b9688
/* 028B9688 */ cpu->r[4] = cpu->r[30];
/* 028B968C */ Gambit_fn_028B3AF8(cpu);
/* 028B9690 */ _t51 = cpu->r[31] + 0x0000005Cu;
/* 028B9690 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[1]);
/* 028B9694 */ goto L_028B96A4;
L_028B9698: ; // 0x28b9698
/* 028B9698 */ _t52 = cpu->r[31] + 0x00000010u;
/* 028B9698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
/* 028B969C */ Gambit_fn_028B390C(cpu);
/* 028B96A0 */ _t53 = cpu->r[31] + 0x0000005Cu;
/* 028B96A0 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[1]);
L_028B96A4: ; // 0x28b96a4
/* 028B96A4 */ cpu->r[3] = cpu->r[31];
/* 028B96A8 */ cpu->r[4] = 0x00000000u;
/* 028B96AC */ Gambit_fn_028B8A04(cpu);
/* 028B96B0 */ _t54 = cpu->r[1] + 0x0000000Cu;
/* 028B96B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
/* 028B96B4 */ _t55 = cpu->r[1] + 0x0000001Cu;
/* 028B96B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028B96B8 */ _t56 = cpu->r[1] + 0x00000010u;
/* 028B96B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028B96BC */ cpu->lr = cpu->r[0];
/* 028B96C0 */ _t57 = cpu->r[1] + 0x00000014u;
/* 028B96C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
/* 028B96C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B96C8 */ return;
}
// fn_028B9520 @ 0x28b9520
void Gambit_fn_028B9520(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
L_028B9520: ; // 0x28b9520
/* 028B9520 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B9520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9520 */ cpu->r[1] = _t0;
/* 028B9524 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028B9524 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B9528 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B9528 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B952C */ cpu->r[31] = cpu->r[3];
/* 028B9530 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028B9530 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028B9534 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028B9534 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B9538 */ Gambit_fn_028B88B4(cpu);
/* 028B953C */ _t5 = cpu->r[31] + 0x00000034u;
/* 028B953C */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
/* 028B9540 */ cpu->r[29] = cpu->r[3];
/* 028B9544 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028B9544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B9548 */ _t6 = cpu->r[31] + 0x0000001Cu;
/* 028B9548 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028B954C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B954C */ _t8 = _t7 & 0x00000001u;
/* 028B954C */ if (_t8) goto L_028B9594; else goto L_028B9550;
L_028B9550: ; // 0x28b9550
/* 028B9550 */ cpu->r[5] = 0x00000009u;
/* 028B9554 */ cpu->r[4] = cpu->r[30];
/* 028B9558 */ cpu->r[3] = cpu->r[29];
/* 028B955C */ Gambit_fn_028A89E8(cpu);
/* 028B9560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9564 */ cpu->r[3] = cpu->r[29];
/* 028B9568 */ _t9 = cpu->r[31] + 0x0000000Cu;
/* 028B9568 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
/* 028B956C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B956C */ _t11 = _t10 & 0x00000001u;
/* 028B956C */ if (_t11) goto L_028B9584; else goto L_028B9570;
L_028B9570: ; // 0x28b9570
/* 028B9570 */ cpu->r[4] = cpu->r[30];
/* 028B9574 */ Gambit_fn_028B3A84(cpu);
/* 028B9578 */ _t12 = cpu->r[31] + 0x00000034u;
/* 028B9578 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028B957C */ _t13 = cpu->r[31] + 0x00000038u;
/* 028B957C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[1]);
/* 028B9580 */ goto L_028B9594;
L_028B9584: ; // 0x28b9584
/* 028B9584 */ _t14 = cpu->r[31] + 0x00000010u;
/* 028B9584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028B9588 */ Gambit_fn_028B33F0(cpu);
/* 028B958C */ _t15 = cpu->r[31] + 0x00000034u;
/* 028B958C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028B9590 */ _t16 = cpu->r[31] + 0x00000038u;
/* 028B9590 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
L_028B9594: ; // 0x28b9594
/* 028B9594 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028B9594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B9598 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9598 */ _t18 = _t17 & 0x00000001u;
/* 028B9598 */ if (_t18) goto L_028B95C8; else goto L_028B959C;
L_028B959C: ; // 0x28b959c
/* 028B959C */ _t19 = cpu->r[31] + 0x00000010u;
/* 028B959C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028B95A0 */ cpu->r[3] = cpu->r[29];
/* 028B95A4 */ _t20 = cpu->r[31] + 0x0000000Cu;
/* 028B95A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
/* 028B95A8 */ Gambit_fn_028B348C(cpu);
/* 028B95AC */ _t21 = cpu->r[31] + 0x0000000Cu;
/* 028B95AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
/* 028B95B0 */ cpu->r[3] = cpu->r[29];
/* 028B95B4 */ _t22 = cpu->r[31] + 0x00000010u;
/* 028B95B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
/* 028B95B8 */ _t23 = cpu->r[31] + 0x0000003Cu;
/* 028B95B8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[1]);
/* 028B95BC */ Gambit_fn_028B34FC(cpu);
/* 028B95C0 */ _t24 = cpu->r[31] + 0x00000034u;
/* 028B95C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
/* 028B95C4 */ _t25 = cpu->r[31] + 0x00000040u;
/* 028B95C4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[1]);
L_028B95C8: ; // 0x28b95c8
/* 028B95C8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028B95C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B95CC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B95CC */ _t27 = _t26 & 0x00000001u;
/* 028B95CC */ if (_t27) goto L_028B9614; else goto L_028B95D0;
L_028B95D0: ; // 0x28b95d0
/* 028B95D0 */ cpu->r[5] = 0x0000000Cu;
/* 028B95D4 */ cpu->r[4] = cpu->r[30];
/* 028B95D8 */ cpu->r[3] = cpu->r[29];
/* 028B95DC */ Gambit_fn_028A89E8(cpu);
/* 028B95E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B95E4 */ cpu->r[3] = cpu->r[29];
/* 028B95E8 */ _t28 = cpu->r[31] + 0x0000000Cu;
/* 028B95E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
/* 028B95EC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B95EC */ _t30 = _t29 & 0x00000001u;
/* 028B95EC */ if (_t30) goto L_028B9604; else goto L_028B95F0;
L_028B95F0: ; // 0x28b95f0
/* 028B95F0 */ cpu->r[4] = cpu->r[30];
/* 028B95F4 */ Gambit_fn_028B3AB8(cpu);
/* 028B95F8 */ _t31 = cpu->r[31] + 0x00000034u;
/* 028B95F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
/* 028B95FC */ _t32 = cpu->r[31] + 0x00000054u;
/* 028B95FC */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
/* 028B9600 */ goto L_028B9614;
L_028B9604: ; // 0x28b9604
/* 028B9604 */ _t33 = cpu->r[31] + 0x00000010u;
/* 028B9604 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
/* 028B9608 */ Gambit_fn_028B356C(cpu);
/* 028B960C */ _t34 = cpu->r[31] + 0x00000034u;
/* 028B960C */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
/* 028B9610 */ _t35 = cpu->r[31] + 0x00000054u;
/* 028B9610 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[1]);
L_028B9614: ; // 0x28b9614
/* 028B9614 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028B9614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B9618 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9618 */ _t37 = _t36 & 0x00000001u;
/* 028B9618 */ if (_t37) goto L_028B9660; else goto L_028B961C;
L_028B961C: ; // 0x28b961c
/* 028B961C */ cpu->r[5] = 0x0000000Du;
/* 028B9620 */ cpu->r[4] = cpu->r[30];
/* 028B9624 */ cpu->r[3] = cpu->r[29];
/* 028B9628 */ Gambit_fn_028A89E8(cpu);
/* 028B962C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9630 */ cpu->r[3] = cpu->r[29];
/* 028B9634 */ _t38 = cpu->r[31] + 0x0000000Cu;
/* 028B9634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
/* 028B9638 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9638 */ _t40 = _t39 & 0x00000001u;
/* 028B9638 */ if (_t40) goto L_028B9650; else goto L_028B963C;
L_028B963C: ; // 0x28b963c
/* 028B963C */ cpu->r[4] = cpu->r[30];
/* 028B9640 */ Gambit_fn_028B3AEC(cpu);
/* 028B9644 */ _t41 = cpu->r[31] + 0x00000034u;
/* 028B9644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
/* 028B9648 */ _t42 = cpu->r[31] + 0x00000058u;
/* 028B9648 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[1]);
/* 028B964C */ goto L_028B9660;
L_028B9650: ; // 0x28b9650
/* 028B9650 */ _t43 = cpu->r[31] + 0x00000010u;
/* 028B9650 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
/* 028B9654 */ Gambit_fn_028B35E8(cpu);
/* 028B9658 */ _t44 = cpu->r[31] + 0x00000034u;
/* 028B9658 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
/* 028B965C */ _t45 = cpu->r[31] + 0x00000058u;
/* 028B965C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[1]);
L_028B9660: ; // 0x28b9660
/* 028B9660 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
/* 028B9660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028B9664 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9664 */ _t47 = _t46 & 0x00000001u;
/* 028B9664 */ if (_t47) goto L_028B96A4; else goto L_028B9668;
L_028B9668: ; // 0x28b9668
/* 028B9668 */ cpu->r[5] = 0x00000013u;
/* 028B966C */ cpu->r[4] = cpu->r[30];
/* 028B9670 */ cpu->r[3] = cpu->r[29];
/* 028B9674 */ Gambit_fn_028A89E8(cpu);
/* 028B9678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B967C */ cpu->r[3] = cpu->r[29];
/* 028B9680 */ _t48 = cpu->r[31] + 0x0000000Cu;
/* 028B9680 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
/* 028B9684 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9684 */ _t50 = _t49 & 0x00000001u;
/* 028B9684 */ if (_t50) goto L_028B9698; else goto L_028B9688;
L_028B9688: ; // 0x28b9688
/* 028B9688 */ cpu->r[4] = cpu->r[30];
/* 028B968C */ Gambit_fn_028B3AF8(cpu);
/* 028B9690 */ _t51 = cpu->r[31] + 0x0000005Cu;
/* 028B9690 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[1]);
/* 028B9694 */ goto L_028B96A4;
L_028B9698: ; // 0x28b9698
/* 028B9698 */ _t52 = cpu->r[31] + 0x00000010u;
/* 028B9698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
/* 028B969C */ Gambit_fn_028B390C(cpu);
/* 028B96A0 */ _t53 = cpu->r[31] + 0x0000005Cu;
/* 028B96A0 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[1]);
L_028B96A4: ; // 0x28b96a4
/* 028B96A4 */ cpu->r[3] = cpu->r[31];
/* 028B96A8 */ cpu->r[4] = 0x00000000u;
/* 028B96AC */ Gambit_fn_028B8A04(cpu);
/* 028B96B0 */ _t54 = cpu->r[1] + 0x0000000Cu;
/* 028B96B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
/* 028B96B4 */ _t55 = cpu->r[1] + 0x0000001Cu;
/* 028B96B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028B96B8 */ _t56 = cpu->r[1] + 0x00000010u;
/* 028B96B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028B96BC */ cpu->lr = cpu->r[0];
/* 028B96C0 */ _t57 = cpu->r[1] + 0x00000014u;
/* 028B96C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
/* 028B96C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B96C8 */ return;
}
// fn_028B96CC @ 0x28b96cc
void Gambit_fn_028B96CC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79;
L_028B96CC: ; // 0x28b96cc
/* 028B96CC */ cpu->r[0] = cpu->lr;
/* 028B96D0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
/* 028B96D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B96D0 */ cpu->r[1] = _t0;
/* 028B96D4 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028B96D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028B96D8 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028B96D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028B96DC */ _t3 = cpu->r[1] + 0x0000003Cu;
/* 028B96DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028B96E0 */ _t4 = cpu->r[1] + 0x00000038u;
/* 028B96E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028B96E4 */ cpu->r[31] = cpu->r[3];
/* 028B96E8 */ _t5 = cpu->r[1] + 0x00000044u;
/* 028B96E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B96EC */ _t6 = cpu->r[31] + 0x00000014u;
/* 028B96EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
/* 028B96F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u);
/* 028B96F4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B96F4 */ _t8 = _t7 & 0x00000001u;
/* 028B96F4 */ if (_t8) goto L_028B96F8; else goto L_028B9874;
L_028B96F8: ; // 0x28b96f8
/* 028B96F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000005u);
/* 028B96FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B96FC */ _t10 = _t9 & 0x00000001u;
/* 028B96FC */ if (_t10) goto L_028B9874; else goto L_028B9700;
L_028B9700: ; // 0x28b9700
/* 028B9700 */ cpu->r[30] = 0x00000000u;
/* 028B9704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
/* 028B9708 */ cpu->r[28] = cpu->r[30];
/* 028B970C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B970C */ _t12 = _t11 & 0x00000001u;
/* 028B970C */ if (_t12) goto L_028B9710; else goto L_028B9788;
L_028B9710: ; // 0x28b9710
/* 028B9710 */ _t13 = cpu->r[31] + 0x00000018u;
/* 028B9710 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
/* 028B9714 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
/* 028B9714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028B9718 */ _t14 = cpu->r[31] + 0x00000018u;
/* 028B9718 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
/* 028B971C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B971C */ _t16 = _t15 & 0x00000001u;
/* 028B971C */ if (_t16) goto L_028B9720; else goto L_028B9730;
L_028B9720: ; // 0x28b9720
/* 028B9720 */ _t17 = cpu->r[31] + 0x00000014u;
/* 028B9720 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
/* 028B9724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
/* 028B9728 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9728 */ _t19 = _t18 & 0x00000001u;
/* 028B9728 */ if (_t19) goto L_028B972C; else goto L_028B9790;
L_028B972C: ; // 0x28b972c
/* 028B972C */ goto L_028B97B0;
L_028B9730: ; // 0x28b9730
/* 028B9730 */ cpu->r[3] = cpu->r[31];
/* 028B9734 */ Gambit_fn_028B9124(cpu);
/* 028B9738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B973C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B973C */ _t21 = _t20 & 0x00000001u;
/* 028B973C */ if (_t21) goto L_028B9764; else goto L_028B9740;
L_028B9740: ; // 0x28b9740
/* 028B9740 */ cpu->r[10] = 0x00000003u;
/* 028B9744 */ _t22 = cpu->r[31] + 0x00000014u;
/* 028B9744 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028B9748 */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028B974C */ cpu->r[3] = cpu->r[29];
/* 028B9750 */ cpu->r[28] = 0x00000001u;
/* 028B9754 */ Gambit_fn_028BBF4C(cpu);
/* 028B9758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B975C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B975C */ _t24 = _t23 & 0x00000001u;
/* 028B975C */ if (_t24) goto L_028B97C4; else goto L_028B9760;
L_028B9760: ; // 0x28b9760
/* 028B9760 */ goto L_028B97CC;
L_028B9764: ; // 0x28b9764
/* 028B9764 */ _t25 = cpu->r[1] + 0x00000030u;
/* 028B9764 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028B9768 */ _t26 = cpu->r[1] + 0x00000034u;
/* 028B9768 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028B976C */ _t27 = cpu->r[1] + 0x00000044u;
/* 028B976C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028B9770 */ _t28 = cpu->r[1] + 0x00000038u;
/* 028B9770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028B9774 */ cpu->lr = cpu->r[0];
/* 028B9778 */ _t29 = cpu->r[1] + 0x0000003Cu;
/* 028B9778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028B977C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028B9780 */ cpu->r[3] = 0x00000002u;
/* 028B9784 */ return;
L_028B9788: ; // 0x28b9788
/* 028B9788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
/* 028B978C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B978C */ _t31 = _t30 & 0x00000001u;
/* 028B978C */ if (_t31) goto L_028B97B0; else goto L_028B9790;
L_028B9790: ; // 0x28b9790
/* 028B9790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000004u);
/* 028B9794 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9794 */ _t33 = _t32 & 0x00000001u;
/* 028B9794 */ if (_t33) goto L_028B97B0; else goto L_028B9798;
L_028B9798: ; // 0x28b9798
/* 028B9798 */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028B979C */ cpu->r[3] = cpu->r[29];
/* 028B97A0 */ Gambit_fn_028BBF4C(cpu);
/* 028B97A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B97A8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B97A8 */ _t35 = _t34 & 0x00000001u;
/* 028B97A8 */ if (_t35) goto L_028B97EC; else goto L_028B97AC;
L_028B97AC: ; // 0x28b97ac
/* 028B97AC */ goto L_028B97DC;
L_028B97B0: ; // 0x28b97b0
/* 028B97B0 */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028B97B4 */ cpu->r[3] = cpu->r[29];
/* 028B97B8 */ Gambit_fn_028BBF4C(cpu);
/* 028B97BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B97C0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B97C0 */ _t37 = _t36 & 0x00000001u;
/* 028B97C0 */ if (_t37) goto L_028B97C4; else goto L_028B97CC;
L_028B97C4: ; // 0x28b97c4
/* 028B97C4 */ cpu->r[12] = 0x00000005u;
/* 028B97C8 */ _t38 = cpu->r[31] + 0x00000014u;
/* 028B97C8 */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
L_028B97CC: ; // 0x28b97cc
/* 028B97CC */ cpu->r[3] = cpu->r[29];
/* 028B97D0 */ Gambit_fn_028BBF4C(cpu);
/* 028B97D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B97D8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B97D8 */ _t40 = _t39 & 0x00000001u;
/* 028B97D8 */ if (_t40) goto L_028B97EC; else goto L_028B97DC;
L_028B97DC: ; // 0x28b97dc
/* 028B97DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028B97E0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B97E0 */ _t42 = _t41 & 0x00000001u;
/* 028B97E0 */ if (_t42) goto L_028B97E4; else goto L_028B97EC;
L_028B97E4: ; // 0x28b97e4
/* 028B97E4 */ cpu->r[3] = cpu->r[31];
/* 028B97E8 */ Gambit_fn_028B951C(cpu);
L_028B97EC: ; // 0x28b97ec
/* 028B97EC */ cpu->r[12] = 0x101D0000u;
/* 028B97F0 */ _t43 = cpu->r[12] + 0xFFFF9A68u;
/* 028B97F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028B97F4 */ _t44 = cpu->r[12] + 0x00000070u;
/* 028B97F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
/* 028B97F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B97FC */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028B97FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
/* 028B9800 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9800 */ _t47 = _t46 & 0x00000001u;
/* 028B9800 */ if (_t47) goto L_028B9830; else goto L_028B9804;
L_028B9804: ; // 0x28b9804
/* 028B9804 */ _t48 = cpu->r[31] + 0x00000010u;
/* 028B9804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028B9808 */ _t49 = cpu->r[1] + 0x0000000Cu;
/* 028B9808 */ rbrew_write32(cpu->mem, _t49, cpu->r[28]);
/* 028B980C */ _t50 = cpu->r[1] + 0x00000014u;
/* 028B980C */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
/* 028B9810 */ _t51 = cpu->r[1] + 0x00000010u;
/* 028B9810 */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
/* 028B9814 */ _t52 = cpu->r[1] + 0x00000018u;
/* 028B9814 */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
/* 028B9818 */ _t53 = cpu->r[1] + 0x00000008u;
/* 028B9818 */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
/* 028B981C */ _t54 = cpu->r[3] + 0x00000000u;
/* 028B981C */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
/* 028B9820 */ _t55 = cpu->r[6] + 0x0000001Cu;
/* 028B9820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028B9824 */ cpu->ctr = cpu->r[0];
/* 028B9828 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B982C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028B9830: ; // 0x28b9830
/* 028B9830 */ _t56 = cpu->r[28] + 0x00000088u;
/* 028B9830 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
/* 028B9834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9838 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9838 */ _t58 = _t57 & 0x00000001u;
/* 028B9838 */ if (_t58) goto L_028B9868; else goto L_028B983C;
L_028B983C: ; // 0x28b983c
/* 028B983C */ _t59 = cpu->r[31] + 0x00000010u;
/* 028B983C */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
/* 028B9840 */ _t60 = cpu->r[1] + 0x00000020u;
/* 028B9840 */ rbrew_write32(cpu->mem, _t60, cpu->r[28]);
/* 028B9844 */ _t61 = cpu->r[1] + 0x00000028u;
/* 028B9844 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
/* 028B9848 */ _t62 = cpu->r[1] + 0x00000024u;
/* 028B9848 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]);
/* 028B984C */ _t63 = cpu->r[1] + 0x0000002Cu;
/* 028B984C */ rbrew_write32(cpu->mem, _t63, cpu->r[31]);
/* 028B9850 */ _t64 = cpu->r[1] + 0x0000001Cu;
/* 028B9850 */ rbrew_write32(cpu->mem, _t64, cpu->r[30]);
/* 028B9854 */ _t65 = cpu->r[3] + 0x00000000u;
/* 028B9854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
/* 028B9858 */ _t66 = cpu->r[10] + 0x0000001Cu;
/* 028B9858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
/* 028B985C */ cpu->ctr = cpu->r[0];
/* 028B9860 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
/* 028B9864 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028B9868: ; // 0x28b9868
/* 028B9868 */ _t67 = cpu->r[31] + 0x00000014u;
/* 028B9868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
/* 028B986C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
/* 028B9870 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9870 */ _t69 = _t68 & 0x00000001u;
/* 028B9870 */ if (_t69) goto L_028B9874; else goto L_028B9898;
L_028B9874: ; // 0x28b9874
/* 028B9874 */ _t70 = cpu->r[1] + 0x00000030u;
/* 028B9874 */ cpu->r[28] = rbrew_read32(cpu->mem, _t70);
/* 028B9878 */ _t71 = cpu->r[1] + 0x00000034u;
/* 028B9878 */ cpu->r[29] = rbrew_read32(cpu->mem, _t71);
/* 028B987C */ _t72 = cpu->r[1] + 0x00000044u;
/* 028B987C */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
/* 028B9880 */ _t73 = cpu->r[1] + 0x00000038u;
/* 028B9880 */ cpu->r[30] = rbrew_read32(cpu->mem, _t73);
/* 028B9884 */ cpu->lr = cpu->r[0];
/* 028B9888 */ _t74 = cpu->r[1] + 0x0000003Cu;
/* 028B9888 */ cpu->r[31] = rbrew_read32(cpu->mem, _t74);
/* 028B988C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028B9890 */ cpu->r[3] = 0x00000001u;
/* 028B9894 */ return;
L_028B9898: ; // 0x28b9898
/* 028B9898 */ _t75 = cpu->r[1] + 0x00000030u;
/* 028B9898 */ cpu->r[28] = rbrew_read32(cpu->mem, _t75);
/* 028B989C */ _t76 = cpu->r[1] + 0x00000034u;
/* 028B989C */ cpu->r[29] = rbrew_read32(cpu->mem, _t76);
/* 028B98A0 */ _t77 = cpu->r[1] + 0x00000044u;
/* 028B98A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028B98A4 */ _t78 = cpu->r[1] + 0x00000038u;
/* 028B98A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
/* 028B98A8 */ cpu->lr = cpu->r[0];
/* 028B98AC */ _t79 = cpu->r[1] + 0x0000003Cu;
/* 028B98AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
/* 028B98B0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028B98B4 */ cpu->r[3] = 0x00000000u;
/* 028B98B8 */ return;
}
// fn_028B96D0 @ 0x28b96d0
void Gambit_fn_028B96D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79;
L_028B96D0: ; // 0x28b96d0
/* 028B96D0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
/* 028B96D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B96D0 */ cpu->r[1] = _t0;
/* 028B96D4 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028B96D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028B96D8 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028B96D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028B96DC */ _t3 = cpu->r[1] + 0x0000003Cu;
/* 028B96DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028B96E0 */ _t4 = cpu->r[1] + 0x00000038u;
/* 028B96E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028B96E4 */ cpu->r[31] = cpu->r[3];
/* 028B96E8 */ _t5 = cpu->r[1] + 0x00000044u;
/* 028B96E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B96EC */ _t6 = cpu->r[31] + 0x00000014u;
/* 028B96EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
/* 028B96F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u);
/* 028B96F4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B96F4 */ _t8 = _t7 & 0x00000001u;
/* 028B96F4 */ if (_t8) goto L_028B96F8; else goto L_028B9874;
L_028B96F8: ; // 0x28b96f8
/* 028B96F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000005u);
/* 028B96FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B96FC */ _t10 = _t9 & 0x00000001u;
/* 028B96FC */ if (_t10) goto L_028B9874; else goto L_028B9700;
L_028B9700: ; // 0x28b9700
/* 028B9700 */ cpu->r[30] = 0x00000000u;
/* 028B9704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
/* 028B9708 */ cpu->r[28] = cpu->r[30];
/* 028B970C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B970C */ _t12 = _t11 & 0x00000001u;
/* 028B970C */ if (_t12) goto L_028B9710; else goto L_028B9788;
L_028B9710: ; // 0x28b9710
/* 028B9710 */ _t13 = cpu->r[31] + 0x00000018u;
/* 028B9710 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
/* 028B9714 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
/* 028B9714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028B9718 */ _t14 = cpu->r[31] + 0x00000018u;
/* 028B9718 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
/* 028B971C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B971C */ _t16 = _t15 & 0x00000001u;
/* 028B971C */ if (_t16) goto L_028B9720; else goto L_028B9730;
L_028B9720: ; // 0x28b9720
/* 028B9720 */ _t17 = cpu->r[31] + 0x00000014u;
/* 028B9720 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
/* 028B9724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
/* 028B9728 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9728 */ _t19 = _t18 & 0x00000001u;
/* 028B9728 */ if (_t19) goto L_028B972C; else goto L_028B9790;
L_028B972C: ; // 0x28b972c
/* 028B972C */ goto L_028B97B0;
L_028B9730: ; // 0x28b9730
/* 028B9730 */ cpu->r[3] = cpu->r[31];
/* 028B9734 */ Gambit_fn_028B9124(cpu);
/* 028B9738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B973C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B973C */ _t21 = _t20 & 0x00000001u;
/* 028B973C */ if (_t21) goto L_028B9764; else goto L_028B9740;
L_028B9740: ; // 0x28b9740
/* 028B9740 */ cpu->r[10] = 0x00000003u;
/* 028B9744 */ _t22 = cpu->r[31] + 0x00000014u;
/* 028B9744 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028B9748 */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028B974C */ cpu->r[3] = cpu->r[29];
/* 028B9750 */ cpu->r[28] = 0x00000001u;
/* 028B9754 */ Gambit_fn_028BBF4C(cpu);
/* 028B9758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B975C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B975C */ _t24 = _t23 & 0x00000001u;
/* 028B975C */ if (_t24) goto L_028B97C4; else goto L_028B9760;
L_028B9760: ; // 0x28b9760
/* 028B9760 */ goto L_028B97CC;
L_028B9764: ; // 0x28b9764
/* 028B9764 */ _t25 = cpu->r[1] + 0x00000030u;
/* 028B9764 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028B9768 */ _t26 = cpu->r[1] + 0x00000034u;
/* 028B9768 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028B976C */ _t27 = cpu->r[1] + 0x00000044u;
/* 028B976C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028B9770 */ _t28 = cpu->r[1] + 0x00000038u;
/* 028B9770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028B9774 */ cpu->lr = cpu->r[0];
/* 028B9778 */ _t29 = cpu->r[1] + 0x0000003Cu;
/* 028B9778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028B977C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028B9780 */ cpu->r[3] = 0x00000002u;
/* 028B9784 */ return;
L_028B9788: ; // 0x28b9788
/* 028B9788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
/* 028B978C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B978C */ _t31 = _t30 & 0x00000001u;
/* 028B978C */ if (_t31) goto L_028B97B0; else goto L_028B9790;
L_028B9790: ; // 0x28b9790
/* 028B9790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000004u);
/* 028B9794 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9794 */ _t33 = _t32 & 0x00000001u;
/* 028B9794 */ if (_t33) goto L_028B97B0; else goto L_028B9798;
L_028B9798: ; // 0x28b9798
/* 028B9798 */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028B979C */ cpu->r[3] = cpu->r[29];
/* 028B97A0 */ Gambit_fn_028BBF4C(cpu);
/* 028B97A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B97A8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B97A8 */ _t35 = _t34 & 0x00000001u;
/* 028B97A8 */ if (_t35) goto L_028B97EC; else goto L_028B97AC;
L_028B97AC: ; // 0x28b97ac
/* 028B97AC */ goto L_028B97DC;
L_028B97B0: ; // 0x28b97b0
/* 028B97B0 */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028B97B4 */ cpu->r[3] = cpu->r[29];
/* 028B97B8 */ Gambit_fn_028BBF4C(cpu);
/* 028B97BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B97C0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B97C0 */ _t37 = _t36 & 0x00000001u;
/* 028B97C0 */ if (_t37) goto L_028B97C4; else goto L_028B97CC;
L_028B97C4: ; // 0x28b97c4
/* 028B97C4 */ cpu->r[12] = 0x00000005u;
/* 028B97C8 */ _t38 = cpu->r[31] + 0x00000014u;
/* 028B97C8 */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
L_028B97CC: ; // 0x28b97cc
/* 028B97CC */ cpu->r[3] = cpu->r[29];
/* 028B97D0 */ Gambit_fn_028BBF4C(cpu);
/* 028B97D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B97D8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B97D8 */ _t40 = _t39 & 0x00000001u;
/* 028B97D8 */ if (_t40) goto L_028B97EC; else goto L_028B97DC;
L_028B97DC: ; // 0x28b97dc
/* 028B97DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028B97E0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B97E0 */ _t42 = _t41 & 0x00000001u;
/* 028B97E0 */ if (_t42) goto L_028B97E4; else goto L_028B97EC;
L_028B97E4: ; // 0x28b97e4
/* 028B97E4 */ cpu->r[3] = cpu->r[31];
/* 028B97E8 */ Gambit_fn_028B951C(cpu);
L_028B97EC: ; // 0x28b97ec
/* 028B97EC */ cpu->r[12] = 0x101D0000u;
/* 028B97F0 */ _t43 = cpu->r[12] + 0xFFFF9A68u;
/* 028B97F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028B97F4 */ _t44 = cpu->r[12] + 0x00000070u;
/* 028B97F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
/* 028B97F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B97FC */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028B97FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
/* 028B9800 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9800 */ _t47 = _t46 & 0x00000001u;
/* 028B9800 */ if (_t47) goto L_028B9830; else goto L_028B9804;
L_028B9804: ; // 0x28b9804
/* 028B9804 */ _t48 = cpu->r[31] + 0x00000010u;
/* 028B9804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028B9808 */ _t49 = cpu->r[1] + 0x0000000Cu;
/* 028B9808 */ rbrew_write32(cpu->mem, _t49, cpu->r[28]);
/* 028B980C */ _t50 = cpu->r[1] + 0x00000014u;
/* 028B980C */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
/* 028B9810 */ _t51 = cpu->r[1] + 0x00000010u;
/* 028B9810 */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
/* 028B9814 */ _t52 = cpu->r[1] + 0x00000018u;
/* 028B9814 */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
/* 028B9818 */ _t53 = cpu->r[1] + 0x00000008u;
/* 028B9818 */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
/* 028B981C */ _t54 = cpu->r[3] + 0x00000000u;
/* 028B981C */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
/* 028B9820 */ _t55 = cpu->r[6] + 0x0000001Cu;
/* 028B9820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028B9824 */ cpu->ctr = cpu->r[0];
/* 028B9828 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028B982C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028B9830: ; // 0x28b9830
/* 028B9830 */ _t56 = cpu->r[28] + 0x00000088u;
/* 028B9830 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
/* 028B9834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9838 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9838 */ _t58 = _t57 & 0x00000001u;
/* 028B9838 */ if (_t58) goto L_028B9868; else goto L_028B983C;
L_028B983C: ; // 0x28b983c
/* 028B983C */ _t59 = cpu->r[31] + 0x00000010u;
/* 028B983C */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
/* 028B9840 */ _t60 = cpu->r[1] + 0x00000020u;
/* 028B9840 */ rbrew_write32(cpu->mem, _t60, cpu->r[28]);
/* 028B9844 */ _t61 = cpu->r[1] + 0x00000028u;
/* 028B9844 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
/* 028B9848 */ _t62 = cpu->r[1] + 0x00000024u;
/* 028B9848 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]);
/* 028B984C */ _t63 = cpu->r[1] + 0x0000002Cu;
/* 028B984C */ rbrew_write32(cpu->mem, _t63, cpu->r[31]);
/* 028B9850 */ _t64 = cpu->r[1] + 0x0000001Cu;
/* 028B9850 */ rbrew_write32(cpu->mem, _t64, cpu->r[30]);
/* 028B9854 */ _t65 = cpu->r[3] + 0x00000000u;
/* 028B9854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
/* 028B9858 */ _t66 = cpu->r[10] + 0x0000001Cu;
/* 028B9858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
/* 028B985C */ cpu->ctr = cpu->r[0];
/* 028B9860 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
/* 028B9864 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028B9868: ; // 0x28b9868
/* 028B9868 */ _t67 = cpu->r[31] + 0x00000014u;
/* 028B9868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
/* 028B986C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
/* 028B9870 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9870 */ _t69 = _t68 & 0x00000001u;
/* 028B9870 */ if (_t69) goto L_028B9874; else goto L_028B9898;
L_028B9874: ; // 0x28b9874
/* 028B9874 */ _t70 = cpu->r[1] + 0x00000030u;
/* 028B9874 */ cpu->r[28] = rbrew_read32(cpu->mem, _t70);
/* 028B9878 */ _t71 = cpu->r[1] + 0x00000034u;
/* 028B9878 */ cpu->r[29] = rbrew_read32(cpu->mem, _t71);
/* 028B987C */ _t72 = cpu->r[1] + 0x00000044u;
/* 028B987C */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
/* 028B9880 */ _t73 = cpu->r[1] + 0x00000038u;
/* 028B9880 */ cpu->r[30] = rbrew_read32(cpu->mem, _t73);
/* 028B9884 */ cpu->lr = cpu->r[0];
/* 028B9888 */ _t74 = cpu->r[1] + 0x0000003Cu;
/* 028B9888 */ cpu->r[31] = rbrew_read32(cpu->mem, _t74);
/* 028B988C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028B9890 */ cpu->r[3] = 0x00000001u;
/* 028B9894 */ return;
L_028B9898: ; // 0x28b9898
/* 028B9898 */ _t75 = cpu->r[1] + 0x00000030u;
/* 028B9898 */ cpu->r[28] = rbrew_read32(cpu->mem, _t75);
/* 028B989C */ _t76 = cpu->r[1] + 0x00000034u;
/* 028B989C */ cpu->r[29] = rbrew_read32(cpu->mem, _t76);
/* 028B98A0 */ _t77 = cpu->r[1] + 0x00000044u;
/* 028B98A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028B98A4 */ _t78 = cpu->r[1] + 0x00000038u;
/* 028B98A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
/* 028B98A8 */ cpu->lr = cpu->r[0];
/* 028B98AC */ _t79 = cpu->r[1] + 0x0000003Cu;
/* 028B98AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
/* 028B98B0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028B98B4 */ cpu->r[3] = 0x00000000u;
/* 028B98B8 */ return;
}
// fn_028B98BC @ 0x28b98bc
void Gambit_fn_028B98BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_028B98BC: ; // 0x28b98bc
/* 028B98BC */ cpu->r[0] = cpu->lr;
/* 028B98C0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028B98C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B98C0 */ cpu->r[1] = _t0;
/* 028B98C4 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028B98C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028B98C8 */ /* nop */
/* 028B98CC */ _t2 = cpu->r[1] + 0x00000020u;
/* 028B98CC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028B98D0 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028B98D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B98D4 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028B98D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028B98D8 */ cpu->r[30] = cpu->r[3];
/* 028B98DC */ _t5 = cpu->r[1] + 0x00000014u;
/* 028B98DC */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028B98E0 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
/* 028B98E4 */ cpu->r[31] = cpu->r[4];
/* 028B98E8 */ Gambit_fn_028BBF4C(cpu);
/* 028B98EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B98F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B98F0 */ _t7 = _t6 & 0x00000001u;
/* 028B98F0 */ if (_t7) goto L_028B99A8; else goto L_028B98F4;
L_028B98F4: ; // 0x28b98f4
/* 028B98F4 */ cpu->r[12] = 0x10140000u;
/* 028B98F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028B98FC */ _t8 = cpu->r[12] + 0xFFFF8D58u;
/* 028B98FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
/* 028B9900 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9900 */ _t10 = _t9 & 0x00000001u;
/* 028B9900 */ if (_t10) goto L_028B9904; else goto L_028B996C;
L_028B9904: ; // 0x28b9904
/* 028B9904 */ cpu->r[3] = cpu->r[30];
/* 028B9908 */ Gambit_fn_028B88B4(cpu);
/* 028B990C */ _t11 = cpu->r[30] + 0x0000000Cu;
/* 028B990C */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
/* 028B9910 */ _t12 = cpu->r[30] + 0x00000010u;
/* 028B9910 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
/* 028B9914 */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028B9914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
/* 028B9918 */ Gambit_fn_028B3B40(cpu);
/* 028B991C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
/* 028B9920 */ cpu->r[12] = 0x10140000u;
/* 028B9924 */ _t14 = cpu->r[12] + 0xFFFF8DD4u;
/* 028B9924 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
/* 028B9928 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9928 */ _t16 = _t15 & 0x00000001u;
/* 028B9928 */ if (_t16) goto L_028B994C; else goto L_028B992C;
L_028B992C: ; // 0x28b992c
/* 028B992C */ cpu->f[10] = cpu->f[1] + cpu->f[13];
/* 028B9930 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
/* 028B9934 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028B9938 */ /* nop */
/* 028B993C */ _t17 = cpu->r[1] + 0x00000008u;
/* 028B993C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028B9940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
/* 028B9944 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9944 */ _t19 = _t18 & 0x00000001u;
/* 028B9944 */ if (_t19) goto L_028B9968; else goto L_028B9948;
L_028B9948: ; // 0x28b9948
/* 028B9948 */ goto L_028B996C;
L_028B994C: ; // 0x28b994c
/* 028B994C */ cpu->f[12] = cpu->f[1] - cpu->f[13];
/* 028B9950 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[12];
/* 028B9954 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028B9958 */ /* nop */
/* 028B995C */ _t20 = cpu->r[1] + 0x00000008u;
/* 028B995C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028B9960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
/* 028B9964 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9964 */ _t22 = _t21 & 0x00000001u;
/* 028B9964 */ if (_t22) goto L_028B9968; else goto L_028B996C;
L_028B9968: ; // 0x28b9968
/* 028B9968 */ cpu->r[31] = 0x00000000u;
L_028B996C: ; // 0x28b996c
/* 028B996C */ Gambit_fn_028C29DC(cpu);
/* 028B9970 */ cpu->r[12] = 0x10140000u;
/* 028B9974 */ cpu->r[11] = 0x43300000u;
/* 028B9978 */ _t23 = cpu->r[12] + 0xFFFF8DD8u;
/* 028B9978 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t23);
/* 028B997C */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
/* 028B9980 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028B9980 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028B9984 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028B9984 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
/* 028B9988 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028B9988 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t26);
/* 028B998C */ _t27 = cpu->r[3] + 0x0000003Cu;
/* 028B998C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t27);
/* 028B9990 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
/* 028B9994 */ cpu->f[12] = (double)(float)cpu->f[10];
/* 028B9998 */ cpu->f[2] = cpu->f[31];
/* 028B999C */ cpu->f[1] = cpu->f[12] / cpu->f[11];
/* 028B99A0 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
/* 028B99A4 */ Gambit_fn_028BBFC8(cpu);
L_028B99A8: ; // 0x28b99a8
/* 028B99A8 */ cpu->r[0] = 0x00000004u;
/* 028B99AC */ _t28 = cpu->r[30] + 0x00000014u;
/* 028B99AC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028B99B0 */ _t29 = cpu->r[1] + 0x00000020u;
/* 028B99B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
/* 028B99B4 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028B99B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028B99B8 */ _t31 = cpu->r[1] + 0x00000018u;
/* 028B99B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
/* 028B99BC */ _t32 = cpu->r[1] + 0x00000014u;
/* 028B99BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028B99C0 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B99C0 */ _t34 = _t33 & 0x00000001u;
/* 028B99C0 */ if (_t34) goto L_028B99C4; // else: addr-0 trap, fall-through
L_028B99C4: ; // 0x28b99c4
/* 028B99C4 */ _t35 = cpu->r[1] + 0x0000002Cu;
/* 028B99C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028B99C8 */ cpu->lr = cpu->r[0];
/* 028B99CC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028B99D0 */ return;
}
// fn_028B98C0 @ 0x28b98c0
void Gambit_fn_028B98C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_028B98C0: ; // 0x28b98c0
/* 028B98C0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028B98C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B98C0 */ cpu->r[1] = _t0;
/* 028B98C4 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028B98C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028B98C8 */ /* nop */
/* 028B98CC */ _t2 = cpu->r[1] + 0x00000020u;
/* 028B98CC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028B98D0 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028B98D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B98D4 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028B98D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028B98D8 */ cpu->r[30] = cpu->r[3];
/* 028B98DC */ _t5 = cpu->r[1] + 0x00000014u;
/* 028B98DC */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028B98E0 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
/* 028B98E4 */ cpu->r[31] = cpu->r[4];
/* 028B98E8 */ Gambit_fn_028BBF4C(cpu);
/* 028B98EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B98F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B98F0 */ _t7 = _t6 & 0x00000001u;
/* 028B98F0 */ if (_t7) goto L_028B99A8; else goto L_028B98F4;
L_028B98F4: ; // 0x28b98f4
/* 028B98F4 */ cpu->r[12] = 0x10140000u;
/* 028B98F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028B98FC */ _t8 = cpu->r[12] + 0xFFFF8D58u;
/* 028B98FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
/* 028B9900 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9900 */ _t10 = _t9 & 0x00000001u;
/* 028B9900 */ if (_t10) goto L_028B9904; else goto L_028B996C;
L_028B9904: ; // 0x28b9904
/* 028B9904 */ cpu->r[3] = cpu->r[30];
/* 028B9908 */ Gambit_fn_028B88B4(cpu);
/* 028B990C */ _t11 = cpu->r[30] + 0x0000000Cu;
/* 028B990C */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
/* 028B9910 */ _t12 = cpu->r[30] + 0x00000010u;
/* 028B9910 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
/* 028B9914 */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028B9914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
/* 028B9918 */ Gambit_fn_028B3B40(cpu);
/* 028B991C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
/* 028B9920 */ cpu->r[12] = 0x10140000u;
/* 028B9924 */ _t14 = cpu->r[12] + 0xFFFF8DD4u;
/* 028B9924 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
/* 028B9928 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9928 */ _t16 = _t15 & 0x00000001u;
/* 028B9928 */ if (_t16) goto L_028B994C; else goto L_028B992C;
L_028B992C: ; // 0x28b992c
/* 028B992C */ cpu->f[10] = cpu->f[1] + cpu->f[13];
/* 028B9930 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
/* 028B9934 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028B9938 */ /* nop */
/* 028B993C */ _t17 = cpu->r[1] + 0x00000008u;
/* 028B993C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028B9940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
/* 028B9944 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9944 */ _t19 = _t18 & 0x00000001u;
/* 028B9944 */ if (_t19) goto L_028B9968; else goto L_028B9948;
L_028B9948: ; // 0x28b9948
/* 028B9948 */ goto L_028B996C;
L_028B994C: ; // 0x28b994c
/* 028B994C */ cpu->f[12] = cpu->f[1] - cpu->f[13];
/* 028B9950 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[12];
/* 028B9954 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028B9958 */ /* nop */
/* 028B995C */ _t20 = cpu->r[1] + 0x00000008u;
/* 028B995C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028B9960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
/* 028B9964 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9964 */ _t22 = _t21 & 0x00000001u;
/* 028B9964 */ if (_t22) goto L_028B9968; else goto L_028B996C;
L_028B9968: ; // 0x28b9968
/* 028B9968 */ cpu->r[31] = 0x00000000u;
L_028B996C: ; // 0x28b996c
/* 028B996C */ Gambit_fn_028C29DC(cpu);
/* 028B9970 */ cpu->r[12] = 0x10140000u;
/* 028B9974 */ cpu->r[11] = 0x43300000u;
/* 028B9978 */ _t23 = cpu->r[12] + 0xFFFF8DD8u;
/* 028B9978 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t23);
/* 028B997C */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
/* 028B9980 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028B9980 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028B9984 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028B9984 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
/* 028B9988 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028B9988 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t26);
/* 028B998C */ _t27 = cpu->r[3] + 0x0000003Cu;
/* 028B998C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t27);
/* 028B9990 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
/* 028B9994 */ cpu->f[12] = (double)(float)cpu->f[10];
/* 028B9998 */ cpu->f[2] = cpu->f[31];
/* 028B999C */ cpu->f[1] = cpu->f[12] / cpu->f[11];
/* 028B99A0 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
/* 028B99A4 */ Gambit_fn_028BBFC8(cpu);
L_028B99A8: ; // 0x28b99a8
/* 028B99A8 */ cpu->r[0] = 0x00000004u;
/* 028B99AC */ _t28 = cpu->r[30] + 0x00000014u;
/* 028B99AC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028B99B0 */ _t29 = cpu->r[1] + 0x00000020u;
/* 028B99B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
/* 028B99B4 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028B99B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028B99B8 */ _t31 = cpu->r[1] + 0x00000018u;
/* 028B99B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
/* 028B99BC */ _t32 = cpu->r[1] + 0x00000014u;
/* 028B99BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028B99C0 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B99C0 */ _t34 = _t33 & 0x00000001u;
/* 028B99C0 */ if (_t34) goto L_028B99C4; // else: addr-0 trap, fall-through
L_028B99C4: ; // 0x28b99c4
/* 028B99C4 */ _t35 = cpu->r[1] + 0x0000002Cu;
/* 028B99C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028B99C8 */ cpu->lr = cpu->r[0];
/* 028B99CC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028B99D0 */ return;
}
// fn_028B99D4 @ 0x28b99d4
void Gambit_fn_028B99D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028B99D4: ; // 0x28b99d4
/* 028B99D4 */ cpu->r[0] = cpu->lr;
/* 028B99D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B99D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B99D8 */ cpu->r[1] = _t0;
/* 028B99DC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B99DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B99E0 */ cpu->r[12] = 0x10140000u;
/* 028B99E4 */ _t2 = cpu->r[12] + 0xFFFF8DE0u;
/* 028B99E4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
/* 028B99E8 */ cpu->r[12] = 0x10140000u;
/* 028B99EC */ cpu->r[31] = cpu->r[3];
/* 028B99F0 */ _t3 = cpu->r[12] + 0xFFFF8D58u;
/* 028B99F0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t3);
/* 028B99F4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B99F8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028B99F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B99FC */ Gambit_fn_028BBFC8(cpu);
/* 028B9A00 */ cpu->r[0] = 0x00000005u;
/* 028B9A04 */ _t5 = cpu->r[31] + 0x00000014u;
/* 028B9A04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B9A08 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028B9A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028B9A0C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028B9A0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028B9A10 */ cpu->lr = cpu->r[0];
/* 028B9A14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B9A18 */ return;
}
// fn_028B99D8 @ 0x28b99d8
void Gambit_fn_028B99D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028B99D8: ; // 0x28b99d8
/* 028B99D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028B99D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B99D8 */ cpu->r[1] = _t0;
/* 028B99DC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B99DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028B99E0 */ cpu->r[12] = 0x10140000u;
/* 028B99E4 */ _t2 = cpu->r[12] + 0xFFFF8DE0u;
/* 028B99E4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
/* 028B99E8 */ cpu->r[12] = 0x10140000u;
/* 028B99EC */ cpu->r[31] = cpu->r[3];
/* 028B99F0 */ _t3 = cpu->r[12] + 0xFFFF8D58u;
/* 028B99F0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t3);
/* 028B99F4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028B99F8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028B99F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B99FC */ Gambit_fn_028BBFC8(cpu);
/* 028B9A00 */ cpu->r[0] = 0x00000005u;
/* 028B9A04 */ _t5 = cpu->r[31] + 0x00000014u;
/* 028B9A04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028B9A08 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028B9A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028B9A0C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028B9A0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028B9A10 */ cpu->lr = cpu->r[0];
/* 028B9A14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028B9A18 */ return;
}
// fn_028B9A1C @ 0x28b9a1c
void Gambit_fn_028B9A1C(CPUState* cpu) {
uint32_t _t0, _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_028B9A1C: ; // 0x28b9a1c
/* 028B9A1C */ cpu->r[0] = cpu->lr;
/* 028B9A20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B9A20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9A20 */ cpu->r[1] = _t0;
/* 028B9A24 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028B9A24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028B9A28 */ cpu->r[30] = cpu->r[3];
/* 028B9A2C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B9A2C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B9A30 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
/* 028B9A34 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028B9A34 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028B9A38 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028B9A38 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B9A3C */ Gambit_fn_028BBF4C(cpu);
/* 028B9A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9A44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9A44 */ _t6 = _t5 & 0x00000001u;
/* 028B9A44 */ if (_t6) goto L_028B9ABC; else goto L_028B9A48;
L_028B9A48: ; // 0x28b9a48
/* 028B9A48 */ cpu->r[3] = cpu->r[30];
/* 028B9A4C */ Gambit_fn_028B88B4(cpu);
/* 028B9A50 */ _t7 = cpu->r[30] + 0x00000010u;
/* 028B9A50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028B9A54 */ cpu->r[4] = cpu->r[31];
/* 028B9A58 */ cpu->r[29] = cpu->r[3];
/* 028B9A5C */ Gambit_fn_028A7E40(cpu);
/* 028B9A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9A64 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9A64 */ _t9 = _t8 & 0x00000001u;
/* 028B9A64 */ if (_t9) goto L_028B9A68; else goto L_028B9A88;
L_028B9A68: ; // 0x28b9a68
/* 028B9A68 */ _t10 = cpu->r[29] + 0x0000000Cu;
/* 028B9A68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028B9A6C */ _t11 = cpu->r[10] + 0x00000024u;
/* 028B9A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028B9A70 */ cpu->ctr = cpu->r[0];
/* 028B9A74 */ cpu->r[3] = cpu->r[29];
/* 028B9A78 */ cpu->r[4] = cpu->r[31];
/* 028B9A7C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B9A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9A84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9A84 */ _t13 = _t12 & 0x00000001u;
/* 028B9A84 */ if (_t13) goto L_028B9AC4; else goto L_028B9A88;
L_028B9A88: ; // 0x28b9a88
/* 028B9A88 */ _t14 = cpu->r[30] + 0x00000024u;
/* 028B9A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028B9A8C */ _t15 = cpu->r[12] + 0x00000024u;
/* 028B9A8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028B9A90 */ cpu->ctr = cpu->r[8];
/* 028B9A94 */ cpu->r[3] = cpu->r[30];
/* 028B9A98 */ cpu->r[4] = 0xFFFFFFFFu;
/* 028B9A9C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B9AA0 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028B9AA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028B9AA4 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028B9AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028B9AA8 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028B9AA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028B9AAC */ cpu->lr = cpu->r[0];
/* 028B9AB0 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028B9AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028B9AB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B9AB8 */ return;
L_028B9ABC: ; // 0x28b9abc
/* 028B9ABC */ cpu->r[0] = 0x00000005u;
/* 028B9AC0 */ _t20 = cpu->r[30] + 0x00000014u;
/* 028B9AC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
L_028B9AC4: ; // 0x28b9ac4
/* 028B9AC4 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028B9AC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
/* 028B9AC8 */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028B9AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028B9ACC */ _t23 = cpu->r[1] + 0x00000010u;
/* 028B9ACC */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028B9AD0 */ cpu->lr = cpu->r[0];
/* 028B9AD4 */ _t24 = cpu->r[1] + 0x00000014u;
/* 028B9AD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028B9AD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B9ADC */ return;
}
// fn_028B9A20 @ 0x28b9a20
void Gambit_fn_028B9A20(CPUState* cpu) {
uint32_t _t0, _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_028B9A20: ; // 0x28b9a20
/* 028B9A20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B9A20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9A20 */ cpu->r[1] = _t0;
/* 028B9A24 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028B9A24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028B9A28 */ cpu->r[30] = cpu->r[3];
/* 028B9A2C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028B9A2C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028B9A30 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
/* 028B9A34 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028B9A34 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028B9A38 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028B9A38 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B9A3C */ Gambit_fn_028BBF4C(cpu);
/* 028B9A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9A44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9A44 */ _t6 = _t5 & 0x00000001u;
/* 028B9A44 */ if (_t6) goto L_028B9ABC; else goto L_028B9A48;
L_028B9A48: ; // 0x28b9a48
/* 028B9A48 */ cpu->r[3] = cpu->r[30];
/* 028B9A4C */ Gambit_fn_028B88B4(cpu);
/* 028B9A50 */ _t7 = cpu->r[30] + 0x00000010u;
/* 028B9A50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028B9A54 */ cpu->r[4] = cpu->r[31];
/* 028B9A58 */ cpu->r[29] = cpu->r[3];
/* 028B9A5C */ Gambit_fn_028A7E40(cpu);
/* 028B9A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9A64 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9A64 */ _t9 = _t8 & 0x00000001u;
/* 028B9A64 */ if (_t9) goto L_028B9A68; else goto L_028B9A88;
L_028B9A68: ; // 0x28b9a68
/* 028B9A68 */ _t10 = cpu->r[29] + 0x0000000Cu;
/* 028B9A68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028B9A6C */ _t11 = cpu->r[10] + 0x00000024u;
/* 028B9A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028B9A70 */ cpu->ctr = cpu->r[0];
/* 028B9A74 */ cpu->r[3] = cpu->r[29];
/* 028B9A78 */ cpu->r[4] = cpu->r[31];
/* 028B9A7C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B9A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9A84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9A84 */ _t13 = _t12 & 0x00000001u;
/* 028B9A84 */ if (_t13) goto L_028B9AC4; else goto L_028B9A88;
L_028B9A88: ; // 0x28b9a88
/* 028B9A88 */ _t14 = cpu->r[30] + 0x00000024u;
/* 028B9A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028B9A8C */ _t15 = cpu->r[12] + 0x00000024u;
/* 028B9A8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028B9A90 */ cpu->ctr = cpu->r[8];
/* 028B9A94 */ cpu->r[3] = cpu->r[30];
/* 028B9A98 */ cpu->r[4] = 0xFFFFFFFFu;
/* 028B9A9C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B9AA0 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028B9AA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028B9AA4 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028B9AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028B9AA8 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028B9AA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028B9AAC */ cpu->lr = cpu->r[0];
/* 028B9AB0 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028B9AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028B9AB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B9AB8 */ return;
L_028B9ABC: ; // 0x28b9abc
/* 028B9ABC */ cpu->r[0] = 0x00000005u;
/* 028B9AC0 */ _t20 = cpu->r[30] + 0x00000014u;
/* 028B9AC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
L_028B9AC4: ; // 0x28b9ac4
/* 028B9AC4 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028B9AC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
/* 028B9AC8 */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028B9AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028B9ACC */ _t23 = cpu->r[1] + 0x00000010u;
/* 028B9ACC */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028B9AD0 */ cpu->lr = cpu->r[0];
/* 028B9AD4 */ _t24 = cpu->r[1] + 0x00000014u;
/* 028B9AD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028B9AD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B9ADC */ return;
}
// fn_028B9AE0 @ 0x28b9ae0
void Gambit_fn_028B9AE0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028B9AE0: ; // 0x28b9ae0
/* 028B9AE0 */ cpu->r[0] = cpu->lr;
/* 028B9AE4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028B9AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9AE4 */ cpu->r[1] = _t0;
/* 028B9AE8 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028B9AE8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028B9AEC */ /* nop */
/* 028B9AF0 */ _t2 = cpu->r[1] + 0x00000020u;
/* 028B9AF0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028B9AF4 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028B9AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B9AF8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028B9AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028B9AFC */ cpu->r[31] = cpu->r[3];
/* 028B9B00 */ _t5 = cpu->r[31] + 0x0000000Cu;
/* 028B9B00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
/* 028B9B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028B9B08 */ cpu->r[0] = 0x00000000u;
/* 028B9B0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9B0C */ _t7 = _t6 & 0x00000001u;
/* 028B9B0C */ if (_t7) goto L_028B9C88; else goto L_028B9B10;
L_028B9B10: ; // 0x28b9b10
/* 028B9B10 */ _t8 = cpu->r[31] + 0x00000010u;
/* 028B9B10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028B9B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B9B18 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9B18 */ _t10 = _t9 & 0x00000001u;
/* 028B9B18 */ if (_t10) goto L_028B9C88; else goto L_028B9B1C;
L_028B9B1C: ; // 0x28b9b1c
/* 028B9B1C */ cpu->r[10] = 0x10140000u;
/* 028B9B20 */ cpu->r[11] = 0x10140000u;
/* 028B9B24 */ _t11 = cpu->r[10] + 0xFFFF8D58u;
/* 028B9B24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028B9B28 */ cpu->r[12] = 0x10140000u;
/* 028B9B2C */ _t12 = cpu->r[11] + 0xFFFF8DE0u;
/* 028B9B2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028B9B30 */ _t13 = cpu->r[12] + 0xFFFF8DE4u;
/* 028B9B30 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
/* 028B9B34 */ _t14 = cpu->r[31] + 0x00000034u;
/* 028B9B34 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028B9B38 */ cpu->r[10] = 0x00000006u;
/* 028B9B3C */ _t15 = cpu->r[31] + 0x00000038u;
/* 028B9B3C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
/* 028B9B40 */ cpu->ctr = cpu->r[10];
/* 028B9B44 */ _t16 = cpu->r[31] + 0x00000054u;
/* 028B9B44 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
/* 028B9B48 */ cpu->r[12] = cpu->r[31] + 0x00000038u;
/* 028B9B4C */ _t17 = cpu->r[31] + 0x00000058u;
/* 028B9B4C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
/* 028B9B50 */ cpu->f[11] = cpu->f[0];
/* 028B9B54 */ _t18 = cpu->r[31] + 0x0000005Cu;
/* 028B9B54 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
L_028B9B58: ; // 0x28b9b58
/* 028B9B58 */ _t19 = cpu->r[12] + 0x00000004u;
/* 028B9B58 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
/* 028B9B58 */ cpu->r[12] = _t19;
/* 028B9B5C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028B9B5C */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028B9B5C */ _t21 = _t20 >> (0x00000002u & 31u);
/* 028B9B5C */ _t22 = _t21 & 0x00000001u;
/* 028B9B5C */ if (_t22) goto L_028B9B58; else goto L_028B9B60;
L_028B9B60: ; // 0x28b9b60
/* 028B9B60 */ _t23 = cpu->r[31] + 0x00000064u;
/* 028B9B60 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
/* 028B9B64 */ _t24 = cpu->r[31] + 0x00000080u;
/* 028B9B64 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
/* 028B9B68 */ _t25 = cpu->r[31] + 0x00000084u;
/* 028B9B68 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
/* 028B9B6C */ _t26 = cpu->r[31] + 0x00000088u;
/* 028B9B6C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[12]);
/* 028B9B70 */ _t27 = cpu->r[31] + 0x00000090u;
/* 028B9B70 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
/* 028B9B74 */ _t28 = cpu->r[31] + 0x00000094u;
/* 028B9B74 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[31]);
/* 028B9B78 */ _t29 = cpu->r[31] + 0x0000009Cu;
/* 028B9B78 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
/* 028B9B7C */ _t30 = cpu->r[31] + 0x0000008Cu;
/* 028B9B7C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
/* 028B9B80 */ cpu->r[12] = cpu->r[31] + 0x00000064u;
/* 028B9B84 */ _t31 = cpu->r[31] + 0x00000060u;
/* 028B9B84 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
/* 028B9B88 */ _t32 = cpu->r[31] + 0x000000A4u;
/* 028B9B88 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028B9B8C */ cpu->r[9] = 0x00000006u;
/* 028B9B90 */ _t33 = cpu->r[31] + 0x000000A0u;
/* 028B9B90 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[31]);
/* 028B9B94 */ cpu->ctr = cpu->r[9];
/* 028B9B98 */ _t34 = cpu->r[31] + 0x00000098u;
/* 028B9B98 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[31]);
L_028B9B9C: ; // 0x28b9b9c
/* 028B9B9C */ _t35 = cpu->r[12] + 0x00000004u;
/* 028B9B9C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
/* 028B9B9C */ cpu->r[12] = _t35;
/* 028B9BA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028B9BA0 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028B9BA0 */ _t37 = _t36 >> (0x00000002u & 31u);
/* 028B9BA0 */ _t38 = _t37 & 0x00000001u;
/* 028B9BA0 */ if (_t38) goto L_028B9B9C; else goto L_028B9BA4;
L_028B9BA4: ; // 0x28b9ba4
/* 028B9BA4 */ _t39 = cpu->r[31] + 0x00000010u;
/* 028B9BA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
/* 028B9BA8 */ _t40 = cpu->r[31] + 0x000000B0u;
/* 028B9BA8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]);
/* 028B9BAC */ _t41 = cpu->r[31] + 0x000000B4u;
/* 028B9BAC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[31]);
/* 028B9BB0 */ _t42 = cpu->r[31] + 0x0000000Cu;
/* 028B9BB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
/* 028B9BB4 */ _t43 = cpu->r[31] + 0x000000ACu;
/* 028B9BB4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[31]);
/* 028B9BB8 */ Gambit_fn_028B4C98(cpu);
/* 028B9BBC */ _t44 = cpu->r[31] + 0x00000010u;
/* 028B9BBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028B9BC0 */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028B9BC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
/* 028B9BC4 */ _t46 = cpu->r[12] + 0x00000004u;
/* 028B9BC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
/* 028B9BC8 */ _t47 = cpu->r[8] + 0x0000003Cu;
/* 028B9BC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
/* 028B9BCC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028B9BD0 */ cpu->r[9] = cpu->r[11] + cpu->r[8];
/* 028B9BD4 */ _t48 = cpu->r[9] + 0x0000000Cu;
/* 028B9BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028B9BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B9BDC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9BDC */ _t50 = _t49 & 0x00000001u;
/* 028B9BDC */ if (_t50) goto L_028B9C88; else goto L_028B9BE0;
L_028B9BE0: ; // 0x28b9be0
/* 028B9BE0 */ _t51 = cpu->r[31] + 0x00000028u;
/* 028B9BE0 */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
/* 028B9BE4 */ _t52 = cpu->r[9] + 0x00000000u;
/* 028B9BE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
/* 028B9BE8 */ cpu->r[3] = cpu->r[31] + 0x000000ACu;
/* 028B9BEC */ Gambit_fn_0200D450(cpu);
/* 028B9BF0 */ cpu->r[3] = cpu->r[31];
/* 028B9BF4 */ Gambit_fn_028B88B4(cpu);
/* 028B9BF8 */ _t53 = cpu->r[3] + 0x0000000Cu;
/* 028B9BF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
/* 028B9BFC */ _t54 = cpu->r[12] + 0x0000002Cu;
/* 028B9BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028B9C00 */ _t55 = cpu->r[31] + 0x0000000Cu;
/* 028B9C00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
/* 028B9C04 */ cpu->ctr = cpu->r[0];
/* 028B9C08 */ _t56 = cpu->r[31] + 0x00000010u;
/* 028B9C08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
/* 028B9C0C */ _t57 = cpu->r[31] + 0x0000001Cu;
/* 028B9C0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
/* 028B9C10 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B9C14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
/* 028B9C18 */ cpu->r[10] = 0x10140000u;
/* 028B9C1C */ _t58 = cpu->r[10] + 0xFFFF8DD4u;
/* 028B9C1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
/* 028B9C20 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9C20 */ _t60 = _t59 & 0x00000001u;
/* 028B9C20 */ if (_t60) goto L_028B9C48; else goto L_028B9C24;
L_028B9C24: ; // 0x28b9c24
/* 028B9C24 */ cpu->f[12] = cpu->f[1] + cpu->f[13];
/* 028B9C28 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12];
/* 028B9C2C */ cpu->r[11] = cpu->r[1] + 0x00000008u;
/* 028B9C30 */ /* nop */
/* 028B9C34 */ _t61 = cpu->r[1] + 0x00000008u;
/* 028B9C34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
/* 028B9C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B9C3C */ _t62 = cpu->r[31] + 0x00000018u;
/* 028B9C3C */ rbrew_write32(cpu->mem, _t62, cpu->r[10]);
/* 028B9C40 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B9C40 */ _t64 = _t63 & 0x00000001u;
/* 028B9C40 */ if (_t64) goto L_028B9CAC; else goto L_028B9C44;
L_028B9C44: ; // 0x28b9c44
/* 028B9C44 */ goto L_028B9C68;
L_028B9C48: ; // 0x28b9c48
/* 028B9C48 */ cpu->f[0] = cpu->f[1] - cpu->f[13];
/* 028B9C4C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[0];
/* 028B9C50 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028B9C54 */ /* nop */
/* 028B9C58 */ _t65 = cpu->r[1] + 0x00000008u;
/* 028B9C58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
/* 028B9C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B9C60 */ _t66 = cpu->r[31] + 0x00000018u;
/* 028B9C60 */ rbrew_write32(cpu->mem, _t66, cpu->r[10]);
/* 028B9C64 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B9C64 */ _t68 = _t67 & 0x00000001u;
/* 028B9C64 */ if (_t68) goto L_028B9CAC; else goto L_028B9C68;
L_028B9C68: ; // 0x28b9c68
/* 028B9C68 */ cpu->r[3] = cpu->r[31];
/* 028B9C6C */ Gambit_fn_028B9124(cpu);
/* 028B9C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9C74 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9C74 */ _t70 = _t69 & 0x00000001u;
/* 028B9C74 */ if (_t70) goto L_028B9C88; else goto L_028B9C78;
L_028B9C78: ; // 0x28b9c78
/* 028B9C78 */ cpu->r[8] = 0x00000003u;
/* 028B9C7C */ cpu->r[3] = 0x00000001u;
/* 028B9C80 */ _t71 = cpu->r[31] + 0x00000014u;
/* 028B9C80 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]);
/* 028B9C84 */ goto L_028B9CB8;
L_028B9C88: ; // 0x28b9c88
/* 028B9C88 */ _t72 = cpu->r[1] + 0x00000020u;
/* 028B9C88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t72);
/* 028B9C8C */ _t73 = cpu->r[1] + 0x00000014u;
/* 028B9C8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
/* 028B9C90 */ _t74 = cpu->r[1] + 0x00000018u;
/* 028B9C90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t74);
/* 028B9C94 */ cpu->r[3] = 0x00000000u;
/* 028B9C98 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9C98 */ _t76 = _t75 & 0x00000001u;
/* 028B9C98 */ if (_t76) goto L_028B9C9C; // else: addr-0 trap, fall-through
L_028B9C9C: ; // 0x28b9c9c
/* 028B9C9C */ _t77 = cpu->r[1] + 0x0000002Cu;
/* 028B9C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028B9CA0 */ cpu->lr = cpu->r[0];
/* 028B9CA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028B9CA8 */ return;
L_028B9CAC: ; // 0x28b9cac
/* 028B9CAC */ cpu->r[8] = 0x00000002u;
/* 028B9CB0 */ cpu->r[3] = 0x00000001u;
/* 028B9CB4 */ _t78 = cpu->r[31] + 0x00000014u;
/* 028B9CB4 */ rbrew_write32(cpu->mem, _t78, cpu->r[8]);
L_028B9CB8: ; // 0x28b9cb8
/* 028B9CB8 */ _t79 = cpu->r[1] + 0x00000020u;
/* 028B9CB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t79);
/* 028B9CBC */ _t80 = cpu->r[1] + 0x00000014u;
/* 028B9CBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t80);
/* 028B9CC0 */ _t81 = cpu->r[1] + 0x00000018u;
/* 028B9CC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t81);
/* 028B9CC4 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9CC4 */ _t83 = _t82 & 0x00000001u;
/* 028B9CC4 */ if (_t83) goto L_028B9CC8; // else: addr-0 trap, fall-through
L_028B9CC8: ; // 0x28b9cc8
/* 028B9CC8 */ _t84 = cpu->r[1] + 0x0000002Cu;
/* 028B9CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
/* 028B9CCC */ cpu->lr = cpu->r[0];
/* 028B9CD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028B9CD4 */ return;
}
// fn_028B9AE4 @ 0x28b9ae4
void Gambit_fn_028B9AE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028B9AE4: ; // 0x28b9ae4
/* 028B9AE4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028B9AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9AE4 */ cpu->r[1] = _t0;
/* 028B9AE8 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028B9AE8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028B9AEC */ /* nop */
/* 028B9AF0 */ _t2 = cpu->r[1] + 0x00000020u;
/* 028B9AF0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028B9AF4 */ _t3 = cpu->r[1] + 0x0000002Cu;
/* 028B9AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028B9AF8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028B9AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028B9AFC */ cpu->r[31] = cpu->r[3];
/* 028B9B00 */ _t5 = cpu->r[31] + 0x0000000Cu;
/* 028B9B00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
/* 028B9B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028B9B08 */ cpu->r[0] = 0x00000000u;
/* 028B9B0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9B0C */ _t7 = _t6 & 0x00000001u;
/* 028B9B0C */ if (_t7) goto L_028B9C88; else goto L_028B9B10;
L_028B9B10: ; // 0x28b9b10
/* 028B9B10 */ _t8 = cpu->r[31] + 0x00000010u;
/* 028B9B10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028B9B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028B9B18 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9B18 */ _t10 = _t9 & 0x00000001u;
/* 028B9B18 */ if (_t10) goto L_028B9C88; else goto L_028B9B1C;
L_028B9B1C: ; // 0x28b9b1c
/* 028B9B1C */ cpu->r[10] = 0x10140000u;
/* 028B9B20 */ cpu->r[11] = 0x10140000u;
/* 028B9B24 */ _t11 = cpu->r[10] + 0xFFFF8D58u;
/* 028B9B24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028B9B28 */ cpu->r[12] = 0x10140000u;
/* 028B9B2C */ _t12 = cpu->r[11] + 0xFFFF8DE0u;
/* 028B9B2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028B9B30 */ _t13 = cpu->r[12] + 0xFFFF8DE4u;
/* 028B9B30 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
/* 028B9B34 */ _t14 = cpu->r[31] + 0x00000034u;
/* 028B9B34 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028B9B38 */ cpu->r[10] = 0x00000006u;
/* 028B9B3C */ _t15 = cpu->r[31] + 0x00000038u;
/* 028B9B3C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
/* 028B9B40 */ cpu->ctr = cpu->r[10];
/* 028B9B44 */ _t16 = cpu->r[31] + 0x00000054u;
/* 028B9B44 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
/* 028B9B48 */ cpu->r[12] = cpu->r[31] + 0x00000038u;
/* 028B9B4C */ _t17 = cpu->r[31] + 0x00000058u;
/* 028B9B4C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
/* 028B9B50 */ cpu->f[11] = cpu->f[0];
/* 028B9B54 */ _t18 = cpu->r[31] + 0x0000005Cu;
/* 028B9B54 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
L_028B9B58: ; // 0x28b9b58
/* 028B9B58 */ _t19 = cpu->r[12] + 0x00000004u;
/* 028B9B58 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
/* 028B9B58 */ cpu->r[12] = _t19;
/* 028B9B5C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028B9B5C */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028B9B5C */ _t21 = _t20 >> (0x00000002u & 31u);
/* 028B9B5C */ _t22 = _t21 & 0x00000001u;
/* 028B9B5C */ if (_t22) goto L_028B9B58; else goto L_028B9B60;
L_028B9B60: ; // 0x28b9b60
/* 028B9B60 */ _t23 = cpu->r[31] + 0x00000064u;
/* 028B9B60 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
/* 028B9B64 */ _t24 = cpu->r[31] + 0x00000080u;
/* 028B9B64 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
/* 028B9B68 */ _t25 = cpu->r[31] + 0x00000084u;
/* 028B9B68 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
/* 028B9B6C */ _t26 = cpu->r[31] + 0x00000088u;
/* 028B9B6C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[12]);
/* 028B9B70 */ _t27 = cpu->r[31] + 0x00000090u;
/* 028B9B70 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
/* 028B9B74 */ _t28 = cpu->r[31] + 0x00000094u;
/* 028B9B74 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[31]);
/* 028B9B78 */ _t29 = cpu->r[31] + 0x0000009Cu;
/* 028B9B78 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
/* 028B9B7C */ _t30 = cpu->r[31] + 0x0000008Cu;
/* 028B9B7C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
/* 028B9B80 */ cpu->r[12] = cpu->r[31] + 0x00000064u;
/* 028B9B84 */ _t31 = cpu->r[31] + 0x00000060u;
/* 028B9B84 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
/* 028B9B88 */ _t32 = cpu->r[31] + 0x000000A4u;
/* 028B9B88 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028B9B8C */ cpu->r[9] = 0x00000006u;
/* 028B9B90 */ _t33 = cpu->r[31] + 0x000000A0u;
/* 028B9B90 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[31]);
/* 028B9B94 */ cpu->ctr = cpu->r[9];
/* 028B9B98 */ _t34 = cpu->r[31] + 0x00000098u;
/* 028B9B98 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[31]);
L_028B9B9C: ; // 0x28b9b9c
/* 028B9B9C */ _t35 = cpu->r[12] + 0x00000004u;
/* 028B9B9C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
/* 028B9B9C */ cpu->r[12] = _t35;
/* 028B9BA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028B9BA0 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028B9BA0 */ _t37 = _t36 >> (0x00000002u & 31u);
/* 028B9BA0 */ _t38 = _t37 & 0x00000001u;
/* 028B9BA0 */ if (_t38) goto L_028B9B9C; else goto L_028B9BA4;
L_028B9BA4: ; // 0x28b9ba4
/* 028B9BA4 */ _t39 = cpu->r[31] + 0x00000010u;
/* 028B9BA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
/* 028B9BA8 */ _t40 = cpu->r[31] + 0x000000B0u;
/* 028B9BA8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]);
/* 028B9BAC */ _t41 = cpu->r[31] + 0x000000B4u;
/* 028B9BAC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[31]);
/* 028B9BB0 */ _t42 = cpu->r[31] + 0x0000000Cu;
/* 028B9BB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
/* 028B9BB4 */ _t43 = cpu->r[31] + 0x000000ACu;
/* 028B9BB4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[31]);
/* 028B9BB8 */ Gambit_fn_028B4C98(cpu);
/* 028B9BBC */ _t44 = cpu->r[31] + 0x00000010u;
/* 028B9BBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028B9BC0 */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028B9BC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
/* 028B9BC4 */ _t46 = cpu->r[12] + 0x00000004u;
/* 028B9BC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
/* 028B9BC8 */ _t47 = cpu->r[8] + 0x0000003Cu;
/* 028B9BC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
/* 028B9BCC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028B9BD0 */ cpu->r[9] = cpu->r[11] + cpu->r[8];
/* 028B9BD4 */ _t48 = cpu->r[9] + 0x0000000Cu;
/* 028B9BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028B9BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B9BDC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9BDC */ _t50 = _t49 & 0x00000001u;
/* 028B9BDC */ if (_t50) goto L_028B9C88; else goto L_028B9BE0;
L_028B9BE0: ; // 0x28b9be0
/* 028B9BE0 */ _t51 = cpu->r[31] + 0x00000028u;
/* 028B9BE0 */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
/* 028B9BE4 */ _t52 = cpu->r[9] + 0x00000000u;
/* 028B9BE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
/* 028B9BE8 */ cpu->r[3] = cpu->r[31] + 0x000000ACu;
/* 028B9BEC */ Gambit_fn_0200D450(cpu);
/* 028B9BF0 */ cpu->r[3] = cpu->r[31];
/* 028B9BF4 */ Gambit_fn_028B88B4(cpu);
/* 028B9BF8 */ _t53 = cpu->r[3] + 0x0000000Cu;
/* 028B9BF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
/* 028B9BFC */ _t54 = cpu->r[12] + 0x0000002Cu;
/* 028B9BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028B9C00 */ _t55 = cpu->r[31] + 0x0000000Cu;
/* 028B9C00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
/* 028B9C04 */ cpu->ctr = cpu->r[0];
/* 028B9C08 */ _t56 = cpu->r[31] + 0x00000010u;
/* 028B9C08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
/* 028B9C0C */ _t57 = cpu->r[31] + 0x0000001Cu;
/* 028B9C0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
/* 028B9C10 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028B9C14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
/* 028B9C18 */ cpu->r[10] = 0x10140000u;
/* 028B9C1C */ _t58 = cpu->r[10] + 0xFFFF8DD4u;
/* 028B9C1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
/* 028B9C20 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9C20 */ _t60 = _t59 & 0x00000001u;
/* 028B9C20 */ if (_t60) goto L_028B9C48; else goto L_028B9C24;
L_028B9C24: ; // 0x28b9c24
/* 028B9C24 */ cpu->f[12] = cpu->f[1] + cpu->f[13];
/* 028B9C28 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12];
/* 028B9C2C */ cpu->r[11] = cpu->r[1] + 0x00000008u;
/* 028B9C30 */ /* nop */
/* 028B9C34 */ _t61 = cpu->r[1] + 0x00000008u;
/* 028B9C34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
/* 028B9C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B9C3C */ _t62 = cpu->r[31] + 0x00000018u;
/* 028B9C3C */ rbrew_write32(cpu->mem, _t62, cpu->r[10]);
/* 028B9C40 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B9C40 */ _t64 = _t63 & 0x00000001u;
/* 028B9C40 */ if (_t64) goto L_028B9CAC; else goto L_028B9C44;
L_028B9C44: ; // 0x28b9c44
/* 028B9C44 */ goto L_028B9C68;
L_028B9C48: ; // 0x28b9c48
/* 028B9C48 */ cpu->f[0] = cpu->f[1] - cpu->f[13];
/* 028B9C4C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[0];
/* 028B9C50 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028B9C54 */ /* nop */
/* 028B9C58 */ _t65 = cpu->r[1] + 0x00000008u;
/* 028B9C58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
/* 028B9C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028B9C60 */ _t66 = cpu->r[31] + 0x00000018u;
/* 028B9C60 */ rbrew_write32(cpu->mem, _t66, cpu->r[10]);
/* 028B9C64 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028B9C64 */ _t68 = _t67 & 0x00000001u;
/* 028B9C64 */ if (_t68) goto L_028B9CAC; else goto L_028B9C68;
L_028B9C68: ; // 0x28b9c68
/* 028B9C68 */ cpu->r[3] = cpu->r[31];
/* 028B9C6C */ Gambit_fn_028B9124(cpu);
/* 028B9C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9C74 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9C74 */ _t70 = _t69 & 0x00000001u;
/* 028B9C74 */ if (_t70) goto L_028B9C88; else goto L_028B9C78;
L_028B9C78: ; // 0x28b9c78
/* 028B9C78 */ cpu->r[8] = 0x00000003u;
/* 028B9C7C */ cpu->r[3] = 0x00000001u;
/* 028B9C80 */ _t71 = cpu->r[31] + 0x00000014u;
/* 028B9C80 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]);
/* 028B9C84 */ goto L_028B9CB8;
L_028B9C88: ; // 0x28b9c88
/* 028B9C88 */ _t72 = cpu->r[1] + 0x00000020u;
/* 028B9C88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t72);
/* 028B9C8C */ _t73 = cpu->r[1] + 0x00000014u;
/* 028B9C8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
/* 028B9C90 */ _t74 = cpu->r[1] + 0x00000018u;
/* 028B9C90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t74);
/* 028B9C94 */ cpu->r[3] = 0x00000000u;
/* 028B9C98 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9C98 */ _t76 = _t75 & 0x00000001u;
/* 028B9C98 */ if (_t76) goto L_028B9C9C; // else: addr-0 trap, fall-through
L_028B9C9C: ; // 0x28b9c9c
/* 028B9C9C */ _t77 = cpu->r[1] + 0x0000002Cu;
/* 028B9C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028B9CA0 */ cpu->lr = cpu->r[0];
/* 028B9CA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028B9CA8 */ return;
L_028B9CAC: ; // 0x28b9cac
/* 028B9CAC */ cpu->r[8] = 0x00000002u;
/* 028B9CB0 */ cpu->r[3] = 0x00000001u;
/* 028B9CB4 */ _t78 = cpu->r[31] + 0x00000014u;
/* 028B9CB4 */ rbrew_write32(cpu->mem, _t78, cpu->r[8]);
L_028B9CB8: ; // 0x28b9cb8
/* 028B9CB8 */ _t79 = cpu->r[1] + 0x00000020u;
/* 028B9CB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t79);
/* 028B9CBC */ _t80 = cpu->r[1] + 0x00000014u;
/* 028B9CBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t80);
/* 028B9CC0 */ _t81 = cpu->r[1] + 0x00000018u;
/* 028B9CC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t81);
/* 028B9CC4 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028B9CC4 */ _t83 = _t82 & 0x00000001u;
/* 028B9CC4 */ if (_t83) goto L_028B9CC8; // else: addr-0 trap, fall-through
L_028B9CC8: ; // 0x28b9cc8
/* 028B9CC8 */ _t84 = cpu->r[1] + 0x0000002Cu;
/* 028B9CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
/* 028B9CCC */ cpu->lr = cpu->r[0];
/* 028B9CD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028B9CD4 */ return;
}
// fn_028B9CD8 @ 0x28b9cd8
void Gambit_fn_028B9CD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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;
L_028B9CD8: ; // 0x28b9cd8
/* 028B9CD8 */ cpu->r[0] = cpu->lr;
/* 028B9CDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B9CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9CDC */ cpu->r[1] = _t0;
/* 028B9CE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B9CE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028B9CE4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028B9CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028B9CE8 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028B9CE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028B9CEC */ cpu->r[31] = cpu->r[3];
/* 028B9CF0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028B9CF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B9CF4 */ _t5 = cpu->r[31] + 0x00000010u;
/* 028B9CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028B9CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B9CFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9CFC */ _t7 = _t6 & 0x00000001u;
/* 028B9CFC */ if (_t7) goto L_028B9FC4; else goto L_028B9D00;
L_028B9D00: ; // 0x28b9d00
/* 028B9D00 */ cpu->r[3] = cpu->r[31];
/* 028B9D04 */ Gambit_fn_028B88B4(cpu);
/* 028B9D08 */ _t8 = cpu->r[31] + 0x0000001Cu;
/* 028B9D08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028B9D0C */ cpu->r[5] = 0x00000009u;
/* 028B9D10 */ cpu->r[4] = cpu->r[30];
/* 028B9D14 */ cpu->r[29] = cpu->r[3];
/* 028B9D18 */ Gambit_fn_028A89E8(cpu);
/* 028B9D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9D20 */ cpu->r[3] = cpu->r[29];
/* 028B9D24 */ _t9 = cpu->r[31] + 0x0000000Cu;
/* 028B9D24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
/* 028B9D28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9D28 */ _t11 = _t10 & 0x00000001u;
/* 028B9D28 */ if (_t11) goto L_028B9D5C; else goto L_028B9D2C;
L_028B9D2C: ; // 0x28b9d2c
/* 028B9D2C */ cpu->r[4] = cpu->r[30];
/* 028B9D30 */ Gambit_fn_028B3A84(cpu);
/* 028B9D34 */ cpu->r[6] = 0x00000009u;
/* 028B9D38 */ _t12 = cpu->r[31] + 0x0000001Cu;
/* 028B9D38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028B9D3C */ cpu->r[4] = 0x00000002u;
/* 028B9D40 */ cpu->r[3] = cpu->r[29];
/* 028B9D44 */ _t13 = cpu->r[31] + 0x00000038u;
/* 028B9D44 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[1]);
/* 028B9D48 */ Gambit_fn_028A8B18(cpu);
/* 028B9D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9D50 */ _t14 = cpu->r[31] + 0x00000034u;
/* 028B9D50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028B9D54 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9D54 */ _t16 = _t15 & 0x00000001u;
/* 028B9D54 */ if (_t16) goto L_028B9DB4; else goto L_028B9D58;
L_028B9D58: ; // 0x28b9d58
/* 028B9D58 */ goto L_028B9D88;
L_028B9D5C: ; // 0x28b9d5c
/* 028B9D5C */ _t17 = cpu->r[31] + 0x00000010u;
/* 028B9D5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028B9D60 */ Gambit_fn_028B33F0(cpu);
/* 028B9D64 */ cpu->r[6] = 0x00000009u;
/* 028B9D68 */ _t18 = cpu->r[31] + 0x00000010u;
/* 028B9D68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
/* 028B9D6C */ cpu->r[4] = 0x00000002u;
/* 028B9D70 */ cpu->r[3] = cpu->r[29];
/* 028B9D74 */ _t19 = cpu->r[31] + 0x00000038u;
/* 028B9D74 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[1]);
/* 028B9D78 */ Gambit_fn_028A8848(cpu);
/* 028B9D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9D80 */ _t20 = cpu->r[31] + 0x00000034u;
/* 028B9D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028B9D84 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9D84 */ _t22 = _t21 & 0x00000001u;
/* 028B9D84 */ if (_t22) goto L_028B9DB4; else goto L_028B9D88;
L_028B9D88: ; // 0x28b9d88
/* 028B9D88 */ cpu->r[10] = cpu->r[12] | 0x00000001u;
/* 028B9D8C */ cpu->r[5] = 0x0000000Cu;
/* 028B9D90 */ cpu->r[3] = cpu->r[29];
/* 028B9D94 */ cpu->r[4] = cpu->r[30];
/* 028B9D98 */ _t23 = cpu->r[31] + 0x00000034u;
/* 028B9D98 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028B9D9C */ Gambit_fn_028A89E8(cpu);
/* 028B9DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9DA4 */ cpu->r[3] = cpu->r[29];
/* 028B9DA8 */ _t24 = cpu->r[31] + 0x0000000Cu;
/* 028B9DA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
/* 028B9DAC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9DAC */ _t26 = _t25 & 0x00000001u;
/* 028B9DAC */ if (_t26) goto L_028B9E0C; else goto L_028B9DB0;
L_028B9DB0: ; // 0x28b9db0
/* 028B9DB0 */ goto L_028B9DDC;
L_028B9DB4: ; // 0x28b9db4
/* 028B9DB4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu);
/* 028B9DB8 */ cpu->r[5] = 0x0000000Cu;
/* 028B9DBC */ cpu->r[3] = cpu->r[29];
/* 028B9DC0 */ cpu->r[4] = cpu->r[30];
/* 028B9DC4 */ _t27 = cpu->r[31] + 0x00000034u;
/* 028B9DC4 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
/* 028B9DC8 */ Gambit_fn_028A89E8(cpu);
/* 028B9DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9DD0 */ cpu->r[3] = cpu->r[29];
/* 028B9DD4 */ _t28 = cpu->r[31] + 0x0000000Cu;
/* 028B9DD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
/* 028B9DD8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9DD8 */ _t30 = _t29 & 0x00000001u;
/* 028B9DD8 */ if (_t30) goto L_028B9E0C; else goto L_028B9DDC;
L_028B9DDC: ; // 0x28b9ddc
/* 028B9DDC */ cpu->r[4] = cpu->r[30];
/* 028B9DE0 */ Gambit_fn_028B3AB8(cpu);
/* 028B9DE4 */ cpu->r[6] = 0x0000000Cu;
/* 028B9DE8 */ _t31 = cpu->r[31] + 0x0000001Cu;
/* 028B9DE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
/* 028B9DEC */ cpu->r[4] = 0x00000002u;
/* 028B9DF0 */ cpu->r[3] = cpu->r[29];
/* 028B9DF4 */ _t32 = cpu->r[31] + 0x00000054u;
/* 028B9DF4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
/* 028B9DF8 */ Gambit_fn_028A8B18(cpu);
/* 028B9DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9E00 */ _t33 = cpu->r[31] + 0x00000034u;
/* 028B9E00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
/* 028B9E04 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9E04 */ _t35 = _t34 & 0x00000001u;
/* 028B9E04 */ if (_t35) goto L_028B9E64; else goto L_028B9E08;
L_028B9E08: ; // 0x28b9e08
/* 028B9E08 */ goto L_028B9E38;
L_028B9E0C: ; // 0x28b9e0c
/* 028B9E0C */ _t36 = cpu->r[31] + 0x00000010u;
/* 028B9E0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
/* 028B9E10 */ Gambit_fn_028B356C(cpu);
/* 028B9E14 */ cpu->r[6] = 0x0000000Cu;
/* 028B9E18 */ _t37 = cpu->r[31] + 0x00000010u;
/* 028B9E18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
/* 028B9E1C */ cpu->r[4] = 0x00000002u;
/* 028B9E20 */ cpu->r[3] = cpu->r[29];
/* 028B9E24 */ _t38 = cpu->r[31] + 0x00000054u;
/* 028B9E24 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[1]);
/* 028B9E28 */ Gambit_fn_028A8848(cpu);
/* 028B9E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9E30 */ _t39 = cpu->r[31] + 0x00000034u;
/* 028B9E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028B9E34 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9E34 */ _t41 = _t40 & 0x00000001u;
/* 028B9E34 */ if (_t41) goto L_028B9E64; else goto L_028B9E38;
L_028B9E38: ; // 0x28b9e38
/* 028B9E38 */ cpu->r[11] = cpu->r[12] | 0x00000004u;
/* 028B9E3C */ cpu->r[5] = 0x0000000Du;
/* 028B9E40 */ cpu->r[3] = cpu->r[29];
/* 028B9E44 */ cpu->r[4] = cpu->r[30];
/* 028B9E48 */ _t42 = cpu->r[31] + 0x00000034u;
/* 028B9E48 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
/* 028B9E4C */ Gambit_fn_028A89E8(cpu);
/* 028B9E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9E54 */ cpu->r[3] = cpu->r[29];
/* 028B9E58 */ _t43 = cpu->r[31] + 0x0000000Cu;
/* 028B9E58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
/* 028B9E5C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9E5C */ _t45 = _t44 & 0x00000001u;
/* 028B9E5C */ if (_t45) goto L_028B9EBC; else goto L_028B9E60;
L_028B9E60: ; // 0x28b9e60
/* 028B9E60 */ goto L_028B9E8C;
L_028B9E64: ; // 0x28b9e64
/* 028B9E64 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
/* 028B9E68 */ cpu->r[5] = 0x0000000Du;
/* 028B9E6C */ cpu->r[3] = cpu->r[29];
/* 028B9E70 */ cpu->r[4] = cpu->r[30];
/* 028B9E74 */ _t46 = cpu->r[31] + 0x00000034u;
/* 028B9E74 */ rbrew_write32(cpu->mem, _t46, cpu->r[11]);
/* 028B9E78 */ Gambit_fn_028A89E8(cpu);
/* 028B9E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9E80 */ cpu->r[3] = cpu->r[29];
/* 028B9E84 */ _t47 = cpu->r[31] + 0x0000000Cu;
/* 028B9E84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
/* 028B9E88 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9E88 */ _t49 = _t48 & 0x00000001u;
/* 028B9E88 */ if (_t49) goto L_028B9EBC; else goto L_028B9E8C;
L_028B9E8C: ; // 0x28b9e8c
/* 028B9E8C */ cpu->r[4] = cpu->r[30];
/* 028B9E90 */ Gambit_fn_028B3AEC(cpu);
/* 028B9E94 */ cpu->r[6] = 0x0000000Du;
/* 028B9E98 */ _t50 = cpu->r[31] + 0x0000001Cu;
/* 028B9E98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
/* 028B9E9C */ cpu->r[4] = 0x00000002u;
/* 028B9EA0 */ cpu->r[3] = cpu->r[29];
/* 028B9EA4 */ _t51 = cpu->r[31] + 0x00000058u;
/* 028B9EA4 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[1]);
/* 028B9EA8 */ Gambit_fn_028A8B18(cpu);
/* 028B9EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9EB0 */ _t52 = cpu->r[31] + 0x00000034u;
/* 028B9EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
/* 028B9EB4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9EB4 */ _t54 = _t53 & 0x00000001u;
/* 028B9EB4 */ if (_t54) goto L_028B9F14; else goto L_028B9EB8;
L_028B9EB8: ; // 0x28b9eb8
/* 028B9EB8 */ goto L_028B9EE8;
L_028B9EBC: ; // 0x28b9ebc
/* 028B9EBC */ _t55 = cpu->r[31] + 0x00000010u;
/* 028B9EBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
/* 028B9EC0 */ Gambit_fn_028B35E8(cpu);
/* 028B9EC4 */ cpu->r[6] = 0x0000000Du;
/* 028B9EC8 */ _t56 = cpu->r[31] + 0x00000010u;
/* 028B9EC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
/* 028B9ECC */ cpu->r[4] = 0x00000002u;
/* 028B9ED0 */ cpu->r[3] = cpu->r[29];
/* 028B9ED4 */ _t57 = cpu->r[31] + 0x00000058u;
/* 028B9ED4 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[1]);
/* 028B9ED8 */ Gambit_fn_028A8848(cpu);
/* 028B9EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9EE0 */ _t58 = cpu->r[31] + 0x00000034u;
/* 028B9EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028B9EE4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9EE4 */ _t60 = _t59 & 0x00000001u;
/* 028B9EE4 */ if (_t60) goto L_028B9F14; else goto L_028B9EE8;
L_028B9EE8: ; // 0x28b9ee8
/* 028B9EE8 */ cpu->r[10] = cpu->r[0] | 0x00000008u;
/* 028B9EEC */ cpu->r[5] = 0x00000013u;
/* 028B9EF0 */ cpu->r[3] = cpu->r[29];
/* 028B9EF4 */ cpu->r[4] = cpu->r[30];
/* 028B9EF8 */ _t61 = cpu->r[31] + 0x00000034u;
/* 028B9EF8 */ rbrew_write32(cpu->mem, _t61, cpu->r[10]);
/* 028B9EFC */ Gambit_fn_028A89E8(cpu);
/* 028B9F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9F04 */ cpu->r[3] = cpu->r[29];
/* 028B9F08 */ _t62 = cpu->r[31] + 0x0000000Cu;
/* 028B9F08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
/* 028B9F0C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9F0C */ _t64 = _t63 & 0x00000001u;
/* 028B9F0C */ if (_t64) goto L_028B9F6C; else goto L_028B9F10;
L_028B9F10: ; // 0x28b9f10
/* 028B9F10 */ goto L_028B9F3C;
L_028B9F14: ; // 0x28b9f14
/* 028B9F14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Bu);
/* 028B9F18 */ cpu->r[5] = 0x00000013u;
/* 028B9F1C */ cpu->r[3] = cpu->r[29];
/* 028B9F20 */ cpu->r[4] = cpu->r[30];
/* 028B9F24 */ _t65 = cpu->r[31] + 0x00000034u;
/* 028B9F24 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
/* 028B9F28 */ Gambit_fn_028A89E8(cpu);
/* 028B9F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9F30 */ cpu->r[3] = cpu->r[29];
/* 028B9F34 */ _t66 = cpu->r[31] + 0x0000000Cu;
/* 028B9F34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
/* 028B9F38 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9F38 */ _t68 = _t67 & 0x00000001u;
/* 028B9F38 */ if (_t68) goto L_028B9F6C; else goto L_028B9F3C;
L_028B9F3C: ; // 0x28b9f3c
/* 028B9F3C */ cpu->r[4] = cpu->r[30];
/* 028B9F40 */ Gambit_fn_028B3AF8(cpu);
/* 028B9F44 */ cpu->r[6] = 0x00000013u;
/* 028B9F48 */ _t69 = cpu->r[31] + 0x0000001Cu;
/* 028B9F48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
/* 028B9F4C */ cpu->r[4] = 0x00000002u;
/* 028B9F50 */ cpu->r[3] = cpu->r[29];
/* 028B9F54 */ _t70 = cpu->r[31] + 0x0000005Cu;
/* 028B9F54 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[1]);
/* 028B9F58 */ Gambit_fn_028A8B18(cpu);
/* 028B9F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9F60 */ _t71 = cpu->r[31] + 0x00000034u;
/* 028B9F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
/* 028B9F64 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9F64 */ _t73 = _t72 & 0x00000001u;
/* 028B9F64 */ if (_t73) goto L_028B9FBC; else goto L_028B9F68;
L_028B9F68: ; // 0x28b9f68
/* 028B9F68 */ goto L_028B9F98;
L_028B9F6C: ; // 0x28b9f6c
/* 028B9F6C */ _t74 = cpu->r[31] + 0x00000010u;
/* 028B9F6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
/* 028B9F70 */ Gambit_fn_028B390C(cpu);
/* 028B9F74 */ cpu->r[6] = 0x00000013u;
/* 028B9F78 */ _t75 = cpu->r[31] + 0x00000010u;
/* 028B9F78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
/* 028B9F7C */ cpu->r[4] = 0x00000002u;
/* 028B9F80 */ cpu->r[3] = cpu->r[29];
/* 028B9F84 */ _t76 = cpu->r[31] + 0x0000005Cu;
/* 028B9F84 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[1]);
/* 028B9F88 */ Gambit_fn_028A8848(cpu);
/* 028B9F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9F90 */ _t77 = cpu->r[31] + 0x00000034u;
/* 028B9F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028B9F94 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9F94 */ _t79 = _t78 & 0x00000001u;
/* 028B9F94 */ if (_t79) goto L_028B9FBC; else goto L_028B9F98;
L_028B9F98: ; // 0x28b9f98
/* 028B9F98 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
/* 028B9F9C */ _t80 = cpu->r[31] + 0x00000034u;
/* 028B9F9C */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
/* 028B9FA0 */ _t81 = cpu->r[1] + 0x0000000Cu;
/* 028B9FA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t81);
/* 028B9FA4 */ _t82 = cpu->r[1] + 0x0000001Cu;
/* 028B9FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
/* 028B9FA8 */ _t83 = cpu->r[1] + 0x00000010u;
/* 028B9FA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
/* 028B9FAC */ cpu->lr = cpu->r[0];
/* 028B9FB0 */ _t84 = cpu->r[1] + 0x00000014u;
/* 028B9FB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
/* 028B9FB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B9FB8 */ return;
L_028B9FBC: ; // 0x28b9fbc
/* 028B9FBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Au);
/* 028B9FC0 */ _t85 = cpu->r[31] + 0x00000034u;
/* 028B9FC0 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
L_028B9FC4: ; // 0x28b9fc4
/* 028B9FC4 */ _t86 = cpu->r[1] + 0x0000000Cu;
/* 028B9FC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t86);
/* 028B9FC8 */ _t87 = cpu->r[1] + 0x0000001Cu;
/* 028B9FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
/* 028B9FCC */ _t88 = cpu->r[1] + 0x00000010u;
/* 028B9FCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t88);
/* 028B9FD0 */ cpu->lr = cpu->r[0];
/* 028B9FD4 */ _t89 = cpu->r[1] + 0x00000014u;
/* 028B9FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t89);
/* 028B9FD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B9FDC */ return;
}
// fn_028B9CDC @ 0x28b9cdc
void Gambit_fn_028B9CDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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;
L_028B9CDC: ; // 0x28b9cdc
/* 028B9CDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028B9CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028B9CDC */ cpu->r[1] = _t0;
/* 028B9CE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028B9CE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028B9CE4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028B9CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028B9CE8 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028B9CE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028B9CEC */ cpu->r[31] = cpu->r[3];
/* 028B9CF0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028B9CF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028B9CF4 */ _t5 = cpu->r[31] + 0x00000010u;
/* 028B9CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028B9CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B9CFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9CFC */ _t7 = _t6 & 0x00000001u;
/* 028B9CFC */ if (_t7) goto L_028B9FC4; else goto L_028B9D00;
L_028B9D00: ; // 0x28b9d00
/* 028B9D00 */ cpu->r[3] = cpu->r[31];
/* 028B9D04 */ Gambit_fn_028B88B4(cpu);
/* 028B9D08 */ _t8 = cpu->r[31] + 0x0000001Cu;
/* 028B9D08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028B9D0C */ cpu->r[5] = 0x00000009u;
/* 028B9D10 */ cpu->r[4] = cpu->r[30];
/* 028B9D14 */ cpu->r[29] = cpu->r[3];
/* 028B9D18 */ Gambit_fn_028A89E8(cpu);
/* 028B9D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9D20 */ cpu->r[3] = cpu->r[29];
/* 028B9D24 */ _t9 = cpu->r[31] + 0x0000000Cu;
/* 028B9D24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
/* 028B9D28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9D28 */ _t11 = _t10 & 0x00000001u;
/* 028B9D28 */ if (_t11) goto L_028B9D5C; else goto L_028B9D2C;
L_028B9D2C: ; // 0x28b9d2c
/* 028B9D2C */ cpu->r[4] = cpu->r[30];
/* 028B9D30 */ Gambit_fn_028B3A84(cpu);
/* 028B9D34 */ cpu->r[6] = 0x00000009u;
/* 028B9D38 */ _t12 = cpu->r[31] + 0x0000001Cu;
/* 028B9D38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028B9D3C */ cpu->r[4] = 0x00000002u;
/* 028B9D40 */ cpu->r[3] = cpu->r[29];
/* 028B9D44 */ _t13 = cpu->r[31] + 0x00000038u;
/* 028B9D44 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[1]);
/* 028B9D48 */ Gambit_fn_028A8B18(cpu);
/* 028B9D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9D50 */ _t14 = cpu->r[31] + 0x00000034u;
/* 028B9D50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028B9D54 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9D54 */ _t16 = _t15 & 0x00000001u;
/* 028B9D54 */ if (_t16) goto L_028B9DB4; else goto L_028B9D58;
L_028B9D58: ; // 0x28b9d58
/* 028B9D58 */ goto L_028B9D88;
L_028B9D5C: ; // 0x28b9d5c
/* 028B9D5C */ _t17 = cpu->r[31] + 0x00000010u;
/* 028B9D5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028B9D60 */ Gambit_fn_028B33F0(cpu);
/* 028B9D64 */ cpu->r[6] = 0x00000009u;
/* 028B9D68 */ _t18 = cpu->r[31] + 0x00000010u;
/* 028B9D68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
/* 028B9D6C */ cpu->r[4] = 0x00000002u;
/* 028B9D70 */ cpu->r[3] = cpu->r[29];
/* 028B9D74 */ _t19 = cpu->r[31] + 0x00000038u;
/* 028B9D74 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[1]);
/* 028B9D78 */ Gambit_fn_028A8848(cpu);
/* 028B9D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9D80 */ _t20 = cpu->r[31] + 0x00000034u;
/* 028B9D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028B9D84 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9D84 */ _t22 = _t21 & 0x00000001u;
/* 028B9D84 */ if (_t22) goto L_028B9DB4; else goto L_028B9D88;
L_028B9D88: ; // 0x28b9d88
/* 028B9D88 */ cpu->r[10] = cpu->r[12] | 0x00000001u;
/* 028B9D8C */ cpu->r[5] = 0x0000000Cu;
/* 028B9D90 */ cpu->r[3] = cpu->r[29];
/* 028B9D94 */ cpu->r[4] = cpu->r[30];
/* 028B9D98 */ _t23 = cpu->r[31] + 0x00000034u;
/* 028B9D98 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028B9D9C */ Gambit_fn_028A89E8(cpu);
/* 028B9DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9DA4 */ cpu->r[3] = cpu->r[29];
/* 028B9DA8 */ _t24 = cpu->r[31] + 0x0000000Cu;
/* 028B9DA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
/* 028B9DAC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9DAC */ _t26 = _t25 & 0x00000001u;
/* 028B9DAC */ if (_t26) goto L_028B9E0C; else goto L_028B9DB0;
L_028B9DB0: ; // 0x28b9db0
/* 028B9DB0 */ goto L_028B9DDC;
L_028B9DB4: ; // 0x28b9db4
/* 028B9DB4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu);
/* 028B9DB8 */ cpu->r[5] = 0x0000000Cu;
/* 028B9DBC */ cpu->r[3] = cpu->r[29];
/* 028B9DC0 */ cpu->r[4] = cpu->r[30];
/* 028B9DC4 */ _t27 = cpu->r[31] + 0x00000034u;
/* 028B9DC4 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
/* 028B9DC8 */ Gambit_fn_028A89E8(cpu);
/* 028B9DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9DD0 */ cpu->r[3] = cpu->r[29];
/* 028B9DD4 */ _t28 = cpu->r[31] + 0x0000000Cu;
/* 028B9DD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
/* 028B9DD8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9DD8 */ _t30 = _t29 & 0x00000001u;
/* 028B9DD8 */ if (_t30) goto L_028B9E0C; else goto L_028B9DDC;
L_028B9DDC: ; // 0x28b9ddc
/* 028B9DDC */ cpu->r[4] = cpu->r[30];
/* 028B9DE0 */ Gambit_fn_028B3AB8(cpu);
/* 028B9DE4 */ cpu->r[6] = 0x0000000Cu;
/* 028B9DE8 */ _t31 = cpu->r[31] + 0x0000001Cu;
/* 028B9DE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
/* 028B9DEC */ cpu->r[4] = 0x00000002u;
/* 028B9DF0 */ cpu->r[3] = cpu->r[29];
/* 028B9DF4 */ _t32 = cpu->r[31] + 0x00000054u;
/* 028B9DF4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
/* 028B9DF8 */ Gambit_fn_028A8B18(cpu);
/* 028B9DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9E00 */ _t33 = cpu->r[31] + 0x00000034u;
/* 028B9E00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
/* 028B9E04 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9E04 */ _t35 = _t34 & 0x00000001u;
/* 028B9E04 */ if (_t35) goto L_028B9E64; else goto L_028B9E08;
L_028B9E08: ; // 0x28b9e08
/* 028B9E08 */ goto L_028B9E38;
L_028B9E0C: ; // 0x28b9e0c
/* 028B9E0C */ _t36 = cpu->r[31] + 0x00000010u;
/* 028B9E0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
/* 028B9E10 */ Gambit_fn_028B356C(cpu);
/* 028B9E14 */ cpu->r[6] = 0x0000000Cu;
/* 028B9E18 */ _t37 = cpu->r[31] + 0x00000010u;
/* 028B9E18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
/* 028B9E1C */ cpu->r[4] = 0x00000002u;
/* 028B9E20 */ cpu->r[3] = cpu->r[29];
/* 028B9E24 */ _t38 = cpu->r[31] + 0x00000054u;
/* 028B9E24 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[1]);
/* 028B9E28 */ Gambit_fn_028A8848(cpu);
/* 028B9E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9E30 */ _t39 = cpu->r[31] + 0x00000034u;
/* 028B9E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028B9E34 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9E34 */ _t41 = _t40 & 0x00000001u;
/* 028B9E34 */ if (_t41) goto L_028B9E64; else goto L_028B9E38;
L_028B9E38: ; // 0x28b9e38
/* 028B9E38 */ cpu->r[11] = cpu->r[12] | 0x00000004u;
/* 028B9E3C */ cpu->r[5] = 0x0000000Du;
/* 028B9E40 */ cpu->r[3] = cpu->r[29];
/* 028B9E44 */ cpu->r[4] = cpu->r[30];
/* 028B9E48 */ _t42 = cpu->r[31] + 0x00000034u;
/* 028B9E48 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
/* 028B9E4C */ Gambit_fn_028A89E8(cpu);
/* 028B9E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9E54 */ cpu->r[3] = cpu->r[29];
/* 028B9E58 */ _t43 = cpu->r[31] + 0x0000000Cu;
/* 028B9E58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
/* 028B9E5C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9E5C */ _t45 = _t44 & 0x00000001u;
/* 028B9E5C */ if (_t45) goto L_028B9EBC; else goto L_028B9E60;
L_028B9E60: ; // 0x28b9e60
/* 028B9E60 */ goto L_028B9E8C;
L_028B9E64: ; // 0x28b9e64
/* 028B9E64 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
/* 028B9E68 */ cpu->r[5] = 0x0000000Du;
/* 028B9E6C */ cpu->r[3] = cpu->r[29];
/* 028B9E70 */ cpu->r[4] = cpu->r[30];
/* 028B9E74 */ _t46 = cpu->r[31] + 0x00000034u;
/* 028B9E74 */ rbrew_write32(cpu->mem, _t46, cpu->r[11]);
/* 028B9E78 */ Gambit_fn_028A89E8(cpu);
/* 028B9E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9E80 */ cpu->r[3] = cpu->r[29];
/* 028B9E84 */ _t47 = cpu->r[31] + 0x0000000Cu;
/* 028B9E84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
/* 028B9E88 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9E88 */ _t49 = _t48 & 0x00000001u;
/* 028B9E88 */ if (_t49) goto L_028B9EBC; else goto L_028B9E8C;
L_028B9E8C: ; // 0x28b9e8c
/* 028B9E8C */ cpu->r[4] = cpu->r[30];
/* 028B9E90 */ Gambit_fn_028B3AEC(cpu);
/* 028B9E94 */ cpu->r[6] = 0x0000000Du;
/* 028B9E98 */ _t50 = cpu->r[31] + 0x0000001Cu;
/* 028B9E98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
/* 028B9E9C */ cpu->r[4] = 0x00000002u;
/* 028B9EA0 */ cpu->r[3] = cpu->r[29];
/* 028B9EA4 */ _t51 = cpu->r[31] + 0x00000058u;
/* 028B9EA4 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[1]);
/* 028B9EA8 */ Gambit_fn_028A8B18(cpu);
/* 028B9EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9EB0 */ _t52 = cpu->r[31] + 0x00000034u;
/* 028B9EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
/* 028B9EB4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9EB4 */ _t54 = _t53 & 0x00000001u;
/* 028B9EB4 */ if (_t54) goto L_028B9F14; else goto L_028B9EB8;
L_028B9EB8: ; // 0x28b9eb8
/* 028B9EB8 */ goto L_028B9EE8;
L_028B9EBC: ; // 0x28b9ebc
/* 028B9EBC */ _t55 = cpu->r[31] + 0x00000010u;
/* 028B9EBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
/* 028B9EC0 */ Gambit_fn_028B35E8(cpu);
/* 028B9EC4 */ cpu->r[6] = 0x0000000Du;
/* 028B9EC8 */ _t56 = cpu->r[31] + 0x00000010u;
/* 028B9EC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
/* 028B9ECC */ cpu->r[4] = 0x00000002u;
/* 028B9ED0 */ cpu->r[3] = cpu->r[29];
/* 028B9ED4 */ _t57 = cpu->r[31] + 0x00000058u;
/* 028B9ED4 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[1]);
/* 028B9ED8 */ Gambit_fn_028A8848(cpu);
/* 028B9EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9EE0 */ _t58 = cpu->r[31] + 0x00000034u;
/* 028B9EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028B9EE4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9EE4 */ _t60 = _t59 & 0x00000001u;
/* 028B9EE4 */ if (_t60) goto L_028B9F14; else goto L_028B9EE8;
L_028B9EE8: ; // 0x28b9ee8
/* 028B9EE8 */ cpu->r[10] = cpu->r[0] | 0x00000008u;
/* 028B9EEC */ cpu->r[5] = 0x00000013u;
/* 028B9EF0 */ cpu->r[3] = cpu->r[29];
/* 028B9EF4 */ cpu->r[4] = cpu->r[30];
/* 028B9EF8 */ _t61 = cpu->r[31] + 0x00000034u;
/* 028B9EF8 */ rbrew_write32(cpu->mem, _t61, cpu->r[10]);
/* 028B9EFC */ Gambit_fn_028A89E8(cpu);
/* 028B9F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9F04 */ cpu->r[3] = cpu->r[29];
/* 028B9F08 */ _t62 = cpu->r[31] + 0x0000000Cu;
/* 028B9F08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
/* 028B9F0C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9F0C */ _t64 = _t63 & 0x00000001u;
/* 028B9F0C */ if (_t64) goto L_028B9F6C; else goto L_028B9F10;
L_028B9F10: ; // 0x28b9f10
/* 028B9F10 */ goto L_028B9F3C;
L_028B9F14: ; // 0x28b9f14
/* 028B9F14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Bu);
/* 028B9F18 */ cpu->r[5] = 0x00000013u;
/* 028B9F1C */ cpu->r[3] = cpu->r[29];
/* 028B9F20 */ cpu->r[4] = cpu->r[30];
/* 028B9F24 */ _t65 = cpu->r[31] + 0x00000034u;
/* 028B9F24 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
/* 028B9F28 */ Gambit_fn_028A89E8(cpu);
/* 028B9F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9F30 */ cpu->r[3] = cpu->r[29];
/* 028B9F34 */ _t66 = cpu->r[31] + 0x0000000Cu;
/* 028B9F34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
/* 028B9F38 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9F38 */ _t68 = _t67 & 0x00000001u;
/* 028B9F38 */ if (_t68) goto L_028B9F6C; else goto L_028B9F3C;
L_028B9F3C: ; // 0x28b9f3c
/* 028B9F3C */ cpu->r[4] = cpu->r[30];
/* 028B9F40 */ Gambit_fn_028B3AF8(cpu);
/* 028B9F44 */ cpu->r[6] = 0x00000013u;
/* 028B9F48 */ _t69 = cpu->r[31] + 0x0000001Cu;
/* 028B9F48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
/* 028B9F4C */ cpu->r[4] = 0x00000002u;
/* 028B9F50 */ cpu->r[3] = cpu->r[29];
/* 028B9F54 */ _t70 = cpu->r[31] + 0x0000005Cu;
/* 028B9F54 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[1]);
/* 028B9F58 */ Gambit_fn_028A8B18(cpu);
/* 028B9F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9F60 */ _t71 = cpu->r[31] + 0x00000034u;
/* 028B9F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
/* 028B9F64 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9F64 */ _t73 = _t72 & 0x00000001u;
/* 028B9F64 */ if (_t73) goto L_028B9FBC; else goto L_028B9F68;
L_028B9F68: ; // 0x28b9f68
/* 028B9F68 */ goto L_028B9F98;
L_028B9F6C: ; // 0x28b9f6c
/* 028B9F6C */ _t74 = cpu->r[31] + 0x00000010u;
/* 028B9F6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
/* 028B9F70 */ Gambit_fn_028B390C(cpu);
/* 028B9F74 */ cpu->r[6] = 0x00000013u;
/* 028B9F78 */ _t75 = cpu->r[31] + 0x00000010u;
/* 028B9F78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
/* 028B9F7C */ cpu->r[4] = 0x00000002u;
/* 028B9F80 */ cpu->r[3] = cpu->r[29];
/* 028B9F84 */ _t76 = cpu->r[31] + 0x0000005Cu;
/* 028B9F84 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[1]);
/* 028B9F88 */ Gambit_fn_028A8848(cpu);
/* 028B9F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9F90 */ _t77 = cpu->r[31] + 0x00000034u;
/* 028B9F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028B9F94 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9F94 */ _t79 = _t78 & 0x00000001u;
/* 028B9F94 */ if (_t79) goto L_028B9FBC; else goto L_028B9F98;
L_028B9F98: ; // 0x28b9f98
/* 028B9F98 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
/* 028B9F9C */ _t80 = cpu->r[31] + 0x00000034u;
/* 028B9F9C */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
/* 028B9FA0 */ _t81 = cpu->r[1] + 0x0000000Cu;
/* 028B9FA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t81);
/* 028B9FA4 */ _t82 = cpu->r[1] + 0x0000001Cu;
/* 028B9FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
/* 028B9FA8 */ _t83 = cpu->r[1] + 0x00000010u;
/* 028B9FA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
/* 028B9FAC */ cpu->lr = cpu->r[0];
/* 028B9FB0 */ _t84 = cpu->r[1] + 0x00000014u;
/* 028B9FB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
/* 028B9FB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B9FB8 */ return;
L_028B9FBC: ; // 0x28b9fbc
/* 028B9FBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Au);
/* 028B9FC0 */ _t85 = cpu->r[31] + 0x00000034u;
/* 028B9FC0 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
L_028B9FC4: ; // 0x28b9fc4
/* 028B9FC4 */ _t86 = cpu->r[1] + 0x0000000Cu;
/* 028B9FC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t86);
/* 028B9FC8 */ _t87 = cpu->r[1] + 0x0000001Cu;
/* 028B9FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
/* 028B9FCC */ _t88 = cpu->r[1] + 0x00000010u;
/* 028B9FCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t88);
/* 028B9FD0 */ cpu->lr = cpu->r[0];
/* 028B9FD4 */ _t89 = cpu->r[1] + 0x00000014u;
/* 028B9FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t89);
/* 028B9FD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028B9FDC */ return;
}
// fn_028B9FE0 @ 0x28b9fe0
void Gambit_fn_028B9FE0(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_028B9FE0: ; // 0x28b9fe0
/* 028B9FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9FE4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9FE4 */ _t17 = _t16 & 0x00000001u;
/* 028B9FE4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028B9FE4 */ goto L_028B9FE8;
L_028B9FE8: ; // 0x28b9fe8
/* 028B9FE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028B9FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028B9FEC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9FEC */ _t19 = _t18 & 0x00000001u;
/* 028B9FEC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028B9FEC */ goto L_028B9FF0;
L_028B9FF0: ; // 0x28b9ff0
/* 028B9FF0 */ goto L_02801BB0;
}
// fn_028B9FF4 @ 0x28b9ff4
void Gambit_fn_028B9FF4(CPUState* cpu) {
L_028B9FF4: ; // 0x28b9ff4
/* 028B9FF4 */ return;
}
// fn_028B9FF8 @ 0x28b9ff8
void Gambit_fn_028B9FF8(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_028B9FF8: ; // 0x28b9ff8
/* 028B9FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028B9FFC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028B9FFC */ _t17 = _t16 & 0x00000001u;
/* 028B9FFC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028B9FFC */ goto L_028BA000;
L_028BA000: ; // 0x28ba000
/* 028BA000 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BA000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA004 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA004 */ _t19 = _t18 & 0x00000001u;
/* 028BA004 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BA004 */ goto L_028BA008;
L_028BA008: ; // 0x28ba008
/* 028BA008 */ goto L_02801BB0;
}
// fn_028BA00C @ 0x28ba00c
void Gambit_fn_028BA00C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028BA00C: ; // 0x28ba00c
/* 028BA00C */ _t0 = cpu->r[3] + 0x00000000u;
/* 028BA00C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028BA010 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028BA010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028BA014 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028BA018 */ cpu->r[11] = 0x10110000u;
/* 028BA01C */ _t2 = cpu->r[11] + 0x00007399u;
/* 028BA01C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028BA020 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028BA020 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028BA024 */ return;
}
// fn_028BA028 @ 0x28ba028
void Gambit_fn_028BA028(CPUState* cpu) {
L_028BA028: ; // 0x28ba028
/* 028BA028 */ return;
}
// fn_028BA02C @ 0x28ba02c
void Gambit_fn_028BA02C(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_028BA02C: ; // 0x28ba02c
/* 028BA02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA030 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA030 */ _t17 = _t16 & 0x00000001u;
/* 028BA030 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BA030 */ goto L_028BA034;
L_028BA034: ; // 0x28ba034
/* 028BA034 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BA034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA038 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA038 */ _t19 = _t18 & 0x00000001u;
/* 028BA038 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BA038 */ goto L_028BA03C;
L_028BA03C: ; // 0x28ba03c
/* 028BA03C */ goto L_02801BB0;
}
// fn_028BA040 @ 0x28ba040
void Gambit_fn_028BA040(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_028BA040: ; // 0x28ba040
/* 028BA040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA044 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA044 */ _t17 = _t16 & 0x00000001u;
/* 028BA044 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BA044 */ goto L_028BA048;
L_028BA048: ; // 0x28ba048
/* 028BA048 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BA048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA04C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA04C */ _t19 = _t18 & 0x00000001u;
/* 028BA04C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BA04C */ goto L_028BA050;
L_028BA050: ; // 0x28ba050
/* 028BA050 */ goto L_02801BB0;
}
// fn_028BA054 @ 0x28ba054
void Gambit_fn_028BA054(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BA054: ; // 0x28ba054
/* 028BA054 */ cpu->r[3] = cpu->r[3] + 0x0000002Cu;
/* 028BA058 */ goto L_028BBF4C;
L_028BBF4C: ; // 0x28bbf4c
/* 028BBF4C */ _t0 = cpu->r[3] + 0x00000000u;
/* 028BBF4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BBF50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BBF54 */ cpu->r[0] = 0x00000000u;
/* 028BBF58 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF58 */ _t2 = _t1 & 0x00000001u;
/* 028BBF58 */ if (_t2) goto L_028BBF70; else goto L_028BBF5C;
L_028BBF5C: ; // 0x28bbf5c
/* 028BBF5C */ _t3 = cpu->r[3] + 0x00000004u;
/* 028BBF5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028BBF60 */ _t4 = cpu->r[12] + 0x00000008u;
/* 028BBF60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BBF64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028BBF68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF68 */ _t6 = _t5 & 0x00000001u;
/* 028BBF68 */ if (_t6) goto L_028BBF6C; else goto L_028BBF70;
L_028BBF6C: ; // 0x28bbf6c
/* 028BBF6C */ cpu->r[0] = 0x00000001u;
L_028BBF70: ; // 0x28bbf70
/* 028BBF70 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BBF74 */ return;
}
// fn_028BA05C @ 0x28ba05c
void Gambit_fn_028BA05C(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_028BA05C: ; // 0x28ba05c
/* 028BA05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA060 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA060 */ _t17 = _t16 & 0x00000001u;
/* 028BA060 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BA060 */ goto L_028BA064;
L_028BA064: ; // 0x28ba064
/* 028BA064 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BA064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA068 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA068 */ _t19 = _t18 & 0x00000001u;
/* 028BA068 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BA068 */ goto L_028BA06C;
L_028BA06C: ; // 0x28ba06c
/* 028BA06C */ goto L_02801BB0;
}
// fn_028BA070 @ 0x28ba070
void Gambit_fn_028BA070(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028BA070: ; // 0x28ba070
/* 028BA070 */ cpu->r[0] = cpu->lr;
/* 028BA074 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BA074 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BA078 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BA078 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BA078 */ cpu->r[1] = _t1;
/* 028BA07C */ _t2 = cpu->r[3] + 0x00000034u;
/* 028BA07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BA080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028BA084 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA084 */ _t4 = _t3 & 0x00000001u;
/* 028BA084 */ if (_t4) goto L_028BA0CC; else goto L_028BA088;
L_028BA088: ; // 0x28ba088
/* 028BA088 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BA088 */ _t6 = _t5 & 0x00000001u;
/* 028BA088 */ if (_t6) goto L_028BA0A8; else goto L_028BA08C;
L_028BA08C: ; // 0x28ba08c
/* 028BA08C */ _t7 = cpu->r[3] + 0x00000038u;
/* 028BA08C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BA090 */ _t8 = cpu->r[3] + 0x00000030u;
/* 028BA090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BA094 */ cpu->r[3] = cpu->r[0] - cpu->r[12];
/* 028BA098 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BA098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BA09C */ cpu->lr = cpu->r[0];
/* 028BA0A0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BA0A4 */ return;
L_028BA0A8: ; // 0x28ba0a8
/* 028BA0A8 */ _t10 = cpu->r[3] + 0x00000010u;
/* 028BA0A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028BA0AC */ cpu->r[3] = 0x101D0000u;
/* 028BA0B0 */ cpu->r[6] = 0x10140000u;
/* 028BA0B4 */ _t11 = cpu->r[12] + 0x00000020u;
/* 028BA0B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
/* 028BA0B8 */ cpu->r[4] = 0x0000001Du;
/* 028BA0BC */ _t12 = cpu->r[3] + 0xFFFF9A68u;
/* 028BA0BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028BA0C0 */ cpu->r[6] = cpu->r[6] + 0xFFFF8E40u;
/* 028BA0C4 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028BA0C4 */ _t14 = _t13 & 0x00000001u;
/* 028BA0C4 */ if (_t14) goto L_028BA0C8; // else: addr-0 trap, fall-through
L_028BA0C8: ; // 0x28ba0c8
/* 028BA0C8 */ Gambit_fn_028AA73C(cpu);
L_028BA0CC: ; // 0x28ba0cc
/* 028BA0CC */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028BA0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BA0D0 */ cpu->lr = cpu->r[0];
/* 028BA0D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BA0D8 */ cpu->r[3] = 0x00000000u;
/* 028BA0DC */ return;
}
// fn_028BA078 @ 0x28ba078
void Gambit_fn_028BA078(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BA078: ; // 0x28ba078
/* 028BA078 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BA078 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA078 */ cpu->r[1] = _t0;
/* 028BA07C */ _t1 = cpu->r[3] + 0x00000034u;
/* 028BA07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BA080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028BA084 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA084 */ _t3 = _t2 & 0x00000001u;
/* 028BA084 */ if (_t3) goto L_028BA0CC; else goto L_028BA088;
L_028BA088: ; // 0x28ba088
/* 028BA088 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BA088 */ _t5 = _t4 & 0x00000001u;
/* 028BA088 */ if (_t5) goto L_028BA0A8; else goto L_028BA08C;
L_028BA08C: ; // 0x28ba08c
/* 028BA08C */ _t6 = cpu->r[3] + 0x00000038u;
/* 028BA08C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BA090 */ _t7 = cpu->r[3] + 0x00000030u;
/* 028BA090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BA094 */ cpu->r[3] = cpu->r[0] - cpu->r[12];
/* 028BA098 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BA098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BA09C */ cpu->lr = cpu->r[0];
/* 028BA0A0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BA0A4 */ return;
L_028BA0A8: ; // 0x28ba0a8
/* 028BA0A8 */ _t9 = cpu->r[3] + 0x00000010u;
/* 028BA0A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BA0AC */ cpu->r[3] = 0x101D0000u;
/* 028BA0B0 */ cpu->r[6] = 0x10140000u;
/* 028BA0B4 */ _t10 = cpu->r[12] + 0x00000020u;
/* 028BA0B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028BA0B8 */ cpu->r[4] = 0x0000001Du;
/* 028BA0BC */ _t11 = cpu->r[3] + 0xFFFF9A68u;
/* 028BA0BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028BA0C0 */ cpu->r[6] = cpu->r[6] + 0xFFFF8E40u;
/* 028BA0C4 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028BA0C4 */ _t13 = _t12 & 0x00000001u;
/* 028BA0C4 */ if (_t13) goto L_028BA0C8; // else: addr-0 trap, fall-through
L_028BA0C8: ; // 0x28ba0c8
/* 028BA0C8 */ Gambit_fn_028AA73C(cpu);
L_028BA0CC: ; // 0x28ba0cc
/* 028BA0CC */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BA0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BA0D0 */ cpu->lr = cpu->r[0];
/* 028BA0D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BA0D8 */ cpu->r[3] = 0x00000000u;
/* 028BA0DC */ return;
}
// fn_028BA0E0 @ 0x28ba0e0
void Gambit_fn_028BA0E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028BA0E0: ; // 0x28ba0e0
/* 028BA0E0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028BA0E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA0E0 */ cpu->r[1] = _t0;
/* 028BA0E4 */ /* nop */
/* 028BA0E8 */ cpu->r[0] = cpu->lr;
/* 028BA0EC */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028BA0EC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BA0F0 */ cpu->r[26] = cpu->r[3];
/* 028BA0F4 */ _t2 = cpu->r[26] + 0x00000038u;
/* 028BA0F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
/* 028BA0F8 */ cpu->r[7] = cpu->r[26] + 0x0000002Cu;
/* 028BA0FC */ _t3 = cpu->r[26] + 0x00000030u;
/* 028BA0FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BA100 */ cpu->r[30] = cpu->r[7] - cpu->r[29];
/* 028BA104 */ cpu->r[28] = cpu->r[0] - cpu->r[29];
/* 028BA108 */ cpu->r[27] = cpu->r[4];
/* 028BA10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
/* 028BA110 */ cpu->r[31] = 0x00000000u;
/* 028BA114 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA114 */ _t5 = _t4 & 0x00000001u;
/* 028BA114 */ if (_t5) goto L_028BA1AC; else goto L_028BA118;
L_028BA118: ; // 0x28ba118
/* 028BA118 */ cpu->r[25] = 0x101D0000u;
L_028BA11C: ; // 0x28ba11c
/* 028BA11C */ _t6 = cpu->r[27] + 0x00000004u;
/* 028BA11C */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
/* 028BA120 */ _t7 = cpu->r[27] + 0x00000000u;
/* 028BA120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BA124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
/* 028BA128 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA128 */ _t9 = _t8 & 0x00000001u;
/* 028BA128 */ if (_t9) goto L_028BA150; else goto L_028BA12C;
L_028BA12C: ; // 0x28ba12c
/* 028BA12C */ _t10 = cpu->r[26] + 0x00000010u;
/* 028BA12C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028BA130 */ _t11 = cpu->r[25] + 0xFFFF9A68u;
/* 028BA130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028BA134 */ cpu->r[6] = 0x10140000u;
/* 028BA138 */ _t12 = cpu->r[10] + 0x00000020u;
/* 028BA138 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028BA13C */ cpu->r[6] = cpu->r[6] + 0xFFFF8E60u;
/* 028BA140 */ cpu->r[4] = 0x0000001Eu;
/* 028BA144 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028BA144 */ _t14 = _t13 & 0x00000001u;
/* 028BA144 */ if (_t14) goto L_028BA148; // else: addr-0 trap, fall-through
L_028BA148: ; // 0x28ba148
/* 028BA148 */ Gambit_fn_028AA73C(cpu);
/* 028BA14C */ goto L_028BA1AC;
L_028BA150: ; // 0x28ba150
/* 028BA150 */ _t15 = cpu->r[28] + 0x00000024u;
/* 028BA150 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
/* 028BA154 */ _t16 = cpu->r[5] + 0x0000001Cu;
/* 028BA154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BA158 */ cpu->ctr = cpu->r[0];
/* 028BA15C */ cpu->r[3] = cpu->r[28];
/* 028BA160 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BA164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA168 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA168 */ _t18 = _t17 & 0x00000001u;
/* 028BA168 */ if (_t18) goto L_028BA198; else goto L_028BA16C;
L_028BA16C: ; // 0x28ba16c
/* 028BA16C */ _t19 = cpu->r[27] + 0x00000000u;
/* 028BA16C */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
/* 028BA170 */ _t20 = cpu->r[27] + 0x00000004u;
/* 028BA170 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028BA174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[9]);
/* 028BA178 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA178 */ _t22 = _t21 & 0x00000001u;
/* 028BA178 */ if (_t22) goto L_028BA17C; else goto L_028BA194;
L_028BA17C: ; // 0x28ba17c
/* 028BA17C */ _t23 = cpu->r[27] + 0x00000008u;
/* 028BA17C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
/* 028BA180 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BA184 */ _t24 = cpu->r[12] + cpu->r[8];
/* 028BA184 */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
/* 028BA188 */ _t25 = cpu->r[27] + 0x00000000u;
/* 028BA188 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
/* 028BA18C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028BA190 */ _t26 = cpu->r[27] + 0x00000000u;
/* 028BA190 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
L_028BA194: ; // 0x28ba194
/* 028BA194 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
L_028BA198: ; // 0x28ba198
/* 028BA198 */ cpu->r[12] = cpu->r[28] + cpu->r[29];
/* 028BA19C */ _t27 = cpu->r[12] + 0x00000004u;
/* 028BA19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028BA1A0 */ cpu->r[28] = cpu->r[0] - cpu->r[29];
/* 028BA1A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
/* 028BA1A8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA1A8 */ _t29 = _t28 & 0x00000001u;
/* 028BA1A8 */ if (_t29) goto L_028BA1AC; else goto L_028BA11C;
L_028BA1AC: ; // 0x28ba1ac
/* 028BA1AC */ cpu->r[3] = cpu->r[31];
/* 028BA1B0 */ /* nop */
/* 028BA1B4 */ _t30 = cpu->r[1] + 0x0000002Cu;
/* 028BA1B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028BA1B8 */ cpu->lr = cpu->r[0];
/* 028BA1BC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BA1C0 */ return;
}
// fn_028BA1C4 @ 0x28ba1c4
void Gambit_fn_028BA1C4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028BA1C4: ; // 0x28ba1c4
/* 028BA1C4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028BA1C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA1C4 */ cpu->r[1] = _t0;
/* 028BA1C8 */ /* nop */
/* 028BA1CC */ cpu->r[0] = cpu->lr;
/* 028BA1D0 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028BA1D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BA1D4 */ cpu->r[26] = cpu->r[3];
/* 028BA1D8 */ _t2 = cpu->r[26] + 0x00000038u;
/* 028BA1D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
/* 028BA1DC */ cpu->r[8] = cpu->r[26] + 0x0000002Cu;
/* 028BA1E0 */ _t3 = cpu->r[26] + 0x00000030u;
/* 028BA1E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BA1E4 */ cpu->r[30] = cpu->r[8] - cpu->r[29];
/* 028BA1E8 */ cpu->r[28] = cpu->r[0] - cpu->r[29];
/* 028BA1EC */ cpu->r[27] = cpu->r[4];
/* 028BA1F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
/* 028BA1F4 */ cpu->r[31] = 0x00000000u;
/* 028BA1F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA1F8 */ _t5 = _t4 & 0x00000001u;
/* 028BA1F8 */ if (_t5) goto L_028BA294; else goto L_028BA1FC;
L_028BA1FC: ; // 0x28ba1fc
/* 028BA1FC */ cpu->r[25] = 0x101D0000u;
L_028BA200: ; // 0x28ba200
/* 028BA200 */ _t6 = cpu->r[27] + 0x00000004u;
/* 028BA200 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
/* 028BA204 */ _t7 = cpu->r[27] + 0x00000000u;
/* 028BA204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BA208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
/* 028BA20C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA20C */ _t9 = _t8 & 0x00000001u;
/* 028BA20C */ if (_t9) goto L_028BA234; else goto L_028BA210;
L_028BA210: ; // 0x28ba210
/* 028BA210 */ _t10 = cpu->r[26] + 0x00000010u;
/* 028BA210 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
/* 028BA214 */ cpu->r[4] = 0x0000001Eu;
/* 028BA218 */ _t11 = cpu->r[6] + 0x00000020u;
/* 028BA218 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
/* 028BA21C */ cpu->r[6] = 0x10140000u;
/* 028BA220 */ _t12 = cpu->r[25] + 0xFFFF9A68u;
/* 028BA220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028BA224 */ cpu->r[6] = cpu->r[6] + 0xFFFF8E8Cu;
/* 028BA228 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028BA228 */ _t14 = _t13 & 0x00000001u;
/* 028BA228 */ if (_t14) goto L_028BA22C; // else: addr-0 trap, fall-through
L_028BA22C: ; // 0x28ba22c
/* 028BA22C */ Gambit_fn_028AA73C(cpu);
/* 028BA230 */ goto L_028BA294;
L_028BA234: ; // 0x28ba234
/* 028BA234 */ _t15 = cpu->r[28] + 0x00000024u;
/* 028BA234 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
/* 028BA238 */ _t16 = cpu->r[6] + 0x0000001Cu;
/* 028BA238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BA23C */ cpu->ctr = cpu->r[0];
/* 028BA240 */ cpu->r[3] = cpu->r[28];
/* 028BA244 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BA248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA24C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA24C */ _t18 = _t17 & 0x00000001u;
/* 028BA24C */ if (_t18) goto L_028BA280; else goto L_028BA250;
L_028BA250: ; // 0x28ba250
/* 028BA250 */ _t19 = cpu->r[27] + 0x00000000u;
/* 028BA250 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
/* 028BA254 */ _t20 = cpu->r[27] + 0x00000004u;
/* 028BA254 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
/* 028BA258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[10]);
/* 028BA25C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA25C */ _t22 = _t21 & 0x00000001u;
/* 028BA25C */ if (_t22) goto L_028BA260; else goto L_028BA27C;
L_028BA260: ; // 0x28ba260
/* 028BA260 */ _t23 = cpu->r[27] + 0x00000008u;
/* 028BA260 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028BA264 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BA268 */ cpu->r[0] = cpu->r[28] + 0x0000002Cu;
/* 028BA26C */ _t24 = cpu->r[12] + cpu->r[9];
/* 028BA26C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028BA270 */ _t25 = cpu->r[27] + 0x00000000u;
/* 028BA270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
/* 028BA274 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028BA278 */ _t26 = cpu->r[27] + 0x00000000u;
/* 028BA278 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
L_028BA27C: ; // 0x28ba27c
/* 028BA27C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
L_028BA280: ; // 0x28ba280
/* 028BA280 */ cpu->r[5] = cpu->r[28] + cpu->r[29];
/* 028BA284 */ _t27 = cpu->r[5] + 0x00000004u;
/* 028BA284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028BA288 */ cpu->r[28] = cpu->r[12] - cpu->r[29];
/* 028BA28C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
/* 028BA290 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA290 */ _t29 = _t28 & 0x00000001u;
/* 028BA290 */ if (_t29) goto L_028BA294; else goto L_028BA200;
L_028BA294: ; // 0x28ba294
/* 028BA294 */ cpu->r[3] = cpu->r[31];
/* 028BA298 */ /* nop */
/* 028BA29C */ _t30 = cpu->r[1] + 0x0000002Cu;
/* 028BA29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028BA2A0 */ cpu->lr = cpu->r[0];
/* 028BA2A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BA2A8 */ return;
}
// fn_028BA2AC @ 0x28ba2ac
void Gambit_fn_028BA2AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028BA2AC: ; // 0x28ba2ac
/* 028BA2AC */ cpu->r[0] = cpu->lr;
/* 028BA2B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BA2B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA2B0 */ cpu->r[1] = _t0;
/* 028BA2B4 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028BA2B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BA2B8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BA2B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BA2BC */ _t3 = cpu->r[1] + 0x00000010u;
/* 028BA2BC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028BA2C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BA2C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BA2C4 */ cpu->r[28] = cpu->r[3];
/* 028BA2C8 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028BA2C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BA2CC */ _t6 = cpu->r[28] + 0x00000058u;
/* 028BA2CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028BA2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BA2D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA2D4 */ _t8 = _t7 & 0x00000001u;
/* 028BA2D4 */ if (_t8) goto L_028BA37C; else goto L_028BA2D8;
L_028BA2D8: ; // 0x28ba2d8
/* 028BA2D8 */ _t9 = cpu->r[28] + 0x00000038u;
/* 028BA2D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028BA2DC */ cpu->r[10] = cpu->r[28] + 0x0000002Cu;
/* 028BA2E0 */ _t10 = cpu->r[28] + 0x00000030u;
/* 028BA2E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
/* 028BA2E4 */ _t11 = cpu->r[28] + 0x00000054u;
/* 028BA2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BA2E8 */ cpu->r[29] = cpu->r[10] - cpu->r[31];
/* 028BA2EC */ cpu->r[30] = cpu->r[9] - cpu->r[31];
/* 028BA2F0 */ cpu->r[7] = cpu->r[0] | cpu->r[8];
/* 028BA2F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BA2F8 */ _t12 = cpu->r[28] + 0x00000054u;
/* 028BA2F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
/* 028BA2FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA2FC */ _t14 = _t13 & 0x00000001u;
/* 028BA2FC */ if (_t14) goto L_028BA32C; else goto L_028BA300;
L_028BA300: ; // 0x28ba300
/* 028BA300 */ _t15 = cpu->r[28] + 0x00000054u;
/* 028BA300 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
/* 028BA304 */ cpu->r[3] = cpu->r[30];
/* 028BA308 */ cpu->r[4] = cpu->r[28] + 0x00000054u;
/* 028BA30C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BA310 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028BA310 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
/* 028BA314 */ Gambit_fn_028B88BC(cpu);
/* 028BA318 */ cpu->r[11] = cpu->r[30] + cpu->r[31];
/* 028BA31C */ _t17 = cpu->r[11] + 0x00000004u;
/* 028BA31C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028BA320 */ cpu->r[30] = cpu->r[12] - cpu->r[31];
/* 028BA324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BA328 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA328 */ _t19 = _t18 & 0x00000001u;
/* 028BA328 */ if (_t19) goto L_028BA32C; else goto L_028BA300;
L_028BA32C: ; // 0x28ba32c
/* 028BA32C */ _t20 = cpu->r[28] + 0x00000048u;
/* 028BA32C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028BA330 */ cpu->r[7] = cpu->r[28] + 0x0000003Cu;
/* 028BA334 */ _t21 = cpu->r[28] + 0x00000040u;
/* 028BA334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028BA338 */ cpu->r[30] = cpu->r[7] - cpu->r[29];
/* 028BA33C */ cpu->r[31] = cpu->r[0] - cpu->r[29];
/* 028BA340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BA344 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA344 */ _t23 = _t22 & 0x00000001u;
/* 028BA344 */ if (_t23) goto L_028BA374; else goto L_028BA348;
L_028BA348: ; // 0x28ba348
/* 028BA348 */ _t24 = cpu->r[28] + 0x00000054u;
/* 028BA348 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028BA34C */ cpu->r[3] = cpu->r[31];
/* 028BA350 */ cpu->r[4] = cpu->r[28] + 0x00000054u;
/* 028BA354 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
/* 028BA358 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028BA358 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
/* 028BA35C */ Gambit_fn_028B88BC(cpu);
/* 028BA360 */ cpu->r[6] = cpu->r[31] + cpu->r[29];
/* 028BA364 */ _t26 = cpu->r[6] + 0x00000004u;
/* 028BA364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028BA368 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
/* 028BA36C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BA370 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA370 */ _t28 = _t27 & 0x00000001u;
/* 028BA370 */ if (_t28) goto L_028BA374; else goto L_028BA348;
L_028BA374: ; // 0x28ba374
/* 028BA374 */ cpu->r[6] = 0x00000000u;
/* 028BA378 */ _t29 = cpu->r[28] + 0x00000058u;
/* 028BA378 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
L_028BA37C: ; // 0x28ba37c
/* 028BA37C */ _t30 = cpu->r[1] + 0x00000010u;
/* 028BA37C */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
/* 028BA380 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028BA380 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
/* 028BA384 */ _t32 = cpu->r[1] + 0x00000024u;
/* 028BA384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028BA388 */ _t33 = cpu->r[1] + 0x00000018u;
/* 028BA388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
/* 028BA38C */ cpu->lr = cpu->r[0];
/* 028BA390 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028BA390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028BA394 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BA398 */ return;
}
// fn_028BA2B0 @ 0x28ba2b0
void Gambit_fn_028BA2B0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028BA2B0: ; // 0x28ba2b0
/* 028BA2B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BA2B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA2B0 */ cpu->r[1] = _t0;
/* 028BA2B4 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028BA2B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BA2B8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BA2B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BA2BC */ _t3 = cpu->r[1] + 0x00000010u;
/* 028BA2BC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028BA2C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BA2C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BA2C4 */ cpu->r[28] = cpu->r[3];
/* 028BA2C8 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028BA2C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BA2CC */ _t6 = cpu->r[28] + 0x00000058u;
/* 028BA2CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028BA2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BA2D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA2D4 */ _t8 = _t7 & 0x00000001u;
/* 028BA2D4 */ if (_t8) goto L_028BA37C; else goto L_028BA2D8;
L_028BA2D8: ; // 0x28ba2d8
/* 028BA2D8 */ _t9 = cpu->r[28] + 0x00000038u;
/* 028BA2D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028BA2DC */ cpu->r[10] = cpu->r[28] + 0x0000002Cu;
/* 028BA2E0 */ _t10 = cpu->r[28] + 0x00000030u;
/* 028BA2E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
/* 028BA2E4 */ _t11 = cpu->r[28] + 0x00000054u;
/* 028BA2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BA2E8 */ cpu->r[29] = cpu->r[10] - cpu->r[31];
/* 028BA2EC */ cpu->r[30] = cpu->r[9] - cpu->r[31];
/* 028BA2F0 */ cpu->r[7] = cpu->r[0] | cpu->r[8];
/* 028BA2F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BA2F8 */ _t12 = cpu->r[28] + 0x00000054u;
/* 028BA2F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
/* 028BA2FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA2FC */ _t14 = _t13 & 0x00000001u;
/* 028BA2FC */ if (_t14) goto L_028BA32C; else goto L_028BA300;
L_028BA300: ; // 0x28ba300
/* 028BA300 */ _t15 = cpu->r[28] + 0x00000054u;
/* 028BA300 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
/* 028BA304 */ cpu->r[3] = cpu->r[30];
/* 028BA308 */ cpu->r[4] = cpu->r[28] + 0x00000054u;
/* 028BA30C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BA310 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028BA310 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
/* 028BA314 */ Gambit_fn_028B88BC(cpu);
/* 028BA318 */ cpu->r[11] = cpu->r[30] + cpu->r[31];
/* 028BA31C */ _t17 = cpu->r[11] + 0x00000004u;
/* 028BA31C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028BA320 */ cpu->r[30] = cpu->r[12] - cpu->r[31];
/* 028BA324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BA328 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA328 */ _t19 = _t18 & 0x00000001u;
/* 028BA328 */ if (_t19) goto L_028BA32C; else goto L_028BA300;
L_028BA32C: ; // 0x28ba32c
/* 028BA32C */ _t20 = cpu->r[28] + 0x00000048u;
/* 028BA32C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028BA330 */ cpu->r[7] = cpu->r[28] + 0x0000003Cu;
/* 028BA334 */ _t21 = cpu->r[28] + 0x00000040u;
/* 028BA334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028BA338 */ cpu->r[30] = cpu->r[7] - cpu->r[29];
/* 028BA33C */ cpu->r[31] = cpu->r[0] - cpu->r[29];
/* 028BA340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BA344 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA344 */ _t23 = _t22 & 0x00000001u;
/* 028BA344 */ if (_t23) goto L_028BA374; else goto L_028BA348;
L_028BA348: ; // 0x28ba348
/* 028BA348 */ _t24 = cpu->r[28] + 0x00000054u;
/* 028BA348 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028BA34C */ cpu->r[3] = cpu->r[31];
/* 028BA350 */ cpu->r[4] = cpu->r[28] + 0x00000054u;
/* 028BA354 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
/* 028BA358 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028BA358 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
/* 028BA35C */ Gambit_fn_028B88BC(cpu);
/* 028BA360 */ cpu->r[6] = cpu->r[31] + cpu->r[29];
/* 028BA364 */ _t26 = cpu->r[6] + 0x00000004u;
/* 028BA364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028BA368 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
/* 028BA36C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BA370 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA370 */ _t28 = _t27 & 0x00000001u;
/* 028BA370 */ if (_t28) goto L_028BA374; else goto L_028BA348;
L_028BA374: ; // 0x28ba374
/* 028BA374 */ cpu->r[6] = 0x00000000u;
/* 028BA378 */ _t29 = cpu->r[28] + 0x00000058u;
/* 028BA378 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
L_028BA37C: ; // 0x28ba37c
/* 028BA37C */ _t30 = cpu->r[1] + 0x00000010u;
/* 028BA37C */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
/* 028BA380 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028BA380 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
/* 028BA384 */ _t32 = cpu->r[1] + 0x00000024u;
/* 028BA384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028BA388 */ _t33 = cpu->r[1] + 0x00000018u;
/* 028BA388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
/* 028BA38C */ cpu->lr = cpu->r[0];
/* 028BA390 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028BA390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028BA394 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BA398 */ return;
}
// fn_028BA39C @ 0x28ba39c
void Gambit_fn_028BA39C(CPUState* cpu) {
L_028BA39C: ; // 0x28ba39c
/* 028BA39C */ return;
}
// fn_028BA3A0 @ 0x28ba3a0
void Gambit_fn_028BA3A0(CPUState* cpu) {
L_028BA3A0: ; // 0x28ba3a0
/* 028BA3A0 */ return;
}
// fn_028BA3A4 @ 0x28ba3a4
void Gambit_fn_028BA3A4(CPUState* 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_028BA3A4: ; // 0x28ba3a4
/* 028BA3A4 */ cpu->r[10] = 0x10140000u;
/* 028BA3A8 */ cpu->r[12] = 0x10140000u;
/* 028BA3AC */ _t0 = cpu->r[10] + 0xFFFF8EB4u;
/* 028BA3AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
/* 028BA3B0 */ cpu->r[11] = 0x00000000u;
/* 028BA3B4 */ _t1 = cpu->r[12] + 0xFFFF8EB0u;
/* 028BA3B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
/* 028BA3B8 */ cpu->r[12] = cpu->r[3] + 0x0000005Cu;
/* 028BA3BC */ _t2 = cpu->r[3] + 0x000000A0u;
/* 028BA3BC */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[11]);
/* 028BA3C0 */ _t3 = cpu->r[3] + 0x00000078u;
/* 028BA3C0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[12]);
/* 028BA3C4 */ _t4 = cpu->r[3] + 0x00000084u;
/* 028BA3C4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
/* 028BA3C8 */ _t5 = cpu->r[3] + 0x0000007Cu;
/* 028BA3C8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
/* 028BA3CC */ _t6 = cpu->r[3] + 0x0000009Cu;
/* 028BA3CC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
/* 028BA3D0 */ _t7 = cpu->r[3] + 0x00000094u;
/* 028BA3D0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
/* 028BA3D4 */ _t8 = cpu->r[3] + 0x00000058u;
/* 028BA3D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028BA3D8 */ _t9 = cpu->r[3] + 0x00000098u;
/* 028BA3D8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
/* 028BA3DC */ _t10 = cpu->r[3] + 0x00000054u;
/* 028BA3DC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
/* 028BA3E0 */ _t11 = cpu->r[3] + 0x00000080u;
/* 028BA3E0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
/* 028BA3E4 */ cpu->r[11] = 0x10140000u;
/* 028BA3E8 */ _t12 = cpu->r[3] + 0x00000088u;
/* 028BA3E8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
/* 028BA3EC */ _t13 = cpu->r[11] + 0xFFFF8EB8u;
/* 028BA3EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
/* 028BA3F0 */ _t14 = cpu->r[3] + 0x0000008Cu;
/* 028BA3F0 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
/* 028BA3F4 */ cpu->r[0] = 0x00000006u;
/* 028BA3F8 */ _t15 = cpu->r[3] + 0x00000090u;
/* 028BA3F8 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
/* 028BA3FC */ cpu->ctr = cpu->r[0];
/* 028BA400 */ _t16 = cpu->r[3] + 0x0000005Cu;
/* 028BA400 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
L_028BA404: ; // 0x28ba404
/* 028BA404 */ _t17 = cpu->r[12] + 0x00000004u;
/* 028BA404 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
/* 028BA404 */ cpu->r[12] = _t17;
/* 028BA408 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BA408 */ _t18 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BA408 */ _t19 = _t18 >> (0x00000002u & 31u);
/* 028BA408 */ _t20 = _t19 & 0x00000001u;
/* 028BA408 */ if (_t20) goto L_028BA404; else goto L_028BA40C;
L_028BA40C: ; // 0x28ba40c
/* 028BA40C */ return;
}
// fn_028BA410 @ 0x28ba410
void Gambit_fn_028BA410(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
L_028BA410: ; // 0x28ba410
/* 028BA410 */ cpu->r[0] = cpu->lr;
/* 028BA414 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BA414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA414 */ cpu->r[1] = _t0;
/* 028BA418 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BA418 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BA41C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BA41C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BA420 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028BA420 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028BA424 */ cpu->r[31] = cpu->r[3];
/* 028BA424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA428 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BA428 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BA42C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA42C */ _t6 = _t5 & 0x00000001u;
/* 028BA42C */ if (_t6) goto L_028BA430; else goto L_028BA440;
L_028BA430: ; // 0x28ba430
/* 028BA430 */ cpu->r[3] = 0x0000010Cu;
/* 028BA434 */ Gambit_fn_02801A78(cpu);
/* 028BA438 */ cpu->r[31] = cpu->r[3];
/* 028BA438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA43C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA43C */ _t8 = _t7 & 0x00000001u;
/* 028BA43C */ if (_t8) goto L_028BA570; else goto L_028BA440;
L_028BA440: ; // 0x28ba440
/* 028BA440 */ cpu->r[12] = 0x10140000u;
/* 028BA444 */ cpu->r[29] = 0x00000000u;
/* 028BA448 */ cpu->r[12] = cpu->r[12] + 0xFFFF8F30u;
/* 028BA44C */ _t9 = cpu->r[31] + 0x00000004u;
/* 028BA44C */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
/* 028BA450 */ cpu->r[30] = cpu->r[31] + 0x00000008u;
/* 028BA450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA454 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028BA454 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028BA458 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA458 */ _t12 = _t11 & 0x00000001u;
/* 028BA458 */ if (_t12) goto L_028BA45C; else goto L_028BA46C;
L_028BA45C: ; // 0x28ba45c
/* 028BA45C */ cpu->r[3] = 0x00000010u;
/* 028BA460 */ Gambit_fn_02801A78(cpu);
/* 028BA464 */ cpu->r[30] = cpu->r[3];
/* 028BA464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA468 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA468 */ _t14 = _t13 & 0x00000001u;
/* 028BA468 */ if (_t14) goto L_028BA498; else goto L_028BA46C;
L_028BA46C: ; // 0x28ba46c
/* 028BA46C */ cpu->r[3] = cpu->r[30];
/* 028BA46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA470 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA470 */ _t16 = _t15 & 0x00000001u;
/* 028BA470 */ if (_t16) goto L_028BA474; else goto L_028BA484;
L_028BA474: ; // 0x28ba474
/* 028BA474 */ cpu->r[3] = 0x0000000Cu;
/* 028BA478 */ Gambit_fn_02801A78(cpu);
/* 028BA47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA480 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA480 */ _t18 = _t17 & 0x00000001u;
/* 028BA480 */ if (_t18) goto L_028BA490; else goto L_028BA484;
L_028BA484: ; // 0x28ba484
/* 028BA484 */ _t19 = cpu->r[3] + 0x00000004u;
/* 028BA484 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
/* 028BA488 */ _t20 = cpu->r[3] + 0x00000008u;
/* 028BA488 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
/* 028BA48C */ _t21 = cpu->r[3] + 0x00000000u;
/* 028BA48C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
L_028BA490: ; // 0x28ba490
/* 028BA490 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BA494 */ _t22 = cpu->r[30] + 0x0000000Cu;
/* 028BA494 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
L_028BA498: ; // 0x28ba498
/* 028BA498 */ _t23 = cpu->r[31] + 0x00000018u;
/* 028BA498 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
/* 028BA49C */ cpu->r[9] = 0x00000001u;
/* 028BA4A0 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
/* 028BA4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA4A4 */ _t24 = cpu->r[31] + 0x0000001Cu;
/* 028BA4A4 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
/* 028BA4A8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4A8 */ _t26 = _t25 & 0x00000001u;
/* 028BA4A8 */ if (_t26) goto L_028BA4AC; else goto L_028BA4BC;
L_028BA4AC: ; // 0x28ba4ac
/* 028BA4AC */ cpu->r[3] = 0x0000000Cu;
/* 028BA4B0 */ Gambit_fn_02801A78(cpu);
/* 028BA4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA4B8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4B8 */ _t28 = _t27 & 0x00000001u;
/* 028BA4B8 */ if (_t28) goto L_028BA4E0; else goto L_028BA4BC;
L_028BA4BC: ; // 0x28ba4bc
/* 028BA4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA4C0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4C0 */ _t30 = _t29 & 0x00000001u;
/* 028BA4C0 */ if (_t30) goto L_028BA4C4; else goto L_028BA4D4;
L_028BA4C4: ; // 0x28ba4c4
/* 028BA4C4 */ cpu->r[3] = 0x0000000Cu;
/* 028BA4C8 */ Gambit_fn_02801A78(cpu);
/* 028BA4CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA4D0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4D0 */ _t32 = _t31 & 0x00000001u;
/* 028BA4D0 */ if (_t32) goto L_028BA4E0; else goto L_028BA4D4;
L_028BA4D4: ; // 0x28ba4d4
/* 028BA4D4 */ _t33 = cpu->r[3] + 0x00000004u;
/* 028BA4D4 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
/* 028BA4D8 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028BA4D8 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
/* 028BA4DC */ _t35 = cpu->r[3] + 0x00000008u;
/* 028BA4DC */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
L_028BA4E0: ; // 0x28ba4e0
/* 028BA4E0 */ cpu->r[30] = cpu->r[31] + 0x00000030u;
/* 028BA4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA4E4 */ _t36 = cpu->r[31] + 0x0000002Cu;
/* 028BA4E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
/* 028BA4E8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4E8 */ _t38 = _t37 & 0x00000001u;
/* 028BA4E8 */ if (_t38) goto L_028BA4EC; else goto L_028BA4FC;
L_028BA4EC: ; // 0x28ba4ec
/* 028BA4EC */ cpu->r[3] = 0x00000010u;
/* 028BA4F0 */ Gambit_fn_02801A78(cpu);
/* 028BA4F4 */ cpu->r[30] = cpu->r[3];
/* 028BA4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA4F8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4F8 */ _t40 = _t39 & 0x00000001u;
/* 028BA4F8 */ if (_t40) goto L_028BA528; else goto L_028BA4FC;
L_028BA4FC: ; // 0x28ba4fc
/* 028BA4FC */ cpu->r[3] = cpu->r[30];
/* 028BA4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA500 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA500 */ _t42 = _t41 & 0x00000001u;
/* 028BA500 */ if (_t42) goto L_028BA504; else goto L_028BA514;
L_028BA504: ; // 0x28ba504
/* 028BA504 */ cpu->r[3] = 0x0000000Cu;
/* 028BA508 */ Gambit_fn_02801A78(cpu);
/* 028BA50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA510 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA510 */ _t44 = _t43 & 0x00000001u;
/* 028BA510 */ if (_t44) goto L_028BA520; else goto L_028BA514;
L_028BA514: ; // 0x28ba514
/* 028BA514 */ _t45 = cpu->r[3] + 0x00000004u;
/* 028BA514 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
/* 028BA518 */ _t46 = cpu->r[3] + 0x00000008u;
/* 028BA518 */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
/* 028BA51C */ _t47 = cpu->r[3] + 0x00000000u;
/* 028BA51C */ rbrew_write32(cpu->mem, _t47, cpu->r[3]);
L_028BA520: ; // 0x28ba520
/* 028BA520 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BA524 */ _t48 = cpu->r[30] + 0x0000000Cu;
/* 028BA524 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
L_028BA528: ; // 0x28ba528
/* 028BA528 */ _t49 = cpu->r[31] + 0x00000040u;
/* 028BA528 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
/* 028BA52C */ cpu->r[3] = cpu->r[31] + 0x00000048u;
/* 028BA530 */ _t50 = cpu->r[31] + 0x00000044u;
/* 028BA530 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
/* 028BA534 */ Gambit_fn_02836EBC(cpu);
/* 028BA538 */ cpu->r[3] = cpu->r[31] + 0x00000084u;
/* 028BA53C */ Gambit_fn_02836EBC(cpu);
/* 028BA540 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
/* 028BA544 */ Gambit_fn_02836EBC(cpu);
/* 028BA548 */ cpu->r[11] = 0x10140000u;
/* 028BA54C */ cpu->r[12] = 0x00000000u;
/* 028BA550 */ _t51 = cpu->r[11] + 0xFFFF8F40u;
/* 028BA550 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
/* 028BA554 */ cpu->r[0] = cpu->r[31] + 0x000000FCu;
L_028BA558: ; // 0x28ba558
/* 028BA558 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BA55C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028BA560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
/* 028BA564 */ _t52 = cpu->r[11] + cpu->r[0];
/* 028BA564 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028BA568 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BA568 */ _t54 = _t53 & 0x00000001u;
/* 028BA568 */ if (_t54) goto L_028BA570; else goto L_028BA56C;
L_028BA56C: ; // 0x28ba56c
/* 028BA56C */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA56C */ _t56 = _t55 & 0x00000001u;
/* 028BA56C */ if (_t56) goto L_028BA558; else goto L_028BA570;
L_028BA570: ; // 0x28ba570
/* 028BA570 */ _t57 = cpu->r[1] + 0x0000000Cu;
/* 028BA570 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
/* 028BA574 */ _t58 = cpu->r[1] + 0x0000001Cu;
/* 028BA574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028BA578 */ cpu->r[3] = cpu->r[31];
/* 028BA57C */ _t59 = cpu->r[1] + 0x00000010u;
/* 028BA57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
/* 028BA580 */ cpu->lr = cpu->r[0];
/* 028BA584 */ _t60 = cpu->r[1] + 0x00000014u;
/* 028BA584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
/* 028BA588 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BA58C */ return;
}
// fn_028BA414 @ 0x28ba414
void Gambit_fn_028BA414(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
L_028BA414: ; // 0x28ba414
/* 028BA414 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BA414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA414 */ cpu->r[1] = _t0;
/* 028BA418 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BA418 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BA41C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BA41C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BA420 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028BA420 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028BA424 */ cpu->r[31] = cpu->r[3];
/* 028BA424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA428 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BA428 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BA42C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA42C */ _t6 = _t5 & 0x00000001u;
/* 028BA42C */ if (_t6) goto L_028BA430; else goto L_028BA440;
L_028BA430: ; // 0x28ba430
/* 028BA430 */ cpu->r[3] = 0x0000010Cu;
/* 028BA434 */ Gambit_fn_02801A78(cpu);
/* 028BA438 */ cpu->r[31] = cpu->r[3];
/* 028BA438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA43C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA43C */ _t8 = _t7 & 0x00000001u;
/* 028BA43C */ if (_t8) goto L_028BA570; else goto L_028BA440;
L_028BA440: ; // 0x28ba440
/* 028BA440 */ cpu->r[12] = 0x10140000u;
/* 028BA444 */ cpu->r[29] = 0x00000000u;
/* 028BA448 */ cpu->r[12] = cpu->r[12] + 0xFFFF8F30u;
/* 028BA44C */ _t9 = cpu->r[31] + 0x00000004u;
/* 028BA44C */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
/* 028BA450 */ cpu->r[30] = cpu->r[31] + 0x00000008u;
/* 028BA450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA454 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028BA454 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028BA458 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA458 */ _t12 = _t11 & 0x00000001u;
/* 028BA458 */ if (_t12) goto L_028BA45C; else goto L_028BA46C;
L_028BA45C: ; // 0x28ba45c
/* 028BA45C */ cpu->r[3] = 0x00000010u;
/* 028BA460 */ Gambit_fn_02801A78(cpu);
/* 028BA464 */ cpu->r[30] = cpu->r[3];
/* 028BA464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA468 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA468 */ _t14 = _t13 & 0x00000001u;
/* 028BA468 */ if (_t14) goto L_028BA498; else goto L_028BA46C;
L_028BA46C: ; // 0x28ba46c
/* 028BA46C */ cpu->r[3] = cpu->r[30];
/* 028BA46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA470 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA470 */ _t16 = _t15 & 0x00000001u;
/* 028BA470 */ if (_t16) goto L_028BA474; else goto L_028BA484;
L_028BA474: ; // 0x28ba474
/* 028BA474 */ cpu->r[3] = 0x0000000Cu;
/* 028BA478 */ Gambit_fn_02801A78(cpu);
/* 028BA47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA480 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA480 */ _t18 = _t17 & 0x00000001u;
/* 028BA480 */ if (_t18) goto L_028BA490; else goto L_028BA484;
L_028BA484: ; // 0x28ba484
/* 028BA484 */ _t19 = cpu->r[3] + 0x00000004u;
/* 028BA484 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
/* 028BA488 */ _t20 = cpu->r[3] + 0x00000008u;
/* 028BA488 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
/* 028BA48C */ _t21 = cpu->r[3] + 0x00000000u;
/* 028BA48C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
L_028BA490: ; // 0x28ba490
/* 028BA490 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BA494 */ _t22 = cpu->r[30] + 0x0000000Cu;
/* 028BA494 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
L_028BA498: ; // 0x28ba498
/* 028BA498 */ _t23 = cpu->r[31] + 0x00000018u;
/* 028BA498 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
/* 028BA49C */ cpu->r[9] = 0x00000001u;
/* 028BA4A0 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
/* 028BA4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA4A4 */ _t24 = cpu->r[31] + 0x0000001Cu;
/* 028BA4A4 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
/* 028BA4A8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4A8 */ _t26 = _t25 & 0x00000001u;
/* 028BA4A8 */ if (_t26) goto L_028BA4AC; else goto L_028BA4BC;
L_028BA4AC: ; // 0x28ba4ac
/* 028BA4AC */ cpu->r[3] = 0x0000000Cu;
/* 028BA4B0 */ Gambit_fn_02801A78(cpu);
/* 028BA4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA4B8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4B8 */ _t28 = _t27 & 0x00000001u;
/* 028BA4B8 */ if (_t28) goto L_028BA4E0; else goto L_028BA4BC;
L_028BA4BC: ; // 0x28ba4bc
/* 028BA4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA4C0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4C0 */ _t30 = _t29 & 0x00000001u;
/* 028BA4C0 */ if (_t30) goto L_028BA4C4; else goto L_028BA4D4;
L_028BA4C4: ; // 0x28ba4c4
/* 028BA4C4 */ cpu->r[3] = 0x0000000Cu;
/* 028BA4C8 */ Gambit_fn_02801A78(cpu);
/* 028BA4CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA4D0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4D0 */ _t32 = _t31 & 0x00000001u;
/* 028BA4D0 */ if (_t32) goto L_028BA4E0; else goto L_028BA4D4;
L_028BA4D4: ; // 0x28ba4d4
/* 028BA4D4 */ _t33 = cpu->r[3] + 0x00000004u;
/* 028BA4D4 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
/* 028BA4D8 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028BA4D8 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
/* 028BA4DC */ _t35 = cpu->r[3] + 0x00000008u;
/* 028BA4DC */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
L_028BA4E0: ; // 0x28ba4e0
/* 028BA4E0 */ cpu->r[30] = cpu->r[31] + 0x00000030u;
/* 028BA4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA4E4 */ _t36 = cpu->r[31] + 0x0000002Cu;
/* 028BA4E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
/* 028BA4E8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4E8 */ _t38 = _t37 & 0x00000001u;
/* 028BA4E8 */ if (_t38) goto L_028BA4EC; else goto L_028BA4FC;
L_028BA4EC: ; // 0x28ba4ec
/* 028BA4EC */ cpu->r[3] = 0x00000010u;
/* 028BA4F0 */ Gambit_fn_02801A78(cpu);
/* 028BA4F4 */ cpu->r[30] = cpu->r[3];
/* 028BA4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA4F8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA4F8 */ _t40 = _t39 & 0x00000001u;
/* 028BA4F8 */ if (_t40) goto L_028BA528; else goto L_028BA4FC;
L_028BA4FC: ; // 0x28ba4fc
/* 028BA4FC */ cpu->r[3] = cpu->r[30];
/* 028BA4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA500 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA500 */ _t42 = _t41 & 0x00000001u;
/* 028BA500 */ if (_t42) goto L_028BA504; else goto L_028BA514;
L_028BA504: ; // 0x28ba504
/* 028BA504 */ cpu->r[3] = 0x0000000Cu;
/* 028BA508 */ Gambit_fn_02801A78(cpu);
/* 028BA50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA510 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA510 */ _t44 = _t43 & 0x00000001u;
/* 028BA510 */ if (_t44) goto L_028BA520; else goto L_028BA514;
L_028BA514: ; // 0x28ba514
/* 028BA514 */ _t45 = cpu->r[3] + 0x00000004u;
/* 028BA514 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
/* 028BA518 */ _t46 = cpu->r[3] + 0x00000008u;
/* 028BA518 */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
/* 028BA51C */ _t47 = cpu->r[3] + 0x00000000u;
/* 028BA51C */ rbrew_write32(cpu->mem, _t47, cpu->r[3]);
L_028BA520: ; // 0x28ba520
/* 028BA520 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BA524 */ _t48 = cpu->r[30] + 0x0000000Cu;
/* 028BA524 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
L_028BA528: ; // 0x28ba528
/* 028BA528 */ _t49 = cpu->r[31] + 0x00000040u;
/* 028BA528 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
/* 028BA52C */ cpu->r[3] = cpu->r[31] + 0x00000048u;
/* 028BA530 */ _t50 = cpu->r[31] + 0x00000044u;
/* 028BA530 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
/* 028BA534 */ Gambit_fn_02836EBC(cpu);
/* 028BA538 */ cpu->r[3] = cpu->r[31] + 0x00000084u;
/* 028BA53C */ Gambit_fn_02836EBC(cpu);
/* 028BA540 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
/* 028BA544 */ Gambit_fn_02836EBC(cpu);
/* 028BA548 */ cpu->r[11] = 0x10140000u;
/* 028BA54C */ cpu->r[12] = 0x00000000u;
/* 028BA550 */ _t51 = cpu->r[11] + 0xFFFF8F40u;
/* 028BA550 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
/* 028BA554 */ cpu->r[0] = cpu->r[31] + 0x000000FCu;
L_028BA558: ; // 0x28ba558
/* 028BA558 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BA55C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028BA560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
/* 028BA564 */ _t52 = cpu->r[11] + cpu->r[0];
/* 028BA564 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028BA568 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BA568 */ _t54 = _t53 & 0x00000001u;
/* 028BA568 */ if (_t54) goto L_028BA570; else goto L_028BA56C;
L_028BA56C: ; // 0x28ba56c
/* 028BA56C */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA56C */ _t56 = _t55 & 0x00000001u;
/* 028BA56C */ if (_t56) goto L_028BA558; else goto L_028BA570;
L_028BA570: ; // 0x28ba570
/* 028BA570 */ _t57 = cpu->r[1] + 0x0000000Cu;
/* 028BA570 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
/* 028BA574 */ _t58 = cpu->r[1] + 0x0000001Cu;
/* 028BA574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028BA578 */ cpu->r[3] = cpu->r[31];
/* 028BA57C */ _t59 = cpu->r[1] + 0x00000010u;
/* 028BA57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
/* 028BA580 */ cpu->lr = cpu->r[0];
/* 028BA584 */ _t60 = cpu->r[1] + 0x00000014u;
/* 028BA584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
/* 028BA588 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BA58C */ return;
}
// fn_028BA590 @ 0x28ba590
void Gambit_fn_028BA590(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_028BA590: ; // 0x28ba590
/* 028BA590 */ cpu->r[0] = cpu->lr;
/* 028BA594 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BA594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA594 */ cpu->r[1] = _t0;
/* 028BA598 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BA598 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028BA59C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BA59C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BA5A0 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BA5A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028BA5A4 */ cpu->r[31] = cpu->r[3];
/* 028BA5A8 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028BA5A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028BA5AC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
/* 028BA5B0 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BA5B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BA5B4 */ Gambit_fn_0280236C(cpu);
/* 028BA5B8 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
/* 028BA5BC */ Gambit_fn_0280236C(cpu);
/* 028BA5C0 */ _t6 = cpu->r[31] + 0x00000028u;
/* 028BA5C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BA5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA5C8 */ cpu->r[30] = 0x00000000u;
/* 028BA5CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA5CC */ _t8 = _t7 & 0x00000001u;
/* 028BA5CC */ if (_t8) goto L_028BA64C; else goto L_028BA5D0;
L_028BA5D0: ; // 0x28ba5d0
/* 028BA5D0 */ _t9 = cpu->r[31] + 0x00000020u;
/* 028BA5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BA5D4 */ cpu->r[29] = 0x00000000u;
/* 028BA5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028BA5DC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA5DC */ _t11 = _t10 & 0x00000001u;
/* 028BA5DC */ if (_t11) goto L_028BA5E0; else goto L_028BA644;
L_028BA5E0: ; // 0x28ba5e0
/* 028BA5E0 */ cpu->r[28] = 0x00000000u;
L_028BA5E4: ; // 0x28ba5e4
/* 028BA5E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
/* 028BA5E8 */ cpu->r[3] = 0x00000000u;
/* 028BA5EC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA5EC */ _t13 = _t12 & 0x00000001u;
/* 028BA5EC */ if (_t13) goto L_028BA5F0; else goto L_028BA5F8;
L_028BA5F0: ; // 0x28ba5f0
/* 028BA5F0 */ _t14 = cpu->r[31] + 0x00000028u;
/* 028BA5F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028BA5F4 */ _t15 = cpu->r[12] + cpu->r[28];
/* 028BA5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
L_028BA5F8: ; // 0x28ba5f8
/* 028BA5F8 */ Gambit_fn_028BDFC8(cpu);
/* 028BA5FC */ _t16 = cpu->r[31] + 0x00000020u;
/* 028BA5FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BA600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
/* 028BA604 */ cpu->r[3] = 0x00000000u;
/* 028BA608 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA608 */ _t18 = _t17 & 0x00000001u;
/* 028BA608 */ if (_t18) goto L_028BA60C; else goto L_028BA614;
L_028BA60C: ; // 0x28ba60c
/* 028BA60C */ _t19 = cpu->r[31] + 0x00000028u;
/* 028BA60C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028BA610 */ _t20 = cpu->r[11] + cpu->r[28];
/* 028BA610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
L_028BA614: ; // 0x28ba614
/* 028BA614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA618 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA618 */ _t22 = _t21 & 0x00000001u;
/* 028BA618 */ if (_t22) goto L_028BA634; else goto L_028BA61C;
L_028BA61C: ; // 0x28ba61c
/* 028BA61C */ _t23 = cpu->r[3] + 0x000001DCu;
/* 028BA61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028BA620 */ _t24 = cpu->r[12] + 0x0000000Cu;
/* 028BA620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028BA624 */ cpu->ctr = cpu->r[0];
/* 028BA628 */ cpu->r[4] = 0x00000003u;
/* 028BA62C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BA630 */ _t25 = cpu->r[31] + 0x00000020u;
/* 028BA630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
L_028BA634: ; // 0x28ba634
/* 028BA634 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028BA638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028BA63C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
/* 028BA640 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA640 */ _t27 = _t26 & 0x00000001u;
/* 028BA640 */ if (_t27) goto L_028BA5E4; else goto L_028BA644;
L_028BA644: ; // 0x28ba644
/* 028BA644 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
/* 028BA648 */ Gambit_fn_02802424(cpu);
L_028BA64C: ; // 0x28ba64c
/* 028BA64C */ _t28 = cpu->r[31] + 0x00000040u;
/* 028BA64C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028BA650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA654 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA654 */ _t30 = _t29 & 0x00000001u;
/* 028BA654 */ if (_t30) goto L_028BA680; else goto L_028BA658;
L_028BA658: ; // 0x28ba658
/* 028BA658 */ Gambit_fn_028E0310(cpu);
/* 028BA65C */ _t31 = cpu->r[31] + 0x00000040u;
/* 028BA65C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
/* 028BA660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA664 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA664 */ _t33 = _t32 & 0x00000001u;
/* 028BA664 */ if (_t33) goto L_028BA67C; else goto L_028BA668;
L_028BA668: ; // 0x28ba668
/* 028BA668 */ _t34 = cpu->r[3] + 0x00000050u;
/* 028BA668 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
/* 028BA66C */ _t35 = cpu->r[6] + 0x0000000Cu;
/* 028BA66C */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
/* 028BA670 */ cpu->ctr = cpu->r[7];
/* 028BA674 */ cpu->r[4] = 0x00000003u;
/* 028BA678 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BA67C: ; // 0x28ba67c
/* 028BA67C */ _t36 = cpu->r[31] + 0x00000040u;
/* 028BA67C */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
L_028BA680: ; // 0x28ba680
/* 028BA680 */ _t37 = cpu->r[31] + 0x00000044u;
/* 028BA680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028BA684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA688 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA688 */ _t39 = _t38 & 0x00000001u;
/* 028BA688 */ if (_t39) goto L_028BA6B4; else goto L_028BA68C;
L_028BA68C: ; // 0x28ba68c
/* 028BA68C */ Gambit_fn_028E0EEC(cpu);
/* 028BA690 */ _t40 = cpu->r[31] + 0x00000044u;
/* 028BA690 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
/* 028BA694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA698 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA698 */ _t42 = _t41 & 0x00000001u;
/* 028BA698 */ if (_t42) goto L_028BA6B0; else goto L_028BA69C;
L_028BA69C: ; // 0x28ba69c
/* 028BA69C */ _t43 = cpu->r[3] + 0x0000004Cu;
/* 028BA69C */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
/* 028BA6A0 */ _t44 = cpu->r[9] + 0x0000000Cu;
/* 028BA6A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028BA6A4 */ cpu->ctr = cpu->r[0];
/* 028BA6A8 */ cpu->r[4] = 0x00000003u;
/* 028BA6AC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BA6B0: ; // 0x28ba6b0
/* 028BA6B0 */ _t45 = cpu->r[31] + 0x00000044u;
/* 028BA6B0 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]);
L_028BA6B4: ; // 0x28ba6b4
/* 028BA6B4 */ _t46 = cpu->r[1] + 0x00000008u;
/* 028BA6B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
/* 028BA6B8 */ _t47 = cpu->r[1] + 0x0000000Cu;
/* 028BA6B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
/* 028BA6BC */ _t48 = cpu->r[1] + 0x0000001Cu;
/* 028BA6BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028BA6C0 */ _t49 = cpu->r[1] + 0x00000010u;
/* 028BA6C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
/* 028BA6C4 */ cpu->lr = cpu->r[0];
/* 028BA6C8 */ _t50 = cpu->r[1] + 0x00000014u;
/* 028BA6C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
/* 028BA6CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BA6D0 */ return;
}
// fn_028BA594 @ 0x28ba594
void Gambit_fn_028BA594(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_028BA594: ; // 0x28ba594
/* 028BA594 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BA594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA594 */ cpu->r[1] = _t0;
/* 028BA598 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BA598 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028BA59C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BA59C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BA5A0 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BA5A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028BA5A4 */ cpu->r[31] = cpu->r[3];
/* 028BA5A8 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028BA5A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028BA5AC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
/* 028BA5B0 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BA5B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BA5B4 */ Gambit_fn_0280236C(cpu);
/* 028BA5B8 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
/* 028BA5BC */ Gambit_fn_0280236C(cpu);
/* 028BA5C0 */ _t6 = cpu->r[31] + 0x00000028u;
/* 028BA5C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BA5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA5C8 */ cpu->r[30] = 0x00000000u;
/* 028BA5CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA5CC */ _t8 = _t7 & 0x00000001u;
/* 028BA5CC */ if (_t8) goto L_028BA64C; else goto L_028BA5D0;
L_028BA5D0: ; // 0x28ba5d0
/* 028BA5D0 */ _t9 = cpu->r[31] + 0x00000020u;
/* 028BA5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BA5D4 */ cpu->r[29] = 0x00000000u;
/* 028BA5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028BA5DC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA5DC */ _t11 = _t10 & 0x00000001u;
/* 028BA5DC */ if (_t11) goto L_028BA5E0; else goto L_028BA644;
L_028BA5E0: ; // 0x28ba5e0
/* 028BA5E0 */ cpu->r[28] = 0x00000000u;
L_028BA5E4: ; // 0x28ba5e4
/* 028BA5E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
/* 028BA5E8 */ cpu->r[3] = 0x00000000u;
/* 028BA5EC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA5EC */ _t13 = _t12 & 0x00000001u;
/* 028BA5EC */ if (_t13) goto L_028BA5F0; else goto L_028BA5F8;
L_028BA5F0: ; // 0x28ba5f0
/* 028BA5F0 */ _t14 = cpu->r[31] + 0x00000028u;
/* 028BA5F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028BA5F4 */ _t15 = cpu->r[12] + cpu->r[28];
/* 028BA5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
L_028BA5F8: ; // 0x28ba5f8
/* 028BA5F8 */ Gambit_fn_028BDFC8(cpu);
/* 028BA5FC */ _t16 = cpu->r[31] + 0x00000020u;
/* 028BA5FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BA600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
/* 028BA604 */ cpu->r[3] = 0x00000000u;
/* 028BA608 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA608 */ _t18 = _t17 & 0x00000001u;
/* 028BA608 */ if (_t18) goto L_028BA60C; else goto L_028BA614;
L_028BA60C: ; // 0x28ba60c
/* 028BA60C */ _t19 = cpu->r[31] + 0x00000028u;
/* 028BA60C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028BA610 */ _t20 = cpu->r[11] + cpu->r[28];
/* 028BA610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
L_028BA614: ; // 0x28ba614
/* 028BA614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA618 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA618 */ _t22 = _t21 & 0x00000001u;
/* 028BA618 */ if (_t22) goto L_028BA634; else goto L_028BA61C;
L_028BA61C: ; // 0x28ba61c
/* 028BA61C */ _t23 = cpu->r[3] + 0x000001DCu;
/* 028BA61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028BA620 */ _t24 = cpu->r[12] + 0x0000000Cu;
/* 028BA620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028BA624 */ cpu->ctr = cpu->r[0];
/* 028BA628 */ cpu->r[4] = 0x00000003u;
/* 028BA62C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BA630 */ _t25 = cpu->r[31] + 0x00000020u;
/* 028BA630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
L_028BA634: ; // 0x28ba634
/* 028BA634 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028BA638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028BA63C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
/* 028BA640 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA640 */ _t27 = _t26 & 0x00000001u;
/* 028BA640 */ if (_t27) goto L_028BA5E4; else goto L_028BA644;
L_028BA644: ; // 0x28ba644
/* 028BA644 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
/* 028BA648 */ Gambit_fn_02802424(cpu);
L_028BA64C: ; // 0x28ba64c
/* 028BA64C */ _t28 = cpu->r[31] + 0x00000040u;
/* 028BA64C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028BA650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA654 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA654 */ _t30 = _t29 & 0x00000001u;
/* 028BA654 */ if (_t30) goto L_028BA680; else goto L_028BA658;
L_028BA658: ; // 0x28ba658
/* 028BA658 */ Gambit_fn_028E0310(cpu);
/* 028BA65C */ _t31 = cpu->r[31] + 0x00000040u;
/* 028BA65C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
/* 028BA660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA664 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA664 */ _t33 = _t32 & 0x00000001u;
/* 028BA664 */ if (_t33) goto L_028BA67C; else goto L_028BA668;
L_028BA668: ; // 0x28ba668
/* 028BA668 */ _t34 = cpu->r[3] + 0x00000050u;
/* 028BA668 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
/* 028BA66C */ _t35 = cpu->r[6] + 0x0000000Cu;
/* 028BA66C */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
/* 028BA670 */ cpu->ctr = cpu->r[7];
/* 028BA674 */ cpu->r[4] = 0x00000003u;
/* 028BA678 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BA67C: ; // 0x28ba67c
/* 028BA67C */ _t36 = cpu->r[31] + 0x00000040u;
/* 028BA67C */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
L_028BA680: ; // 0x28ba680
/* 028BA680 */ _t37 = cpu->r[31] + 0x00000044u;
/* 028BA680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028BA684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA688 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA688 */ _t39 = _t38 & 0x00000001u;
/* 028BA688 */ if (_t39) goto L_028BA6B4; else goto L_028BA68C;
L_028BA68C: ; // 0x28ba68c
/* 028BA68C */ Gambit_fn_028E0EEC(cpu);
/* 028BA690 */ _t40 = cpu->r[31] + 0x00000044u;
/* 028BA690 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
/* 028BA694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA698 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA698 */ _t42 = _t41 & 0x00000001u;
/* 028BA698 */ if (_t42) goto L_028BA6B0; else goto L_028BA69C;
L_028BA69C: ; // 0x28ba69c
/* 028BA69C */ _t43 = cpu->r[3] + 0x0000004Cu;
/* 028BA69C */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
/* 028BA6A0 */ _t44 = cpu->r[9] + 0x0000000Cu;
/* 028BA6A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028BA6A4 */ cpu->ctr = cpu->r[0];
/* 028BA6A8 */ cpu->r[4] = 0x00000003u;
/* 028BA6AC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BA6B0: ; // 0x28ba6b0
/* 028BA6B0 */ _t45 = cpu->r[31] + 0x00000044u;
/* 028BA6B0 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]);
L_028BA6B4: ; // 0x28ba6b4
/* 028BA6B4 */ _t46 = cpu->r[1] + 0x00000008u;
/* 028BA6B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
/* 028BA6B8 */ _t47 = cpu->r[1] + 0x0000000Cu;
/* 028BA6B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
/* 028BA6BC */ _t48 = cpu->r[1] + 0x0000001Cu;
/* 028BA6BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028BA6C0 */ _t49 = cpu->r[1] + 0x00000010u;
/* 028BA6C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
/* 028BA6C4 */ cpu->lr = cpu->r[0];
/* 028BA6C8 */ _t50 = cpu->r[1] + 0x00000014u;
/* 028BA6C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
/* 028BA6CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BA6D0 */ return;
}
// fn_028BA6D4 @ 0x28ba6d4
void Gambit_fn_028BA6D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BA6D4: ; // 0x28ba6d4
/* 028BA6D4 */ cpu->r[0] = cpu->lr;
/* 028BA6D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BA6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA6D8 */ cpu->r[1] = _t0;
/* 028BA6DC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BA6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BA6E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BA6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BA6E4 */ cpu->r[31] = cpu->r[3];
/* 028BA6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA6E8 */ cpu->r[30] = cpu->r[4];
/* 028BA6EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BA6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BA6F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA6F0 */ _t5 = _t4 & 0x00000001u;
/* 028BA6F0 */ if (_t5) goto L_028BA73C; else goto L_028BA6F4;
L_028BA6F4: ; // 0x28ba6f4
/* 028BA6F4 */ cpu->r[0] = 0x10140000u;
/* 028BA6F8 */ cpu->r[0] = cpu->r[0] + 0xFFFF8F30u;
/* 028BA6FC */ cpu->r[3] = cpu->r[31];
/* 028BA700 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028BA700 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BA704 */ Gambit_fn_028BA590(cpu);
/* 028BA708 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
/* 028BA70C */ cpu->r[4] = 0x00000002u;
/* 028BA710 */ Gambit_fn_02836FA8(cpu);
/* 028BA714 */ cpu->r[3] = cpu->r[31] + 0x00000084u;
/* 028BA718 */ cpu->r[4] = 0x00000002u;
/* 028BA71C */ Gambit_fn_02836FA8(cpu);
/* 028BA720 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
/* 028BA724 */ cpu->r[4] = 0x00000002u;
/* 028BA728 */ Gambit_fn_02836FA8(cpu);
/* 028BA72C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BA72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA730 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA730 */ _t8 = _t7 & 0x00000001u;
/* 028BA730 */ if (_t8) goto L_028BA73C; else goto L_028BA734;
L_028BA734: ; // 0x28ba734
/* 028BA734 */ cpu->r[3] = cpu->r[31];
/* 028BA738 */ Gambit_fn_02801BB0(cpu);
L_028BA73C: ; // 0x28ba73c
/* 028BA73C */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BA73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BA740 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BA740 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BA744 */ cpu->lr = cpu->r[0];
/* 028BA748 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BA748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BA74C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BA750 */ return;
}
// fn_028BA6D8 @ 0x28ba6d8
void Gambit_fn_028BA6D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BA6D8: ; // 0x28ba6d8
/* 028BA6D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BA6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA6D8 */ cpu->r[1] = _t0;
/* 028BA6DC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BA6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BA6E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BA6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BA6E4 */ cpu->r[31] = cpu->r[3];
/* 028BA6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA6E8 */ cpu->r[30] = cpu->r[4];
/* 028BA6EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BA6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BA6F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA6F0 */ _t5 = _t4 & 0x00000001u;
/* 028BA6F0 */ if (_t5) goto L_028BA73C; else goto L_028BA6F4;
L_028BA6F4: ; // 0x28ba6f4
/* 028BA6F4 */ cpu->r[0] = 0x10140000u;
/* 028BA6F8 */ cpu->r[0] = cpu->r[0] + 0xFFFF8F30u;
/* 028BA6FC */ cpu->r[3] = cpu->r[31];
/* 028BA700 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028BA700 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BA704 */ Gambit_fn_028BA590(cpu);
/* 028BA708 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
/* 028BA70C */ cpu->r[4] = 0x00000002u;
/* 028BA710 */ Gambit_fn_02836FA8(cpu);
/* 028BA714 */ cpu->r[3] = cpu->r[31] + 0x00000084u;
/* 028BA718 */ cpu->r[4] = 0x00000002u;
/* 028BA71C */ Gambit_fn_02836FA8(cpu);
/* 028BA720 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
/* 028BA724 */ cpu->r[4] = 0x00000002u;
/* 028BA728 */ Gambit_fn_02836FA8(cpu);
/* 028BA72C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BA72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA730 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA730 */ _t8 = _t7 & 0x00000001u;
/* 028BA730 */ if (_t8) goto L_028BA73C; else goto L_028BA734;
L_028BA734: ; // 0x28ba734
/* 028BA734 */ cpu->r[3] = cpu->r[31];
/* 028BA738 */ Gambit_fn_02801BB0(cpu);
L_028BA73C: ; // 0x28ba73c
/* 028BA73C */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BA73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BA740 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BA740 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BA744 */ cpu->lr = cpu->r[0];
/* 028BA748 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BA748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BA74C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BA750 */ return;
}
// fn_028BA754 @ 0x28ba754
void Gambit_fn_028BA754(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_028BA754: ; // 0x28ba754
/* 028BA754 */ cpu->r[0] = cpu->lr;
/* 028BA758 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BA758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA758 */ cpu->r[1] = _t0;
/* 028BA75C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BA75C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BA760 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BA760 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BA764 */ cpu->r[30] = cpu->r[4];
/* 028BA764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA768 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BA768 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BA76C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BA76C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BA770 */ cpu->r[29] = cpu->r[5];
/* 028BA774 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA774 */ _t6 = _t5 & 0x00000001u;
/* 028BA774 */ if (_t6) goto L_028BA778; else goto L_028BA77C;
L_028BA778: ; // 0x28ba778
/* 028BA778 */ _t7 = cpu->r[3] + 0x00000018u;
/* 028BA778 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
L_028BA77C: ; // 0x28ba77c
/* 028BA77C */ cpu->r[5] = 0x10140000u;
/* 028BA780 */ cpu->r[3] = 0x000001A0u;
/* 028BA784 */ cpu->r[4] = cpu->r[30];
/* 028BA788 */ cpu->r[5] = cpu->r[5] + 0xFFFF8EF4u;
/* 028BA78C */ Gambit_fn_02801AF0(cpu);
/* 028BA790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA794 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA794 */ _t9 = _t8 & 0x00000001u;
/* 028BA794 */ if (_t9) goto L_028BA7D4; else goto L_028BA798;
L_028BA798: ; // 0x28ba798
/* 028BA798 */ Gambit_fn_028BB630(cpu);
/* 028BA79C */ cpu->r[31] = cpu->r[3];
/* 028BA79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA7A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA7A0 */ _t11 = _t10 & 0x00000001u;
/* 028BA7A0 */ if (_t11) goto L_028BA7D4; else goto L_028BA7A4;
L_028BA7A4: ; // 0x28ba7a4
/* 028BA7A4 */ cpu->r[5] = cpu->r[30];
/* 028BA7A8 */ cpu->r[4] = cpu->r[29];
/* 028BA7AC */ cpu->r[3] = cpu->r[31];
/* 028BA7B0 */ Gambit_fn_028BB740(cpu);
/* 028BA7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA7B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA7B8 */ _t13 = _t12 & 0x00000001u;
/* 028BA7B8 */ if (_t13) goto L_028BA7BC; else goto L_028BA7D8;
L_028BA7BC: ; // 0x28ba7bc
/* 028BA7BC */ _t14 = cpu->r[31] + 0x00000000u;
/* 028BA7BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028BA7C0 */ _t15 = cpu->r[12] + 0x00000014u;
/* 028BA7C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BA7C4 */ cpu->ctr = cpu->r[0];
/* 028BA7C8 */ cpu->r[3] = cpu->r[31];
/* 028BA7CC */ cpu->r[4] = 0x00000003u;
/* 028BA7D0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BA7D4: ; // 0x28ba7d4
/* 028BA7D4 */ cpu->r[31] = 0x00000000u;
L_028BA7D8: ; // 0x28ba7d8
/* 028BA7D8 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BA7D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028BA7DC */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028BA7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BA7E0 */ cpu->r[3] = cpu->r[31];
/* 028BA7E4 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028BA7E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028BA7E8 */ cpu->lr = cpu->r[0];
/* 028BA7EC */ _t19 = cpu->r[1] + 0x00000014u;
/* 028BA7EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028BA7F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BA7F4 */ return;
}
// fn_028BA758 @ 0x28ba758
void Gambit_fn_028BA758(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_028BA758: ; // 0x28ba758
/* 028BA758 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BA758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA758 */ cpu->r[1] = _t0;
/* 028BA75C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BA75C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BA760 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BA760 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BA764 */ cpu->r[30] = cpu->r[4];
/* 028BA764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BA768 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BA768 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BA76C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BA76C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BA770 */ cpu->r[29] = cpu->r[5];
/* 028BA774 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA774 */ _t6 = _t5 & 0x00000001u;
/* 028BA774 */ if (_t6) goto L_028BA778; else goto L_028BA77C;
L_028BA778: ; // 0x28ba778
/* 028BA778 */ _t7 = cpu->r[3] + 0x00000018u;
/* 028BA778 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
L_028BA77C: ; // 0x28ba77c
/* 028BA77C */ cpu->r[5] = 0x10140000u;
/* 028BA780 */ cpu->r[3] = 0x000001A0u;
/* 028BA784 */ cpu->r[4] = cpu->r[30];
/* 028BA788 */ cpu->r[5] = cpu->r[5] + 0xFFFF8EF4u;
/* 028BA78C */ Gambit_fn_02801AF0(cpu);
/* 028BA790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA794 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA794 */ _t9 = _t8 & 0x00000001u;
/* 028BA794 */ if (_t9) goto L_028BA7D4; else goto L_028BA798;
L_028BA798: ; // 0x28ba798
/* 028BA798 */ Gambit_fn_028BB630(cpu);
/* 028BA79C */ cpu->r[31] = cpu->r[3];
/* 028BA79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA7A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA7A0 */ _t11 = _t10 & 0x00000001u;
/* 028BA7A0 */ if (_t11) goto L_028BA7D4; else goto L_028BA7A4;
L_028BA7A4: ; // 0x28ba7a4
/* 028BA7A4 */ cpu->r[5] = cpu->r[30];
/* 028BA7A8 */ cpu->r[4] = cpu->r[29];
/* 028BA7AC */ cpu->r[3] = cpu->r[31];
/* 028BA7B0 */ Gambit_fn_028BB740(cpu);
/* 028BA7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA7B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA7B8 */ _t13 = _t12 & 0x00000001u;
/* 028BA7B8 */ if (_t13) goto L_028BA7BC; else goto L_028BA7D8;
L_028BA7BC: ; // 0x28ba7bc
/* 028BA7BC */ _t14 = cpu->r[31] + 0x00000000u;
/* 028BA7BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028BA7C0 */ _t15 = cpu->r[12] + 0x00000014u;
/* 028BA7C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BA7C4 */ cpu->ctr = cpu->r[0];
/* 028BA7C8 */ cpu->r[3] = cpu->r[31];
/* 028BA7CC */ cpu->r[4] = 0x00000003u;
/* 028BA7D0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BA7D4: ; // 0x28ba7d4
/* 028BA7D4 */ cpu->r[31] = 0x00000000u;
L_028BA7D8: ; // 0x28ba7d8
/* 028BA7D8 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BA7D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028BA7DC */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028BA7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BA7E0 */ cpu->r[3] = cpu->r[31];
/* 028BA7E4 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028BA7E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028BA7E8 */ cpu->lr = cpu->r[0];
/* 028BA7EC */ _t19 = cpu->r[1] + 0x00000014u;
/* 028BA7EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028BA7F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BA7F4 */ return;
}
// fn_028BA810 @ 0x28ba810
void Gambit_fn_028BA810(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_028BA810: ; // 0x28ba810
/* 028BA810 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028BA810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA810 */ cpu->r[1] = _t0;
/* 028BA814 */ /* nop */
/* 028BA818 */ cpu->r[0] = cpu->lr;
/* 028BA81C */ cpu->r[30] = cpu->r[3];
/* 028BA820 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028BA820 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BA824 */ cpu->r[27] = cpu->r[4];
/* 028BA828 */ cpu->r[6] = 0x00000004u;
/* 028BA82C */ cpu->r[3] = cpu->r[30] + 0x00000020u;
/* 028BA830 */ _t2 = cpu->r[27] + 0x00000000u;
/* 028BA830 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028BA834 */ cpu->r[28] = cpu->r[5];
/* 028BA838 */ Gambit_fn_028023CC(cpu);
/* 028BA83C */ _t3 = cpu->r[27] + 0x00000000u;
/* 028BA83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BA840 */ cpu->r[29] = 0x00000000u;
/* 028BA844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028BA848 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA848 */ _t5 = _t4 & 0x00000001u;
/* 028BA848 */ if (_t5) goto L_028BA84C; else goto L_028BA8B4;
L_028BA84C: ; // 0x28ba84c
/* 028BA84C */ cpu->r[4] = cpu->r[28];
/* 028BA850 */ cpu->r[3] = 0x000001E0u;
/* 028BA854 */ cpu->r[5] = 0x00000004u;
/* 028BA858 */ Gambit_fn_02801AC8(cpu);
/* 028BA85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA860 */ cpu->r[31] = cpu->r[3];
/* 028BA864 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA864 */ _t7 = _t6 & 0x00000001u;
/* 028BA864 */ if (_t7) goto L_028BA870; else goto L_028BA868;
L_028BA868: ; // 0x28ba868
/* 028BA868 */ Gambit_fn_028BF624(cpu);
/* 028BA86C */ cpu->r[31] = cpu->r[3];
L_028BA870: ; // 0x28ba870
/* 028BA870 */ cpu->r[3] = cpu->r[31];
/* 028BA874 */ cpu->r[4] = cpu->r[28];
/* 028BA878 */ Gambit_fn_028BF794(cpu);
/* 028BA87C */ _t8 = cpu->r[30] + 0x00000024u;
/* 028BA87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BA880 */ _t9 = cpu->r[30] + 0x00000020u;
/* 028BA880 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028BA884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
/* 028BA888 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA888 */ _t11 = _t10 & 0x00000001u;
/* 028BA888 */ if (_t11) goto L_028BA88C; else goto L_028BA8A4;
L_028BA88C: ; // 0x28ba88c
/* 028BA88C */ _t12 = cpu->r[30] + 0x00000028u;
/* 028BA88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BA890 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BA894 */ _t13 = cpu->r[11] + cpu->r[0];
/* 028BA894 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
/* 028BA898 */ _t14 = cpu->r[30] + 0x00000020u;
/* 028BA898 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028BA89C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028BA8A0 */ _t15 = cpu->r[30] + 0x00000020u;
/* 028BA8A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
L_028BA8A4: ; // 0x28ba8a4
/* 028BA8A4 */ _t16 = cpu->r[27] + 0x00000000u;
/* 028BA8A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BA8A8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028BA8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028BA8B0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BA8B0 */ _t18 = _t17 & 0x00000001u;
/* 028BA8B0 */ if (_t18) goto L_028BA84C; else goto L_028BA8B4;
L_028BA8B4: ; // 0x28ba8b4
/* 028BA8B4 */ cpu->r[4] = cpu->r[28];
/* 028BA8B8 */ cpu->r[3] = 0x00000054u;
/* 028BA8BC */ cpu->r[5] = 0x00000004u;
/* 028BA8C0 */ Gambit_fn_02801AC8(cpu);
/* 028BA8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA8C8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA8C8 */ _t20 = _t19 & 0x00000001u;
/* 028BA8C8 */ if (_t20) goto L_028BA8D0; else goto L_028BA8CC;
L_028BA8CC: ; // 0x28ba8cc
/* 028BA8CC */ Gambit_fn_028E0288(cpu);
L_028BA8D0: ; // 0x28ba8d0
/* 028BA8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA8D4 */ _t21 = cpu->r[30] + 0x00000040u;
/* 028BA8D4 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
/* 028BA8D8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA8D8 */ _t23 = _t22 & 0x00000001u;
/* 028BA8D8 */ if (_t23) goto L_028BA8E8; else goto L_028BA8DC;
L_028BA8DC: ; // 0x28ba8dc
/* 028BA8DC */ _t24 = cpu->r[27] + 0x00000004u;
/* 028BA8DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
/* 028BA8E0 */ cpu->r[5] = cpu->r[28];
/* 028BA8E4 */ Gambit_fn_028E0448(cpu);
L_028BA8E8: ; // 0x28ba8e8
/* 028BA8E8 */ cpu->r[4] = cpu->r[28];
/* 028BA8EC */ cpu->r[3] = 0x00000050u;
/* 028BA8F0 */ cpu->r[5] = 0x00000004u;
/* 028BA8F4 */ Gambit_fn_02801AC8(cpu);
/* 028BA8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA8FC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA8FC */ _t26 = _t25 & 0x00000001u;
/* 028BA8FC */ if (_t26) goto L_028BA904; else goto L_028BA900;
L_028BA900: ; // 0x28ba900
/* 028BA900 */ Gambit_fn_028E0E4C(cpu);
L_028BA904: ; // 0x28ba904
/* 028BA904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BA908 */ _t27 = cpu->r[30] + 0x00000044u;
/* 028BA908 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
/* 028BA90C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA90C */ _t29 = _t28 & 0x00000001u;
/* 028BA90C */ if (_t29) goto L_028BA91C; else goto L_028BA910;
L_028BA910: ; // 0x28ba910
/* 028BA910 */ _t30 = cpu->r[27] + 0x00000008u;
/* 028BA910 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
/* 028BA914 */ cpu->r[5] = cpu->r[28];
/* 028BA918 */ Gambit_fn_028E1014(cpu);
L_028BA91C: ; // 0x28ba91c
/* 028BA91C */ cpu->r[10] = 0x00000198u;
/* 028BA920 */ cpu->r[12] = 0x00000001u;
/* 028BA924 */ _t31 = cpu->r[30] + 0x00000014u;
/* 028BA924 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028BA928 */ cpu->r[11] = 0x000001BCu;
/* 028BA92C */ _t32 = cpu->r[30] + 0x0000001Cu;
/* 028BA92C */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
/* 028BA930 */ cpu->r[0] = 0x00000000u;
/* 028BA934 */ _t33 = cpu->r[30] + 0x0000003Cu;
/* 028BA934 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
/* 028BA938 */ cpu->r[12] = 0x101D0000u;
/* 028BA93C */ _t34 = cpu->r[30] + 0x0000002Cu;
/* 028BA93C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028BA940 */ _t35 = cpu->r[12] + 0xFFFF9A84u;
/* 028BA940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028BA944 */ _t36 = cpu->r[12] + 0x00000054u;
/* 028BA944 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
/* 028BA948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028BA94C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA94C */ _t38 = _t37 & 0x00000001u;
/* 028BA94C */ if (_t38) goto L_028BA97C; else goto L_028BA950;
L_028BA950: ; // 0x28ba950
/* 028BA950 */ cpu->r[7] = 0x10140000u;
/* 028BA954 */ cpu->r[8] = 0x10140000u;
/* 028BA958 */ cpu->r[7] = cpu->r[7] + 0xFFFF8EF8u;
/* 028BA95C */ cpu->r[8] = cpu->r[8] + 0xFFFF8F44u;
/* 028BA960 */ _t39 = cpu->r[1] + 0x0000000Cu;
/* 028BA960 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
/* 028BA964 */ _t40 = cpu->r[1] + 0x00000008u;
/* 028BA964 */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
/* 028BA968 */ _t41 = cpu->r[12] + 0x00000054u;
/* 028BA968 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
/* 028BA96C */ cpu->r[3] = cpu->r[30];
/* 028BA970 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BA974 */ Gambit_fn_028BA754(cpu);
/* 028BA978 */ _t42 = cpu->r[30] + 0x00000108u;
/* 028BA978 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]);
L_028BA97C: ; // 0x28ba97c
/* 028BA97C */ cpu->r[3] = 0x028C0000u;
/* 028BA980 */ cpu->r[3] = cpu->r[3] + 0xFFFFA7F8u;
/* 028BA984 */ rbrew_dispatch(cpu, 0x02d06750u);
/* 028BA988 */ /* nop */
/* 028BA98C */ _t43 = cpu->r[1] + 0x0000002Cu;
/* 028BA98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
/* 028BA990 */ cpu->lr = cpu->r[0];
/* 028BA994 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BA998 */ return;
}
// fn_028BA99C @ 0x28ba99c
void Gambit_fn_028BA99C(CPUState* 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_028BA99C: ; // 0x28ba99c
/* 028BA99C */ cpu->r[0] = cpu->lr;
/* 028BA9A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BA9A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA9A0 */ cpu->r[1] = _t0;
/* 028BA9A4 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BA9A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BA9A8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BA9A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BA9AC */ cpu->r[31] = cpu->r[4];
/* 028BA9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA9B0 */ cpu->r[30] = cpu->r[3];
/* 028BA9B4 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BA9B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028BA9B8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BA9B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BA9BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA9BC */ _t6 = _t5 & 0x00000001u;
/* 028BA9BC */ if (_t6) goto L_028BAA14; else goto L_028BA9C0;
L_028BA9C0: ; // 0x28ba9c0
/* 028BA9C0 */ cpu->r[29] = cpu->r[30] + 0x00000084u;
/* 028BA9C4 */ cpu->r[3] = cpu->r[29];
/* 028BA9C8 */ Gambit_fn_02836FFC(cpu);
/* 028BA9CC */ cpu->r[11] = 0x00000000u;
/* 028BA9D0 */ _t7 = cpu->r[31] + 0x00000008u;
/* 028BA9D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028BA9D4 */ _t8 = cpu->r[30] + 0x0000003Cu;
/* 028BA9D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028BA9D8 */ cpu->r[9] = cpu->r[31] + cpu->r[10];
/* 028BA9DC */ _t9 = cpu->r[9] + 0x00000004u;
/* 028BA9DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BA9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BA9E4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA9E4 */ _t11 = _t10 & 0x00000001u;
/* 028BA9E4 */ if (_t11) goto L_028BA9E8; else goto L_028BA9F4;
L_028BA9E8: ; // 0x28ba9e8
/* 028BA9E8 */ _t12 = cpu->r[9] + 0x00000000u;
/* 028BA9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BA9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA9F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA9F0 */ _t14 = _t13 & 0x00000001u;
/* 028BA9F0 */ if (_t14) goto L_028BAA08; else goto L_028BA9F4;
L_028BA9F4: ; // 0x28ba9f4
/* 028BA9F4 */ cpu->r[3] = cpu->r[31] + cpu->r[10];
/* 028BA9F8 */ Gambit_fn_02801EDC(cpu);
/* 028BA9FC */ _t15 = cpu->r[30] + 0x00000038u;
/* 028BA9FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028BAA00 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028BAA04 */ _t16 = cpu->r[30] + 0x00000038u;
/* 028BAA04 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
L_028BAA08: ; // 0x28baa08
/* 028BAA08 */ rbrew_dispatch(cpu, 0x02d0a758u);
/* 028BAA0C */ cpu->r[3] = cpu->r[29];
/* 028BAA10 */ Gambit_fn_02837030(cpu);
L_028BAA14: ; // 0x28baa14
/* 028BAA14 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BAA14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028BAA18 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028BAA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028BAA1C */ _t19 = cpu->r[1] + 0x00000010u;
/* 028BAA1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028BAA20 */ cpu->lr = cpu->r[0];
/* 028BAA24 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BAA24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028BAA28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAA2C */ return;
}
// fn_028BA9A0 @ 0x28ba9a0
void Gambit_fn_028BA9A0(CPUState* 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_028BA9A0: ; // 0x28ba9a0
/* 028BA9A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BA9A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BA9A0 */ cpu->r[1] = _t0;
/* 028BA9A4 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BA9A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BA9A8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BA9A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BA9AC */ cpu->r[31] = cpu->r[4];
/* 028BA9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BA9B0 */ cpu->r[30] = cpu->r[3];
/* 028BA9B4 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BA9B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028BA9B8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BA9B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BA9BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA9BC */ _t6 = _t5 & 0x00000001u;
/* 028BA9BC */ if (_t6) goto L_028BAA14; else goto L_028BA9C0;
L_028BA9C0: ; // 0x28ba9c0
/* 028BA9C0 */ cpu->r[29] = cpu->r[30] + 0x00000084u;
/* 028BA9C4 */ cpu->r[3] = cpu->r[29];
/* 028BA9C8 */ Gambit_fn_02836FFC(cpu);
/* 028BA9CC */ cpu->r[11] = 0x00000000u;
/* 028BA9D0 */ _t7 = cpu->r[31] + 0x00000008u;
/* 028BA9D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028BA9D4 */ _t8 = cpu->r[30] + 0x0000003Cu;
/* 028BA9D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028BA9D8 */ cpu->r[9] = cpu->r[31] + cpu->r[10];
/* 028BA9DC */ _t9 = cpu->r[9] + 0x00000004u;
/* 028BA9DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BA9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BA9E4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA9E4 */ _t11 = _t10 & 0x00000001u;
/* 028BA9E4 */ if (_t11) goto L_028BA9E8; else goto L_028BA9F4;
L_028BA9E8: ; // 0x28ba9e8
/* 028BA9E8 */ _t12 = cpu->r[9] + 0x00000000u;
/* 028BA9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BA9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BA9F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BA9F0 */ _t14 = _t13 & 0x00000001u;
/* 028BA9F0 */ if (_t14) goto L_028BAA08; else goto L_028BA9F4;
L_028BA9F4: ; // 0x28ba9f4
/* 028BA9F4 */ cpu->r[3] = cpu->r[31] + cpu->r[10];
/* 028BA9F8 */ Gambit_fn_02801EDC(cpu);
/* 028BA9FC */ _t15 = cpu->r[30] + 0x00000038u;
/* 028BA9FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028BAA00 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028BAA04 */ _t16 = cpu->r[30] + 0x00000038u;
/* 028BAA04 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
L_028BAA08: ; // 0x28baa08
/* 028BAA08 */ rbrew_dispatch(cpu, 0x02d0a758u);
/* 028BAA0C */ cpu->r[3] = cpu->r[29];
/* 028BAA10 */ Gambit_fn_02837030(cpu);
L_028BAA14: ; // 0x28baa14
/* 028BAA14 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BAA14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028BAA18 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028BAA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028BAA1C */ _t19 = cpu->r[1] + 0x00000010u;
/* 028BAA1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028BAA20 */ cpu->lr = cpu->r[0];
/* 028BAA24 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BAA24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028BAA28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAA2C */ return;
}
// fn_028BAA30 @ 0x28baa30
void Gambit_fn_028BAA30(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_028BAA30: ; // 0x28baa30
/* 028BAA30 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028BAA30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BAA30 */ cpu->r[1] = _t0;
/* 028BAA34 */ /* nop */
/* 028BAA38 */ cpu->r[26] = cpu->r[3];
/* 028BAA3C */ cpu->r[28] = cpu->r[26] + 0x00000084u;
/* 028BAA40 */ cpu->r[3] = cpu->r[28];
/* 028BAA44 */ cpu->r[0] = cpu->lr;
/* 028BAA48 */ _t1 = cpu->r[1] + 0x0000003Cu;
/* 028BAA48 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BAA4C */ Gambit_fn_02836FFC(cpu);
/* 028BAA50 */ _t2 = cpu->r[26] + 0x0000003Cu;
/* 028BAA50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t2);
/* 028BAA54 */ cpu->r[25] = cpu->r[26] + 0x00000030u;
/* 028BAA58 */ _t3 = cpu->r[26] + 0x00000034u;
/* 028BAA58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
/* 028BAA5C */ cpu->r[29] = cpu->r[25] - cpu->r[30];
/* 028BAA60 */ cpu->r[24] = cpu->r[8] - cpu->r[30];
/* 028BAA64 */ cpu->r[27] = cpu->r[26] + 0x000000C0u;
/* 028BAA68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[29]);
/* 028BAA6C */ _t4 = cpu->r[8] + 0x00000004u;
/* 028BAA6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028BAA70 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAA70 */ _t6 = _t5 & 0x00000001u;
/* 028BAA70 */ if (_t6) goto L_028BAA74; else goto L_028BAABC;
L_028BAA74: ; // 0x28baa74
/* 028BAA74 */ cpu->r[3] = cpu->r[28];
/* 028BAA78 */ Gambit_fn_02837030(cpu);
/* 028BAA7C */ cpu->r[3] = cpu->r[27];
/* 028BAA80 */ Gambit_fn_02836FFC(cpu);
/* 028BAA84 */ cpu->r[24] = cpu->r[26] + 0x00000048u;
/* 028BAA88 */ cpu->r[3] = cpu->r[24];
/* 028BAA8C */ Gambit_fn_02836FFC(cpu);
/* 028BAA90 */ _t7 = cpu->r[26] + 0x00000014u;
/* 028BAA90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028BAA94 */ cpu->r[0] = cpu->r[26] + 0x00000008u;
/* 028BAA98 */ _t8 = cpu->r[26] + 0x0000000Cu;
/* 028BAA98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028BAA9C */ cpu->r[29] = cpu->r[0] - cpu->r[31];
/* 028BAAA0 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BAAA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
/* 028BAAA4 */ cpu->r[30] = cpu->r[7] - cpu->r[31];
/* 028BAAA8 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028BAAA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
/* 028BAAAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BAAB0 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028BAAB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028BAAB4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAAB4 */ _t13 = _t12 & 0x00000001u;
/* 028BAAB4 */ if (_t13) goto L_028BAB44; else goto L_028BAAB8;
L_028BAAB8: ; // 0x28baab8
/* 028BAAB8 */ goto L_028BAB28;
L_028BAABC: ; // 0x28baabc
/* 028BAABC */ cpu->r[3] = cpu->r[27];
/* 028BAAC0 */ Gambit_fn_02836FFC(cpu);
/* 028BAAC4 */ cpu->r[3] = cpu->r[24];
/* 028BAAC8 */ Gambit_fn_028C1B88(cpu);
/* 028BAACC */ cpu->r[3] = cpu->r[27];
/* 028BAAD0 */ Gambit_fn_02837030(cpu);
/* 028BAAD4 */ cpu->r[24] = cpu->r[31] - cpu->r[30];
/* 028BAAD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[29]);
/* 028BAADC */ _t14 = cpu->r[31] + 0x00000004u;
/* 028BAADC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BAAE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAAE0 */ _t16 = _t15 & 0x00000001u;
/* 028BAAE0 */ if (_t16) goto L_028BAAE4; else goto L_028BAABC;
L_028BAAE4: ; // 0x28baae4
/* 028BAAE4 */ cpu->r[3] = cpu->r[28];
/* 028BAAE8 */ Gambit_fn_02837030(cpu);
/* 028BAAEC */ cpu->r[3] = cpu->r[27];
/* 028BAAF0 */ Gambit_fn_02836FFC(cpu);
/* 028BAAF4 */ cpu->r[24] = cpu->r[26] + 0x00000048u;
/* 028BAAF8 */ cpu->r[3] = cpu->r[24];
/* 028BAAFC */ Gambit_fn_02836FFC(cpu);
/* 028BAB00 */ _t17 = cpu->r[26] + 0x00000014u;
/* 028BAB00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BAB04 */ cpu->r[0] = cpu->r[26] + 0x00000008u;
/* 028BAB08 */ _t18 = cpu->r[26] + 0x0000000Cu;
/* 028BAB08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
/* 028BAB0C */ cpu->r[29] = cpu->r[0] - cpu->r[31];
/* 028BAB10 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028BAB10 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
/* 028BAB14 */ cpu->r[30] = cpu->r[7] - cpu->r[31];
/* 028BAB18 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028BAB18 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
/* 028BAB1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BAB20 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028BAB20 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028BAB24 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAB24 */ _t23 = _t22 & 0x00000001u;
/* 028BAB24 */ if (_t23) goto L_028BAB44; else goto L_028BAB28;
L_028BAB28: ; // 0x28bab28
/* 028BAB28 */ cpu->r[3] = cpu->r[30];
/* 028BAB2C */ Gambit_fn_028BBC28(cpu);
/* 028BAB30 */ cpu->r[11] = cpu->r[30] + cpu->r[31];
/* 028BAB34 */ _t24 = cpu->r[11] + 0x00000004u;
/* 028BAB34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028BAB38 */ cpu->r[30] = cpu->r[10] - cpu->r[31];
/* 028BAB3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BAB40 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAB40 */ _t26 = _t25 & 0x00000001u;
/* 028BAB40 */ if (_t26) goto L_028BAB44; else goto L_028BAB28;
L_028BAB44: ; // 0x28bab44
/* 028BAB44 */ cpu->r[3] = cpu->r[24];
/* 028BAB48 */ Gambit_fn_02837030(cpu);
/* 028BAB4C */ cpu->r[3] = cpu->r[27];
/* 028BAB50 */ Gambit_fn_02837030(cpu);
/* 028BAB54 */ cpu->r[3] = 0x101D0000u;
/* 028BAB58 */ _t27 = cpu->r[3] + 0xFFFF9AE0u;
/* 028BAB58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
/* 028BAB5C */ Gambit_fn_028E3E94(cpu);
/* 028BAB60 */ Gambit_fn_028C29F4(cpu);
/* 028BAB64 */ Gambit_fn_028D3088(cpu);
/* 028BAB68 */ cpu->r[3] = 0x101D0000u;
/* 028BAB6C */ _t28 = cpu->r[3] + 0xFFFF9A7Cu;
/* 028BAB6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028BAB70 */ Gambit_fn_028BC6A4(cpu);
/* 028BAB74 */ cpu->r[3] = cpu->r[28];
/* 028BAB78 */ Gambit_fn_02836FFC(cpu);
/* 028BAB7C */ _t29 = cpu->r[25] + 0x0000000Cu;
/* 028BAB7C */ cpu->r[24] = rbrew_read32(cpu->mem, _t29);
/* 028BAB80 */ _t30 = cpu->r[25] + 0x00000004u;
/* 028BAB80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028BAB84 */ cpu->r[30] = cpu->r[25] - cpu->r[24];
/* 028BAB88 */ cpu->r[31] = cpu->r[11] - cpu->r[24];
/* 028BAB8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BAB90 */ _t31 = cpu->r[11] + 0x00000004u;
/* 028BAB90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
/* 028BAB94 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAB94 */ _t33 = _t32 & 0x00000001u;
/* 028BAB94 */ if (_t33) goto L_028BAC0C; else goto L_028BAB98;
L_028BAB98: ; // 0x28bab98
/* 028BAB98 */ cpu->r[3] = cpu->r[27];
/* 028BAB9C */ Gambit_fn_02836FFC(cpu);
/* 028BABA0 */ _t34 = cpu->r[31] + 0x00000004u;
/* 028BABA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
/* 028BABA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000006u);
/* 028BABA8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BABA8 */ _t36 = _t35 & 0x00000001u;
/* 028BABA8 */ if (_t36) goto L_028BABAC; else goto L_028BABEC;
L_028BABAC: ; // 0x28babac
/* 028BABAC */ cpu->r[3] = cpu->r[31];
/* 028BABB0 */ Gambit_fn_028BF608(cpu);
/* 028BABB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BABB8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BABB8 */ _t38 = _t37 & 0x00000001u;
/* 028BABB8 */ if (_t38) goto L_028BABBC; else goto L_028BABEC;
L_028BABBC: ; // 0x28babbc
/* 028BABBC */ cpu->r[3] = cpu->r[31];
/* 028BABC0 */ Gambit_fn_028C1C28(cpu);
/* 028BABC4 */ cpu->r[3] = cpu->r[26];
/* 028BABC8 */ cpu->r[4] = cpu->r[31];
/* 028BABCC */ Gambit_fn_028BA99C(cpu);
/* 028BABD0 */ cpu->r[3] = cpu->r[27];
/* 028BABD4 */ Gambit_fn_02837030(cpu);
/* 028BABD8 */ cpu->r[31] = cpu->r[29] - cpu->r[24];
/* 028BABDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BABE0 */ _t39 = cpu->r[29] + 0x00000004u;
/* 028BABE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
/* 028BABE4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BABE4 */ _t41 = _t40 & 0x00000001u;
/* 028BABE4 */ if (_t41) goto L_028BABE8; else goto L_028BAB98;
L_028BABE8: ; // 0x28babe8
/* 028BABE8 */ goto L_028BAC0C;
L_028BABEC: ; // 0x28babec
/* 028BABEC */ cpu->r[3] = cpu->r[31];
/* 028BABF0 */ Gambit_fn_028C16D4(cpu);
/* 028BABF4 */ cpu->r[3] = cpu->r[27];
/* 028BABF8 */ Gambit_fn_02837030(cpu);
/* 028BABFC */ cpu->r[31] = cpu->r[29] - cpu->r[24];
/* 028BAC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BAC04 */ _t42 = cpu->r[29] + 0x00000004u;
/* 028BAC04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
/* 028BAC08 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAC08 */ _t44 = _t43 & 0x00000001u;
/* 028BAC08 */ if (_t44) goto L_028BAC0C; else goto L_028BAB98;
L_028BAC0C: ; // 0x28bac0c
/* 028BAC0C */ cpu->r[3] = cpu->r[28];
/* 028BAC10 */ Gambit_fn_02837030(cpu);
/* 028BAC14 */ Gambit_fn_028C29F4(cpu);
/* 028BAC18 */ Gambit_fn_028D3248(cpu);
/* 028BAC1C */ _t45 = cpu->r[26] + 0x00000040u;
/* 028BAC1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
/* 028BAC20 */ Gambit_fn_028E08FC(cpu);
/* 028BAC24 */ _t46 = cpu->r[26] + 0x00000004u;
/* 028BAC24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t46);
/* 028BAC28 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028BAC2C */ _t47 = cpu->r[26] + 0x00000004u;
/* 028BAC2C */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
/* 028BAC30 */ /* nop */
/* 028BAC34 */ _t48 = cpu->r[1] + 0x0000003Cu;
/* 028BAC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028BAC38 */ cpu->lr = cpu->r[0];
/* 028BAC3C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028BAC40 */ return;
}
// fn_028BAC44 @ 0x28bac44
void Gambit_fn_028BAC44(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028BAC44: ; // 0x28bac44
/* 028BAC44 */ cpu->r[0] = cpu->lr;
/* 028BAC48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BAC48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BAC48 */ cpu->r[1] = _t0;
/* 028BAC4C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BAC4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BAC50 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BAC50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BAC54 */ cpu->r[31] = cpu->r[4];
/* 028BAC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BAC58 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BAC58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BAC5C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAC5C */ _t5 = _t4 & 0x00000001u;
/* 028BAC5C */ if (_t5) goto L_028BAC94; else goto L_028BAC60;
L_028BAC60: ; // 0x28bac60
/* 028BAC60 */ cpu->r[30] = cpu->r[3] + 0x000000C0u;
/* 028BAC64 */ cpu->r[3] = cpu->r[30];
/* 028BAC68 */ Gambit_fn_02836FFC(cpu);
/* 028BAC6C */ cpu->r[3] = cpu->r[31];
/* 028BAC70 */ Gambit_fn_028BBB64(cpu);
/* 028BAC74 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028BAC74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BAC78 */ _t7 = cpu->r[12] + 0x00000014u;
/* 028BAC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BAC7C */ cpu->ctr = cpu->r[0];
/* 028BAC80 */ cpu->r[3] = cpu->r[31];
/* 028BAC84 */ cpu->r[4] = 0x00000003u;
/* 028BAC88 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BAC8C */ cpu->r[3] = cpu->r[30];
/* 028BAC90 */ Gambit_fn_02837030(cpu);
L_028BAC94: ; // 0x28bac94
/* 028BAC94 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BAC94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BAC98 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028BAC98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028BAC9C */ cpu->lr = cpu->r[0];
/* 028BACA0 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BACA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028BACA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BACA8 */ return;
}
// fn_028BAC48 @ 0x28bac48
void Gambit_fn_028BAC48(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028BAC48: ; // 0x28bac48
/* 028BAC48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BAC48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BAC48 */ cpu->r[1] = _t0;
/* 028BAC4C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BAC4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BAC50 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BAC50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BAC54 */ cpu->r[31] = cpu->r[4];
/* 028BAC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BAC58 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BAC58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BAC5C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAC5C */ _t5 = _t4 & 0x00000001u;
/* 028BAC5C */ if (_t5) goto L_028BAC94; else goto L_028BAC60;
L_028BAC60: ; // 0x28bac60
/* 028BAC60 */ cpu->r[30] = cpu->r[3] + 0x000000C0u;
/* 028BAC64 */ cpu->r[3] = cpu->r[30];
/* 028BAC68 */ Gambit_fn_02836FFC(cpu);
/* 028BAC6C */ cpu->r[3] = cpu->r[31];
/* 028BAC70 */ Gambit_fn_028BBB64(cpu);
/* 028BAC74 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028BAC74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BAC78 */ _t7 = cpu->r[12] + 0x00000014u;
/* 028BAC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BAC7C */ cpu->ctr = cpu->r[0];
/* 028BAC80 */ cpu->r[3] = cpu->r[31];
/* 028BAC84 */ cpu->r[4] = 0x00000003u;
/* 028BAC88 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BAC8C */ cpu->r[3] = cpu->r[30];
/* 028BAC90 */ Gambit_fn_02837030(cpu);
L_028BAC94: ; // 0x28bac94
/* 028BAC94 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BAC94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BAC98 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028BAC98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028BAC9C */ cpu->lr = cpu->r[0];
/* 028BACA0 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BACA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028BACA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BACA8 */ return;
}
// fn_028BACAC @ 0x28bacac
void Gambit_fn_028BACAC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BACAC: ; // 0x28bacac
/* 028BACAC */ cpu->r[0] = cpu->lr;
/* 028BACB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BACB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BACB0 */ cpu->r[1] = _t0;
/* 028BACB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BACB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BACB8 */ cpu->r[31] = cpu->r[3];
/* 028BACBC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BACBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BACC0 */ Gambit_fn_028BB238(cpu);
/* 028BACC4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BACC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BACC8 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[31]);
/* 028BACCC */ cpu->lr = cpu->r[0];
/* 028BACD0 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BACD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028BACD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BACD8 */ return;
}
// fn_028BACB0 @ 0x28bacb0
void Gambit_fn_028BACB0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BACB0: ; // 0x28bacb0
/* 028BACB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BACB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BACB0 */ cpu->r[1] = _t0;
/* 028BACB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BACB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BACB8 */ cpu->r[31] = cpu->r[3];
/* 028BACBC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BACBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BACC0 */ Gambit_fn_028BB238(cpu);
/* 028BACC4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BACC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BACC8 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[31]);
/* 028BACCC */ cpu->lr = cpu->r[0];
/* 028BACD0 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BACD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028BACD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BACD8 */ return;
}
// fn_028BACDC @ 0x28bacdc
void Gambit_fn_028BACDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_028BACDC: ; // 0x28bacdc
/* 028BACDC */ cpu->r[11] = cpu->r[3];
/* 028BACE0 */ _t0 = cpu->r[11] + 0x0000002Cu;
/* 028BACE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t0);
/* 028BACE4 */ _t1 = cpu->r[11] + 0x00000020u;
/* 028BACE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028BACE8 */ cpu->r[6] = cpu->r[7];
/* 028BACEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[12]);
/* 028BACF0 */ cpu->r[10] = cpu->r[12] - cpu->r[6];
/* 028BACF4 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BACF4 */ _t3 = _t2 & 0x00000001u;
/* 028BACF4 */ if (_t3) goto L_028BACF8; else goto L_028BAD5C;
L_028BACF8: ; // 0x28bacf8
/* 028BACF8 */ cpu->ctr = cpu->r[10];
/* 028BACFC */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028BAD00: ; // 0x28bad00
/* 028BAD00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
/* 028BAD04 */ cpu->r[9] = 0x00000000u;
/* 028BAD08 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BAD08 */ _t5 = _t4 & 0x00000001u;
/* 028BAD08 */ if (_t5) goto L_028BAD0C; else goto L_028BAD14;
L_028BAD0C: ; // 0x28bad0c
/* 028BAD0C */ _t6 = cpu->r[11] + 0x00000028u;
/* 028BAD0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028BAD10 */ _t7 = cpu->r[10] + cpu->r[8];
/* 028BAD10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
L_028BAD14: ; // 0x28bad14
/* 028BAD14 */ _t8 = cpu->r[9] + 0x00000008u;
/* 028BAD14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028BAD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BAD1C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAD1C */ _t10 = _t9 & 0x00000001u;
/* 028BAD1C */ if (_t10) goto L_028BAD20; else goto L_028BAD50;
L_028BAD20: ; // 0x28bad20
/* 028BAD20 */ _t11 = cpu->r[11] + 0x00000024u;
/* 028BAD20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
/* 028BAD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]);
/* 028BAD28 */ cpu->r[10] = 0x00000000u;
/* 028BAD2C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BAD2C */ _t13 = _t12 & 0x00000001u;
/* 028BAD2C */ if (_t13) goto L_028BAD30; else goto L_028BAD34;
L_028BAD30: ; // 0x28bad30
/* 028BAD30 */ cpu->r[10] = cpu->r[7] + 0x00000001u;
L_028BAD34: ; // 0x28bad34
/* 028BAD34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
/* 028BAD38 */ cpu->r[3] = 0x00000000u;
/* 028BAD3C */ _t14 = cpu->r[11] + 0x0000002Cu;
/* 028BAD3C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
/* 028BAD40 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BAD40 */ _t16 = _t15 & 0x00000001u;
/* 028BAD40 */ _t17 = _t16 ^ 0x00000001u;
/* 028BAD40 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BAD40 */ goto L_028BAD44;
L_028BAD44: ; // 0x28bad44
/* 028BAD44 */ _t18 = cpu->r[11] + 0x00000028u;
/* 028BAD44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028BAD48 */ _t19 = cpu->r[12] + cpu->r[8];
/* 028BAD48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028BAD4C */ return;
L_028BAD50: ; // 0x28bad50
/* 028BAD50 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028BAD54 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028BAD58 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BAD58 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BAD58 */ _t21 = _t20 >> (0x00000002u & 31u);
/* 028BAD58 */ _t22 = _t21 & 0x00000001u;
/* 028BAD58 */ if (_t22) goto L_028BAD00; else goto L_028BAD5C;
L_028BAD5C: ; // 0x28bad5c
/* 028BAD5C */ cpu->r[8] = 0x00000000u;
/* 028BAD60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]);
/* 028BAD64 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BAD64 */ _t24 = _t23 & 0x00000001u;
/* 028BAD64 */ if (_t24) goto L_028BAD68; else goto L_028BADCC;
L_028BAD68: ; // 0x28bad68
/* 028BAD68 */ cpu->r[6] = 0x00000000u;
L_028BAD6C: ; // 0x28bad6c
/* 028BAD6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
/* 028BAD70 */ cpu->r[10] = 0x00000000u;
/* 028BAD74 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BAD74 */ _t26 = _t25 & 0x00000001u;
/* 028BAD74 */ if (_t26) goto L_028BAD78; else goto L_028BAD80;
L_028BAD78: ; // 0x28bad78
/* 028BAD78 */ _t27 = cpu->r[11] + 0x00000028u;
/* 028BAD78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
/* 028BAD7C */ _t28 = cpu->r[9] + cpu->r[6];
/* 028BAD7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
L_028BAD80: ; // 0x28bad80
/* 028BAD80 */ _t29 = cpu->r[10] + 0x00000008u;
/* 028BAD80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
/* 028BAD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BAD88 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAD88 */ _t31 = _t30 & 0x00000001u;
/* 028BAD88 */ if (_t31) goto L_028BAD8C; else goto L_028BADBC;
L_028BAD8C: ; // 0x28bad8c
/* 028BAD8C */ _t32 = cpu->r[11] + 0x00000024u;
/* 028BAD8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
/* 028BAD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]);
/* 028BAD94 */ cpu->r[10] = 0x00000000u;
/* 028BAD98 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BAD98 */ _t34 = _t33 & 0x00000001u;
/* 028BAD98 */ if (_t34) goto L_028BAD9C; else goto L_028BADA0;
L_028BAD9C: ; // 0x28bad9c
/* 028BAD9C */ cpu->r[10] = cpu->r[7] + 0x00000001u;
L_028BADA0: ; // 0x28bada0
/* 028BADA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
/* 028BADA4 */ cpu->r[3] = 0x00000000u;
/* 028BADA8 */ _t35 = cpu->r[11] + 0x0000002Cu;
/* 028BADA8 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
/* 028BADAC */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BADAC */ _t37 = _t36 & 0x00000001u;
/* 028BADAC */ _t38 = _t37 ^ 0x00000001u;
/* 028BADAC */ if (_t38) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BADAC */ goto L_028BADB0;
L_028BADB0: ; // 0x28badb0
/* 028BADB0 */ _t39 = cpu->r[11] + 0x00000028u;
/* 028BADB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028BADB4 */ _t40 = cpu->r[12] + cpu->r[6];
/* 028BADB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
/* 028BADB8 */ return;
L_028BADBC: ; // 0x28badbc
/* 028BADBC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028BADC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]);
/* 028BADC4 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028BADC8 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BADC8 */ _t42 = _t41 & 0x00000001u;
/* 028BADC8 */ if (_t42) goto L_028BAD6C; else goto L_028BADCC;
L_028BADCC: ; // 0x28badcc
/* 028BADCC */ cpu->r[3] = 0x00000000u;
/* 028BADD0 */ return;
}
// fn_028BADD4 @ 0x28badd4
void Gambit_fn_028BADD4(CPUState* cpu) {
uint32_t _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_028BADD4: ; // 0x28badd4
/* 028BADD4 */ cpu->r[0] = cpu->lr;
/* 028BADD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BADD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BADD8 */ cpu->r[1] = _t0;
/* 028BADDC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BADDC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BADE0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BADE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BADE4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BADE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BADE8 */ cpu->r[30] = cpu->r[3];
/* 028BADEC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BADEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BADF0 */ cpu->r[29] = cpu->r[30] + 0x00000084u;
/* 028BADF4 */ cpu->r[3] = cpu->r[29];
/* 028BADF8 */ Gambit_fn_02836FFC(cpu);
/* 028BADFC */ cpu->r[3] = cpu->r[30];
/* 028BAE00 */ Gambit_fn_028BACDC(cpu);
/* 028BAE04 */ cpu->r[31] = cpu->r[3];
/* 028BAE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BAE08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAE08 */ _t6 = _t5 & 0x00000001u;
/* 028BAE08 */ if (_t6) goto L_028BAE0C; else goto L_028BAE34;
L_028BAE0C: ; // 0x28bae0c
/* 028BAE0C */ cpu->r[3] = cpu->r[29];
/* 028BAE10 */ Gambit_fn_02837030(cpu);
/* 028BAE14 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BAE14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
/* 028BAE18 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028BAE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BAE1C */ _t9 = cpu->r[1] + 0x00000010u;
/* 028BAE1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028BAE20 */ cpu->lr = cpu->r[0];
/* 028BAE24 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028BAE24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028BAE28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAE2C */ cpu->r[3] = 0x00000000u;
/* 028BAE30 */ return;
L_028BAE34: ; // 0x28bae34
/* 028BAE34 */ _t11 = cpu->r[30] + 0x0000001Cu;
/* 028BAE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BAE38 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028BAE38 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028BAE3C */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028BAE3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028BAE40 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
/* 028BAE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BAE44 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAE44 */ _t15 = _t14 & 0x00000001u;
/* 028BAE44 */ if (_t15) goto L_028BAE48; else goto L_028BAE4C;
L_028BAE48: ; // 0x28bae48
/* 028BAE48 */ cpu->r[0] = 0x00000001u;
L_028BAE4C: ; // 0x28bae4c
/* 028BAE4C */ _t16 = cpu->r[30] + 0x0000001Cu;
/* 028BAE4C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028BAE50 */ rbrew_dispatch(cpu, 0x02d0a758u);
/* 028BAE54 */ _t17 = cpu->r[30] + 0x0000003Cu;
/* 028BAE54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
/* 028BAE58 */ cpu->r[3] = cpu->r[30] + 0x00000030u;
/* 028BAE5C */ cpu->r[4] = cpu->r[31] + cpu->r[9];
/* 028BAE60 */ Gambit_fn_02801EBC(cpu);
/* 028BAE64 */ _t18 = cpu->r[30] + 0x00000038u;
/* 028BAE64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028BAE68 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028BAE6C */ cpu->r[3] = cpu->r[29];
/* 028BAE70 */ _t19 = cpu->r[30] + 0x00000038u;
/* 028BAE70 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028BAE74 */ Gambit_fn_02837030(cpu);
/* 028BAE78 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028BAE78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028BAE7C */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028BAE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028BAE80 */ cpu->r[3] = cpu->r[31];
/* 028BAE84 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028BAE84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028BAE88 */ cpu->lr = cpu->r[0];
/* 028BAE8C */ _t23 = cpu->r[1] + 0x00000014u;
/* 028BAE8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028BAE90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAE94 */ return;
}
// fn_028BADD8 @ 0x28badd8
void Gambit_fn_028BADD8(CPUState* cpu) {
uint32_t _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_028BADD8: ; // 0x28badd8
/* 028BADD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BADD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BADD8 */ cpu->r[1] = _t0;
/* 028BADDC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BADDC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BADE0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BADE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BADE4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BADE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BADE8 */ cpu->r[30] = cpu->r[3];
/* 028BADEC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BADEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BADF0 */ cpu->r[29] = cpu->r[30] + 0x00000084u;
/* 028BADF4 */ cpu->r[3] = cpu->r[29];
/* 028BADF8 */ Gambit_fn_02836FFC(cpu);
/* 028BADFC */ cpu->r[3] = cpu->r[30];
/* 028BAE00 */ Gambit_fn_028BACDC(cpu);
/* 028BAE04 */ cpu->r[31] = cpu->r[3];
/* 028BAE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BAE08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAE08 */ _t6 = _t5 & 0x00000001u;
/* 028BAE08 */ if (_t6) goto L_028BAE0C; else goto L_028BAE34;
L_028BAE0C: ; // 0x28bae0c
/* 028BAE0C */ cpu->r[3] = cpu->r[29];
/* 028BAE10 */ Gambit_fn_02837030(cpu);
/* 028BAE14 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BAE14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
/* 028BAE18 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028BAE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BAE1C */ _t9 = cpu->r[1] + 0x00000010u;
/* 028BAE1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028BAE20 */ cpu->lr = cpu->r[0];
/* 028BAE24 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028BAE24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028BAE28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAE2C */ cpu->r[3] = 0x00000000u;
/* 028BAE30 */ return;
L_028BAE34: ; // 0x28bae34
/* 028BAE34 */ _t11 = cpu->r[30] + 0x0000001Cu;
/* 028BAE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BAE38 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028BAE38 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028BAE3C */ _t13 = cpu->r[30] + 0x0000001Cu;
/* 028BAE3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028BAE40 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
/* 028BAE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BAE44 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAE44 */ _t15 = _t14 & 0x00000001u;
/* 028BAE44 */ if (_t15) goto L_028BAE48; else goto L_028BAE4C;
L_028BAE48: ; // 0x28bae48
/* 028BAE48 */ cpu->r[0] = 0x00000001u;
L_028BAE4C: ; // 0x28bae4c
/* 028BAE4C */ _t16 = cpu->r[30] + 0x0000001Cu;
/* 028BAE4C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028BAE50 */ rbrew_dispatch(cpu, 0x02d0a758u);
/* 028BAE54 */ _t17 = cpu->r[30] + 0x0000003Cu;
/* 028BAE54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
/* 028BAE58 */ cpu->r[3] = cpu->r[30] + 0x00000030u;
/* 028BAE5C */ cpu->r[4] = cpu->r[31] + cpu->r[9];
/* 028BAE60 */ Gambit_fn_02801EBC(cpu);
/* 028BAE64 */ _t18 = cpu->r[30] + 0x00000038u;
/* 028BAE64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028BAE68 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028BAE6C */ cpu->r[3] = cpu->r[29];
/* 028BAE70 */ _t19 = cpu->r[30] + 0x00000038u;
/* 028BAE70 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
/* 028BAE74 */ Gambit_fn_02837030(cpu);
/* 028BAE78 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028BAE78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028BAE7C */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028BAE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028BAE80 */ cpu->r[3] = cpu->r[31];
/* 028BAE84 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028BAE84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028BAE88 */ cpu->lr = cpu->r[0];
/* 028BAE8C */ _t23 = cpu->r[1] + 0x00000014u;
/* 028BAE8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028BAE90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAE94 */ return;
}
// fn_028BAE98 @ 0x28bae98
void Gambit_fn_028BAE98(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_028BAE98: ; // 0x28bae98
/* 028BAE98 */ cpu->r[0] = cpu->lr;
/* 028BAE9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BAE9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BAE9C */ cpu->r[1] = _t0;
/* 028BAEA0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BAEA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BAEA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BAEA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BAEA8 */ cpu->r[30] = cpu->r[4];
/* 028BAEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BAEAC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BAEAC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BAEB0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BAEB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BAEB4 */ cpu->r[29] = cpu->r[3];
/* 028BAEB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAEB8 */ _t6 = _t5 & 0x00000001u;
/* 028BAEB8 */ if (_t6) goto L_028BAF08; else goto L_028BAEBC;
L_028BAEBC: ; // 0x28baebc
/* 028BAEBC */ cpu->r[31] = cpu->r[29] + 0x00000048u;
/* 028BAEC0 */ cpu->r[3] = cpu->r[31];
/* 028BAEC4 */ Gambit_fn_02836FFC(cpu);
/* 028BAEC8 */ _t7 = cpu->r[29] + 0x00000014u;
/* 028BAEC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BAECC */ cpu->r[11] = cpu->r[30] + cpu->r[0];
/* 028BAED0 */ _t8 = cpu->r[11] + 0x00000004u;
/* 028BAED0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028BAED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BAED8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAED8 */ _t10 = _t9 & 0x00000001u;
/* 028BAED8 */ if (_t10) goto L_028BAEDC; else goto L_028BAF00;
L_028BAEDC: ; // 0x28baedc
/* 028BAEDC */ _t11 = cpu->r[11] + 0x00000000u;
/* 028BAEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028BAEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BAEE4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAEE4 */ _t13 = _t12 & 0x00000001u;
/* 028BAEE4 */ if (_t13) goto L_028BAEE8; else goto L_028BAF00;
L_028BAEE8: ; // 0x28baee8
/* 028BAEE8 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
/* 028BAEEC */ cpu->r[4] = cpu->r[30] + cpu->r[0];
/* 028BAEF0 */ Gambit_fn_02801EBC(cpu);
/* 028BAEF4 */ _t14 = cpu->r[29] + 0x00000010u;
/* 028BAEF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028BAEF8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028BAEFC */ _t15 = cpu->r[29] + 0x00000010u;
/* 028BAEFC */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
L_028BAF00: ; // 0x28baf00
/* 028BAF00 */ cpu->r[3] = cpu->r[31];
/* 028BAF04 */ Gambit_fn_02837030(cpu);
L_028BAF08: ; // 0x28baf08
/* 028BAF08 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BAF08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028BAF0C */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028BAF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BAF10 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028BAF10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028BAF14 */ cpu->lr = cpu->r[0];
/* 028BAF18 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028BAF18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028BAF1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAF20 */ return;
}
// fn_028BAE9C @ 0x28bae9c
void Gambit_fn_028BAE9C(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_028BAE9C: ; // 0x28bae9c
/* 028BAE9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BAE9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BAE9C */ cpu->r[1] = _t0;
/* 028BAEA0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BAEA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BAEA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BAEA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BAEA8 */ cpu->r[30] = cpu->r[4];
/* 028BAEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BAEAC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BAEAC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BAEB0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BAEB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BAEB4 */ cpu->r[29] = cpu->r[3];
/* 028BAEB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAEB8 */ _t6 = _t5 & 0x00000001u;
/* 028BAEB8 */ if (_t6) goto L_028BAF08; else goto L_028BAEBC;
L_028BAEBC: ; // 0x28baebc
/* 028BAEBC */ cpu->r[31] = cpu->r[29] + 0x00000048u;
/* 028BAEC0 */ cpu->r[3] = cpu->r[31];
/* 028BAEC4 */ Gambit_fn_02836FFC(cpu);
/* 028BAEC8 */ _t7 = cpu->r[29] + 0x00000014u;
/* 028BAEC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BAECC */ cpu->r[11] = cpu->r[30] + cpu->r[0];
/* 028BAED0 */ _t8 = cpu->r[11] + 0x00000004u;
/* 028BAED0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028BAED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BAED8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAED8 */ _t10 = _t9 & 0x00000001u;
/* 028BAED8 */ if (_t10) goto L_028BAEDC; else goto L_028BAF00;
L_028BAEDC: ; // 0x28baedc
/* 028BAEDC */ _t11 = cpu->r[11] + 0x00000000u;
/* 028BAEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028BAEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BAEE4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAEE4 */ _t13 = _t12 & 0x00000001u;
/* 028BAEE4 */ if (_t13) goto L_028BAEE8; else goto L_028BAF00;
L_028BAEE8: ; // 0x28baee8
/* 028BAEE8 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
/* 028BAEEC */ cpu->r[4] = cpu->r[30] + cpu->r[0];
/* 028BAEF0 */ Gambit_fn_02801EBC(cpu);
/* 028BAEF4 */ _t14 = cpu->r[29] + 0x00000010u;
/* 028BAEF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028BAEF8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028BAEFC */ _t15 = cpu->r[29] + 0x00000010u;
/* 028BAEFC */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
L_028BAF00: ; // 0x28baf00
/* 028BAF00 */ cpu->r[3] = cpu->r[31];
/* 028BAF04 */ Gambit_fn_02837030(cpu);
L_028BAF08: ; // 0x28baf08
/* 028BAF08 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BAF08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028BAF0C */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028BAF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BAF10 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028BAF10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028BAF14 */ cpu->lr = cpu->r[0];
/* 028BAF18 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028BAF18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028BAF1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAF20 */ return;
}
// fn_028BAF24 @ 0x28baf24
void Gambit_fn_028BAF24(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_028BAF24: ; // 0x28baf24
/* 028BAF24 */ cpu->r[0] = cpu->lr;
/* 028BAF28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BAF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BAF28 */ cpu->r[1] = _t0;
/* 028BAF2C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BAF2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BAF30 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BAF30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BAF34 */ cpu->r[30] = cpu->r[4];
/* 028BAF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BAF38 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BAF38 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BAF3C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BAF3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BAF40 */ cpu->r[29] = cpu->r[3];
/* 028BAF44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAF44 */ _t6 = _t5 & 0x00000001u;
/* 028BAF44 */ if (_t6) goto L_028BAF90; else goto L_028BAF48;
L_028BAF48: ; // 0x28baf48
/* 028BAF48 */ cpu->r[31] = cpu->r[29] + 0x00000048u;
/* 028BAF4C */ cpu->r[3] = cpu->r[31];
/* 028BAF50 */ Gambit_fn_02836FFC(cpu);
/* 028BAF54 */ _t7 = cpu->r[29] + 0x00000014u;
/* 028BAF54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BAF58 */ cpu->r[10] = cpu->r[30] + cpu->r[0];
/* 028BAF5C */ _t8 = cpu->r[10] + 0x00000004u;
/* 028BAF5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028BAF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BAF64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAF64 */ _t10 = _t9 & 0x00000001u;
/* 028BAF64 */ if (_t10) goto L_028BAF68; else goto L_028BAF74;
L_028BAF68: ; // 0x28baf68
/* 028BAF68 */ _t11 = cpu->r[10] + 0x00000000u;
/* 028BAF68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028BAF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BAF70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAF70 */ _t13 = _t12 & 0x00000001u;
/* 028BAF70 */ if (_t13) goto L_028BAF88; else goto L_028BAF74;
L_028BAF74: ; // 0x28baf74
/* 028BAF74 */ cpu->r[3] = cpu->r[30] + cpu->r[0];
/* 028BAF78 */ Gambit_fn_02801EDC(cpu);
/* 028BAF7C */ _t14 = cpu->r[29] + 0x00000010u;
/* 028BAF7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028BAF80 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028BAF84 */ _t15 = cpu->r[29] + 0x00000010u;
/* 028BAF84 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
L_028BAF88: ; // 0x28baf88
/* 028BAF88 */ cpu->r[3] = cpu->r[31];
/* 028BAF8C */ Gambit_fn_02837030(cpu);
L_028BAF90: ; // 0x28baf90
/* 028BAF90 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BAF90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028BAF94 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028BAF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BAF98 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028BAF98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028BAF9C */ cpu->lr = cpu->r[0];
/* 028BAFA0 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028BAFA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028BAFA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAFA8 */ return;
}
// fn_028BAF28 @ 0x28baf28
void Gambit_fn_028BAF28(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_028BAF28: ; // 0x28baf28
/* 028BAF28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BAF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BAF28 */ cpu->r[1] = _t0;
/* 028BAF2C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BAF2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BAF30 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BAF30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BAF34 */ cpu->r[30] = cpu->r[4];
/* 028BAF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BAF38 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BAF38 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BAF3C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BAF3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BAF40 */ cpu->r[29] = cpu->r[3];
/* 028BAF44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAF44 */ _t6 = _t5 & 0x00000001u;
/* 028BAF44 */ if (_t6) goto L_028BAF90; else goto L_028BAF48;
L_028BAF48: ; // 0x28baf48
/* 028BAF48 */ cpu->r[31] = cpu->r[29] + 0x00000048u;
/* 028BAF4C */ cpu->r[3] = cpu->r[31];
/* 028BAF50 */ Gambit_fn_02836FFC(cpu);
/* 028BAF54 */ _t7 = cpu->r[29] + 0x00000014u;
/* 028BAF54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BAF58 */ cpu->r[10] = cpu->r[30] + cpu->r[0];
/* 028BAF5C */ _t8 = cpu->r[10] + 0x00000004u;
/* 028BAF5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028BAF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BAF64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAF64 */ _t10 = _t9 & 0x00000001u;
/* 028BAF64 */ if (_t10) goto L_028BAF68; else goto L_028BAF74;
L_028BAF68: ; // 0x28baf68
/* 028BAF68 */ _t11 = cpu->r[10] + 0x00000000u;
/* 028BAF68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028BAF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BAF70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAF70 */ _t13 = _t12 & 0x00000001u;
/* 028BAF70 */ if (_t13) goto L_028BAF88; else goto L_028BAF74;
L_028BAF74: ; // 0x28baf74
/* 028BAF74 */ cpu->r[3] = cpu->r[30] + cpu->r[0];
/* 028BAF78 */ Gambit_fn_02801EDC(cpu);
/* 028BAF7C */ _t14 = cpu->r[29] + 0x00000010u;
/* 028BAF7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028BAF80 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028BAF84 */ _t15 = cpu->r[29] + 0x00000010u;
/* 028BAF84 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
L_028BAF88: ; // 0x28baf88
/* 028BAF88 */ cpu->r[3] = cpu->r[31];
/* 028BAF8C */ Gambit_fn_02837030(cpu);
L_028BAF90: ; // 0x28baf90
/* 028BAF90 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BAF90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028BAF94 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028BAF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BAF98 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028BAF98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028BAF9C */ cpu->lr = cpu->r[0];
/* 028BAFA0 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028BAFA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028BAFA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BAFA8 */ return;
}
// fn_028BAFAC @ 0x28bafac
void Gambit_fn_028BAFAC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_028BAFAC: ; // 0x28bafac
/* 028BAFAC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
/* 028BAFAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BAFAC */ cpu->r[1] = _t0;
/* 028BAFB0 */ /* nop */
/* 028BAFB4 */ cpu->r[31] = cpu->r[3];
/* 028BAFB8 */ _t1 = cpu->r[1] + 0x00000030u;
/* 028BAFB8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BAFBC */ cpu->r[25] = cpu->r[31] + 0x00000084u;
/* 028BAFC0 */ cpu->r[0] = cpu->lr;
/* 028BAFC4 */ _t2 = cpu->r[1] + 0x00000044u;
/* 028BAFC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BAFC8 */ /* nop */
/* 028BAFCC */ cpu->r[3] = cpu->r[25];
/* 028BAFD0 */ cpu->r[23] = cpu->r[4];
/* 028BAFD4 */ _t3 = cpu->r[1] + 0x00000038u;
/* 028BAFD4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028BAFD8 */ Gambit_fn_02836FFC(cpu);
/* 028BAFDC */ _t4 = cpu->r[31] + 0x0000003Cu;
/* 028BAFDC */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
/* 028BAFE0 */ cpu->r[0] = cpu->r[31] + 0x00000030u;
/* 028BAFE4 */ _t5 = cpu->r[31] + 0x00000034u;
/* 028BAFE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028BAFE8 */ cpu->r[28] = cpu->r[0] - cpu->r[27];
/* 028BAFEC */ cpu->r[30] = cpu->r[12] - cpu->r[27];
/* 028BAFF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[28]);
/* 028BAFF4 */ _t6 = cpu->r[12] + 0x00000004u;
/* 028BAFF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
/* 028BAFF8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BAFF8 */ _t8 = _t7 & 0x00000001u;
/* 028BAFF8 */ if (_t8) goto L_028BB0D0; else goto L_028BAFFC;
L_028BAFFC: ; // 0x28baffc
/* 028BAFFC */ cpu->r[4] = 0x10140000u;
/* 028BB000 */ cpu->r[31] = 0x10110000u;
/* 028BB004 */ _t9 = cpu->r[4] + 0xFFFF8F50u;
/* 028BB004 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028BB008 */ _t10 = cpu->r[31] + 0x00007399u;
/* 028BB008 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
L_028BB00C: ; // 0x28bb00c
/* 028BB00C */ cpu->r[3] = cpu->r[30];
/* 028BB010 */ Gambit_fn_028BD9A0(cpu);
/* 028BB014 */ _t11 = cpu->r[3] + 0x00000004u;
/* 028BB014 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
/* 028BB018 */ _t12 = cpu->r[5] + 0x00000014u;
/* 028BB018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BB01C */ cpu->ctr = cpu->r[0];
/* 028BB020 */ cpu->r[24] = cpu->r[3];
/* 028BB024 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB028 */ _t13 = cpu->r[24] + 0x00000004u;
/* 028BB028 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028BB02C */ _t14 = cpu->r[11] + 0x00000014u;
/* 028BB02C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028BB030 */ cpu->ctr = cpu->r[4];
/* 028BB034 */ cpu->r[3] = cpu->r[24];
/* 028BB038 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB03C */ _t15 = cpu->r[23] + 0x00000004u;
/* 028BB03C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
/* 028BB040 */ _t16 = cpu->r[5] + 0x00000014u;
/* 028BB040 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
/* 028BB044 */ cpu->ctr = cpu->r[6];
/* 028BB048 */ _t17 = cpu->r[24] + 0x00000000u;
/* 028BB048 */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
/* 028BB04C */ cpu->r[3] = cpu->r[23];
/* 028BB050 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB054 */ _t18 = cpu->r[23] + 0x00000000u;
/* 028BB054 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
/* 028BB058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[7]);
/* 028BB05C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB05C */ _t20 = _t19 & 0x00000001u;
/* 028BB05C */ if (_t20) goto L_028BB0B0; else goto L_028BB060;
L_028BB060: ; // 0x28bb060
/* 028BB060 */ cpu->r[0] = 0x00080000u;
/* 028BB064 */ _t21 = cpu->r[24] + 0x00000000u;
/* 028BB064 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028BB068 */ cpu->ctr = cpu->r[0];
/* 028BB06C */ _t22 = cpu->r[23] + 0x00000000u;
/* 028BB06C */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
/* 028BB070 */ cpu->r[12] = 0x00000000u;
L_028BB074: ; // 0x28bb074
/* 028BB074 */ _t23 = cpu->r[8] + 0x00000000u;
/* 028BB074 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
/* 028BB078 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028BB07C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB07C */ _t25 = _t24 & 0x00000001u;
/* 028BB07C */ if (_t25) goto L_028BB080; else goto L_028BB090;
L_028BB080: ; // 0x28bb080
/* 028BB080 */ _t26 = cpu->r[10] + cpu->r[12];
/* 028BB080 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
/* 028BB084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028BB088 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB088 */ _t28 = _t27 & 0x00000001u;
/* 028BB088 */ if (_t28) goto L_028BB08C; else goto L_028BB0C0;
L_028BB08C: ; // 0x28bb08c
/* 028BB08C */ goto L_028BB0B0;
L_028BB090: ; // 0x28bb090
/* 028BB090 */ _t29 = cpu->r[10] + cpu->r[12];
/* 028BB090 */ cpu->r[9] = rbrew_read8(cpu->mem, _t29);
/* 028BB094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028BB098 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB098 */ _t31 = _t30 & 0x00000001u;
/* 028BB098 */ if (_t31) goto L_028BB0C0; else goto L_028BB09C;
L_028BB09C: ; // 0x28bb09c
/* 028BB09C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
/* 028BB0A0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB0A0 */ _t33 = _t32 & 0x00000001u;
/* 028BB0A0 */ if (_t33) goto L_028BB0A4; else goto L_028BB0C0;
L_028BB0A4: ; // 0x28bb0a4
/* 028BB0A4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028BB0A8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028BB0AC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BB0AC */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BB0AC */ _t35 = _t34 >> (0x00000002u & 31u);
/* 028BB0AC */ _t36 = _t35 & 0x00000001u;
/* 028BB0AC */ if (_t36) goto L_028BB074; else goto L_028BB0B0;
L_028BB0B0: ; // 0x28bb0b0
/* 028BB0B0 */ cpu->f[2] = cpu->f[31];
/* 028BB0B4 */ cpu->r[3] = cpu->r[30];
/* 028BB0B8 */ cpu->f[1] = cpu->f[31];
/* 028BB0BC */ Gambit_fn_028BDC2C(cpu);
L_028BB0C0: ; // 0x28bb0c0
/* 028BB0C0 */ cpu->r[30] = cpu->r[29] - cpu->r[27];
/* 028BB0C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[28]);
/* 028BB0C8 */ _t37 = cpu->r[29] + 0x00000004u;
/* 028BB0C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
/* 028BB0CC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB0CC */ _t39 = _t38 & 0x00000001u;
/* 028BB0CC */ if (_t39) goto L_028BB0D0; else goto L_028BB00C;
L_028BB0D0: ; // 0x28bb0d0
/* 028BB0D0 */ cpu->r[3] = cpu->r[25];
/* 028BB0D4 */ Gambit_fn_02837030(cpu);
/* 028BB0D8 */ /* nop */
/* 028BB0DC */ _t40 = cpu->r[1] + 0x00000038u;
/* 028BB0DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
/* 028BB0E0 */ _t41 = cpu->r[1] + 0x00000030u;
/* 028BB0E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t41);
/* 028BB0E4 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BB0E4 */ _t43 = _t42 & 0x00000001u;
/* 028BB0E4 */ if (_t43) goto L_028BB0E8; // else: addr-0 trap, fall-through
L_028BB0E8: ; // 0x28bb0e8
/* 028BB0E8 */ _t44 = cpu->r[1] + 0x00000044u;
/* 028BB0E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028BB0EC */ cpu->lr = cpu->r[0];
/* 028BB0F0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
/* 028BB0F4 */ return;
}
// fn_028BB0F8 @ 0x28bb0f8
void Gambit_fn_028BB0F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028BB0F8: ; // 0x28bb0f8
/* 028BB0F8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028BB0F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB0F8 */ cpu->r[1] = _t0;
/* 028BB0FC */ /* nop */
/* 028BB100 */ cpu->r[31] = cpu->r[3];
/* 028BB104 */ cpu->r[24] = cpu->r[31] + 0x00000084u;
/* 028BB108 */ cpu->r[3] = cpu->r[24];
/* 028BB10C */ cpu->r[0] = cpu->lr;
/* 028BB110 */ cpu->r[26] = cpu->r[4];
/* 028BB114 */ cpu->r[28] = 0x00000000u;
/* 028BB118 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028BB118 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BB11C */ Gambit_fn_02836FFC(cpu);
/* 028BB120 */ _t2 = cpu->r[31] + 0x0000003Cu;
/* 028BB120 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
/* 028BB124 */ cpu->r[0] = cpu->r[31] + 0x00000030u;
/* 028BB128 */ _t3 = cpu->r[31] + 0x00000034u;
/* 028BB128 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BB12C */ cpu->r[31] = cpu->r[0] - cpu->r[29];
/* 028BB130 */ cpu->r[27] = cpu->r[12] - cpu->r[29];
/* 028BB134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
/* 028BB138 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB138 */ _t5 = _t4 & 0x00000001u;
/* 028BB138 */ if (_t5) goto L_028BB200; else goto L_028BB13C;
L_028BB13C: ; // 0x28bb13c
/* 028BB13C */ cpu->r[30] = 0x10110000u;
/* 028BB140 */ _t6 = cpu->r[30] + 0x00007399u;
/* 028BB140 */ cpu->r[30] = rbrew_read8(cpu->mem, _t6);
L_028BB144: ; // 0x28bb144
/* 028BB144 */ cpu->r[3] = cpu->r[27];
/* 028BB148 */ Gambit_fn_028BD9A0(cpu);
/* 028BB14C */ _t7 = cpu->r[3] + 0x00000004u;
/* 028BB14C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
/* 028BB150 */ _t8 = cpu->r[5] + 0x00000014u;
/* 028BB150 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
/* 028BB154 */ cpu->ctr = cpu->r[6];
/* 028BB158 */ cpu->r[23] = cpu->r[3];
/* 028BB15C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB160 */ _t9 = cpu->r[23] + 0x00000004u;
/* 028BB160 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
/* 028BB164 */ _t10 = cpu->r[7] + 0x00000014u;
/* 028BB164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
/* 028BB168 */ cpu->ctr = cpu->r[8];
/* 028BB16C */ cpu->r[3] = cpu->r[23];
/* 028BB170 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB174 */ _t11 = cpu->r[26] + 0x00000004u;
/* 028BB174 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028BB178 */ _t12 = cpu->r[11] + 0x00000014u;
/* 028BB178 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028BB17C */ cpu->ctr = cpu->r[12];
/* 028BB180 */ _t13 = cpu->r[23] + 0x00000000u;
/* 028BB180 */ cpu->r[25] = rbrew_read32(cpu->mem, _t13);
/* 028BB184 */ cpu->r[3] = cpu->r[26];
/* 028BB188 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB18C */ _t14 = cpu->r[26] + 0x00000000u;
/* 028BB18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BB190 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
/* 028BB194 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB194 */ _t16 = _t15 & 0x00000001u;
/* 028BB194 */ if (_t16) goto L_028BB1E8; else goto L_028BB198;
L_028BB198: ; // 0x28bb198
/* 028BB198 */ cpu->r[9] = 0x00080000u;
/* 028BB19C */ _t17 = cpu->r[23] + 0x00000000u;
/* 028BB19C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028BB1A0 */ cpu->ctr = cpu->r[9];
/* 028BB1A4 */ _t18 = cpu->r[26] + 0x00000000u;
/* 028BB1A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
/* 028BB1A8 */ cpu->r[10] = 0x00000000u;
L_028BB1AC: ; // 0x28bb1ac
/* 028BB1AC */ _t19 = cpu->r[4] + 0x00000000u;
/* 028BB1AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
/* 028BB1B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
/* 028BB1B4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB1B4 */ _t21 = _t20 & 0x00000001u;
/* 028BB1B4 */ if (_t21) goto L_028BB1B8; else goto L_028BB1C8;
L_028BB1B8: ; // 0x28bb1b8
/* 028BB1B8 */ _t22 = cpu->r[8] + cpu->r[10];
/* 028BB1B8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
/* 028BB1BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
/* 028BB1C0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB1C0 */ _t24 = _t23 & 0x00000001u;
/* 028BB1C0 */ if (_t24) goto L_028BB1C4; else goto L_028BB1EC;
L_028BB1C4: ; // 0x28bb1c4
/* 028BB1C4 */ goto L_028BB1E8;
L_028BB1C8: ; // 0x28bb1c8
/* 028BB1C8 */ _t25 = cpu->r[8] + cpu->r[10];
/* 028BB1C8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t25);
/* 028BB1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
/* 028BB1D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB1D0 */ _t27 = _t26 & 0x00000001u;
/* 028BB1D0 */ if (_t27) goto L_028BB1EC; else goto L_028BB1D4;
L_028BB1D4: ; // 0x28bb1d4
/* 028BB1D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
/* 028BB1D8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB1D8 */ _t29 = _t28 & 0x00000001u;
/* 028BB1D8 */ if (_t29) goto L_028BB1DC; else goto L_028BB1EC;
L_028BB1DC: ; // 0x28bb1dc
/* 028BB1DC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028BB1E0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028BB1E4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BB1E4 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BB1E4 */ _t31 = _t30 >> (0x00000002u & 31u);
/* 028BB1E4 */ _t32 = _t31 & 0x00000001u;
/* 028BB1E4 */ if (_t32) goto L_028BB1AC; else goto L_028BB1E8;
L_028BB1E8: ; // 0x28bb1e8
/* 028BB1E8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
L_028BB1EC: ; // 0x28bb1ec
/* 028BB1EC */ cpu->r[11] = cpu->r[27] + cpu->r[29];
/* 028BB1F0 */ _t33 = cpu->r[11] + 0x00000004u;
/* 028BB1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028BB1F4 */ cpu->r[27] = cpu->r[0] - cpu->r[29];
/* 028BB1F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
/* 028BB1FC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB1FC */ _t35 = _t34 & 0x00000001u;
/* 028BB1FC */ if (_t35) goto L_028BB200; else goto L_028BB144;
L_028BB200: ; // 0x28bb200
/* 028BB200 */ cpu->r[3] = cpu->r[24];
/* 028BB204 */ Gambit_fn_02837030(cpu);
/* 028BB208 */ cpu->r[3] = cpu->r[28];
/* 028BB20C */ /* nop */
/* 028BB210 */ _t36 = cpu->r[1] + 0x00000034u;
/* 028BB210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
/* 028BB214 */ cpu->lr = cpu->r[0];
/* 028BB218 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028BB21C */ return;
}
// fn_028BB220 @ 0x28bb220
void Gambit_fn_028BB220(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_028BB220: ; // 0x28bb220
/* 028BB220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB224 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB224 */ _t17 = _t16 & 0x00000001u;
/* 028BB224 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BB224 */ goto L_028BB228;
L_028BB228: ; // 0x28bb228
/* 028BB228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BB228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB22C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB22C */ _t19 = _t18 & 0x00000001u;
/* 028BB22C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BB22C */ goto L_028BB230;
L_028BB230: ; // 0x28bb230
/* 028BB230 */ goto L_02801BB0;
}
// fn_028BB234 @ 0x28bb234
void Gambit_fn_028BB234(CPUState* cpu) {
L_028BB234: ; // 0x28bb234
/* 028BB234 */ return;
}
// fn_028BB238 @ 0x28bb238
void Gambit_fn_028BB238(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028BB238: ; // 0x28bb238
/* 028BB238 */ cpu->r[0] = cpu->lr;
/* 028BB23C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BB23C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BB240 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BB240 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BB240 */ cpu->r[1] = _t1;
/* 028BB244 */ Gambit_fn_028D533C(cpu);
/* 028BB248 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BB248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BB24C */ cpu->lr = cpu->r[0];
/* 028BB250 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BB254 */ cpu->r[3] = cpu->r[3] + 0x00000330u;
/* 028BB258 */ return;
}
// fn_028BB240 @ 0x28bb240
void Gambit_fn_028BB240(CPUState* cpu) {
uint32_t _t0, _t1;
L_028BB240: ; // 0x28bb240
/* 028BB240 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BB240 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB240 */ cpu->r[1] = _t0;
/* 028BB244 */ Gambit_fn_028D533C(cpu);
/* 028BB248 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BB248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BB24C */ cpu->lr = cpu->r[0];
/* 028BB250 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BB254 */ cpu->r[3] = cpu->r[3] + 0x00000330u;
/* 028BB258 */ return;
}
// fn_028BB25C @ 0x28bb25c
void Gambit_fn_028BB25C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BB25C: ; // 0x28bb25c
/* 028BB25C */ cpu->r[0] = cpu->lr;
/* 028BB260 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BB260 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB260 */ cpu->r[1] = _t0;
/* 028BB264 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BB264 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BB268 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BB268 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BB26C */ cpu->r[31] = cpu->r[4];
/* 028BB26C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB270 */ cpu->r[30] = cpu->r[3];
/* 028BB274 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BB274 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BB278 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB278 */ _t5 = _t4 & 0x00000001u;
/* 028BB278 */ if (_t5) goto L_028BB2C4; else goto L_028BB27C;
L_028BB27C: ; // 0x28bb27c
/* 028BB27C */ _t6 = cpu->r[30] + 0x000000ECu;
/* 028BB27C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BB280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB284 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB284 */ _t8 = _t7 & 0x00000001u;
/* 028BB284 */ if (_t8) goto L_028BB2C4; else goto L_028BB288;
L_028BB288: ; // 0x28bb288
/* 028BB288 */ cpu->r[4] = cpu->r[31];
/* 028BB28C */ Gambit_fn_028CB154(cpu);
/* 028BB290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB294 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB294 */ _t10 = _t9 & 0x00000001u;
/* 028BB294 */ if (_t10) goto L_028BB2C4; else goto L_028BB298;
L_028BB298: ; // 0x28bb298
/* 028BB298 */ _t11 = cpu->r[31] + 0x0000012Cu;
/* 028BB298 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028BB29C */ Gambit_fn_028C2A0C(cpu);
/* 028BB2A0 */ cpu->r[4] = cpu->r[30];
/* 028BB2A4 */ Gambit_fn_028BAE98(cpu);
/* 028BB2A8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028BB2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BB2AC */ _t13 = cpu->r[1] + 0x00000008u;
/* 028BB2AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028BB2B0 */ cpu->lr = cpu->r[0];
/* 028BB2B4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BB2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BB2B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB2BC */ cpu->r[3] = 0x00000001u;
/* 028BB2C0 */ return;
L_028BB2C4: ; // 0x28bb2c4
/* 028BB2C4 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028BB2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BB2C8 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028BB2C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028BB2CC */ cpu->lr = cpu->r[0];
/* 028BB2D0 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BB2D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BB2D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB2D8 */ cpu->r[3] = 0x00000000u;
/* 028BB2DC */ return;
}
// fn_028BB260 @ 0x28bb260
void Gambit_fn_028BB260(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BB260: ; // 0x28bb260
/* 028BB260 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BB260 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB260 */ cpu->r[1] = _t0;
/* 028BB264 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BB264 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BB268 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BB268 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BB26C */ cpu->r[31] = cpu->r[4];
/* 028BB26C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB270 */ cpu->r[30] = cpu->r[3];
/* 028BB274 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BB274 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BB278 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB278 */ _t5 = _t4 & 0x00000001u;
/* 028BB278 */ if (_t5) goto L_028BB2C4; else goto L_028BB27C;
L_028BB27C: ; // 0x28bb27c
/* 028BB27C */ _t6 = cpu->r[30] + 0x000000ECu;
/* 028BB27C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BB280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB284 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB284 */ _t8 = _t7 & 0x00000001u;
/* 028BB284 */ if (_t8) goto L_028BB2C4; else goto L_028BB288;
L_028BB288: ; // 0x28bb288
/* 028BB288 */ cpu->r[4] = cpu->r[31];
/* 028BB28C */ Gambit_fn_028CB154(cpu);
/* 028BB290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB294 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB294 */ _t10 = _t9 & 0x00000001u;
/* 028BB294 */ if (_t10) goto L_028BB2C4; else goto L_028BB298;
L_028BB298: ; // 0x28bb298
/* 028BB298 */ _t11 = cpu->r[31] + 0x0000012Cu;
/* 028BB298 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028BB29C */ Gambit_fn_028C2A0C(cpu);
/* 028BB2A0 */ cpu->r[4] = cpu->r[30];
/* 028BB2A4 */ Gambit_fn_028BAE98(cpu);
/* 028BB2A8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028BB2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BB2AC */ _t13 = cpu->r[1] + 0x00000008u;
/* 028BB2AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028BB2B0 */ cpu->lr = cpu->r[0];
/* 028BB2B4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BB2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BB2B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB2BC */ cpu->r[3] = 0x00000001u;
/* 028BB2C0 */ return;
L_028BB2C4: ; // 0x28bb2c4
/* 028BB2C4 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028BB2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BB2C8 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028BB2C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028BB2CC */ cpu->lr = cpu->r[0];
/* 028BB2D0 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BB2D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BB2D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB2D8 */ cpu->r[3] = 0x00000000u;
/* 028BB2DC */ return;
}
// fn_028BB2E0 @ 0x28bb2e0
void Gambit_fn_028BB2E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_028BB2E0: ; // 0x28bb2e0
/* 028BB2E0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028BB2E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB2E0 */ cpu->r[1] = _t0;
/* 028BB2E4 */ /* nop */
/* 028BB2E8 */ cpu->r[0] = cpu->lr;
/* 028BB2EC */ _t1 = cpu->r[1] + 0x00000034u;
/* 028BB2EC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BB2F0 */ cpu->r[28] = 0x101D0000u;
/* 028BB2F4 */ _t2 = cpu->r[28] + 0xFFFF9A84u;
/* 028BB2F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
/* 028BB2F4 */ cpu->r[28] = _t2;
/* 028BB2F8 */ cpu->r[29] = cpu->r[3];
/* 028BB2FC */ _t3 = cpu->r[10] + 0x00000014u;
/* 028BB2FC */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
/* 028BB300 */ cpu->r[30] = cpu->r[4];
/* 028BB304 */ cpu->r[31] = cpu->r[5];
/* 028BB308 */ cpu->r[27] = 0x101F0000u;
/* 028BB30C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BB310 */ cpu->r[27] = cpu->r[27] + 0x00006FD0u;
/* 028BB314 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB314 */ _t5 = _t4 & 0x00000001u;
/* 028BB314 */ if (_t5) goto L_028BB318; else goto L_028BB328;
L_028BB318: ; // 0x28bb318
/* 028BB318 */ _t6 = cpu->r[10] + 0x0000001Cu;
/* 028BB318 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BB31C */ Gambit_fn_028BADD4(cpu);
/* 028BB320 */ cpu->r[26] = cpu->r[3];
/* 028BB320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028BB324 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB324 */ _t8 = _t7 & 0x00000001u;
/* 028BB324 */ if (_t8) goto L_028BB328; else goto L_028BB354;
L_028BB328: ; // 0x28bb328
/* 028BB328 */ _t9 = cpu->r[27] + 0x00000000u;
/* 028BB328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BB32C */ _t10 = cpu->r[27] + 0x00000004u;
/* 028BB32C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028BB330 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028BB330 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028BB334 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028BB334 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028BB338 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BB338 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
/* 028BB33C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BB33C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028BB340 */ /* nop */
/* 028BB344 */ _t15 = cpu->r[1] + 0x00000034u;
/* 028BB344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BB348 */ cpu->lr = cpu->r[0];
/* 028BB34C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028BB350 */ return;
L_028BB354: ; // 0x28bb354
/* 028BB354 */ cpu->r[5] = cpu->r[31];
/* 028BB358 */ cpu->r[4] = cpu->r[30];
/* 028BB35C */ cpu->r[3] = cpu->r[26];
/* 028BB360 */ Gambit_fn_028BE404(cpu);
/* 028BB364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB368 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB368 */ _t17 = _t16 & 0x00000001u;
/* 028BB368 */ if (_t17) goto L_028BB36C; else goto L_028BB3A8;
L_028BB36C: ; // 0x28bb36c
/* 028BB36C */ _t18 = cpu->r[28] + 0x00000000u;
/* 028BB36C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028BB370 */ _t19 = cpu->r[12] + 0x0000001Cu;
/* 028BB370 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028BB374 */ cpu->r[4] = cpu->r[26];
/* 028BB378 */ Gambit_fn_028BA99C(cpu);
/* 028BB37C */ _t20 = cpu->r[27] + 0x00000000u;
/* 028BB37C */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028BB380 */ _t21 = cpu->r[27] + 0x00000004u;
/* 028BB380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
/* 028BB384 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028BB384 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
/* 028BB388 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028BB388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028BB38C */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BB38C */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
/* 028BB390 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028BB390 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
/* 028BB394 */ /* nop */
/* 028BB398 */ _t26 = cpu->r[1] + 0x00000034u;
/* 028BB398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028BB39C */ cpu->lr = cpu->r[0];
/* 028BB3A0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028BB3A4 */ return;
L_028BB3A8: ; // 0x28bb3a8
/* 028BB3A8 */ _t27 = cpu->r[29] + 0x00000138u;
/* 028BB3A8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t27);
/* 028BB3AC */ cpu->r[3] = cpu->r[26] + 0x00000140u;
/* 028BB3B0 */ Gambit_fn_028E1468(cpu);
/* 028BB3B4 */ _t28 = cpu->r[29] + 0x00000139u;
/* 028BB3B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t28);
/* 028BB3B8 */ cpu->r[3] = cpu->r[26] + 0x00000140u;
/* 028BB3BC */ Gambit_fn_028E1470(cpu);
/* 028BB3C0 */ _t29 = cpu->r[29] + 0x00000138u;
/* 028BB3C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
/* 028BB3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB3C8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB3C8 */ _t31 = _t30 & 0x00000001u;
/* 028BB3C8 */ if (_t31) goto L_028BB40C; else goto L_028BB3CC;
L_028BB3CC: ; // 0x28bb3cc
/* 028BB3CC */ cpu->r[31] = cpu->r[29] + 0x0000015Cu;
/* 028BB3D0 */ cpu->r[3] = cpu->r[31];
/* 028BB3D4 */ Gambit_fn_02836FFC(cpu);
/* 028BB3D8 */ _t32 = cpu->r[29] + 0x00000158u;
/* 028BB3D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028BB3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB3E0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB3E0 */ _t34 = _t33 & 0x00000001u;
/* 028BB3E0 */ if (_t34) goto L_028BB3E4; else goto L_028BB3F8;
L_028BB3E4: ; // 0x28bb3e4
/* 028BB3E4 */ Gambit_fn_028C2A0C(cpu);
/* 028BB3E8 */ _t35 = cpu->r[3] + 0x00000040u;
/* 028BB3E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028BB3EC */ cpu->r[4] = cpu->r[29] + 0x0000013Cu;
/* 028BB3F0 */ Gambit_fn_028E0784(cpu);
/* 028BB3F4 */ _t36 = cpu->r[29] + 0x00000158u;
/* 028BB3F4 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
L_028BB3F8: ; // 0x28bb3f8
/* 028BB3F8 */ cpu->r[3] = cpu->r[31];
/* 028BB3FC */ Gambit_fn_02837030(cpu);
/* 028BB400 */ cpu->r[3] = cpu->r[26] + 0x00000140u;
/* 028BB404 */ cpu->r[4] = cpu->r[29] + 0x0000013Cu;
/* 028BB408 */ Gambit_fn_028E1584(cpu);
L_028BB40C: ; // 0x28bb40c
/* 028BB40C */ cpu->r[4] = cpu->r[26];
/* 028BB410 */ cpu->r[3] = cpu->r[29];
/* 028BB414 */ Gambit_fn_028BB25C(cpu);
/* 028BB418 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028BB41C */ Gambit_fn_028BBF0C(cpu);
/* 028BB420 */ cpu->r[4] = cpu->r[26];
/* 028BB424 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028BB428 */ Gambit_fn_028BC3B4(cpu);
/* 028BB42C */ _t37 = cpu->r[1] + 0x00000010u;
/* 028BB42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028BB430 */ _t38 = cpu->r[1] + 0x00000014u;
/* 028BB430 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
/* 028BB434 */ _t39 = cpu->r[1] + 0x00000008u;
/* 028BB434 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
/* 028BB438 */ _t40 = cpu->r[1] + 0x00000008u;
/* 028BB438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
/* 028BB43C */ _t41 = cpu->r[1] + 0x0000000Cu;
/* 028BB43C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
/* 028BB440 */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 028BB440 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
/* 028BB444 */ /* nop */
/* 028BB448 */ _t43 = cpu->r[1] + 0x00000034u;
/* 028BB448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
/* 028BB44C */ cpu->lr = cpu->r[0];
/* 028BB450 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028BB454 */ return;
}
// fn_028BB458 @ 0x28bb458
void Gambit_fn_028BB458(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BB458: ; // 0x28bb458
/* 028BB458 */ cpu->r[0] = cpu->lr;
/* 028BB45C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BB45C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BB460 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BB460 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BB460 */ cpu->r[1] = _t1;
/* 028BB464 */ _t2 = cpu->r[3] + 0x000000ECu;
/* 028BB464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BB468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB46C */ cpu->r[3] = 0x00000000u;
/* 028BB470 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB470 */ _t4 = _t3 & 0x00000001u;
/* 028BB470 */ if (_t4) goto L_028BB484; else goto L_028BB474;
L_028BB474: ; // 0x28bb474
/* 028BB474 */ cpu->r[3] = cpu->r[0];
/* 028BB478 */ Gambit_fn_028CBD90(cpu);
/* 028BB47C */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
/* 028BB480 */ cpu->r[3] = cpu->r[3] - cpu->r[12];
L_028BB484: ; // 0x28bb484
/* 028BB484 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BB484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BB488 */ cpu->lr = cpu->r[0];
/* 028BB48C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BB490 */ return;
}
// fn_028BB460 @ 0x28bb460
void Gambit_fn_028BB460(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BB460: ; // 0x28bb460
/* 028BB460 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BB460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB460 */ cpu->r[1] = _t0;
/* 028BB464 */ _t1 = cpu->r[3] + 0x000000ECu;
/* 028BB464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BB468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB46C */ cpu->r[3] = 0x00000000u;
/* 028BB470 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB470 */ _t3 = _t2 & 0x00000001u;
/* 028BB470 */ if (_t3) goto L_028BB484; else goto L_028BB474;
L_028BB474: ; // 0x28bb474
/* 028BB474 */ cpu->r[3] = cpu->r[0];
/* 028BB478 */ Gambit_fn_028CBD90(cpu);
/* 028BB47C */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
/* 028BB480 */ cpu->r[3] = cpu->r[3] - cpu->r[12];
L_028BB484: ; // 0x28bb484
/* 028BB484 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BB484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BB488 */ cpu->lr = cpu->r[0];
/* 028BB48C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BB490 */ return;
}
// fn_028BB494 @ 0x28bb494
void Gambit_fn_028BB494(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BB494: ; // 0x28bb494
/* 028BB494 */ cpu->r[0] = cpu->lr;
/* 028BB498 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BB498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB498 */ cpu->r[1] = _t0;
/* 028BB49C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028BB49C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BB4A0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BB4A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BB4A4 */ cpu->r[31] = cpu->r[3];
/* 028BB4A8 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BB4A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BB4AC */ _t4 = cpu->r[31] + 0x000000F0u;
/* 028BB4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BB4B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB4B4 */ cpu->r[30] = cpu->r[5];
/* 028BB4B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB4B8 */ _t6 = _t5 & 0x00000001u;
/* 028BB4B8 */ if (_t6) goto L_028BB4F4; else goto L_028BB4BC;
L_028BB4BC: ; // 0x28bb4bc
/* 028BB4BC */ _t7 = cpu->r[4] + 0x00000000u;
/* 028BB4BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028BB4C0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028BB4C4 */ cpu->r[4] = cpu->r[0];
/* 028BB4C8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BB4C8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028BB4CC */ Gambit_fn_028D525C(cpu);
/* 028BB4D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB4D4 */ _t9 = cpu->r[31] + 0x000000F4u;
/* 028BB4D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
/* 028BB4D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB4D8 */ _t11 = _t10 & 0x00000001u;
/* 028BB4D8 */ if (_t11) goto L_028BB4F4; else goto L_028BB4DC;
L_028BB4DC: ; // 0x28bb4dc
/* 028BB4DC */ _t12 = cpu->r[1] + 0x00000008u;
/* 028BB4DC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
/* 028BB4E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BB4E4 */ Gambit_fn_028D49C4(cpu);
/* 028BB4E8 */ _t13 = cpu->r[31] + 0x000000F4u;
/* 028BB4E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028BB4EC */ cpu->r[0] = 0x00000003u;
/* 028BB4F0 */ _t14 = cpu->r[12] + 0x00000004u;
/* 028BB4F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
L_028BB4F4: ; // 0x28bb4f4
/* 028BB4F4 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028BB4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BB4F8 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028BB4F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028BB4FC */ cpu->lr = cpu->r[0];
/* 028BB500 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BB500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BB504 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB508 */ return;
}
// fn_028BB498 @ 0x28bb498
void Gambit_fn_028BB498(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BB498: ; // 0x28bb498
/* 028BB498 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BB498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB498 */ cpu->r[1] = _t0;
/* 028BB49C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028BB49C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BB4A0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BB4A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BB4A4 */ cpu->r[31] = cpu->r[3];
/* 028BB4A8 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BB4A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BB4AC */ _t4 = cpu->r[31] + 0x000000F0u;
/* 028BB4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BB4B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB4B4 */ cpu->r[30] = cpu->r[5];
/* 028BB4B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB4B8 */ _t6 = _t5 & 0x00000001u;
/* 028BB4B8 */ if (_t6) goto L_028BB4F4; else goto L_028BB4BC;
L_028BB4BC: ; // 0x28bb4bc
/* 028BB4BC */ _t7 = cpu->r[4] + 0x00000000u;
/* 028BB4BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028BB4C0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028BB4C4 */ cpu->r[4] = cpu->r[0];
/* 028BB4C8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BB4C8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028BB4CC */ Gambit_fn_028D525C(cpu);
/* 028BB4D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB4D4 */ _t9 = cpu->r[31] + 0x000000F4u;
/* 028BB4D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
/* 028BB4D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB4D8 */ _t11 = _t10 & 0x00000001u;
/* 028BB4D8 */ if (_t11) goto L_028BB4F4; else goto L_028BB4DC;
L_028BB4DC: ; // 0x28bb4dc
/* 028BB4DC */ _t12 = cpu->r[1] + 0x00000008u;
/* 028BB4DC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
/* 028BB4E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BB4E4 */ Gambit_fn_028D49C4(cpu);
/* 028BB4E8 */ _t13 = cpu->r[31] + 0x000000F4u;
/* 028BB4E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028BB4EC */ cpu->r[0] = 0x00000003u;
/* 028BB4F0 */ _t14 = cpu->r[12] + 0x00000004u;
/* 028BB4F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
L_028BB4F4: ; // 0x28bb4f4
/* 028BB4F4 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028BB4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BB4F8 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028BB4F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028BB4FC */ cpu->lr = cpu->r[0];
/* 028BB500 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BB500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BB504 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB508 */ return;
}
// fn_028BB50C @ 0x28bb50c
void Gambit_fn_028BB50C(CPUState* cpu) {
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_028BB50C: ; // 0x28bb50c
/* 028BB50C */ cpu->r[0] = cpu->lr;
/* 028BB510 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BB510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB510 */ cpu->r[1] = _t0;
/* 028BB514 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BB514 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028BB518 */ cpu->r[28] = cpu->r[3];
/* 028BB51C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BB51C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BB520 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BB520 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028BB524 */ cpu->r[30] = cpu->r[5];
/* 028BB528 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BB528 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BB52C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BB52C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BB530 */ cpu->r[29] = cpu->r[4];
/* 028BB534 */ Gambit_fn_028C2A44(cpu);
/* 028BB538 */ cpu->r[31] = cpu->r[3];
/* 028BB538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB53C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB53C */ _t7 = _t6 & 0x00000001u;
/* 028BB53C */ if (_t7) goto L_028BB564; else goto L_028BB540;
L_028BB540: ; // 0x28bb540
/* 028BB540 */ _t8 = cpu->r[31] + 0x0000005Cu;
/* 028BB540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028BB544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BB548 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB548 */ _t10 = _t9 & 0x00000001u;
/* 028BB548 */ if (_t10) goto L_028BB564; else goto L_028BB54C;
L_028BB54C: ; // 0x28bb54c
/* 028BB54C */ cpu->r[3] = cpu->r[31];
/* 028BB550 */ cpu->r[4] = cpu->r[30];
/* 028BB554 */ Gambit_fn_028CED50(cpu);
/* 028BB558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB55C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB55C */ _t12 = _t11 & 0x00000001u;
/* 028BB55C */ if (_t12) goto L_028BB564; else goto L_028BB560;
L_028BB560: ; // 0x28bb560
/* 028BB560 */ cpu->r[29] = cpu->r[31];
L_028BB564: ; // 0x28bb564
/* 028BB564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028BB568 */ cpu->r[3] = 0x00000000u;
/* 028BB56C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB56C */ _t14 = _t13 & 0x00000001u;
/* 028BB56C */ if (_t14) goto L_028BB58C; else goto L_028BB570;
L_028BB570: ; // 0x28bb570
/* 028BB570 */ _t15 = cpu->r[29] + 0x00000000u;
/* 028BB570 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
/* 028BB574 */ _t16 = cpu->r[11] + 0x0000000Cu;
/* 028BB574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BB578 */ cpu->ctr = cpu->r[0];
/* 028BB57C */ cpu->r[3] = cpu->r[29];
/* 028BB580 */ cpu->r[4] = cpu->r[28];
/* 028BB584 */ cpu->r[5] = cpu->r[30];
/* 028BB588 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BB58C: ; // 0x28bb58c
/* 028BB58C */ _t17 = cpu->r[1] + 0x00000008u;
/* 028BB58C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028BB590 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BB590 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028BB594 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028BB594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BB598 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028BB598 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028BB59C */ cpu->lr = cpu->r[0];
/* 028BB5A0 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028BB5A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BB5A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB5A8 */ return;
}
// fn_028BB510 @ 0x28bb510
void Gambit_fn_028BB510(CPUState* cpu) {
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_028BB510: ; // 0x28bb510
/* 028BB510 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BB510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB510 */ cpu->r[1] = _t0;
/* 028BB514 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BB514 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028BB518 */ cpu->r[28] = cpu->r[3];
/* 028BB51C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BB51C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BB520 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BB520 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028BB524 */ cpu->r[30] = cpu->r[5];
/* 028BB528 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BB528 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BB52C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BB52C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BB530 */ cpu->r[29] = cpu->r[4];
/* 028BB534 */ Gambit_fn_028C2A44(cpu);
/* 028BB538 */ cpu->r[31] = cpu->r[3];
/* 028BB538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB53C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB53C */ _t7 = _t6 & 0x00000001u;
/* 028BB53C */ if (_t7) goto L_028BB564; else goto L_028BB540;
L_028BB540: ; // 0x28bb540
/* 028BB540 */ _t8 = cpu->r[31] + 0x0000005Cu;
/* 028BB540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028BB544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BB548 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB548 */ _t10 = _t9 & 0x00000001u;
/* 028BB548 */ if (_t10) goto L_028BB564; else goto L_028BB54C;
L_028BB54C: ; // 0x28bb54c
/* 028BB54C */ cpu->r[3] = cpu->r[31];
/* 028BB550 */ cpu->r[4] = cpu->r[30];
/* 028BB554 */ Gambit_fn_028CED50(cpu);
/* 028BB558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB55C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB55C */ _t12 = _t11 & 0x00000001u;
/* 028BB55C */ if (_t12) goto L_028BB564; else goto L_028BB560;
L_028BB560: ; // 0x28bb560
/* 028BB560 */ cpu->r[29] = cpu->r[31];
L_028BB564: ; // 0x28bb564
/* 028BB564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028BB568 */ cpu->r[3] = 0x00000000u;
/* 028BB56C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB56C */ _t14 = _t13 & 0x00000001u;
/* 028BB56C */ if (_t14) goto L_028BB58C; else goto L_028BB570;
L_028BB570: ; // 0x28bb570
/* 028BB570 */ _t15 = cpu->r[29] + 0x00000000u;
/* 028BB570 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
/* 028BB574 */ _t16 = cpu->r[11] + 0x0000000Cu;
/* 028BB574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BB578 */ cpu->ctr = cpu->r[0];
/* 028BB57C */ cpu->r[3] = cpu->r[29];
/* 028BB580 */ cpu->r[4] = cpu->r[28];
/* 028BB584 */ cpu->r[5] = cpu->r[30];
/* 028BB588 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BB58C: ; // 0x28bb58c
/* 028BB58C */ _t17 = cpu->r[1] + 0x00000008u;
/* 028BB58C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028BB590 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BB590 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028BB594 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028BB594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BB598 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028BB598 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028BB59C */ cpu->lr = cpu->r[0];
/* 028BB5A0 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028BB5A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BB5A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB5A8 */ return;
}
// fn_028BB5AC @ 0x28bb5ac
void Gambit_fn_028BB5AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BB5AC: ; // 0x28bb5ac
/* 028BB5AC */ cpu->r[0] = cpu->lr;
/* 028BB5B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BB5B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB5B0 */ cpu->r[1] = _t0;
/* 028BB5B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BB5B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BB5B8 */ cpu->r[31] = cpu->r[3];
/* 028BB5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BB5C0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BB5C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BB5C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB5C4 */ _t4 = _t3 & 0x00000001u;
/* 028BB5C4 */ if (_t4) goto L_028BB61C; else goto L_028BB5C8;
L_028BB5C8: ; // 0x28bb5c8
/* 028BB5C8 */ _t5 = cpu->r[31] + 0x000000ECu;
/* 028BB5C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028BB5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB5D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB5D0 */ _t7 = _t6 & 0x00000001u;
/* 028BB5D0 */ if (_t7) goto L_028BB61C; else goto L_028BB5D4;
L_028BB5D4: ; // 0x28bb5d4
/* 028BB5D4 */ Gambit_fn_028CB3B4(cpu);
/* 028BB5D8 */ cpu->r[3] = cpu->r[31];
/* 028BB5DC */ Gambit_fn_028BB458(cpu);
/* 028BB5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB5E4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB5E4 */ _t9 = _t8 & 0x00000001u;
/* 028BB5E4 */ if (_t9) goto L_028BB5E8; else goto L_028BB61C;
L_028BB5E8: ; // 0x28bb5e8
/* 028BB5E8 */ Gambit_fn_028C2A0C(cpu);
/* 028BB5EC */ cpu->r[4] = cpu->r[31];
/* 028BB5F0 */ Gambit_fn_028BAF24(cpu);
/* 028BB5F4 */ _t10 = cpu->r[31] + 0x00000158u;
/* 028BB5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BB5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB5FC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB5FC */ _t12 = _t11 & 0x00000001u;
/* 028BB5FC */ if (_t12) goto L_028BB61C; else goto L_028BB600;
L_028BB600: ; // 0x28bb600
/* 028BB600 */ Gambit_fn_028DF144(cpu);
/* 028BB604 */ Gambit_fn_028C2A0C(cpu);
/* 028BB608 */ _t13 = cpu->r[3] + 0x00000040u;
/* 028BB608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028BB60C */ _t14 = cpu->r[31] + 0x00000158u;
/* 028BB60C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028BB610 */ Gambit_fn_028E0854(cpu);
/* 028BB614 */ cpu->r[0] = 0x00000000u;
/* 028BB618 */ _t15 = cpu->r[31] + 0x00000158u;
/* 028BB618 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
L_028BB61C: ; // 0x28bb61c
/* 028BB61C */ _t16 = cpu->r[1] + 0x00000014u;
/* 028BB61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BB620 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BB620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BB624 */ cpu->lr = cpu->r[0];
/* 028BB628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB62C */ return;
}
// fn_028BB5B0 @ 0x28bb5b0
void Gambit_fn_028BB5B0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BB5B0: ; // 0x28bb5b0
/* 028BB5B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BB5B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB5B0 */ cpu->r[1] = _t0;
/* 028BB5B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BB5B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BB5B8 */ cpu->r[31] = cpu->r[3];
/* 028BB5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BB5C0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BB5C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BB5C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB5C4 */ _t4 = _t3 & 0x00000001u;
/* 028BB5C4 */ if (_t4) goto L_028BB61C; else goto L_028BB5C8;
L_028BB5C8: ; // 0x28bb5c8
/* 028BB5C8 */ _t5 = cpu->r[31] + 0x000000ECu;
/* 028BB5C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028BB5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB5D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB5D0 */ _t7 = _t6 & 0x00000001u;
/* 028BB5D0 */ if (_t7) goto L_028BB61C; else goto L_028BB5D4;
L_028BB5D4: ; // 0x28bb5d4
/* 028BB5D4 */ Gambit_fn_028CB3B4(cpu);
/* 028BB5D8 */ cpu->r[3] = cpu->r[31];
/* 028BB5DC */ Gambit_fn_028BB458(cpu);
/* 028BB5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB5E4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB5E4 */ _t9 = _t8 & 0x00000001u;
/* 028BB5E4 */ if (_t9) goto L_028BB5E8; else goto L_028BB61C;
L_028BB5E8: ; // 0x28bb5e8
/* 028BB5E8 */ Gambit_fn_028C2A0C(cpu);
/* 028BB5EC */ cpu->r[4] = cpu->r[31];
/* 028BB5F0 */ Gambit_fn_028BAF24(cpu);
/* 028BB5F4 */ _t10 = cpu->r[31] + 0x00000158u;
/* 028BB5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BB5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB5FC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB5FC */ _t12 = _t11 & 0x00000001u;
/* 028BB5FC */ if (_t12) goto L_028BB61C; else goto L_028BB600;
L_028BB600: ; // 0x28bb600
/* 028BB600 */ Gambit_fn_028DF144(cpu);
/* 028BB604 */ Gambit_fn_028C2A0C(cpu);
/* 028BB608 */ _t13 = cpu->r[3] + 0x00000040u;
/* 028BB608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028BB60C */ _t14 = cpu->r[31] + 0x00000158u;
/* 028BB60C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028BB610 */ Gambit_fn_028E0854(cpu);
/* 028BB614 */ cpu->r[0] = 0x00000000u;
/* 028BB618 */ _t15 = cpu->r[31] + 0x00000158u;
/* 028BB618 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
L_028BB61C: ; // 0x28bb61c
/* 028BB61C */ _t16 = cpu->r[1] + 0x00000014u;
/* 028BB61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BB620 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BB620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BB624 */ cpu->lr = cpu->r[0];
/* 028BB628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB62C */ return;
}
// fn_028BB630 @ 0x28bb630
void Gambit_fn_028BB630(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_028BB630: ; // 0x28bb630
/* 028BB630 */ cpu->r[0] = cpu->lr;
/* 028BB634 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BB634 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB634 */ cpu->r[1] = _t0;
/* 028BB638 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BB638 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BB63C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BB63C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BB640 */ cpu->r[31] = cpu->r[3];
/* 028BB640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB644 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BB644 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BB648 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB648 */ _t5 = _t4 & 0x00000001u;
/* 028BB648 */ if (_t5) goto L_028BB64C; else goto L_028BB65C;
L_028BB64C: ; // 0x28bb64c
/* 028BB64C */ cpu->r[3] = 0x000001A0u;
/* 028BB650 */ Gambit_fn_02801A78(cpu);
/* 028BB654 */ cpu->r[31] = cpu->r[3];
/* 028BB654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB658 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB658 */ _t7 = _t6 & 0x00000001u;
/* 028BB658 */ if (_t7) goto L_028BB6B8; else goto L_028BB65C;
L_028BB65C: ; // 0x28bb65c
/* 028BB65C */ cpu->r[0] = 0x10140000u;
/* 028BB660 */ cpu->r[30] = 0x00000000u;
/* 028BB664 */ cpu->r[0] = cpu->r[0] + 0xFFFF8F9Cu;
/* 028BB668 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028BB668 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
/* 028BB66C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
/* 028BB670 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028BB670 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028BB674 */ Gambit_fn_028BD2E0(cpu);
/* 028BB678 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
/* 028BB67C */ Gambit_fn_028BD2E0(cpu);
/* 028BB680 */ cpu->r[3] = cpu->r[31] + 0x000000A0u;
/* 028BB684 */ Gambit_fn_028BD2E0(cpu);
/* 028BB688 */ _t10 = cpu->r[31] + 0x000000F4u;
/* 028BB688 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
/* 028BB68C */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BB690 */ _t11 = cpu->r[31] + 0x000000ECu;
/* 028BB690 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028BB694 */ _t12 = cpu->r[31] + 0x000000F8u;
/* 028BB694 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028BB698 */ cpu->r[3] = cpu->r[31] + 0x000000FCu;
/* 028BB69C */ _t13 = cpu->r[31] + 0x000000F0u;
/* 028BB69C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028BB6A0 */ Gambit_fn_028E1374(cpu);
/* 028BB6A4 */ cpu->r[3] = cpu->r[31] + 0x0000015Cu;
/* 028BB6A8 */ _t14 = cpu->r[31] + 0x00000158u;
/* 028BB6A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028BB6AC */ Gambit_fn_02836EBC(cpu);
/* 028BB6B0 */ _t15 = cpu->r[31] + 0x00000198u;
/* 028BB6B0 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028BB6B4 */ _t16 = cpu->r[31] + 0x0000019Cu;
/* 028BB6B4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
L_028BB6B8: ; // 0x28bb6b8
/* 028BB6B8 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BB6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BB6BC */ cpu->r[3] = cpu->r[31];
/* 028BB6C0 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BB6C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028BB6C4 */ cpu->lr = cpu->r[0];
/* 028BB6C8 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028BB6C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028BB6CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB6D0 */ return;
}
// fn_028BB634 @ 0x28bb634
void Gambit_fn_028BB634(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_028BB634: ; // 0x28bb634
/* 028BB634 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BB634 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB634 */ cpu->r[1] = _t0;
/* 028BB638 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BB638 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BB63C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BB63C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BB640 */ cpu->r[31] = cpu->r[3];
/* 028BB640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB644 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BB644 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BB648 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB648 */ _t5 = _t4 & 0x00000001u;
/* 028BB648 */ if (_t5) goto L_028BB64C; else goto L_028BB65C;
L_028BB64C: ; // 0x28bb64c
/* 028BB64C */ cpu->r[3] = 0x000001A0u;
/* 028BB650 */ Gambit_fn_02801A78(cpu);
/* 028BB654 */ cpu->r[31] = cpu->r[3];
/* 028BB654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB658 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB658 */ _t7 = _t6 & 0x00000001u;
/* 028BB658 */ if (_t7) goto L_028BB6B8; else goto L_028BB65C;
L_028BB65C: ; // 0x28bb65c
/* 028BB65C */ cpu->r[0] = 0x10140000u;
/* 028BB660 */ cpu->r[30] = 0x00000000u;
/* 028BB664 */ cpu->r[0] = cpu->r[0] + 0xFFFF8F9Cu;
/* 028BB668 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028BB668 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
/* 028BB66C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
/* 028BB670 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028BB670 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028BB674 */ Gambit_fn_028BD2E0(cpu);
/* 028BB678 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
/* 028BB67C */ Gambit_fn_028BD2E0(cpu);
/* 028BB680 */ cpu->r[3] = cpu->r[31] + 0x000000A0u;
/* 028BB684 */ Gambit_fn_028BD2E0(cpu);
/* 028BB688 */ _t10 = cpu->r[31] + 0x000000F4u;
/* 028BB688 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
/* 028BB68C */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BB690 */ _t11 = cpu->r[31] + 0x000000ECu;
/* 028BB690 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028BB694 */ _t12 = cpu->r[31] + 0x000000F8u;
/* 028BB694 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028BB698 */ cpu->r[3] = cpu->r[31] + 0x000000FCu;
/* 028BB69C */ _t13 = cpu->r[31] + 0x000000F0u;
/* 028BB69C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028BB6A0 */ Gambit_fn_028E1374(cpu);
/* 028BB6A4 */ cpu->r[3] = cpu->r[31] + 0x0000015Cu;
/* 028BB6A8 */ _t14 = cpu->r[31] + 0x00000158u;
/* 028BB6A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028BB6AC */ Gambit_fn_02836EBC(cpu);
/* 028BB6B0 */ _t15 = cpu->r[31] + 0x00000198u;
/* 028BB6B0 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028BB6B4 */ _t16 = cpu->r[31] + 0x0000019Cu;
/* 028BB6B4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
L_028BB6B8: ; // 0x28bb6b8
/* 028BB6B8 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BB6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BB6BC */ cpu->r[3] = cpu->r[31];
/* 028BB6C0 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BB6C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028BB6C4 */ cpu->lr = cpu->r[0];
/* 028BB6C8 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028BB6C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028BB6CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB6D0 */ return;
}
// fn_028BB6D4 @ 0x28bb6d4
void Gambit_fn_028BB6D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BB6D4: ; // 0x28bb6d4
/* 028BB6D4 */ cpu->r[0] = cpu->lr;
/* 028BB6D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BB6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB6D8 */ cpu->r[1] = _t0;
/* 028BB6DC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BB6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BB6E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BB6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BB6E4 */ cpu->r[31] = cpu->r[3];
/* 028BB6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB6E8 */ cpu->r[30] = cpu->r[4];
/* 028BB6EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BB6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BB6F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB6F0 */ _t5 = _t4 & 0x00000001u;
/* 028BB6F0 */ if (_t5) goto L_028BB728; else goto L_028BB6F4;
L_028BB6F4: ; // 0x28bb6f4
/* 028BB6F4 */ cpu->r[0] = 0x10140000u;
/* 028BB6F8 */ cpu->r[3] = cpu->r[31] + 0x0000015Cu;
/* 028BB6FC */ cpu->r[0] = cpu->r[0] + 0xFFFF8F9Cu;
/* 028BB700 */ cpu->r[4] = 0x00000002u;
/* 028BB704 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028BB704 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BB708 */ Gambit_fn_02836FA8(cpu);
/* 028BB70C */ cpu->r[3] = cpu->r[31] + 0x000000FCu;
/* 028BB710 */ cpu->r[4] = 0x00000002u;
/* 028BB714 */ Gambit_fn_028E1454(cpu);
/* 028BB718 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BB718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB71C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB71C */ _t8 = _t7 & 0x00000001u;
/* 028BB71C */ if (_t8) goto L_028BB728; else goto L_028BB720;
L_028BB720: ; // 0x28bb720
/* 028BB720 */ cpu->r[3] = cpu->r[31];
/* 028BB724 */ Gambit_fn_02801BB0(cpu);
L_028BB728: ; // 0x28bb728
/* 028BB728 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BB728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BB72C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BB72C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BB730 */ cpu->lr = cpu->r[0];
/* 028BB734 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BB734 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BB738 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB73C */ return;
}
// fn_028BB6D8 @ 0x28bb6d8
void Gambit_fn_028BB6D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BB6D8: ; // 0x28bb6d8
/* 028BB6D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BB6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB6D8 */ cpu->r[1] = _t0;
/* 028BB6DC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BB6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BB6E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BB6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BB6E4 */ cpu->r[31] = cpu->r[3];
/* 028BB6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB6E8 */ cpu->r[30] = cpu->r[4];
/* 028BB6EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BB6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BB6F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB6F0 */ _t5 = _t4 & 0x00000001u;
/* 028BB6F0 */ if (_t5) goto L_028BB728; else goto L_028BB6F4;
L_028BB6F4: ; // 0x28bb6f4
/* 028BB6F4 */ cpu->r[0] = 0x10140000u;
/* 028BB6F8 */ cpu->r[3] = cpu->r[31] + 0x0000015Cu;
/* 028BB6FC */ cpu->r[0] = cpu->r[0] + 0xFFFF8F9Cu;
/* 028BB700 */ cpu->r[4] = 0x00000002u;
/* 028BB704 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028BB704 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BB708 */ Gambit_fn_02836FA8(cpu);
/* 028BB70C */ cpu->r[3] = cpu->r[31] + 0x000000FCu;
/* 028BB710 */ cpu->r[4] = 0x00000002u;
/* 028BB714 */ Gambit_fn_028E1454(cpu);
/* 028BB718 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BB718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BB71C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB71C */ _t8 = _t7 & 0x00000001u;
/* 028BB71C */ if (_t8) goto L_028BB728; else goto L_028BB720;
L_028BB720: ; // 0x28bb720
/* 028BB720 */ cpu->r[3] = cpu->r[31];
/* 028BB724 */ Gambit_fn_02801BB0(cpu);
L_028BB728: ; // 0x28bb728
/* 028BB728 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BB728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BB72C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BB72C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BB730 */ cpu->lr = cpu->r[0];
/* 028BB734 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BB734 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BB738 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BB73C */ return;
}
// fn_028BB740 @ 0x28bb740
void Gambit_fn_028BB740(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_028BB740: ; // 0x28bb740
/* 028BB740 */ cpu->r[0] = cpu->lr;
/* 028BB744 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BB744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB744 */ cpu->r[1] = _t0;
/* 028BB748 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BB748 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BB74C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BB74C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BB750 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BB750 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BB754 */ cpu->r[30] = cpu->r[3];
/* 028BB758 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BB758 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BB75C */ _t5 = cpu->r[30] + 0x00000004u;
/* 028BB75C */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
/* 028BB760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BB764 */ cpu->r[31] = cpu->r[5];
/* 028BB768 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB768 */ _t7 = _t6 & 0x00000001u;
/* 028BB768 */ if (_t7) goto L_028BB78C; else goto L_028BB76C;
L_028BB76C: ; // 0x28bb76c
/* 028BB76C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BB76C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028BB770 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028BB770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BB774 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028BB774 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BB778 */ cpu->lr = cpu->r[0];
/* 028BB77C */ _t11 = cpu->r[1] + 0x00000014u;
/* 028BB77C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BB780 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB784 */ cpu->r[3] = 0x00000001u;
/* 028BB788 */ return;
L_028BB78C: ; // 0x28bb78c
/* 028BB78C */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028BB78C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028BB790 */ _t13 = cpu->r[11] + 0x00000084u;
/* 028BB790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BB794 */ cpu->ctr = cpu->r[0];
/* 028BB798 */ cpu->r[4] = 0x00000004u;
/* 028BB79C */ cpu->r[3] = cpu->r[31];
/* 028BB7A0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB7A4 */ cpu->r[29] = 0x10140000u;
/* 028BB7A8 */ cpu->r[3] = 0x00000014u;
/* 028BB7AC */ cpu->r[4] = cpu->r[31];
/* 028BB7B0 */ cpu->r[5] = cpu->r[29] + 0xFFFF8F58u;
/* 028BB7B4 */ Gambit_fn_02801AF0(cpu);
/* 028BB7B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB7BC */ cpu->r[0] = cpu->r[3];
/* 028BB7C0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB7C0 */ _t15 = _t14 & 0x00000001u;
/* 028BB7C0 */ if (_t15) goto L_028BB7CC; else goto L_028BB7C4;
L_028BB7C4: ; // 0x28bb7c4
/* 028BB7C4 */ cpu->r[3] = cpu->r[0];
/* 028BB7C8 */ Gambit_fn_028CA5E0(cpu);
L_028BB7CC: ; // 0x28bb7cc
/* 028BB7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB7D0 */ _t16 = cpu->r[30] + 0x000000ECu;
/* 028BB7D0 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
/* 028BB7D4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB7D4 */ _t18 = _t17 & 0x00000001u;
/* 028BB7D4 */ if (_t18) goto L_028BB880; else goto L_028BB7D8;
L_028BB7D8: ; // 0x28bb7d8
/* 028BB7D8 */ cpu->r[4] = 0x000001D4u;
/* 028BB7DC */ cpu->r[5] = cpu->r[31];
/* 028BB7E0 */ Gambit_fn_028CA8FC(cpu);
/* 028BB7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB7E8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB7E8 */ _t20 = _t19 & 0x00000001u;
/* 028BB7E8 */ if (_t20) goto L_028BB7EC; else goto L_028BB82C;
L_028BB7EC: ; // 0x28bb7ec
/* 028BB7EC */ _t21 = cpu->r[30] + 0x000000ECu;
/* 028BB7EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
/* 028BB7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB7F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB7F4 */ _t23 = _t22 & 0x00000001u;
/* 028BB7F4 */ if (_t23) goto L_028BB880; else goto L_028BB7F8;
L_028BB7F8: ; // 0x28bb7f8
/* 028BB7F8 */ _t24 = cpu->r[3] + 0x00000010u;
/* 028BB7F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
/* 028BB7FC */ _t25 = cpu->r[8] + 0x0000000Cu;
/* 028BB7FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
/* 028BB800 */ cpu->ctr = cpu->r[10];
/* 028BB804 */ cpu->r[4] = 0x00000003u;
/* 028BB808 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB80C */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028BB80C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028BB810 */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028BB810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028BB814 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028BB814 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028BB818 */ cpu->lr = cpu->r[0];
/* 028BB81C */ _t29 = cpu->r[1] + 0x00000014u;
/* 028BB81C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028BB820 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB824 */ cpu->r[3] = 0x00000000u;
/* 028BB828 */ return;
L_028BB82C: ; // 0x28bb82c
/* 028BB82C */ _t30 = cpu->r[31] + 0x0000000Cu;
/* 028BB82C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028BB830 */ _t31 = cpu->r[11] + 0x00000084u;
/* 028BB830 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
/* 028BB834 */ cpu->ctr = cpu->r[12];
/* 028BB838 */ cpu->r[3] = cpu->r[31];
/* 028BB83C */ cpu->r[4] = 0x00000004u;
/* 028BB840 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB844 */ Gambit_fn_028D533C(cpu);
/* 028BB848 */ cpu->r[5] = cpu->r[29] + 0xFFFF8F58u;
/* 028BB84C */ cpu->r[4] = cpu->r[31];
/* 028BB850 */ Gambit_fn_02801B08(cpu);
/* 028BB854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB858 */ _t32 = cpu->r[30] + 0x000000F0u;
/* 028BB858 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
/* 028BB85C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB85C */ _t34 = _t33 & 0x00000001u;
/* 028BB85C */ if (_t34) goto L_028BB860; else goto L_028BB8A0;
L_028BB860: ; // 0x28bb860
/* 028BB860 */ _t35 = cpu->r[30] + 0x000000ECu;
/* 028BB860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028BB864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB868 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB868 */ _t37 = _t36 & 0x00000001u;
/* 028BB868 */ if (_t37) goto L_028BB880; else goto L_028BB86C;
L_028BB86C: ; // 0x28bb86c
/* 028BB86C */ _t38 = cpu->r[3] + 0x00000010u;
/* 028BB86C */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028BB870 */ _t39 = cpu->r[12] + 0x0000000Cu;
/* 028BB870 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
/* 028BB874 */ cpu->ctr = cpu->r[5];
/* 028BB878 */ cpu->r[4] = 0x00000003u;
/* 028BB87C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BB880: ; // 0x28bb880
/* 028BB880 */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028BB880 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
/* 028BB884 */ _t41 = cpu->r[1] + 0x0000001Cu;
/* 028BB884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028BB888 */ _t42 = cpu->r[1] + 0x00000010u;
/* 028BB888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
/* 028BB88C */ cpu->lr = cpu->r[0];
/* 028BB890 */ _t43 = cpu->r[1] + 0x00000014u;
/* 028BB890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
/* 028BB894 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB898 */ cpu->r[3] = 0x00000000u;
/* 028BB89C */ return;
L_028BB8A0: ; // 0x28bb8a0
/* 028BB8A0 */ cpu->r[3] = cpu->r[30] + 0x000000FCu;
/* 028BB8A4 */ Gambit_fn_028E1300(cpu);
/* 028BB8A8 */ cpu->r[0] = 0x00000001u;
/* 028BB8AC */ _t44 = cpu->r[30] + 0x00000004u;
/* 028BB8AC */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[0]);
/* 028BB8B0 */ _t45 = cpu->r[1] + 0x0000000Cu;
/* 028BB8B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
/* 028BB8B4 */ cpu->r[3] = cpu->r[0];
/* 028BB8B8 */ _t46 = cpu->r[1] + 0x0000001Cu;
/* 028BB8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028BB8BC */ _t47 = cpu->r[1] + 0x00000010u;
/* 028BB8BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
/* 028BB8C0 */ cpu->lr = cpu->r[0];
/* 028BB8C4 */ _t48 = cpu->r[1] + 0x00000014u;
/* 028BB8C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
/* 028BB8C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB8CC */ return;
}
// fn_028BB744 @ 0x28bb744
void Gambit_fn_028BB744(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_028BB744: ; // 0x28bb744
/* 028BB744 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BB744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB744 */ cpu->r[1] = _t0;
/* 028BB748 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BB748 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BB74C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BB74C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BB750 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BB750 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BB754 */ cpu->r[30] = cpu->r[3];
/* 028BB758 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BB758 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BB75C */ _t5 = cpu->r[30] + 0x00000004u;
/* 028BB75C */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
/* 028BB760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BB764 */ cpu->r[31] = cpu->r[5];
/* 028BB768 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB768 */ _t7 = _t6 & 0x00000001u;
/* 028BB768 */ if (_t7) goto L_028BB78C; else goto L_028BB76C;
L_028BB76C: ; // 0x28bb76c
/* 028BB76C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BB76C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028BB770 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028BB770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BB774 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028BB774 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BB778 */ cpu->lr = cpu->r[0];
/* 028BB77C */ _t11 = cpu->r[1] + 0x00000014u;
/* 028BB77C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BB780 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB784 */ cpu->r[3] = 0x00000001u;
/* 028BB788 */ return;
L_028BB78C: ; // 0x28bb78c
/* 028BB78C */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028BB78C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028BB790 */ _t13 = cpu->r[11] + 0x00000084u;
/* 028BB790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BB794 */ cpu->ctr = cpu->r[0];
/* 028BB798 */ cpu->r[4] = 0x00000004u;
/* 028BB79C */ cpu->r[3] = cpu->r[31];
/* 028BB7A0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB7A4 */ cpu->r[29] = 0x10140000u;
/* 028BB7A8 */ cpu->r[3] = 0x00000014u;
/* 028BB7AC */ cpu->r[4] = cpu->r[31];
/* 028BB7B0 */ cpu->r[5] = cpu->r[29] + 0xFFFF8F58u;
/* 028BB7B4 */ Gambit_fn_02801AF0(cpu);
/* 028BB7B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB7BC */ cpu->r[0] = cpu->r[3];
/* 028BB7C0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB7C0 */ _t15 = _t14 & 0x00000001u;
/* 028BB7C0 */ if (_t15) goto L_028BB7CC; else goto L_028BB7C4;
L_028BB7C4: ; // 0x28bb7c4
/* 028BB7C4 */ cpu->r[3] = cpu->r[0];
/* 028BB7C8 */ Gambit_fn_028CA5E0(cpu);
L_028BB7CC: ; // 0x28bb7cc
/* 028BB7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB7D0 */ _t16 = cpu->r[30] + 0x000000ECu;
/* 028BB7D0 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
/* 028BB7D4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB7D4 */ _t18 = _t17 & 0x00000001u;
/* 028BB7D4 */ if (_t18) goto L_028BB880; else goto L_028BB7D8;
L_028BB7D8: ; // 0x28bb7d8
/* 028BB7D8 */ cpu->r[4] = 0x000001D4u;
/* 028BB7DC */ cpu->r[5] = cpu->r[31];
/* 028BB7E0 */ Gambit_fn_028CA8FC(cpu);
/* 028BB7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB7E8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB7E8 */ _t20 = _t19 & 0x00000001u;
/* 028BB7E8 */ if (_t20) goto L_028BB7EC; else goto L_028BB82C;
L_028BB7EC: ; // 0x28bb7ec
/* 028BB7EC */ _t21 = cpu->r[30] + 0x000000ECu;
/* 028BB7EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
/* 028BB7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB7F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB7F4 */ _t23 = _t22 & 0x00000001u;
/* 028BB7F4 */ if (_t23) goto L_028BB880; else goto L_028BB7F8;
L_028BB7F8: ; // 0x28bb7f8
/* 028BB7F8 */ _t24 = cpu->r[3] + 0x00000010u;
/* 028BB7F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
/* 028BB7FC */ _t25 = cpu->r[8] + 0x0000000Cu;
/* 028BB7FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
/* 028BB800 */ cpu->ctr = cpu->r[10];
/* 028BB804 */ cpu->r[4] = 0x00000003u;
/* 028BB808 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB80C */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028BB80C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028BB810 */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028BB810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028BB814 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028BB814 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028BB818 */ cpu->lr = cpu->r[0];
/* 028BB81C */ _t29 = cpu->r[1] + 0x00000014u;
/* 028BB81C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028BB820 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB824 */ cpu->r[3] = 0x00000000u;
/* 028BB828 */ return;
L_028BB82C: ; // 0x28bb82c
/* 028BB82C */ _t30 = cpu->r[31] + 0x0000000Cu;
/* 028BB82C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028BB830 */ _t31 = cpu->r[11] + 0x00000084u;
/* 028BB830 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
/* 028BB834 */ cpu->ctr = cpu->r[12];
/* 028BB838 */ cpu->r[3] = cpu->r[31];
/* 028BB83C */ cpu->r[4] = 0x00000004u;
/* 028BB840 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB844 */ Gambit_fn_028D533C(cpu);
/* 028BB848 */ cpu->r[5] = cpu->r[29] + 0xFFFF8F58u;
/* 028BB84C */ cpu->r[4] = cpu->r[31];
/* 028BB850 */ Gambit_fn_02801B08(cpu);
/* 028BB854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB858 */ _t32 = cpu->r[30] + 0x000000F0u;
/* 028BB858 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
/* 028BB85C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB85C */ _t34 = _t33 & 0x00000001u;
/* 028BB85C */ if (_t34) goto L_028BB860; else goto L_028BB8A0;
L_028BB860: ; // 0x28bb860
/* 028BB860 */ _t35 = cpu->r[30] + 0x000000ECu;
/* 028BB860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028BB864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB868 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB868 */ _t37 = _t36 & 0x00000001u;
/* 028BB868 */ if (_t37) goto L_028BB880; else goto L_028BB86C;
L_028BB86C: ; // 0x28bb86c
/* 028BB86C */ _t38 = cpu->r[3] + 0x00000010u;
/* 028BB86C */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028BB870 */ _t39 = cpu->r[12] + 0x0000000Cu;
/* 028BB870 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
/* 028BB874 */ cpu->ctr = cpu->r[5];
/* 028BB878 */ cpu->r[4] = 0x00000003u;
/* 028BB87C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BB880: ; // 0x28bb880
/* 028BB880 */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028BB880 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
/* 028BB884 */ _t41 = cpu->r[1] + 0x0000001Cu;
/* 028BB884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028BB888 */ _t42 = cpu->r[1] + 0x00000010u;
/* 028BB888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
/* 028BB88C */ cpu->lr = cpu->r[0];
/* 028BB890 */ _t43 = cpu->r[1] + 0x00000014u;
/* 028BB890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
/* 028BB894 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB898 */ cpu->r[3] = 0x00000000u;
/* 028BB89C */ return;
L_028BB8A0: ; // 0x28bb8a0
/* 028BB8A0 */ cpu->r[3] = cpu->r[30] + 0x000000FCu;
/* 028BB8A4 */ Gambit_fn_028E1300(cpu);
/* 028BB8A8 */ cpu->r[0] = 0x00000001u;
/* 028BB8AC */ _t44 = cpu->r[30] + 0x00000004u;
/* 028BB8AC */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[0]);
/* 028BB8B0 */ _t45 = cpu->r[1] + 0x0000000Cu;
/* 028BB8B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
/* 028BB8B4 */ cpu->r[3] = cpu->r[0];
/* 028BB8B8 */ _t46 = cpu->r[1] + 0x0000001Cu;
/* 028BB8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028BB8BC */ _t47 = cpu->r[1] + 0x00000010u;
/* 028BB8BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
/* 028BB8C0 */ cpu->lr = cpu->r[0];
/* 028BB8C4 */ _t48 = cpu->r[1] + 0x00000014u;
/* 028BB8C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
/* 028BB8C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BB8CC */ return;
}
// fn_028BB8D0 @ 0x28bb8d0
void Gambit_fn_028BB8D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028BB8D0: ; // 0x28bb8d0
/* 028BB8D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BB8D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB8D0 */ cpu->r[1] = _t0;
/* 028BB8D4 */ cpu->r[0] = cpu->lr;
/* 028BB8D8 */ /* nop */
/* 028BB8DC */ cpu->r[27] = cpu->r[4];
/* 028BB8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028BB8E0 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028BB8E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BB8E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB8E4 */ _t3 = _t2 & 0x00000001u;
/* 028BB8E4 */ if (_t3) goto L_028BB9CC; else goto L_028BB8E8;
L_028BB8E8: ; // 0x28bb8e8
/* 028BB8E8 */ _t4 = cpu->r[27] + 0x00000000u;
/* 028BB8E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BB8EC */ _t5 = cpu->r[12] + 0x00000044u;
/* 028BB8EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
/* 028BB8F0 */ cpu->ctr = cpu->r[8];
/* 028BB8F4 */ cpu->r[3] = cpu->r[27];
/* 028BB8F8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB900 */ cpu->r[30] = cpu->r[3];
/* 028BB904 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB904 */ _t7 = _t6 & 0x00000001u;
/* 028BB904 */ if (_t7) goto L_028BB938; else goto L_028BB908;
L_028BB908: ; // 0x28bb908
/* 028BB908 */ _t8 = cpu->r[27] + 0x00000000u;
/* 028BB908 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028BB90C */ _t9 = cpu->r[7] + 0x0000005Cu;
/* 028BB90C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028BB910 */ cpu->ctr = cpu->r[9];
/* 028BB914 */ cpu->r[3] = cpu->r[27];
/* 028BB918 */ cpu->r[4] = cpu->r[30];
/* 028BB91C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB920 */ cpu->r[31] = cpu->r[3];
/* 028BB924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028BB928 */ cpu->r[28] = cpu->r[27];
/* 028BB92C */ cpu->r[29] = 0x00000000u;
/* 028BB930 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB930 */ _t11 = _t10 & 0x00000001u;
/* 028BB930 */ if (_t11) goto L_028BB9CC; else goto L_028BB934;
L_028BB934: ; // 0x28bb934
/* 028BB934 */ goto L_028BB94C;
L_028BB938: ; // 0x28bb938
/* 028BB938 */ cpu->r[31] = 0x00000000u;
/* 028BB93C */ cpu->r[28] = cpu->r[27];
/* 028BB940 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028BB944 */ cpu->r[29] = cpu->r[31];
/* 028BB948 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB948 */ _t13 = _t12 & 0x00000001u;
/* 028BB948 */ if (_t13) goto L_028BB9CC; else goto L_028BB94C;
L_028BB94C: ; // 0x28bb94c
/* 028BB94C */ cpu->r[3] = cpu->r[30];
/* 028BB950 */ Gambit_fn_028BF578(cpu);
/* 028BB954 */ _t14 = cpu->r[27] + 0x00000000u;
/* 028BB954 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028BB958 */ _t15 = cpu->r[10] + 0x00000064u;
/* 028BB958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BB95C */ cpu->ctr = cpu->r[0];
/* 028BB960 */ cpu->r[3] = cpu->r[27];
/* 028BB964 */ cpu->r[4] = cpu->r[30];
/* 028BB968 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB96C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BB970 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BB970 */ _t17 = _t16 & 0x00000001u;
/* 028BB970 */ if (_t17) goto L_028BB98C; else goto L_028BB974;
L_028BB974: ; // 0x28bb974
/* 028BB974 */ _t18 = cpu->r[27] + 0x00000000u;
/* 028BB974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028BB978 */ _t19 = cpu->r[12] + 0x00000034u;
/* 028BB978 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
/* 028BB97C */ cpu->ctr = cpu->r[9];
/* 028BB980 */ cpu->r[3] = cpu->r[27];
/* 028BB984 */ cpu->r[4] = cpu->r[30];
/* 028BB988 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BB98C: ; // 0x28bb98c
/* 028BB98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BB990 */ cpu->r[30] = cpu->r[31];
/* 028BB994 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB994 */ _t21 = _t20 & 0x00000001u;
/* 028BB994 */ if (_t21) goto L_028BB9C0; else goto L_028BB998;
L_028BB998: ; // 0x28bb998
/* 028BB998 */ _t22 = cpu->r[28] + 0x00000000u;
/* 028BB998 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
/* 028BB99C */ _t23 = cpu->r[10] + 0x0000005Cu;
/* 028BB99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BB9A0 */ cpu->ctr = cpu->r[0];
/* 028BB9A4 */ cpu->r[3] = cpu->r[28];
/* 028BB9A8 */ cpu->r[4] = cpu->r[30];
/* 028BB9AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BB9B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BB9B4 */ cpu->r[31] = cpu->r[3];
/* 028BB9B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB9B8 */ _t25 = _t24 & 0x00000001u;
/* 028BB9B8 */ if (_t25) goto L_028BB9BC; else goto L_028BB94C;
L_028BB9BC: ; // 0x28bb9bc
/* 028BB9BC */ goto L_028BB9CC;
L_028BB9C0: ; // 0x28bb9c0
/* 028BB9C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028BB9C4 */ cpu->r[31] = 0x00000000u;
/* 028BB9C8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BB9C8 */ _t27 = _t26 & 0x00000001u;
/* 028BB9C8 */ if (_t27) goto L_028BB9CC; else goto L_028BB94C;
L_028BB9CC: ; // 0x28bb9cc
/* 028BB9CC */ /* nop */
/* 028BB9D0 */ _t28 = cpu->r[1] + 0x00000024u;
/* 028BB9D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028BB9D4 */ cpu->lr = cpu->r[0];
/* 028BB9D8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BB9DC */ return;
}
// fn_028BB9E0 @ 0x28bb9e0
void Gambit_fn_028BB9E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028BB9E0: ; // 0x28bb9e0
/* 028BB9E0 */ cpu->r[0] = cpu->lr;
/* 028BB9E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BB9E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB9E4 */ cpu->r[1] = _t0;
/* 028BB9E8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BB9E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BB9EC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BB9EC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BB9F0 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028BB9F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028BB9F4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BB9F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BB9F8 */ cpu->r[28] = cpu->r[3];
/* 028BB9FC */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BB9FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BBA00 */ _t6 = cpu->r[28] + 0x000000ECu;
/* 028BBA00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028BBA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BBA08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBA08 */ _t8 = _t7 & 0x00000001u;
/* 028BBA08 */ if (_t8) goto L_028BBB44; else goto L_028BBA0C;
L_028BBA0C: ; // 0x28bba0c
/* 028BBA0C */ _t9 = cpu->r[9] + 0x00000004u;
/* 028BBA0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
/* 028BBA10 */ _t10 = cpu->r[9] + 0x00000008u;
/* 028BBA10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BBA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028BBA18 */ _t11 = cpu->r[9] + 0x0000000Cu;
/* 028BBA18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BBA1C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBA1C */ _t13 = _t12 & 0x00000001u;
/* 028BBA1C */ if (_t13) goto L_028BBA44; else goto L_028BBA20;
L_028BBA20: ; // 0x28bba20
/* 028BBA20 */ _t14 = cpu->r[29] + 0x00000000u;
/* 028BBA20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028BBA24 */ _t15 = cpu->r[11] + 0x0000008Cu;
/* 028BBA24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
/* 028BBA28 */ cpu->ctr = cpu->r[6];
/* 028BBA2C */ cpu->r[3] = cpu->r[29];
/* 028BBA30 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBA34 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028BBA34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028BBA38 */ _t17 = cpu->r[12] + 0x00000014u;
/* 028BBA38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
/* 028BBA3C */ cpu->ctr = cpu->r[7];
/* 028BBA40 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBA44: ; // 0x28bba44
/* 028BBA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BBA48 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBA48 */ _t19 = _t18 & 0x00000001u;
/* 028BBA48 */ if (_t19) goto L_028BBA70; else goto L_028BBA4C;
L_028BBA4C: ; // 0x28bba4c
/* 028BBA4C */ _t20 = cpu->r[30] + 0x00000000u;
/* 028BBA4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028BBA50 */ _t21 = cpu->r[8] + 0x0000008Cu;
/* 028BBA50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
/* 028BBA54 */ cpu->ctr = cpu->r[9];
/* 028BBA58 */ cpu->r[3] = cpu->r[30];
/* 028BBA5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBA60 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028BBA60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
/* 028BBA64 */ _t23 = cpu->r[10] + 0x00000014u;
/* 028BBA64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028BBA68 */ cpu->ctr = cpu->r[11];
/* 028BBA6C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBA70: ; // 0x28bba70
/* 028BBA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BBA74 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBA74 */ _t25 = _t24 & 0x00000001u;
/* 028BBA74 */ if (_t25) goto L_028BBA9C; else goto L_028BBA78;
L_028BBA78: ; // 0x28bba78
/* 028BBA78 */ _t26 = cpu->r[31] + 0x00000000u;
/* 028BBA78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028BBA7C */ _t27 = cpu->r[12] + 0x0000008Cu;
/* 028BBA7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028BBA80 */ cpu->ctr = cpu->r[0];
/* 028BBA84 */ cpu->r[3] = cpu->r[31];
/* 028BBA88 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBA8C */ _t28 = cpu->r[3] + 0x00000000u;
/* 028BBA8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
/* 028BBA90 */ _t29 = cpu->r[12] + 0x00000014u;
/* 028BBA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028BBA94 */ cpu->ctr = cpu->r[0];
/* 028BBA98 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBA9C: ; // 0x28bba9c
/* 028BBA9C */ cpu->r[3] = cpu->r[28];
/* 028BBAA0 */ cpu->r[4] = cpu->r[29];
/* 028BBAA4 */ Gambit_fn_028BB8D0(cpu);
/* 028BBAA8 */ cpu->r[3] = cpu->r[28];
/* 028BBAAC */ cpu->r[4] = cpu->r[30];
/* 028BBAB0 */ Gambit_fn_028BB8D0(cpu);
/* 028BBAB4 */ cpu->r[3] = cpu->r[28];
/* 028BBAB8 */ cpu->r[4] = cpu->r[31];
/* 028BBABC */ Gambit_fn_028BB8D0(cpu);
/* 028BBAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BBAC4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBAC4 */ _t31 = _t30 & 0x00000001u;
/* 028BBAC4 */ if (_t31) goto L_028BBAEC; else goto L_028BBAC8;
L_028BBAC8: ; // 0x28bbac8
/* 028BBAC8 */ _t32 = cpu->r[31] + 0x00000000u;
/* 028BBAC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
/* 028BBACC */ _t33 = cpu->r[6] + 0x0000008Cu;
/* 028BBACC */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
/* 028BBAD0 */ cpu->ctr = cpu->r[7];
/* 028BBAD4 */ cpu->r[3] = cpu->r[31];
/* 028BBAD8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBADC */ _t34 = cpu->r[3] + 0x00000000u;
/* 028BBADC */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
/* 028BBAE0 */ _t35 = cpu->r[8] + 0x0000001Cu;
/* 028BBAE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
/* 028BBAE4 */ cpu->ctr = cpu->r[9];
/* 028BBAE8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBAEC: ; // 0x28bbaec
/* 028BBAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BBAF0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBAF0 */ _t37 = _t36 & 0x00000001u;
/* 028BBAF0 */ if (_t37) goto L_028BBB18; else goto L_028BBAF4;
L_028BBAF4: ; // 0x28bbaf4
/* 028BBAF4 */ _t38 = cpu->r[30] + 0x00000000u;
/* 028BBAF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
/* 028BBAF8 */ _t39 = cpu->r[10] + 0x0000008Cu;
/* 028BBAF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
/* 028BBAFC */ cpu->ctr = cpu->r[11];
/* 028BBB00 */ cpu->r[3] = cpu->r[30];
/* 028BBB04 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBB08 */ _t40 = cpu->r[3] + 0x00000000u;
/* 028BBB08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
/* 028BBB0C */ _t41 = cpu->r[12] + 0x0000001Cu;
/* 028BBB0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028BBB10 */ cpu->ctr = cpu->r[0];
/* 028BBB14 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBB18: ; // 0x28bbb18
/* 028BBB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028BBB1C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBB1C */ _t43 = _t42 & 0x00000001u;
/* 028BBB1C */ if (_t43) goto L_028BBB44; else goto L_028BBB20;
L_028BBB20: ; // 0x28bbb20
/* 028BBB20 */ _t44 = cpu->r[29] + 0x00000000u;
/* 028BBB20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
/* 028BBB24 */ _t45 = cpu->r[6] + 0x0000008Cu;
/* 028BBB24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
/* 028BBB28 */ cpu->ctr = cpu->r[7];
/* 028BBB2C */ cpu->r[3] = cpu->r[29];
/* 028BBB30 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBB34 */ _t46 = cpu->r[3] + 0x00000000u;
/* 028BBB34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
/* 028BBB38 */ _t47 = cpu->r[8] + 0x0000001Cu;
/* 028BBB38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028BBB3C */ cpu->ctr = cpu->r[0];
/* 028BBB40 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBB44: ; // 0x28bbb44
/* 028BBB44 */ _t48 = cpu->r[1] + 0x00000008u;
/* 028BBB44 */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
/* 028BBB48 */ _t49 = cpu->r[1] + 0x0000000Cu;
/* 028BBB48 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
/* 028BBB4C */ _t50 = cpu->r[1] + 0x0000001Cu;
/* 028BBB4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028BBB50 */ _t51 = cpu->r[1] + 0x00000010u;
/* 028BBB50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
/* 028BBB54 */ cpu->lr = cpu->r[0];
/* 028BBB58 */ _t52 = cpu->r[1] + 0x00000014u;
/* 028BBB58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
/* 028BBB5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BBB60 */ return;
}
// fn_028BB9E4 @ 0x28bb9e4
void Gambit_fn_028BB9E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028BB9E4: ; // 0x28bb9e4
/* 028BB9E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BB9E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BB9E4 */ cpu->r[1] = _t0;
/* 028BB9E8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BB9E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BB9EC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BB9EC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BB9F0 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028BB9F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028BB9F4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BB9F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BB9F8 */ cpu->r[28] = cpu->r[3];
/* 028BB9FC */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BB9FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BBA00 */ _t6 = cpu->r[28] + 0x000000ECu;
/* 028BBA00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028BBA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BBA08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBA08 */ _t8 = _t7 & 0x00000001u;
/* 028BBA08 */ if (_t8) goto L_028BBB44; else goto L_028BBA0C;
L_028BBA0C: ; // 0x28bba0c
/* 028BBA0C */ _t9 = cpu->r[9] + 0x00000004u;
/* 028BBA0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
/* 028BBA10 */ _t10 = cpu->r[9] + 0x00000008u;
/* 028BBA10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BBA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028BBA18 */ _t11 = cpu->r[9] + 0x0000000Cu;
/* 028BBA18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BBA1C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBA1C */ _t13 = _t12 & 0x00000001u;
/* 028BBA1C */ if (_t13) goto L_028BBA44; else goto L_028BBA20;
L_028BBA20: ; // 0x28bba20
/* 028BBA20 */ _t14 = cpu->r[29] + 0x00000000u;
/* 028BBA20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028BBA24 */ _t15 = cpu->r[11] + 0x0000008Cu;
/* 028BBA24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
/* 028BBA28 */ cpu->ctr = cpu->r[6];
/* 028BBA2C */ cpu->r[3] = cpu->r[29];
/* 028BBA30 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBA34 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028BBA34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028BBA38 */ _t17 = cpu->r[12] + 0x00000014u;
/* 028BBA38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
/* 028BBA3C */ cpu->ctr = cpu->r[7];
/* 028BBA40 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBA44: ; // 0x28bba44
/* 028BBA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BBA48 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBA48 */ _t19 = _t18 & 0x00000001u;
/* 028BBA48 */ if (_t19) goto L_028BBA70; else goto L_028BBA4C;
L_028BBA4C: ; // 0x28bba4c
/* 028BBA4C */ _t20 = cpu->r[30] + 0x00000000u;
/* 028BBA4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028BBA50 */ _t21 = cpu->r[8] + 0x0000008Cu;
/* 028BBA50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
/* 028BBA54 */ cpu->ctr = cpu->r[9];
/* 028BBA58 */ cpu->r[3] = cpu->r[30];
/* 028BBA5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBA60 */ _t22 = cpu->r[3] + 0x00000000u;
/* 028BBA60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
/* 028BBA64 */ _t23 = cpu->r[10] + 0x00000014u;
/* 028BBA64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028BBA68 */ cpu->ctr = cpu->r[11];
/* 028BBA6C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBA70: ; // 0x28bba70
/* 028BBA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BBA74 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBA74 */ _t25 = _t24 & 0x00000001u;
/* 028BBA74 */ if (_t25) goto L_028BBA9C; else goto L_028BBA78;
L_028BBA78: ; // 0x28bba78
/* 028BBA78 */ _t26 = cpu->r[31] + 0x00000000u;
/* 028BBA78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028BBA7C */ _t27 = cpu->r[12] + 0x0000008Cu;
/* 028BBA7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028BBA80 */ cpu->ctr = cpu->r[0];
/* 028BBA84 */ cpu->r[3] = cpu->r[31];
/* 028BBA88 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBA8C */ _t28 = cpu->r[3] + 0x00000000u;
/* 028BBA8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
/* 028BBA90 */ _t29 = cpu->r[12] + 0x00000014u;
/* 028BBA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028BBA94 */ cpu->ctr = cpu->r[0];
/* 028BBA98 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBA9C: ; // 0x28bba9c
/* 028BBA9C */ cpu->r[3] = cpu->r[28];
/* 028BBAA0 */ cpu->r[4] = cpu->r[29];
/* 028BBAA4 */ Gambit_fn_028BB8D0(cpu);
/* 028BBAA8 */ cpu->r[3] = cpu->r[28];
/* 028BBAAC */ cpu->r[4] = cpu->r[30];
/* 028BBAB0 */ Gambit_fn_028BB8D0(cpu);
/* 028BBAB4 */ cpu->r[3] = cpu->r[28];
/* 028BBAB8 */ cpu->r[4] = cpu->r[31];
/* 028BBABC */ Gambit_fn_028BB8D0(cpu);
/* 028BBAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BBAC4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBAC4 */ _t31 = _t30 & 0x00000001u;
/* 028BBAC4 */ if (_t31) goto L_028BBAEC; else goto L_028BBAC8;
L_028BBAC8: ; // 0x28bbac8
/* 028BBAC8 */ _t32 = cpu->r[31] + 0x00000000u;
/* 028BBAC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
/* 028BBACC */ _t33 = cpu->r[6] + 0x0000008Cu;
/* 028BBACC */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
/* 028BBAD0 */ cpu->ctr = cpu->r[7];
/* 028BBAD4 */ cpu->r[3] = cpu->r[31];
/* 028BBAD8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBADC */ _t34 = cpu->r[3] + 0x00000000u;
/* 028BBADC */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
/* 028BBAE0 */ _t35 = cpu->r[8] + 0x0000001Cu;
/* 028BBAE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
/* 028BBAE4 */ cpu->ctr = cpu->r[9];
/* 028BBAE8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBAEC: ; // 0x28bbaec
/* 028BBAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BBAF0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBAF0 */ _t37 = _t36 & 0x00000001u;
/* 028BBAF0 */ if (_t37) goto L_028BBB18; else goto L_028BBAF4;
L_028BBAF4: ; // 0x28bbaf4
/* 028BBAF4 */ _t38 = cpu->r[30] + 0x00000000u;
/* 028BBAF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
/* 028BBAF8 */ _t39 = cpu->r[10] + 0x0000008Cu;
/* 028BBAF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
/* 028BBAFC */ cpu->ctr = cpu->r[11];
/* 028BBB00 */ cpu->r[3] = cpu->r[30];
/* 028BBB04 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBB08 */ _t40 = cpu->r[3] + 0x00000000u;
/* 028BBB08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
/* 028BBB0C */ _t41 = cpu->r[12] + 0x0000001Cu;
/* 028BBB0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028BBB10 */ cpu->ctr = cpu->r[0];
/* 028BBB14 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBB18: ; // 0x28bbb18
/* 028BBB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028BBB1C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBB1C */ _t43 = _t42 & 0x00000001u;
/* 028BBB1C */ if (_t43) goto L_028BBB44; else goto L_028BBB20;
L_028BBB20: ; // 0x28bbb20
/* 028BBB20 */ _t44 = cpu->r[29] + 0x00000000u;
/* 028BBB20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
/* 028BBB24 */ _t45 = cpu->r[6] + 0x0000008Cu;
/* 028BBB24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
/* 028BBB28 */ cpu->ctr = cpu->r[7];
/* 028BBB2C */ cpu->r[3] = cpu->r[29];
/* 028BBB30 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BBB34 */ _t46 = cpu->r[3] + 0x00000000u;
/* 028BBB34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
/* 028BBB38 */ _t47 = cpu->r[8] + 0x0000001Cu;
/* 028BBB38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028BBB3C */ cpu->ctr = cpu->r[0];
/* 028BBB40 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBB44: ; // 0x28bbb44
/* 028BBB44 */ _t48 = cpu->r[1] + 0x00000008u;
/* 028BBB44 */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
/* 028BBB48 */ _t49 = cpu->r[1] + 0x0000000Cu;
/* 028BBB48 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
/* 028BBB4C */ _t50 = cpu->r[1] + 0x0000001Cu;
/* 028BBB4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028BBB50 */ _t51 = cpu->r[1] + 0x00000010u;
/* 028BBB50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
/* 028BBB54 */ cpu->lr = cpu->r[0];
/* 028BBB58 */ _t52 = cpu->r[1] + 0x00000014u;
/* 028BBB58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
/* 028BBB5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BBB60 */ return;
}
// fn_028BBB64 @ 0x28bbb64
void Gambit_fn_028BBB64(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028BBB64: ; // 0x28bbb64
/* 028BBB64 */ cpu->r[0] = cpu->lr;
/* 028BBB68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BBB68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBB68 */ cpu->r[1] = _t0;
/* 028BBB6C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BBB6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BBB70 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BBB70 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BBB74 */ cpu->r[31] = cpu->r[3];
/* 028BBB78 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BBB78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BBB7C */ _t4 = cpu->r[31] + 0x00000004u;
/* 028BBB7C */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
/* 028BBB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BBB84 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBB84 */ _t6 = _t5 & 0x00000001u;
/* 028BBB84 */ if (_t6) goto L_028BBC10; else goto L_028BBB88;
L_028BBB88: ; // 0x28bbb88
/* 028BBB88 */ cpu->r[3] = cpu->r[31];
/* 028BBB8C */ Gambit_fn_028BB9E0(cpu);
/* 028BBB90 */ Gambit_fn_028C2A0C(cpu);
/* 028BBB94 */ cpu->r[4] = cpu->r[31];
/* 028BBB98 */ Gambit_fn_028BAF24(cpu);
/* 028BBB9C */ _t7 = cpu->r[31] + 0x00000158u;
/* 028BBB9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028BBBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBBA4 */ cpu->r[30] = 0x00000000u;
/* 028BBBA8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBBA8 */ _t9 = _t8 & 0x00000001u;
/* 028BBBA8 */ if (_t9) goto L_028BBBC4; else goto L_028BBBAC;
L_028BBBAC: ; // 0x28bbbac
/* 028BBBAC */ Gambit_fn_028DF144(cpu);
/* 028BBBB0 */ Gambit_fn_028C2A0C(cpu);
/* 028BBBB4 */ _t10 = cpu->r[3] + 0x00000040u;
/* 028BBBB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BBBB8 */ _t11 = cpu->r[31] + 0x00000158u;
/* 028BBBB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
/* 028BBBBC */ Gambit_fn_028E0854(cpu);
/* 028BBBC0 */ _t12 = cpu->r[31] + 0x00000158u;
/* 028BBBC0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
L_028BBBC4: ; // 0x28bbbc4
/* 028BBBC4 */ _t13 = cpu->r[31] + 0x000000ECu;
/* 028BBBC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028BBBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBBCC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBBCC */ _t15 = _t14 & 0x00000001u;
/* 028BBBCC */ if (_t15) goto L_028BBBF8; else goto L_028BBBD0;
L_028BBBD0: ; // 0x28bbbd0
/* 028BBBD0 */ Gambit_fn_028CA7E8(cpu);
/* 028BBBD4 */ _t16 = cpu->r[31] + 0x000000ECu;
/* 028BBBD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BBBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBBDC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBBDC */ _t18 = _t17 & 0x00000001u;
/* 028BBBDC */ if (_t18) goto L_028BBBF4; else goto L_028BBBE0;
L_028BBBE0: ; // 0x28bbbe0
/* 028BBBE0 */ _t19 = cpu->r[3] + 0x00000010u;
/* 028BBBE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028BBBE4 */ _t20 = cpu->r[12] + 0x0000000Cu;
/* 028BBBE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BBBE8 */ cpu->ctr = cpu->r[0];
/* 028BBBEC */ cpu->r[4] = 0x00000003u;
/* 028BBBF0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBBF4: ; // 0x28bbbf4
/* 028BBBF4 */ _t21 = cpu->r[31] + 0x000000ECu;
/* 028BBBF4 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
L_028BBBF8: ; // 0x28bbbf8
/* 028BBBF8 */ _t22 = cpu->r[31] + 0x000000F0u;
/* 028BBBF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028BBBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBC00 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBC00 */ _t24 = _t23 & 0x00000001u;
/* 028BBC00 */ if (_t24) goto L_028BBC0C; else goto L_028BBC04;
L_028BBC04: ; // 0x28bbc04
/* 028BBC04 */ Gambit_fn_02801BB4(cpu);
/* 028BBC08 */ _t25 = cpu->r[31] + 0x000000F0u;
/* 028BBC08 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
L_028BBC0C: ; // 0x28bbc0c
/* 028BBC0C */ _t26 = cpu->r[31] + 0x00000004u;
/* 028BBC0C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
L_028BBC10: ; // 0x28bbc10
/* 028BBC10 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028BBC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028BBC14 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028BBC14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028BBC18 */ cpu->lr = cpu->r[0];
/* 028BBC1C */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028BBC1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028BBC20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BBC24 */ return;
}
// fn_028BBB68 @ 0x28bbb68
void Gambit_fn_028BBB68(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028BBB68: ; // 0x28bbb68
/* 028BBB68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BBB68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBB68 */ cpu->r[1] = _t0;
/* 028BBB6C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BBB6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BBB70 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BBB70 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BBB74 */ cpu->r[31] = cpu->r[3];
/* 028BBB78 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BBB78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BBB7C */ _t4 = cpu->r[31] + 0x00000004u;
/* 028BBB7C */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
/* 028BBB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BBB84 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBB84 */ _t6 = _t5 & 0x00000001u;
/* 028BBB84 */ if (_t6) goto L_028BBC10; else goto L_028BBB88;
L_028BBB88: ; // 0x28bbb88
/* 028BBB88 */ cpu->r[3] = cpu->r[31];
/* 028BBB8C */ Gambit_fn_028BB9E0(cpu);
/* 028BBB90 */ Gambit_fn_028C2A0C(cpu);
/* 028BBB94 */ cpu->r[4] = cpu->r[31];
/* 028BBB98 */ Gambit_fn_028BAF24(cpu);
/* 028BBB9C */ _t7 = cpu->r[31] + 0x00000158u;
/* 028BBB9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028BBBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBBA4 */ cpu->r[30] = 0x00000000u;
/* 028BBBA8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBBA8 */ _t9 = _t8 & 0x00000001u;
/* 028BBBA8 */ if (_t9) goto L_028BBBC4; else goto L_028BBBAC;
L_028BBBAC: ; // 0x28bbbac
/* 028BBBAC */ Gambit_fn_028DF144(cpu);
/* 028BBBB0 */ Gambit_fn_028C2A0C(cpu);
/* 028BBBB4 */ _t10 = cpu->r[3] + 0x00000040u;
/* 028BBBB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BBBB8 */ _t11 = cpu->r[31] + 0x00000158u;
/* 028BBBB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
/* 028BBBBC */ Gambit_fn_028E0854(cpu);
/* 028BBBC0 */ _t12 = cpu->r[31] + 0x00000158u;
/* 028BBBC0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
L_028BBBC4: ; // 0x28bbbc4
/* 028BBBC4 */ _t13 = cpu->r[31] + 0x000000ECu;
/* 028BBBC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028BBBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBBCC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBBCC */ _t15 = _t14 & 0x00000001u;
/* 028BBBCC */ if (_t15) goto L_028BBBF8; else goto L_028BBBD0;
L_028BBBD0: ; // 0x28bbbd0
/* 028BBBD0 */ Gambit_fn_028CA7E8(cpu);
/* 028BBBD4 */ _t16 = cpu->r[31] + 0x000000ECu;
/* 028BBBD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BBBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBBDC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBBDC */ _t18 = _t17 & 0x00000001u;
/* 028BBBDC */ if (_t18) goto L_028BBBF4; else goto L_028BBBE0;
L_028BBBE0: ; // 0x28bbbe0
/* 028BBBE0 */ _t19 = cpu->r[3] + 0x00000010u;
/* 028BBBE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028BBBE4 */ _t20 = cpu->r[12] + 0x0000000Cu;
/* 028BBBE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BBBE8 */ cpu->ctr = cpu->r[0];
/* 028BBBEC */ cpu->r[4] = 0x00000003u;
/* 028BBBF0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BBBF4: ; // 0x28bbbf4
/* 028BBBF4 */ _t21 = cpu->r[31] + 0x000000ECu;
/* 028BBBF4 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
L_028BBBF8: ; // 0x28bbbf8
/* 028BBBF8 */ _t22 = cpu->r[31] + 0x000000F0u;
/* 028BBBF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028BBBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBC00 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBC00 */ _t24 = _t23 & 0x00000001u;
/* 028BBC00 */ if (_t24) goto L_028BBC0C; else goto L_028BBC04;
L_028BBC04: ; // 0x28bbc04
/* 028BBC04 */ Gambit_fn_02801BB4(cpu);
/* 028BBC08 */ _t25 = cpu->r[31] + 0x000000F0u;
/* 028BBC08 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
L_028BBC0C: ; // 0x28bbc0c
/* 028BBC0C */ _t26 = cpu->r[31] + 0x00000004u;
/* 028BBC0C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
L_028BBC10: ; // 0x28bbc10
/* 028BBC10 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028BBC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028BBC14 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028BBC14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028BBC18 */ cpu->lr = cpu->r[0];
/* 028BBC1C */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028BBC1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028BBC20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BBC24 */ return;
}
// fn_028BBC28 @ 0x28bbc28
void Gambit_fn_028BBC28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028BBC28: ; // 0x28bbc28
/* 028BBC28 */ cpu->r[0] = cpu->lr;
/* 028BBC2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BBC2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBC2C */ cpu->r[1] = _t0;
/* 028BBC30 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BBC30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BBC34 */ cpu->r[31] = cpu->r[3];
/* 028BBC38 */ cpu->r[3] = cpu->r[31] + 0x000000A0u;
/* 028BBC3C */ cpu->r[4] = cpu->r[31] + 0x00000008u;
/* 028BBC40 */ cpu->r[5] = cpu->r[31] + 0x00000054u;
/* 028BBC44 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BBC44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BBC48 */ Gambit_fn_028BD820(cpu);
/* 028BBC4C */ _t3 = cpu->r[31] + 0x000000ECu;
/* 028BBC4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BBC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBC54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBC54 */ _t5 = _t4 & 0x00000001u;
/* 028BBC54 */ if (_t5) goto L_028BBC88; else goto L_028BBC58;
L_028BBC58: ; // 0x28bbc58
/* 028BBC58 */ Gambit_fn_028CB144(cpu);
/* 028BBC5C */ _t6 = cpu->r[31] + 0x000000ECu;
/* 028BBC5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BBC60 */ _t7 = cpu->r[3] + 0x00000004u;
/* 028BBC60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
/* 028BBC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028BBC68 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBC68 */ _t9 = _t8 & 0x00000001u;
/* 028BBC68 */ if (_t9) goto L_028BBC88; else goto L_028BBC6C;
L_028BBC6C: ; // 0x28bbc6c
/* 028BBC6C */ _t10 = cpu->r[31] + 0x000000F4u;
/* 028BBC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BBC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BBC74 */ _t11 = cpu->r[3] + 0x00000008u;
/* 028BBC74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
/* 028BBC78 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBC78 */ _t13 = _t12 & 0x00000001u;
/* 028BBC78 */ if (_t13) goto L_028BBC88; else goto L_028BBC7C;
L_028BBC7C: ; // 0x28bbc7c
/* 028BBC7C */ _t14 = cpu->r[31] + 0x000000F8u;
/* 028BBC7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028BBC80 */ cpu->r[3] = cpu->r[0];
/* 028BBC84 */ Gambit_fn_028D4F24(cpu);
L_028BBC88: ; // 0x28bbc88
/* 028BBC88 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028BBC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BBC8C */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BBC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028BBC90 */ cpu->lr = cpu->r[0];
/* 028BBC94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BBC98 */ return;
}
// fn_028BBC2C @ 0x28bbc2c
void Gambit_fn_028BBC2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028BBC2C: ; // 0x28bbc2c
/* 028BBC2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BBC2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBC2C */ cpu->r[1] = _t0;
/* 028BBC30 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BBC30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BBC34 */ cpu->r[31] = cpu->r[3];
/* 028BBC38 */ cpu->r[3] = cpu->r[31] + 0x000000A0u;
/* 028BBC3C */ cpu->r[4] = cpu->r[31] + 0x00000008u;
/* 028BBC40 */ cpu->r[5] = cpu->r[31] + 0x00000054u;
/* 028BBC44 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BBC44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BBC48 */ Gambit_fn_028BD820(cpu);
/* 028BBC4C */ _t3 = cpu->r[31] + 0x000000ECu;
/* 028BBC4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BBC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBC54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBC54 */ _t5 = _t4 & 0x00000001u;
/* 028BBC54 */ if (_t5) goto L_028BBC88; else goto L_028BBC58;
L_028BBC58: ; // 0x28bbc58
/* 028BBC58 */ Gambit_fn_028CB144(cpu);
/* 028BBC5C */ _t6 = cpu->r[31] + 0x000000ECu;
/* 028BBC5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BBC60 */ _t7 = cpu->r[3] + 0x00000004u;
/* 028BBC60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
/* 028BBC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028BBC68 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBC68 */ _t9 = _t8 & 0x00000001u;
/* 028BBC68 */ if (_t9) goto L_028BBC88; else goto L_028BBC6C;
L_028BBC6C: ; // 0x28bbc6c
/* 028BBC6C */ _t10 = cpu->r[31] + 0x000000F4u;
/* 028BBC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BBC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BBC74 */ _t11 = cpu->r[3] + 0x00000008u;
/* 028BBC74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
/* 028BBC78 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBC78 */ _t13 = _t12 & 0x00000001u;
/* 028BBC78 */ if (_t13) goto L_028BBC88; else goto L_028BBC7C;
L_028BBC7C: ; // 0x28bbc7c
/* 028BBC7C */ _t14 = cpu->r[31] + 0x000000F8u;
/* 028BBC7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
/* 028BBC80 */ cpu->r[3] = cpu->r[0];
/* 028BBC84 */ Gambit_fn_028D4F24(cpu);
L_028BBC88: ; // 0x28bbc88
/* 028BBC88 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028BBC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BBC8C */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BBC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028BBC90 */ cpu->lr = cpu->r[0];
/* 028BBC94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BBC98 */ return;
}
// fn_028BBC9C @ 0x28bbc9c
void Gambit_fn_028BBC9C(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_028BBC9C: ; // 0x28bbc9c
/* 028BBC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBCA0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBCA0 */ _t17 = _t16 & 0x00000001u;
/* 028BBCA0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BBCA0 */ goto L_028BBCA4;
L_028BBCA4: ; // 0x28bbca4
/* 028BBCA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BBCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BBCA8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBCA8 */ _t19 = _t18 & 0x00000001u;
/* 028BBCA8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BBCA8 */ goto L_028BBCAC;
L_028BBCAC: ; // 0x28bbcac
/* 028BBCAC */ goto L_02801BB0;
}
// fn_028BBCB0 @ 0x28bbcb0
void Gambit_fn_028BBCB0(CPUState* cpu) {
L_028BBCB0: ; // 0x28bbcb0
/* 028BBCB0 */ return;
}
// fn_028BBCB4 @ 0x28bbcb4
void Gambit_fn_028BBCB4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028BBCB4: ; // 0x28bbcb4
/* 028BBCB4 */ cpu->r[0] = cpu->lr;
/* 028BBCB8 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BBCB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BBCBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBCC0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBCC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BBCC0 */ cpu->r[1] = _t1;
/* 028BBCC4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBCC4 */ _t3 = _t2 & 0x00000001u;
/* 028BBCC4 */ if (_t3) goto L_028BBCC8; else goto L_028BBCD8;
L_028BBCC8: ; // 0x28bbcc8
/* 028BBCC8 */ cpu->r[3] = 0x00000020u;
/* 028BBCCC */ Gambit_fn_02801A78(cpu);
/* 028BBCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBCD4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBCD4 */ _t5 = _t4 & 0x00000001u;
/* 028BBCD4 */ if (_t5) goto L_028BBD10; else goto L_028BBCD8;
L_028BBCD8: ; // 0x28bbcd8
/* 028BBCD8 */ cpu->r[12] = 0x10140000u;
/* 028BBCDC */ _t6 = cpu->r[12] + 0xFFFF8FB4u;
/* 028BBCDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028BBCE0 */ cpu->r[12] = 0x10140000u;
/* 028BBCE4 */ _t7 = cpu->r[12] + 0xFFFF8FB8u;
/* 028BBCE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
/* 028BBCE8 */ _t8 = cpu->r[3] + 0x00000010u;
/* 028BBCE8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028BBCEC */ _t9 = cpu->r[3] + 0x00000018u;
/* 028BBCEC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
/* 028BBCF0 */ _t10 = cpu->r[3] + 0x00000014u;
/* 028BBCF0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028BBCF4 */ cpu->r[0] = 0x10140000u;
/* 028BBCF8 */ _t11 = cpu->r[3] + 0x0000000Cu;
/* 028BBCF8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028BBCFC */ cpu->r[0] = cpu->r[0] + 0xFFFF8FBCu;
/* 028BBD00 */ _t12 = cpu->r[3] + 0x00000000u;
/* 028BBD00 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028BBD04 */ _t13 = cpu->r[3] + 0x0000001Cu;
/* 028BBD04 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028BBD08 */ _t14 = cpu->r[3] + 0x00000008u;
/* 028BBD08 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028BBD0C */ _t15 = cpu->r[3] + 0x00000004u;
/* 028BBD0C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
L_028BBD10: ; // 0x28bbd10
/* 028BBD10 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BBD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BBD14 */ cpu->lr = cpu->r[0];
/* 028BBD18 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBD1C */ return;
}
// fn_028BBCC0 @ 0x28bbcc0
void Gambit_fn_028BBCC0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028BBCC0: ; // 0x28bbcc0
/* 028BBCC0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBCC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBCC0 */ cpu->r[1] = _t0;
/* 028BBCC4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBCC4 */ _t2 = _t1 & 0x00000001u;
/* 028BBCC4 */ if (_t2) goto L_028BBCC8; else goto L_028BBCD8;
L_028BBCC8: ; // 0x28bbcc8
/* 028BBCC8 */ cpu->r[3] = 0x00000020u;
/* 028BBCCC */ Gambit_fn_02801A78(cpu);
/* 028BBCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBCD4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBCD4 */ _t4 = _t3 & 0x00000001u;
/* 028BBCD4 */ if (_t4) goto L_028BBD10; else goto L_028BBCD8;
L_028BBCD8: ; // 0x28bbcd8
/* 028BBCD8 */ cpu->r[12] = 0x10140000u;
/* 028BBCDC */ _t5 = cpu->r[12] + 0xFFFF8FB4u;
/* 028BBCDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028BBCE0 */ cpu->r[12] = 0x10140000u;
/* 028BBCE4 */ _t6 = cpu->r[12] + 0xFFFF8FB8u;
/* 028BBCE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
/* 028BBCE8 */ _t7 = cpu->r[3] + 0x00000010u;
/* 028BBCE8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028BBCEC */ _t8 = cpu->r[3] + 0x00000018u;
/* 028BBCEC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
/* 028BBCF0 */ _t9 = cpu->r[3] + 0x00000014u;
/* 028BBCF0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028BBCF4 */ cpu->r[0] = 0x10140000u;
/* 028BBCF8 */ _t10 = cpu->r[3] + 0x0000000Cu;
/* 028BBCF8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028BBCFC */ cpu->r[0] = cpu->r[0] + 0xFFFF8FBCu;
/* 028BBD00 */ _t11 = cpu->r[3] + 0x00000000u;
/* 028BBD00 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028BBD04 */ _t12 = cpu->r[3] + 0x0000001Cu;
/* 028BBD04 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028BBD08 */ _t13 = cpu->r[3] + 0x00000008u;
/* 028BBD08 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028BBD0C */ _t14 = cpu->r[3] + 0x00000004u;
/* 028BBD0C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
L_028BBD10: ; // 0x28bbd10
/* 028BBD10 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028BBD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BBD14 */ cpu->lr = cpu->r[0];
/* 028BBD18 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBD1C */ return;
}
// fn_028BBD20 @ 0x28bbd20
void Gambit_fn_028BBD20(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_028BBD20: ; // 0x28bbd20
/* 028BBD20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBD24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBD24 */ _t17 = _t16 & 0x00000001u;
/* 028BBD24 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BBD24 */ goto L_028BBD28;
L_028BBD28: ; // 0x28bbd28
/* 028BBD28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BBD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BBD2C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBD2C */ _t19 = _t18 & 0x00000001u;
/* 028BBD2C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BBD2C */ goto L_028BBD30;
L_028BBD30: ; // 0x28bbd30
/* 028BBD30 */ goto L_02801BB0;
}
// fn_028BBD34 @ 0x28bbd34
void Gambit_fn_028BBD34(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BBD34: ; // 0x28bbd34
/* 028BBD34 */ cpu->r[12] = 0x10140000u;
/* 028BBD38 */ _t0 = cpu->r[12] + 0xFFFF8FB4u;
/* 028BBD38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028BBD3C */ cpu->r[12] = 0x10140000u;
/* 028BBD40 */ _t1 = cpu->r[12] + 0xFFFF8FB8u;
/* 028BBD40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
/* 028BBD44 */ _t2 = cpu->r[3] + 0x00000010u;
/* 028BBD44 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
/* 028BBD48 */ _t3 = cpu->r[3] + 0x00000018u;
/* 028BBD48 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[13]);
/* 028BBD4C */ _t4 = cpu->r[3] + 0x00000008u;
/* 028BBD4C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
/* 028BBD50 */ _t5 = cpu->r[3] + 0x00000014u;
/* 028BBD50 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
/* 028BBD54 */ _t6 = cpu->r[3] + 0x00000004u;
/* 028BBD54 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028BBD58 */ _t7 = cpu->r[3] + 0x0000000Cu;
/* 028BBD58 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028BBD5C */ _t8 = cpu->r[3] + 0x00000000u;
/* 028BBD5C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028BBD60 */ return;
}
// fn_028BBD64 @ 0x28bbd64
void Gambit_fn_028BBD64(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028BBD64: ; // 0x28bbd64
/* 028BBD64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BBD64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBD64 */ cpu->r[1] = _t0;
/* 028BBD68 */ cpu->r[0] = cpu->lr;
/* 028BBD6C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BBD6C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BBD70 */ /* nop */
/* 028BBD74 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BBD74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BBD78 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028BBD78 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028BBD7C */ _t4 = cpu->r[1] + 0x00000008u;
/* 028BBD7C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028BBD80 */ cpu->r[12] = 0x10140000u;
/* 028BBD84 */ _t5 = cpu->r[12] + 0xFFFF8FB4u;
/* 028BBD84 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
/* 028BBD88 */ cpu->r[30] = cpu->r[4];
/* 028BBD88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BBD8C */ _t6 = cpu->r[1] + 0x00000024u;
/* 028BBD8C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BBD90 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBD90 */ _t8 = _t7 & 0x00000001u;
/* 028BBD90 */ if (_t8) goto L_028BBD94; else goto L_028BBDBC;
L_028BBD94: ; // 0x28bbd94
/* 028BBD94 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028BBD94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028BBD98 */ cpu->f[1] = cpu->f[31];
/* 028BBD9C */ _t10 = cpu->r[1] + 0x00000018u;
/* 028BBD9C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028BBDA0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BBDA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BBDA4 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028BBDA4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
/* 028BBDA8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBDA8 */ _t14 = _t13 & 0x00000001u;
/* 028BBDA8 */ if (_t14) goto L_028BBDAC; // else: addr-0 trap, fall-through
L_028BBDAC: ; // 0x28bbdac
/* 028BBDAC */ _t15 = cpu->r[1] + 0x00000024u;
/* 028BBDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BBDB0 */ cpu->lr = cpu->r[0];
/* 028BBDB4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BBDB8 */ return;
L_028BBDBC: ; // 0x28bbdbc
/* 028BBDBC */ _t16 = cpu->r[30] + 0x00000014u;
/* 028BBDBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BBDC0 */ cpu->r[31] = 0x00000000u;
/* 028BBDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
/* 028BBDC8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBDC8 */ _t18 = _t17 & 0x00000001u;
/* 028BBDC8 */ if (_t18) goto L_028BBDCC; else goto L_028BBDF4;
L_028BBDCC: ; // 0x28bbdcc
/* 028BBDCC */ cpu->r[3] = cpu->r[30];
/* 028BBDD0 */ cpu->r[4] = cpu->r[31];
/* 028BBDD4 */ Gambit_fn_028E0D60(cpu);
/* 028BBDD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
/* 028BBDDC */ _t19 = cpu->r[30] + 0x00000014u;
/* 028BBDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BBDE0 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BBDE0 */ _t21 = _t20 & 0x00000001u;
/* 028BBDE0 */ if (_t21) goto L_028BBDE4; else goto L_028BBDE8;
L_028BBDE4: ; // 0x28bbde4
/* 028BBDE4 */ cpu->f[31] = cpu->f[1];
L_028BBDE8: ; // 0x28bbde8
/* 028BBDE8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028BBDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
/* 028BBDF0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBDF0 */ _t23 = _t22 & 0x00000001u;
/* 028BBDF0 */ if (_t23) goto L_028BBDCC; else goto L_028BBDF4;
L_028BBDF4: ; // 0x28bbdf4
/* 028BBDF4 */ cpu->f[1] = cpu->f[31];
/* 028BBDF8 */ Gambit_fn_02C8B9D8(cpu);
/* 028BBDFC */ _t24 = cpu->r[1] + 0x00000018u;
/* 028BBDFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028BBE00 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028BBE00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028BBE04 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028BBE04 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
/* 028BBE08 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028BBE08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028BBE0C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBE0C */ _t29 = _t28 & 0x00000001u;
/* 028BBE0C */ if (_t29) goto L_028BBE10; // else: addr-0 trap, fall-through
L_028BBE10: ; // 0x28bbe10
/* 028BBE10 */ _t30 = cpu->r[1] + 0x00000024u;
/* 028BBE10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028BBE14 */ cpu->lr = cpu->r[0];
/* 028BBE18 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BBE1C */ return;
}
// fn_028BBE20 @ 0x28bbe20
void Gambit_fn_028BBE20(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028BBE20: ; // 0x28bbe20
/* 028BBE20 */ cpu->r[0] = cpu->lr;
/* 028BBE24 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BBE24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBE24 */ cpu->r[1] = _t0;
/* 028BBE28 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BBE28 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BBE2C */ /* nop */
/* 028BBE30 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BBE30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BBE34 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028BBE34 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028BBE38 */ cpu->r[31] = cpu->r[3];
/* 028BBE3C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028BBE3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BBE40 */ _t5 = cpu->r[31] + 0x00000000u;
/* 028BBE40 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
/* 028BBE44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BBE48 */ _t6 = cpu->r[31] + 0x00000014u;
/* 028BBE48 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
/* 028BBE4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBE4C */ _t8 = _t7 & 0x00000001u;
/* 028BBE4C */ if (_t8) goto L_028BBE6C; else goto L_028BBE50;
L_028BBE50: ; // 0x28bbe50
/* 028BBE50 */ _t9 = cpu->r[4] + 0x000001A0u;
/* 028BBE50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
/* 028BBE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BBE58 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBE58 */ _t11 = _t10 & 0x00000001u;
/* 028BBE58 */ if (_t11) goto L_028BBE6C; else goto L_028BBE5C;
L_028BBE5C: ; // 0x28bbe5c
/* 028BBE5C */ cpu->r[3] = cpu->r[31];
/* 028BBE60 */ Gambit_fn_028BBD64(cpu);
/* 028BBE64 */ cpu->f[0] = cpu->f[31] + cpu->f[1];
/* 028BBE68 */ _t12 = cpu->r[31] + 0x00000014u;
/* 028BBE68 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
L_028BBE6C: ; // 0x28bbe6c
/* 028BBE6C */ _t13 = cpu->r[1] + 0x00000018u;
/* 028BBE6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
/* 028BBE70 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BBE70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BBE74 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028BBE74 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028BBE78 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBE78 */ _t17 = _t16 & 0x00000001u;
/* 028BBE78 */ if (_t17) goto L_028BBE7C; // else: addr-0 trap, fall-through
L_028BBE7C: ; // 0x28bbe7c
/* 028BBE7C */ _t18 = cpu->r[1] + 0x00000024u;
/* 028BBE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028BBE80 */ cpu->lr = cpu->r[0];
/* 028BBE84 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BBE88 */ return;
}
// fn_028BBE24 @ 0x28bbe24
void Gambit_fn_028BBE24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028BBE24: ; // 0x28bbe24
/* 028BBE24 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BBE24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBE24 */ cpu->r[1] = _t0;
/* 028BBE28 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BBE28 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BBE2C */ /* nop */
/* 028BBE30 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BBE30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BBE34 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028BBE34 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028BBE38 */ cpu->r[31] = cpu->r[3];
/* 028BBE3C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028BBE3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BBE40 */ _t5 = cpu->r[31] + 0x00000000u;
/* 028BBE40 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
/* 028BBE44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BBE48 */ _t6 = cpu->r[31] + 0x00000014u;
/* 028BBE48 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
/* 028BBE4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBE4C */ _t8 = _t7 & 0x00000001u;
/* 028BBE4C */ if (_t8) goto L_028BBE6C; else goto L_028BBE50;
L_028BBE50: ; // 0x28bbe50
/* 028BBE50 */ _t9 = cpu->r[4] + 0x000001A0u;
/* 028BBE50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
/* 028BBE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BBE58 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBE58 */ _t11 = _t10 & 0x00000001u;
/* 028BBE58 */ if (_t11) goto L_028BBE6C; else goto L_028BBE5C;
L_028BBE5C: ; // 0x28bbe5c
/* 028BBE5C */ cpu->r[3] = cpu->r[31];
/* 028BBE60 */ Gambit_fn_028BBD64(cpu);
/* 028BBE64 */ cpu->f[0] = cpu->f[31] + cpu->f[1];
/* 028BBE68 */ _t12 = cpu->r[31] + 0x00000014u;
/* 028BBE68 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
L_028BBE6C: ; // 0x28bbe6c
/* 028BBE6C */ _t13 = cpu->r[1] + 0x00000018u;
/* 028BBE6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
/* 028BBE70 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BBE70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BBE74 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028BBE74 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028BBE78 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBE78 */ _t17 = _t16 & 0x00000001u;
/* 028BBE78 */ if (_t17) goto L_028BBE7C; // else: addr-0 trap, fall-through
L_028BBE7C: ; // 0x28bbe7c
/* 028BBE7C */ _t18 = cpu->r[1] + 0x00000024u;
/* 028BBE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028BBE80 */ cpu->lr = cpu->r[0];
/* 028BBE84 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BBE88 */ return;
}
// fn_028BBE8C @ 0x28bbe8c
void Gambit_fn_028BBE8C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BBE8C: ; // 0x28bbe8c
/* 028BBE8C */ cpu->r[11] = 0x10140000u;
/* 028BBE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BBE94 */ _t0 = cpu->r[11] + 0xFFFF8FB4u;
/* 028BBE94 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
/* 028BBE98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBE98 */ _t2 = _t1 & 0x00000001u;
/* 028BBE98 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BBE98 */ goto L_028BBE9C;
L_028BBE9C: ; // 0x28bbe9c
/* 028BBE9C */ _t3 = cpu->r[3] + 0x00000010u;
/* 028BBE9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028BBEA0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[1]);
/* 028BBEA4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBEA4 */ _t5 = _t4 & 0x00000001u;
/* 028BBEA4 */ _t6 = _t5 ^ 0x00000001u;
/* 028BBEA4 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BBEA4 */ goto L_028BBEA8;
L_028BBEA8: ; // 0x28bbea8
/* 028BBEA8 */ _t7 = cpu->r[4] + 0x00000010u;
/* 028BBEA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028BBEAC */ _t8 = cpu->r[3] + 0x00000004u;
/* 028BBEAC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
/* 028BBEB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
/* 028BBEB4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBEB4 */ _t10 = _t9 & 0x00000001u;
/* 028BBEB4 */ if (_t10) goto L_028BBEB8; else goto L_028BBED0;
L_028BBEB8: ; // 0x28bbeb8
/* 028BBEB8 */ cpu->f[12] = cpu->f[0] / cpu->f[11];
/* 028BBEBC */ cpu->r[12] = 0x10140000u;
/* 028BBEC0 */ _t11 = cpu->r[12] + 0xFFFF8FB8u;
/* 028BBEC0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028BBEC4 */ cpu->f[11] = cpu->f[0] - cpu->f[12];
/* 028BBEC8 */ cpu->f[1] = cpu->f[13] * cpu->f[11];
/* 028BBECC */ return;
L_028BBED0: ; // 0x28bbed0
/* 028BBED0 */ cpu->f[0] = cpu->f[0] - cpu->f[11];
/* 028BBED4 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028BBED4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
/* 028BBED8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[10]);
/* 028BBEDC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBEDC */ _t14 = _t13 & 0x00000001u;
/* 028BBEDC */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BBEDC */ goto L_028BBEE0;
L_028BBEE0: ; // 0x28bbee0
/* 028BBEE0 */ cpu->f[0] = cpu->f[0] - cpu->f[10];
/* 028BBEE4 */ _t15 = cpu->r[3] + 0x0000000Cu;
/* 028BBEE4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
/* 028BBEE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028BBEEC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BBEEC */ _t17 = _t16 & 0x00000001u;
/* 028BBEEC */ if (_t17) goto L_028BBEF0; else goto L_028BBEFC;
L_028BBEF0: ; // 0x28bbef0
/* 028BBEF0 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
/* 028BBEF4 */ cpu->f[1] = cpu->f[13] / cpu->f[12];
/* 028BBEF8 */ return;
L_028BBEFC: ; // 0x28bbefc
/* 028BBEFC */ cpu->f[1] = cpu->f[13];
/* 028BBF00 */ return;
}
// fn_028BBF04 @ 0x28bbf04
void Gambit_fn_028BBF04(CPUState* cpu) {
uint32_t _t0;
L_028BBF04: ; // 0x28bbf04
/* 028BBF04 */ _t0 = cpu->r[3] + 0x00000018u;
/* 028BBF04 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028BBF08 */ return;
}
// fn_028BBF0C @ 0x28bbf0c
void Gambit_fn_028BBF0C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BBF0C: ; // 0x28bbf0c
/* 028BBF0C */ cpu->r[0] = cpu->lr;
/* 028BBF10 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BBF10 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BBF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBF18 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBF18 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BBF18 */ cpu->r[1] = _t1;
/* 028BBF1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF1C */ _t3 = _t2 & 0x00000001u;
/* 028BBF1C */ if (_t3) goto L_028BBF20; else goto L_028BBF30;
L_028BBF20: ; // 0x28bbf20
/* 028BBF20 */ cpu->r[3] = 0x00000008u;
/* 028BBF24 */ Gambit_fn_02801A78(cpu);
/* 028BBF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBF2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF2C */ _t5 = _t4 & 0x00000001u;
/* 028BBF2C */ if (_t5) goto L_028BBF3C; else goto L_028BBF30;
L_028BBF30: ; // 0x28bbf30
/* 028BBF30 */ cpu->r[0] = 0x00000000u;
/* 028BBF34 */ _t6 = cpu->r[3] + 0x00000004u;
/* 028BBF34 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BBF38 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028BBF38 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
L_028BBF3C: ; // 0x28bbf3c
/* 028BBF3C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BBF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BBF40 */ cpu->lr = cpu->r[0];
/* 028BBF44 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBF48 */ return;
}
// fn_028BBF18 @ 0x28bbf18
void Gambit_fn_028BBF18(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BBF18: ; // 0x28bbf18
/* 028BBF18 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBF18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBF18 */ cpu->r[1] = _t0;
/* 028BBF1C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF1C */ _t2 = _t1 & 0x00000001u;
/* 028BBF1C */ if (_t2) goto L_028BBF20; else goto L_028BBF30;
L_028BBF20: ; // 0x28bbf20
/* 028BBF20 */ cpu->r[3] = 0x00000008u;
/* 028BBF24 */ Gambit_fn_02801A78(cpu);
/* 028BBF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBF2C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF2C */ _t4 = _t3 & 0x00000001u;
/* 028BBF2C */ if (_t4) goto L_028BBF3C; else goto L_028BBF30;
L_028BBF30: ; // 0x28bbf30
/* 028BBF30 */ cpu->r[0] = 0x00000000u;
/* 028BBF34 */ _t5 = cpu->r[3] + 0x00000004u;
/* 028BBF34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BBF38 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028BBF38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
L_028BBF3C: ; // 0x28bbf3c
/* 028BBF3C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BBF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BBF40 */ cpu->lr = cpu->r[0];
/* 028BBF44 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBF48 */ return;
}
// fn_028BBF4C @ 0x28bbf4c
void Gambit_fn_028BBF4C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BBF4C: ; // 0x28bbf4c
/* 028BBF4C */ _t0 = cpu->r[3] + 0x00000000u;
/* 028BBF4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BBF50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BBF54 */ cpu->r[0] = 0x00000000u;
/* 028BBF58 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF58 */ _t2 = _t1 & 0x00000001u;
/* 028BBF58 */ if (_t2) goto L_028BBF70; else goto L_028BBF5C;
L_028BBF5C: ; // 0x28bbf5c
/* 028BBF5C */ _t3 = cpu->r[3] + 0x00000004u;
/* 028BBF5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028BBF60 */ _t4 = cpu->r[12] + 0x00000008u;
/* 028BBF60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BBF64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028BBF68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF68 */ _t6 = _t5 & 0x00000001u;
/* 028BBF68 */ if (_t6) goto L_028BBF6C; else goto L_028BBF70;
L_028BBF6C: ; // 0x28bbf6c
/* 028BBF6C */ cpu->r[0] = 0x00000001u;
L_028BBF70: ; // 0x28bbf70
/* 028BBF70 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BBF74 */ return;
}
// fn_028BBF78 @ 0x28bbf78
void Gambit_fn_028BBF78(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028BBF78: ; // 0x28bbf78
/* 028BBF78 */ cpu->r[0] = cpu->lr;
/* 028BBF7C */ cpu->r[10] = cpu->r[3];
/* 028BBF80 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BBF80 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BBF84 */ cpu->r[9] = 0x00000000u;
/* 028BBF88 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BBF88 */ cpu->r[1] = _t1;
/* 028BBF8C */ Gambit_fn_028BBF4C(cpu);
/* 028BBF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBF94 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF94 */ _t3 = _t2 & 0x00000001u;
/* 028BBF94 */ if (_t3) goto L_028BBFB4; else goto L_028BBF98;
L_028BBF98: ; // 0x28bbf98
/* 028BBF98 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BBF98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BBF9C */ _t5 = cpu->r[12] + 0x00000004u;
/* 028BBF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BBFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BBFA4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBFA4 */ _t7 = _t6 & 0x00000001u;
/* 028BBFA4 */ if (_t7) goto L_028BBFB4; else goto L_028BBFA8;
L_028BBFA8: ; // 0x28bbfa8
/* 028BBFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
/* 028BBFAC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBFAC */ _t9 = _t8 & 0x00000001u;
/* 028BBFAC */ if (_t9) goto L_028BBFB4; else goto L_028BBFB0;
L_028BBFB0: ; // 0x28bbfb0
/* 028BBFB0 */ cpu->r[9] = 0x00000001u;
L_028BBFB4: ; // 0x28bbfb4
/* 028BBFB4 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BBFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BBFB8 */ cpu->lr = cpu->r[0];
/* 028BBFBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBFC0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BBFC4 */ return;
}
// fn_028BBF88 @ 0x28bbf88
void Gambit_fn_028BBF88(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028BBF88: ; // 0x28bbf88
/* 028BBF88 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBF88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBF88 */ cpu->r[1] = _t0;
/* 028BBF8C */ Gambit_fn_028BBF4C(cpu);
/* 028BBF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBF94 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF94 */ _t2 = _t1 & 0x00000001u;
/* 028BBF94 */ if (_t2) goto L_028BBFB4; else goto L_028BBF98;
L_028BBF98: ; // 0x28bbf98
/* 028BBF98 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BBF98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BBF9C */ _t4 = cpu->r[12] + 0x00000004u;
/* 028BBF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BBFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BBFA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBFA4 */ _t6 = _t5 & 0x00000001u;
/* 028BBFA4 */ if (_t6) goto L_028BBFB4; else goto L_028BBFA8;
L_028BBFA8: ; // 0x28bbfa8
/* 028BBFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
/* 028BBFAC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBFAC */ _t8 = _t7 & 0x00000001u;
/* 028BBFAC */ if (_t8) goto L_028BBFB4; else goto L_028BBFB0;
L_028BBFB0: ; // 0x28bbfb0
/* 028BBFB0 */ cpu->r[9] = 0x00000001u;
L_028BBFB4: ; // 0x28bbfb4
/* 028BBFB4 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BBFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BBFB8 */ cpu->lr = cpu->r[0];
/* 028BBFBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBFC0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BBFC4 */ return;
}
// fn_028BBFC8 @ 0x28bbfc8
void Gambit_fn_028BBFC8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BBFC8: ; // 0x28bbfc8
/* 028BBFC8 */ cpu->r[0] = cpu->lr;
/* 028BBFCC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BBFCC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BBFD0 */ cpu->r[10] = cpu->r[3];
/* 028BBFD4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBFD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BBFD4 */ cpu->r[1] = _t1;
/* 028BBFD8 */ Gambit_fn_028BBF4C(cpu);
/* 028BBFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBFE0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBFE0 */ _t3 = _t2 & 0x00000001u;
/* 028BBFE0 */ if (_t3) goto L_028BBFEC; else goto L_028BBFE4;
L_028BBFE4: ; // 0x28bbfe4
/* 028BBFE4 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BBFE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BBFE8 */ Gambit_fn_028BDC2C(cpu);
L_028BBFEC: ; // 0x28bbfec
/* 028BBFEC */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BBFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BBFF0 */ cpu->lr = cpu->r[0];
/* 028BBFF4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBFF8 */ return;
}
// fn_028BBFD4 @ 0x28bbfd4
void Gambit_fn_028BBFD4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BBFD4: ; // 0x28bbfd4
/* 028BBFD4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBFD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BBFD4 */ cpu->r[1] = _t0;
/* 028BBFD8 */ Gambit_fn_028BBF4C(cpu);
/* 028BBFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBFE0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBFE0 */ _t2 = _t1 & 0x00000001u;
/* 028BBFE0 */ if (_t2) goto L_028BBFEC; else goto L_028BBFE4;
L_028BBFE4: ; // 0x28bbfe4
/* 028BBFE4 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BBFE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BBFE8 */ Gambit_fn_028BDC2C(cpu);
L_028BBFEC: ; // 0x28bbfec
/* 028BBFEC */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BBFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BBFF0 */ cpu->lr = cpu->r[0];
/* 028BBFF4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBFF8 */ return;
}
// fn_028BBFFC @ 0x28bbffc
void Gambit_fn_028BBFFC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BBFFC: ; // 0x28bbffc
/* 028BBFFC */ cpu->r[0] = cpu->lr;
/* 028BC000 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC000 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC004 */ cpu->r[10] = cpu->r[3];
/* 028BC008 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC008 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC008 */ cpu->r[1] = _t1;
/* 028BC00C */ Gambit_fn_028BBF4C(cpu);
/* 028BC010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC014 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC014 */ _t3 = _t2 & 0x00000001u;
/* 028BC014 */ if (_t3) goto L_028BC020; else goto L_028BC018;
L_028BC018: ; // 0x28bc018
/* 028BC018 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC018 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BC01C */ Gambit_fn_028BE6A0(cpu);
L_028BC020: ; // 0x28bc020
/* 028BC020 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BC020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC024 */ cpu->lr = cpu->r[0];
/* 028BC028 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC02C */ return;
}
// fn_028BC008 @ 0x28bc008
void Gambit_fn_028BC008(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BC008: ; // 0x28bc008
/* 028BC008 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC008 */ cpu->r[1] = _t0;
/* 028BC00C */ Gambit_fn_028BBF4C(cpu);
/* 028BC010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC014 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC014 */ _t2 = _t1 & 0x00000001u;
/* 028BC014 */ if (_t2) goto L_028BC020; else goto L_028BC018;
L_028BC018: ; // 0x28bc018
/* 028BC018 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BC018 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BC01C */ Gambit_fn_028BE6A0(cpu);
L_028BC020: ; // 0x28bc020
/* 028BC020 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC024 */ cpu->lr = cpu->r[0];
/* 028BC028 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC02C */ return;
}
// fn_028BC030 @ 0x28bc030
void Gambit_fn_028BC030(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BC030: ; // 0x28bc030
/* 028BC030 */ cpu->r[0] = cpu->lr;
/* 028BC034 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC034 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC038 */ cpu->r[9] = cpu->r[3];
/* 028BC03C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC03C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC03C */ cpu->r[1] = _t1;
/* 028BC040 */ _t2 = cpu->r[4] + 0x00000000u;
/* 028BC040 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
/* 028BC044 */ Gambit_fn_028BBF4C(cpu);
/* 028BC048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC04C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC04C */ _t4 = _t3 & 0x00000001u;
/* 028BC04C */ if (_t4) goto L_028BC060; else goto L_028BC050;
L_028BC050: ; // 0x28bc050
/* 028BC050 */ _t5 = cpu->r[9] + 0x00000000u;
/* 028BC050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028BC054 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC058 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028BC058 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]);
/* 028BC05C */ Gambit_fn_028BE63C(cpu);
L_028BC060: ; // 0x28bc060
/* 028BC060 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BC060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BC064 */ cpu->lr = cpu->r[0];
/* 028BC068 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC06C */ return;
}
// fn_028BC03C @ 0x28bc03c
void Gambit_fn_028BC03C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC03C: ; // 0x28bc03c
/* 028BC03C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC03C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC03C */ cpu->r[1] = _t0;
/* 028BC040 */ _t1 = cpu->r[4] + 0x00000000u;
/* 028BC040 */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
/* 028BC044 */ Gambit_fn_028BBF4C(cpu);
/* 028BC048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC04C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC04C */ _t3 = _t2 & 0x00000001u;
/* 028BC04C */ if (_t3) goto L_028BC060; else goto L_028BC050;
L_028BC050: ; // 0x28bc050
/* 028BC050 */ _t4 = cpu->r[9] + 0x00000000u;
/* 028BC050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BC054 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC058 */ _t5 = cpu->r[1] + 0x00000008u;
/* 028BC058 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[10]);
/* 028BC05C */ Gambit_fn_028BE63C(cpu);
L_028BC060: ; // 0x28bc060
/* 028BC060 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028BC060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BC064 */ cpu->lr = cpu->r[0];
/* 028BC068 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC06C */ return;
}
// fn_028BC070 @ 0x28bc070
void Gambit_fn_028BC070(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BC070: ; // 0x28bc070
/* 028BC070 */ cpu->r[0] = cpu->lr;
/* 028BC074 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC074 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC078 */ cpu->r[10] = cpu->r[3];
/* 028BC07C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC07C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC07C */ cpu->r[1] = _t1;
/* 028BC080 */ Gambit_fn_028BBF4C(cpu);
/* 028BC084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC088 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC088 */ _t3 = _t2 & 0x00000001u;
/* 028BC088 */ if (_t3) goto L_028BC098; else goto L_028BC08C;
L_028BC08C: ; // 0x28bc08c
/* 028BC08C */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC08C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BC090 */ cpu->r[3] = cpu->r[12] + 0x00000078u;
/* 028BC094 */ Gambit_fn_028BD330(cpu);
L_028BC098: ; // 0x28bc098
/* 028BC098 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BC098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC09C */ cpu->lr = cpu->r[0];
/* 028BC0A0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC0A4 */ return;
}
// fn_028BC07C @ 0x28bc07c
void Gambit_fn_028BC07C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BC07C: ; // 0x28bc07c
/* 028BC07C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC07C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC07C */ cpu->r[1] = _t0;
/* 028BC080 */ Gambit_fn_028BBF4C(cpu);
/* 028BC084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC088 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC088 */ _t2 = _t1 & 0x00000001u;
/* 028BC088 */ if (_t2) goto L_028BC098; else goto L_028BC08C;
L_028BC08C: ; // 0x28bc08c
/* 028BC08C */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BC08C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BC090 */ cpu->r[3] = cpu->r[12] + 0x00000078u;
/* 028BC094 */ Gambit_fn_028BD330(cpu);
L_028BC098: ; // 0x28bc098
/* 028BC098 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC09C */ cpu->lr = cpu->r[0];
/* 028BC0A0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC0A4 */ return;
}
// fn_028BC0A8 @ 0x28bc0a8
void Gambit_fn_028BC0A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BC0A8: ; // 0x28bc0a8
/* 028BC0A8 */ cpu->r[0] = cpu->lr;
/* 028BC0AC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC0AC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC0B0 */ cpu->r[9] = cpu->r[3];
/* 028BC0B4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC0B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC0B4 */ cpu->r[1] = _t1;
/* 028BC0B8 */ _t2 = cpu->r[4] + 0x00000000u;
/* 028BC0B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
/* 028BC0BC */ Gambit_fn_028BBF4C(cpu);
/* 028BC0C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC0C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC0C4 */ _t4 = _t3 & 0x00000001u;
/* 028BC0C4 */ if (_t4) goto L_028BC0D8; else goto L_028BC0C8;
L_028BC0C8: ; // 0x28bc0c8
/* 028BC0C8 */ _t5 = cpu->r[9] + 0x00000000u;
/* 028BC0C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028BC0CC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC0D0 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028BC0D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
/* 028BC0D4 */ Gambit_fn_028BDD10(cpu);
L_028BC0D8: ; // 0x28bc0d8
/* 028BC0D8 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BC0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BC0DC */ cpu->lr = cpu->r[0];
/* 028BC0E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC0E4 */ return;
}
// fn_028BC0B4 @ 0x28bc0b4
void Gambit_fn_028BC0B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC0B4: ; // 0x28bc0b4
/* 028BC0B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC0B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC0B4 */ cpu->r[1] = _t0;
/* 028BC0B8 */ _t1 = cpu->r[4] + 0x00000000u;
/* 028BC0B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
/* 028BC0BC */ Gambit_fn_028BBF4C(cpu);
/* 028BC0C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC0C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC0C4 */ _t3 = _t2 & 0x00000001u;
/* 028BC0C4 */ if (_t3) goto L_028BC0D8; else goto L_028BC0C8;
L_028BC0C8: ; // 0x28bc0c8
/* 028BC0C8 */ _t4 = cpu->r[9] + 0x00000000u;
/* 028BC0C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BC0CC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC0D0 */ _t5 = cpu->r[1] + 0x00000008u;
/* 028BC0D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
/* 028BC0D4 */ Gambit_fn_028BDD10(cpu);
L_028BC0D8: ; // 0x28bc0d8
/* 028BC0D8 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028BC0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BC0DC */ cpu->lr = cpu->r[0];
/* 028BC0E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC0E4 */ return;
}
// fn_028BC0E8 @ 0x28bc0e8
void Gambit_fn_028BC0E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BC0E8: ; // 0x28bc0e8
/* 028BC0E8 */ cpu->r[0] = cpu->lr;
/* 028BC0EC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC0EC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC0F0 */ cpu->r[10] = cpu->r[3];
/* 028BC0F4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC0F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC0F4 */ cpu->r[1] = _t1;
/* 028BC0F8 */ Gambit_fn_028BBF4C(cpu);
/* 028BC0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC100 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC100 */ _t3 = _t2 & 0x00000001u;
/* 028BC100 */ if (_t3) goto L_028BC11C; else goto L_028BC104;
L_028BC104: ; // 0x28bc104
/* 028BC104 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BC108 */ _t5 = cpu->r[4] + 0x00000000u;
/* 028BC108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC10C */ cpu->r[3] = cpu->r[12] + 0x00000078u;
/* 028BC110 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC114 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028BC114 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BC118 */ Gambit_fn_028BD348(cpu);
L_028BC11C: ; // 0x28bc11c
/* 028BC11C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BC11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BC120 */ cpu->lr = cpu->r[0];
/* 028BC124 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC128 */ return;
}
// fn_028BC0F4 @ 0x28bc0f4
void Gambit_fn_028BC0F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC0F4: ; // 0x28bc0f4
/* 028BC0F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC0F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC0F4 */ cpu->r[1] = _t0;
/* 028BC0F8 */ Gambit_fn_028BBF4C(cpu);
/* 028BC0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC100 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC100 */ _t2 = _t1 & 0x00000001u;
/* 028BC100 */ if (_t2) goto L_028BC11C; else goto L_028BC104;
L_028BC104: ; // 0x28bc104
/* 028BC104 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BC104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BC108 */ _t4 = cpu->r[4] + 0x00000000u;
/* 028BC108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC10C */ cpu->r[3] = cpu->r[12] + 0x00000078u;
/* 028BC110 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC114 */ _t5 = cpu->r[1] + 0x00000008u;
/* 028BC114 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BC118 */ Gambit_fn_028BD348(cpu);
L_028BC11C: ; // 0x28bc11c
/* 028BC11C */ _t6 = cpu->r[1] + 0x00000014u;
/* 028BC11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BC120 */ cpu->lr = cpu->r[0];
/* 028BC124 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC128 */ return;
}
// fn_028BC12C @ 0x28bc12c
void Gambit_fn_028BC12C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BC12C: ; // 0x28bc12c
/* 028BC12C */ cpu->r[0] = cpu->lr;
/* 028BC130 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC130 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC134 */ cpu->r[10] = cpu->r[3];
/* 028BC138 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC138 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC138 */ cpu->r[1] = _t1;
/* 028BC13C */ Gambit_fn_028BBF4C(cpu);
/* 028BC140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC144 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC144 */ _t3 = _t2 & 0x00000001u;
/* 028BC144 */ if (_t3) goto L_028BC154; else goto L_028BC148;
L_028BC148: ; // 0x28bc148
/* 028BC148 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BC14C */ cpu->r[3] = cpu->r[12] + 0x00000078u;
/* 028BC150 */ Gambit_fn_028BD388(cpu);
L_028BC154: ; // 0x28bc154
/* 028BC154 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BC154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC158 */ cpu->lr = cpu->r[0];
/* 028BC15C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC160 */ return;
}
// fn_028BC138 @ 0x28bc138
void Gambit_fn_028BC138(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BC138: ; // 0x28bc138
/* 028BC138 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC138 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC138 */ cpu->r[1] = _t0;
/* 028BC13C */ Gambit_fn_028BBF4C(cpu);
/* 028BC140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC144 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC144 */ _t2 = _t1 & 0x00000001u;
/* 028BC144 */ if (_t2) goto L_028BC154; else goto L_028BC148;
L_028BC148: ; // 0x28bc148
/* 028BC148 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BC148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BC14C */ cpu->r[3] = cpu->r[12] + 0x00000078u;
/* 028BC150 */ Gambit_fn_028BD388(cpu);
L_028BC154: ; // 0x28bc154
/* 028BC154 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC158 */ cpu->lr = cpu->r[0];
/* 028BC15C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC160 */ return;
}
// fn_028BC164 @ 0x28bc164
void Gambit_fn_028BC164(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BC164: ; // 0x28bc164
/* 028BC164 */ cpu->r[0] = cpu->lr;
/* 028BC168 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC168 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC16C */ cpu->r[10] = cpu->r[3];
/* 028BC170 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC170 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC170 */ cpu->r[1] = _t1;
/* 028BC174 */ Gambit_fn_028BBF4C(cpu);
/* 028BC178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC17C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC17C */ _t3 = _t2 & 0x00000001u;
/* 028BC17C */ if (_t3) goto L_028BC18C; else goto L_028BC180;
L_028BC180: ; // 0x28bc180
/* 028BC180 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BC184 */ cpu->r[3] = cpu->r[12] + 0x00000078u;
/* 028BC188 */ Gambit_fn_028BD3A8(cpu);
L_028BC18C: ; // 0x28bc18c
/* 028BC18C */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BC18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC190 */ cpu->lr = cpu->r[0];
/* 028BC194 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC198 */ return;
}
// fn_028BC170 @ 0x28bc170
void Gambit_fn_028BC170(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BC170: ; // 0x28bc170
/* 028BC170 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC170 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC170 */ cpu->r[1] = _t0;
/* 028BC174 */ Gambit_fn_028BBF4C(cpu);
/* 028BC178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC17C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC17C */ _t2 = _t1 & 0x00000001u;
/* 028BC17C */ if (_t2) goto L_028BC18C; else goto L_028BC180;
L_028BC180: ; // 0x28bc180
/* 028BC180 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BC180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BC184 */ cpu->r[3] = cpu->r[12] + 0x00000078u;
/* 028BC188 */ Gambit_fn_028BD3A8(cpu);
L_028BC18C: ; // 0x28bc18c
/* 028BC18C */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC190 */ cpu->lr = cpu->r[0];
/* 028BC194 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC198 */ return;
}
// fn_028BC19C @ 0x28bc19c
void Gambit_fn_028BC19C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BC19C: ; // 0x28bc19c
/* 028BC19C */ cpu->r[0] = cpu->lr;
/* 028BC1A0 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC1A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC1A4 */ cpu->r[10] = cpu->r[3];
/* 028BC1A8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC1A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC1A8 */ cpu->r[1] = _t1;
/* 028BC1AC */ Gambit_fn_028BBF4C(cpu);
/* 028BC1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC1B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC1B4 */ _t3 = _t2 & 0x00000001u;
/* 028BC1B4 */ if (_t3) goto L_028BC1C4; else goto L_028BC1B8;
L_028BC1B8: ; // 0x28bc1b8
/* 028BC1B8 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC1B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BC1BC */ _t5 = cpu->r[4] + 0x00000000u;
/* 028BC1BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC1C0 */ _t6 = cpu->r[12] + 0x00000028u;
/* 028BC1C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
L_028BC1C4: ; // 0x28bc1c4
/* 028BC1C4 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BC1C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BC1C8 */ cpu->lr = cpu->r[0];
/* 028BC1CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC1D0 */ return;
}
// fn_028BC1A8 @ 0x28bc1a8
void Gambit_fn_028BC1A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC1A8: ; // 0x28bc1a8
/* 028BC1A8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC1A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC1A8 */ cpu->r[1] = _t0;
/* 028BC1AC */ Gambit_fn_028BBF4C(cpu);
/* 028BC1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC1B4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC1B4 */ _t2 = _t1 & 0x00000001u;
/* 028BC1B4 */ if (_t2) goto L_028BC1C4; else goto L_028BC1B8;
L_028BC1B8: ; // 0x28bc1b8
/* 028BC1B8 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BC1B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BC1BC */ _t4 = cpu->r[4] + 0x00000000u;
/* 028BC1BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC1C0 */ _t5 = cpu->r[12] + 0x00000028u;
/* 028BC1C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
L_028BC1C4: ; // 0x28bc1c4
/* 028BC1C4 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BC1C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BC1C8 */ cpu->lr = cpu->r[0];
/* 028BC1CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC1D0 */ return;
}
// fn_028BC1D4 @ 0x28bc1d4
void Gambit_fn_028BC1D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BC1D4: ; // 0x28bc1d4
/* 028BC1D4 */ cpu->r[0] = cpu->lr;
/* 028BC1D8 */ cpu->r[9] = cpu->r[3];
/* 028BC1DC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC1DC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC1E0 */ cpu->r[10] = 0x00000000u;
/* 028BC1E4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC1E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC1E4 */ cpu->r[1] = _t1;
/* 028BC1E8 */ Gambit_fn_028BBF4C(cpu);
/* 028BC1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC1F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC1F0 */ _t3 = _t2 & 0x00000001u;
/* 028BC1F0 */ if (_t3) goto L_028BC200; else goto L_028BC1F4;
L_028BC1F4: ; // 0x28bc1f4
/* 028BC1F4 */ _t4 = cpu->r[9] + 0x00000000u;
/* 028BC1F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BC1F8 */ Gambit_fn_028BE758(cpu);
/* 028BC1FC */ cpu->r[10] = cpu->r[3];
L_028BC200: ; // 0x28bc200
/* 028BC200 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BC200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC204 */ cpu->lr = cpu->r[0];
/* 028BC208 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC20C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BC210 */ return;
}
// fn_028BC1E4 @ 0x28bc1e4
void Gambit_fn_028BC1E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BC1E4: ; // 0x28bc1e4
/* 028BC1E4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC1E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC1E4 */ cpu->r[1] = _t0;
/* 028BC1E8 */ Gambit_fn_028BBF4C(cpu);
/* 028BC1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC1F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC1F0 */ _t2 = _t1 & 0x00000001u;
/* 028BC1F0 */ if (_t2) goto L_028BC200; else goto L_028BC1F4;
L_028BC1F4: ; // 0x28bc1f4
/* 028BC1F4 */ _t3 = cpu->r[9] + 0x00000000u;
/* 028BC1F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BC1F8 */ Gambit_fn_028BE758(cpu);
/* 028BC1FC */ cpu->r[10] = cpu->r[3];
L_028BC200: ; // 0x28bc200
/* 028BC200 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC204 */ cpu->lr = cpu->r[0];
/* 028BC208 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC20C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BC210 */ return;
}
// fn_028BC214 @ 0x28bc214
void Gambit_fn_028BC214(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BC214: ; // 0x28bc214
/* 028BC214 */ cpu->r[0] = cpu->lr;
/* 028BC218 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC218 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC21C */ cpu->r[10] = cpu->r[3];
/* 028BC220 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC220 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC220 */ cpu->r[1] = _t1;
/* 028BC224 */ Gambit_fn_028BBF4C(cpu);
/* 028BC228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC22C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC22C */ _t3 = _t2 & 0x00000001u;
/* 028BC22C */ if (_t3) goto L_028BC24C; else goto L_028BC230;
L_028BC230: ; // 0x28bc230
/* 028BC230 */ _t4 = cpu->r[4] + 0x00000000u;
/* 028BC230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC234 */ _t5 = cpu->r[10] + 0x00000000u;
/* 028BC234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028BC238 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC23C */ _t6 = cpu->r[1] + 0x00000008u;
/* 028BC23C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BC240 */ Gambit_fn_028BE788(cpu);
/* 028BC244 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BC248 */ goto L_028BC250;
L_028BC24C: ; // 0x28bc24c
/* 028BC24C */ cpu->r[3] = 0x00000000u;
L_028BC250: ; // 0x28bc250
/* 028BC250 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BC250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BC254 */ cpu->lr = cpu->r[0];
/* 028BC258 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC25C */ return;
}
// fn_028BC220 @ 0x28bc220
void Gambit_fn_028BC220(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC220: ; // 0x28bc220
/* 028BC220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC220 */ cpu->r[1] = _t0;
/* 028BC224 */ Gambit_fn_028BBF4C(cpu);
/* 028BC228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC22C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC22C */ _t2 = _t1 & 0x00000001u;
/* 028BC22C */ if (_t2) goto L_028BC24C; else goto L_028BC230;
L_028BC230: ; // 0x28bc230
/* 028BC230 */ _t3 = cpu->r[4] + 0x00000000u;
/* 028BC230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BC234 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BC238 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC23C */ _t5 = cpu->r[1] + 0x00000008u;
/* 028BC23C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BC240 */ Gambit_fn_028BE788(cpu);
/* 028BC244 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BC248 */ goto L_028BC250;
L_028BC24C: ; // 0x28bc24c
/* 028BC24C */ cpu->r[3] = 0x00000000u;
L_028BC250: ; // 0x28bc250
/* 028BC250 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028BC250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BC254 */ cpu->lr = cpu->r[0];
/* 028BC258 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC25C */ return;
}
// fn_028BC260 @ 0x28bc260
void Gambit_fn_028BC260(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BC260: ; // 0x28bc260
/* 028BC260 */ cpu->r[0] = cpu->lr;
/* 028BC264 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC264 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC268 */ cpu->r[10] = cpu->r[3];
/* 028BC26C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC26C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC26C */ cpu->r[1] = _t1;
/* 028BC270 */ Gambit_fn_028BBF4C(cpu);
/* 028BC274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC278 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC278 */ _t3 = _t2 & 0x00000001u;
/* 028BC278 */ if (_t3) goto L_028BC298; else goto L_028BC27C;
L_028BC27C: ; // 0x28bc27c
/* 028BC27C */ _t4 = cpu->r[4] + 0x00000000u;
/* 028BC27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC280 */ _t5 = cpu->r[10] + 0x00000000u;
/* 028BC280 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028BC284 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC288 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028BC288 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BC28C */ Gambit_fn_028BE7E0(cpu);
/* 028BC290 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BC294 */ goto L_028BC29C;
L_028BC298: ; // 0x28bc298
/* 028BC298 */ cpu->r[3] = 0x00000000u;
L_028BC29C: ; // 0x28bc29c
/* 028BC29C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BC29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BC2A0 */ cpu->lr = cpu->r[0];
/* 028BC2A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC2A8 */ return;
}
// fn_028BC26C @ 0x28bc26c
void Gambit_fn_028BC26C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC26C: ; // 0x28bc26c
/* 028BC26C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC26C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC26C */ cpu->r[1] = _t0;
/* 028BC270 */ Gambit_fn_028BBF4C(cpu);
/* 028BC274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC278 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC278 */ _t2 = _t1 & 0x00000001u;
/* 028BC278 */ if (_t2) goto L_028BC298; else goto L_028BC27C;
L_028BC27C: ; // 0x28bc27c
/* 028BC27C */ _t3 = cpu->r[4] + 0x00000000u;
/* 028BC27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BC280 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC280 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BC284 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC288 */ _t5 = cpu->r[1] + 0x00000008u;
/* 028BC288 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BC28C */ Gambit_fn_028BE7E0(cpu);
/* 028BC290 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BC294 */ goto L_028BC29C;
L_028BC298: ; // 0x28bc298
/* 028BC298 */ cpu->r[3] = 0x00000000u;
L_028BC29C: ; // 0x28bc29c
/* 028BC29C */ _t6 = cpu->r[1] + 0x00000014u;
/* 028BC29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BC2A0 */ cpu->lr = cpu->r[0];
/* 028BC2A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC2A8 */ return;
}
// fn_028BC2AC @ 0x28bc2ac
void Gambit_fn_028BC2AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BC2AC: ; // 0x28bc2ac
/* 028BC2AC */ cpu->r[0] = cpu->lr;
/* 028BC2B0 */ cpu->r[10] = cpu->r[3];
/* 028BC2B4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC2B8 */ cpu->r[9] = 0x00000000u;
/* 028BC2BC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC2BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC2BC */ cpu->r[1] = _t1;
/* 028BC2C0 */ Gambit_fn_028BBF4C(cpu);
/* 028BC2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC2C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC2C8 */ _t3 = _t2 & 0x00000001u;
/* 028BC2C8 */ if (_t3) goto L_028BC2D8; else goto L_028BC2CC;
L_028BC2CC: ; // 0x28bc2cc
/* 028BC2CC */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC2CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BC2D0 */ Gambit_fn_028BEF54(cpu);
/* 028BC2D4 */ cpu->r[9] = cpu->r[3];
L_028BC2D8: ; // 0x28bc2d8
/* 028BC2D8 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BC2D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC2DC */ cpu->lr = cpu->r[0];
/* 028BC2E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC2E4 */ cpu->r[3] = cpu->r[9];
/* 028BC2E8 */ return;
}
// fn_028BC2BC @ 0x28bc2bc
void Gambit_fn_028BC2BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BC2BC: ; // 0x28bc2bc
/* 028BC2BC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC2BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC2BC */ cpu->r[1] = _t0;
/* 028BC2C0 */ Gambit_fn_028BBF4C(cpu);
/* 028BC2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC2C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC2C8 */ _t2 = _t1 & 0x00000001u;
/* 028BC2C8 */ if (_t2) goto L_028BC2D8; else goto L_028BC2CC;
L_028BC2CC: ; // 0x28bc2cc
/* 028BC2CC */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BC2CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BC2D0 */ Gambit_fn_028BEF54(cpu);
/* 028BC2D4 */ cpu->r[9] = cpu->r[3];
L_028BC2D8: ; // 0x28bc2d8
/* 028BC2D8 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC2D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC2DC */ cpu->lr = cpu->r[0];
/* 028BC2E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC2E4 */ cpu->r[3] = cpu->r[9];
/* 028BC2E8 */ return;
}
// fn_028BC2EC @ 0x28bc2ec
void Gambit_fn_028BC2EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BC2EC: ; // 0x28bc2ec
/* 028BC2EC */ cpu->r[0] = cpu->lr;
/* 028BC2F0 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC2F4 */ cpu->r[10] = cpu->r[3];
/* 028BC2F8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC2F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC2F8 */ cpu->r[1] = _t1;
/* 028BC2FC */ Gambit_fn_028BBF4C(cpu);
/* 028BC300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC304 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC304 */ _t3 = _t2 & 0x00000001u;
/* 028BC304 */ if (_t3) goto L_028BC320; else goto L_028BC308;
L_028BC308: ; // 0x28bc308
/* 028BC308 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC30C */ _t5 = cpu->r[10] + 0x00000000u;
/* 028BC30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028BC310 */ cpu->lr = cpu->r[0];
/* 028BC314 */ _t6 = cpu->r[12] + 0x00000018u;
/* 028BC314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BC318 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC31C */ return;
L_028BC320: ; // 0x28bc320
/* 028BC320 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BC320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BC324 */ cpu->lr = cpu->r[0];
/* 028BC328 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC32C */ cpu->r[3] = 0x00000000u;
/* 028BC330 */ return;
}
// fn_028BC2F8 @ 0x28bc2f8
void Gambit_fn_028BC2F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC2F8: ; // 0x28bc2f8
/* 028BC2F8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC2F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC2F8 */ cpu->r[1] = _t0;
/* 028BC2FC */ Gambit_fn_028BBF4C(cpu);
/* 028BC300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC304 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC304 */ _t2 = _t1 & 0x00000001u;
/* 028BC304 */ if (_t2) goto L_028BC320; else goto L_028BC308;
L_028BC308: ; // 0x28bc308
/* 028BC308 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BC308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BC30C */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BC310 */ cpu->lr = cpu->r[0];
/* 028BC314 */ _t5 = cpu->r[12] + 0x00000018u;
/* 028BC314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028BC318 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC31C */ return;
L_028BC320: ; // 0x28bc320
/* 028BC320 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BC320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BC324 */ cpu->lr = cpu->r[0];
/* 028BC328 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC32C */ cpu->r[3] = 0x00000000u;
/* 028BC330 */ return;
}
// fn_028BC334 @ 0x28bc334
void Gambit_fn_028BC334(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BC334: ; // 0x28bc334
/* 028BC334 */ cpu->r[0] = cpu->lr;
/* 028BC338 */ cpu->r[10] = cpu->r[3];
/* 028BC33C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC33C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC340 */ cpu->r[9] = 0x00000000u;
/* 028BC344 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC344 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC344 */ cpu->r[1] = _t1;
/* 028BC348 */ Gambit_fn_028BBF4C(cpu);
/* 028BC34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC350 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC350 */ _t3 = _t2 & 0x00000001u;
/* 028BC350 */ if (_t3) goto L_028BC358; else goto L_028BC354;
L_028BC354: ; // 0x28bc354
/* 028BC354 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC354 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
L_028BC358: ; // 0x28bc358
/* 028BC358 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BC358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC35C */ cpu->lr = cpu->r[0];
/* 028BC360 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC364 */ cpu->r[3] = cpu->r[9];
/* 028BC368 */ return;
}
// fn_028BC344 @ 0x28bc344
void Gambit_fn_028BC344(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BC344: ; // 0x28bc344
/* 028BC344 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC344 */ cpu->r[1] = _t0;
/* 028BC348 */ Gambit_fn_028BBF4C(cpu);
/* 028BC34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC350 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC350 */ _t2 = _t1 & 0x00000001u;
/* 028BC350 */ if (_t2) goto L_028BC358; else goto L_028BC354;
L_028BC354: ; // 0x28bc354
/* 028BC354 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028BC354 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
L_028BC358: ; // 0x28bc358
/* 028BC358 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC35C */ cpu->lr = cpu->r[0];
/* 028BC360 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC364 */ cpu->r[3] = cpu->r[9];
/* 028BC368 */ return;
}
// fn_028BC36C @ 0x28bc36c
void Gambit_fn_028BC36C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC36C: ; // 0x28bc36c
/* 028BC36C */ cpu->r[0] = cpu->lr;
/* 028BC370 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BC370 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BC374 */ cpu->r[10] = cpu->r[3];
/* 028BC378 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC378 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BC378 */ cpu->r[1] = _t1;
/* 028BC37C */ Gambit_fn_028BBF4C(cpu);
/* 028BC380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC384 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC384 */ _t3 = _t2 & 0x00000001u;
/* 028BC384 */ if (_t3) goto L_028BC3A0; else goto L_028BC388;
L_028BC388: ; // 0x28bc388
/* 028BC388 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC38C */ cpu->lr = cpu->r[0];
/* 028BC390 */ _t5 = cpu->r[10] + 0x00000000u;
/* 028BC390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028BC394 */ cpu->r[3] = cpu->r[12] + 0x0000002Cu;
/* 028BC398 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC39C */ return;
L_028BC3A0: ; // 0x28bc3a0
/* 028BC3A0 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BC3A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BC3A4 */ cpu->lr = cpu->r[0];
/* 028BC3A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC3AC */ cpu->r[3] = 0x00000000u;
/* 028BC3B0 */ return;
}
// fn_028BC378 @ 0x28bc378
void Gambit_fn_028BC378(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BC378: ; // 0x28bc378
/* 028BC378 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BC378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC378 */ cpu->r[1] = _t0;
/* 028BC37C */ Gambit_fn_028BBF4C(cpu);
/* 028BC380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC384 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC384 */ _t2 = _t1 & 0x00000001u;
/* 028BC384 */ if (_t2) goto L_028BC3A0; else goto L_028BC388;
L_028BC388: ; // 0x28bc388
/* 028BC388 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BC388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BC38C */ cpu->lr = cpu->r[0];
/* 028BC390 */ _t4 = cpu->r[10] + 0x00000000u;
/* 028BC390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BC394 */ cpu->r[3] = cpu->r[12] + 0x0000002Cu;
/* 028BC398 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC39C */ return;
L_028BC3A0: ; // 0x28bc3a0
/* 028BC3A0 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BC3A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC3A4 */ cpu->lr = cpu->r[0];
/* 028BC3A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BC3AC */ cpu->r[3] = 0x00000000u;
/* 028BC3B0 */ return;
}
// fn_028BC3B4 @ 0x28bc3b4
void Gambit_fn_028BC3B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BC3B4: ; // 0x28bc3b4
/* 028BC3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BC3B8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028BC3B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
/* 028BC3BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC3BC */ _t2 = _t1 & 0x00000001u;
/* 028BC3BC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BC3BC */ goto L_028BC3C0;
L_028BC3C0: ; // 0x28bc3c0
/* 028BC3C0 */ _t3 = cpu->r[4] + 0x00000008u;
/* 028BC3C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BC3C4 */ _t4 = cpu->r[3] + 0x00000004u;
/* 028BC3C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BC3C8 */ return;
}
// fn_028BC3CC @ 0x28bc3cc
void Gambit_fn_028BC3CC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BBF0C: ; // 0x28bbf0c
/* 028BBF0C */ cpu->r[0] = cpu->lr;
/* 028BBF10 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BBF10 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BBF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBF18 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BBF18 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BBF18 */ cpu->r[1] = _t1;
/* 028BBF1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF1C */ _t3 = _t2 & 0x00000001u;
/* 028BBF1C */ if (_t3) goto L_028BBF20; else goto L_028BBF30;
L_028BBF20: ; // 0x28bbf20
/* 028BBF20 */ cpu->r[3] = 0x00000008u;
/* 028BBF24 */ Gambit_fn_02801A78(cpu);
/* 028BBF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BBF2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BBF2C */ _t5 = _t4 & 0x00000001u;
/* 028BBF2C */ if (_t5) goto L_028BBF3C; else goto L_028BBF30;
L_028BBF30: ; // 0x28bbf30
/* 028BBF30 */ cpu->r[0] = 0x00000000u;
/* 028BBF34 */ _t6 = cpu->r[3] + 0x00000004u;
/* 028BBF34 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BBF38 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028BBF38 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
L_028BBF3C: ; // 0x28bbf3c
/* 028BBF3C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BBF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BBF40 */ cpu->lr = cpu->r[0];
/* 028BBF44 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BBF48 */ return;
L_028BC3CC: ; // 0x28bc3cc
/* 028BC3CC */ cpu->r[3] = 0x101F0000u;
/* 028BC3D0 */ cpu->r[3] = cpu->r[3] + 0x00006FD0u;
/* 028BC3D4 */ goto L_028BBF0C;
}
// fn_028BC3D8 @ 0x28bc3d8
void Gambit_fn_028BC3D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028BC3D8: ; // 0x28bc3d8
/* 028BC3D8 */ cpu->r[0] = cpu->lr;
/* 028BC3DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BC3DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC3DC */ cpu->r[1] = _t0;
/* 028BC3E0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BC3E0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BC3E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BC3E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BC3E8 */ /* nop */
/* 028BC3EC */ _t3 = cpu->r[1] + 0x00000018u;
/* 028BC3EC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028BC3F0 */ cpu->r[31] = cpu->r[3];
/* 028BC3F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BC3F4 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028BC3F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028BC3F8 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028BC3F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BC3FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC3FC */ _t7 = _t6 & 0x00000001u;
/* 028BC3FC */ if (_t7) goto L_028BC400; else goto L_028BC410;
L_028BC400: ; // 0x28bc400
/* 028BC400 */ cpu->r[3] = 0x00000090u;
/* 028BC404 */ Gambit_fn_02801A78(cpu);
/* 028BC408 */ cpu->r[31] = cpu->r[3];
/* 028BC408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BC40C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC40C */ _t9 = _t8 & 0x00000001u;
/* 028BC40C */ if (_t9) goto L_028BC4BC; else goto L_028BC410;
L_028BC410: ; // 0x28bc410
/* 028BC410 */ cpu->r[0] = 0x10140000u;
/* 028BC414 */ cpu->r[0] = cpu->r[0] + 0xFFFF9004u;
/* 028BC418 */ cpu->r[30] = cpu->r[31] + 0x00000014u;
/* 028BC418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BC41C */ _t10 = cpu->r[31] + 0x00000000u;
/* 028BC41C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028BC420 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC420 */ _t12 = _t11 & 0x00000001u;
/* 028BC420 */ if (_t12) goto L_028BC424; else goto L_028BC434;
L_028BC424: ; // 0x28bc424
/* 028BC424 */ cpu->r[3] = 0x00000010u;
/* 028BC428 */ Gambit_fn_02801A78(cpu);
/* 028BC42C */ cpu->r[30] = cpu->r[3];
/* 028BC42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BC430 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC430 */ _t14 = _t13 & 0x00000001u;
/* 028BC430 */ if (_t14) goto L_028BC464; else goto L_028BC434;
L_028BC434: ; // 0x28bc434
/* 028BC434 */ cpu->r[3] = cpu->r[30];
/* 028BC434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC438 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC438 */ _t16 = _t15 & 0x00000001u;
/* 028BC438 */ if (_t16) goto L_028BC43C; else goto L_028BC44C;
L_028BC43C: ; // 0x28bc43c
/* 028BC43C */ cpu->r[3] = 0x0000000Cu;
/* 028BC440 */ Gambit_fn_02801A78(cpu);
/* 028BC444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC448 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC448 */ _t18 = _t17 & 0x00000001u;
/* 028BC448 */ if (_t18) goto L_028BC45C; else goto L_028BC44C;
L_028BC44C: ; // 0x28bc44c
/* 028BC44C */ _t19 = cpu->r[3] + 0x00000000u;
/* 028BC44C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
/* 028BC450 */ cpu->r[9] = 0x00000000u;
/* 028BC454 */ _t20 = cpu->r[3] + 0x00000004u;
/* 028BC454 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
/* 028BC458 */ _t21 = cpu->r[3] + 0x00000008u;
/* 028BC458 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
L_028BC45C: ; // 0x28bc45c
/* 028BC45C */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BC460 */ _t22 = cpu->r[30] + 0x0000000Cu;
/* 028BC460 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
L_028BC464: ; // 0x28bc464
/* 028BC464 */ cpu->r[12] = 0x10140000u;
/* 028BC468 */ _t23 = cpu->r[12] + 0xFFFF9014u;
/* 028BC468 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
/* 028BC46C */ cpu->f[1] = cpu->f[31];
/* 028BC470 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
/* 028BC474 */ Gambit_fn_028CA0E4(cpu);
/* 028BC478 */ _t24 = cpu->r[31] + 0x00000044u;
/* 028BC478 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
/* 028BC47C */ cpu->r[11] = 0x10140000u;
/* 028BC480 */ _t25 = cpu->r[11] + 0xFFFF901Cu;
/* 028BC480 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
/* 028BC484 */ _t26 = cpu->r[31] + 0x0000004Cu;
/* 028BC484 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
/* 028BC488 */ cpu->r[8] = 0x10140000u;
/* 028BC48C */ _t27 = cpu->r[31] + 0x00000040u;
/* 028BC48C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
/* 028BC490 */ _t28 = cpu->r[8] + 0xFFFF9018u;
/* 028BC490 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
/* 028BC494 */ _t29 = cpu->r[31] + 0x00000038u;
/* 028BC494 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
/* 028BC498 */ cpu->r[12] = 0x10140000u;
/* 028BC49C */ _t30 = cpu->r[31] + 0x0000003Cu;
/* 028BC49C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
/* 028BC4A0 */ _t31 = cpu->r[12] + 0xFFFF9020u;
/* 028BC4A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
/* 028BC4A4 */ _t32 = cpu->r[31] + 0x00000050u;
/* 028BC4A4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
/* 028BC4A8 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
/* 028BC4AC */ _t33 = cpu->r[31] + 0x00000048u;
/* 028BC4AC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
/* 028BC4B0 */ Gambit_fn_02836EBC(cpu);
/* 028BC4B4 */ cpu->r[11] = 0x000001CCu;
/* 028BC4B8 */ _t34 = cpu->r[31] + 0x00000020u;
/* 028BC4B8 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
L_028BC4BC: ; // 0x28bc4bc
/* 028BC4BC */ _t35 = cpu->r[1] + 0x00000018u;
/* 028BC4BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
/* 028BC4C0 */ cpu->r[3] = cpu->r[31];
/* 028BC4C4 */ _t36 = cpu->r[1] + 0x00000008u;
/* 028BC4C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028BC4C8 */ _t37 = cpu->r[1] + 0x0000000Cu;
/* 028BC4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
/* 028BC4CC */ _t38 = cpu->r[1] + 0x00000010u;
/* 028BC4CC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t38);
/* 028BC4D0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BC4D0 */ _t40 = _t39 & 0x00000001u;
/* 028BC4D0 */ if (_t40) goto L_028BC4D4; // else: addr-0 trap, fall-through
L_028BC4D4: ; // 0x28bc4d4
/* 028BC4D4 */ _t41 = cpu->r[1] + 0x00000024u;
/* 028BC4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028BC4D8 */ cpu->lr = cpu->r[0];
/* 028BC4DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BC4E0 */ return;
}
// fn_028BC3DC @ 0x28bc3dc
void Gambit_fn_028BC3DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028BC3DC: ; // 0x28bc3dc
/* 028BC3DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BC3DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC3DC */ cpu->r[1] = _t0;
/* 028BC3E0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BC3E0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BC3E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BC3E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BC3E8 */ /* nop */
/* 028BC3EC */ _t3 = cpu->r[1] + 0x00000018u;
/* 028BC3EC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028BC3F0 */ cpu->r[31] = cpu->r[3];
/* 028BC3F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BC3F4 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028BC3F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028BC3F8 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028BC3F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BC3FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC3FC */ _t7 = _t6 & 0x00000001u;
/* 028BC3FC */ if (_t7) goto L_028BC400; else goto L_028BC410;
L_028BC400: ; // 0x28bc400
/* 028BC400 */ cpu->r[3] = 0x00000090u;
/* 028BC404 */ Gambit_fn_02801A78(cpu);
/* 028BC408 */ cpu->r[31] = cpu->r[3];
/* 028BC408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BC40C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC40C */ _t9 = _t8 & 0x00000001u;
/* 028BC40C */ if (_t9) goto L_028BC4BC; else goto L_028BC410;
L_028BC410: ; // 0x28bc410
/* 028BC410 */ cpu->r[0] = 0x10140000u;
/* 028BC414 */ cpu->r[0] = cpu->r[0] + 0xFFFF9004u;
/* 028BC418 */ cpu->r[30] = cpu->r[31] + 0x00000014u;
/* 028BC418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BC41C */ _t10 = cpu->r[31] + 0x00000000u;
/* 028BC41C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028BC420 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC420 */ _t12 = _t11 & 0x00000001u;
/* 028BC420 */ if (_t12) goto L_028BC424; else goto L_028BC434;
L_028BC424: ; // 0x28bc424
/* 028BC424 */ cpu->r[3] = 0x00000010u;
/* 028BC428 */ Gambit_fn_02801A78(cpu);
/* 028BC42C */ cpu->r[30] = cpu->r[3];
/* 028BC42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BC430 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC430 */ _t14 = _t13 & 0x00000001u;
/* 028BC430 */ if (_t14) goto L_028BC464; else goto L_028BC434;
L_028BC434: ; // 0x28bc434
/* 028BC434 */ cpu->r[3] = cpu->r[30];
/* 028BC434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC438 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC438 */ _t16 = _t15 & 0x00000001u;
/* 028BC438 */ if (_t16) goto L_028BC43C; else goto L_028BC44C;
L_028BC43C: ; // 0x28bc43c
/* 028BC43C */ cpu->r[3] = 0x0000000Cu;
/* 028BC440 */ Gambit_fn_02801A78(cpu);
/* 028BC444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC448 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC448 */ _t18 = _t17 & 0x00000001u;
/* 028BC448 */ if (_t18) goto L_028BC45C; else goto L_028BC44C;
L_028BC44C: ; // 0x28bc44c
/* 028BC44C */ _t19 = cpu->r[3] + 0x00000000u;
/* 028BC44C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
/* 028BC450 */ cpu->r[9] = 0x00000000u;
/* 028BC454 */ _t20 = cpu->r[3] + 0x00000004u;
/* 028BC454 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
/* 028BC458 */ _t21 = cpu->r[3] + 0x00000008u;
/* 028BC458 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
L_028BC45C: ; // 0x28bc45c
/* 028BC45C */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BC460 */ _t22 = cpu->r[30] + 0x0000000Cu;
/* 028BC460 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
L_028BC464: ; // 0x28bc464
/* 028BC464 */ cpu->r[12] = 0x10140000u;
/* 028BC468 */ _t23 = cpu->r[12] + 0xFFFF9014u;
/* 028BC468 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
/* 028BC46C */ cpu->f[1] = cpu->f[31];
/* 028BC470 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
/* 028BC474 */ Gambit_fn_028CA0E4(cpu);
/* 028BC478 */ _t24 = cpu->r[31] + 0x00000044u;
/* 028BC478 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
/* 028BC47C */ cpu->r[11] = 0x10140000u;
/* 028BC480 */ _t25 = cpu->r[11] + 0xFFFF901Cu;
/* 028BC480 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
/* 028BC484 */ _t26 = cpu->r[31] + 0x0000004Cu;
/* 028BC484 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
/* 028BC488 */ cpu->r[8] = 0x10140000u;
/* 028BC48C */ _t27 = cpu->r[31] + 0x00000040u;
/* 028BC48C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
/* 028BC490 */ _t28 = cpu->r[8] + 0xFFFF9018u;
/* 028BC490 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
/* 028BC494 */ _t29 = cpu->r[31] + 0x00000038u;
/* 028BC494 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
/* 028BC498 */ cpu->r[12] = 0x10140000u;
/* 028BC49C */ _t30 = cpu->r[31] + 0x0000003Cu;
/* 028BC49C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
/* 028BC4A0 */ _t31 = cpu->r[12] + 0xFFFF9020u;
/* 028BC4A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
/* 028BC4A4 */ _t32 = cpu->r[31] + 0x00000050u;
/* 028BC4A4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
/* 028BC4A8 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
/* 028BC4AC */ _t33 = cpu->r[31] + 0x00000048u;
/* 028BC4AC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
/* 028BC4B0 */ Gambit_fn_02836EBC(cpu);
/* 028BC4B4 */ cpu->r[11] = 0x000001CCu;
/* 028BC4B8 */ _t34 = cpu->r[31] + 0x00000020u;
/* 028BC4B8 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
L_028BC4BC: ; // 0x28bc4bc
/* 028BC4BC */ _t35 = cpu->r[1] + 0x00000018u;
/* 028BC4BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
/* 028BC4C0 */ cpu->r[3] = cpu->r[31];
/* 028BC4C4 */ _t36 = cpu->r[1] + 0x00000008u;
/* 028BC4C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028BC4C8 */ _t37 = cpu->r[1] + 0x0000000Cu;
/* 028BC4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
/* 028BC4CC */ _t38 = cpu->r[1] + 0x00000010u;
/* 028BC4CC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t38);
/* 028BC4D0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BC4D0 */ _t40 = _t39 & 0x00000001u;
/* 028BC4D0 */ if (_t40) goto L_028BC4D4; // else: addr-0 trap, fall-through
L_028BC4D4: ; // 0x28bc4d4
/* 028BC4D4 */ _t41 = cpu->r[1] + 0x00000024u;
/* 028BC4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028BC4D8 */ cpu->lr = cpu->r[0];
/* 028BC4DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BC4E0 */ return;
}
// fn_028BC4E4 @ 0x28bc4e4
void Gambit_fn_028BC4E4(CPUState* 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_028BC4E4: ; // 0x28bc4e4
/* 028BC4E4 */ cpu->r[0] = cpu->lr;
/* 028BC4E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BC4E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC4E8 */ cpu->r[1] = _t0;
/* 028BC4EC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BC4EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BC4F0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BC4F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028BC4F4 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BC4F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028BC4F8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BC4F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BC4FC */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BC4FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BC500 */ cpu->r[29] = 0x101D0000u;
/* 028BC504 */ cpu->r[30] = cpu->r[3];
/* 028BC508 */ _t6 = cpu->r[29] + 0xFFFF9A7Cu;
/* 028BC508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BC508 */ cpu->r[29] = _t6;
/* 028BC50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC510 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC510 */ _t8 = _t7 & 0x00000001u;
/* 028BC510 */ if (_t8) goto L_028BC514; else goto L_028BC564;
L_028BC514: ; // 0x28bc514
/* 028BC514 */ cpu->r[4] = cpu->r[30];
/* 028BC518 */ cpu->r[3] = 0x00000090u;
/* 028BC51C */ cpu->r[5] = 0x00000004u;
/* 028BC520 */ Gambit_fn_02801ADC(cpu);
/* 028BC524 */ cpu->r[31] = cpu->r[3];
/* 028BC528 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028BC528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028BC52C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC52C */ _t10 = _t9 & 0x00000001u;
/* 028BC52C */ if (_t10) goto L_028BC54C; else goto L_028BC530;
L_028BC530: ; // 0x28bc530
/* 028BC530 */ cpu->r[5] = 0x00000003u;
/* 028BC534 */ cpu->r[4] = cpu->r[30];
/* 028BC538 */ cpu->r[3] = cpu->r[28];
/* 028BC53C */ Gambit_fn_02821D88(cpu);
/* 028BC540 */ cpu->r[0] = 0x10140000u;
/* 028BC544 */ cpu->r[0] = cpu->r[0] + 0xFFFF9028u;
/* 028BC548 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028BC548 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028BC54C: ; // 0x28bc54c
/* 028BC54C */ cpu->r[12] = 0x101D0000u;
/* 028BC550 */ cpu->r[3] = cpu->r[31];
/* 028BC550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC554 */ _t12 = cpu->r[12] + 0xFFFF9A80u;
/* 028BC554 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028BC558 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC558 */ _t14 = _t13 & 0x00000001u;
/* 028BC558 */ if (_t14) goto L_028BC560; else goto L_028BC55C;
L_028BC55C: ; // 0x28bc55c
/* 028BC55C */ Gambit_fn_028BC3D8(cpu);
L_028BC560: ; // 0x28bc560
/* 028BC560 */ _t15 = cpu->r[29] + 0x00000000u;
/* 028BC560 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028BC564: ; // 0x28bc564
/* 028BC564 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028BC564 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028BC568 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BC568 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028BC56C */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028BC56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028BC570 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028BC570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028BC574 */ cpu->lr = cpu->r[0];
/* 028BC578 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BC578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028BC57C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BC580 */ return;
}
// fn_028BC4E8 @ 0x28bc4e8
void Gambit_fn_028BC4E8(CPUState* 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_028BC4E8: ; // 0x28bc4e8
/* 028BC4E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BC4E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC4E8 */ cpu->r[1] = _t0;
/* 028BC4EC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BC4EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BC4F0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BC4F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028BC4F4 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BC4F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028BC4F8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BC4F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BC4FC */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BC4FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BC500 */ cpu->r[29] = 0x101D0000u;
/* 028BC504 */ cpu->r[30] = cpu->r[3];
/* 028BC508 */ _t6 = cpu->r[29] + 0xFFFF9A7Cu;
/* 028BC508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BC508 */ cpu->r[29] = _t6;
/* 028BC50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC510 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC510 */ _t8 = _t7 & 0x00000001u;
/* 028BC510 */ if (_t8) goto L_028BC514; else goto L_028BC564;
L_028BC514: ; // 0x28bc514
/* 028BC514 */ cpu->r[4] = cpu->r[30];
/* 028BC518 */ cpu->r[3] = 0x00000090u;
/* 028BC51C */ cpu->r[5] = 0x00000004u;
/* 028BC520 */ Gambit_fn_02801ADC(cpu);
/* 028BC524 */ cpu->r[31] = cpu->r[3];
/* 028BC528 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028BC528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028BC52C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC52C */ _t10 = _t9 & 0x00000001u;
/* 028BC52C */ if (_t10) goto L_028BC54C; else goto L_028BC530;
L_028BC530: ; // 0x28bc530
/* 028BC530 */ cpu->r[5] = 0x00000003u;
/* 028BC534 */ cpu->r[4] = cpu->r[30];
/* 028BC538 */ cpu->r[3] = cpu->r[28];
/* 028BC53C */ Gambit_fn_02821D88(cpu);
/* 028BC540 */ cpu->r[0] = 0x10140000u;
/* 028BC544 */ cpu->r[0] = cpu->r[0] + 0xFFFF9028u;
/* 028BC548 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028BC548 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028BC54C: ; // 0x28bc54c
/* 028BC54C */ cpu->r[12] = 0x101D0000u;
/* 028BC550 */ cpu->r[3] = cpu->r[31];
/* 028BC550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC554 */ _t12 = cpu->r[12] + 0xFFFF9A80u;
/* 028BC554 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028BC558 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC558 */ _t14 = _t13 & 0x00000001u;
/* 028BC558 */ if (_t14) goto L_028BC560; else goto L_028BC55C;
L_028BC55C: ; // 0x28bc55c
/* 028BC55C */ Gambit_fn_028BC3D8(cpu);
L_028BC560: ; // 0x28bc560
/* 028BC560 */ _t15 = cpu->r[29] + 0x00000000u;
/* 028BC560 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028BC564: ; // 0x28bc564
/* 028BC564 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028BC564 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028BC568 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BC568 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028BC56C */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028BC56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028BC570 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028BC570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028BC574 */ cpu->lr = cpu->r[0];
/* 028BC578 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BC578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028BC57C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BC580 */ return;
}
// fn_028BC584 @ 0x28bc584
void Gambit_fn_028BC584(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC584: ; // 0x28bc584
/* 028BC584 */ cpu->r[0] = cpu->lr;
/* 028BC588 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC588 */ cpu->r[1] = _t0;
/* 028BC58C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BC58C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BC590 */ cpu->r[31] = cpu->r[3];
/* 028BC594 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BC594 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BC598 */ cpu->r[30] = cpu->r[31] + 0x00000054u;
/* 028BC59C */ cpu->r[3] = cpu->r[30];
/* 028BC5A0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BC5A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BC5A4 */ Gambit_fn_02836FFC(cpu);
/* 028BC5A8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028BC5AC */ Gambit_fn_0280236C(cpu);
/* 028BC5B0 */ cpu->r[3] = cpu->r[30];
/* 028BC5B4 */ Gambit_fn_02837030(cpu);
/* 028BC5B8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BC5B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC5BC */ _t5 = cpu->r[1] + 0x00000008u;
/* 028BC5BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028BC5C0 */ cpu->lr = cpu->r[0];
/* 028BC5C4 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BC5C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028BC5C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC5CC */ return;
}
// fn_028BC588 @ 0x28bc588
void Gambit_fn_028BC588(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BC588: ; // 0x28bc588
/* 028BC588 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC588 */ cpu->r[1] = _t0;
/* 028BC58C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BC58C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BC590 */ cpu->r[31] = cpu->r[3];
/* 028BC594 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BC594 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BC598 */ cpu->r[30] = cpu->r[31] + 0x00000054u;
/* 028BC59C */ cpu->r[3] = cpu->r[30];
/* 028BC5A0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BC5A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BC5A4 */ Gambit_fn_02836FFC(cpu);
/* 028BC5A8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
/* 028BC5AC */ Gambit_fn_0280236C(cpu);
/* 028BC5B0 */ cpu->r[3] = cpu->r[30];
/* 028BC5B4 */ Gambit_fn_02837030(cpu);
/* 028BC5B8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BC5B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BC5BC */ _t5 = cpu->r[1] + 0x00000008u;
/* 028BC5BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028BC5C0 */ cpu->lr = cpu->r[0];
/* 028BC5C4 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BC5C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028BC5C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC5CC */ return;
}
// fn_028BC5D0 @ 0x28bc5d0
void Gambit_fn_028BC5D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BC5D0: ; // 0x28bc5d0
/* 028BC5D0 */ cpu->r[0] = cpu->lr;
/* 028BC5D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC5D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC5D4 */ cpu->r[1] = _t0;
/* 028BC5D8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BC5D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BC5DC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BC5DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BC5E0 */ cpu->r[31] = cpu->r[3];
/* 028BC5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BC5E4 */ cpu->r[30] = cpu->r[4];
/* 028BC5E8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BC5E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BC5EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC5EC */ _t5 = _t4 & 0x00000001u;
/* 028BC5EC */ if (_t5) goto L_028BC620; else goto L_028BC5F0;
L_028BC5F0: ; // 0x28bc5f0
/* 028BC5F0 */ cpu->r[0] = 0x10140000u;
/* 028BC5F4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9004u;
/* 028BC5F8 */ cpu->r[3] = cpu->r[31];
/* 028BC5FC */ _t6 = cpu->r[31] + 0x00000000u;
/* 028BC5FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BC600 */ Gambit_fn_028BC584(cpu);
/* 028BC604 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
/* 028BC608 */ cpu->r[4] = 0x00000002u;
/* 028BC60C */ Gambit_fn_02836FA8(cpu);
/* 028BC610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BC610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BC614 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC614 */ _t8 = _t7 & 0x00000001u;
/* 028BC614 */ if (_t8) goto L_028BC620; else goto L_028BC618;
L_028BC618: ; // 0x28bc618
/* 028BC618 */ cpu->r[3] = cpu->r[31];
/* 028BC61C */ Gambit_fn_02801BB0(cpu);
L_028BC620: ; // 0x28bc620
/* 028BC620 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BC620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BC624 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BC624 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BC628 */ cpu->lr = cpu->r[0];
/* 028BC62C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BC62C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BC630 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC634 */ return;
}
// fn_028BC5D4 @ 0x28bc5d4
void Gambit_fn_028BC5D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BC5D4: ; // 0x28bc5d4
/* 028BC5D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BC5D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC5D4 */ cpu->r[1] = _t0;
/* 028BC5D8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BC5D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BC5DC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BC5DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BC5E0 */ cpu->r[31] = cpu->r[3];
/* 028BC5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BC5E4 */ cpu->r[30] = cpu->r[4];
/* 028BC5E8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BC5E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BC5EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC5EC */ _t5 = _t4 & 0x00000001u;
/* 028BC5EC */ if (_t5) goto L_028BC620; else goto L_028BC5F0;
L_028BC5F0: ; // 0x28bc5f0
/* 028BC5F0 */ cpu->r[0] = 0x10140000u;
/* 028BC5F4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9004u;
/* 028BC5F8 */ cpu->r[3] = cpu->r[31];
/* 028BC5FC */ _t6 = cpu->r[31] + 0x00000000u;
/* 028BC5FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BC600 */ Gambit_fn_028BC584(cpu);
/* 028BC604 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
/* 028BC608 */ cpu->r[4] = 0x00000002u;
/* 028BC60C */ Gambit_fn_02836FA8(cpu);
/* 028BC610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BC610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BC614 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC614 */ _t8 = _t7 & 0x00000001u;
/* 028BC614 */ if (_t8) goto L_028BC620; else goto L_028BC618;
L_028BC618: ; // 0x28bc618
/* 028BC618 */ cpu->r[3] = cpu->r[31];
/* 028BC61C */ Gambit_fn_02801BB0(cpu);
L_028BC620: ; // 0x28bc620
/* 028BC620 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BC620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BC624 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BC624 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BC628 */ cpu->lr = cpu->r[0];
/* 028BC62C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BC62C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BC630 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BC634 */ return;
}
// fn_028BC638 @ 0x28bc638
void Gambit_fn_028BC638(CPUState* cpu) {
uint32_t _t0;
L_028BC638: ; // 0x28bc638
/* 028BC638 */ _t0 = cpu->r[3] + 0x00000024u;
/* 028BC638 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
/* 028BC63C */ return;
}
// fn_028BC640 @ 0x28bc640
void Gambit_fn_028BC640(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028BC640: ; // 0x28bc640
/* 028BC640 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BC640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC640 */ cpu->r[1] = _t0;
/* 028BC644 */ cpu->r[0] = cpu->lr;
/* 028BC648 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BC648 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BC64C */ /* nop */
/* 028BC650 */ cpu->r[12] = 0x10140000u;
/* 028BC654 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028BC654 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028BC658 */ _t3 = cpu->r[12] + 0xFFFF9014u;
/* 028BC658 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t3);
/* 028BC65C */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BC65C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BC660 */ cpu->f[2] = cpu->f[31];
/* 028BC664 */ cpu->r[31] = cpu->r[3];
/* 028BC668 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
/* 028BC66C */ _t5 = cpu->r[1] + 0x00000024u;
/* 028BC66C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BC670 */ Gambit_fn_028CA1D8(cpu);
/* 028BC674 */ cpu->f[1] = cpu->f[31];
/* 028BC678 */ _t6 = cpu->r[31] + 0x00000048u;
/* 028BC678 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t6);
/* 028BC67C */ cpu->r[3] = cpu->r[31] + 0x00000024u;
/* 028BC680 */ Gambit_fn_028CA1D8(cpu);
/* 028BC684 */ _t7 = cpu->r[1] + 0x00000018u;
/* 028BC684 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7);
/* 028BC688 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BC688 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BC68C */ _t9 = cpu->r[1] + 0x00000010u;
/* 028BC68C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
/* 028BC690 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BC690 */ _t11 = _t10 & 0x00000001u;
/* 028BC690 */ if (_t11) goto L_028BC694; // else: addr-0 trap, fall-through
L_028BC694: ; // 0x28bc694
/* 028BC694 */ _t12 = cpu->r[1] + 0x00000024u;
/* 028BC694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BC698 */ cpu->lr = cpu->r[0];
/* 028BC69C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BC6A0 */ return;
}
// fn_028BC6A4 @ 0x28bc6a4
void Gambit_fn_028BC6A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82;
L_028BC6A4: ; // 0x28bc6a4
/* 028BC6A4 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
/* 028BC6A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC6A4 */ cpu->r[1] = _t0;
/* 028BC6A8 */ /* nop */
/* 028BC6AC */ cpu->r[0] = cpu->lr;
/* 028BC6B0 */ _t1 = cpu->r[1] + 0x00000058u;
/* 028BC6B0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BC6B4 */ /* nop */
/* 028BC6B8 */ _t2 = cpu->r[1] + 0x00000038u;
/* 028BC6B8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
/* 028BC6BC */ _t3 = cpu->r[1] + 0x0000006Cu;
/* 028BC6BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BC6C0 */ /* nop */
/* 028BC6C4 */ _t4 = cpu->r[1] + 0x00000040u;
/* 028BC6C4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028BC6C8 */ _t5 = cpu->r[1] + 0x00000048u;
/* 028BC6C8 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
/* 028BC6CC */ _t6 = cpu->r[1] + 0x00000060u;
/* 028BC6CC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
/* 028BC6D0 */ /* nop */
/* 028BC6D4 */ _t7 = cpu->r[1] + 0x00000050u;
/* 028BC6D4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
/* 028BC6D8 */ cpu->r[27] = cpu->r[3];
/* 028BC6DC */ _t8 = cpu->r[27] + 0x0000001Cu;
/* 028BC6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BC6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BC6E4 */ cpu->r[26] = cpu->r[27] + 0x00000014u;
/* 028BC6E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC6E8 */ _t10 = _t9 & 0x00000001u;
/* 028BC6E8 */ if (_t10) goto L_028BC8D8; else goto L_028BC6EC;
L_028BC6EC: ; // 0x28bc6ec
/* 028BC6EC */ _t11 = cpu->r[26] + 0x0000000Cu;
/* 028BC6EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028BC6F0 */ cpu->r[12] = 0x10140000u;
/* 028BC6F4 */ _t12 = cpu->r[26] + 0x00000004u;
/* 028BC6F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BC6F8 */ cpu->r[31] = cpu->r[26] - cpu->r[30];
/* 028BC6FC */ _t13 = cpu->r[12] + 0xFFFF9024u;
/* 028BC6FC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t13);
/* 028BC700 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
/* 028BC704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
/* 028BC708 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC708 */ _t15 = _t14 & 0x00000001u;
/* 028BC708 */ if (_t15) goto L_028BC758; else goto L_028BC70C;
L_028BC70C: ; // 0x28bc70c
/* 028BC70C */ _t16 = cpu->r[29] + 0x000001B8u;
/* 028BC70C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028BC710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028BC714 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC714 */ _t18 = _t17 & 0x00000001u;
/* 028BC714 */ if (_t18) goto L_028BC744; else goto L_028BC718;
L_028BC718: ; // 0x28bc718
/* 028BC718 */ cpu->r[4] = cpu->r[29];
/* 028BC71C */ cpu->r[3] = cpu->r[28];
/* 028BC720 */ Gambit_fn_028BBE20(cpu);
/* 028BC724 */ _t19 = cpu->r[28] + 0x00000014u;
/* 028BC724 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028BC728 */ cpu->r[3] = cpu->r[28];
/* 028BC72C */ cpu->r[4] = cpu->r[29];
/* 028BC730 */ Gambit_fn_028BBE8C(cpu);
/* 028BC734 */ cpu->f[31] = cpu->f[31] + cpu->f[1];
/* 028BC738 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[30]);
/* 028BC73C */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BC73C */ _t21 = _t20 & 0x00000001u;
/* 028BC73C */ if (_t21) goto L_028BC740; else goto L_028BC744;
L_028BC740: ; // 0x28bc740
/* 028BC740 */ cpu->f[30] = cpu->f[31];
L_028BC744: ; // 0x28bc744
/* 028BC744 */ cpu->r[10] = cpu->r[29] + cpu->r[30];
/* 028BC748 */ _t22 = cpu->r[10] + 0x00000004u;
/* 028BC748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028BC74C */ cpu->r[29] = cpu->r[0] - cpu->r[30];
/* 028BC750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
/* 028BC754 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC754 */ _t24 = _t23 & 0x00000001u;
/* 028BC754 */ if (_t24) goto L_028BC758; else goto L_028BC70C;
L_028BC758: ; // 0x28bc758
/* 028BC758 */ cpu->r[11] = 0x10140000u;
/* 028BC75C */ _t25 = cpu->r[27] + 0x00000038u;
/* 028BC75C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t25);
/* 028BC760 */ cpu->r[9] = 0x10140000u;
/* 028BC764 */ _t26 = cpu->r[11] + 0xFFFF9014u;
/* 028BC764 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
/* 028BC768 */ cpu->f[12] = cpu->f[30] - cpu->f[10];
/* 028BC76C */ _t27 = cpu->r[27] + 0x00000044u;
/* 028BC76C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
/* 028BC770 */ _t28 = cpu->r[9] + 0xFFFF901Cu;
/* 028BC770 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
/* 028BC774 */ /* nop */
/* 028BC778 */ cpu->f[12] = cpu->f[0] - cpu->f[13];
/* 028BC77C */ cpu->r[3] = cpu->r[27];
/* 028BC780 */ cpu->f[30] = cpu->f[11] * cpu->f[12];
/* 028BC784 */ Gambit_fn_028BC638(cpu);
/* 028BC788 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[1]);
/* 028BC78C */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BC78C */ _t30 = _t29 & 0x00000001u;
/* 028BC78C */ if (_t30) goto L_028BC790; else goto L_028BC7AC;
L_028BC790: ; // 0x28bc790
/* 028BC790 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
/* 028BC794 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BC794 */ _t32 = _t31 & 0x00000001u;
/* 028BC794 */ if (_t32) goto L_028BC798; else goto L_028BC7A8;
L_028BC798: ; // 0x28bc798
/* 028BC798 */ cpu->f[1] = cpu->f[30];
/* 028BC79C */ cpu->r[3] = cpu->r[27];
/* 028BC7A0 */ Gambit_fn_028BC640(cpu);
/* 028BC7A4 */ _t33 = cpu->r[27] + 0x00000038u;
/* 028BC7A4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t33);
L_028BC7A8: ; // 0x28bc7a8
/* 028BC7A8 */ cpu->f[1] = cpu->f[30];
L_028BC7AC: ; // 0x28bc7ac
/* 028BC7AC */ cpu->f[0] = cpu->f[10] + cpu->f[1];
/* 028BC7B0 */ _t34 = cpu->r[27] + 0x0000003Cu;
/* 028BC7B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
/* 028BC7B4 */ cpu->f[12] = cpu->f[0] - cpu->f[13];
/* 028BC7B8 */ _t35 = cpu->r[27] + 0x0000004Cu;
/* 028BC7B8 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
/* 028BC7BC */ _t36 = cpu->r[27] + 0x00000050u;
/* 028BC7BC */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
/* 028BC7C0 */ _t37 = cpu->r[26] + 0x0000000Cu;
/* 028BC7C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
/* 028BC7C4 */ _t38 = cpu->r[26] + 0x00000004u;
/* 028BC7C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028BC7C8 */ cpu->r[30] = cpu->r[26] - cpu->r[28];
/* 028BC7CC */ cpu->r[31] = cpu->r[12] - cpu->r[28];
/* 028BC7D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BC7D4 */ _t39 = cpu->r[12] + 0x00000004u;
/* 028BC7D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
/* 028BC7D8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC7D8 */ _t41 = _t40 & 0x00000001u;
/* 028BC7D8 */ if (_t41) goto L_028BC8D8; else goto L_028BC7DC;
L_028BC7DC: ; // 0x28bc7dc
/* 028BC7DC */ cpu->f[29] = -cpu->f[1];
/* 028BC7E0 */ cpu->r[26] = 0x00000004u;
L_028BC7E4: ; // 0x28bc7e4
/* 028BC7E4 */ _t42 = cpu->r[31] + 0x000001B8u;
/* 028BC7E4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t42);
/* 028BC7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028BC7EC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC7EC */ _t44 = _t43 & 0x00000001u;
/* 028BC7EC */ if (_t44) goto L_028BC8C8; else goto L_028BC7F0;
L_028BC7F0: ; // 0x28bc7f0
/* 028BC7F0 */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028BC7F0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t45);
/* 028BC7F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BC7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BC7F8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC7F8 */ _t47 = _t46 & 0x00000001u;
/* 028BC7F8 */ if (_t47) goto L_028BC7FC; else goto L_028BC808;
L_028BC7FC: ; // 0x28bc7fc
/* 028BC7FC */ _t48 = cpu->r[31] + 0x00000010u;
/* 028BC7FC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t48);
/* 028BC800 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
/* 028BC804 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BC804 */ _t50 = _t49 & 0x00000001u;
/* 028BC804 */ if (_t50) goto L_028BC8C8; else goto L_028BC808;
L_028BC808: ; // 0x28bc808
/* 028BC808 */ _t51 = cpu->r[25] + 0x00000014u;
/* 028BC808 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
/* 028BC80C */ _t52 = cpu->r[27] + 0x00000050u;
/* 028BC80C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
/* 028BC810 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028BC814 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BC814 */ _t54 = _t53 & 0x00000001u;
/* 028BC814 */ if (_t54) goto L_028BC860; else goto L_028BC818;
L_028BC818: ; // 0x28bc818
/* 028BC818 */ cpu->f[1] = cpu->f[31];
/* 028BC81C */ cpu->r[3] = cpu->r[25];
/* 028BC820 */ Gambit_fn_028BBF04(cpu);
/* 028BC824 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BC828 */ cpu->r[3] = cpu->r[31];
/* 028BC82C */ _t55 = cpu->r[1] + 0x00000008u;
/* 028BC82C */ rbrew_write32(cpu->mem, _t55, cpu->r[26]);
/* 028BC830 */ Gambit_fn_028BEE60(cpu);
/* 028BC834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC838 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC838 */ _t57 = _t56 & 0x00000001u;
/* 028BC838 */ if (_t57) goto L_028BC83C; else goto L_028BC8C8;
L_028BC83C: ; // 0x28bc83c
/* 028BC83C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BC840 */ cpu->r[3] = cpu->r[31];
/* 028BC844 */ _t58 = cpu->r[1] + 0x0000000Cu;
/* 028BC844 */ rbrew_write32(cpu->mem, _t58, cpu->r[26]);
/* 028BC848 */ Gambit_fn_028BF408(cpu);
/* 028BC84C */ cpu->r[31] = cpu->r[29] - cpu->r[28];
/* 028BC850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BC854 */ _t59 = cpu->r[29] + 0x00000004u;
/* 028BC854 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
/* 028BC858 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC858 */ _t61 = _t60 & 0x00000001u;
/* 028BC858 */ if (_t61) goto L_028BC85C; else goto L_028BC7E4;
L_028BC85C: ; // 0x28bc85c
/* 028BC85C */ goto L_028BC8D8;
L_028BC860: ; // 0x28bc860
/* 028BC860 */ _t62 = cpu->r[27] + 0x00000038u;
/* 028BC860 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t62);
/* 028BC864 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[10]);
/* 028BC868 */ cpu->f[1] = cpu->f[29];
/* 028BC86C */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BC86C */ _t64 = _t63 & 0x00000001u;
/* 028BC86C */ if (_t64) goto L_028BC870; else goto L_028BC888;
L_028BC870: ; // 0x28bc870
/* 028BC870 */ cpu->f[11] = cpu->f[0] - cpu->f[10];
/* 028BC874 */ _t65 = cpu->r[27] + 0x00000044u;
/* 028BC874 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t65);
/* 028BC878 */ cpu->f[1] = cpu->f[1] + cpu->f[11];
/* 028BC87C */ cpu->f[11] = cpu->f[11] * cpu->f[12];
/* 028BC880 */ cpu->f[13] = cpu->f[11] - cpu->f[1];
/* 028BC884 */ /* nop */
L_028BC888: ; // 0x28bc888
/* 028BC888 */ Gambit_fn_02C8B9A0(cpu);
/* 028BC88C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028BC890 */ cpu->r[3] = cpu->r[31];
/* 028BC894 */ _t66 = cpu->r[1] + 0x00000010u;
/* 028BC894 */ rbrew_write32(cpu->mem, _t66, cpu->r[26]);
/* 028BC898 */ cpu->f[30] = cpu->f[1];
/* 028BC89C */ Gambit_fn_028BEE60(cpu);
/* 028BC8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BC8A4 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC8A4 */ _t68 = _t67 & 0x00000001u;
/* 028BC8A4 */ if (_t68) goto L_028BC8B8; else goto L_028BC8A8;
L_028BC8A8: ; // 0x28bc8a8
/* 028BC8A8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028BC8AC */ cpu->r[3] = cpu->r[31];
/* 028BC8B0 */ _t69 = cpu->r[1] + 0x00000014u;
/* 028BC8B0 */ rbrew_write32(cpu->mem, _t69, cpu->r[26]);
/* 028BC8B4 */ Gambit_fn_028BF444(cpu);
L_028BC8B8: ; // 0x28bc8b8
/* 028BC8B8 */ _t70 = cpu->r[27] + 0x00000040u;
/* 028BC8B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t70);
/* 028BC8BC */ cpu->f[1] = cpu->f[30] * cpu->f[11];
/* 028BC8C0 */ cpu->r[3] = cpu->r[25];
/* 028BC8C4 */ Gambit_fn_028BBF04(cpu);
L_028BC8C8: ; // 0x28bc8c8
/* 028BC8C8 */ cpu->r[31] = cpu->r[29] - cpu->r[28];
/* 028BC8CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028BC8D0 */ _t71 = cpu->r[29] + 0x00000004u;
/* 028BC8D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t71);
/* 028BC8D4 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC8D4 */ _t73 = _t72 & 0x00000001u;
/* 028BC8D4 */ if (_t73) goto L_028BC8D8; else goto L_028BC7E4;
L_028BC8D8: ; // 0x28bc8d8
/* 028BC8D8 */ cpu->r[3] = cpu->r[27] + 0x00000024u;
/* 028BC8DC */ Gambit_fn_028CA194(cpu);
/* 028BC8E0 */ /* nop */
/* 028BC8E4 */ _t74 = cpu->r[1] + 0x00000040u;
/* 028BC8E4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t74);
/* 028BC8E8 */ _t75 = cpu->r[1] + 0x00000050u;
/* 028BC8E8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t75);
/* 028BC8EC */ _t76 = cpu->r[1] + 0x00000038u;
/* 028BC8EC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t76);
/* 028BC8F0 */ _t77 = cpu->r[1] + 0x00000060u;
/* 028BC8F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t77);
/* 028BC8F4 */ _t78 = cpu->r[1] + 0x00000048u;
/* 028BC8F4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t78);
/* 028BC8F8 */ _t79 = cpu->r[1] + 0x00000058u;
/* 028BC8F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t79);
/* 028BC8FC */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BC8FC */ _t81 = _t80 & 0x00000001u;
/* 028BC8FC */ if (_t81) goto L_028BC900; // else: addr-0 trap, fall-through
L_028BC900: ; // 0x28bc900
/* 028BC900 */ _t82 = cpu->r[1] + 0x0000006Cu;
/* 028BC900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
/* 028BC904 */ cpu->lr = cpu->r[0];
/* 028BC908 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
/* 028BC90C */ return;
}
// fn_028BC910 @ 0x28bc910
void Gambit_fn_028BC910(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BC910: ; // 0x28bc910
/* 028BC910 */ cpu->r[0] = cpu->lr;
/* 028BC914 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BC914 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC914 */ cpu->r[1] = _t0;
/* 028BC918 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BC918 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BC91C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BC91C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BC920 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BC920 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BC924 */ cpu->r[30] = cpu->r[3];
/* 028BC928 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BC928 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BC92C */ cpu->r[29] = cpu->r[30] + 0x00000054u;
/* 028BC930 */ cpu->r[3] = cpu->r[29];
/* 028BC934 */ cpu->r[31] = cpu->r[4];
/* 028BC938 */ Gambit_fn_02836FFC(cpu);
/* 028BC93C */ _t5 = cpu->r[30] + 0x00000020u;
/* 028BC93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC940 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028BC944 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
/* 028BC948 */ Gambit_fn_02801EBC(cpu);
/* 028BC94C */ _t6 = cpu->r[30] + 0x0000001Cu;
/* 028BC94C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BC950 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028BC954 */ cpu->r[3] = cpu->r[29];
/* 028BC958 */ _t7 = cpu->r[30] + 0x0000001Cu;
/* 028BC958 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028BC95C */ Gambit_fn_02837030(cpu);
/* 028BC960 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BC960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028BC964 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028BC964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BC968 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028BC968 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BC96C */ cpu->lr = cpu->r[0];
/* 028BC970 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028BC970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BC974 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BC978 */ return;
}
// fn_028BC914 @ 0x28bc914
void Gambit_fn_028BC914(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BC914: ; // 0x28bc914
/* 028BC914 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BC914 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC914 */ cpu->r[1] = _t0;
/* 028BC918 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BC918 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BC91C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BC91C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BC920 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BC920 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BC924 */ cpu->r[30] = cpu->r[3];
/* 028BC928 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BC928 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BC92C */ cpu->r[29] = cpu->r[30] + 0x00000054u;
/* 028BC930 */ cpu->r[3] = cpu->r[29];
/* 028BC934 */ cpu->r[31] = cpu->r[4];
/* 028BC938 */ Gambit_fn_02836FFC(cpu);
/* 028BC93C */ _t5 = cpu->r[30] + 0x00000020u;
/* 028BC93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC940 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028BC944 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
/* 028BC948 */ Gambit_fn_02801EBC(cpu);
/* 028BC94C */ _t6 = cpu->r[30] + 0x0000001Cu;
/* 028BC94C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BC950 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028BC954 */ cpu->r[3] = cpu->r[29];
/* 028BC958 */ _t7 = cpu->r[30] + 0x0000001Cu;
/* 028BC958 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028BC95C */ Gambit_fn_02837030(cpu);
/* 028BC960 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BC960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028BC964 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028BC964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BC968 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028BC968 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BC96C */ cpu->lr = cpu->r[0];
/* 028BC970 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028BC970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BC974 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BC978 */ return;
}
// fn_028BC97C @ 0x28bc97c
void Gambit_fn_028BC97C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BC97C: ; // 0x28bc97c
/* 028BC97C */ cpu->r[0] = cpu->lr;
/* 028BC980 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BC980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC980 */ cpu->r[1] = _t0;
/* 028BC984 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BC984 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BC988 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BC988 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BC98C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BC98C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BC990 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BC990 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BC994 */ cpu->r[29] = cpu->r[3];
/* 028BC998 */ cpu->r[31] = cpu->r[29] + 0x00000054u;
/* 028BC99C */ cpu->r[3] = cpu->r[31];
/* 028BC9A0 */ cpu->r[30] = cpu->r[4];
/* 028BC9A4 */ Gambit_fn_02836FFC(cpu);
/* 028BC9A8 */ _t5 = cpu->r[29] + 0x00000020u;
/* 028BC9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC9AC */ cpu->r[10] = cpu->r[30] + cpu->r[0];
/* 028BC9B0 */ _t6 = cpu->r[10] + 0x00000004u;
/* 028BC9B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028BC9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BC9B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC9B8 */ _t8 = _t7 & 0x00000001u;
/* 028BC9B8 */ if (_t8) goto L_028BC9BC; else goto L_028BC9C8;
L_028BC9BC: ; // 0x28bc9bc
/* 028BC9BC */ _t9 = cpu->r[10] + 0x00000000u;
/* 028BC9BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028BC9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BC9C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC9C4 */ _t11 = _t10 & 0x00000001u;
/* 028BC9C4 */ if (_t11) goto L_028BC9DC; else goto L_028BC9C8;
L_028BC9C8: ; // 0x28bc9c8
/* 028BC9C8 */ cpu->r[3] = cpu->r[30] + cpu->r[0];
/* 028BC9CC */ Gambit_fn_02801EDC(cpu);
/* 028BC9D0 */ _t12 = cpu->r[29] + 0x0000001Cu;
/* 028BC9D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028BC9D4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028BC9D8 */ _t13 = cpu->r[29] + 0x0000001Cu;
/* 028BC9D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
L_028BC9DC: ; // 0x28bc9dc
/* 028BC9DC */ cpu->r[3] = cpu->r[31];
/* 028BC9E0 */ Gambit_fn_02837030(cpu);
/* 028BC9E4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BC9E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
/* 028BC9E8 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028BC9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BC9EC */ _t16 = cpu->r[1] + 0x00000010u;
/* 028BC9EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028BC9F0 */ cpu->lr = cpu->r[0];
/* 028BC9F4 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BC9F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BC9F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BC9FC */ return;
}
// fn_028BC980 @ 0x28bc980
void Gambit_fn_028BC980(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BC980: ; // 0x28bc980
/* 028BC980 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BC980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BC980 */ cpu->r[1] = _t0;
/* 028BC984 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BC984 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BC988 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BC988 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BC98C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BC98C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BC990 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BC990 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BC994 */ cpu->r[29] = cpu->r[3];
/* 028BC998 */ cpu->r[31] = cpu->r[29] + 0x00000054u;
/* 028BC99C */ cpu->r[3] = cpu->r[31];
/* 028BC9A0 */ cpu->r[30] = cpu->r[4];
/* 028BC9A4 */ Gambit_fn_02836FFC(cpu);
/* 028BC9A8 */ _t5 = cpu->r[29] + 0x00000020u;
/* 028BC9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BC9AC */ cpu->r[10] = cpu->r[30] + cpu->r[0];
/* 028BC9B0 */ _t6 = cpu->r[10] + 0x00000004u;
/* 028BC9B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028BC9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BC9B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC9B8 */ _t8 = _t7 & 0x00000001u;
/* 028BC9B8 */ if (_t8) goto L_028BC9BC; else goto L_028BC9C8;
L_028BC9BC: ; // 0x28bc9bc
/* 028BC9BC */ _t9 = cpu->r[10] + 0x00000000u;
/* 028BC9BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028BC9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BC9C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BC9C4 */ _t11 = _t10 & 0x00000001u;
/* 028BC9C4 */ if (_t11) goto L_028BC9DC; else goto L_028BC9C8;
L_028BC9C8: ; // 0x28bc9c8
/* 028BC9C8 */ cpu->r[3] = cpu->r[30] + cpu->r[0];
/* 028BC9CC */ Gambit_fn_02801EDC(cpu);
/* 028BC9D0 */ _t12 = cpu->r[29] + 0x0000001Cu;
/* 028BC9D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028BC9D4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028BC9D8 */ _t13 = cpu->r[29] + 0x0000001Cu;
/* 028BC9D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
L_028BC9DC: ; // 0x28bc9dc
/* 028BC9DC */ cpu->r[3] = cpu->r[31];
/* 028BC9E0 */ Gambit_fn_02837030(cpu);
/* 028BC9E4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BC9E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
/* 028BC9E8 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028BC9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BC9EC */ _t16 = cpu->r[1] + 0x00000010u;
/* 028BC9EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028BC9F0 */ cpu->lr = cpu->r[0];
/* 028BC9F4 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BC9F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BC9F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BC9FC */ return;
}
// fn_028BCA00 @ 0x28bca00
void Gambit_fn_028BCA00(CPUState* cpu) {
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_028BCA00: ; // 0x28bca00
/* 028BCA00 */ cpu->r[0] = cpu->lr;
/* 028BCA04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BCA04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCA04 */ cpu->r[1] = _t0;
/* 028BCA08 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028BCA08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BCA0C */ cpu->r[31] = cpu->r[4];
/* 028BCA10 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BCA10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BCA14 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028BCA14 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028BCA18 */ cpu->r[30] = cpu->r[3];
/* 028BCA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BCA1C */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BCA1C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028BCA20 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BCA20 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BCA24 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCA24 */ _t7 = _t6 & 0x00000001u;
/* 028BCA24 */ if (_t7) goto L_028BCA7C; else goto L_028BCA28;
L_028BCA28: ; // 0x28bca28
/* 028BCA28 */ cpu->r[0] = 0x10140000u;
/* 028BCA2C */ cpu->r[0] = cpu->r[0] + 0xFFFF9028u;
/* 028BCA30 */ cpu->r[12] = 0x101D0000u;
/* 028BCA34 */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028BCA34 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028BCA38 */ _t9 = cpu->r[12] + 0xFFFF9A80u;
/* 028BCA38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028BCA38 */ cpu->r[12] = _t9;
/* 028BCA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
/* 028BCA40 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCA40 */ _t11 = _t10 & 0x00000001u;
/* 028BCA40 */ if (_t11) goto L_028BCA44; else goto L_028BCA60;
L_028BCA44: ; // 0x28bca44
/* 028BCA44 */ cpu->r[29] = 0x101D0000u;
/* 028BCA48 */ cpu->r[28] = 0x00000000u;
/* 028BCA4C */ _t12 = cpu->r[29] + 0xFFFF9A7Cu;
/* 028BCA4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028BCA50 */ cpu->r[4] = 0x00000002u;
/* 028BCA54 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028BCA54 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028BCA58 */ Gambit_fn_028BC5D0(cpu);
/* 028BCA5C */ _t14 = cpu->r[29] + 0xFFFF9A7Cu;
/* 028BCA5C */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
L_028BCA60: ; // 0x28bca60
/* 028BCA60 */ cpu->r[3] = cpu->r[30];
/* 028BCA64 */ cpu->r[4] = 0x00000000u;
/* 028BCA68 */ Gambit_fn_02821E68(cpu);
/* 028BCA6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BCA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BCA70 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCA70 */ _t16 = _t15 & 0x00000001u;
/* 028BCA70 */ if (_t16) goto L_028BCA7C; else goto L_028BCA74;
L_028BCA74: ; // 0x28bca74
/* 028BCA74 */ cpu->r[3] = cpu->r[30];
/* 028BCA78 */ Gambit_fn_02801BB0(cpu);
L_028BCA7C: ; // 0x28bca7c
/* 028BCA7C */ _t17 = cpu->r[1] + 0x00000008u;
/* 028BCA7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028BCA80 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BCA80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028BCA84 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028BCA84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BCA88 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028BCA88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028BCA8C */ cpu->lr = cpu->r[0];
/* 028BCA90 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028BCA90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BCA94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BCA98 */ return;
}
// fn_028BCA04 @ 0x28bca04
void Gambit_fn_028BCA04(CPUState* cpu) {
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_028BCA04: ; // 0x28bca04
/* 028BCA04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BCA04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCA04 */ cpu->r[1] = _t0;
/* 028BCA08 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028BCA08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BCA0C */ cpu->r[31] = cpu->r[4];
/* 028BCA10 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BCA10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BCA14 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028BCA14 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028BCA18 */ cpu->r[30] = cpu->r[3];
/* 028BCA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BCA1C */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BCA1C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028BCA20 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BCA20 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BCA24 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCA24 */ _t7 = _t6 & 0x00000001u;
/* 028BCA24 */ if (_t7) goto L_028BCA7C; else goto L_028BCA28;
L_028BCA28: ; // 0x28bca28
/* 028BCA28 */ cpu->r[0] = 0x10140000u;
/* 028BCA2C */ cpu->r[0] = cpu->r[0] + 0xFFFF9028u;
/* 028BCA30 */ cpu->r[12] = 0x101D0000u;
/* 028BCA34 */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028BCA34 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028BCA38 */ _t9 = cpu->r[12] + 0xFFFF9A80u;
/* 028BCA38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028BCA38 */ cpu->r[12] = _t9;
/* 028BCA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
/* 028BCA40 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCA40 */ _t11 = _t10 & 0x00000001u;
/* 028BCA40 */ if (_t11) goto L_028BCA44; else goto L_028BCA60;
L_028BCA44: ; // 0x28bca44
/* 028BCA44 */ cpu->r[29] = 0x101D0000u;
/* 028BCA48 */ cpu->r[28] = 0x00000000u;
/* 028BCA4C */ _t12 = cpu->r[29] + 0xFFFF9A7Cu;
/* 028BCA4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028BCA50 */ cpu->r[4] = 0x00000002u;
/* 028BCA54 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028BCA54 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028BCA58 */ Gambit_fn_028BC5D0(cpu);
/* 028BCA5C */ _t14 = cpu->r[29] + 0xFFFF9A7Cu;
/* 028BCA5C */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
L_028BCA60: ; // 0x28bca60
/* 028BCA60 */ cpu->r[3] = cpu->r[30];
/* 028BCA64 */ cpu->r[4] = 0x00000000u;
/* 028BCA68 */ Gambit_fn_02821E68(cpu);
/* 028BCA6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BCA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BCA70 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCA70 */ _t16 = _t15 & 0x00000001u;
/* 028BCA70 */ if (_t16) goto L_028BCA7C; else goto L_028BCA74;
L_028BCA74: ; // 0x28bca74
/* 028BCA74 */ cpu->r[3] = cpu->r[30];
/* 028BCA78 */ Gambit_fn_02801BB0(cpu);
L_028BCA7C: ; // 0x28bca7c
/* 028BCA7C */ _t17 = cpu->r[1] + 0x00000008u;
/* 028BCA7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028BCA80 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BCA80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028BCA84 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028BCA84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BCA88 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028BCA88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028BCA8C */ cpu->lr = cpu->r[0];
/* 028BCA90 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028BCA90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BCA94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BCA98 */ return;
}
// fn_028BCA9C @ 0x28bca9c
void Gambit_fn_028BCA9C(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_028BCA9C: ; // 0x28bca9c
/* 028BCA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCAA0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCAA0 */ _t17 = _t16 & 0x00000001u;
/* 028BCAA0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BCAA0 */ goto L_028BCAA4;
L_028BCAA4: ; // 0x28bcaa4
/* 028BCAA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BCAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BCAA8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCAA8 */ _t19 = _t18 & 0x00000001u;
/* 028BCAA8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BCAA8 */ goto L_028BCAAC;
L_028BCAAC: ; // 0x28bcaac
/* 028BCAAC */ goto L_02801BB0;
}
// fn_028BCAB0 @ 0x28bcab0
void Gambit_fn_028BCAB0(CPUState* cpu) {
L_028BCAB0: ; // 0x28bcab0
/* 028BCAB0 */ return;
}
// fn_028BCAB4 @ 0x28bcab4
void Gambit_fn_028BCAB4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_028BCAB4: ; // 0x28bcab4
/* 028BCAB4 */ cpu->r[0] = cpu->lr;
/* 028BCAB8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BCAB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCAB8 */ cpu->r[1] = _t0;
/* 028BCABC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BCABC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BCAC0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BCAC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BCAC4 */ cpu->r[31] = cpu->r[3];
/* 028BCAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BCAC8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BCAC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BCACC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCACC */ _t5 = _t4 & 0x00000001u;
/* 028BCACC */ if (_t5) goto L_028BCAD0; else goto L_028BCAE0;
L_028BCAD0: ; // 0x28bcad0
/* 028BCAD0 */ cpu->r[3] = 0x00000064u;
/* 028BCAD4 */ Gambit_fn_02801A78(cpu);
/* 028BCAD8 */ cpu->r[31] = cpu->r[3];
/* 028BCAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BCADC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCADC */ _t7 = _t6 & 0x00000001u;
/* 028BCADC */ if (_t7) goto L_028BCC1C; else goto L_028BCAE0;
L_028BCAE0: ; // 0x28bcae0
/* 028BCAE0 */ cpu->r[0] = 0x10140000u;
/* 028BCAE4 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
/* 028BCAE8 */ cpu->r[5] = 0x00000004u;
/* 028BCAEC */ cpu->r[0] = cpu->r[0] + 0xFFFF9078u;
/* 028BCAF0 */ cpu->r[6] = 0x028C0000u;
/* 028BCAF4 */ cpu->r[4] = 0x00000006u;
/* 028BCAF8 */ cpu->r[3] = cpu->r[30];
/* 028BCAFC */ cpu->r[6] = cpu->r[6] + 0xFFFFD234u;
/* 028BCB00 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028BCB00 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028BCB04 */ Gambit_fn_02C82E00(cpu);
/* 028BCB08 */ cpu->r[8] = 0x10140000u;
/* 028BCB0C */ cpu->r[11] = 0x10140000u;
/* 028BCB10 */ _t9 = cpu->r[8] + 0xFFFF9098u;
/* 028BCB10 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t9);
/* 028BCB14 */ cpu->r[4] = 0x10140000u;
/* 028BCB18 */ _t10 = cpu->r[11] + 0xFFFF9090u;
/* 028BCB18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028BCB1C */ cpu->r[11] = 0x00000000u;
/* 028BCB20 */ _t11 = cpu->r[4] + 0xFFFF9088u;
/* 028BCB20 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
/* 028BCB24 */ cpu->r[12] = 0x10140000u;
/* 028BCB28 */ _t12 = cpu->r[31] + 0x00000054u;
/* 028BCB28 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[10]);
/* 028BCB2C */ _t13 = cpu->r[31] + 0x00000040u;
/* 028BCB2C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]);
/* 028BCB30 */ cpu->r[8] = 0x10140000u;
/* 028BCB34 */ _t14 = cpu->r[12] + 0xFFFF909Cu;
/* 028BCB34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
/* 028BCB38 */ cpu->r[12] = 0x10140000u;
/* 028BCB3C */ _t15 = cpu->r[8] + 0xFFFF908Cu;
/* 028BCB3C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
/* 028BCB40 */ _t16 = cpu->r[12] + 0xFFFF9094u;
/* 028BCB40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
/* 028BCB44 */ _t17 = cpu->r[31] + 0x0000003Cu;
/* 028BCB44 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
/* 028BCB48 */ _t18 = cpu->r[31] + 0x00000050u;
/* 028BCB48 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
/* 028BCB4C */ _t19 = cpu->r[31] + 0x00000060u;
/* 028BCB4C */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
/* 028BCB50 */ _t20 = cpu->r[31] + 0x00000058u;
/* 028BCB50 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
/* 028BCB54 */ _t21 = cpu->r[31] + 0x00000044u;
/* 028BCB54 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
/* 028BCB58 */ cpu->r[6] = 0x10140000u;
/* 028BCB5C */ _t22 = cpu->r[31] + 0x00000048u;
/* 028BCB5C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[8]);
/* 028BCB60 */ _t23 = cpu->r[6] + 0xFFFF90A0u;
/* 028BCB60 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
/* 028BCB64 */ _t24 = cpu->r[31] + 0x00000038u;
/* 028BCB64 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028BCB68 */ cpu->r[7] = cpu->r[11];
/* 028BCB6C */ _t25 = cpu->r[31] + 0x0000005Cu;
/* 028BCB6C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[9]);
/* 028BCB70 */ _t26 = cpu->r[31] + 0x0000004Cu;
/* 028BCB70 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[8]);
/* 028BCB74 */ cpu->r[10] = cpu->r[31] + 0x0000001Cu;
/* 028BCB78 */ _t27 = cpu->r[31] + 0x00000034u;
/* 028BCB78 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[8]);
L_028BCB7C: ; // 0x28bcb7c
/* 028BCB7C */ cpu->r[4] = 0x00000001u;
/* 028BCB80 */ cpu->r[0] = 0x00000000u;
/* 028BCB84 */ cpu->r[9] = cpu->r[7];
/* 028BCB88 */ cpu->r[6] = cpu->r[30] + cpu->r[7];
L_028BCB8C: ; // 0x28bcb8c
/* 028BCB8C */ _t28 = cpu->r[6] + 0x00000000u;
/* 028BCB8C */ rbrew_write32(cpu->mem, _t28, cpu->r[4]);
/* 028BCB90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
/* 028BCB94 */ _t29 = cpu->r[6] + 0x00000000u;
/* 028BCB94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
/* 028BCB98 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCB98 */ _t31 = _t30 & 0x00000001u;
/* 028BCB98 */ if (_t31) goto L_028BCB9C; else goto L_028BCBC8;
L_028BCB9C: ; // 0x28bcb9c
/* 028BCB9C */ cpu->r[8] = cpu->r[10] + cpu->r[9];
/* 028BCBA0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028BCBA4 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028BCBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000006u);
/* 028BCBAC */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028BCBB0 */ _t32 = cpu->r[8] + 0x00000000u;
/* 028BCBB0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028BCBB4 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCBB4 */ _t34 = _t33 & 0x00000001u;
/* 028BCBB4 */ if (_t34) goto L_028BCBB8; else goto L_028BCBE0;
L_028BCBB8: ; // 0x28bcbb8
/* 028BCBB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
/* 028BCBBC */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCBBC */ _t36 = _t35 & 0x00000001u;
/* 028BCBBC */ if (_t36) goto L_028BCB7C; else goto L_028BCBC0;
L_028BCBC0: ; // 0x28bcbc0
/* 028BCBC0 */ cpu->r[6] = cpu->r[30];
/* 028BCBC4 */ goto L_028BCB8C;
L_028BCBC8: ; // 0x28bcbc8
/* 028BCBC8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028BCBCC */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028BCBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000006u);
/* 028BCBD4 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028BCBD8 */ _t37 = cpu->r[10] + 0x00000000u;
/* 028BCBD8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
/* 028BCBDC */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCBDC */ _t39 = _t38 & 0x00000001u;
/* 028BCBDC */ if (_t39) goto L_028BCBB8; else goto L_028BCBE0;
L_028BCBE0: ; // 0x28bcbe0
/* 028BCBE0 */ cpu->r[11] = 0x00000002u;
/* 028BCBE4 */ cpu->r[9] = cpu->r[30] + 0x00000008u;
/* 028BCBE8 */ goto L_028BCBF4;
L_028BCBEC: ; // 0x28bcbec
/* 028BCBEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
/* 028BCBF0 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCBF0 */ _t41 = _t40 & 0x00000001u;
/* 028BCBF0 */ if (_t41) goto L_028BCBF4; else goto L_028BCC00;
L_028BCBF4: ; // 0x28bcbf4
/* 028BCBF4 */ cpu->r[12] = cpu->r[9];
/* 028BCBF8 */ cpu->r[0] = 0x00000000u;
/* 028BCBFC */ goto L_028BCC04;
L_028BCC00: ; // 0x28bcc00
/* 028BCC00 */ cpu->r[12] = cpu->r[30];
L_028BCC04: ; // 0x28bcc04
/* 028BCC04 */ _t42 = cpu->r[12] + 0x00000000u;
/* 028BCC04 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
/* 028BCC08 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028BCC0C */ _t43 = cpu->r[12] + 0x00000000u;
/* 028BCC0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
/* 028BCC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000005u);
/* 028BCC14 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028BCC18 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BCC18 */ _t45 = _t44 & 0x00000001u;
/* 028BCC18 */ if (_t45) goto L_028BCC1C; else goto L_028BCBEC;
L_028BCC1C: ; // 0x28bcc1c
/* 028BCC1C */ _t46 = cpu->r[1] + 0x00000014u;
/* 028BCC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028BCC20 */ cpu->r[3] = cpu->r[31];
/* 028BCC24 */ _t47 = cpu->r[1] + 0x0000000Cu;
/* 028BCC24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
/* 028BCC28 */ cpu->lr = cpu->r[0];
/* 028BCC2C */ _t48 = cpu->r[1] + 0x00000008u;
/* 028BCC2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
/* 028BCC30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BCC34 */ return;
}
// fn_028BCAB8 @ 0x28bcab8
void Gambit_fn_028BCAB8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_028BCAB8: ; // 0x28bcab8
/* 028BCAB8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BCAB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCAB8 */ cpu->r[1] = _t0;
/* 028BCABC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BCABC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BCAC0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BCAC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BCAC4 */ cpu->r[31] = cpu->r[3];
/* 028BCAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BCAC8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BCAC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BCACC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCACC */ _t5 = _t4 & 0x00000001u;
/* 028BCACC */ if (_t5) goto L_028BCAD0; else goto L_028BCAE0;
L_028BCAD0: ; // 0x28bcad0
/* 028BCAD0 */ cpu->r[3] = 0x00000064u;
/* 028BCAD4 */ Gambit_fn_02801A78(cpu);
/* 028BCAD8 */ cpu->r[31] = cpu->r[3];
/* 028BCAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BCADC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCADC */ _t7 = _t6 & 0x00000001u;
/* 028BCADC */ if (_t7) goto L_028BCC1C; else goto L_028BCAE0;
L_028BCAE0: ; // 0x28bcae0
/* 028BCAE0 */ cpu->r[0] = 0x10140000u;
/* 028BCAE4 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
/* 028BCAE8 */ cpu->r[5] = 0x00000004u;
/* 028BCAEC */ cpu->r[0] = cpu->r[0] + 0xFFFF9078u;
/* 028BCAF0 */ cpu->r[6] = 0x028C0000u;
/* 028BCAF4 */ cpu->r[4] = 0x00000006u;
/* 028BCAF8 */ cpu->r[3] = cpu->r[30];
/* 028BCAFC */ cpu->r[6] = cpu->r[6] + 0xFFFFD234u;
/* 028BCB00 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028BCB00 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028BCB04 */ Gambit_fn_02C82E00(cpu);
/* 028BCB08 */ cpu->r[8] = 0x10140000u;
/* 028BCB0C */ cpu->r[11] = 0x10140000u;
/* 028BCB10 */ _t9 = cpu->r[8] + 0xFFFF9098u;
/* 028BCB10 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t9);
/* 028BCB14 */ cpu->r[4] = 0x10140000u;
/* 028BCB18 */ _t10 = cpu->r[11] + 0xFFFF9090u;
/* 028BCB18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028BCB1C */ cpu->r[11] = 0x00000000u;
/* 028BCB20 */ _t11 = cpu->r[4] + 0xFFFF9088u;
/* 028BCB20 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
/* 028BCB24 */ cpu->r[12] = 0x10140000u;
/* 028BCB28 */ _t12 = cpu->r[31] + 0x00000054u;
/* 028BCB28 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[10]);
/* 028BCB2C */ _t13 = cpu->r[31] + 0x00000040u;
/* 028BCB2C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]);
/* 028BCB30 */ cpu->r[8] = 0x10140000u;
/* 028BCB34 */ _t14 = cpu->r[12] + 0xFFFF909Cu;
/* 028BCB34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
/* 028BCB38 */ cpu->r[12] = 0x10140000u;
/* 028BCB3C */ _t15 = cpu->r[8] + 0xFFFF908Cu;
/* 028BCB3C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
/* 028BCB40 */ _t16 = cpu->r[12] + 0xFFFF9094u;
/* 028BCB40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
/* 028BCB44 */ _t17 = cpu->r[31] + 0x0000003Cu;
/* 028BCB44 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
/* 028BCB48 */ _t18 = cpu->r[31] + 0x00000050u;
/* 028BCB48 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
/* 028BCB4C */ _t19 = cpu->r[31] + 0x00000060u;
/* 028BCB4C */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
/* 028BCB50 */ _t20 = cpu->r[31] + 0x00000058u;
/* 028BCB50 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
/* 028BCB54 */ _t21 = cpu->r[31] + 0x00000044u;
/* 028BCB54 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
/* 028BCB58 */ cpu->r[6] = 0x10140000u;
/* 028BCB5C */ _t22 = cpu->r[31] + 0x00000048u;
/* 028BCB5C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[8]);
/* 028BCB60 */ _t23 = cpu->r[6] + 0xFFFF90A0u;
/* 028BCB60 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
/* 028BCB64 */ _t24 = cpu->r[31] + 0x00000038u;
/* 028BCB64 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028BCB68 */ cpu->r[7] = cpu->r[11];
/* 028BCB6C */ _t25 = cpu->r[31] + 0x0000005Cu;
/* 028BCB6C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[9]);
/* 028BCB70 */ _t26 = cpu->r[31] + 0x0000004Cu;
/* 028BCB70 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[8]);
/* 028BCB74 */ cpu->r[10] = cpu->r[31] + 0x0000001Cu;
/* 028BCB78 */ _t27 = cpu->r[31] + 0x00000034u;
/* 028BCB78 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[8]);
L_028BCB7C: ; // 0x28bcb7c
/* 028BCB7C */ cpu->r[4] = 0x00000001u;
/* 028BCB80 */ cpu->r[0] = 0x00000000u;
/* 028BCB84 */ cpu->r[9] = cpu->r[7];
/* 028BCB88 */ cpu->r[6] = cpu->r[30] + cpu->r[7];
L_028BCB8C: ; // 0x28bcb8c
/* 028BCB8C */ _t28 = cpu->r[6] + 0x00000000u;
/* 028BCB8C */ rbrew_write32(cpu->mem, _t28, cpu->r[4]);
/* 028BCB90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
/* 028BCB94 */ _t29 = cpu->r[6] + 0x00000000u;
/* 028BCB94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
/* 028BCB98 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCB98 */ _t31 = _t30 & 0x00000001u;
/* 028BCB98 */ if (_t31) goto L_028BCB9C; else goto L_028BCBC8;
L_028BCB9C: ; // 0x28bcb9c
/* 028BCB9C */ cpu->r[8] = cpu->r[10] + cpu->r[9];
/* 028BCBA0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028BCBA4 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028BCBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000006u);
/* 028BCBAC */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028BCBB0 */ _t32 = cpu->r[8] + 0x00000000u;
/* 028BCBB0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028BCBB4 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCBB4 */ _t34 = _t33 & 0x00000001u;
/* 028BCBB4 */ if (_t34) goto L_028BCBB8; else goto L_028BCBE0;
L_028BCBB8: ; // 0x28bcbb8
/* 028BCBB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
/* 028BCBBC */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCBBC */ _t36 = _t35 & 0x00000001u;
/* 028BCBBC */ if (_t36) goto L_028BCB7C; else goto L_028BCBC0;
L_028BCBC0: ; // 0x28bcbc0
/* 028BCBC0 */ cpu->r[6] = cpu->r[30];
/* 028BCBC4 */ goto L_028BCB8C;
L_028BCBC8: ; // 0x28bcbc8
/* 028BCBC8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028BCBCC */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028BCBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000006u);
/* 028BCBD4 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028BCBD8 */ _t37 = cpu->r[10] + 0x00000000u;
/* 028BCBD8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
/* 028BCBDC */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCBDC */ _t39 = _t38 & 0x00000001u;
/* 028BCBDC */ if (_t39) goto L_028BCBB8; else goto L_028BCBE0;
L_028BCBE0: ; // 0x28bcbe0
/* 028BCBE0 */ cpu->r[11] = 0x00000002u;
/* 028BCBE4 */ cpu->r[9] = cpu->r[30] + 0x00000008u;
/* 028BCBE8 */ goto L_028BCBF4;
L_028BCBEC: ; // 0x28bcbec
/* 028BCBEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
/* 028BCBF0 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCBF0 */ _t41 = _t40 & 0x00000001u;
/* 028BCBF0 */ if (_t41) goto L_028BCBF4; else goto L_028BCC00;
L_028BCBF4: ; // 0x28bcbf4
/* 028BCBF4 */ cpu->r[12] = cpu->r[9];
/* 028BCBF8 */ cpu->r[0] = 0x00000000u;
/* 028BCBFC */ goto L_028BCC04;
L_028BCC00: ; // 0x28bcc00
/* 028BCC00 */ cpu->r[12] = cpu->r[30];
L_028BCC04: ; // 0x28bcc04
/* 028BCC04 */ _t42 = cpu->r[12] + 0x00000000u;
/* 028BCC04 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
/* 028BCC08 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028BCC0C */ _t43 = cpu->r[12] + 0x00000000u;
/* 028BCC0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
/* 028BCC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000005u);
/* 028BCC14 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028BCC18 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BCC18 */ _t45 = _t44 & 0x00000001u;
/* 028BCC18 */ if (_t45) goto L_028BCC1C; else goto L_028BCBEC;
L_028BCC1C: ; // 0x28bcc1c
/* 028BCC1C */ _t46 = cpu->r[1] + 0x00000014u;
/* 028BCC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028BCC20 */ cpu->r[3] = cpu->r[31];
/* 028BCC24 */ _t47 = cpu->r[1] + 0x0000000Cu;
/* 028BCC24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
/* 028BCC28 */ cpu->lr = cpu->r[0];
/* 028BCC2C */ _t48 = cpu->r[1] + 0x00000008u;
/* 028BCC2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
/* 028BCC30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BCC34 */ return;
}
// fn_028BCC38 @ 0x28bcc38
void Gambit_fn_028BCC38(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028BCC38: ; // 0x28bcc38
/* 028BCC38 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028BCC38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCC38 */ cpu->r[1] = _t0;
/* 028BCC3C */ cpu->r[0] = cpu->lr;
/* 028BCC40 */ /* nop */
/* 028BCC44 */ cpu->r[30] = cpu->r[3];
/* 028BCC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BCC48 */ cpu->r[31] = cpu->r[4];
/* 028BCC4C */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028BCC4C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BCC50 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCC50 */ _t3 = _t2 & 0x00000001u;
/* 028BCC50 */ if (_t3) goto L_028BCD08; else goto L_028BCC54;
L_028BCC54: ; // 0x28bcc54
/* 028BCC54 */ cpu->r[9] = 0x10140000u;
/* 028BCC58 */ cpu->r[29] = cpu->r[30] + 0x0000001Cu;
/* 028BCC5C */ cpu->r[9] = cpu->r[9] + 0xFFFF9078u;
/* 028BCC60 */ cpu->r[26] = 0x00000000u;
/* 028BCC64 */ _t4 = cpu->r[30] + 0x00000000u;
/* 028BCC64 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
/* 028BCC68 */ cpu->r[28] = cpu->r[26];
/* 028BCC6C */ goto L_028BCC78;
L_028BCC70: ; // 0x28bcc70
/* 028BCC70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000006u);
/* 028BCC74 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCC74 */ _t6 = _t5 & 0x00000001u;
/* 028BCC74 */ if (_t6) goto L_028BCC78; else goto L_028BCC88;
L_028BCC78: ; // 0x28bcc78
/* 028BCC78 */ cpu->r[6] = cpu->r[29] + cpu->r[28];
/* 028BCC7C */ cpu->r[25] = cpu->r[28];
/* 028BCC80 */ cpu->r[27] = 0x00000000u;
/* 028BCC84 */ goto L_028BCC8C;
L_028BCC88: ; // 0x28bcc88
/* 028BCC88 */ cpu->r[6] = cpu->r[29];
L_028BCC8C: ; // 0x28bcc8c
/* 028BCC8C */ _t7 = cpu->r[6] + 0x00000000u;
/* 028BCC8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028BCC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BCC94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCC94 */ _t9 = _t8 & 0x00000001u;
/* 028BCC94 */ if (_t9) goto L_028BCCE4; else goto L_028BCC98;
L_028BCC98: ; // 0x28bcc98
/* 028BCC98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000006u);
/* 028BCC9C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCC9C */ _t11 = _t10 & 0x00000001u;
/* 028BCC9C */ if (_t11) goto L_028BCCA0; else goto L_028BCCB0;
L_028BCCA0: ; // 0x28bcca0
/* 028BCCA0 */ _t12 = cpu->r[29] + cpu->r[25];
/* 028BCCA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028BCCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCCA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCCA8 */ _t14 = _t13 & 0x00000001u;
/* 028BCCA8 */ if (_t14) goto L_028BCCD0; else goto L_028BCCAC;
L_028BCCAC: ; // 0x28bccac
/* 028BCCAC */ goto L_028BCCBC;
L_028BCCB0: ; // 0x28bccb0
/* 028BCCB0 */ _t15 = cpu->r[29] + 0x00000000u;
/* 028BCCB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BCCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCCB8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCCB8 */ _t17 = _t16 & 0x00000001u;
/* 028BCCB8 */ if (_t17) goto L_028BCCD0; else goto L_028BCCBC;
L_028BCCBC: ; // 0x28bccbc
/* 028BCCBC */ _t18 = cpu->r[3] + 0x00000000u;
/* 028BCCBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028BCCC0 */ _t19 = cpu->r[11] + 0x00000014u;
/* 028BCCC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BCCC4 */ cpu->ctr = cpu->r[0];
/* 028BCCC8 */ cpu->r[4] = 0x00000003u;
/* 028BCCCC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BCCD0: ; // 0x28bccd0
/* 028BCCD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000006u);
/* 028BCCD4 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCCD4 */ _t21 = _t20 & 0x00000001u;
/* 028BCCD4 */ if (_t21) goto L_028BCCD8; else goto L_028BCCE0;
L_028BCCD8: ; // 0x28bccd8
/* 028BCCD8 */ _t22 = cpu->r[29] + cpu->r[25];
/* 028BCCD8 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
/* 028BCCDC */ goto L_028BCCE4;
L_028BCCE0: ; // 0x28bcce0
/* 028BCCE0 */ _t23 = cpu->r[29] + 0x00000000u;
/* 028BCCE0 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
L_028BCCE4: ; // 0x28bcce4
/* 028BCCE4 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
/* 028BCCE8 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
/* 028BCCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000006u);
/* 028BCCF0 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
/* 028BCCF4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCCF4 */ _t25 = _t24 & 0x00000001u;
/* 028BCCF4 */ if (_t25) goto L_028BCC70; else goto L_028BCCF8;
L_028BCCF8: ; // 0x28bccf8
/* 028BCCF8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BCCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BCCFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCCFC */ _t27 = _t26 & 0x00000001u;
/* 028BCCFC */ if (_t27) goto L_028BCD08; else goto L_028BCD00;
L_028BCD00: ; // 0x28bcd00
/* 028BCD00 */ cpu->r[3] = cpu->r[30];
/* 028BCD04 */ Gambit_fn_02801BB0(cpu);
L_028BCD08: ; // 0x28bcd08
/* 028BCD08 */ /* nop */
/* 028BCD0C */ _t28 = cpu->r[1] + 0x0000002Cu;
/* 028BCD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028BCD10 */ cpu->lr = cpu->r[0];
/* 028BCD14 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BCD18 */ return;
}
// fn_028BCD1C @ 0x28bcd1c
void Gambit_fn_028BCD1C(CPUState* cpu) {
uint32_t _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_028BCD1C: ; // 0x28bcd1c
/* 028BCD1C */ _t0 = cpu->r[4] + 0x00000000u;
/* 028BCD1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BCD20 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
/* 028BCD24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
/* 028BCD28 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCD28 */ _t2 = _t1 & 0x00000001u;
/* 028BCD28 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BCD28 */ goto L_028BCD2C;
L_028BCD2C: ; // 0x28bcd2c
/* 028BCD2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000001u);
/* 028BCD30 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCD30 */ _t4 = _t3 & 0x00000001u;
/* 028BCD30 */ if (_t4) goto L_028BCD6C; else goto L_028BCD34;
L_028BCD34: ; // 0x28bcd34
/* 028BCD34 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCD34 */ _t6 = _t5 & 0x00000001u;
/* 028BCD34 */ if (_t6) goto L_028BCD90; else goto L_028BCD38;
L_028BCD38: ; // 0x28bcd38
/* 028BCD38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
/* 028BCD3C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCD3C */ _t8 = _t7 & 0x00000001u;
/* 028BCD3C */ if (_t8) goto L_028BCD90; else goto L_028BCD40;
L_028BCD40: ; // 0x28bcd40
/* 028BCD40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000005u);
/* 028BCD44 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCD44 */ _t10 = _t9 & 0x00000001u;
/* 028BCD44 */ _t11 = _t10 ^ 0x00000001u;
/* 028BCD44 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BCD44 */ goto L_028BCD48;
L_028BCD48: ; // 0x28bcd48
/* 028BCD48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
/* 028BCD4C */ cpu->r[11] = cpu->r[3] + 0x00000004u;
/* 028BCD50 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCD50 */ _t13 = _t12 & 0x00000001u;
/* 028BCD50 */ if (_t13) goto L_028BCD54; else goto L_028BCD5C;
L_028BCD54: ; // 0x28bcd54
/* 028BCD54 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BCD58 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
L_028BCD5C: ; // 0x28bcd5c
/* 028BCD5C */ cpu->r[0] = 0x00000000u;
/* 028BCD60 */ _t14 = cpu->r[11] + 0x00000000u;
/* 028BCD60 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028BCD64 */ _t15 = cpu->r[11] + 0x00000000u;
/* 028BCD64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028BCD68 */ return;
L_028BCD6C: ; // 0x28bcd6c
/* 028BCD6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
/* 028BCD70 */ cpu->r[10] = cpu->r[3] + 0x00000004u;
/* 028BCD74 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCD74 */ _t17 = _t16 & 0x00000001u;
/* 028BCD74 */ if (_t17) goto L_028BCD78; else goto L_028BCD80;
L_028BCD78: ; // 0x28bcd78
/* 028BCD78 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BCD7C */ cpu->r[10] = cpu->r[10] + cpu->r[11];
L_028BCD80: ; // 0x28bcd80
/* 028BCD80 */ cpu->r[12] = 0x00000001u;
/* 028BCD84 */ _t18 = cpu->r[10] + 0x00000000u;
/* 028BCD84 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
/* 028BCD88 */ _t19 = cpu->r[10] + 0x00000000u;
/* 028BCD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BCD8C */ return;
L_028BCD90: ; // 0x28bcd90
/* 028BCD90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
/* 028BCD94 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
/* 028BCD98 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCD98 */ _t21 = _t20 & 0x00000001u;
/* 028BCD98 */ if (_t21) goto L_028BCD9C; else goto L_028BCDA4;
L_028BCD9C: ; // 0x28bcd9c
/* 028BCD9C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BCDA0 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
L_028BCDA4: ; // 0x28bcda4
/* 028BCDA4 */ cpu->r[12] = 0x00000002u;
/* 028BCDA8 */ _t22 = cpu->r[11] + 0x00000000u;
/* 028BCDA8 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
/* 028BCDAC */ _t23 = cpu->r[11] + 0x00000000u;
/* 028BCDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BCDB0 */ return;
}
// fn_028BCDB4 @ 0x28bcdb4
void Gambit_fn_028BCDB4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028BCDB4: ; // 0x28bcdb4
/* 028BCDB4 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028BCDB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BCDB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028BCDBC */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BCDBC */ _t2 = _t1 & 0x00000001u;
/* 028BCDBC */ if (_t2) goto L_028BCDD0; else goto L_028BCDC0;
L_028BCDC0: ; // 0x28bcdc0
/* 028BCDC0 */ cpu->r[12] = 0x10140000u;
/* 028BCDC4 */ cpu->r[12] = cpu->r[12] + 0xFFFF90A4u;
/* 028BCDC8 */ _t3 = cpu->r[12] + cpu->r[0];
/* 028BCDC8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t3);
/* 028BCDCC */ return;
L_028BCDD0: ; // 0x28bcdd0
/* 028BCDD0 */ cpu->r[3] = 0x00000004u;
/* 028BCDD4 */ return;
}
// fn_028BCDD8 @ 0x28bcdd8
void Gambit_fn_028BCDD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028BCDD8: ; // 0x28bcdd8
/* 028BCDD8 */ cpu->r[0] = cpu->lr;
/* 028BCDDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BCDDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCDDC */ cpu->r[1] = _t0;
/* 028BCDE0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BCDE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BCDE4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BCDE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BCDE8 */ cpu->r[12] = 0x101D0000u;
/* 028BCDEC */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BCDEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BCDF0 */ _t4 = cpu->r[12] + 0xFFFF99E8u;
/* 028BCDF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BCDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BCDF8 */ cpu->r[30] = cpu->r[3];
/* 028BCDFC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCDFC */ _t6 = _t5 & 0x00000001u;
/* 028BCDFC */ if (_t6) goto L_028BCEA4; else goto L_028BCE00;
L_028BCE00: ; // 0x28bce00
/* 028BCE00 */ _t7 = cpu->r[12] + 0x00000014u;
/* 028BCE00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028BCE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BCE08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCE08 */ _t9 = _t8 & 0x00000001u;
/* 028BCE08 */ if (_t9) goto L_028BCEA4; else goto L_028BCE0C;
L_028BCE0C: ; // 0x28bce0c
/* 028BCE0C */ cpu->r[10] = 0x101D0000u;
/* 028BCE10 */ _t10 = cpu->r[10] + 0xFFFFF9D0u;
/* 028BCE10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
/* 028BCE10 */ cpu->r[10] = _t10;
/* 028BCE14 */ cpu->r[4] = 0x101D0000u;
/* 028BCE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BCE1C */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
/* 028BCE20 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCE20 */ _t12 = _t11 & 0x00000001u;
/* 028BCE20 */ if (_t12) goto L_028BCE24; else goto L_028BCE38;
L_028BCE24: ; // 0x28bce24
/* 028BCE24 */ cpu->r[0] = 0x10140000u;
/* 028BCE28 */ cpu->r[12] = 0x00000001u;
/* 028BCE2C */ cpu->r[0] = cpu->r[0] + 0xFFFF9068u;
/* 028BCE30 */ _t13 = cpu->r[10] + 0x00000000u;
/* 028BCE30 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
/* 028BCE34 */ _t14 = cpu->r[4] + 0x00000000u;
/* 028BCE34 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
L_028BCE38: ; // 0x28bce38
/* 028BCE38 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028BCE38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028BCE3C */ _t16 = cpu->r[7] + 0x0000000Cu;
/* 028BCE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BCE40 */ cpu->ctr = cpu->r[0];
/* 028BCE44 */ cpu->r[3] = cpu->r[31];
/* 028BCE48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BCE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCE50 */ _t17 = cpu->r[30] + 0x00000004u;
/* 028BCE50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
/* 028BCE54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCE54 */ _t19 = _t18 & 0x00000001u;
/* 028BCE54 */ if (_t19) goto L_028BCE58; else goto L_028BCE5C;
L_028BCE58: ; // 0x28bce58
/* 028BCE58 */ cpu->r[31] = 0x00000000u;
L_028BCE5C: ; // 0x28bce5c
/* 028BCE5C */ _t20 = cpu->r[31] + 0x00000000u;
/* 028BCE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028BCE60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BCE64 */ cpu->r[3] = cpu->r[30];
/* 028BCE68 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028BCE68 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
/* 028BCE6C */ Gambit_fn_028BCDB4(cpu);
/* 028BCE70 */ _t22 = cpu->r[8] + 0x00000034u;
/* 028BCE70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028BCE74 */ cpu->r[4] = cpu->r[3];
/* 028BCE78 */ cpu->ctr = cpu->r[8];
/* 028BCE7C */ cpu->r[3] = cpu->r[31];
/* 028BCE80 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BCE84 */ _t23 = cpu->r[30] + 0x00000008u;
/* 028BCE84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028BCE88 */ cpu->r[3] = cpu->r[30];
/* 028BCE8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BCE90 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028BCE90 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028BCE94 */ Gambit_fn_028BCDB4(cpu);
/* 028BCE98 */ cpu->r[4] = cpu->r[3];
/* 028BCE9C */ cpu->r[3] = cpu->r[31];
/* 028BCEA0 */ Gambit_fn_02846E8C(cpu);
L_028BCEA4: ; // 0x28bcea4
/* 028BCEA4 */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028BCEA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028BCEA8 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028BCEA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028BCEAC */ cpu->lr = cpu->r[0];
/* 028BCEB0 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028BCEB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028BCEB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BCEB8 */ return;
}
// fn_028BCDDC @ 0x28bcddc
void Gambit_fn_028BCDDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028BCDDC: ; // 0x28bcddc
/* 028BCDDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BCDDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCDDC */ cpu->r[1] = _t0;
/* 028BCDE0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BCDE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BCDE4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BCDE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BCDE8 */ cpu->r[12] = 0x101D0000u;
/* 028BCDEC */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BCDEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BCDF0 */ _t4 = cpu->r[12] + 0xFFFF99E8u;
/* 028BCDF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BCDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BCDF8 */ cpu->r[30] = cpu->r[3];
/* 028BCDFC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCDFC */ _t6 = _t5 & 0x00000001u;
/* 028BCDFC */ if (_t6) goto L_028BCEA4; else goto L_028BCE00;
L_028BCE00: ; // 0x28bce00
/* 028BCE00 */ _t7 = cpu->r[12] + 0x00000014u;
/* 028BCE00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028BCE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BCE08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCE08 */ _t9 = _t8 & 0x00000001u;
/* 028BCE08 */ if (_t9) goto L_028BCEA4; else goto L_028BCE0C;
L_028BCE0C: ; // 0x28bce0c
/* 028BCE0C */ cpu->r[10] = 0x101D0000u;
/* 028BCE10 */ _t10 = cpu->r[10] + 0xFFFFF9D0u;
/* 028BCE10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
/* 028BCE10 */ cpu->r[10] = _t10;
/* 028BCE14 */ cpu->r[4] = 0x101D0000u;
/* 028BCE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BCE1C */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
/* 028BCE20 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCE20 */ _t12 = _t11 & 0x00000001u;
/* 028BCE20 */ if (_t12) goto L_028BCE24; else goto L_028BCE38;
L_028BCE24: ; // 0x28bce24
/* 028BCE24 */ cpu->r[0] = 0x10140000u;
/* 028BCE28 */ cpu->r[12] = 0x00000001u;
/* 028BCE2C */ cpu->r[0] = cpu->r[0] + 0xFFFF9068u;
/* 028BCE30 */ _t13 = cpu->r[10] + 0x00000000u;
/* 028BCE30 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
/* 028BCE34 */ _t14 = cpu->r[4] + 0x00000000u;
/* 028BCE34 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
L_028BCE38: ; // 0x28bce38
/* 028BCE38 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028BCE38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028BCE3C */ _t16 = cpu->r[7] + 0x0000000Cu;
/* 028BCE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BCE40 */ cpu->ctr = cpu->r[0];
/* 028BCE44 */ cpu->r[3] = cpu->r[31];
/* 028BCE48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BCE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCE50 */ _t17 = cpu->r[30] + 0x00000004u;
/* 028BCE50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
/* 028BCE54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCE54 */ _t19 = _t18 & 0x00000001u;
/* 028BCE54 */ if (_t19) goto L_028BCE58; else goto L_028BCE5C;
L_028BCE58: ; // 0x28bce58
/* 028BCE58 */ cpu->r[31] = 0x00000000u;
L_028BCE5C: ; // 0x28bce5c
/* 028BCE5C */ _t20 = cpu->r[31] + 0x00000000u;
/* 028BCE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028BCE60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BCE64 */ cpu->r[3] = cpu->r[30];
/* 028BCE68 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028BCE68 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
/* 028BCE6C */ Gambit_fn_028BCDB4(cpu);
/* 028BCE70 */ _t22 = cpu->r[8] + 0x00000034u;
/* 028BCE70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028BCE74 */ cpu->r[4] = cpu->r[3];
/* 028BCE78 */ cpu->ctr = cpu->r[8];
/* 028BCE7C */ cpu->r[3] = cpu->r[31];
/* 028BCE80 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BCE84 */ _t23 = cpu->r[30] + 0x00000008u;
/* 028BCE84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028BCE88 */ cpu->r[3] = cpu->r[30];
/* 028BCE8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BCE90 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028BCE90 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028BCE94 */ Gambit_fn_028BCDB4(cpu);
/* 028BCE98 */ cpu->r[4] = cpu->r[3];
/* 028BCE9C */ cpu->r[3] = cpu->r[31];
/* 028BCEA0 */ Gambit_fn_02846E8C(cpu);
L_028BCEA4: ; // 0x28bcea4
/* 028BCEA4 */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028BCEA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028BCEA8 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028BCEA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028BCEAC */ cpu->lr = cpu->r[0];
/* 028BCEB0 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028BCEB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028BCEB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BCEB8 */ return;
}
// fn_028BCEBC @ 0x28bcebc
void Gambit_fn_028BCEBC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BCEBC: ; // 0x28bcebc
/* 028BCEBC */ cpu->r[0] = cpu->lr;
/* 028BCEC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BCEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCEC0 */ cpu->r[1] = _t0;
/* 028BCEC4 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028BCEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BCEC8 */ cpu->r[31] = cpu->r[3];
/* 028BCECC */ cpu->r[3] = 0x00000000u;
/* 028BCED0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BCED4 */ _t2 = cpu->r[1] + 0x00000024u;
/* 028BCED4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BCED8 */ rbrew_dispatch(cpu, 0x02d065b0u);
/* 028BCEDC */ cpu->r[0] = 0x00000000u;
/* 028BCEE0 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BCEE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
/* 028BCEE4 */ cpu->r[3] = cpu->r[31];
/* 028BCEE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BCEEC */ _t4 = cpu->r[1] + 0x00000008u;
/* 028BCEEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BCEF0 */ Gambit_fn_028BCD1C(cpu);
/* 028BCEF4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028BCEF8 */ cpu->r[3] = 0x00000001u;
/* 028BCEFC */ rbrew_dispatch(cpu, 0x02d065b0u);
/* 028BCF00 */ cpu->r[0] = 0x00000001u;
/* 028BCF04 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028BCF04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
/* 028BCF08 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028BCF0C */ cpu->r[3] = cpu->r[31];
/* 028BCF10 */ _t6 = cpu->r[1] + 0x00000010u;
/* 028BCF10 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BCF14 */ Gambit_fn_028BCD1C(cpu);
/* 028BCF18 */ Gambit_fn_028BCDD8(cpu);
/* 028BCF1C */ _t7 = cpu->r[1] + 0x00000024u;
/* 028BCF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BCF20 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028BCF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BCF24 */ cpu->lr = cpu->r[0];
/* 028BCF28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BCF2C */ return;
}
// fn_028BCEC0 @ 0x28bcec0
void Gambit_fn_028BCEC0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BCEC0: ; // 0x28bcec0
/* 028BCEC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BCEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCEC0 */ cpu->r[1] = _t0;
/* 028BCEC4 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028BCEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BCEC8 */ cpu->r[31] = cpu->r[3];
/* 028BCECC */ cpu->r[3] = 0x00000000u;
/* 028BCED0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BCED4 */ _t2 = cpu->r[1] + 0x00000024u;
/* 028BCED4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BCED8 */ rbrew_dispatch(cpu, 0x02d065b0u);
/* 028BCEDC */ cpu->r[0] = 0x00000000u;
/* 028BCEE0 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BCEE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
/* 028BCEE4 */ cpu->r[3] = cpu->r[31];
/* 028BCEE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BCEEC */ _t4 = cpu->r[1] + 0x00000008u;
/* 028BCEEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BCEF0 */ Gambit_fn_028BCD1C(cpu);
/* 028BCEF4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028BCEF8 */ cpu->r[3] = 0x00000001u;
/* 028BCEFC */ rbrew_dispatch(cpu, 0x02d065b0u);
/* 028BCF00 */ cpu->r[0] = 0x00000001u;
/* 028BCF04 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028BCF04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
/* 028BCF08 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028BCF0C */ cpu->r[3] = cpu->r[31];
/* 028BCF10 */ _t6 = cpu->r[1] + 0x00000010u;
/* 028BCF10 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BCF14 */ Gambit_fn_028BCD1C(cpu);
/* 028BCF18 */ Gambit_fn_028BCDD8(cpu);
/* 028BCF1C */ _t7 = cpu->r[1] + 0x00000024u;
/* 028BCF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BCF20 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028BCF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BCF24 */ cpu->lr = cpu->r[0];
/* 028BCF28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BCF2C */ return;
}
// fn_028BCF30 @ 0x28bcf30
void Gambit_fn_028BCF30(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_028BCF30: ; // 0x28bcf30
/* 028BCF30 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028BCF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BCF30 */ cpu->r[1] = _t0;
/* 028BCF34 */ cpu->r[0] = cpu->lr;
/* 028BCF38 */ /* nop */
/* 028BCF3C */ cpu->r[5] = 0x00000004u;
/* 028BCF40 */ cpu->r[30] = cpu->r[4];
/* 028BCF44 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028BCF44 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BCF48 */ cpu->r[29] = cpu->r[3];
/* 028BCF4C */ cpu->r[3] = 0x00000014u;
/* 028BCF50 */ cpu->r[31] = cpu->r[29] + 0x0000001Cu;
/* 028BCF54 */ Gambit_fn_02801AC8(cpu);
/* 028BCF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCF5C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCF5C */ _t3 = _t2 & 0x00000001u;
/* 028BCF5C */ if (_t3) goto L_028BCF64; else goto L_028BCF60;
L_028BCF60: ; // 0x28bcf60
/* 028BCF60 */ Gambit_fn_028D8AA8(cpu);
L_028BCF64: ; // 0x28bcf64
/* 028BCF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCF68 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028BCF68 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
/* 028BCF6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCF6C */ _t6 = _t5 & 0x00000001u;
/* 028BCF6C */ if (_t6) goto L_028BD0C4; else goto L_028BCF70;
L_028BCF70: ; // 0x28bcf70
/* 028BCF70 */ cpu->r[4] = cpu->r[30];
/* 028BCF74 */ cpu->r[3] = 0x0000001Cu;
/* 028BCF78 */ cpu->r[5] = 0x00000004u;
/* 028BCF7C */ Gambit_fn_02801AC8(cpu);
/* 028BCF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCF84 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCF84 */ _t8 = _t7 & 0x00000001u;
/* 028BCF84 */ if (_t8) goto L_028BD0C4; else goto L_028BCF88;
L_028BCF88: ; // 0x28bcf88
/* 028BCF88 */ Gambit_fn_028D8B64(cpu);
/* 028BCF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BCF90 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCF90 */ _t10 = _t9 & 0x00000001u;
/* 028BCF90 */ if (_t10) goto L_028BD0C4; else goto L_028BCF94;
L_028BCF94: ; // 0x28bcf94
/* 028BCF94 */ _t11 = cpu->r[29] + 0x00000038u;
/* 028BCF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BCF98 */ cpu->r[27] = 0x00000002u;
/* 028BCF9C */ _t12 = cpu->r[3] + 0x00000014u;
/* 028BCF9C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028BCFA0 */ cpu->r[26] = 0x00000008u;
/* 028BCFA4 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028BCFA4 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
/* 028BCFA8 */ goto L_028BCFB4;
L_028BCFAC: ; // 0x28bcfac
/* 028BCFAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000006u);
/* 028BCFB0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCFB0 */ _t15 = _t14 & 0x00000001u;
/* 028BCFB0 */ if (_t15) goto L_028BCFB4; else goto L_028BCFC0;
L_028BCFB4: ; // 0x28bcfb4
/* 028BCFB4 */ cpu->r[28] = cpu->r[31] + cpu->r[26];
/* 028BCFB8 */ cpu->r[25] = cpu->r[26];
/* 028BCFBC */ goto L_028BCFC4;
L_028BCFC0: ; // 0x28bcfc0
/* 028BCFC0 */ cpu->r[28] = cpu->r[31];
L_028BCFC4: ; // 0x28bcfc4
/* 028BCFC4 */ cpu->r[4] = cpu->r[30];
/* 028BCFC8 */ cpu->r[3] = 0x00000014u;
/* 028BCFCC */ cpu->r[5] = 0x00000004u;
/* 028BCFD0 */ Gambit_fn_02801AC8(cpu);
/* 028BCFD4 */ cpu->r[0] = cpu->r[3];
/* 028BCFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BCFD8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCFD8 */ _t17 = _t16 & 0x00000001u;
/* 028BCFD8 */ if (_t17) goto L_028BCFE8; else goto L_028BCFDC;
L_028BCFDC: ; // 0x28bcfdc
/* 028BCFDC */ cpu->r[3] = cpu->r[0];
/* 028BCFE0 */ Gambit_fn_028D8D6C(cpu);
/* 028BCFE4 */ cpu->r[0] = cpu->r[3];
L_028BCFE8: ; // 0x28bcfe8
/* 028BCFE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000006u);
/* 028BCFEC */ _t18 = cpu->r[28] + 0x00000000u;
/* 028BCFEC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028BCFF0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BCFF0 */ _t20 = _t19 & 0x00000001u;
/* 028BCFF0 */ if (_t20) goto L_028BCFF4; else goto L_028BD004;
L_028BCFF4: ; // 0x28bcff4
/* 028BCFF4 */ _t21 = cpu->r[31] + cpu->r[25];
/* 028BCFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028BCFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BCFFC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BCFFC */ _t23 = _t22 & 0x00000001u;
/* 028BCFFC */ if (_t23) goto L_028BD0C4; else goto L_028BD000;
L_028BD000: ; // 0x28bd000
/* 028BD000 */ goto L_028BD010;
L_028BD004: ; // 0x28bd004
/* 028BD004 */ _t24 = cpu->r[31] + 0x00000000u;
/* 028BD004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028BD008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BD00C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD00C */ _t26 = _t25 & 0x00000001u;
/* 028BD00C */ if (_t26) goto L_028BD0C4; else goto L_028BD010;
L_028BD010: ; // 0x28bd010
/* 028BD010 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028BD014 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
/* 028BD018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000005u);
/* 028BD01C */ cpu->r[26] = cpu->r[26] + 0x00000004u;
/* 028BD020 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD020 */ _t28 = _t27 & 0x00000001u;
/* 028BD020 */ if (_t28) goto L_028BD024; else goto L_028BCFAC;
L_028BD024: ; // 0x28bd024
/* 028BD024 */ cpu->r[28] = 0x00000000u;
/* 028BD028 */ cpu->r[27] = cpu->r[28];
/* 028BD02C */ goto L_028BD038;
L_028BD030: ; // 0x28bd030
/* 028BD030 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000006u);
/* 028BD034 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD034 */ _t30 = _t29 & 0x00000001u;
/* 028BD034 */ if (_t30) goto L_028BD038; else goto L_028BD044;
L_028BD038: ; // 0x28bd038
/* 028BD038 */ cpu->r[12] = cpu->r[31] + cpu->r[27];
/* 028BD03C */ cpu->r[26] = cpu->r[27];
/* 028BD040 */ goto L_028BD048;
L_028BD044: ; // 0x28bd044
/* 028BD044 */ cpu->r[12] = cpu->r[31];
L_028BD048: ; // 0x28bd048
/* 028BD048 */ _t31 = cpu->r[12] + 0x00000000u;
/* 028BD048 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
/* 028BD04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028BD050 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD050 */ _t33 = _t32 & 0x00000001u;
/* 028BD050 */ if (_t33) goto L_028BD0B0; else goto L_028BD054;
L_028BD054: ; // 0x28bd054
/* 028BD054 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000006u);
/* 028BD058 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD058 */ _t35 = _t34 & 0x00000001u;
/* 028BD058 */ if (_t35) goto L_028BD05C; else goto L_028BD078;
L_028BD05C: ; // 0x28bd05c
/* 028BD05C */ _t36 = cpu->r[31] + cpu->r[26];
/* 028BD05C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
/* 028BD060 */ _t37 = cpu->r[3] + 0x00000000u;
/* 028BD060 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
/* 028BD064 */ cpu->r[12] = cpu->r[29] + 0x00000004u;
/* 028BD068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000006u);
/* 028BD06C */ cpu->r[5] = cpu->r[7] + 0x00000018u;
/* 028BD070 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD070 */ _t39 = _t38 & 0x00000001u;
/* 028BD070 */ if (_t39) goto L_028BD090; else goto L_028BD074;
L_028BD074: ; // 0x28bd074
/* 028BD074 */ goto L_028BD094;
L_028BD078: ; // 0x28bd078
/* 028BD078 */ _t40 = cpu->r[31] + 0x00000000u;
/* 028BD078 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
/* 028BD07C */ _t41 = cpu->r[3] + 0x00000000u;
/* 028BD07C */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
/* 028BD080 */ cpu->r[12] = cpu->r[29] + 0x00000004u;
/* 028BD084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000006u);
/* 028BD088 */ cpu->r[5] = cpu->r[7] + 0x00000018u;
/* 028BD08C */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD08C */ _t43 = _t42 & 0x00000001u;
/* 028BD08C */ if (_t43) goto L_028BD090; else goto L_028BD074;
L_028BD090: ; // 0x28bd090
/* 028BD090 */ cpu->r[12] = cpu->r[12] + cpu->r[26];
L_028BD094: ; // 0x28bd094
/* 028BD094 */ _t44 = cpu->r[12] + 0x00000000u;
/* 028BD094 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
/* 028BD098 */ _t45 = cpu->r[1] + 0x00000008u;
/* 028BD098 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
/* 028BD09C */ _t46 = cpu->r[5] + 0x00000004u;
/* 028BD09C */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
/* 028BD0A0 */ cpu->ctr = cpu->r[10];
/* 028BD0A4 */ cpu->r[5] = cpu->r[30];
/* 028BD0A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BD0AC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BD0B0: ; // 0x28bd0b0
/* 028BD0B0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
/* 028BD0B4 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
/* 028BD0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000006u);
/* 028BD0BC */ cpu->r[27] = cpu->r[27] + 0x00000004u;
/* 028BD0C0 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD0C0 */ _t48 = _t47 & 0x00000001u;
/* 028BD0C0 */ if (_t48) goto L_028BD030; else goto L_028BD0C4;
L_028BD0C4: ; // 0x28bd0c4
/* 028BD0C4 */ /* nop */
/* 028BD0C8 */ _t49 = cpu->r[1] + 0x0000002Cu;
/* 028BD0C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028BD0CC */ cpu->lr = cpu->r[0];
/* 028BD0D0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BD0D4 */ return;
}
// fn_028BD0D8 @ 0x28bd0d8
void Gambit_fn_028BD0D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BD0D8: ; // 0x28bd0d8
/* 028BD0D8 */ cpu->r[0] = cpu->lr;
/* 028BD0DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BD0DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD0DC */ cpu->r[1] = _t0;
/* 028BD0E0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BD0E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BD0E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BD0E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BD0E8 */ cpu->r[31] = cpu->r[3];
/* 028BD0EC */ cpu->r[30] = cpu->r[4];
/* 028BD0F0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BD0F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BD0F4 */ Gambit_fn_028BCEBC(cpu);
/* 028BD0F8 */ cpu->r[4] = cpu->r[30];
/* 028BD0FC */ cpu->r[3] = cpu->r[31];
/* 028BD100 */ Gambit_fn_028BCF30(cpu);
/* 028BD104 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BD104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BD108 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BD108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028BD10C */ cpu->lr = cpu->r[0];
/* 028BD110 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028BD110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028BD114 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BD118 */ return;
}
// fn_028BD0DC @ 0x28bd0dc
void Gambit_fn_028BD0DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BD0DC: ; // 0x28bd0dc
/* 028BD0DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BD0DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD0DC */ cpu->r[1] = _t0;
/* 028BD0E0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BD0E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BD0E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BD0E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BD0E8 */ cpu->r[31] = cpu->r[3];
/* 028BD0EC */ cpu->r[30] = cpu->r[4];
/* 028BD0F0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BD0F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BD0F4 */ Gambit_fn_028BCEBC(cpu);
/* 028BD0F8 */ cpu->r[4] = cpu->r[30];
/* 028BD0FC */ cpu->r[3] = cpu->r[31];
/* 028BD100 */ Gambit_fn_028BCF30(cpu);
/* 028BD104 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BD104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BD108 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BD108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028BD10C */ cpu->lr = cpu->r[0];
/* 028BD110 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028BD110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028BD114 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BD118 */ return;
}
// fn_028BD11C @ 0x28bd11c
void Gambit_fn_028BD11C(CPUState* cpu) {
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_028BD11C: ; // 0x28bd11c
/* 028BD11C */ cpu->r[0] = cpu->lr;
/* 028BD120 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BD120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD120 */ cpu->r[1] = _t0;
/* 028BD124 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BD124 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BD128 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BD128 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BD12C */ _t3 = cpu->r[5] + 0x00000000u;
/* 028BD12C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028BD130 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFEu;
/* 028BD134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000004u);
/* 028BD138 */ cpu->r[31] = cpu->r[3];
/* 028BD13C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD13C */ _t5 = _t4 & 0x00000001u;
/* 028BD13C */ if (_t5) goto L_028BD1AC; else goto L_028BD140;
L_028BD140: ; // 0x28bd140
/* 028BD140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
/* 028BD144 */ cpu->r[10] = cpu->r[31] + 0x00000004u;
/* 028BD148 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD148 */ _t7 = _t6 & 0x00000001u;
/* 028BD148 */ if (_t7) goto L_028BD14C; else goto L_028BD154;
L_028BD14C: ; // 0x28bd14c
/* 028BD14C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BD150 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
L_028BD154: ; // 0x28bd154
/* 028BD154 */ _t8 = cpu->r[4] + 0x00000000u;
/* 028BD154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BD158 */ _t9 = cpu->r[10] + 0x00000000u;
/* 028BD158 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028BD15C */ _t10 = cpu->r[5] + 0x00000000u;
/* 028BD15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BD160 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
/* 028BD164 */ cpu->r[12] = cpu->r[31] + 0x0000001Cu;
/* 028BD168 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD168 */ _t12 = _t11 & 0x00000001u;
/* 028BD168 */ if (_t12) goto L_028BD16C; else goto L_028BD174;
L_028BD16C: ; // 0x28bd16c
/* 028BD16C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BD170 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
L_028BD174: ; // 0x28bd174
/* 028BD174 */ _t13 = cpu->r[4] + 0x00000000u;
/* 028BD174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BD178 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028BD178 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028BD17C */ _t15 = cpu->r[12] + 0x00000000u;
/* 028BD17C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BD180 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BD184 */ Gambit_fn_028D897C(cpu);
/* 028BD188 */ cpu->r[3] = cpu->r[31];
/* 028BD18C */ Gambit_fn_028BCDD8(cpu);
/* 028BD190 */ cpu->r[31] = 0x101D0000u;
/* 028BD194 */ _t16 = cpu->r[31] + 0xFFFF9AE0u;
/* 028BD194 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BD194 */ cpu->r[31] = _t16;
/* 028BD198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BD19C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD19C */ _t18 = _t17 & 0x00000001u;
/* 028BD19C */ if (_t18) goto L_028BD1AC; else goto L_028BD1A0;
L_028BD1A0: ; // 0x28bd1a0
/* 028BD1A0 */ Gambit_fn_028E3F14(cpu);
/* 028BD1A4 */ _t19 = cpu->r[31] + 0x00000000u;
/* 028BD1A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028BD1A8 */ Gambit_fn_028E3C90(cpu);
L_028BD1AC: ; // 0x28bd1ac
/* 028BD1AC */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BD1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BD1B0 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028BD1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BD1B4 */ cpu->lr = cpu->r[0];
/* 028BD1B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BD1BC */ return;
}
// fn_028BD120 @ 0x28bd120
void Gambit_fn_028BD120(CPUState* cpu) {
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_028BD120: ; // 0x28bd120
/* 028BD120 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BD120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD120 */ cpu->r[1] = _t0;
/* 028BD124 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BD124 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BD128 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BD128 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BD12C */ _t3 = cpu->r[5] + 0x00000000u;
/* 028BD12C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028BD130 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFEu;
/* 028BD134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000004u);
/* 028BD138 */ cpu->r[31] = cpu->r[3];
/* 028BD13C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD13C */ _t5 = _t4 & 0x00000001u;
/* 028BD13C */ if (_t5) goto L_028BD1AC; else goto L_028BD140;
L_028BD140: ; // 0x28bd140
/* 028BD140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
/* 028BD144 */ cpu->r[10] = cpu->r[31] + 0x00000004u;
/* 028BD148 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD148 */ _t7 = _t6 & 0x00000001u;
/* 028BD148 */ if (_t7) goto L_028BD14C; else goto L_028BD154;
L_028BD14C: ; // 0x28bd14c
/* 028BD14C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BD150 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
L_028BD154: ; // 0x28bd154
/* 028BD154 */ _t8 = cpu->r[4] + 0x00000000u;
/* 028BD154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BD158 */ _t9 = cpu->r[10] + 0x00000000u;
/* 028BD158 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028BD15C */ _t10 = cpu->r[5] + 0x00000000u;
/* 028BD15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BD160 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
/* 028BD164 */ cpu->r[12] = cpu->r[31] + 0x0000001Cu;
/* 028BD168 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD168 */ _t12 = _t11 & 0x00000001u;
/* 028BD168 */ if (_t12) goto L_028BD16C; else goto L_028BD174;
L_028BD16C: ; // 0x28bd16c
/* 028BD16C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BD170 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
L_028BD174: ; // 0x28bd174
/* 028BD174 */ _t13 = cpu->r[4] + 0x00000000u;
/* 028BD174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BD178 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028BD178 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028BD17C */ _t15 = cpu->r[12] + 0x00000000u;
/* 028BD17C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BD180 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BD184 */ Gambit_fn_028D897C(cpu);
/* 028BD188 */ cpu->r[3] = cpu->r[31];
/* 028BD18C */ Gambit_fn_028BCDD8(cpu);
/* 028BD190 */ cpu->r[31] = 0x101D0000u;
/* 028BD194 */ _t16 = cpu->r[31] + 0xFFFF9AE0u;
/* 028BD194 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BD194 */ cpu->r[31] = _t16;
/* 028BD198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BD19C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD19C */ _t18 = _t17 & 0x00000001u;
/* 028BD19C */ if (_t18) goto L_028BD1AC; else goto L_028BD1A0;
L_028BD1A0: ; // 0x28bd1a0
/* 028BD1A0 */ Gambit_fn_028E3F14(cpu);
/* 028BD1A4 */ _t19 = cpu->r[31] + 0x00000000u;
/* 028BD1A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028BD1A8 */ Gambit_fn_028E3C90(cpu);
L_028BD1AC: ; // 0x28bd1ac
/* 028BD1AC */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BD1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BD1B0 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028BD1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BD1B4 */ cpu->lr = cpu->r[0];
/* 028BD1B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BD1BC */ return;
}
// fn_028BD1C0 @ 0x28bd1c0
void Gambit_fn_028BD1C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BD1C0: ; // 0x28bd1c0
/* 028BD1C0 */ cpu->r[12] = 0x10140000u;
/* 028BD1C4 */ _t0 = cpu->r[12] + 0xFFFF90A8u;
/* 028BD1C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028BD1C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BD1CC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD1CC */ _t2 = _t1 & 0x00000001u;
/* 028BD1CC */ _t3 = _t2 ^ 0x00000001u;
/* 028BD1CC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BD1CC */ goto L_028BD1D0;
L_028BD1D0: ; // 0x28bd1d0
/* 028BD1D0 */ _t4 = cpu->r[3] + 0x00000050u;
/* 028BD1D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
/* 028BD1D4 */ cpu->f[0] = cpu->f[1] * cpu->f[1];
/* 028BD1D8 */ _t5 = cpu->r[3] + 0x0000003Cu;
/* 028BD1D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
/* 028BD1DC */ cpu->f[10] = cpu->f[11] * cpu->f[1];
/* 028BD1E0 */ _t6 = cpu->r[3] + 0x00000048u;
/* 028BD1E0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
/* 028BD1E4 */ cpu->f[12] = cpu->f[10] / cpu->f[13];
/* 028BD1E8 */ _t7 = cpu->r[3] + 0x0000004Cu;
/* 028BD1E8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028BD1EC */ _t8 = cpu->r[3] + 0x00000054u;
/* 028BD1EC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
/* 028BD1F0 */ return;
}
// fn_028BD1F4 @ 0x28bd1f4
void Gambit_fn_028BD1F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BD1F4: ; // 0x28bd1f4
/* 028BD1F4 */ _t0 = cpu->r[3] + 0x00000060u;
/* 028BD1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BD1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028BD1FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD1FC */ _t2 = _t1 & 0x00000001u;
/* 028BD1FC */ if (_t2) goto L_028BD200; else goto L_028BD20C;
L_028BD200: ; // 0x28bd200
/* 028BD200 */ cpu->r[12] = 0x10140000u;
/* 028BD204 */ _t3 = cpu->r[12] + 0xFFFF9088u;
/* 028BD204 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
/* 028BD208 */ return;
L_028BD20C: ; // 0x28bd20c
/* 028BD20C */ _t4 = cpu->r[3] + 0x00000058u;
/* 028BD20C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
/* 028BD210 */ return;
}
// fn_028BD214 @ 0x28bd214
void Gambit_fn_028BD214(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BD214: ; // 0x28bd214
/* 028BD214 */ _t0 = cpu->r[3] + 0x00000060u;
/* 028BD214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BD218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028BD21C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD21C */ _t2 = _t1 & 0x00000001u;
/* 028BD21C */ if (_t2) goto L_028BD220; else goto L_028BD22C;
L_028BD220: ; // 0x28bd220
/* 028BD220 */ cpu->r[12] = 0x10140000u;
/* 028BD224 */ _t3 = cpu->r[12] + 0xFFFF9088u;
/* 028BD224 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
/* 028BD228 */ return;
L_028BD22C: ; // 0x28bd22c
/* 028BD22C */ _t4 = cpu->r[3] + 0x0000005Cu;
/* 028BD22C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
/* 028BD230 */ return;
}
// fn_028BD240 @ 0x28bd240
void Gambit_fn_028BD240(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BD240: ; // 0x28bd240
/* 028BD240 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BD240 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD240 */ cpu->r[1] = _t0;
/* 028BD244 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD244 */ _t2 = _t1 & 0x00000001u;
/* 028BD244 */ if (_t2) goto L_028BD248; else goto L_028BD258;
L_028BD248: ; // 0x28bd248
/* 028BD248 */ cpu->r[3] = 0x00000004u;
/* 028BD24C */ Gambit_fn_02801A78(cpu);
/* 028BD250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BD254 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD254 */ _t4 = _t3 & 0x00000001u;
/* 028BD254 */ if (_t4) goto L_028BD260; else goto L_028BD258;
L_028BD258: ; // 0x28bd258
/* 028BD258 */ cpu->r[0] = 0x00000000u;
/* 028BD25C */ _t5 = cpu->r[3] + 0x00000000u;
/* 028BD25C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
L_028BD260: ; // 0x28bd260
/* 028BD260 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BD260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BD264 */ cpu->lr = cpu->r[0];
/* 028BD268 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BD26C */ return;
}
// fn_028BD270 @ 0x28bd270
void Gambit_fn_028BD270(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028BD270: ; // 0x28bd270
/* 028BD270 */ cpu->r[12] = 0x10140000u;
/* 028BD274 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BD278 */ _t0 = cpu->r[12] + 0xFFFF90B0u;
/* 028BD278 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
/* 028BD27C */ cpu->r[12] = 0x10140000u;
/* 028BD280 */ _t1 = cpu->r[3] + 0x00000038u;
/* 028BD280 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BD284 */ _t2 = cpu->r[12] + 0xFFFF90B4u;
/* 028BD284 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
/* 028BD288 */ cpu->r[12] = 0x10140000u;
/* 028BD28C */ _t3 = cpu->r[3] + 0x00000000u;
/* 028BD28C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[13]);
/* 028BD290 */ _t4 = cpu->r[12] + 0xFFFF90B8u;
/* 028BD290 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028BD294 */ cpu->r[0] = 0x00000006u;
/* 028BD298 */ _t5 = cpu->r[3] + 0x00000030u;
/* 028BD298 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
/* 028BD29C */ cpu->f[11] = cpu->f[0];
/* 028BD2A0 */ _t6 = cpu->r[3] + 0x00000034u;
/* 028BD2A0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
/* 028BD2A4 */ cpu->ctr = cpu->r[0];
/* 028BD2A8 */ _t7 = cpu->r[3] + 0x0000002Cu;
/* 028BD2A8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
/* 028BD2AC */ cpu->r[12] = cpu->r[3];
/* 028BD2B0 */ _t8 = cpu->r[3] + 0x0000003Cu;
/* 028BD2B0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
L_028BD2B4: ; // 0x28bd2b4
/* 028BD2B4 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028BD2B4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[11]);
/* 028BD2B4 */ cpu->r[12] = _t9;
/* 028BD2B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD2B8 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD2B8 */ _t11 = _t10 >> (0x00000002u & 31u);
/* 028BD2B8 */ _t12 = _t11 & 0x00000001u;
/* 028BD2B8 */ if (_t12) goto L_028BD2B4; else goto L_028BD2BC;
L_028BD2BC: ; // 0x28bd2bc
/* 028BD2BC */ cpu->r[11] = 0x00000004u;
/* 028BD2C0 */ cpu->ctr = cpu->r[11];
/* 028BD2C4 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
L_028BD2C8: ; // 0x28bd2c8
/* 028BD2C8 */ _t13 = cpu->r[12] + 0x00000004u;
/* 028BD2C8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028BD2C8 */ cpu->r[12] = _t13;
/* 028BD2CC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD2CC */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD2CC */ _t15 = _t14 >> (0x00000002u & 31u);
/* 028BD2CC */ _t16 = _t15 & 0x00000001u;
/* 028BD2CC */ if (_t16) goto L_028BD2C8; else goto L_028BD2D0;
L_028BD2D0: ; // 0x28bd2d0
/* 028BD2D0 */ _t17 = cpu->r[3] + 0x00000044u;
/* 028BD2D0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
/* 028BD2D4 */ cpu->r[0] = 0x00000000u;
/* 028BD2D8 */ _t18 = cpu->r[3] + 0x00000040u;
/* 028BD2D8 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028BD2DC */ return;
}
// fn_028BD2E0 @ 0x28bd2e0
void Gambit_fn_028BD2E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BD2E0: ; // 0x28bd2e0
/* 028BD2E0 */ cpu->r[0] = cpu->lr;
/* 028BD2E4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BD2E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BD2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BD2EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BD2EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BD2EC */ cpu->r[1] = _t1;
/* 028BD2F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD2F0 */ _t3 = _t2 & 0x00000001u;
/* 028BD2F0 */ if (_t3) goto L_028BD2F4; else goto L_028BD304;
L_028BD2F4: ; // 0x28bd2f4
/* 028BD2F4 */ cpu->r[3] = 0x0000004Cu;
/* 028BD2F8 */ Gambit_fn_02801A78(cpu);
/* 028BD2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BD300 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD300 */ _t5 = _t4 & 0x00000001u;
/* 028BD300 */ if (_t5) goto L_028BD314; else goto L_028BD304;
L_028BD304: ; // 0x28bd304
/* 028BD304 */ cpu->r[0] = 0x10140000u;
/* 028BD308 */ cpu->r[0] = cpu->r[0] + 0xFFFF90BCu;
/* 028BD30C */ _t6 = cpu->r[3] + 0x00000048u;
/* 028BD30C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BD310 */ Gambit_fn_028BD270(cpu);
L_028BD314: ; // 0x28bd314
/* 028BD314 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BD314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BD318 */ cpu->lr = cpu->r[0];
/* 028BD31C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BD320 */ return;
}
// fn_028BD2EC @ 0x28bd2ec
void Gambit_fn_028BD2EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BD2EC: ; // 0x28bd2ec
/* 028BD2EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BD2EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD2EC */ cpu->r[1] = _t0;
/* 028BD2F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD2F0 */ _t2 = _t1 & 0x00000001u;
/* 028BD2F0 */ if (_t2) goto L_028BD2F4; else goto L_028BD304;
L_028BD2F4: ; // 0x28bd2f4
/* 028BD2F4 */ cpu->r[3] = 0x0000004Cu;
/* 028BD2F8 */ Gambit_fn_02801A78(cpu);
/* 028BD2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BD300 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD300 */ _t4 = _t3 & 0x00000001u;
/* 028BD300 */ if (_t4) goto L_028BD314; else goto L_028BD304;
L_028BD304: ; // 0x28bd304
/* 028BD304 */ cpu->r[0] = 0x10140000u;
/* 028BD308 */ cpu->r[0] = cpu->r[0] + 0xFFFF90BCu;
/* 028BD30C */ _t5 = cpu->r[3] + 0x00000048u;
/* 028BD30C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BD310 */ Gambit_fn_028BD270(cpu);
L_028BD314: ; // 0x28bd314
/* 028BD314 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BD314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BD318 */ cpu->lr = cpu->r[0];
/* 028BD31C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BD320 */ return;
}
// fn_028BD324 @ 0x28bd324
void Gambit_fn_028BD324(CPUState* cpu) {
L_028BD324: ; // 0x28bd324
/* 028BD324 */ cpu->r[6] = 0x00000000u;
/* 028BD328 */ cpu->r[5] = 0x0000004Cu;
/* 028BD32C */ rbrew_dispatch(cpu, 0x02d0a6e8u); return;
}
// fn_028BD330 @ 0x28bd330
void Gambit_fn_028BD330(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028BD330: ; // 0x28bd330
/* 028BD330 */ cpu->r[12] = 0x10140000u;
/* 028BD334 */ _t0 = cpu->r[12] + 0xFFFF90B4u;
/* 028BD334 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028BD338 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BD33C */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD33C */ _t2 = _t1 & 0x00000001u;
/* 028BD33C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BD33C */ goto L_028BD340;
L_028BD340: ; // 0x28bd340
/* 028BD340 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028BD340 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028BD344 */ return;
}
// fn_028BD348 @ 0x28bd348
void Gambit_fn_028BD348(CPUState* cpu) {
uint32_t _t0, _t1;
L_028BD348: ; // 0x28bd348
/* 028BD348 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028BD348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BD34C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BD350 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
/* 028BD354 */ _t1 = cpu->r[12] + 0x00000004u;
/* 028BD354 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
/* 028BD358 */ return;
}
// fn_028BD35C @ 0x28bd35c
void Gambit_fn_028BD35C(CPUState* cpu) {
uint32_t _t0, _t1;
L_028BD35C: ; // 0x28bd35c
/* 028BD35C */ _t0 = cpu->r[4] + 0x00000000u;
/* 028BD35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BD360 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BD364 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
/* 028BD368 */ _t1 = cpu->r[12] + 0x0000001Cu;
/* 028BD368 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
/* 028BD36C */ return;
}
// fn_028BD370 @ 0x28bd370
void Gambit_fn_028BD370(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028BD370: ; // 0x28bd370
/* 028BD370 */ cpu->r[12] = 0x10140000u;
/* 028BD374 */ _t0 = cpu->r[12] + 0xFFFF90B4u;
/* 028BD374 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028BD378 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BD37C */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD37C */ _t2 = _t1 & 0x00000001u;
/* 028BD37C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BD37C */ goto L_028BD380;
L_028BD380: ; // 0x28bd380
/* 028BD380 */ _t3 = cpu->r[3] + 0x0000002Cu;
/* 028BD380 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028BD384 */ return;
}
// fn_028BD388 @ 0x28bd388
void Gambit_fn_028BD388(CPUState* cpu) {
uint32_t _t0;
L_028BD388: ; // 0x28bd388
/* 028BD388 */ _t0 = cpu->r[3] + 0x00000030u;
/* 028BD388 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028BD38C */ return;
}
// fn_028BD390 @ 0x28bd390
void Gambit_fn_028BD390(CPUState* cpu) {
uint32_t _t0;
L_028BD390: ; // 0x28bd390
/* 028BD390 */ _t0 = cpu->r[3] + 0x00000034u;
/* 028BD390 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028BD394 */ return;
}
// fn_028BD398 @ 0x28bd398
void Gambit_fn_028BD398(CPUState* cpu) {
uint32_t _t0;
L_028BD398: ; // 0x28bd398
/* 028BD398 */ _t0 = cpu->r[3] + 0x00000038u;
/* 028BD398 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
/* 028BD39C */ return;
}
// fn_028BD3A0 @ 0x28bd3a0
void Gambit_fn_028BD3A0(CPUState* cpu) {
uint32_t _t0;
L_028BD3A0: ; // 0x28bd3a0
/* 028BD3A0 */ _t0 = cpu->r[3] + 0x0000003Cu;
/* 028BD3A0 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028BD3A4 */ return;
}
// fn_028BD3A8 @ 0x28bd3a8
void Gambit_fn_028BD3A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028BD3A8: ; // 0x28bd3a8
/* 028BD3A8 */ cpu->r[0] = cpu->lr;
/* 028BD3AC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BD3AC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BD3B0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BD3B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BD3B0 */ cpu->r[1] = _t1;
/* 028BD3B4 */ Gambit_fn_028BD398(cpu);
/* 028BD3B8 */ Gambit_fn_028BD3A0(cpu);
/* 028BD3BC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BD3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BD3C0 */ cpu->lr = cpu->r[0];
/* 028BD3C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BD3C8 */ return;
}
// fn_028BD3B0 @ 0x28bd3b0
void Gambit_fn_028BD3B0(CPUState* cpu) {
uint32_t _t0, _t1;
L_028BD3B0: ; // 0x28bd3b0
/* 028BD3B0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BD3B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD3B0 */ cpu->r[1] = _t0;
/* 028BD3B4 */ Gambit_fn_028BD398(cpu);
/* 028BD3B8 */ Gambit_fn_028BD3A0(cpu);
/* 028BD3BC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BD3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BD3C0 */ cpu->lr = cpu->r[0];
/* 028BD3C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BD3C8 */ return;
}
// fn_028BD3CC @ 0x28bd3cc
void Gambit_fn_028BD3CC(CPUState* cpu) {
uint32_t _t0;
L_028BD3CC: ; // 0x28bd3cc
/* 028BD3CC */ _t0 = cpu->r[3] + 0x00000040u;
/* 028BD3CC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
/* 028BD3D0 */ return;
}
// fn_028BD3D4 @ 0x28bd3d4
void Gambit_fn_028BD3D4(CPUState* cpu) {
uint32_t _t0;
L_028BD3D4: ; // 0x28bd3d4
/* 028BD3D4 */ _t0 = cpu->r[3] + 0x00000044u;
/* 028BD3D4 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028BD3D8 */ return;
}
// fn_028BD3DC @ 0x28bd3dc
void Gambit_fn_028BD3DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
L_028BD3DC: ; // 0x28bd3dc
/* 028BD3DC */ _t0 = cpu->r[3] + 0x00000000u;
/* 028BD3DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
/* 028BD3E0 */ cpu->r[11] = 0x10140000u;
/* 028BD3E4 */ _t1 = cpu->r[11] + 0xFFFF90B4u;
/* 028BD3E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028BD3E8 */ cpu->r[11] = 0x10140000u;
/* 028BD3EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD3F0 */ _t2 = cpu->r[11] + 0xFFFF90B0u;
/* 028BD3F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028BD3F4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD3F4 */ _t4 = _t3 & 0x00000001u;
/* 028BD3F4 */ if (_t4) goto L_028BD3F8; else goto L_028BD414;
L_028BD3F8: ; // 0x28bd3f8
/* 028BD3F8 */ cpu->f[10] = cpu->f[13];
/* 028BD3FC */ cpu->r[0] = 0x00000006u;
/* 028BD400 */ _t5 = cpu->r[3] + 0x00000000u;
/* 028BD400 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
/* 028BD404 */ cpu->f[12] = cpu->f[0];
/* 028BD408 */ cpu->r[12] = cpu->r[3];
/* 028BD40C */ cpu->ctr = cpu->r[0];
/* 028BD410 */ goto L_028BD438;
L_028BD414: ; // 0x28bd414
/* 028BD414 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
/* 028BD418 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD418 */ _t7 = _t6 & 0x00000001u;
/* 028BD418 */ if (_t7) goto L_028BD41C; else goto L_028BD420;
L_028BD41C: ; // 0x28bd41c
/* 028BD41C */ cpu->f[11] = cpu->f[13];
L_028BD420: ; // 0x28bd420
/* 028BD420 */ cpu->r[0] = 0x00000006u;
/* 028BD424 */ cpu->f[10] = cpu->f[13];
/* 028BD428 */ cpu->r[12] = cpu->r[3];
/* 028BD42C */ cpu->ctr = cpu->r[0];
/* 028BD430 */ cpu->f[12] = cpu->f[0];
/* 028BD434 */ _t8 = cpu->r[3] + 0x00000000u;
/* 028BD434 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
L_028BD438: ; // 0x28bd438
/* 028BD438 */ _t9 = cpu->r[12] + 0x00000004u;
/* 028BD438 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
/* 028BD438 */ cpu->r[12] = _t9;
/* 028BD43C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028BD440 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD440 */ _t11 = _t10 & 0x00000001u;
/* 028BD440 */ if (_t11) goto L_028BD444; else goto L_028BD450;
L_028BD444: ; // 0x28bd444
/* 028BD444 */ _t12 = cpu->r[12] + 0x00000000u;
/* 028BD444 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
/* 028BD448 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD448 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD448 */ _t14 = _t13 >> (0x00000002u & 31u);
/* 028BD448 */ _t15 = _t14 & 0x00000001u;
/* 028BD448 */ if (_t15) goto L_028BD438; else goto L_028BD44C;
L_028BD44C: ; // 0x28bd44c
/* 028BD44C */ goto L_028BD464;
L_028BD450: ; // 0x28bd450
/* 028BD450 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[10]);
/* 028BD454 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD454 */ _t17 = _t16 & 0x00000001u;
/* 028BD454 */ if (_t17) goto L_028BD458; else goto L_028BD45C;
L_028BD458: ; // 0x28bd458
/* 028BD458 */ cpu->f[11] = cpu->f[10];
L_028BD45C: ; // 0x28bd45c
/* 028BD45C */ _t18 = cpu->r[12] + 0x00000000u;
/* 028BD45C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
/* 028BD460 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD460 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD460 */ _t20 = _t19 >> (0x00000002u & 31u);
/* 028BD460 */ _t21 = _t20 & 0x00000001u;
/* 028BD460 */ if (_t21) goto L_028BD438; else goto L_028BD464;
L_028BD464: ; // 0x28bd464
/* 028BD464 */ cpu->r[0] = 0x00000004u;
/* 028BD468 */ cpu->f[10] = cpu->f[13];
/* 028BD46C */ cpu->ctr = cpu->r[0];
/* 028BD470 */ cpu->f[11] = cpu->f[0];
/* 028BD474 */ cpu->r[11] = cpu->r[3] + 0x00000018u;
L_028BD478: ; // 0x28bd478
/* 028BD478 */ _t22 = cpu->r[11] + 0x00000004u;
/* 028BD478 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
/* 028BD478 */ cpu->r[11] = _t22;
/* 028BD47C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[11]);
/* 028BD480 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD480 */ _t24 = _t23 & 0x00000001u;
/* 028BD480 */ if (_t24) goto L_028BD484; else goto L_028BD490;
L_028BD484: ; // 0x28bd484
/* 028BD484 */ _t25 = cpu->r[11] + 0x00000000u;
/* 028BD484 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
/* 028BD488 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD488 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD488 */ _t27 = _t26 >> (0x00000002u & 31u);
/* 028BD488 */ _t28 = _t27 & 0x00000001u;
/* 028BD488 */ if (_t28) goto L_028BD478; else goto L_028BD48C;
L_028BD48C: ; // 0x28bd48c
/* 028BD48C */ goto L_028BD4A4;
L_028BD490: ; // 0x28bd490
/* 028BD490 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[10]);
/* 028BD494 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD494 */ _t30 = _t29 & 0x00000001u;
/* 028BD494 */ if (_t30) goto L_028BD498; else goto L_028BD49C;
L_028BD498: ; // 0x28bd498
/* 028BD498 */ cpu->f[12] = cpu->f[10];
L_028BD49C: ; // 0x28bd49c
/* 028BD49C */ _t31 = cpu->r[11] + 0x00000000u;
/* 028BD49C */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
/* 028BD4A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD4A0 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD4A0 */ _t33 = _t32 >> (0x00000002u & 31u);
/* 028BD4A0 */ _t34 = _t33 & 0x00000001u;
/* 028BD4A0 */ if (_t34) goto L_028BD478; else goto L_028BD4A4;
L_028BD4A4: ; // 0x28bd4a4
/* 028BD4A4 */ _t35 = cpu->r[3] + 0x0000002Cu;
/* 028BD4A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
/* 028BD4A8 */ _t36 = cpu->r[3] + 0x00000030u;
/* 028BD4A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t36);
/* 028BD4AC */ /* nop */
/* 028BD4B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD4B4 */ _t37 = cpu->r[3] + 0x0000002Cu;
/* 028BD4B4 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
/* 028BD4B8 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD4B8 */ _t39 = _t38 & 0x00000001u;
/* 028BD4B8 */ if (_t39) goto L_028BD4BC; else goto L_028BD4D4;
L_028BD4BC: ; // 0x28bd4bc
/* 028BD4BC */ _t40 = cpu->r[3] + 0x00000038u;
/* 028BD4BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
/* 028BD4C0 */ _t41 = cpu->r[3] + 0x00000030u;
/* 028BD4C0 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
/* 028BD4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BD4C8 */ _t42 = cpu->r[3] + 0x00000034u;
/* 028BD4C8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t42);
/* 028BD4CC */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD4CC */ _t44 = _t43 & 0x00000001u;
/* 028BD4CC */ if (_t44) goto L_028BD4FC; else goto L_028BD4D0;
L_028BD4D0: ; // 0x28bd4d0
/* 028BD4D0 */ goto L_028BD500;
L_028BD4D4: ; // 0x28bd4d4
/* 028BD4D4 */ cpu->r[12] = 0x10140000u;
/* 028BD4D8 */ _t45 = cpu->r[12] + 0xFFFF90D4u;
/* 028BD4D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t45);
/* 028BD4DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028BD4E0 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD4E0 */ _t47 = _t46 & 0x00000001u;
/* 028BD4E0 */ if (_t47) goto L_028BD4E4; else goto L_028BD4E8;
L_028BD4E4: ; // 0x28bd4e4
/* 028BD4E4 */ cpu->f[11] = cpu->f[12];
L_028BD4E8: ; // 0x28bd4e8
/* 028BD4E8 */ _t48 = cpu->r[3] + 0x00000038u;
/* 028BD4E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
/* 028BD4EC */ _t49 = cpu->r[3] + 0x00000030u;
/* 028BD4EC */ rbrew_write_f32(cpu->mem, _t49, cpu->f[11]);
/* 028BD4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BD4F4 */ _t50 = cpu->r[3] + 0x00000034u;
/* 028BD4F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t50);
/* 028BD4F8 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD4F8 */ _t52 = _t51 & 0x00000001u;
/* 028BD4F8 */ if (_t52) goto L_028BD4FC; else goto L_028BD500;
L_028BD4FC: ; // 0x28bd4fc
/* 028BD4FC */ cpu->r[12] = 0x00000000u;
L_028BD500: ; // 0x28bd500
/* 028BD500 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 028BD504 */ _t53 = cpu->r[3] + 0x0000003Cu;
/* 028BD504 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
/* 028BD508 */ _t54 = cpu->r[3] + 0x00000038u;
/* 028BD508 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
/* 028BD50C */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD50C */ _t56 = _t55 & 0x00000001u;
/* 028BD50C */ if (_t56) goto L_028BD510; else goto L_028BD524;
L_028BD510: ; // 0x28bd510
/* 028BD510 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD514 */ _t57 = cpu->r[3] + 0x00000044u;
/* 028BD514 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t57);
/* 028BD518 */ _t58 = cpu->r[3] + 0x00000034u;
/* 028BD518 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[0]);
/* 028BD51C */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD51C */ _t60 = _t59 & 0x00000001u;
/* 028BD51C */ if (_t60) goto L_028BD540; else goto L_028BD520;
L_028BD520: ; // 0x28bd520
/* 028BD520 */ goto L_028BD550;
L_028BD524: ; // 0x28bd524
/* 028BD524 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
/* 028BD528 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD528 */ _t62 = _t61 & 0x00000001u;
/* 028BD528 */ if (_t62) goto L_028BD52C; else goto L_028BD530;
L_028BD52C: ; // 0x28bd52c
/* 028BD52C */ cpu->f[12] = cpu->f[13];
L_028BD530: ; // 0x28bd530
/* 028BD530 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD534 */ _t63 = cpu->r[3] + 0x00000034u;
/* 028BD534 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[12]);
/* 028BD538 */ _t64 = cpu->r[3] + 0x00000044u;
/* 028BD538 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64);
/* 028BD53C */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD53C */ _t66 = _t65 & 0x00000001u;
/* 028BD53C */ if (_t66) goto L_028BD540; else goto L_028BD550;
L_028BD540: ; // 0x28bd540
/* 028BD540 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 028BD544 */ _t67 = cpu->r[3] + 0x0000003Cu;
/* 028BD544 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[0]);
/* 028BD548 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD548 */ _t69 = _t68 & 0x00000001u;
/* 028BD548 */ if (_t69) goto L_028BD568; else goto L_028BD54C;
L_028BD54C: ; // 0x28bd54c
/* 028BD54C */ goto L_028BD570;
L_028BD550: ; // 0x28bd550
/* 028BD550 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
/* 028BD554 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD554 */ _t71 = _t70 & 0x00000001u;
/* 028BD554 */ if (_t71) goto L_028BD558; else goto L_028BD55C;
L_028BD558: ; // 0x28bd558
/* 028BD558 */ cpu->f[11] = cpu->f[13];
L_028BD55C: ; // 0x28bd55c
/* 028BD55C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 028BD560 */ _t72 = cpu->r[3] + 0x0000003Cu;
/* 028BD560 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[11]);
/* 028BD564 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD564 */ _t74 = _t73 & 0x00000001u;
/* 028BD564 */ if (_t74) goto L_028BD568; else goto L_028BD570;
L_028BD568: ; // 0x28bd568
/* 028BD568 */ _t75 = cpu->r[3] + 0x00000044u;
/* 028BD568 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
/* 028BD56C */ return;
L_028BD570: ; // 0x28bd570
/* 028BD570 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
/* 028BD574 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD574 */ _t77 = _t76 & 0x00000001u;
/* 028BD574 */ if (_t77) goto L_028BD578; else goto L_028BD57C;
L_028BD578: ; // 0x28bd578
/* 028BD578 */ cpu->f[12] = cpu->f[13];
L_028BD57C: ; // 0x28bd57c
/* 028BD57C */ _t78 = cpu->r[3] + 0x00000044u;
/* 028BD57C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[12]);
/* 028BD580 */ return;
}
// fn_028BD584 @ 0x28bd584
void Gambit_fn_028BD584(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028BD584: ; // 0x28bd584
/* 028BD584 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028BD584 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
/* 028BD588 */ cpu->r[12] = 0x10140000u;
/* 028BD58C */ _t1 = cpu->r[12] + 0xFFFF90B4u;
/* 028BD58C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028BD590 */ cpu->r[12] = 0x10140000u;
/* 028BD594 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD598 */ _t2 = cpu->r[12] + 0xFFFF90B0u;
/* 028BD598 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028BD59C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD59C */ _t4 = _t3 & 0x00000001u;
/* 028BD59C */ if (_t4) goto L_028BD5A0; else goto L_028BD5BC;
L_028BD5A0: ; // 0x28bd5a0
/* 028BD5A0 */ cpu->f[11] = cpu->f[0];
/* 028BD5A4 */ cpu->r[0] = 0x00000004u;
/* 028BD5A8 */ cpu->r[11] = cpu->r[3] + 0x00000018u;
/* 028BD5AC */ cpu->f[12] = cpu->f[13];
/* 028BD5B0 */ cpu->ctr = cpu->r[0];
/* 028BD5B4 */ _t5 = cpu->r[3] + 0x00000000u;
/* 028BD5B4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
/* 028BD5B8 */ goto L_028BD5E0;
L_028BD5BC: ; // 0x28bd5bc
/* 028BD5BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
/* 028BD5C0 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD5C0 */ _t7 = _t6 & 0x00000001u;
/* 028BD5C0 */ if (_t7) goto L_028BD5C4; else goto L_028BD5C8;
L_028BD5C4: ; // 0x28bd5c4
/* 028BD5C4 */ cpu->f[11] = cpu->f[13];
L_028BD5C8: ; // 0x28bd5c8
/* 028BD5C8 */ cpu->r[0] = 0x00000004u;
/* 028BD5CC */ _t8 = cpu->r[3] + 0x00000000u;
/* 028BD5CC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
/* 028BD5D0 */ cpu->f[12] = cpu->f[13];
/* 028BD5D4 */ cpu->ctr = cpu->r[0];
/* 028BD5D8 */ cpu->f[11] = cpu->f[0];
/* 028BD5DC */ cpu->r[11] = cpu->r[3] + 0x00000018u;
L_028BD5E0: ; // 0x28bd5e0
/* 028BD5E0 */ _t9 = cpu->r[11] + 0x00000004u;
/* 028BD5E0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t9);
/* 028BD5E0 */ cpu->r[11] = _t9;
/* 028BD5E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
/* 028BD5E8 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD5E8 */ _t11 = _t10 & 0x00000001u;
/* 028BD5E8 */ if (_t11) goto L_028BD5EC; else goto L_028BD5F8;
L_028BD5EC: ; // 0x28bd5ec
/* 028BD5EC */ _t12 = cpu->r[11] + 0x00000000u;
/* 028BD5EC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[11]);
/* 028BD5F0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD5F0 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD5F0 */ _t14 = _t13 >> (0x00000002u & 31u);
/* 028BD5F0 */ _t15 = _t14 & 0x00000001u;
/* 028BD5F0 */ if (_t15) goto L_028BD5E0; else goto L_028BD5F4;
L_028BD5F4: ; // 0x28bd5f4
/* 028BD5F4 */ goto L_028BD60C;
L_028BD5F8: ; // 0x28bd5f8
/* 028BD5F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028BD5FC */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD5FC */ _t17 = _t16 & 0x00000001u;
/* 028BD5FC */ if (_t17) goto L_028BD600; else goto L_028BD604;
L_028BD600: ; // 0x28bd600
/* 028BD600 */ cpu->f[10] = cpu->f[12];
L_028BD604: ; // 0x28bd604
/* 028BD604 */ _t18 = cpu->r[11] + 0x00000000u;
/* 028BD604 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
/* 028BD608 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD608 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD608 */ _t20 = _t19 >> (0x00000002u & 31u);
/* 028BD608 */ _t21 = _t20 & 0x00000001u;
/* 028BD608 */ if (_t21) goto L_028BD5E0; else goto L_028BD60C;
L_028BD60C: ; // 0x28bd60c
/* 028BD60C */ _t22 = cpu->r[3] + 0x0000002Cu;
/* 028BD60C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
/* 028BD610 */ _t23 = cpu->r[3] + 0x00000030u;
/* 028BD610 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
/* 028BD614 */ /* nop */
/* 028BD618 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD61C */ _t24 = cpu->r[3] + 0x00000038u;
/* 028BD61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028BD620 */ _t25 = cpu->r[3] + 0x0000002Cu;
/* 028BD620 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[12]);
/* 028BD624 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD624 */ _t27 = _t26 & 0x00000001u;
/* 028BD624 */ if (_t27) goto L_028BD628; else goto L_028BD63C;
L_028BD628: ; // 0x28bd628
/* 028BD628 */ _t28 = cpu->r[3] + 0x00000030u;
/* 028BD628 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
/* 028BD62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BD630 */ _t29 = cpu->r[3] + 0x00000034u;
/* 028BD630 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
/* 028BD634 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD634 */ _t31 = _t30 & 0x00000001u;
/* 028BD634 */ if (_t31) goto L_028BD660; else goto L_028BD638;
L_028BD638: ; // 0x28bd638
/* 028BD638 */ goto L_028BD664;
L_028BD63C: ; // 0x28bd63c
/* 028BD63C */ cpu->r[12] = 0x10140000u;
/* 028BD640 */ _t32 = cpu->r[12] + 0xFFFF90D4u;
/* 028BD640 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
/* 028BD644 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
/* 028BD648 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD648 */ _t34 = _t33 & 0x00000001u;
/* 028BD648 */ if (_t34) goto L_028BD64C; else goto L_028BD650;
L_028BD64C: ; // 0x28bd64c
/* 028BD64C */ cpu->f[11] = cpu->f[12];
L_028BD650: ; // 0x28bd650
/* 028BD650 */ _t35 = cpu->r[3] + 0x00000030u;
/* 028BD650 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[11]);
/* 028BD654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BD658 */ _t36 = cpu->r[3] + 0x00000034u;
/* 028BD658 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
/* 028BD65C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD65C */ _t38 = _t37 & 0x00000001u;
/* 028BD65C */ if (_t38) goto L_028BD660; else goto L_028BD664;
L_028BD660: ; // 0x28bd660
/* 028BD660 */ cpu->r[0] = 0x00000000u;
L_028BD664: ; // 0x28bd664
/* 028BD664 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 028BD668 */ _t39 = cpu->r[3] + 0x0000003Cu;
/* 028BD668 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
/* 028BD66C */ _t40 = cpu->r[3] + 0x00000038u;
/* 028BD66C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
/* 028BD670 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD670 */ _t42 = _t41 & 0x00000001u;
/* 028BD670 */ if (_t42) goto L_028BD674; else goto L_028BD688;
L_028BD674: ; // 0x28bd674
/* 028BD674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD678 */ _t43 = cpu->r[3] + 0x00000044u;
/* 028BD678 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
/* 028BD67C */ _t44 = cpu->r[3] + 0x00000034u;
/* 028BD67C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
/* 028BD680 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD680 */ _t46 = _t45 & 0x00000001u;
/* 028BD680 */ if (_t46) goto L_028BD6A4; else goto L_028BD684;
L_028BD684: ; // 0x28bd684
/* 028BD684 */ goto L_028BD6B4;
L_028BD688: ; // 0x28bd688
/* 028BD688 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
/* 028BD68C */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD68C */ _t48 = _t47 & 0x00000001u;
/* 028BD68C */ if (_t48) goto L_028BD690; else goto L_028BD694;
L_028BD690: ; // 0x28bd690
/* 028BD690 */ cpu->f[12] = cpu->f[13];
L_028BD694: ; // 0x28bd694
/* 028BD694 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD698 */ _t49 = cpu->r[3] + 0x00000034u;
/* 028BD698 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
/* 028BD69C */ _t50 = cpu->r[3] + 0x00000044u;
/* 028BD69C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t50);
/* 028BD6A0 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD6A0 */ _t52 = _t51 & 0x00000001u;
/* 028BD6A0 */ if (_t52) goto L_028BD6A4; else goto L_028BD6B4;
L_028BD6A4: ; // 0x28bd6a4
/* 028BD6A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 028BD6A8 */ _t53 = cpu->r[3] + 0x0000003Cu;
/* 028BD6A8 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
/* 028BD6AC */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD6AC */ _t55 = _t54 & 0x00000001u;
/* 028BD6AC */ if (_t55) goto L_028BD6CC; else goto L_028BD6B0;
L_028BD6B0: ; // 0x28bd6b0
/* 028BD6B0 */ goto L_028BD6D4;
L_028BD6B4: ; // 0x28bd6b4
/* 028BD6B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
/* 028BD6B8 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD6B8 */ _t57 = _t56 & 0x00000001u;
/* 028BD6B8 */ if (_t57) goto L_028BD6BC; else goto L_028BD6C0;
L_028BD6BC: ; // 0x28bd6bc
/* 028BD6BC */ cpu->f[11] = cpu->f[13];
L_028BD6C0: ; // 0x28bd6c0
/* 028BD6C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 028BD6C4 */ _t58 = cpu->r[3] + 0x0000003Cu;
/* 028BD6C4 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[11]);
/* 028BD6C8 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD6C8 */ _t60 = _t59 & 0x00000001u;
/* 028BD6C8 */ if (_t60) goto L_028BD6CC; else goto L_028BD6D4;
L_028BD6CC: ; // 0x28bd6cc
/* 028BD6CC */ _t61 = cpu->r[3] + 0x00000044u;
/* 028BD6CC */ rbrew_write_f32(cpu->mem, _t61, cpu->f[0]);
/* 028BD6D0 */ return;
L_028BD6D4: ; // 0x28bd6d4
/* 028BD6D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
/* 028BD6D8 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BD6D8 */ _t63 = _t62 & 0x00000001u;
/* 028BD6D8 */ if (_t63) goto L_028BD6DC; else goto L_028BD6E0;
L_028BD6DC: ; // 0x28bd6dc
/* 028BD6DC */ cpu->f[12] = cpu->f[13];
L_028BD6E0: ; // 0x28bd6e0
/* 028BD6E0 */ _t64 = cpu->r[3] + 0x00000044u;
/* 028BD6E0 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
/* 028BD6E4 */ return;
}
// fn_028BD6E8 @ 0x28bd6e8
void Gambit_fn_028BD6E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
L_028BD6E8: ; // 0x28bd6e8
/* 028BD6E8 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028BD6E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
/* 028BD6EC */ cpu->r[8] = 0x10140000u;
/* 028BD6F0 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028BD6F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
/* 028BD6F4 */ cpu->r[0] = 0x00000006u;
/* 028BD6F8 */ _t2 = cpu->r[8] + 0xFFFF90B4u;
/* 028BD6F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028BD6FC */ cpu->f[13] = cpu->f[13] * cpu->f[11];
/* 028BD700 */ cpu->r[8] = 0x00000000u;
/* 028BD704 */ cpu->ctr = cpu->r[0];
/* 028BD708 */ cpu->f[11] = cpu->f[0];
/* 028BD70C */ cpu->r[11] = cpu->r[4] + 0x00000004u;
/* 028BD710 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028BD710 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[13]);
L_028BD714: ; // 0x28bd714
/* 028BD714 */ _t4 = cpu->r[11] + cpu->r[8];
/* 028BD714 */ cpu->r[13] = rbrew_read32(cpu->mem, _t4);
/* 028BD718 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
/* 028BD71C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD71C */ _t6 = _t5 & 0x00000001u;
/* 028BD71C */ if (_t6) goto L_028BD748; else goto L_028BD720;
L_028BD720: ; // 0x28bd720
/* 028BD720 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
/* 028BD724 */ _t7 = cpu->r[12] + cpu->r[8];
/* 028BD724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BD728 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[11]);
/* 028BD72C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD72C */ _t9 = _t8 & 0x00000001u;
/* 028BD72C */ if (_t9) goto L_028BD730; else goto L_028BD740;
L_028BD730: ; // 0x28bd730
/* 028BD730 */ _t10 = cpu->r[12] + cpu->r[8];
/* 028BD730 */ rbrew_write32(cpu->mem, _t10, cpu->r[13]);
/* 028BD734 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028BD738 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD738 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD738 */ _t12 = _t11 >> (0x00000002u & 31u);
/* 028BD738 */ _t13 = _t12 & 0x00000001u;
/* 028BD738 */ if (_t13) goto L_028BD714; else goto L_028BD73C;
L_028BD73C: ; // 0x28bd73c
/* 028BD73C */ goto L_028BD750;
L_028BD740: ; // 0x28bd740
/* 028BD740 */ cpu->f[12] = cpu->f[12] * cpu->f[13];
/* 028BD744 */ _t14 = cpu->r[12] + cpu->r[8];
/* 028BD744 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
L_028BD748: ; // 0x28bd748
/* 028BD748 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028BD74C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD74C */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD74C */ _t16 = _t15 >> (0x00000002u & 31u);
/* 028BD74C */ _t17 = _t16 & 0x00000001u;
/* 028BD74C */ if (_t17) goto L_028BD714; else goto L_028BD750;
L_028BD750: ; // 0x28bd750
/* 028BD750 */ cpu->r[10] = 0x00000004u;
/* 028BD754 */ cpu->r[9] = cpu->r[4] + 0x0000001Cu;
/* 028BD758 */ cpu->ctr = cpu->r[10];
/* 028BD75C */ cpu->r[12] = 0x00000000u;
L_028BD760: ; // 0x28bd760
/* 028BD760 */ _t18 = cpu->r[9] + cpu->r[12];
/* 028BD760 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028BD764 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
/* 028BD768 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD768 */ _t20 = _t19 & 0x00000001u;
/* 028BD768 */ if (_t20) goto L_028BD794; else goto L_028BD76C;
L_028BD76C: ; // 0x28bd76c
/* 028BD76C */ cpu->r[11] = cpu->r[3] + 0x0000001Cu;
/* 028BD770 */ _t21 = cpu->r[11] + cpu->r[12];
/* 028BD770 */ cpu->r[13] = rbrew_read32(cpu->mem, _t21);
/* 028BD774 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028BD778 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD778 */ _t23 = _t22 & 0x00000001u;
/* 028BD778 */ if (_t23) goto L_028BD77C; else goto L_028BD78C;
L_028BD77C: ; // 0x28bd77c
/* 028BD77C */ _t24 = cpu->r[11] + cpu->r[12];
/* 028BD77C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028BD780 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
/* 028BD784 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD784 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD784 */ _t26 = _t25 >> (0x00000002u & 31u);
/* 028BD784 */ _t27 = _t26 & 0x00000001u;
/* 028BD784 */ if (_t27) goto L_028BD760; else goto L_028BD788;
L_028BD788: ; // 0x28bd788
/* 028BD788 */ goto L_028BD79C;
L_028BD78C: ; // 0x28bd78c
/* 028BD78C */ cpu->f[13] = cpu->f[13] * cpu->f[11];
/* 028BD790 */ _t28 = cpu->r[11] + cpu->r[12];
/* 028BD790 */ rbrew_write32(cpu->mem, _t28, cpu->r[13]);
L_028BD794: ; // 0x28bd794
/* 028BD794 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
/* 028BD798 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD798 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD798 */ _t30 = _t29 >> (0x00000002u & 31u);
/* 028BD798 */ _t31 = _t30 & 0x00000001u;
/* 028BD798 */ if (_t31) goto L_028BD760; else goto L_028BD79C;
L_028BD79C: ; // 0x28bd79c
/* 028BD79C */ _t32 = cpu->r[3] + 0x0000002Cu;
/* 028BD79C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
/* 028BD7A0 */ _t33 = cpu->r[4] + 0x0000002Cu;
/* 028BD7A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
/* 028BD7A4 */ cpu->f[11] = cpu->f[11] * cpu->f[12];
/* 028BD7A8 */ _t34 = cpu->r[3] + 0x00000030u;
/* 028BD7A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
/* 028BD7AC */ _t35 = cpu->r[3] + 0x0000002Cu;
/* 028BD7AC */ rbrew_write_f32(cpu->mem, _t35, cpu->f[11]);
/* 028BD7B0 */ _t36 = cpu->r[4] + 0x00000030u;
/* 028BD7B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 028BD7B4 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028BD7B8 */ _t37 = cpu->r[3] + 0x00000034u;
/* 028BD7B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
/* 028BD7BC */ _t38 = cpu->r[3] + 0x00000030u;
/* 028BD7BC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
/* 028BD7C0 */ _t39 = cpu->r[4] + 0x00000034u;
/* 028BD7C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t39);
/* 028BD7C4 */ cpu->f[11] = cpu->f[11] + cpu->f[12];
/* 028BD7C8 */ _t40 = cpu->r[3] + 0x00000034u;
/* 028BD7C8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
/* 028BD7CC */ _t41 = cpu->r[4] + 0x00000038u;
/* 028BD7CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
/* 028BD7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BD7D4 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD7D4 */ _t43 = _t42 & 0x00000001u;
/* 028BD7D4 */ if (_t43) goto L_028BD7FC; else goto L_028BD7D8;
L_028BD7D8: ; // 0x28bd7d8
/* 028BD7D8 */ _t44 = cpu->r[3] + 0x00000038u;
/* 028BD7D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
/* 028BD7DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
/* 028BD7E0 */ _t45 = cpu->r[4] + 0x0000003Cu;
/* 028BD7E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
/* 028BD7E4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD7E4 */ _t47 = _t46 & 0x00000001u;
/* 028BD7E4 */ if (_t47) goto L_028BD7E8; else goto L_028BD7F0;
L_028BD7E8: ; // 0x28bd7e8
/* 028BD7E8 */ _t48 = cpu->r[3] + 0x0000003Cu;
/* 028BD7E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t48);
/* 028BD7EC */ cpu->f[0] = cpu->f[13] + cpu->f[0];
L_028BD7F0: ; // 0x28bd7f0
/* 028BD7F0 */ _t49 = cpu->r[3] + 0x0000003Cu;
/* 028BD7F0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
/* 028BD7F4 */ _t50 = cpu->r[4] + 0x00000038u;
/* 028BD7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028BD7F8 */ _t51 = cpu->r[3] + 0x00000038u;
/* 028BD7F8 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
L_028BD7FC: ; // 0x28bd7fc
/* 028BD7FC */ _t52 = cpu->r[4] + 0x00000040u;
/* 028BD7FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
/* 028BD800 */ _t53 = cpu->r[3] + 0x00000040u;
/* 028BD800 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
/* 028BD804 */ cpu->r[9] = cpu->r[9] + cpu->r[0];
/* 028BD808 */ _t54 = cpu->r[3] + 0x00000040u;
/* 028BD808 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
/* 028BD80C */ _t55 = cpu->r[4] + 0x00000044u;
/* 028BD80C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
/* 028BD810 */ _t56 = cpu->r[3] + 0x00000044u;
/* 028BD810 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
/* 028BD814 */ cpu->f[11] = cpu->f[11] + cpu->f[12];
/* 028BD818 */ _t57 = cpu->r[3] + 0x00000044u;
/* 028BD818 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[11]);
/* 028BD81C */ return;
}
// fn_028BD820 @ 0x28bd820
void Gambit_fn_028BD820(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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;
L_028BD820: ; // 0x28bd820
/* 028BD820 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028BD820 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
/* 028BD824 */ cpu->r[6] = 0x10140000u;
/* 028BD828 */ cpu->r[8] = 0x00000000u;
/* 028BD82C */ _t1 = cpu->r[5] + 0x00000000u;
/* 028BD82C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
/* 028BD830 */ cpu->r[0] = 0x00000006u;
/* 028BD834 */ cpu->r[11] = cpu->r[4] + 0x00000004u;
/* 028BD838 */ _t2 = cpu->r[6] + 0xFFFF90B4u;
/* 028BD838 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028BD83C */ cpu->f[10] = cpu->f[11] * cpu->f[12];
/* 028BD840 */ cpu->ctr = cpu->r[0];
/* 028BD844 */ cpu->r[10] = cpu->r[5] + 0x00000004u;
/* 028BD848 */ cpu->f[12] = cpu->f[13];
/* 028BD84C */ cpu->r[9] = cpu->r[3] + 0x00000004u;
/* 028BD850 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028BD850 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[10]);
L_028BD854: ; // 0x28bd854
/* 028BD854 */ _t4 = cpu->r[10] + cpu->r[8];
/* 028BD854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028BD858 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028BD85C */ _t5 = cpu->r[11] + cpu->r[8];
/* 028BD85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BD860 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD860 */ _t7 = _t6 & 0x00000001u;
/* 028BD860 */ if (_t7) goto L_028BD880; else goto L_028BD864;
L_028BD864: ; // 0x28bd864
/* 028BD864 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028BD868 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD868 */ _t9 = _t8 & 0x00000001u;
/* 028BD868 */ if (_t9) goto L_028BD86C; else goto L_028BD87C;
L_028BD86C: ; // 0x28bd86c
/* 028BD86C */ _t10 = cpu->r[9] + cpu->r[8];
/* 028BD86C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
/* 028BD870 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028BD874 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD874 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD874 */ _t12 = _t11 >> (0x00000002u & 31u);
/* 028BD874 */ _t13 = _t12 & 0x00000001u;
/* 028BD874 */ if (_t13) goto L_028BD854; else goto L_028BD878;
L_028BD878: ; // 0x28bd878
/* 028BD878 */ goto L_028BD88C;
L_028BD87C: ; // 0x28bd87c
/* 028BD87C */ cpu->f[0] = cpu->f[0] * cpu->f[10];
L_028BD880: ; // 0x28bd880
/* 028BD880 */ _t14 = cpu->r[9] + cpu->r[8];
/* 028BD880 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028BD884 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028BD888 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD888 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD888 */ _t16 = _t15 >> (0x00000002u & 31u);
/* 028BD888 */ _t17 = _t16 & 0x00000001u;
/* 028BD888 */ if (_t17) goto L_028BD854; else goto L_028BD88C;
L_028BD88C: ; // 0x28bd88c
/* 028BD88C */ cpu->r[10] = 0x00000004u;
/* 028BD890 */ cpu->r[6] = cpu->r[4] + 0x0000001Cu;
/* 028BD894 */ cpu->r[12] = cpu->r[5] + 0x0000001Cu;
/* 028BD898 */ cpu->ctr = cpu->r[10];
/* 028BD89C */ cpu->r[11] = cpu->r[3] + 0x0000001Cu;
/* 028BD8A0 */ cpu->r[7] = 0x00000000u;
L_028BD8A4: ; // 0x28bd8a4
/* 028BD8A4 */ _t18 = cpu->r[12] + cpu->r[7];
/* 028BD8A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028BD8A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
/* 028BD8AC */ _t19 = cpu->r[6] + cpu->r[7];
/* 028BD8AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028BD8B0 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD8B0 */ _t21 = _t20 & 0x00000001u;
/* 028BD8B0 */ if (_t21) goto L_028BD8D0; else goto L_028BD8B4;
L_028BD8B4: ; // 0x28bd8b4
/* 028BD8B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
/* 028BD8B8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD8B8 */ _t23 = _t22 & 0x00000001u;
/* 028BD8B8 */ if (_t23) goto L_028BD8BC; else goto L_028BD8CC;
L_028BD8BC: ; // 0x28bd8bc
/* 028BD8BC */ _t24 = cpu->r[11] + cpu->r[7];
/* 028BD8BC */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
/* 028BD8C0 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028BD8C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD8C4 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD8C4 */ _t26 = _t25 >> (0x00000002u & 31u);
/* 028BD8C4 */ _t27 = _t26 & 0x00000001u;
/* 028BD8C4 */ if (_t27) goto L_028BD8A4; else goto L_028BD8C8;
L_028BD8C8: ; // 0x28bd8c8
/* 028BD8C8 */ goto L_028BD8DC;
L_028BD8CC: ; // 0x28bd8cc
/* 028BD8CC */ cpu->f[11] = cpu->f[11] * cpu->f[12];
L_028BD8D0: ; // 0x28bd8d0
/* 028BD8D0 */ _t28 = cpu->r[11] + cpu->r[7];
/* 028BD8D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
/* 028BD8D4 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028BD8D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BD8D8 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BD8D8 */ _t30 = _t29 >> (0x00000002u & 31u);
/* 028BD8D8 */ _t31 = _t30 & 0x00000001u;
/* 028BD8D8 */ if (_t31) goto L_028BD8A4; else goto L_028BD8DC;
L_028BD8DC: ; // 0x28bd8dc
/* 028BD8DC */ _t32 = cpu->r[4] + 0x0000002Cu;
/* 028BD8DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
/* 028BD8E0 */ _t33 = cpu->r[5] + 0x0000002Cu;
/* 028BD8E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
/* 028BD8E4 */ cpu->f[0] = cpu->f[10] * cpu->f[11];
/* 028BD8E8 */ _t34 = cpu->r[3] + 0x0000002Cu;
/* 028BD8E8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
/* 028BD8EC */ _t35 = cpu->r[4] + 0x00000030u;
/* 028BD8EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
/* 028BD8F0 */ _t36 = cpu->r[5] + 0x00000030u;
/* 028BD8F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 028BD8F4 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
/* 028BD8F8 */ _t37 = cpu->r[3] + 0x00000030u;
/* 028BD8F8 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
/* 028BD8FC */ _t38 = cpu->r[4] + 0x00000034u;
/* 028BD8FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
/* 028BD900 */ _t39 = cpu->r[5] + 0x00000034u;
/* 028BD900 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t39);
/* 028BD904 */ cpu->f[10] = cpu->f[11] + cpu->f[10];
/* 028BD908 */ _t40 = cpu->r[3] + 0x00000034u;
/* 028BD908 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[10]);
/* 028BD90C */ _t41 = cpu->r[5] + 0x00000038u;
/* 028BD90C */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
/* 028BD910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BD914 */ _t42 = cpu->r[4] + 0x00000038u;
/* 028BD914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
/* 028BD918 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BD918 */ _t44 = _t43 & 0x00000001u;
/* 028BD918 */ if (_t44) goto L_028BD960; else goto L_028BD91C;
L_028BD91C: ; // 0x28bd91c
/* 028BD91C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
/* 028BD920 */ _t45 = cpu->r[5] + 0x0000003Cu;
/* 028BD920 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
/* 028BD924 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD924 */ _t47 = _t46 & 0x00000001u;
/* 028BD924 */ if (_t47) goto L_028BD928; else goto L_028BD930;
L_028BD928: ; // 0x28bd928
/* 028BD928 */ _t48 = cpu->r[4] + 0x0000003Cu;
/* 028BD928 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t48);
/* 028BD92C */ cpu->f[0] = cpu->f[11] + cpu->f[0];
L_028BD930: ; // 0x28bd930
/* 028BD930 */ _t49 = cpu->r[3] + 0x0000003Cu;
/* 028BD930 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
/* 028BD934 */ _t50 = cpu->r[5] + 0x00000038u;
/* 028BD934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028BD938 */ _t51 = cpu->r[3] + 0x00000038u;
/* 028BD938 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
/* 028BD93C */ _t52 = cpu->r[5] + 0x00000040u;
/* 028BD93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
/* 028BD940 */ _t53 = cpu->r[4] + 0x00000040u;
/* 028BD940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
/* 028BD944 */ cpu->r[10] = cpu->r[12] + cpu->r[0];
/* 028BD948 */ _t54 = cpu->r[3] + 0x00000040u;
/* 028BD948 */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
/* 028BD94C */ _t55 = cpu->r[4] + 0x00000044u;
/* 028BD94C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55);
/* 028BD950 */ _t56 = cpu->r[5] + 0x00000044u;
/* 028BD950 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
/* 028BD954 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028BD958 */ _t57 = cpu->r[3] + 0x00000044u;
/* 028BD958 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[13]);
/* 028BD95C */ return;
L_028BD960: ; // 0x28bd960
/* 028BD960 */ _t58 = cpu->r[3] + 0x00000038u;
/* 028BD960 */ rbrew_write32(cpu->mem, _t58, cpu->r[7]);
/* 028BD964 */ _t59 = cpu->r[4] + 0x0000003Cu;
/* 028BD964 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t59);
/* 028BD968 */ _t60 = cpu->r[3] + 0x0000003Cu;
/* 028BD968 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[12]);
/* 028BD96C */ _t61 = cpu->r[5] + 0x00000040u;
/* 028BD96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028BD970 */ _t62 = cpu->r[4] + 0x00000040u;
/* 028BD970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
/* 028BD974 */ cpu->r[10] = cpu->r[12] + cpu->r[0];
/* 028BD978 */ _t63 = cpu->r[3] + 0x00000040u;
/* 028BD978 */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
/* 028BD97C */ _t64 = cpu->r[4] + 0x00000044u;
/* 028BD97C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64);
/* 028BD980 */ _t65 = cpu->r[5] + 0x00000044u;
/* 028BD980 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65);
/* 028BD984 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028BD988 */ _t66 = cpu->r[3] + 0x00000044u;
/* 028BD988 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
/* 028BD98C */ return;
}
// fn_028BD990 @ 0x28bd990
void Gambit_fn_028BD990(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028BD990: ; // 0x28bd990
/* 028BD990 */ _t0 = cpu->r[3] + 0x00000134u;
/* 028BD990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BD994 */ _t1 = cpu->r[12] + 0x00000000u;
/* 028BD994 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028BD998 */ _t2 = cpu->r[12] + 0x0000001Cu;
/* 028BD998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
/* 028BD99C */ return;
}
// fn_028BD9A0 @ 0x28bd9a0
void Gambit_fn_028BD9A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BD9A0: ; // 0x28bd9a0
/* 028BD9A0 */ cpu->r[0] = cpu->lr;
/* 028BD9A4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BD9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BD9A8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BD9A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BD9A8 */ cpu->r[1] = _t1;
/* 028BD9AC */ Gambit_fn_028BD990(cpu);
/* 028BD9B0 */ cpu->r[0] = 0x101F0000u;
/* 028BD9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BD9B8 */ cpu->r[0] = cpu->r[0] + 0x000066E8u;
/* 028BD9BC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD9BC */ _t3 = _t2 & 0x00000001u;
/* 028BD9BC */ if (_t3) goto L_028BD9C4; else goto L_028BD9C0;
L_028BD9C0: ; // 0x28bd9c0
/* 028BD9C0 */ cpu->r[0] = cpu->r[3];
L_028BD9C4: ; // 0x28bd9c4
/* 028BD9C4 */ cpu->r[3] = cpu->r[0];
/* 028BD9C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BD9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BD9CC */ cpu->lr = cpu->r[0];
/* 028BD9D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BD9D4 */ return;
}
// fn_028BD9A8 @ 0x28bd9a8
void Gambit_fn_028BD9A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028BD9A8: ; // 0x28bd9a8
/* 028BD9A8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BD9A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD9A8 */ cpu->r[1] = _t0;
/* 028BD9AC */ Gambit_fn_028BD990(cpu);
/* 028BD9B0 */ cpu->r[0] = 0x101F0000u;
/* 028BD9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BD9B8 */ cpu->r[0] = cpu->r[0] + 0x000066E8u;
/* 028BD9BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD9BC */ _t2 = _t1 & 0x00000001u;
/* 028BD9BC */ if (_t2) goto L_028BD9C4; else goto L_028BD9C0;
L_028BD9C0: ; // 0x28bd9c0
/* 028BD9C0 */ cpu->r[0] = cpu->r[3];
L_028BD9C4: ; // 0x28bd9c4
/* 028BD9C4 */ cpu->r[3] = cpu->r[0];
/* 028BD9C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BD9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BD9CC */ cpu->lr = cpu->r[0];
/* 028BD9D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BD9D4 */ return;
}
// fn_028BD9D8 @ 0x28bd9d8
void Gambit_fn_028BD9D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028BD9D8: ; // 0x28bd9d8
/* 028BD9D8 */ cpu->r[0] = cpu->lr;
/* 028BD9DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BD9DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD9DC */ cpu->r[1] = _t0;
/* 028BD9E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BD9E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BD9E4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BD9E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BD9E8 */ cpu->r[31] = cpu->r[3];
/* 028BD9EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BD9EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BD9F0 */ _t4 = cpu->r[31] + 0x000001A4u;
/* 028BD9F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
/* 028BD9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028BD9F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD9F8 */ _t6 = _t5 & 0x00000001u;
/* 028BD9F8 */ if (_t6) goto L_028BDA3C; else goto L_028BD9FC;
L_028BD9FC: ; // 0x28bd9fc
/* 028BD9FC */ cpu->r[30] = 0x101D0000u;
/* 028BDA00 */ cpu->r[3] = cpu->r[31];
/* 028BDA04 */ Gambit_fn_028BD9A0(cpu);
/* 028BDA08 */ _t7 = cpu->r[30] + 0xFFFF9AE0u;
/* 028BDA08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028BDA0C */ cpu->r[4] = cpu->r[3];
/* 028BDA10 */ _t8 = cpu->r[11] + 0x00000040u;
/* 028BDA10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028BDA14 */ Gambit_fn_028DEC84(cpu);
/* 028BDA18 */ cpu->r[3] = cpu->r[31];
/* 028BDA1C */ Gambit_fn_028BD9A0(cpu);
/* 028BDA20 */ _t9 = cpu->r[30] + 0xFFFF9AE0u;
/* 028BDA20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BDA24 */ _t10 = cpu->r[31] + 0x000001A4u;
/* 028BDA24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028BDA28 */ cpu->r[4] = cpu->r[3];
/* 028BDA2C */ _t11 = cpu->r[12] + 0x00000040u;
/* 028BDA2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028BDA30 */ Gambit_fn_028DEAE4(cpu);
/* 028BDA34 */ cpu->r[0] = 0x00000000u;
/* 028BDA38 */ _t12 = cpu->r[31] + 0x000001A4u;
/* 028BDA38 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028BDA3C: ; // 0x28bda3c
/* 028BDA3C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BDA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BDA40 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028BDA40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028BDA44 */ cpu->lr = cpu->r[0];
/* 028BDA48 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028BDA48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028BDA4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDA50 */ return;
}
// fn_028BD9DC @ 0x28bd9dc
void Gambit_fn_028BD9DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028BD9DC: ; // 0x28bd9dc
/* 028BD9DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BD9DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BD9DC */ cpu->r[1] = _t0;
/* 028BD9E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BD9E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BD9E4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BD9E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BD9E8 */ cpu->r[31] = cpu->r[3];
/* 028BD9EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BD9EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BD9F0 */ _t4 = cpu->r[31] + 0x000001A4u;
/* 028BD9F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
/* 028BD9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028BD9F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BD9F8 */ _t6 = _t5 & 0x00000001u;
/* 028BD9F8 */ if (_t6) goto L_028BDA3C; else goto L_028BD9FC;
L_028BD9FC: ; // 0x28bd9fc
/* 028BD9FC */ cpu->r[30] = 0x101D0000u;
/* 028BDA00 */ cpu->r[3] = cpu->r[31];
/* 028BDA04 */ Gambit_fn_028BD9A0(cpu);
/* 028BDA08 */ _t7 = cpu->r[30] + 0xFFFF9AE0u;
/* 028BDA08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028BDA0C */ cpu->r[4] = cpu->r[3];
/* 028BDA10 */ _t8 = cpu->r[11] + 0x00000040u;
/* 028BDA10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028BDA14 */ Gambit_fn_028DEC84(cpu);
/* 028BDA18 */ cpu->r[3] = cpu->r[31];
/* 028BDA1C */ Gambit_fn_028BD9A0(cpu);
/* 028BDA20 */ _t9 = cpu->r[30] + 0xFFFF9AE0u;
/* 028BDA20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BDA24 */ _t10 = cpu->r[31] + 0x000001A4u;
/* 028BDA24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028BDA28 */ cpu->r[4] = cpu->r[3];
/* 028BDA2C */ _t11 = cpu->r[12] + 0x00000040u;
/* 028BDA2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028BDA30 */ Gambit_fn_028DEAE4(cpu);
/* 028BDA34 */ cpu->r[0] = 0x00000000u;
/* 028BDA38 */ _t12 = cpu->r[31] + 0x000001A4u;
/* 028BDA38 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028BDA3C: ; // 0x28bda3c
/* 028BDA3C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BDA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BDA40 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028BDA40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028BDA44 */ cpu->lr = cpu->r[0];
/* 028BDA48 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028BDA48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028BDA4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDA50 */ return;
}
// fn_028BDA54 @ 0x28bda54
void Gambit_fn_028BDA54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BDA54: ; // 0x28bda54
/* 028BDA54 */ cpu->r[0] = cpu->lr;
/* 028BDA58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDA58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDA58 */ cpu->r[1] = _t0;
/* 028BDA5C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDA5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDA60 */ cpu->r[31] = cpu->r[3];
/* 028BDA64 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BDA64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BDA68 */ _t3 = cpu->r[31] + 0x0000012Cu;
/* 028BDA68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BDA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDA70 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDA70 */ _t5 = _t4 & 0x00000001u;
/* 028BDA70 */ if (_t5) goto L_028BDA9C; else goto L_028BDA74;
L_028BDA74: ; // 0x28bda74
/* 028BDA74 */ _t6 = cpu->r[31] + 0x000001D8u;
/* 028BDA74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BDA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BDA7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDA7C */ _t8 = _t7 & 0x00000001u;
/* 028BDA7C */ if (_t8) goto L_028BDA80; else goto L_028BDA8C;
L_028BDA80: ; // 0x28bda80
/* 028BDA80 */ _t9 = cpu->r[31] + 0x000001D4u;
/* 028BDA80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028BDA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BDA88 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDA88 */ _t11 = _t10 & 0x00000001u;
/* 028BDA88 */ if (_t11) goto L_028BDA94; else goto L_028BDA8C;
L_028BDA8C: ; // 0x28bda8c
/* 028BDA8C */ cpu->r[4] = cpu->r[31];
/* 028BDA90 */ Gambit_fn_028BB5AC(cpu);
L_028BDA94: ; // 0x28bda94
/* 028BDA94 */ cpu->r[0] = 0x00000000u;
/* 028BDA98 */ _t12 = cpu->r[31] + 0x0000012Cu;
/* 028BDA98 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028BDA9C: ; // 0x28bda9c
/* 028BDA9C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BDA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BDAA0 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BDAA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BDAA4 */ cpu->lr = cpu->r[0];
/* 028BDAA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDAAC */ return;
}
// fn_028BDA58 @ 0x28bda58
void Gambit_fn_028BDA58(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BDA58: ; // 0x28bda58
/* 028BDA58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDA58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDA58 */ cpu->r[1] = _t0;
/* 028BDA5C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDA5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDA60 */ cpu->r[31] = cpu->r[3];
/* 028BDA64 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BDA64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BDA68 */ _t3 = cpu->r[31] + 0x0000012Cu;
/* 028BDA68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BDA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDA70 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDA70 */ _t5 = _t4 & 0x00000001u;
/* 028BDA70 */ if (_t5) goto L_028BDA9C; else goto L_028BDA74;
L_028BDA74: ; // 0x28bda74
/* 028BDA74 */ _t6 = cpu->r[31] + 0x000001D8u;
/* 028BDA74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BDA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BDA7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDA7C */ _t8 = _t7 & 0x00000001u;
/* 028BDA7C */ if (_t8) goto L_028BDA80; else goto L_028BDA8C;
L_028BDA80: ; // 0x28bda80
/* 028BDA80 */ _t9 = cpu->r[31] + 0x000001D4u;
/* 028BDA80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028BDA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BDA88 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDA88 */ _t11 = _t10 & 0x00000001u;
/* 028BDA88 */ if (_t11) goto L_028BDA94; else goto L_028BDA8C;
L_028BDA8C: ; // 0x28bda8c
/* 028BDA8C */ cpu->r[4] = cpu->r[31];
/* 028BDA90 */ Gambit_fn_028BB5AC(cpu);
L_028BDA94: ; // 0x28bda94
/* 028BDA94 */ cpu->r[0] = 0x00000000u;
/* 028BDA98 */ _t12 = cpu->r[31] + 0x0000012Cu;
/* 028BDA98 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028BDA9C: ; // 0x28bda9c
/* 028BDA9C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BDA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BDAA0 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BDAA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BDAA4 */ cpu->lr = cpu->r[0];
/* 028BDAA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDAAC */ return;
}
// fn_028BDAB0 @ 0x28bdab0
void Gambit_fn_028BDAB0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028BDAB0: ; // 0x28bdab0
/* 028BDAB0 */ cpu->r[0] = cpu->lr;
/* 028BDAB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDAB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDAB4 */ cpu->r[1] = _t0;
/* 028BDAB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDAB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDABC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BDABC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BDAC0 */ _t3 = cpu->r[4] + 0x00000000u;
/* 028BDAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BDAC4 */ cpu->r[31] = cpu->r[3];
/* 028BDAC8 */ _t4 = cpu->r[31] + 0x00000004u;
/* 028BDAC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BDACC */ Gambit_fn_028C2A3C(cpu);
/* 028BDAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDAD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDAD4 */ _t6 = _t5 & 0x00000001u;
/* 028BDAD4 */ if (_t6) goto L_028BDAF0; else goto L_028BDAD8;
L_028BDAD8: ; // 0x28bdad8
/* 028BDAD8 */ cpu->r[12] = 0x101F0000u;
/* 028BDADC */ _t7 = cpu->r[12] + 0x000071B0u;
/* 028BDADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BDAE0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BDAE4 */ cpu->r[4] = cpu->r[31];
/* 028BDAE8 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028BDAE8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028BDAEC */ Gambit_fn_028CD4D4(cpu);
L_028BDAF0: ; // 0x28bdaf0
/* 028BDAF0 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BDAF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BDAF4 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BDAF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028BDAF8 */ cpu->lr = cpu->r[0];
/* 028BDAFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDB00 */ return;
}
// fn_028BDAB4 @ 0x28bdab4
void Gambit_fn_028BDAB4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028BDAB4: ; // 0x28bdab4
/* 028BDAB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDAB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDAB4 */ cpu->r[1] = _t0;
/* 028BDAB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDAB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDABC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BDABC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BDAC0 */ _t3 = cpu->r[4] + 0x00000000u;
/* 028BDAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BDAC4 */ cpu->r[31] = cpu->r[3];
/* 028BDAC8 */ _t4 = cpu->r[31] + 0x00000004u;
/* 028BDAC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BDACC */ Gambit_fn_028C2A3C(cpu);
/* 028BDAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDAD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDAD4 */ _t6 = _t5 & 0x00000001u;
/* 028BDAD4 */ if (_t6) goto L_028BDAF0; else goto L_028BDAD8;
L_028BDAD8: ; // 0x28bdad8
/* 028BDAD8 */ cpu->r[12] = 0x101F0000u;
/* 028BDADC */ _t7 = cpu->r[12] + 0x000071B0u;
/* 028BDADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BDAE0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BDAE4 */ cpu->r[4] = cpu->r[31];
/* 028BDAE8 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028BDAE8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028BDAEC */ Gambit_fn_028CD4D4(cpu);
L_028BDAF0: ; // 0x28bdaf0
/* 028BDAF0 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BDAF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BDAF4 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BDAF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028BDAF8 */ cpu->lr = cpu->r[0];
/* 028BDAFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDB00 */ return;
}
// fn_028BDB04 @ 0x28bdb04
void Gambit_fn_028BDB04(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BDB04: ; // 0x28bdb04
/* 028BDB04 */ cpu->r[0] = cpu->lr;
/* 028BDB08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDB08 */ cpu->r[1] = _t0;
/* 028BDB0C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDB0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDB10 */ cpu->r[31] = cpu->r[3];
/* 028BDB14 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BDB14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BDB18 */ _t3 = cpu->r[31] + 0x00000134u;
/* 028BDB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BDB1C */ Gambit_fn_028E9FDC(cpu);
/* 028BDB20 */ cpu->r[3] = cpu->r[31];
/* 028BDB24 */ Gambit_fn_028BDA54(cpu);
/* 028BDB28 */ cpu->r[0] = 0x00000006u;
/* 028BDB2C */ cpu->r[3] = cpu->r[31];
/* 028BDB30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDB34 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028BDB34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BDB38 */ Gambit_fn_028BDAB0(cpu);
/* 028BDB3C */ _t5 = cpu->r[1] + 0x00000014u;
/* 028BDB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BDB40 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BDB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028BDB44 */ cpu->lr = cpu->r[0];
/* 028BDB48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDB4C */ return;
}
// fn_028BDB08 @ 0x28bdb08
void Gambit_fn_028BDB08(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BDB08: ; // 0x28bdb08
/* 028BDB08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDB08 */ cpu->r[1] = _t0;
/* 028BDB0C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDB0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDB10 */ cpu->r[31] = cpu->r[3];
/* 028BDB14 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BDB14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BDB18 */ _t3 = cpu->r[31] + 0x00000134u;
/* 028BDB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BDB1C */ Gambit_fn_028E9FDC(cpu);
/* 028BDB20 */ cpu->r[3] = cpu->r[31];
/* 028BDB24 */ Gambit_fn_028BDA54(cpu);
/* 028BDB28 */ cpu->r[0] = 0x00000006u;
/* 028BDB2C */ cpu->r[3] = cpu->r[31];
/* 028BDB30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDB34 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028BDB34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BDB38 */ Gambit_fn_028BDAB0(cpu);
/* 028BDB3C */ _t5 = cpu->r[1] + 0x00000014u;
/* 028BDB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BDB40 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BDB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028BDB44 */ cpu->lr = cpu->r[0];
/* 028BDB48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDB4C */ return;
}
// fn_028BDB50 @ 0x28bdb50
void Gambit_fn_028BDB50(CPUState* cpu) {
uint32_t _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_028BDB50: ; // 0x28bdb50
/* 028BDB50 */ cpu->r[0] = cpu->lr;
/* 028BDB54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDB54 */ cpu->r[1] = _t0;
/* 028BDB58 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDB58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDB5C */ cpu->r[31] = cpu->r[3];
/* 028BDB60 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BDB60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BDB64 */ Gambit_fn_028BDA54(cpu);
/* 028BDB68 */ _t3 = cpu->r[31] + 0x00000194u;
/* 028BDB68 */ cpu->r[11] = rbrew_read16(cpu->mem, _t3);
/* 028BDB6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BDB6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BDB70 */ _t4 = cpu->r[31] + 0x00000024u;
/* 028BDB70 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
/* 028BDB74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDB74 */ _t6 = _t5 & 0x00000001u;
/* 028BDB74 */ if (_t6) goto L_028BDBA0; else goto L_028BDB78;
L_028BDB78: ; // 0x28bdb78
/* 028BDB78 */ cpu->f[1] = cpu->f[2];
/* 028BDB7C */ cpu->r[3] = cpu->r[31];
/* 028BDB80 */ Gambit_fn_028BD9D8(cpu);
/* 028BDB84 */ cpu->r[3] = cpu->r[31];
/* 028BDB88 */ Gambit_fn_028BDB04(cpu);
/* 028BDB8C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BDB8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BDB90 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BDB90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BDB94 */ cpu->lr = cpu->r[0];
/* 028BDB98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDB9C */ return;
L_028BDBA0: ; // 0x28bdba0
/* 028BDBA0 */ cpu->r[10] = 0x10140000u;
/* 028BDBA4 */ _t9 = cpu->r[10] + 0xFFFF90F0u;
/* 028BDBA4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028BDBA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[1]);
/* 028BDBAC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDBAC */ _t11 = _t10 & 0x00000001u;
/* 028BDBAC */ if (_t11) goto L_028BDBB0; else goto L_028BDBCC;
L_028BDBB0: ; // 0x28bdbb0
/* 028BDBB0 */ cpu->r[3] = cpu->r[31];
/* 028BDBB4 */ Gambit_fn_028BDB04(cpu);
/* 028BDBB8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028BDBB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BDBBC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BDBBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028BDBC0 */ cpu->lr = cpu->r[0];
/* 028BDBC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDBC8 */ return;
L_028BDBCC: ; // 0x28bdbcc
/* 028BDBCC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[1]);
/* 028BDBD0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDBD0 */ _t15 = _t14 & 0x00000001u;
/* 028BDBD0 */ if (_t15) goto L_028BDBD4; else goto L_028BDBF4;
L_028BDBD4: ; // 0x28bdbd4
/* 028BDBD4 */ _t16 = cpu->r[31] + 0x00000134u;
/* 028BDBD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BDBD8 */ Gambit_fn_028EA454(cpu);
/* 028BDBDC */ cpu->r[12] = 0x00000005u;
/* 028BDBE0 */ cpu->r[3] = cpu->r[31];
/* 028BDBE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDBE8 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028BDBE8 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028BDBEC */ Gambit_fn_028BDAB0(cpu);
/* 028BDBF0 */ goto L_028BDC18;
L_028BDBF4: ; // 0x28bdbf4
/* 028BDBF4 */ _t18 = cpu->r[31] + 0x00000138u;
/* 028BDBF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028BDBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDBFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDBFC */ _t20 = _t19 & 0x00000001u;
/* 028BDBFC */ if (_t20) goto L_028BDC04; else goto L_028BDC00;
L_028BDC00: ; // 0x28bdc00
/* 028BDC00 */ Gambit_fn_028CA1D8(cpu);
L_028BDC04: ; // 0x28bdc04
/* 028BDC04 */ cpu->r[12] = 0x00000005u;
/* 028BDC08 */ cpu->r[3] = cpu->r[31];
/* 028BDC0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDC10 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028BDC10 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
/* 028BDC14 */ Gambit_fn_028BDAB0(cpu);
L_028BDC18: ; // 0x28bdc18
/* 028BDC18 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028BDC18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028BDC1C */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028BDC1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028BDC20 */ cpu->lr = cpu->r[0];
/* 028BDC24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDC28 */ return;
}
// fn_028BDB54 @ 0x28bdb54
void Gambit_fn_028BDB54(CPUState* cpu) {
uint32_t _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_028BDB54: ; // 0x28bdb54
/* 028BDB54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDB54 */ cpu->r[1] = _t0;
/* 028BDB58 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDB58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDB5C */ cpu->r[31] = cpu->r[3];
/* 028BDB60 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BDB60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BDB64 */ Gambit_fn_028BDA54(cpu);
/* 028BDB68 */ _t3 = cpu->r[31] + 0x00000194u;
/* 028BDB68 */ cpu->r[11] = rbrew_read16(cpu->mem, _t3);
/* 028BDB6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BDB6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BDB70 */ _t4 = cpu->r[31] + 0x00000024u;
/* 028BDB70 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
/* 028BDB74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDB74 */ _t6 = _t5 & 0x00000001u;
/* 028BDB74 */ if (_t6) goto L_028BDBA0; else goto L_028BDB78;
L_028BDB78: ; // 0x28bdb78
/* 028BDB78 */ cpu->f[1] = cpu->f[2];
/* 028BDB7C */ cpu->r[3] = cpu->r[31];
/* 028BDB80 */ Gambit_fn_028BD9D8(cpu);
/* 028BDB84 */ cpu->r[3] = cpu->r[31];
/* 028BDB88 */ Gambit_fn_028BDB04(cpu);
/* 028BDB8C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BDB8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BDB90 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BDB90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BDB94 */ cpu->lr = cpu->r[0];
/* 028BDB98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDB9C */ return;
L_028BDBA0: ; // 0x28bdba0
/* 028BDBA0 */ cpu->r[10] = 0x10140000u;
/* 028BDBA4 */ _t9 = cpu->r[10] + 0xFFFF90F0u;
/* 028BDBA4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028BDBA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[1]);
/* 028BDBAC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDBAC */ _t11 = _t10 & 0x00000001u;
/* 028BDBAC */ if (_t11) goto L_028BDBB0; else goto L_028BDBCC;
L_028BDBB0: ; // 0x28bdbb0
/* 028BDBB0 */ cpu->r[3] = cpu->r[31];
/* 028BDBB4 */ Gambit_fn_028BDB04(cpu);
/* 028BDBB8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028BDBB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BDBBC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BDBBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028BDBC0 */ cpu->lr = cpu->r[0];
/* 028BDBC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDBC8 */ return;
L_028BDBCC: ; // 0x28bdbcc
/* 028BDBCC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[1]);
/* 028BDBD0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDBD0 */ _t15 = _t14 & 0x00000001u;
/* 028BDBD0 */ if (_t15) goto L_028BDBD4; else goto L_028BDBF4;
L_028BDBD4: ; // 0x28bdbd4
/* 028BDBD4 */ _t16 = cpu->r[31] + 0x00000134u;
/* 028BDBD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BDBD8 */ Gambit_fn_028EA454(cpu);
/* 028BDBDC */ cpu->r[12] = 0x00000005u;
/* 028BDBE0 */ cpu->r[3] = cpu->r[31];
/* 028BDBE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDBE8 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028BDBE8 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028BDBEC */ Gambit_fn_028BDAB0(cpu);
/* 028BDBF0 */ goto L_028BDC18;
L_028BDBF4: ; // 0x28bdbf4
/* 028BDBF4 */ _t18 = cpu->r[31] + 0x00000138u;
/* 028BDBF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028BDBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDBFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDBFC */ _t20 = _t19 & 0x00000001u;
/* 028BDBFC */ if (_t20) goto L_028BDC04; else goto L_028BDC00;
L_028BDC00: ; // 0x28bdc00
/* 028BDC00 */ Gambit_fn_028CA1D8(cpu);
L_028BDC04: ; // 0x28bdc04
/* 028BDC04 */ cpu->r[12] = 0x00000005u;
/* 028BDC08 */ cpu->r[3] = cpu->r[31];
/* 028BDC0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDC10 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028BDC10 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
/* 028BDC14 */ Gambit_fn_028BDAB0(cpu);
L_028BDC18: ; // 0x28bdc18
/* 028BDC18 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028BDC18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028BDC1C */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028BDC1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028BDC20 */ cpu->lr = cpu->r[0];
/* 028BDC24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDC28 */ return;
}
// fn_028BDC2C @ 0x28bdc2c
void Gambit_fn_028BDC2C(CPUState* cpu) {
uint32_t _t0, _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_028BDC2C: ; // 0x28bdc2c
/* 028BDC2C */ cpu->r[0] = cpu->lr;
/* 028BDC30 */ cpu->r[11] = 0x10140000u;
/* 028BDC34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDC34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDC34 */ cpu->r[1] = _t0;
/* 028BDC38 */ _t1 = cpu->r[11] + 0xFFFF90F0u;
/* 028BDC38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028BDC3C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BDC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BDC40 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BDC44 */ cpu->r[31] = cpu->r[3];
/* 028BDC48 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BDC48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BDC4C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDC4C */ _t5 = _t4 & 0x00000001u;
/* 028BDC4C */ if (_t5) goto L_028BDC50; else goto L_028BDC7C;
L_028BDC50: ; // 0x28bdc50
/* 028BDC50 */ cpu->r[11] = 0x10140000u;
/* 028BDC54 */ _t6 = cpu->r[11] + 0xFFFF90F4u;
/* 028BDC54 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028BDC58 */ cpu->r[3] = cpu->r[31];
/* 028BDC5C */ Gambit_fn_028BD9D8(cpu);
/* 028BDC60 */ cpu->r[3] = cpu->r[31];
/* 028BDC64 */ Gambit_fn_028BDB04(cpu);
/* 028BDC68 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BDC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BDC6C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BDC6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BDC70 */ cpu->lr = cpu->r[0];
/* 028BDC74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDC78 */ return;
L_028BDC7C: ; // 0x28bdc7c
/* 028BDC7C */ _t9 = cpu->r[31] + 0x00000004u;
/* 028BDC7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BDC80 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFBu;
/* 028BDC84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028BDC88 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDC88 */ _t11 = _t10 & 0x00000001u;
/* 028BDC88 */ if (_t11) goto L_028BDCE8; else goto L_028BDC8C;
L_028BDC8C: ; // 0x28bdc8c
/* 028BDC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
/* 028BDC90 */ cpu->r[3] = cpu->r[31];
/* 028BDC94 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BDC94 */ _t13 = _t12 & 0x00000001u;
/* 028BDC94 */ if (_t13) goto L_028BDCB0; else goto L_028BDC98;
L_028BDC98: ; // 0x28bdc98
/* 028BDC98 */ Gambit_fn_028BDB04(cpu);
/* 028BDC9C */ _t14 = cpu->r[1] + 0x00000014u;
/* 028BDC9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BDCA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028BDCA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028BDCA4 */ cpu->lr = cpu->r[0];
/* 028BDCA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCAC */ return;
L_028BDCB0: ; // 0x28bdcb0
/* 028BDCB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028BDCB4 */ _t16 = cpu->r[31] + 0x00000024u;
/* 028BDCB4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
/* 028BDCB8 */ _t17 = cpu->r[31] + 0x00000020u;
/* 028BDCB8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[2]);
/* 028BDCBC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDCBC */ _t19 = _t18 & 0x00000001u;
/* 028BDCBC */ if (_t19) goto L_028BDCC0; else goto L_028BDCD8;
L_028BDCC0: ; // 0x28bdcc0
/* 028BDCC0 */ Gambit_fn_028BDB50(cpu);
/* 028BDCC4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BDCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BDCC8 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028BDCC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BDCCC */ cpu->lr = cpu->r[0];
/* 028BDCD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCD4 */ return;
L_028BDCD8: ; // 0x28bdcd8
/* 028BDCD8 */ cpu->r[0] = 0x00000004u;
/* 028BDCDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDCE0 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028BDCE0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028BDCE4 */ Gambit_fn_028BDAB0(cpu);
L_028BDCE8: ; // 0x28bdce8
/* 028BDCE8 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028BDCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BDCEC */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BDCEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028BDCF0 */ cpu->lr = cpu->r[0];
/* 028BDCF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCF8 */ return;
}
// fn_028BDC34 @ 0x28bdc34
void Gambit_fn_028BDC34(CPUState* cpu) {
uint32_t _t0, _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_028BDC34: ; // 0x28bdc34
/* 028BDC34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDC34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDC34 */ cpu->r[1] = _t0;
/* 028BDC38 */ _t1 = cpu->r[11] + 0xFFFF90F0u;
/* 028BDC38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028BDC3C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BDC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BDC40 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BDC44 */ cpu->r[31] = cpu->r[3];
/* 028BDC48 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BDC48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BDC4C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDC4C */ _t5 = _t4 & 0x00000001u;
/* 028BDC4C */ if (_t5) goto L_028BDC50; else goto L_028BDC7C;
L_028BDC50: ; // 0x28bdc50
/* 028BDC50 */ cpu->r[11] = 0x10140000u;
/* 028BDC54 */ _t6 = cpu->r[11] + 0xFFFF90F4u;
/* 028BDC54 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028BDC58 */ cpu->r[3] = cpu->r[31];
/* 028BDC5C */ Gambit_fn_028BD9D8(cpu);
/* 028BDC60 */ cpu->r[3] = cpu->r[31];
/* 028BDC64 */ Gambit_fn_028BDB04(cpu);
/* 028BDC68 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BDC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BDC6C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BDC6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BDC70 */ cpu->lr = cpu->r[0];
/* 028BDC74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDC78 */ return;
L_028BDC7C: ; // 0x28bdc7c
/* 028BDC7C */ _t9 = cpu->r[31] + 0x00000004u;
/* 028BDC7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BDC80 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFBu;
/* 028BDC84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028BDC88 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDC88 */ _t11 = _t10 & 0x00000001u;
/* 028BDC88 */ if (_t11) goto L_028BDCE8; else goto L_028BDC8C;
L_028BDC8C: ; // 0x28bdc8c
/* 028BDC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
/* 028BDC90 */ cpu->r[3] = cpu->r[31];
/* 028BDC94 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BDC94 */ _t13 = _t12 & 0x00000001u;
/* 028BDC94 */ if (_t13) goto L_028BDCB0; else goto L_028BDC98;
L_028BDC98: ; // 0x28bdc98
/* 028BDC98 */ Gambit_fn_028BDB04(cpu);
/* 028BDC9C */ _t14 = cpu->r[1] + 0x00000014u;
/* 028BDC9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BDCA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028BDCA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028BDCA4 */ cpu->lr = cpu->r[0];
/* 028BDCA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCAC */ return;
L_028BDCB0: ; // 0x28bdcb0
/* 028BDCB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028BDCB4 */ _t16 = cpu->r[31] + 0x00000024u;
/* 028BDCB4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
/* 028BDCB8 */ _t17 = cpu->r[31] + 0x00000020u;
/* 028BDCB8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[2]);
/* 028BDCBC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDCBC */ _t19 = _t18 & 0x00000001u;
/* 028BDCBC */ if (_t19) goto L_028BDCC0; else goto L_028BDCD8;
L_028BDCC0: ; // 0x28bdcc0
/* 028BDCC0 */ Gambit_fn_028BDB50(cpu);
/* 028BDCC4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BDCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BDCC8 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028BDCC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BDCCC */ cpu->lr = cpu->r[0];
/* 028BDCD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCD4 */ return;
L_028BDCD8: ; // 0x28bdcd8
/* 028BDCD8 */ cpu->r[0] = 0x00000004u;
/* 028BDCDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDCE0 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028BDCE0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028BDCE4 */ Gambit_fn_028BDAB0(cpu);
L_028BDCE8: ; // 0x28bdce8
/* 028BDCE8 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028BDCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BDCEC */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BDCEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028BDCF0 */ cpu->lr = cpu->r[0];
/* 028BDCF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCF8 */ return;
}
// fn_028BDCFC @ 0x28bdcfc
void Gambit_fn_028BDCFC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028BDC2C: ; // 0x28bdc2c
/* 028BDC2C */ cpu->r[0] = cpu->lr;
/* 028BDC30 */ cpu->r[11] = 0x10140000u;
/* 028BDC34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDC34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDC34 */ cpu->r[1] = _t0;
/* 028BDC38 */ _t1 = cpu->r[11] + 0xFFFF90F0u;
/* 028BDC38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028BDC3C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BDC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BDC40 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BDC44 */ cpu->r[31] = cpu->r[3];
/* 028BDC48 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BDC48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BDC4C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDC4C */ _t5 = _t4 & 0x00000001u;
/* 028BDC4C */ if (_t5) goto L_028BDC50; else goto L_028BDC7C;
L_028BDC50: ; // 0x28bdc50
/* 028BDC50 */ cpu->r[11] = 0x10140000u;
/* 028BDC54 */ _t6 = cpu->r[11] + 0xFFFF90F4u;
/* 028BDC54 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028BDC58 */ cpu->r[3] = cpu->r[31];
/* 028BDC5C */ Gambit_fn_028BD9D8(cpu);
/* 028BDC60 */ cpu->r[3] = cpu->r[31];
/* 028BDC64 */ Gambit_fn_028BDB04(cpu);
/* 028BDC68 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BDC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BDC6C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BDC6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BDC70 */ cpu->lr = cpu->r[0];
/* 028BDC74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDC78 */ return;
L_028BDC7C: ; // 0x28bdc7c
/* 028BDC7C */ _t9 = cpu->r[31] + 0x00000004u;
/* 028BDC7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BDC80 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFBu;
/* 028BDC84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028BDC88 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDC88 */ _t11 = _t10 & 0x00000001u;
/* 028BDC88 */ if (_t11) goto L_028BDCE8; else goto L_028BDC8C;
L_028BDC8C: ; // 0x28bdc8c
/* 028BDC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
/* 028BDC90 */ cpu->r[3] = cpu->r[31];
/* 028BDC94 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BDC94 */ _t13 = _t12 & 0x00000001u;
/* 028BDC94 */ if (_t13) goto L_028BDCB0; else goto L_028BDC98;
L_028BDC98: ; // 0x28bdc98
/* 028BDC98 */ Gambit_fn_028BDB04(cpu);
/* 028BDC9C */ _t14 = cpu->r[1] + 0x00000014u;
/* 028BDC9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BDCA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028BDCA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028BDCA4 */ cpu->lr = cpu->r[0];
/* 028BDCA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCAC */ return;
L_028BDCB0: ; // 0x28bdcb0
/* 028BDCB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028BDCB4 */ _t16 = cpu->r[31] + 0x00000024u;
/* 028BDCB4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
/* 028BDCB8 */ _t17 = cpu->r[31] + 0x00000020u;
/* 028BDCB8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[2]);
/* 028BDCBC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDCBC */ _t19 = _t18 & 0x00000001u;
/* 028BDCBC */ if (_t19) goto L_028BDCC0; else goto L_028BDCD8;
L_028BDCC0: ; // 0x28bdcc0
/* 028BDCC0 */ Gambit_fn_028BDB50(cpu);
/* 028BDCC4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BDCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BDCC8 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028BDCC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BDCCC */ cpu->lr = cpu->r[0];
/* 028BDCD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCD4 */ return;
L_028BDCD8: ; // 0x28bdcd8
/* 028BDCD8 */ cpu->r[0] = 0x00000004u;
/* 028BDCDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDCE0 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028BDCE0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028BDCE4 */ Gambit_fn_028BDAB0(cpu);
L_028BDCE8: ; // 0x28bdce8
/* 028BDCE8 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028BDCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BDCEC */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BDCEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028BDCF0 */ cpu->lr = cpu->r[0];
/* 028BDCF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCF8 */ return;
L_028BDCFC: ; // 0x28bdcfc
/* 028BDCFC */ cpu->r[12] = 0x10140000u;
/* 028BDD00 */ _t25 = cpu->r[12] + 0xFFFF90F4u;
/* 028BDD00 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
/* 028BDD04 */ cpu->r[12] = 0x10140000u;
/* 028BDD08 */ _t26 = cpu->r[12] + 0xFFFF90F0u;
/* 028BDD08 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26);
/* 028BDD0C */ goto L_028BDC2C;
}
// fn_028BDD10 @ 0x28bdd10
void Gambit_fn_028BDD10(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BDD10: ; // 0x28bdd10
/* 028BDD10 */ cpu->r[8] = 0x10140000u;
/* 028BDD14 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BDD14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDD14 */ cpu->r[1] = _t0;
/* 028BDD18 */ _t1 = cpu->r[8] + 0xFFFF90F0u;
/* 028BDD18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028BDD1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BDD20 */ _t2 = cpu->r[4] + 0x00000000u;
/* 028BDD20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BDD24 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BDD24 */ _t4 = _t3 & 0x00000001u;
/* 028BDD24 */ if (_t4) goto L_028BDD8C; else goto L_028BDD28;
L_028BDD28: ; // 0x28bdd28
/* 028BDD28 */ cpu->r[7] = 0x10140000u;
/* 028BDD2C */ _t5 = cpu->r[7] + 0xFFFF90F8u;
/* 028BDD2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028BDD30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BDD34 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BDD34 */ _t7 = _t6 & 0x00000001u;
/* 028BDD34 */ if (_t7) goto L_028BDD8C; else goto L_028BDD38;
L_028BDD38: ; // 0x28bdd38
/* 028BDD38 */ cpu->r[6] = 0x10140000u;
/* 028BDD3C */ _t8 = cpu->r[6] + 0xFFFF90FCu;
/* 028BDD3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028BDD40 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028BDD44 */ cpu->r[9] = 0x00000008u;
/* 028BDD48 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028BDD4C */ cpu->r[8] = 0x00000000u;
/* 028BDD50 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028BDD54 */ cpu->ctr = cpu->r[9];
/* 028BDD58 */ /* nop */
/* 028BDD5C */ _t9 = cpu->r[1] + 0x0000000Bu;
/* 028BDD5C */ cpu->r[6] = rbrew_read8(cpu->mem, _t9);
/* 028BDD60 */ cpu->r[12] = 0x00000001u;
L_028BDD64: ; // 0x28bdd64
/* 028BDD64 */ /* nop */
/* 028BDD68 */ cpu->r[11] = cpu->r[0] & cpu->r[10];
/* 028BDD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BDD6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDD6C */ _t11 = _t10 & 0x00000001u;
/* 028BDD6C */ if (_t11) goto L_028BDD84; else goto L_028BDD70;
L_028BDD70: ; // 0x28bdd70
/* 028BDD70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000008u);
/* 028BDD74 */ cpu->r[11] = cpu->r[3] + 0x0000011Cu;
/* 028BDD78 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDD78 */ _t13 = _t12 & 0x00000001u;
/* 028BDD78 */ if (_t13) goto L_028BDD7C; else goto L_028BDD80;
L_028BDD7C: ; // 0x28bdd7c
/* 028BDD7C */ cpu->r[11] = cpu->r[11] + cpu->r[8];
L_028BDD80: ; // 0x28bdd80
/* 028BDD80 */ _t14 = cpu->r[11] + 0x00000000u;
/* 028BDD80 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[6]);
L_028BDD84: ; // 0x28bdd84
/* 028BDD84 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028BDD88 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BDD88 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BDD88 */ _t16 = _t15 >> (0x00000002u & 31u);
/* 028BDD88 */ _t17 = _t16 & 0x00000001u;
/* 028BDD88 */ if (_t17) goto L_028BDD64; else goto L_028BDD8C;
L_028BDD8C: ; // 0x28bdd8c
/* 028BDD8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BDD90 */ return;
}
// fn_028BDD14 @ 0x28bdd14
void Gambit_fn_028BDD14(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BDD14: ; // 0x28bdd14
/* 028BDD14 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BDD14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDD14 */ cpu->r[1] = _t0;
/* 028BDD18 */ _t1 = cpu->r[8] + 0xFFFF90F0u;
/* 028BDD18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028BDD1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BDD20 */ _t2 = cpu->r[4] + 0x00000000u;
/* 028BDD20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BDD24 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BDD24 */ _t4 = _t3 & 0x00000001u;
/* 028BDD24 */ if (_t4) goto L_028BDD8C; else goto L_028BDD28;
L_028BDD28: ; // 0x28bdd28
/* 028BDD28 */ cpu->r[7] = 0x10140000u;
/* 028BDD2C */ _t5 = cpu->r[7] + 0xFFFF90F8u;
/* 028BDD2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028BDD30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BDD34 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BDD34 */ _t7 = _t6 & 0x00000001u;
/* 028BDD34 */ if (_t7) goto L_028BDD8C; else goto L_028BDD38;
L_028BDD38: ; // 0x28bdd38
/* 028BDD38 */ cpu->r[6] = 0x10140000u;
/* 028BDD3C */ _t8 = cpu->r[6] + 0xFFFF90FCu;
/* 028BDD3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028BDD40 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028BDD44 */ cpu->r[9] = 0x00000008u;
/* 028BDD48 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028BDD4C */ cpu->r[8] = 0x00000000u;
/* 028BDD50 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028BDD54 */ cpu->ctr = cpu->r[9];
/* 028BDD58 */ /* nop */
/* 028BDD5C */ _t9 = cpu->r[1] + 0x0000000Bu;
/* 028BDD5C */ cpu->r[6] = rbrew_read8(cpu->mem, _t9);
/* 028BDD60 */ cpu->r[12] = 0x00000001u;
L_028BDD64: ; // 0x28bdd64
/* 028BDD64 */ /* nop */
/* 028BDD68 */ cpu->r[11] = cpu->r[0] & cpu->r[10];
/* 028BDD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BDD6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDD6C */ _t11 = _t10 & 0x00000001u;
/* 028BDD6C */ if (_t11) goto L_028BDD84; else goto L_028BDD70;
L_028BDD70: ; // 0x28bdd70
/* 028BDD70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000008u);
/* 028BDD74 */ cpu->r[11] = cpu->r[3] + 0x0000011Cu;
/* 028BDD78 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDD78 */ _t13 = _t12 & 0x00000001u;
/* 028BDD78 */ if (_t13) goto L_028BDD7C; else goto L_028BDD80;
L_028BDD7C: ; // 0x28bdd7c
/* 028BDD7C */ cpu->r[11] = cpu->r[11] + cpu->r[8];
L_028BDD80: ; // 0x28bdd80
/* 028BDD80 */ _t14 = cpu->r[11] + 0x00000000u;
/* 028BDD80 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[6]);
L_028BDD84: ; // 0x28bdd84
/* 028BDD84 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028BDD88 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BDD88 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BDD88 */ _t16 = _t15 >> (0x00000002u & 31u);
/* 028BDD88 */ _t17 = _t16 & 0x00000001u;
/* 028BDD88 */ if (_t17) goto L_028BDD64; else goto L_028BDD8C;
L_028BDD8C: ; // 0x28bdd8c
/* 028BDD8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BDD90 */ return;
}
// fn_028BDD94 @ 0x28bdd94
void Gambit_fn_028BDD94(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81;
L_028BDD94: ; // 0x28bdd94
/* 028BDD94 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028BDD94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDD94 */ cpu->r[1] = _t0;
/* 028BDD98 */ cpu->r[0] = cpu->lr;
/* 028BDD9C */ _t1 = cpu->r[1] + 0x00000028u;
/* 028BDD9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028BDDA0 */ /* nop */
/* 028BDDA4 */ _t2 = cpu->r[1] + 0x00000038u;
/* 028BDDA4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028BDDA8 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028BDDA8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028BDDAC */ /* nop */
/* 028BDDB0 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028BDDB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BDDB4 */ _t5 = cpu->r[1] + 0x00000040u;
/* 028BDDB4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
/* 028BDDB8 */ cpu->r[31] = cpu->r[3];
/* 028BDDBC */ _t6 = cpu->r[1] + 0x00000020u;
/* 028BDDBC */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
/* 028BDDC0 */ _t7 = cpu->r[1] + 0x0000004Cu;
/* 028BDDC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028BDDC4 */ Gambit_fn_028BDCFC(cpu);
/* 028BDDC8 */ cpu->r[12] = 0x10140000u;
/* 028BDDCC */ _t8 = cpu->r[12] + 0xFFFF90F4u;
/* 028BDDCC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
/* 028BDDD0 */ cpu->r[3] = cpu->r[31];
/* 028BDDD4 */ Gambit_fn_028BD9D8(cpu);
/* 028BDDD8 */ cpu->r[30] = 0x00000000u;
/* 028BDDDC */ cpu->r[11] = 0x10140000u;
/* 028BDDE0 */ _t9 = cpu->r[31] + 0x0000000Eu;
/* 028BDDE0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
/* 028BDDE4 */ _t10 = cpu->r[11] + 0xFFFF90F0u;
/* 028BDDE4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t10);
/* 028BDDE8 */ _t11 = cpu->r[31] + 0x0000000Fu;
/* 028BDDE8 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
/* 028BDDEC */ cpu->r[11] = 0x00000001u;
/* 028BDDF0 */ _t12 = cpu->r[31] + 0x00000010u;
/* 028BDDF0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[30]);
/* 028BDDF4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BDDF8 */ _t13 = cpu->r[31] + 0x0000000Cu;
/* 028BDDF8 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[11]);
/* 028BDDFC */ Gambit_fn_028BD270(cpu);
/* 028BDE00 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
/* 028BDE04 */ Gambit_fn_028BD270(cpu);
/* 028BDE08 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BDE0C */ Gambit_fn_028BD270(cpu);
/* 028BDE10 */ cpu->r[10] = 0x10140000u;
/* 028BDE14 */ _t14 = cpu->r[10] + 0xFFFF90F8u;
/* 028BDE14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028BDE18 */ cpu->f[1] = cpu->f[31];
/* 028BDE1C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDE20 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BDE24 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028BDE24 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028BDE28 */ Gambit_fn_028BD348(cpu);
/* 028BDE2C */ cpu->f[1] = cpu->f[31];
/* 028BDE30 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BDE34 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BDE38 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BDE38 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028BDE3C */ Gambit_fn_028BD35C(cpu);
/* 028BDE40 */ cpu->r[4] = 0x00000003u;
/* 028BDE44 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BDE48 */ Gambit_fn_028BD398(cpu);
/* 028BDE4C */ _t17 = cpu->r[31] + 0x00000110u;
/* 028BDE4C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
/* 028BDE50 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BDE54 */ _t18 = cpu->r[31] + 0x00000024u;
/* 028BDE54 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[30]);
/* 028BDE58 */ cpu->f[1] = cpu->f[31];
/* 028BDE5C */ _t19 = cpu->r[31] + 0x00000118u;
/* 028BDE5C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[31]);
/* 028BDE60 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028BDE64 */ _t20 = cpu->r[1] + 0x00000018u;
/* 028BDE64 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028BDE68 */ cpu->r[3] = cpu->r[31];
/* 028BDE6C */ _t21 = cpu->r[31] + 0x00000114u;
/* 028BDE6C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
/* 028BDE70 */ _t22 = cpu->r[31] + 0x00000020u;
/* 028BDE70 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[30]);
/* 028BDE74 */ _t23 = cpu->r[1] + 0x00000010u;
/* 028BDE74 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028BDE78 */ _t24 = cpu->r[31] + 0x00000028u;
/* 028BDE78 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028BDE7C */ _t25 = cpu->r[31] + 0x00000028u;
/* 028BDE7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028BDE80 */ Gambit_fn_028BDD10(cpu);
/* 028BDE84 */ _t26 = cpu->r[31] + 0x00000134u;
/* 028BDE84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028BDE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDE8C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDE8C */ _t28 = _t27 & 0x00000001u;
/* 028BDE8C */ if (_t28) goto L_028BDE94; else goto L_028BDE90;
L_028BDE90: ; // 0x28bde90
/* 028BDE90 */ Gambit_fn_028EA2FC(cpu);
L_028BDE94: ; // 0x28bde94
/* 028BDE94 */ _t29 = cpu->r[31] + 0x00000138u;
/* 028BDE94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
/* 028BDE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDE9C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDE9C */ _t31 = _t30 & 0x00000001u;
/* 028BDE9C */ if (_t31) goto L_028BDEA8; else goto L_028BDEA0;
L_028BDEA0: ; // 0x28bdea0
/* 028BDEA0 */ cpu->f[1] = cpu->f[31];
/* 028BDEA4 */ Gambit_fn_028CA0C8(cpu);
L_028BDEA8: ; // 0x28bdea8
/* 028BDEA8 */ _t32 = cpu->r[31] + 0x00000124u;
/* 028BDEA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
/* 028BDEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BDEB0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDEB0 */ _t34 = _t33 & 0x00000001u;
/* 028BDEB0 */ if (_t34) goto L_028BDEC4; else goto L_028BDEB4;
L_028BDEB4: ; // 0x28bdeb4
/* 028BDEB4 */ cpu->r[3] = 0x101D0000u;
/* 028BDEB8 */ _t35 = cpu->r[3] + 0xFFFF9AA8u;
/* 028BDEB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028BDEBC */ Gambit_fn_028C9EF0(cpu);
/* 028BDEC0 */ _t36 = cpu->r[31] + 0x00000124u;
/* 028BDEC0 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
L_028BDEC4: ; // 0x28bdec4
/* 028BDEC4 */ _t37 = cpu->r[31] + 0x00000128u;
/* 028BDEC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028BDEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDECC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDECC */ _t39 = _t38 & 0x00000001u;
/* 028BDECC */ if (_t39) goto L_028BDEDC; else goto L_028BDED0;
L_028BDED0: ; // 0x28bded0
/* 028BDED0 */ cpu->r[4] = cpu->r[31];
/* 028BDED4 */ Gambit_fn_028D3720(cpu);
/* 028BDED8 */ _t40 = cpu->r[31] + 0x00000128u;
/* 028BDED8 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
L_028BDEDC: ; // 0x28bdedc
/* 028BDEDC */ cpu->r[3] = cpu->r[31];
/* 028BDEE0 */ Gambit_fn_028BDA54(cpu);
/* 028BDEE4 */ _t41 = cpu->r[31] + 0x00000130u;
/* 028BDEE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
/* 028BDEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BDEEC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDEEC */ _t43 = _t42 & 0x00000001u;
/* 028BDEEC */ if (_t43) goto L_028BDF04; else goto L_028BDEF0;
L_028BDEF0: ; // 0x28bdef0
/* 028BDEF0 */ _t44 = cpu->r[11] + 0x00000000u;
/* 028BDEF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028BDEF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028BDEF8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDEF8 */ _t46 = _t45 & 0x00000001u;
/* 028BDEF8 */ if (_t46) goto L_028BDEFC; else goto L_028BDF00;
L_028BDEFC: ; // 0x28bdefc
/* 028BDEFC */ _t47 = cpu->r[11] + 0x00000000u;
/* 028BDEFC */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
L_028BDF00: ; // 0x28bdf00
/* 028BDF00 */ _t48 = cpu->r[31] + 0x00000130u;
/* 028BDF00 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
L_028BDF04: ; // 0x28bdf04
/* 028BDF04 */ _t49 = cpu->r[31] + 0x0000019Cu;
/* 028BDF04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028BDF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BDF0C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDF0C */ _t51 = _t50 & 0x00000001u;
/* 028BDF0C */ if (_t51) goto L_028BDF24; else goto L_028BDF10;
L_028BDF10: ; // 0x28bdf10
/* 028BDF10 */ Gambit_fn_028C2A0C(cpu);
/* 028BDF14 */ _t52 = cpu->r[3] + 0x00000040u;
/* 028BDF14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028BDF18 */ _t53 = cpu->r[31] + 0x0000019Cu;
/* 028BDF18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
/* 028BDF1C */ Gambit_fn_028E0854(cpu);
/* 028BDF20 */ _t54 = cpu->r[31] + 0x0000019Cu;
/* 028BDF20 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
L_028BDF24: ; // 0x28bdf24
/* 028BDF24 */ _t55 = cpu->r[31] + 0x000001A0u;
/* 028BDF24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
/* 028BDF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BDF2C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDF2C */ _t57 = _t56 & 0x00000001u;
/* 028BDF2C */ if (_t57) goto L_028BDF44; else goto L_028BDF30;
L_028BDF30: ; // 0x28bdf30
/* 028BDF30 */ Gambit_fn_028C2A0C(cpu);
/* 028BDF34 */ _t58 = cpu->r[3] + 0x00000044u;
/* 028BDF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
/* 028BDF38 */ _t59 = cpu->r[31] + 0x000001A0u;
/* 028BDF38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
/* 028BDF3C */ Gambit_fn_028E12A0(cpu);
/* 028BDF40 */ _t60 = cpu->r[31] + 0x000001A0u;
/* 028BDF40 */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
L_028BDF44: ; // 0x28bdf44
/* 028BDF44 */ cpu->r[3] = cpu->r[31] + 0x00000140u;
/* 028BDF48 */ Gambit_fn_028E1300(cpu);
/* 028BDF4C */ _t61 = cpu->r[31] + 0x000001B8u;
/* 028BDF4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
/* 028BDF50 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BDF54 */ _t62 = cpu->r[31] + 0x0000001Cu;
/* 028BDF54 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
/* 028BDF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDF5C */ _t63 = cpu->r[31] + 0x00000014u;
/* 028BDF5C */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
/* 028BDF60 */ _t64 = cpu->r[31] + 0x000001A8u;
/* 028BDF60 */ rbrew_write32(cpu->mem, _t64, cpu->r[30]);
/* 028BDF64 */ _t65 = cpu->r[31] + 0x000001B4u;
/* 028BDF64 */ rbrew_write32(cpu->mem, _t65, cpu->r[30]);
/* 028BDF68 */ _t66 = cpu->r[31] + 0x000001B0u;
/* 028BDF68 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
/* 028BDF6C */ _t67 = cpu->r[31] + 0x000001ACu;
/* 028BDF6C */ rbrew_write32(cpu->mem, _t67, cpu->r[30]);
/* 028BDF70 */ _t68 = cpu->r[31] + 0x00000018u;
/* 028BDF70 */ rbrew_write32(cpu->mem, _t68, cpu->r[30]);
/* 028BDF74 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDF74 */ _t70 = _t69 & 0x00000001u;
/* 028BDF74 */ if (_t70) goto L_028BDF7C; else goto L_028BDF78;
L_028BDF78: ; // 0x28bdf78
/* 028BDF78 */ Gambit_fn_028BBD34(cpu);
L_028BDF7C: ; // 0x28bdf7c
/* 028BDF7C */ cpu->r[3] = 0x101D0000u;
/* 028BDF80 */ _t71 = cpu->r[3] + 0xFFFF9A7Cu;
/* 028BDF80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
/* 028BDF84 */ cpu->r[4] = cpu->r[31];
/* 028BDF88 */ Gambit_fn_028BC97C(cpu);
/* 028BDF8C */ _t72 = cpu->r[1] + 0x00000014u;
/* 028BDF8C */ rbrew_write32(cpu->mem, _t72, cpu->r[30]);
/* 028BDF90 */ cpu->r[3] = cpu->r[31];
/* 028BDF94 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028BDF98 */ Gambit_fn_028BDAB0(cpu);
/* 028BDF9C */ _t73 = cpu->r[1] + 0x00000040u;
/* 028BDF9C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t73);
/* 028BDFA0 */ _t74 = cpu->r[1] + 0x00000030u;
/* 028BDFA0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t74);
/* 028BDFA4 */ _t75 = cpu->r[1] + 0x00000038u;
/* 028BDFA4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t75);
/* 028BDFA8 */ _t76 = cpu->r[1] + 0x00000028u;
/* 028BDFA8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t76);
/* 028BDFAC */ _t77 = cpu->r[1] + 0x00000024u;
/* 028BDFAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
/* 028BDFB0 */ _t78 = cpu->r[1] + 0x00000020u;
/* 028BDFB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
/* 028BDFB4 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDFB4 */ _t80 = _t79 & 0x00000001u;
/* 028BDFB4 */ if (_t80) goto L_028BDFB8; // else: addr-0 trap, fall-through
L_028BDFB8: ; // 0x28bdfb8
/* 028BDFB8 */ _t81 = cpu->r[1] + 0x0000004Cu;
/* 028BDFB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
/* 028BDFBC */ cpu->lr = cpu->r[0];
/* 028BDFC0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028BDFC4 */ return;
}
// fn_028BDFC8 @ 0x28bdfc8
void Gambit_fn_028BDFC8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_028BDFC8: ; // 0x28bdfc8
/* 028BDFC8 */ cpu->r[0] = cpu->lr;
/* 028BDFCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDFCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDFCC */ cpu->r[1] = _t0;
/* 028BDFD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDFD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDFD4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BDFD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BDFD8 */ cpu->r[31] = cpu->r[3];
/* 028BDFDC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BDFDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BDFE0 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028BDFE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
/* 028BDFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BDFE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDFE8 */ _t6 = _t5 & 0x00000001u;
/* 028BDFE8 */ if (_t6) goto L_028BE08C; else goto L_028BDFEC;
L_028BDFEC: ; // 0x28bdfec
/* 028BDFEC */ cpu->r[3] = cpu->r[31];
/* 028BDFF0 */ Gambit_fn_028BDD94(cpu);
/* 028BDFF4 */ _t7 = cpu->r[31] + 0x00000134u;
/* 028BDFF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028BDFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDFFC */ cpu->r[30] = 0x00000000u;
/* 028BE000 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE000 */ _t9 = _t8 & 0x00000001u;
/* 028BE000 */ if (_t9) goto L_028BE02C; else goto L_028BE004;
L_028BE004: ; // 0x28be004
/* 028BE004 */ Gambit_fn_028E9DC4(cpu);
/* 028BE008 */ _t10 = cpu->r[31] + 0x00000134u;
/* 028BE008 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BE00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE010 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE010 */ _t12 = _t11 & 0x00000001u;
/* 028BE010 */ if (_t12) goto L_028BE028; else goto L_028BE014;
L_028BE014: ; // 0x28be014
/* 028BE014 */ _t13 = cpu->r[3] + 0x0000001Cu;
/* 028BE014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028BE018 */ _t14 = cpu->r[12] + 0x0000000Cu;
/* 028BE018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BE01C */ cpu->ctr = cpu->r[0];
/* 028BE020 */ cpu->r[4] = 0x00000003u;
/* 028BE024 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BE028: ; // 0x28be028
/* 028BE028 */ _t15 = cpu->r[31] + 0x00000134u;
/* 028BE028 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028BE02C: ; // 0x28be02c
/* 028BE02C */ _t16 = cpu->r[31] + 0x00000138u;
/* 028BE02C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BE030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE034 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE034 */ _t18 = _t17 & 0x00000001u;
/* 028BE034 */ if (_t18) goto L_028BE050; else goto L_028BE038;
L_028BE038: ; // 0x28be038
/* 028BE038 */ _t19 = cpu->r[3] + 0x00000010u;
/* 028BE038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028BE03C */ _t20 = cpu->r[12] + 0x0000000Cu;
/* 028BE03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BE040 */ cpu->ctr = cpu->r[0];
/* 028BE044 */ cpu->r[4] = 0x00000003u;
/* 028BE048 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BE04C */ _t21 = cpu->r[31] + 0x00000138u;
/* 028BE04C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
L_028BE050: ; // 0x28be050
/* 028BE050 */ _t22 = cpu->r[31] + 0x0000013Cu;
/* 028BE050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028BE054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE058 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE058 */ _t24 = _t23 & 0x00000001u;
/* 028BE058 */ if (_t24) goto L_028BE064; else goto L_028BE05C;
L_028BE05C: ; // 0x28be05c
/* 028BE05C */ Gambit_fn_02801BB0(cpu);
/* 028BE060 */ _t25 = cpu->r[31] + 0x0000013Cu;
/* 028BE060 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
L_028BE064: ; // 0x28be064
/* 028BE064 */ _t26 = cpu->r[31] + 0x000001B8u;
/* 028BE064 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028BE068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE06C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE06C */ _t28 = _t27 & 0x00000001u;
/* 028BE06C */ if (_t28) goto L_028BE088; else goto L_028BE070;
L_028BE070: ; // 0x28be070
/* 028BE070 */ _t29 = cpu->r[3] + 0x0000001Cu;
/* 028BE070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028BE074 */ _t30 = cpu->r[12] + 0x0000000Cu;
/* 028BE074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028BE078 */ cpu->ctr = cpu->r[0];
/* 028BE07C */ cpu->r[4] = 0x00000003u;
/* 028BE080 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BE084 */ _t31 = cpu->r[31] + 0x000001B8u;
/* 028BE084 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
L_028BE088: ; // 0x28be088
/* 028BE088 */ _t32 = cpu->r[31] + 0x00000000u;
/* 028BE088 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[30]);
L_028BE08C: ; // 0x28be08c
/* 028BE08C */ _t33 = cpu->r[1] + 0x00000014u;
/* 028BE08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028BE090 */ _t34 = cpu->r[1] + 0x00000008u;
/* 028BE090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
/* 028BE094 */ cpu->lr = cpu->r[0];
/* 028BE098 */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028BE098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
/* 028BE09C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE0A0 */ return;
}
// fn_028BDFCC @ 0x28bdfcc
void Gambit_fn_028BDFCC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_028BDFCC: ; // 0x28bdfcc
/* 028BDFCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDFCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDFCC */ cpu->r[1] = _t0;
/* 028BDFD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BDFD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BDFD4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BDFD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BDFD8 */ cpu->r[31] = cpu->r[3];
/* 028BDFDC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BDFDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BDFE0 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028BDFE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
/* 028BDFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BDFE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDFE8 */ _t6 = _t5 & 0x00000001u;
/* 028BDFE8 */ if (_t6) goto L_028BE08C; else goto L_028BDFEC;
L_028BDFEC: ; // 0x28bdfec
/* 028BDFEC */ cpu->r[3] = cpu->r[31];
/* 028BDFF0 */ Gambit_fn_028BDD94(cpu);
/* 028BDFF4 */ _t7 = cpu->r[31] + 0x00000134u;
/* 028BDFF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028BDFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDFFC */ cpu->r[30] = 0x00000000u;
/* 028BE000 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE000 */ _t9 = _t8 & 0x00000001u;
/* 028BE000 */ if (_t9) goto L_028BE02C; else goto L_028BE004;
L_028BE004: ; // 0x28be004
/* 028BE004 */ Gambit_fn_028E9DC4(cpu);
/* 028BE008 */ _t10 = cpu->r[31] + 0x00000134u;
/* 028BE008 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BE00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE010 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE010 */ _t12 = _t11 & 0x00000001u;
/* 028BE010 */ if (_t12) goto L_028BE028; else goto L_028BE014;
L_028BE014: ; // 0x28be014
/* 028BE014 */ _t13 = cpu->r[3] + 0x0000001Cu;
/* 028BE014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028BE018 */ _t14 = cpu->r[12] + 0x0000000Cu;
/* 028BE018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BE01C */ cpu->ctr = cpu->r[0];
/* 028BE020 */ cpu->r[4] = 0x00000003u;
/* 028BE024 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BE028: ; // 0x28be028
/* 028BE028 */ _t15 = cpu->r[31] + 0x00000134u;
/* 028BE028 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028BE02C: ; // 0x28be02c
/* 028BE02C */ _t16 = cpu->r[31] + 0x00000138u;
/* 028BE02C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BE030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE034 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE034 */ _t18 = _t17 & 0x00000001u;
/* 028BE034 */ if (_t18) goto L_028BE050; else goto L_028BE038;
L_028BE038: ; // 0x28be038
/* 028BE038 */ _t19 = cpu->r[3] + 0x00000010u;
/* 028BE038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028BE03C */ _t20 = cpu->r[12] + 0x0000000Cu;
/* 028BE03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BE040 */ cpu->ctr = cpu->r[0];
/* 028BE044 */ cpu->r[4] = 0x00000003u;
/* 028BE048 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BE04C */ _t21 = cpu->r[31] + 0x00000138u;
/* 028BE04C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
L_028BE050: ; // 0x28be050
/* 028BE050 */ _t22 = cpu->r[31] + 0x0000013Cu;
/* 028BE050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028BE054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE058 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE058 */ _t24 = _t23 & 0x00000001u;
/* 028BE058 */ if (_t24) goto L_028BE064; else goto L_028BE05C;
L_028BE05C: ; // 0x28be05c
/* 028BE05C */ Gambit_fn_02801BB0(cpu);
/* 028BE060 */ _t25 = cpu->r[31] + 0x0000013Cu;
/* 028BE060 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
L_028BE064: ; // 0x28be064
/* 028BE064 */ _t26 = cpu->r[31] + 0x000001B8u;
/* 028BE064 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028BE068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE06C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE06C */ _t28 = _t27 & 0x00000001u;
/* 028BE06C */ if (_t28) goto L_028BE088; else goto L_028BE070;
L_028BE070: ; // 0x28be070
/* 028BE070 */ _t29 = cpu->r[3] + 0x0000001Cu;
/* 028BE070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028BE074 */ _t30 = cpu->r[12] + 0x0000000Cu;
/* 028BE074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028BE078 */ cpu->ctr = cpu->r[0];
/* 028BE07C */ cpu->r[4] = 0x00000003u;
/* 028BE080 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BE084 */ _t31 = cpu->r[31] + 0x000001B8u;
/* 028BE084 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
L_028BE088: ; // 0x28be088
/* 028BE088 */ _t32 = cpu->r[31] + 0x00000000u;
/* 028BE088 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[30]);
L_028BE08C: ; // 0x28be08c
/* 028BE08C */ _t33 = cpu->r[1] + 0x00000014u;
/* 028BE08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028BE090 */ _t34 = cpu->r[1] + 0x00000008u;
/* 028BE090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
/* 028BE094 */ cpu->lr = cpu->r[0];
/* 028BE098 */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028BE098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
/* 028BE09C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE0A0 */ return;
}
// fn_028BE0A4 @ 0x28be0a4
void Gambit_fn_028BE0A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BE0A4: ; // 0x28be0a4
/* 028BE0A4 */ cpu->r[0] = cpu->lr;
/* 028BE0A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE0A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE0A8 */ cpu->r[1] = _t0;
/* 028BE0AC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BE0AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BE0B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BE0B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BE0B4 */ cpu->r[31] = cpu->r[3];
/* 028BE0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BE0B8 */ cpu->r[30] = cpu->r[4];
/* 028BE0BC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BE0BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BE0C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE0C0 */ _t5 = _t4 & 0x00000001u;
/* 028BE0C0 */ if (_t5) goto L_028BE0F4; else goto L_028BE0C4;
L_028BE0C4: ; // 0x28be0c4
/* 028BE0C4 */ cpu->r[0] = 0x10140000u;
/* 028BE0C8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9118u;
/* 028BE0CC */ cpu->r[3] = cpu->r[31];
/* 028BE0D0 */ _t6 = cpu->r[31] + 0x000001DCu;
/* 028BE0D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BE0D4 */ Gambit_fn_028BDFC8(cpu);
/* 028BE0D8 */ cpu->r[3] = cpu->r[31] + 0x00000140u;
/* 028BE0DC */ cpu->r[4] = 0x00000002u;
/* 028BE0E0 */ Gambit_fn_028E1454(cpu);
/* 028BE0E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BE0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BE0E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE0E8 */ _t8 = _t7 & 0x00000001u;
/* 028BE0E8 */ if (_t8) goto L_028BE0F4; else goto L_028BE0EC;
L_028BE0EC: ; // 0x28be0ec
/* 028BE0EC */ cpu->r[3] = cpu->r[31];
/* 028BE0F0 */ Gambit_fn_02801BB0(cpu);
L_028BE0F4: ; // 0x28be0f4
/* 028BE0F4 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BE0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE0F8 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BE0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BE0FC */ cpu->lr = cpu->r[0];
/* 028BE100 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BE100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BE104 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE108 */ return;
}
// fn_028BE0A8 @ 0x28be0a8
void Gambit_fn_028BE0A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BE0A8: ; // 0x28be0a8
/* 028BE0A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE0A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE0A8 */ cpu->r[1] = _t0;
/* 028BE0AC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BE0AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BE0B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BE0B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BE0B4 */ cpu->r[31] = cpu->r[3];
/* 028BE0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BE0B8 */ cpu->r[30] = cpu->r[4];
/* 028BE0BC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BE0BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BE0C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE0C0 */ _t5 = _t4 & 0x00000001u;
/* 028BE0C0 */ if (_t5) goto L_028BE0F4; else goto L_028BE0C4;
L_028BE0C4: ; // 0x28be0c4
/* 028BE0C4 */ cpu->r[0] = 0x10140000u;
/* 028BE0C8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9118u;
/* 028BE0CC */ cpu->r[3] = cpu->r[31];
/* 028BE0D0 */ _t6 = cpu->r[31] + 0x000001DCu;
/* 028BE0D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BE0D4 */ Gambit_fn_028BDFC8(cpu);
/* 028BE0D8 */ cpu->r[3] = cpu->r[31] + 0x00000140u;
/* 028BE0DC */ cpu->r[4] = 0x00000002u;
/* 028BE0E0 */ Gambit_fn_028E1454(cpu);
/* 028BE0E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BE0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BE0E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE0E8 */ _t8 = _t7 & 0x00000001u;
/* 028BE0E8 */ if (_t8) goto L_028BE0F4; else goto L_028BE0EC;
L_028BE0EC: ; // 0x28be0ec
/* 028BE0EC */ cpu->r[3] = cpu->r[31];
/* 028BE0F0 */ Gambit_fn_02801BB0(cpu);
L_028BE0F4: ; // 0x28be0f4
/* 028BE0F4 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BE0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE0F8 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BE0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028BE0FC */ cpu->lr = cpu->r[0];
/* 028BE100 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BE100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BE104 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE108 */ return;
}
// fn_028BE10C @ 0x28be10c
void Gambit_fn_028BE10C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BE10C: ; // 0x28be10c
/* 028BE10C */ cpu->r[0] = cpu->lr;
/* 028BE110 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE110 */ cpu->r[1] = _t0;
/* 028BE114 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BE114 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BE118 */ cpu->r[31] = cpu->r[3];
/* 028BE11C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BE11C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BE120 */ _t3 = cpu->r[31] + 0x00000130u;
/* 028BE120 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BE124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE128 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE128 */ _t5 = _t4 & 0x00000001u;
/* 028BE128 */ if (_t5) goto L_028BE158; else goto L_028BE12C;
L_028BE12C: ; // 0x28be12c
/* 028BE12C */ _t6 = cpu->r[3] + 0x00000004u;
/* 028BE12C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BE130 */ _t7 = cpu->r[12] + 0x00000044u;
/* 028BE130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BE134 */ cpu->ctr = cpu->r[0];
/* 028BE138 */ _t8 = cpu->r[31] + 0x00000188u;
/* 028BE138 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
/* 028BE13C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BE140 */ _t9 = cpu->r[31] + 0x00000130u;
/* 028BE140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028BE144 */ _t10 = cpu->r[3] + 0x00000004u;
/* 028BE144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028BE148 */ _t11 = cpu->r[12] + 0x0000004Cu;
/* 028BE148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BE14C */ cpu->ctr = cpu->r[0];
/* 028BE150 */ _t12 = cpu->r[31] + 0x00000196u;
/* 028BE150 */ cpu->r[4] = rbrew_read16(cpu->mem, _t12);
/* 028BE154 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BE158: ; // 0x28be158
/* 028BE158 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BE158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BE15C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BE15C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BE160 */ cpu->lr = cpu->r[0];
/* 028BE164 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE168 */ return;
}
// fn_028BE110 @ 0x28be110
void Gambit_fn_028BE110(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BE110: ; // 0x28be110
/* 028BE110 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE110 */ cpu->r[1] = _t0;
/* 028BE114 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BE114 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BE118 */ cpu->r[31] = cpu->r[3];
/* 028BE11C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BE11C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BE120 */ _t3 = cpu->r[31] + 0x00000130u;
/* 028BE120 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028BE124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE128 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE128 */ _t5 = _t4 & 0x00000001u;
/* 028BE128 */ if (_t5) goto L_028BE158; else goto L_028BE12C;
L_028BE12C: ; // 0x28be12c
/* 028BE12C */ _t6 = cpu->r[3] + 0x00000004u;
/* 028BE12C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BE130 */ _t7 = cpu->r[12] + 0x00000044u;
/* 028BE130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BE134 */ cpu->ctr = cpu->r[0];
/* 028BE138 */ _t8 = cpu->r[31] + 0x00000188u;
/* 028BE138 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
/* 028BE13C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BE140 */ _t9 = cpu->r[31] + 0x00000130u;
/* 028BE140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028BE144 */ _t10 = cpu->r[3] + 0x00000004u;
/* 028BE144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028BE148 */ _t11 = cpu->r[12] + 0x0000004Cu;
/* 028BE148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BE14C */ cpu->ctr = cpu->r[0];
/* 028BE150 */ _t12 = cpu->r[31] + 0x00000196u;
/* 028BE150 */ cpu->r[4] = rbrew_read16(cpu->mem, _t12);
/* 028BE154 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BE158: ; // 0x28be158
/* 028BE158 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BE158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BE15C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BE15C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BE160 */ cpu->lr = cpu->r[0];
/* 028BE164 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE168 */ return;
}
// fn_028BE16C @ 0x28be16c
void Gambit_fn_028BE16C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
L_028BE16C: ; // 0x28be16c
/* 028BE16C */ cpu->r[0] = cpu->lr;
/* 028BE170 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BE170 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE170 */ cpu->r[1] = _t0;
/* 028BE174 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028BE174 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BE178 */ cpu->r[31] = cpu->r[3];
/* 028BE17C */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE180 */ cpu->r[4] = cpu->r[31] + 0x0000002Cu;
/* 028BE184 */ cpu->r[5] = cpu->r[31] + 0x00000078u;
/* 028BE188 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028BE188 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BE18C */ Gambit_fn_028BD820(cpu);
/* 028BE190 */ _t3 = cpu->r[31] + 0x0000012Cu;
/* 028BE190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BE194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BE198 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE198 */ _t5 = _t4 & 0x00000001u;
/* 028BE198 */ if (_t5) goto L_028BE1A8; else goto L_028BE19C;
L_028BE19C: ; // 0x28be19c
/* 028BE19C */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE1A0 */ cpu->r[4] = cpu->r[12] + 0x000000A0u;
/* 028BE1A4 */ Gambit_fn_028BD6E8(cpu);
L_028BE1A8: ; // 0x28be1a8
/* 028BE1A8 */ _t6 = cpu->r[31] + 0x00000128u;
/* 028BE1A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028BE1AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BE1B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE1B0 */ _t8 = _t7 & 0x00000001u;
/* 028BE1B0 */ if (_t8) goto L_028BE1C0; else goto L_028BE1B4;
L_028BE1B4: ; // 0x28be1b4
/* 028BE1B4 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE1B8 */ cpu->r[4] = cpu->r[8] + 0x000000F4u;
/* 028BE1BC */ Gambit_fn_028BD6E8(cpu);
L_028BE1C0: ; // 0x28be1c0
/* 028BE1C0 */ _t9 = cpu->r[31] + 0x000001A0u;
/* 028BE1C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BE1C8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE1C8 */ _t11 = _t10 & 0x00000001u;
/* 028BE1C8 */ if (_t11) goto L_028BE1CC; else goto L_028BE1D8;
L_028BE1CC: ; // 0x28be1cc
/* 028BE1CC */ _t12 = cpu->r[31] + 0x00000130u;
/* 028BE1CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028BE1D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BE1D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE1D4 */ _t14 = _t13 & 0x00000001u;
/* 028BE1D4 */ if (_t14) goto L_028BE1F0; else goto L_028BE1D8;
L_028BE1D8: ; // 0x28be1d8
/* 028BE1D8 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE1DC */ Gambit_fn_028BD584(cpu);
/* 028BE1E0 */ _t15 = cpu->r[31] + 0x00000130u;
/* 028BE1E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BE1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE1E8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE1E8 */ _t17 = _t16 & 0x00000001u;
/* 028BE1E8 */ if (_t17) goto L_028BE250; else goto L_028BE1EC;
L_028BE1EC: ; // 0x28be1ec
/* 028BE1EC */ goto L_028BE204;
L_028BE1F0: ; // 0x28be1f0
/* 028BE1F0 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE1F4 */ Gambit_fn_028BD3DC(cpu);
/* 028BE1F8 */ _t18 = cpu->r[31] + 0x00000130u;
/* 028BE1F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028BE1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE200 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE200 */ _t20 = _t19 & 0x00000001u;
/* 028BE200 */ if (_t20) goto L_028BE250; else goto L_028BE204;
L_028BE204: ; // 0x28be204
/* 028BE204 */ _t21 = cpu->r[3] + 0x00000004u;
/* 028BE204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
/* 028BE208 */ cpu->r[10] = 0x00000000u;
/* 028BE20C */ _t22 = cpu->r[1] + 0x00000008u;
/* 028BE20C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028BE210 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028BE210 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028BE214 */ _t24 = cpu->r[9] + 0x00000054u;
/* 028BE214 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028BE218 */ _t25 = cpu->r[31] + 0x000000C8u;
/* 028BE218 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
/* 028BE21C */ cpu->ctr = cpu->r[9];
/* 028BE220 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE224 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BE228 */ _t26 = cpu->r[31] + 0x00000130u;
/* 028BE228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028BE22C */ cpu->r[11] = 0x00000001u;
/* 028BE230 */ _t27 = cpu->r[3] + 0x00000004u;
/* 028BE230 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
/* 028BE234 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028BE234 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
/* 028BE238 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028BE238 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
/* 028BE23C */ _t30 = cpu->r[10] + 0x00000054u;
/* 028BE23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028BE240 */ _t31 = cpu->r[31] + 0x000000CCu;
/* 028BE240 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t31);
/* 028BE244 */ cpu->ctr = cpu->r[0];
/* 028BE248 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BE24C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BE250: ; // 0x28be250
/* 028BE250 */ _t32 = cpu->r[1] + 0x0000001Cu;
/* 028BE250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028BE254 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028BE254 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
/* 028BE258 */ cpu->lr = cpu->r[0];
/* 028BE25C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BE260 */ return;
}
// fn_028BE170 @ 0x28be170
void Gambit_fn_028BE170(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
L_028BE170: ; // 0x28be170
/* 028BE170 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BE170 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE170 */ cpu->r[1] = _t0;
/* 028BE174 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028BE174 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BE178 */ cpu->r[31] = cpu->r[3];
/* 028BE17C */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE180 */ cpu->r[4] = cpu->r[31] + 0x0000002Cu;
/* 028BE184 */ cpu->r[5] = cpu->r[31] + 0x00000078u;
/* 028BE188 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028BE188 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BE18C */ Gambit_fn_028BD820(cpu);
/* 028BE190 */ _t3 = cpu->r[31] + 0x0000012Cu;
/* 028BE190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BE194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BE198 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE198 */ _t5 = _t4 & 0x00000001u;
/* 028BE198 */ if (_t5) goto L_028BE1A8; else goto L_028BE19C;
L_028BE19C: ; // 0x28be19c
/* 028BE19C */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE1A0 */ cpu->r[4] = cpu->r[12] + 0x000000A0u;
/* 028BE1A4 */ Gambit_fn_028BD6E8(cpu);
L_028BE1A8: ; // 0x28be1a8
/* 028BE1A8 */ _t6 = cpu->r[31] + 0x00000128u;
/* 028BE1A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028BE1AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BE1B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE1B0 */ _t8 = _t7 & 0x00000001u;
/* 028BE1B0 */ if (_t8) goto L_028BE1C0; else goto L_028BE1B4;
L_028BE1B4: ; // 0x28be1b4
/* 028BE1B4 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE1B8 */ cpu->r[4] = cpu->r[8] + 0x000000F4u;
/* 028BE1BC */ Gambit_fn_028BD6E8(cpu);
L_028BE1C0: ; // 0x28be1c0
/* 028BE1C0 */ _t9 = cpu->r[31] + 0x000001A0u;
/* 028BE1C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BE1C8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE1C8 */ _t11 = _t10 & 0x00000001u;
/* 028BE1C8 */ if (_t11) goto L_028BE1CC; else goto L_028BE1D8;
L_028BE1CC: ; // 0x28be1cc
/* 028BE1CC */ _t12 = cpu->r[31] + 0x00000130u;
/* 028BE1CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028BE1D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BE1D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE1D4 */ _t14 = _t13 & 0x00000001u;
/* 028BE1D4 */ if (_t14) goto L_028BE1F0; else goto L_028BE1D8;
L_028BE1D8: ; // 0x28be1d8
/* 028BE1D8 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE1DC */ Gambit_fn_028BD584(cpu);
/* 028BE1E0 */ _t15 = cpu->r[31] + 0x00000130u;
/* 028BE1E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BE1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE1E8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE1E8 */ _t17 = _t16 & 0x00000001u;
/* 028BE1E8 */ if (_t17) goto L_028BE250; else goto L_028BE1EC;
L_028BE1EC: ; // 0x28be1ec
/* 028BE1EC */ goto L_028BE204;
L_028BE1F0: ; // 0x28be1f0
/* 028BE1F0 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BE1F4 */ Gambit_fn_028BD3DC(cpu);
/* 028BE1F8 */ _t18 = cpu->r[31] + 0x00000130u;
/* 028BE1F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028BE1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE200 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE200 */ _t20 = _t19 & 0x00000001u;
/* 028BE200 */ if (_t20) goto L_028BE250; else goto L_028BE204;
L_028BE204: ; // 0x28be204
/* 028BE204 */ _t21 = cpu->r[3] + 0x00000004u;
/* 028BE204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
/* 028BE208 */ cpu->r[10] = 0x00000000u;
/* 028BE20C */ _t22 = cpu->r[1] + 0x00000008u;
/* 028BE20C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028BE210 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028BE210 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028BE214 */ _t24 = cpu->r[9] + 0x00000054u;
/* 028BE214 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028BE218 */ _t25 = cpu->r[31] + 0x000000C8u;
/* 028BE218 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
/* 028BE21C */ cpu->ctr = cpu->r[9];
/* 028BE220 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE224 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BE228 */ _t26 = cpu->r[31] + 0x00000130u;
/* 028BE228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028BE22C */ cpu->r[11] = 0x00000001u;
/* 028BE230 */ _t27 = cpu->r[3] + 0x00000004u;
/* 028BE230 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
/* 028BE234 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028BE234 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
/* 028BE238 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028BE238 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
/* 028BE23C */ _t30 = cpu->r[10] + 0x00000054u;
/* 028BE23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028BE240 */ _t31 = cpu->r[31] + 0x000000CCu;
/* 028BE240 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t31);
/* 028BE244 */ cpu->ctr = cpu->r[0];
/* 028BE248 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BE24C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028BE250: ; // 0x28be250
/* 028BE250 */ _t32 = cpu->r[1] + 0x0000001Cu;
/* 028BE250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028BE254 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028BE254 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
/* 028BE258 */ cpu->lr = cpu->r[0];
/* 028BE25C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BE260 */ return;
}
// fn_028BE264 @ 0x28be264
void Gambit_fn_028BE264(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BE264: ; // 0x28be264
/* 028BE264 */ cpu->r[0] = cpu->lr;
/* 028BE268 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE268 */ cpu->r[1] = _t0;
/* 028BE26C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BE26C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BE270 */ cpu->r[31] = cpu->r[3];
/* 028BE274 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BE274 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BE278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BE27C */ _t3 = cpu->r[31] + 0x00000130u;
/* 028BE27C */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
/* 028BE280 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE280 */ _t5 = _t4 & 0x00000001u;
/* 028BE280 */ if (_t5) goto L_028BE298; else goto L_028BE284;
L_028BE284: ; // 0x28be284
/* 028BE284 */ cpu->r[3] = cpu->r[31];
/* 028BE288 */ _t6 = cpu->r[4] + 0x00000000u;
/* 028BE288 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
/* 028BE28C */ Gambit_fn_028BE10C(cpu);
/* 028BE290 */ cpu->r[3] = cpu->r[31];
/* 028BE294 */ Gambit_fn_028BE16C(cpu);
L_028BE298: ; // 0x28be298
/* 028BE298 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BE298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BE29C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BE29C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BE2A0 */ cpu->lr = cpu->r[0];
/* 028BE2A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE2A8 */ return;
}
// fn_028BE268 @ 0x28be268
void Gambit_fn_028BE268(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BE268: ; // 0x28be268
/* 028BE268 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE268 */ cpu->r[1] = _t0;
/* 028BE26C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BE26C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BE270 */ cpu->r[31] = cpu->r[3];
/* 028BE274 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BE274 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BE278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BE27C */ _t3 = cpu->r[31] + 0x00000130u;
/* 028BE27C */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
/* 028BE280 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE280 */ _t5 = _t4 & 0x00000001u;
/* 028BE280 */ if (_t5) goto L_028BE298; else goto L_028BE284;
L_028BE284: ; // 0x28be284
/* 028BE284 */ cpu->r[3] = cpu->r[31];
/* 028BE288 */ _t6 = cpu->r[4] + 0x00000000u;
/* 028BE288 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
/* 028BE28C */ Gambit_fn_028BE10C(cpu);
/* 028BE290 */ cpu->r[3] = cpu->r[31];
/* 028BE294 */ Gambit_fn_028BE16C(cpu);
L_028BE298: ; // 0x28be298
/* 028BE298 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BE298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BE29C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BE29C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BE2A0 */ cpu->lr = cpu->r[0];
/* 028BE2A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE2A8 */ return;
}
// fn_028BE2AC @ 0x28be2ac
void Gambit_fn_028BE2AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028BE2AC: ; // 0x28be2ac
/* 028BE2AC */ cpu->r[0] = cpu->lr;
/* 028BE2B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE2B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE2B0 */ cpu->r[1] = _t0;
/* 028BE2B4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BE2B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BE2B8 */ cpu->r[30] = cpu->r[3];
/* 028BE2BC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BE2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BE2C0 */ cpu->r[3] = 0x101D0000u;
/* 028BE2C4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BE2C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BE2C8 */ _t4 = cpu->r[3] + 0xFFFF9AA8u;
/* 028BE2C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BE2CC */ cpu->r[31] = cpu->r[4];
/* 028BE2D0 */ Gambit_fn_028C9DDC(cpu);
/* 028BE2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE2D8 */ _t5 = cpu->r[30] + 0x00000124u;
/* 028BE2D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
/* 028BE2DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE2DC */ _t7 = _t6 & 0x00000001u;
/* 028BE2DC */ if (_t7) goto L_028BE350; else goto L_028BE2E0;
L_028BE2E0: ; // 0x28be2e0
/* 028BE2E0 */ _t8 = cpu->r[31] + 0x000000E8u;
/* 028BE2E0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t8);
/* 028BE2E4 */ cpu->r[4] = 0x00000000u;
/* 028BE2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028BE2EC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE2EC */ _t10 = _t9 & 0x00000001u;
/* 028BE2EC */ if (_t10) goto L_028BE2F0; else goto L_028BE350;
L_028BE2F0: ; // 0x28be2f0
/* 028BE2F0 */ cpu->r[5] = 0x00000000u;
/* 028BE2F4 */ cpu->r[0] = 0x00000001u;
/* 028BE2F8 */ cpu->r[9] = cpu->r[5];
/* 028BE2FC */ cpu->r[7] = 0x00000004u;
/* 028BE300 */ cpu->r[10] = cpu->r[31] + 0x000000E4u;
L_028BE304: ; // 0x28be304
/* 028BE304 */ _t11 = cpu->r[10] + 0x00000008u;
/* 028BE304 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028BE304 */ cpu->r[10] = _t11;
/* 028BE308 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
/* 028BE30C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE30C */ _t13 = _t12 & 0x00000001u;
/* 028BE30C */ if (_t13) goto L_028BE368; else goto L_028BE310;
L_028BE310: ; // 0x28be310
/* 028BE310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BE314 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE314 */ _t15 = _t14 & 0x00000001u;
/* 028BE314 */ if (_t15) goto L_028BE318; else goto L_028BE31C;
L_028BE318: ; // 0x28be318
/* 028BE318 */ cpu->r[3] = cpu->r[3] + cpu->r[5];
L_028BE31C: ; // 0x28be31c
/* 028BE31C */ _t16 = cpu->r[3] + 0x00000000u;
/* 028BE31C */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
/* 028BE320 */ _t17 = cpu->r[3] + 0x00000000u;
/* 028BE320 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028BE324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BE328 */ _t18 = cpu->r[30] + 0x00000124u;
/* 028BE328 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028BE32C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE32C */ _t20 = _t19 & 0x00000001u;
/* 028BE32C */ if (_t20) goto L_028BE330; else goto L_028BE334;
L_028BE330: ; // 0x28be330
/* 028BE330 */ cpu->r[12] = cpu->r[12] + cpu->r[5];
L_028BE334: ; // 0x28be334
/* 028BE334 */ _t21 = cpu->r[12] + 0x00000008u;
/* 028BE334 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
/* 028BE338 */ _t22 = cpu->r[31] + 0x000000E8u;
/* 028BE338 */ cpu->r[8] = rbrew_read16(cpu->mem, _t22);
/* 028BE33C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028BE340 */ cpu->r[5] = cpu->r[5] + 0x00000010u;
/* 028BE344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
/* 028BE348 */ _t23 = cpu->r[12] + 0x00000008u;
/* 028BE348 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
/* 028BE34C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE34C */ _t25 = _t24 & 0x00000001u;
/* 028BE34C */ if (_t25) goto L_028BE3A8; else goto L_028BE350;
L_028BE350: ; // 0x28be350
/* 028BE350 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028BE350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028BE354 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028BE354 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028BE358 */ cpu->lr = cpu->r[0];
/* 028BE35C */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028BE35C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
/* 028BE360 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE364 */ return;
L_028BE368: ; // 0x28be368
/* 028BE368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BE36C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE36C */ _t30 = _t29 & 0x00000001u;
/* 028BE36C */ if (_t30) goto L_028BE370; else goto L_028BE374;
L_028BE370: ; // 0x28be370
/* 028BE370 */ cpu->r[3] = cpu->r[3] + cpu->r[5];
L_028BE374: ; // 0x28be374
/* 028BE374 */ _t31 = cpu->r[3] + 0x00000000u;
/* 028BE374 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
/* 028BE378 */ _t32 = cpu->r[3] + 0x00000000u;
/* 028BE378 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
/* 028BE37C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BE380 */ _t33 = cpu->r[30] + 0x00000124u;
/* 028BE380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
/* 028BE384 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE384 */ _t35 = _t34 & 0x00000001u;
/* 028BE384 */ if (_t35) goto L_028BE388; else goto L_028BE38C;
L_028BE388: ; // 0x28be388
/* 028BE388 */ cpu->r[11] = cpu->r[11] + cpu->r[5];
L_028BE38C: ; // 0x28be38c
/* 028BE38C */ _t36 = cpu->r[11] + 0x00000008u;
/* 028BE38C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
/* 028BE390 */ _t37 = cpu->r[31] + 0x000000E8u;
/* 028BE390 */ cpu->r[8] = rbrew_read16(cpu->mem, _t37);
/* 028BE394 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028BE398 */ cpu->r[5] = cpu->r[5] + 0x00000010u;
/* 028BE39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
/* 028BE3A0 */ _t38 = cpu->r[11] + 0x00000008u;
/* 028BE3A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
/* 028BE3A4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE3A4 */ _t40 = _t39 & 0x00000001u;
/* 028BE3A4 */ if (_t40) goto L_028BE3A8; else goto L_028BE350;
L_028BE3A8: ; // 0x28be3a8
/* 028BE3A8 */ _t41 = cpu->r[30] + 0x00000124u;
/* 028BE3A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
/* 028BE3AC */ goto L_028BE304;
}
// fn_028BE2B0 @ 0x28be2b0
void Gambit_fn_028BE2B0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028BE2B0: ; // 0x28be2b0
/* 028BE2B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE2B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE2B0 */ cpu->r[1] = _t0;
/* 028BE2B4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BE2B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BE2B8 */ cpu->r[30] = cpu->r[3];
/* 028BE2BC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BE2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BE2C0 */ cpu->r[3] = 0x101D0000u;
/* 028BE2C4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BE2C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BE2C8 */ _t4 = cpu->r[3] + 0xFFFF9AA8u;
/* 028BE2C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BE2CC */ cpu->r[31] = cpu->r[4];
/* 028BE2D0 */ Gambit_fn_028C9DDC(cpu);
/* 028BE2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE2D8 */ _t5 = cpu->r[30] + 0x00000124u;
/* 028BE2D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
/* 028BE2DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE2DC */ _t7 = _t6 & 0x00000001u;
/* 028BE2DC */ if (_t7) goto L_028BE350; else goto L_028BE2E0;
L_028BE2E0: ; // 0x28be2e0
/* 028BE2E0 */ _t8 = cpu->r[31] + 0x000000E8u;
/* 028BE2E0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t8);
/* 028BE2E4 */ cpu->r[4] = 0x00000000u;
/* 028BE2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
/* 028BE2EC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE2EC */ _t10 = _t9 & 0x00000001u;
/* 028BE2EC */ if (_t10) goto L_028BE2F0; else goto L_028BE350;
L_028BE2F0: ; // 0x28be2f0
/* 028BE2F0 */ cpu->r[5] = 0x00000000u;
/* 028BE2F4 */ cpu->r[0] = 0x00000001u;
/* 028BE2F8 */ cpu->r[9] = cpu->r[5];
/* 028BE2FC */ cpu->r[7] = 0x00000004u;
/* 028BE300 */ cpu->r[10] = cpu->r[31] + 0x000000E4u;
L_028BE304: ; // 0x28be304
/* 028BE304 */ _t11 = cpu->r[10] + 0x00000008u;
/* 028BE304 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028BE304 */ cpu->r[10] = _t11;
/* 028BE308 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
/* 028BE30C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE30C */ _t13 = _t12 & 0x00000001u;
/* 028BE30C */ if (_t13) goto L_028BE368; else goto L_028BE310;
L_028BE310: ; // 0x28be310
/* 028BE310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BE314 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE314 */ _t15 = _t14 & 0x00000001u;
/* 028BE314 */ if (_t15) goto L_028BE318; else goto L_028BE31C;
L_028BE318: ; // 0x28be318
/* 028BE318 */ cpu->r[3] = cpu->r[3] + cpu->r[5];
L_028BE31C: ; // 0x28be31c
/* 028BE31C */ _t16 = cpu->r[3] + 0x00000000u;
/* 028BE31C */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
/* 028BE320 */ _t17 = cpu->r[3] + 0x00000000u;
/* 028BE320 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028BE324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BE328 */ _t18 = cpu->r[30] + 0x00000124u;
/* 028BE328 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028BE32C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE32C */ _t20 = _t19 & 0x00000001u;
/* 028BE32C */ if (_t20) goto L_028BE330; else goto L_028BE334;
L_028BE330: ; // 0x28be330
/* 028BE330 */ cpu->r[12] = cpu->r[12] + cpu->r[5];
L_028BE334: ; // 0x28be334
/* 028BE334 */ _t21 = cpu->r[12] + 0x00000008u;
/* 028BE334 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
/* 028BE338 */ _t22 = cpu->r[31] + 0x000000E8u;
/* 028BE338 */ cpu->r[8] = rbrew_read16(cpu->mem, _t22);
/* 028BE33C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028BE340 */ cpu->r[5] = cpu->r[5] + 0x00000010u;
/* 028BE344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
/* 028BE348 */ _t23 = cpu->r[12] + 0x00000008u;
/* 028BE348 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
/* 028BE34C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE34C */ _t25 = _t24 & 0x00000001u;
/* 028BE34C */ if (_t25) goto L_028BE3A8; else goto L_028BE350;
L_028BE350: ; // 0x28be350
/* 028BE350 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028BE350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028BE354 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028BE354 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028BE358 */ cpu->lr = cpu->r[0];
/* 028BE35C */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028BE35C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
/* 028BE360 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE364 */ return;
L_028BE368: ; // 0x28be368
/* 028BE368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BE36C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE36C */ _t30 = _t29 & 0x00000001u;
/* 028BE36C */ if (_t30) goto L_028BE370; else goto L_028BE374;
L_028BE370: ; // 0x28be370
/* 028BE370 */ cpu->r[3] = cpu->r[3] + cpu->r[5];
L_028BE374: ; // 0x28be374
/* 028BE374 */ _t31 = cpu->r[3] + 0x00000000u;
/* 028BE374 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
/* 028BE378 */ _t32 = cpu->r[3] + 0x00000000u;
/* 028BE378 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
/* 028BE37C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BE380 */ _t33 = cpu->r[30] + 0x00000124u;
/* 028BE380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
/* 028BE384 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE384 */ _t35 = _t34 & 0x00000001u;
/* 028BE384 */ if (_t35) goto L_028BE388; else goto L_028BE38C;
L_028BE388: ; // 0x28be388
/* 028BE388 */ cpu->r[11] = cpu->r[11] + cpu->r[5];
L_028BE38C: ; // 0x28be38c
/* 028BE38C */ _t36 = cpu->r[11] + 0x00000008u;
/* 028BE38C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
/* 028BE390 */ _t37 = cpu->r[31] + 0x000000E8u;
/* 028BE390 */ cpu->r[8] = rbrew_read16(cpu->mem, _t37);
/* 028BE394 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028BE398 */ cpu->r[5] = cpu->r[5] + 0x00000010u;
/* 028BE39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
/* 028BE3A0 */ _t38 = cpu->r[11] + 0x00000008u;
/* 028BE3A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
/* 028BE3A4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE3A4 */ _t40 = _t39 & 0x00000001u;
/* 028BE3A4 */ if (_t40) goto L_028BE3A8; else goto L_028BE350;
L_028BE3A8: ; // 0x28be3a8
/* 028BE3A8 */ _t41 = cpu->r[30] + 0x00000124u;
/* 028BE3A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
/* 028BE3AC */ goto L_028BE304;
}
// fn_028BE3B0 @ 0x28be3b0
void Gambit_fn_028BE3B0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028BE3B0: ; // 0x28be3b0
/* 028BE3B0 */ _t0 = cpu->r[3] + 0x0000013Cu;
/* 028BE3B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BE3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BE3B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE3B8 */ _t2 = _t1 & 0x00000001u;
/* 028BE3B8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BE3B8 */ goto L_028BE3BC;
L_028BE3BC: ; // 0x28be3bc
/* 028BE3BC */ _t3 = cpu->r[4] + 0x000000E0u;
/* 028BE3BC */ cpu->r[11] = rbrew_read16(cpu->mem, _t3);
/* 028BE3C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
/* 028BE3C4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE3C4 */ _t5 = _t4 & 0x00000001u;
/* 028BE3C4 */ if (_t5) goto L_028BE3E4; else goto L_028BE3C8;
L_028BE3C8: ; // 0x28be3c8
/* 028BE3C8 */ cpu->r[0] = 0x00000004u;
/* 028BE3CC */ _t6 = cpu->r[12] + 0x00000000u;
/* 028BE3CC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BE3D0 */ _t7 = cpu->r[3] + 0x0000013Cu;
/* 028BE3D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028BE3D4 */ _t8 = cpu->r[12] + 0x00000000u;
/* 028BE3D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028BE3D8 */ _t9 = cpu->r[11] + 0x00000008u;
/* 028BE3D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028BE3DC */ _t10 = cpu->r[11] + 0x00000008u;
/* 028BE3DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028BE3E0 */ return;
L_028BE3E4: ; // 0x28be3e4
/* 028BE3E4 */ cpu->r[0] = 0x00000000u;
/* 028BE3E8 */ _t11 = cpu->r[12] + 0x00000000u;
/* 028BE3E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028BE3EC */ _t12 = cpu->r[3] + 0x0000013Cu;
/* 028BE3EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028BE3F0 */ cpu->r[10] = 0x00000001u;
/* 028BE3F4 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028BE3F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
/* 028BE3F8 */ _t14 = cpu->r[11] + 0x00000008u;
/* 028BE3F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
/* 028BE3FC */ _t15 = cpu->r[11] + 0x00000008u;
/* 028BE3FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BE400 */ return;
}
// fn_028BE404 @ 0x28be404
void Gambit_fn_028BE404(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
L_028BE404: ; // 0x28be404
/* 028BE404 */ cpu->r[0] = cpu->lr;
/* 028BE408 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BE408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE408 */ cpu->r[1] = _t0;
/* 028BE40C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BE40C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BE410 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BE410 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BE414 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BE414 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BE418 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BE418 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BE41C */ cpu->r[29] = cpu->r[3];
/* 028BE420 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028BE420 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
/* 028BE424 */ cpu->r[31] = cpu->r[5];
/* 028BE428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BE42C */ cpu->r[30] = cpu->r[4];
/* 028BE430 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE430 */ _t7 = _t6 & 0x00000001u;
/* 028BE430 */ if (_t7) goto L_028BE47C; else goto L_028BE434;
L_028BE434: ; // 0x28be434
/* 028BE434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BE438 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE438 */ _t9 = _t8 & 0x00000001u;
/* 028BE438 */ if (_t9) goto L_028BE43C; else goto L_028BE44C;
L_028BE43C: ; // 0x28be43c
/* 028BE43C */ _t10 = cpu->r[29] + 0x00000128u;
/* 028BE43C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
/* 028BE440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BE444 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE444 */ _t12 = _t11 & 0x00000001u;
/* 028BE444 */ if (_t12) goto L_028BE448; else goto L_028BE468;
L_028BE448: ; // 0x28be448
/* 028BE448 */ goto L_028BE45C;
L_028BE44C: ; // 0x28be44c
/* 028BE44C */ _t13 = cpu->r[31] + 0x00000000u;
/* 028BE44C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
/* 028BE450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BE454 */ _t14 = cpu->r[29] + 0x00000128u;
/* 028BE454 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
/* 028BE458 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE458 */ _t16 = _t15 & 0x00000001u;
/* 028BE458 */ if (_t16) goto L_028BE45C; else goto L_028BE468;
L_028BE45C: ; // 0x28be45c
/* 028BE45C */ Gambit_fn_028C29F4(cpu);
/* 028BE460 */ _t17 = cpu->r[3] + 0x0000000Cu;
/* 028BE460 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
/* 028BE464 */ _t18 = cpu->r[29] + 0x00000128u;
/* 028BE464 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
L_028BE468: ; // 0x28be468
/* 028BE468 */ _t19 = cpu->r[8] + 0x0000016Cu;
/* 028BE468 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
/* 028BE46C */ cpu->r[12] = cpu->r[11] ^ 0x000000FFu;
/* 028BE470 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
/* 028BE474 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028BE474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BE478 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE478 */ _t21 = _t20 & 0x00000001u;
/* 028BE478 */ if (_t21) goto L_028BE47C; else goto L_028BE49C;
L_028BE47C: ; // 0x28be47c
/* 028BE47C */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028BE47C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028BE480 */ _t23 = cpu->r[1] + 0x0000001Cu;
/* 028BE480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BE484 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028BE484 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
/* 028BE488 */ cpu->lr = cpu->r[0];
/* 028BE48C */ _t25 = cpu->r[1] + 0x00000014u;
/* 028BE48C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028BE490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BE494 */ cpu->r[3] = 0x00000000u;
/* 028BE498 */ return;
L_028BE49C: ; // 0x28be49c
/* 028BE49C */ _t26 = cpu->r[29] + 0x00000134u;
/* 028BE49C */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
/* 028BE4A0 */ _t27 = cpu->r[10] + 0x00000000u;
/* 028BE4A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
/* 028BE4A4 */ cpu->r[4] = cpu->r[30];
/* 028BE4A8 */ Gambit_fn_028EABE4(cpu);
/* 028BE4AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BE4B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE4B0 */ _t29 = _t28 & 0x00000001u;
/* 028BE4B0 */ if (_t29) goto L_028BE4C8; else goto L_028BE4B4;
L_028BE4B4: ; // 0x28be4b4
/* 028BE4B4 */ _t30 = cpu->r[31] + 0x00000004u;
/* 028BE4B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
/* 028BE4B8 */ cpu->r[3] = cpu->r[29];
/* 028BE4BC */ Gambit_fn_028BE264(cpu);
/* 028BE4C0 */ _t31 = cpu->r[31] + 0x00000008u;
/* 028BE4C0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t31);
/* 028BE4C4 */ _t32 = cpu->r[29] + 0x0000000Cu;
/* 028BE4C4 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[9]);
L_028BE4C8: ; // 0x28be4c8
/* 028BE4C8 */ _t33 = cpu->r[29] + 0x00000128u;
/* 028BE4C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
/* 028BE4CC */ _t34 = cpu->r[29] + 0x00000134u;
/* 028BE4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
/* 028BE4D0 */ _t35 = cpu->r[8] + 0x00000168u;
/* 028BE4D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t35);
/* 028BE4D4 */ Gambit_fn_028EA364(cpu);
/* 028BE4D8 */ cpu->r[11] = 0x10140000u;
/* 028BE4DC */ _t36 = cpu->r[29] + 0x0000000Cu;
/* 028BE4DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t36);
/* 028BE4E0 */ _t37 = cpu->r[11] + 0xFFFF90F8u;
/* 028BE4E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
/* 028BE4E4 */ _t38 = cpu->r[29] + 0x00000114u;
/* 028BE4E4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
/* 028BE4E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BE4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BE4EC */ _t39 = cpu->r[29] + 0x00000118u;
/* 028BE4EC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
/* 028BE4F0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE4F0 */ _t41 = _t40 & 0x00000001u;
/* 028BE4F0 */ if (_t41) goto L_028BE4F4; else goto L_028BE500;
L_028BE4F4: ; // 0x28be4f4
/* 028BE4F4 */ cpu->r[3] = cpu->r[29] + 0x00000140u;
/* 028BE4F8 */ cpu->r[4] = 0x00000000u;
/* 028BE4FC */ Gambit_fn_028E1470(cpu);
L_028BE500: ; // 0x28be500
/* 028BE500 */ _t42 = cpu->r[30] + 0x0000004Cu;
/* 028BE500 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
/* 028BE504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u);
/* 028BE508 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE508 */ _t44 = _t43 & 0x00000001u;
/* 028BE508 */ if (_t44) goto L_028BE50C; else goto L_028BE534;
L_028BE50C: ; // 0x28be50c
/* 028BE50C */ _t45 = cpu->r[30] + 0x000000E8u;
/* 028BE50C */ cpu->r[6] = rbrew_read16(cpu->mem, _t45);
/* 028BE510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
/* 028BE514 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE514 */ _t47 = _t46 & 0x00000001u;
/* 028BE514 */ if (_t47) goto L_028BE518; else goto L_028BE534;
L_028BE518: ; // 0x28be518
/* 028BE518 */ cpu->r[3] = cpu->r[29];
/* 028BE51C */ cpu->r[4] = cpu->r[30];
/* 028BE520 */ Gambit_fn_028BE2AC(cpu);
/* 028BE524 */ Gambit_fn_028C2A3C(cpu);
/* 028BE528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE52C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE52C */ _t49 = _t48 & 0x00000001u;
/* 028BE52C */ if (_t49) goto L_028BE554; else goto L_028BE530;
L_028BE530: ; // 0x28be530
/* 028BE530 */ goto L_028BE54C;
L_028BE534: ; // 0x28be534
/* 028BE534 */ cpu->r[3] = cpu->r[29];
/* 028BE538 */ cpu->r[4] = cpu->r[30];
/* 028BE53C */ Gambit_fn_028BE3B0(cpu);
/* 028BE540 */ Gambit_fn_028C2A3C(cpu);
/* 028BE544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE548 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE548 */ _t51 = _t50 & 0x00000001u;
/* 028BE548 */ if (_t51) goto L_028BE554; else goto L_028BE54C;
L_028BE54C: ; // 0x28be54c
/* 028BE54C */ cpu->r[4] = cpu->r[29];
/* 028BE550 */ Gambit_fn_028CD024(cpu);
L_028BE554: ; // 0x28be554
/* 028BE554 */ cpu->r[0] = 0x00000002u;
/* 028BE558 */ cpu->r[3] = cpu->r[29];
/* 028BE55C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE560 */ _t52 = cpu->r[1] + 0x00000008u;
/* 028BE560 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028BE564 */ Gambit_fn_028BDAB0(cpu);
/* 028BE568 */ _t53 = cpu->r[29] + 0x00000128u;
/* 028BE568 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
/* 028BE56C */ cpu->r[4] = cpu->r[29];
/* 028BE570 */ Gambit_fn_028D3810(cpu);
/* 028BE574 */ _t54 = cpu->r[1] + 0x0000000Cu;
/* 028BE574 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
/* 028BE578 */ _t55 = cpu->r[1] + 0x0000001Cu;
/* 028BE578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028BE57C */ _t56 = cpu->r[1] + 0x00000010u;
/* 028BE57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028BE580 */ cpu->lr = cpu->r[0];
/* 028BE584 */ _t57 = cpu->r[1] + 0x00000014u;
/* 028BE584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
/* 028BE588 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BE58C */ cpu->r[3] = 0x00000001u;
/* 028BE590 */ return;
}
// fn_028BE408 @ 0x28be408
void Gambit_fn_028BE408(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
L_028BE408: ; // 0x28be408
/* 028BE408 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BE408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE408 */ cpu->r[1] = _t0;
/* 028BE40C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BE40C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BE410 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BE410 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028BE414 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BE414 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BE418 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BE418 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BE41C */ cpu->r[29] = cpu->r[3];
/* 028BE420 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028BE420 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
/* 028BE424 */ cpu->r[31] = cpu->r[5];
/* 028BE428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BE42C */ cpu->r[30] = cpu->r[4];
/* 028BE430 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE430 */ _t7 = _t6 & 0x00000001u;
/* 028BE430 */ if (_t7) goto L_028BE47C; else goto L_028BE434;
L_028BE434: ; // 0x28be434
/* 028BE434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BE438 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE438 */ _t9 = _t8 & 0x00000001u;
/* 028BE438 */ if (_t9) goto L_028BE43C; else goto L_028BE44C;
L_028BE43C: ; // 0x28be43c
/* 028BE43C */ _t10 = cpu->r[29] + 0x00000128u;
/* 028BE43C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
/* 028BE440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BE444 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE444 */ _t12 = _t11 & 0x00000001u;
/* 028BE444 */ if (_t12) goto L_028BE448; else goto L_028BE468;
L_028BE448: ; // 0x28be448
/* 028BE448 */ goto L_028BE45C;
L_028BE44C: ; // 0x28be44c
/* 028BE44C */ _t13 = cpu->r[31] + 0x00000000u;
/* 028BE44C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
/* 028BE450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028BE454 */ _t14 = cpu->r[29] + 0x00000128u;
/* 028BE454 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
/* 028BE458 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE458 */ _t16 = _t15 & 0x00000001u;
/* 028BE458 */ if (_t16) goto L_028BE45C; else goto L_028BE468;
L_028BE45C: ; // 0x28be45c
/* 028BE45C */ Gambit_fn_028C29F4(cpu);
/* 028BE460 */ _t17 = cpu->r[3] + 0x0000000Cu;
/* 028BE460 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
/* 028BE464 */ _t18 = cpu->r[29] + 0x00000128u;
/* 028BE464 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
L_028BE468: ; // 0x28be468
/* 028BE468 */ _t19 = cpu->r[8] + 0x0000016Cu;
/* 028BE468 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
/* 028BE46C */ cpu->r[12] = cpu->r[11] ^ 0x000000FFu;
/* 028BE470 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
/* 028BE474 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028BE474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BE478 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE478 */ _t21 = _t20 & 0x00000001u;
/* 028BE478 */ if (_t21) goto L_028BE47C; else goto L_028BE49C;
L_028BE47C: ; // 0x28be47c
/* 028BE47C */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028BE47C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028BE480 */ _t23 = cpu->r[1] + 0x0000001Cu;
/* 028BE480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BE484 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028BE484 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
/* 028BE488 */ cpu->lr = cpu->r[0];
/* 028BE48C */ _t25 = cpu->r[1] + 0x00000014u;
/* 028BE48C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028BE490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BE494 */ cpu->r[3] = 0x00000000u;
/* 028BE498 */ return;
L_028BE49C: ; // 0x28be49c
/* 028BE49C */ _t26 = cpu->r[29] + 0x00000134u;
/* 028BE49C */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
/* 028BE4A0 */ _t27 = cpu->r[10] + 0x00000000u;
/* 028BE4A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
/* 028BE4A4 */ cpu->r[4] = cpu->r[30];
/* 028BE4A8 */ Gambit_fn_028EABE4(cpu);
/* 028BE4AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BE4B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE4B0 */ _t29 = _t28 & 0x00000001u;
/* 028BE4B0 */ if (_t29) goto L_028BE4C8; else goto L_028BE4B4;
L_028BE4B4: ; // 0x28be4b4
/* 028BE4B4 */ _t30 = cpu->r[31] + 0x00000004u;
/* 028BE4B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
/* 028BE4B8 */ cpu->r[3] = cpu->r[29];
/* 028BE4BC */ Gambit_fn_028BE264(cpu);
/* 028BE4C0 */ _t31 = cpu->r[31] + 0x00000008u;
/* 028BE4C0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t31);
/* 028BE4C4 */ _t32 = cpu->r[29] + 0x0000000Cu;
/* 028BE4C4 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[9]);
L_028BE4C8: ; // 0x28be4c8
/* 028BE4C8 */ _t33 = cpu->r[29] + 0x00000128u;
/* 028BE4C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
/* 028BE4CC */ _t34 = cpu->r[29] + 0x00000134u;
/* 028BE4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
/* 028BE4D0 */ _t35 = cpu->r[8] + 0x00000168u;
/* 028BE4D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t35);
/* 028BE4D4 */ Gambit_fn_028EA364(cpu);
/* 028BE4D8 */ cpu->r[11] = 0x10140000u;
/* 028BE4DC */ _t36 = cpu->r[29] + 0x0000000Cu;
/* 028BE4DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t36);
/* 028BE4E0 */ _t37 = cpu->r[11] + 0xFFFF90F8u;
/* 028BE4E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
/* 028BE4E4 */ _t38 = cpu->r[29] + 0x00000114u;
/* 028BE4E4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
/* 028BE4E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028BE4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BE4EC */ _t39 = cpu->r[29] + 0x00000118u;
/* 028BE4EC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
/* 028BE4F0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE4F0 */ _t41 = _t40 & 0x00000001u;
/* 028BE4F0 */ if (_t41) goto L_028BE4F4; else goto L_028BE500;
L_028BE4F4: ; // 0x28be4f4
/* 028BE4F4 */ cpu->r[3] = cpu->r[29] + 0x00000140u;
/* 028BE4F8 */ cpu->r[4] = 0x00000000u;
/* 028BE4FC */ Gambit_fn_028E1470(cpu);
L_028BE500: ; // 0x28be500
/* 028BE500 */ _t42 = cpu->r[30] + 0x0000004Cu;
/* 028BE500 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
/* 028BE504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u);
/* 028BE508 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE508 */ _t44 = _t43 & 0x00000001u;
/* 028BE508 */ if (_t44) goto L_028BE50C; else goto L_028BE534;
L_028BE50C: ; // 0x28be50c
/* 028BE50C */ _t45 = cpu->r[30] + 0x000000E8u;
/* 028BE50C */ cpu->r[6] = rbrew_read16(cpu->mem, _t45);
/* 028BE510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
/* 028BE514 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE514 */ _t47 = _t46 & 0x00000001u;
/* 028BE514 */ if (_t47) goto L_028BE518; else goto L_028BE534;
L_028BE518: ; // 0x28be518
/* 028BE518 */ cpu->r[3] = cpu->r[29];
/* 028BE51C */ cpu->r[4] = cpu->r[30];
/* 028BE520 */ Gambit_fn_028BE2AC(cpu);
/* 028BE524 */ Gambit_fn_028C2A3C(cpu);
/* 028BE528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE52C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE52C */ _t49 = _t48 & 0x00000001u;
/* 028BE52C */ if (_t49) goto L_028BE554; else goto L_028BE530;
L_028BE530: ; // 0x28be530
/* 028BE530 */ goto L_028BE54C;
L_028BE534: ; // 0x28be534
/* 028BE534 */ cpu->r[3] = cpu->r[29];
/* 028BE538 */ cpu->r[4] = cpu->r[30];
/* 028BE53C */ Gambit_fn_028BE3B0(cpu);
/* 028BE540 */ Gambit_fn_028C2A3C(cpu);
/* 028BE544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE548 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE548 */ _t51 = _t50 & 0x00000001u;
/* 028BE548 */ if (_t51) goto L_028BE554; else goto L_028BE54C;
L_028BE54C: ; // 0x28be54c
/* 028BE54C */ cpu->r[4] = cpu->r[29];
/* 028BE550 */ Gambit_fn_028CD024(cpu);
L_028BE554: ; // 0x28be554
/* 028BE554 */ cpu->r[0] = 0x00000002u;
/* 028BE558 */ cpu->r[3] = cpu->r[29];
/* 028BE55C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE560 */ _t52 = cpu->r[1] + 0x00000008u;
/* 028BE560 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028BE564 */ Gambit_fn_028BDAB0(cpu);
/* 028BE568 */ _t53 = cpu->r[29] + 0x00000128u;
/* 028BE568 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
/* 028BE56C */ cpu->r[4] = cpu->r[29];
/* 028BE570 */ Gambit_fn_028D3810(cpu);
/* 028BE574 */ _t54 = cpu->r[1] + 0x0000000Cu;
/* 028BE574 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
/* 028BE578 */ _t55 = cpu->r[1] + 0x0000001Cu;
/* 028BE578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028BE57C */ _t56 = cpu->r[1] + 0x00000010u;
/* 028BE57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028BE580 */ cpu->lr = cpu->r[0];
/* 028BE584 */ _t57 = cpu->r[1] + 0x00000014u;
/* 028BE584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
/* 028BE588 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BE58C */ cpu->r[3] = 0x00000001u;
/* 028BE590 */ return;
}
// fn_028BE598 @ 0x28be598
void Gambit_fn_028BE598(CPUState* cpu) {
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_028BE598: ; // 0x28be598
/* 028BE598 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE598 */ cpu->r[1] = _t0;
/* 028BE59C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BE59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BE5A0 */ cpu->r[31] = cpu->r[3];
/* 028BE5A4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BE5A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BE5A8 */ _t3 = cpu->r[31] + 0x00000194u;
/* 028BE5A8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
/* 028BE5AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BE5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BE5B0 */ cpu->r[6] = cpu->r[4];
/* 028BE5B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE5B4 */ _t5 = _t4 & 0x00000001u;
/* 028BE5B4 */ if (_t5) goto L_028BE5F8; else goto L_028BE5B8;
L_028BE5B8: ; // 0x28be5b8
/* 028BE5B8 */ _t6 = cpu->r[31] + 0x000001A4u;
/* 028BE5B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028BE5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BE5C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE5C0 */ _t8 = _t7 & 0x00000001u;
/* 028BE5C0 */ if (_t8) goto L_028BE604; else goto L_028BE5C4;
L_028BE5C4: ; // 0x28be5c4
/* 028BE5C4 */ cpu->r[3] = cpu->r[31];
/* 028BE5C8 */ Gambit_fn_028BD9A0(cpu);
/* 028BE5CC */ cpu->r[11] = 0x101D0000u;
/* 028BE5D0 */ cpu->r[4] = cpu->r[3];
/* 028BE5D4 */ _t9 = cpu->r[11] + 0xFFFF9AE0u;
/* 028BE5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028BE5D8 */ _t10 = cpu->r[31] + 0x00000128u;
/* 028BE5D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028BE5DC */ _t11 = cpu->r[11] + 0x00000040u;
/* 028BE5DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028BE5E0 */ _t12 = cpu->r[9] + 0x00000020u;
/* 028BE5E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028BE5E4 */ Gambit_fn_028DEC20(cpu);
/* 028BE5E8 */ Gambit_fn_028C2A3C(cpu);
/* 028BE5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE5F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE5F0 */ _t14 = _t13 & 0x00000001u;
/* 028BE5F0 */ if (_t14) goto L_028BE628; else goto L_028BE5F4;
L_028BE5F4: ; // 0x28be5f4
/* 028BE5F4 */ goto L_028BE610;
L_028BE5F8: ; // 0x28be5f8
/* 028BE5F8 */ _t15 = cpu->r[31] + 0x00000134u;
/* 028BE5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BE5FC */ cpu->r[4] = cpu->r[6];
/* 028BE600 */ Gambit_fn_028E9EE0(cpu);
L_028BE604: ; // 0x28be604
/* 028BE604 */ Gambit_fn_028C2A3C(cpu);
/* 028BE608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE60C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE60C */ _t17 = _t16 & 0x00000001u;
/* 028BE60C */ if (_t17) goto L_028BE628; else goto L_028BE610;
L_028BE610: ; // 0x28be610
/* 028BE610 */ cpu->r[12] = 0x101F0000u;
/* 028BE614 */ _t18 = cpu->r[12] + 0x000071B0u;
/* 028BE614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028BE618 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BE61C */ cpu->r[4] = cpu->r[31];
/* 028BE620 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028BE620 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028BE624 */ Gambit_fn_028CD4D4(cpu);
L_028BE628: ; // 0x28be628
/* 028BE628 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BE628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BE62C */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028BE62C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BE630 */ cpu->lr = cpu->r[0];
/* 028BE634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE638 */ return;
}
// fn_028BE63C @ 0x28be63c
void Gambit_fn_028BE63C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
L_028BE594: ; // 0x28be594
/* 028BE594 */ cpu->r[0] = cpu->lr;
/* 028BE598 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE598 */ cpu->r[1] = _t0;
/* 028BE59C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BE59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BE5A0 */ cpu->r[31] = cpu->r[3];
/* 028BE5A4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BE5A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BE5A8 */ _t3 = cpu->r[31] + 0x00000194u;
/* 028BE5A8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
/* 028BE5AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BE5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BE5B0 */ cpu->r[6] = cpu->r[4];
/* 028BE5B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE5B4 */ _t5 = _t4 & 0x00000001u;
/* 028BE5B4 */ if (_t5) goto L_028BE5F8; else goto L_028BE5B8;
L_028BE5B8: ; // 0x28be5b8
/* 028BE5B8 */ _t6 = cpu->r[31] + 0x000001A4u;
/* 028BE5B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028BE5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028BE5C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE5C0 */ _t8 = _t7 & 0x00000001u;
/* 028BE5C0 */ if (_t8) goto L_028BE604; else goto L_028BE5C4;
L_028BE5C4: ; // 0x28be5c4
/* 028BE5C4 */ cpu->r[3] = cpu->r[31];
/* 028BE5C8 */ Gambit_fn_028BD9A0(cpu);
/* 028BE5CC */ cpu->r[11] = 0x101D0000u;
/* 028BE5D0 */ cpu->r[4] = cpu->r[3];
/* 028BE5D4 */ _t9 = cpu->r[11] + 0xFFFF9AE0u;
/* 028BE5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028BE5D8 */ _t10 = cpu->r[31] + 0x00000128u;
/* 028BE5D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028BE5DC */ _t11 = cpu->r[11] + 0x00000040u;
/* 028BE5DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028BE5E0 */ _t12 = cpu->r[9] + 0x00000020u;
/* 028BE5E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028BE5E4 */ Gambit_fn_028DEC20(cpu);
/* 028BE5E8 */ Gambit_fn_028C2A3C(cpu);
/* 028BE5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE5F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE5F0 */ _t14 = _t13 & 0x00000001u;
/* 028BE5F0 */ if (_t14) goto L_028BE628; else goto L_028BE5F4;
L_028BE5F4: ; // 0x28be5f4
/* 028BE5F4 */ goto L_028BE610;
L_028BE5F8: ; // 0x28be5f8
/* 028BE5F8 */ _t15 = cpu->r[31] + 0x00000134u;
/* 028BE5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BE5FC */ cpu->r[4] = cpu->r[6];
/* 028BE600 */ Gambit_fn_028E9EE0(cpu);
L_028BE604: ; // 0x28be604
/* 028BE604 */ Gambit_fn_028C2A3C(cpu);
/* 028BE608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE60C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE60C */ _t17 = _t16 & 0x00000001u;
/* 028BE60C */ if (_t17) goto L_028BE628; else goto L_028BE610;
L_028BE610: ; // 0x28be610
/* 028BE610 */ cpu->r[12] = 0x101F0000u;
/* 028BE614 */ _t18 = cpu->r[12] + 0x000071B0u;
/* 028BE614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028BE618 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BE61C */ cpu->r[4] = cpu->r[31];
/* 028BE620 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028BE620 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028BE624 */ Gambit_fn_028CD4D4(cpu);
L_028BE628: ; // 0x28be628
/* 028BE628 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BE628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BE62C */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028BE62C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BE630 */ cpu->lr = cpu->r[0];
/* 028BE634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE638 */ return;
L_028BE63C: ; // 0x28be63c
/* 028BE63C */ _t22 = cpu->r[4] + 0x00000000u;
/* 028BE63C */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
/* 028BE640 */ _t23 = cpu->r[3] + 0x0000000Eu;
/* 028BE640 */ cpu->r[10] = rbrew_read8(cpu->mem, _t23);
/* 028BE644 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BE648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028BE64C */ _t24 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BE64C */ _t25 = cpu->r[12] & 0xFFFFFF00u;
/* 028BE64C */ cpu->r[12] = _t25 | _t24;
/* 028BE650 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE650 */ _t27 = _t26 & 0x00000001u;
/* 028BE650 */ if (_t27) goto L_028BE668; else goto L_028BE654;
L_028BE654: ; // 0x28be654
/* 028BE654 */ cpu->r[10] = cpu->r[10] | cpu->r[0];
/* 028BE658 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BE658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BE65C */ _t28 = cpu->r[3] + 0x0000000Eu;
/* 028BE65C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[10]);
/* 028BE660 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE660 */ _t30 = _t29 & 0x00000001u;
/* 028BE660 */ if (_t30) goto L_028BE664; else goto L_028BE690;
L_028BE664: ; // 0x28be664
/* 028BE664 */ goto L_028BE680;
L_028BE668: ; // 0x28be668
/* 028BE668 */ _t31 = cpu->r[0] | cpu->r[0];
/* 028BE668 */ cpu->r[11] = ~_t31;
/* 028BE66C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BE670 */ cpu->r[10] = cpu->r[10] & cpu->r[11];
/* 028BE674 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BE674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BE678 */ _t32 = cpu->r[3] + 0x0000000Eu;
/* 028BE678 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[10]);
/* 028BE67C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE67C */ _t34 = _t33 & 0x00000001u;
/* 028BE67C */ if (_t34) goto L_028BE680; else goto L_028BE690;
L_028BE680: ; // 0x28be680
/* 028BE680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BE684 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE684 */ _t36 = _t35 & 0x00000001u;
/* 028BE684 */ if (_t36) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BE684 */ goto L_028BE688;
L_028BE688: ; // 0x28be688
/* 028BE688 */ cpu->r[4] = 0x00000001u;
/* 028BE68C */ goto L_028BE594;
L_028BE690: ; // 0x28be690
/* 028BE690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BE694 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE694 */ _t38 = _t37 & 0x00000001u;
/* 028BE694 */ _t39 = _t38 ^ 0x00000001u;
/* 028BE694 */ if (_t39) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BE694 */ goto L_028BE698;
L_028BE698: ; // 0x28be698
/* 028BE698 */ cpu->r[4] = 0x00000000u;
/* 028BE69C */ goto L_028BE594;
}
// fn_028BE6A0 @ 0x28be6a0
void Gambit_fn_028BE6A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028BE6A0: ; // 0x28be6a0
/* 028BE6A0 */ cpu->r[0] = cpu->lr;
/* 028BE6A4 */ cpu->r[12] = 0x000000FFu;
/* 028BE6A8 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE6AC */ cpu->r[5] = cpu->r[4];
/* 028BE6B0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BE6B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE6B0 */ cpu->r[1] = _t1;
/* 028BE6B4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BE6B4 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[12]);
/* 028BE6B8 */ cpu->r[4] = cpu->r[1] + 0x00000009u;
/* 028BE6BC */ _t3 = cpu->r[1] + 0x00000009u;
/* 028BE6BC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
/* 028BE6C0 */ Gambit_fn_028BE63C(cpu);
/* 028BE6C4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BE6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BE6C8 */ cpu->lr = cpu->r[0];
/* 028BE6CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BE6D0 */ return;
}
// fn_028BE6B0 @ 0x28be6b0
void Gambit_fn_028BE6B0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028BE6B0: ; // 0x28be6b0
/* 028BE6B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BE6B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE6B0 */ cpu->r[1] = _t0;
/* 028BE6B4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BE6B4 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[12]);
/* 028BE6B8 */ cpu->r[4] = cpu->r[1] + 0x00000009u;
/* 028BE6BC */ _t2 = cpu->r[1] + 0x00000009u;
/* 028BE6BC */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[12]);
/* 028BE6C0 */ Gambit_fn_028BE63C(cpu);
/* 028BE6C4 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BE6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BE6C8 */ cpu->lr = cpu->r[0];
/* 028BE6CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BE6D0 */ return;
}
// fn_028BE6D4 @ 0x28be6d4
void Gambit_fn_028BE6D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BE6D4: ; // 0x28be6d4
/* 028BE6D4 */ cpu->r[0] = cpu->lr;
/* 028BE6D8 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE6DC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE6DC */ cpu->r[1] = _t1;
/* 028BE6E0 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028BE6E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BE6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE6E8 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE6E8 */ _t4 = _t3 & 0x00000001u;
/* 028BE6E8 */ if (_t4) goto L_028BE6FC; else goto L_028BE6EC;
L_028BE6EC: ; // 0x28be6ec
/* 028BE6EC */ cpu->r[12] = 0x10140000u;
/* 028BE6F0 */ _t5 = cpu->r[12] + 0xFFFF90F0u;
/* 028BE6F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028BE6F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BE6F8 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE6F8 */ _t7 = _t6 & 0x00000001u;
/* 028BE6F8 */ if (_t7) goto L_028BE6FC; else goto L_028BE710;
L_028BE6FC: ; // 0x28be6fc
/* 028BE6FC */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BE6FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BE700 */ cpu->lr = cpu->r[0];
/* 028BE704 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE708 */ cpu->r[3] = 0x00000000u;
/* 028BE70C */ return;
L_028BE710: ; // 0x28be710
/* 028BE710 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BE714 */ _t9 = cpu->r[3] + 0x00000020u;
/* 028BE714 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[1]);
/* 028BE718 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE718 */ _t11 = _t10 & 0x00000001u;
/* 028BE718 */ if (_t11) goto L_028BE71C; else goto L_028BE734;
L_028BE71C: ; // 0x28be71c
/* 028BE71C */ cpu->r[12] = 0x00000001u;
/* 028BE720 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE724 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028BE724 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
/* 028BE728 */ Gambit_fn_028BDAB0(cpu);
/* 028BE72C */ cpu->r[3] = 0x00000001u;
/* 028BE730 */ goto L_028BE748;
L_028BE734: ; // 0x28be734
/* 028BE734 */ cpu->r[11] = 0x00000002u;
/* 028BE738 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BE73C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BE73C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028BE740 */ Gambit_fn_028BDAB0(cpu);
/* 028BE744 */ cpu->r[3] = 0x00000001u;
L_028BE748: ; // 0x28be748
/* 028BE748 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028BE748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BE74C */ cpu->lr = cpu->r[0];
/* 028BE750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE754 */ return;
}
// fn_028BE6DC @ 0x28be6dc
void Gambit_fn_028BE6DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028BE6DC: ; // 0x28be6dc
/* 028BE6DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE6DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE6DC */ cpu->r[1] = _t0;
/* 028BE6E0 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BE6E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BE6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE6E8 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE6E8 */ _t3 = _t2 & 0x00000001u;
/* 028BE6E8 */ if (_t3) goto L_028BE6FC; else goto L_028BE6EC;
L_028BE6EC: ; // 0x28be6ec
/* 028BE6EC */ cpu->r[12] = 0x10140000u;
/* 028BE6F0 */ _t4 = cpu->r[12] + 0xFFFF90F0u;
/* 028BE6F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028BE6F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BE6F8 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE6F8 */ _t6 = _t5 & 0x00000001u;
/* 028BE6F8 */ if (_t6) goto L_028BE6FC; else goto L_028BE710;
L_028BE6FC: ; // 0x28be6fc
/* 028BE6FC */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BE6FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BE700 */ cpu->lr = cpu->r[0];
/* 028BE704 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE708 */ cpu->r[3] = 0x00000000u;
/* 028BE70C */ return;
L_028BE710: ; // 0x28be710
/* 028BE710 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BE714 */ _t8 = cpu->r[3] + 0x00000020u;
/* 028BE714 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 028BE718 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE718 */ _t10 = _t9 & 0x00000001u;
/* 028BE718 */ if (_t10) goto L_028BE71C; else goto L_028BE734;
L_028BE71C: ; // 0x28be71c
/* 028BE71C */ cpu->r[12] = 0x00000001u;
/* 028BE720 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE724 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028BE724 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028BE728 */ Gambit_fn_028BDAB0(cpu);
/* 028BE72C */ cpu->r[3] = 0x00000001u;
/* 028BE730 */ goto L_028BE748;
L_028BE734: ; // 0x28be734
/* 028BE734 */ cpu->r[11] = 0x00000002u;
/* 028BE738 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BE73C */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028BE73C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028BE740 */ Gambit_fn_028BDAB0(cpu);
/* 028BE744 */ cpu->r[3] = 0x00000001u;
L_028BE748: ; // 0x28be748
/* 028BE748 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BE748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BE74C */ cpu->lr = cpu->r[0];
/* 028BE750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE754 */ return;
}
// fn_028BE758 @ 0x28be758
void Gambit_fn_028BE758(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BE758: ; // 0x28be758
/* 028BE758 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028BE758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BE75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE760 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE760 */ _t2 = _t1 & 0x00000001u;
/* 028BE760 */ if (_t2) goto L_028BE774; else goto L_028BE764;
L_028BE764: ; // 0x28be764
/* 028BE764 */ cpu->r[12] = 0x10140000u;
/* 028BE768 */ _t3 = cpu->r[12] + 0xFFFF90F0u;
/* 028BE768 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028BE76C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BE770 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE770 */ _t5 = _t4 & 0x00000001u;
/* 028BE770 */ if (_t5) goto L_028BE774; else goto L_028BE77C;
L_028BE774: ; // 0x28be774
/* 028BE774 */ cpu->r[3] = 0x00000000u;
/* 028BE778 */ return;
L_028BE77C: ; // 0x28be77c
/* 028BE77C */ _t6 = cpu->r[3] + 0x00000024u;
/* 028BE77C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
/* 028BE780 */ cpu->r[3] = 0x00000001u;
/* 028BE784 */ return;
}
// fn_028BE788 @ 0x28be788
void Gambit_fn_028BE788(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028BE788: ; // 0x28be788
/* 028BE788 */ cpu->r[0] = cpu->lr;
/* 028BE78C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE78C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE790 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE790 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE790 */ cpu->r[1] = _t1;
/* 028BE794 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028BE794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BE798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE79C */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE79C */ _t4 = _t3 & 0x00000001u;
/* 028BE79C */ if (_t4) goto L_028BE7A0; else goto L_028BE7B4;
L_028BE7A0: ; // 0x28be7a0
/* 028BE7A0 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028BE7A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BE7A4 */ cpu->lr = cpu->r[0];
/* 028BE7A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE7AC */ cpu->r[3] = 0x00000000u;
/* 028BE7B0 */ return;
L_028BE7B4: ; // 0x28be7b4
/* 028BE7B4 */ _t6 = cpu->r[4] + 0x00000000u;
/* 028BE7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BE7B8 */ _t7 = cpu->r[3] + 0x00000134u;
/* 028BE7B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BE7BC */ _t8 = cpu->r[1] + 0x00000008u;
/* 028BE7BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028BE7C0 */ _t9 = cpu->r[12] + 0x00000000u;
/* 028BE7C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028BE7C4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE7C8 */ Gambit_fn_028EAD98(cpu);
/* 028BE7CC */ _t10 = cpu->r[1] + 0x00000014u;
/* 028BE7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BE7D0 */ cpu->lr = cpu->r[0];
/* 028BE7D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE7D8 */ cpu->r[3] = 0x00000001u;
/* 028BE7DC */ return;
}
// fn_028BE790 @ 0x28be790
void Gambit_fn_028BE790(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028BE790: ; // 0x28be790
/* 028BE790 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE790 */ cpu->r[1] = _t0;
/* 028BE794 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BE794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BE798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE79C */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE79C */ _t3 = _t2 & 0x00000001u;
/* 028BE79C */ if (_t3) goto L_028BE7A0; else goto L_028BE7B4;
L_028BE7A0: ; // 0x28be7a0
/* 028BE7A0 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BE7A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BE7A4 */ cpu->lr = cpu->r[0];
/* 028BE7A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE7AC */ cpu->r[3] = 0x00000000u;
/* 028BE7B0 */ return;
L_028BE7B4: ; // 0x28be7b4
/* 028BE7B4 */ _t5 = cpu->r[4] + 0x00000000u;
/* 028BE7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BE7B8 */ _t6 = cpu->r[3] + 0x00000134u;
/* 028BE7B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BE7BC */ _t7 = cpu->r[1] + 0x00000008u;
/* 028BE7BC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028BE7C0 */ _t8 = cpu->r[12] + 0x00000000u;
/* 028BE7C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028BE7C4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE7C8 */ Gambit_fn_028EAD98(cpu);
/* 028BE7CC */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BE7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE7D0 */ cpu->lr = cpu->r[0];
/* 028BE7D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE7D8 */ cpu->r[3] = 0x00000001u;
/* 028BE7DC */ return;
}
// fn_028BE7E0 @ 0x28be7e0
void Gambit_fn_028BE7E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028BE7E0: ; // 0x28be7e0
/* 028BE7E0 */ cpu->r[0] = cpu->lr;
/* 028BE7E4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE7E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE7E8 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE7E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE7E8 */ cpu->r[1] = _t1;
/* 028BE7EC */ _t2 = cpu->r[3] + 0x00000004u;
/* 028BE7EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028BE7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
/* 028BE7F4 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE7F4 */ _t4 = _t3 & 0x00000001u;
/* 028BE7F4 */ if (_t4) goto L_028BE7F8; else goto L_028BE80C;
L_028BE7F8: ; // 0x28be7f8
/* 028BE7F8 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028BE7F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BE7FC */ cpu->lr = cpu->r[0];
/* 028BE800 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE804 */ cpu->r[3] = 0x00000000u;
/* 028BE808 */ return;
L_028BE80C: ; // 0x28be80c
/* 028BE80C */ _t6 = cpu->r[4] + 0x00000000u;
/* 028BE80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BE810 */ _t7 = cpu->r[3] + 0x00000134u;
/* 028BE810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028BE814 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE818 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028BE818 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028BE81C */ Gambit_fn_028EA37C(cpu);
/* 028BE820 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028BE820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE824 */ cpu->lr = cpu->r[0];
/* 028BE828 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE82C */ cpu->r[3] = 0x00000001u;
/* 028BE830 */ return;
}
// fn_028BE7E8 @ 0x28be7e8
void Gambit_fn_028BE7E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BE7E8: ; // 0x28be7e8
/* 028BE7E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BE7E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE7E8 */ cpu->r[1] = _t0;
/* 028BE7EC */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BE7EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028BE7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
/* 028BE7F4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE7F4 */ _t3 = _t2 & 0x00000001u;
/* 028BE7F4 */ if (_t3) goto L_028BE7F8; else goto L_028BE80C;
L_028BE7F8: ; // 0x28be7f8
/* 028BE7F8 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028BE7F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BE7FC */ cpu->lr = cpu->r[0];
/* 028BE800 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE804 */ cpu->r[3] = 0x00000000u;
/* 028BE808 */ return;
L_028BE80C: ; // 0x28be80c
/* 028BE80C */ _t5 = cpu->r[4] + 0x00000000u;
/* 028BE80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BE810 */ _t6 = cpu->r[3] + 0x00000134u;
/* 028BE810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BE814 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BE818 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028BE818 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028BE81C */ Gambit_fn_028EA37C(cpu);
/* 028BE820 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BE820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BE824 */ cpu->lr = cpu->r[0];
/* 028BE828 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BE82C */ cpu->r[3] = 0x00000001u;
/* 028BE830 */ return;
}
// fn_028BE834 @ 0x28be834
void Gambit_fn_028BE834(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028BE834: ; // 0x28be834
/* 028BE834 */ cpu->r[0] = cpu->lr;
/* 028BE838 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE838 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE83C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE83C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE83C */ cpu->r[1] = _t1;
/* 028BE840 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028BE840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BE844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE848 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE848 */ _t4 = _t3 & 0x00000001u;
/* 028BE848 */ if (_t4) goto L_028BE85C; else goto L_028BE84C;
L_028BE84C: ; // 0x28be84c
/* 028BE84C */ cpu->r[12] = 0x10140000u;
/* 028BE850 */ _t5 = cpu->r[12] + 0xFFFF90F0u;
/* 028BE850 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028BE854 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BE858 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE858 */ _t7 = _t6 & 0x00000001u;
/* 028BE858 */ if (_t7) goto L_028BE85C; else goto L_028BE870;
L_028BE85C: ; // 0x28be85c
/* 028BE85C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BE85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BE860 */ cpu->lr = cpu->r[0];
/* 028BE864 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE868 */ cpu->r[3] = 0x00000000u;
/* 028BE86C */ return;
L_028BE870: ; // 0x28be870
/* 028BE870 */ _t9 = cpu->r[3] + 0x00000134u;
/* 028BE870 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028BE874 */ Gambit_fn_028EA388(cpu);
/* 028BE878 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BE878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BE87C */ cpu->lr = cpu->r[0];
/* 028BE880 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE884 */ cpu->r[3] = 0x00000001u;
/* 028BE888 */ return;
}
// fn_028BE83C @ 0x28be83c
void Gambit_fn_028BE83C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028BE83C: ; // 0x28be83c
/* 028BE83C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE83C */ cpu->r[1] = _t0;
/* 028BE840 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BE840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BE844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE848 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE848 */ _t3 = _t2 & 0x00000001u;
/* 028BE848 */ if (_t3) goto L_028BE85C; else goto L_028BE84C;
L_028BE84C: ; // 0x28be84c
/* 028BE84C */ cpu->r[12] = 0x10140000u;
/* 028BE850 */ _t4 = cpu->r[12] + 0xFFFF90F0u;
/* 028BE850 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028BE854 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BE858 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE858 */ _t6 = _t5 & 0x00000001u;
/* 028BE858 */ if (_t6) goto L_028BE85C; else goto L_028BE870;
L_028BE85C: ; // 0x28be85c
/* 028BE85C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BE85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BE860 */ cpu->lr = cpu->r[0];
/* 028BE864 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE868 */ cpu->r[3] = 0x00000000u;
/* 028BE86C */ return;
L_028BE870: ; // 0x28be870
/* 028BE870 */ _t8 = cpu->r[3] + 0x00000134u;
/* 028BE870 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028BE874 */ Gambit_fn_028EA388(cpu);
/* 028BE878 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BE878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE87C */ cpu->lr = cpu->r[0];
/* 028BE880 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE884 */ cpu->r[3] = 0x00000001u;
/* 028BE888 */ return;
}
// fn_028BE88C @ 0x28be88c
void Gambit_fn_028BE88C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BE88C: ; // 0x28be88c
/* 028BE88C */ cpu->r[0] = cpu->lr;
/* 028BE890 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE890 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE894 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE894 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE894 */ cpu->r[1] = _t1;
/* 028BE898 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028BE898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BE89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE8A0 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE8A0 */ _t4 = _t3 & 0x00000001u;
/* 028BE8A0 */ if (_t4) goto L_028BE8A4; else goto L_028BE8B8;
L_028BE8A4: ; // 0x28be8a4
/* 028BE8A4 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BE8A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BE8A8 */ cpu->lr = cpu->r[0];
/* 028BE8AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE8B0 */ cpu->r[3] = 0x00000000u;
/* 028BE8B4 */ return;
L_028BE8B8: ; // 0x28be8b8
/* 028BE8B8 */ cpu->r[12] = 0x10140000u;
/* 028BE8BC */ _t6 = cpu->r[12] + 0xFFFF90F0u;
/* 028BE8BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028BE8C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BE8C4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE8C4 */ _t8 = _t7 & 0x00000001u;
/* 028BE8C4 */ if (_t8) goto L_028BE8C8; else goto L_028BE8D8;
L_028BE8C8: ; // 0x28be8c8
/* 028BE8C8 */ _t9 = cpu->r[3] + 0x00000128u;
/* 028BE8C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BE8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BE8D0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE8D0 */ _t11 = _t10 & 0x00000001u;
/* 028BE8D0 */ if (_t11) goto L_028BE8D8; else goto L_028BE8D4;
L_028BE8D4: ; // 0x28be8d4
/* 028BE8D4 */ _t12 = cpu->r[12] + 0x00000168u;
/* 028BE8D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
L_028BE8D8: ; // 0x28be8d8
/* 028BE8D8 */ /* nop */
/* 028BE8DC */ _t13 = cpu->r[3] + 0x00000134u;
/* 028BE8DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028BE8E0 */ Gambit_fn_028EA364(cpu);
/* 028BE8E4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BE8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BE8E8 */ cpu->lr = cpu->r[0];
/* 028BE8EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE8F0 */ cpu->r[3] = 0x00000001u;
/* 028BE8F4 */ return;
}
// fn_028BE894 @ 0x28be894
void Gambit_fn_028BE894(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028BE894: ; // 0x28be894
/* 028BE894 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE894 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE894 */ cpu->r[1] = _t0;
/* 028BE898 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BE898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BE89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BE8A0 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE8A0 */ _t3 = _t2 & 0x00000001u;
/* 028BE8A0 */ if (_t3) goto L_028BE8A4; else goto L_028BE8B8;
L_028BE8A4: ; // 0x28be8a4
/* 028BE8A4 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BE8A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BE8A8 */ cpu->lr = cpu->r[0];
/* 028BE8AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE8B0 */ cpu->r[3] = 0x00000000u;
/* 028BE8B4 */ return;
L_028BE8B8: ; // 0x28be8b8
/* 028BE8B8 */ cpu->r[12] = 0x10140000u;
/* 028BE8BC */ _t5 = cpu->r[12] + 0xFFFF90F0u;
/* 028BE8BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028BE8C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BE8C4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE8C4 */ _t7 = _t6 & 0x00000001u;
/* 028BE8C4 */ if (_t7) goto L_028BE8C8; else goto L_028BE8D8;
L_028BE8C8: ; // 0x28be8c8
/* 028BE8C8 */ _t8 = cpu->r[3] + 0x00000128u;
/* 028BE8C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028BE8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BE8D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE8D0 */ _t10 = _t9 & 0x00000001u;
/* 028BE8D0 */ if (_t10) goto L_028BE8D8; else goto L_028BE8D4;
L_028BE8D4: ; // 0x28be8d4
/* 028BE8D4 */ _t11 = cpu->r[12] + 0x00000168u;
/* 028BE8D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
L_028BE8D8: ; // 0x28be8d8
/* 028BE8D8 */ /* nop */
/* 028BE8DC */ _t12 = cpu->r[3] + 0x00000134u;
/* 028BE8DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028BE8E0 */ Gambit_fn_028EA364(cpu);
/* 028BE8E4 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BE8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BE8E8 */ cpu->lr = cpu->r[0];
/* 028BE8EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE8F0 */ cpu->r[3] = 0x00000001u;
/* 028BE8F4 */ return;
}
// fn_028BE8F8 @ 0x28be8f8
void Gambit_fn_028BE8F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028BE8F8: ; // 0x28be8f8
/* 028BE8F8 */ cpu->r[0] = cpu->lr;
/* 028BE8FC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE8FC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE900 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE900 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE900 */ cpu->r[1] = _t1;
/* 028BE904 */ Gambit_fn_028BD990(cpu);
/* 028BE908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE90C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE90C */ _t3 = _t2 & 0x00000001u;
/* 028BE90C */ if (_t3) goto L_028BE910; else goto L_028BE924;
L_028BE910: ; // 0x28be910
/* 028BE910 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BE910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BE914 */ cpu->lr = cpu->r[0];
/* 028BE918 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE91C */ cpu->r[3] = 0x00000000u;
/* 028BE920 */ return;
L_028BE924: ; // 0x28be924
/* 028BE924 */ _t5 = cpu->r[3] + 0x0000004Cu;
/* 028BE924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028BE928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
/* 028BE92C */ cpu->r[0] = 0x00000001u;
/* 028BE930 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE930 */ _t7 = _t6 & 0x00000001u;
/* 028BE930 */ if (_t7) goto L_028BE934; else goto L_028BE938;
L_028BE934: ; // 0x28be934
/* 028BE934 */ _t8 = cpu->r[3] + 0x000000E8u;
/* 028BE934 */ cpu->r[0] = rbrew_read16(cpu->mem, _t8);
L_028BE938: ; // 0x28be938
/* 028BE938 */ cpu->r[3] = cpu->r[0];
/* 028BE93C */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BE93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE940 */ cpu->lr = cpu->r[0];
/* 028BE944 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE948 */ return;
}
// fn_028BE900 @ 0x28be900
void Gambit_fn_028BE900(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BE900: ; // 0x28be900
/* 028BE900 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE900 */ cpu->r[1] = _t0;
/* 028BE904 */ Gambit_fn_028BD990(cpu);
/* 028BE908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE90C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE90C */ _t2 = _t1 & 0x00000001u;
/* 028BE90C */ if (_t2) goto L_028BE910; else goto L_028BE924;
L_028BE910: ; // 0x28be910
/* 028BE910 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BE910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BE914 */ cpu->lr = cpu->r[0];
/* 028BE918 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE91C */ cpu->r[3] = 0x00000000u;
/* 028BE920 */ return;
L_028BE924: ; // 0x28be924
/* 028BE924 */ _t4 = cpu->r[3] + 0x0000004Cu;
/* 028BE924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BE928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
/* 028BE92C */ cpu->r[0] = 0x00000001u;
/* 028BE930 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE930 */ _t6 = _t5 & 0x00000001u;
/* 028BE930 */ if (_t6) goto L_028BE934; else goto L_028BE938;
L_028BE934: ; // 0x28be934
/* 028BE934 */ _t7 = cpu->r[3] + 0x000000E8u;
/* 028BE934 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
L_028BE938: ; // 0x28be938
/* 028BE938 */ cpu->r[3] = cpu->r[0];
/* 028BE93C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BE93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BE940 */ cpu->lr = cpu->r[0];
/* 028BE944 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE948 */ return;
}
// fn_028BE94C @ 0x28be94c
void Gambit_fn_028BE94C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028BE94C: ; // 0x28be94c
/* 028BE94C */ cpu->r[0] = cpu->lr;
/* 028BE950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BE954 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE954 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE958 */ cpu->r[11] = cpu->r[3];
/* 028BE95C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE95C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE95C */ cpu->r[1] = _t1;
/* 028BE960 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE960 */ _t3 = _t2 & 0x00000001u;
/* 028BE960 */ if (_t3) goto L_028BE984; else goto L_028BE964;
L_028BE964: ; // 0x28be964
/* 028BE964 */ cpu->r[3] = cpu->r[11];
/* 028BE968 */ Gambit_fn_028BE8F8(cpu);
/* 028BE96C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028BE970 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE970 */ _t5 = _t4 & 0x00000001u;
/* 028BE970 */ if (_t5) goto L_028BE974; else goto L_028BE984;
L_028BE974: ; // 0x28be974
/* 028BE974 */ cpu->r[3] = cpu->r[11];
/* 028BE978 */ Gambit_fn_028BD990(cpu);
/* 028BE97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE980 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE980 */ _t7 = _t6 & 0x00000001u;
/* 028BE980 */ if (_t7) goto L_028BE984; else goto L_028BE998;
L_028BE984: ; // 0x28be984
/* 028BE984 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BE984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BE988 */ cpu->lr = cpu->r[0];
/* 028BE98C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE990 */ cpu->r[3] = 0x00000000u;
/* 028BE994 */ return;
L_028BE998: ; // 0x28be998
/* 028BE998 */ _t9 = cpu->r[3] + 0x0000004Cu;
/* 028BE998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BE99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028BE9A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE9A0 */ _t11 = _t10 & 0x00000001u;
/* 028BE9A0 */ if (_t11) goto L_028BE9A4; else goto L_028BE9C0;
L_028BE9A4: ; // 0x28be9a4
/* 028BE9A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BE9A8 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
/* 028BE9AC */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028BE9AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BE9B0 */ _t13 = cpu->r[12] + 0x000000ECu;
/* 028BE9B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028BE9B4 */ cpu->lr = cpu->r[0];
/* 028BE9B8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE9BC */ return;
L_028BE9C0: ; // 0x28be9c0
/* 028BE9C0 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BE9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BE9C4 */ _t15 = cpu->r[3] + 0x000000E0u;
/* 028BE9C4 */ cpu->r[3] = rbrew_read16(cpu->mem, _t15);
/* 028BE9C8 */ cpu->lr = cpu->r[0];
/* 028BE9CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE9D0 */ return;
}
// fn_028BE95C @ 0x28be95c
void Gambit_fn_028BE95C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BE95C: ; // 0x28be95c
/* 028BE95C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE95C */ cpu->r[1] = _t0;
/* 028BE960 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE960 */ _t2 = _t1 & 0x00000001u;
/* 028BE960 */ if (_t2) goto L_028BE984; else goto L_028BE964;
L_028BE964: ; // 0x28be964
/* 028BE964 */ cpu->r[3] = cpu->r[11];
/* 028BE968 */ Gambit_fn_028BE8F8(cpu);
/* 028BE96C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028BE970 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE970 */ _t4 = _t3 & 0x00000001u;
/* 028BE970 */ if (_t4) goto L_028BE974; else goto L_028BE984;
L_028BE974: ; // 0x28be974
/* 028BE974 */ cpu->r[3] = cpu->r[11];
/* 028BE978 */ Gambit_fn_028BD990(cpu);
/* 028BE97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BE980 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE980 */ _t6 = _t5 & 0x00000001u;
/* 028BE980 */ if (_t6) goto L_028BE984; else goto L_028BE998;
L_028BE984: ; // 0x28be984
/* 028BE984 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BE984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BE988 */ cpu->lr = cpu->r[0];
/* 028BE98C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE990 */ cpu->r[3] = 0x00000000u;
/* 028BE994 */ return;
L_028BE998: ; // 0x28be998
/* 028BE998 */ _t8 = cpu->r[3] + 0x0000004Cu;
/* 028BE998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BE99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028BE9A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BE9A0 */ _t10 = _t9 & 0x00000001u;
/* 028BE9A0 */ if (_t10) goto L_028BE9A4; else goto L_028BE9C0;
L_028BE9A4: ; // 0x28be9a4
/* 028BE9A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BE9A8 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
/* 028BE9AC */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BE9AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BE9B0 */ _t12 = cpu->r[12] + 0x000000ECu;
/* 028BE9B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028BE9B4 */ cpu->lr = cpu->r[0];
/* 028BE9B8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE9BC */ return;
L_028BE9C0: ; // 0x28be9c0
/* 028BE9C0 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BE9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BE9C4 */ _t14 = cpu->r[3] + 0x000000E0u;
/* 028BE9C4 */ cpu->r[3] = rbrew_read16(cpu->mem, _t14);
/* 028BE9C8 */ cpu->lr = cpu->r[0];
/* 028BE9CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BE9D0 */ return;
}
// fn_028BE9D4 @ 0x28be9d4
void Gambit_fn_028BE9D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028BE9D4: ; // 0x28be9d4
/* 028BE9D4 */ cpu->r[0] = cpu->lr;
/* 028BE9D8 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BE9D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BE9DC */ cpu->r[10] = cpu->r[3];
/* 028BE9E0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE9E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BE9E0 */ cpu->r[1] = _t1;
/* 028BE9E4 */ _t2 = cpu->r[10] + 0x00000004u;
/* 028BE9E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
/* 028BE9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
/* 028BE9EC */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE9EC */ _t4 = _t3 & 0x00000001u;
/* 028BE9EC */ if (_t4) goto L_028BEA10; else goto L_028BE9F0;
L_028BE9F0: ; // 0x28be9f0
/* 028BE9F0 */ cpu->r[3] = cpu->r[10];
/* 028BE9F4 */ Gambit_fn_028BE8F8(cpu);
/* 028BE9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028BE9FC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE9FC */ _t6 = _t5 & 0x00000001u;
/* 028BE9FC */ if (_t6) goto L_028BEA00; else goto L_028BEA10;
L_028BEA00: ; // 0x28bea00
/* 028BEA00 */ cpu->r[3] = cpu->r[10];
/* 028BEA04 */ Gambit_fn_028BE94C(cpu);
/* 028BEA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
/* 028BEA0C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEA0C */ _t8 = _t7 & 0x00000001u;
/* 028BEA0C */ if (_t8) goto L_028BEA24; else goto L_028BEA10;
L_028BEA10: ; // 0x28bea10
/* 028BEA10 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BEA10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BEA14 */ cpu->lr = cpu->r[0];
/* 028BEA18 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEA1C */ cpu->r[3] = 0x00000000u;
/* 028BEA20 */ return;
L_028BEA24: ; // 0x28bea24
/* 028BEA24 */ _t10 = cpu->r[10] + 0x00000124u;
/* 028BEA24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028BEA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BEA2C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEA2C */ _t12 = _t11 & 0x00000001u;
/* 028BEA2C */ if (_t12) goto L_028BEA68; else goto L_028BEA30;
L_028BEA30: ; // 0x28bea30
/* 028BEA30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BEA34 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEA34 */ _t14 = _t13 & 0x00000001u;
/* 028BEA34 */ if (_t14) goto L_028BEA38; else goto L_028BEA40;
L_028BEA38: ; // 0x28bea38
/* 028BEA38 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028BEA3C */ cpu->r[12] = cpu->r[12] + cpu->r[10];
L_028BEA40: ; // 0x28bea40
/* 028BEA40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
/* 028BEA44 */ _t15 = cpu->r[6] + 0x00000000u;
/* 028BEA44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
/* 028BEA48 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEA48 */ _t17 = _t16 & 0x00000001u;
/* 028BEA48 */ if (_t17) goto L_028BEA4C; else goto L_028BEA54;
L_028BEA4C: ; // 0x28bea4c
/* 028BEA4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BEA50 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028BEA54: ; // 0x28bea54
/* 028BEA54 */ _t18 = cpu->r[12] + 0x00000000u;
/* 028BEA54 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
/* 028BEA58 */ _t19 = cpu->r[6] + 0x00000004u;
/* 028BEA58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
/* 028BEA5C */ cpu->r[3] = 0x00000001u;
/* 028BEA60 */ _t20 = cpu->r[12] + 0x00000004u;
/* 028BEA60 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
/* 028BEA64 */ goto L_028BEA90;
L_028BEA68: ; // 0x28bea68
/* 028BEA68 */ _t21 = cpu->r[10] + 0x0000013Cu;
/* 028BEA68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028BEA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
/* 028BEA70 */ _t22 = cpu->r[6] + 0x00000000u;
/* 028BEA70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028BEA74 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEA74 */ _t24 = _t23 & 0x00000001u;
/* 028BEA74 */ if (_t24) goto L_028BEA78; else goto L_028BEA80;
L_028BEA78: ; // 0x28bea78
/* 028BEA78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BEA7C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028BEA80: ; // 0x28bea80
/* 028BEA80 */ _t25 = cpu->r[12] + 0x00000000u;
/* 028BEA80 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
/* 028BEA84 */ _t26 = cpu->r[6] + 0x00000004u;
/* 028BEA84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028BEA88 */ cpu->r[3] = 0x00000001u;
/* 028BEA8C */ _t27 = cpu->r[12] + 0x00000004u;
/* 028BEA8C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
L_028BEA90: ; // 0x28bea90
/* 028BEA90 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028BEA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028BEA94 */ cpu->lr = cpu->r[0];
/* 028BEA98 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEA9C */ return;
}
// fn_028BE9E0 @ 0x28be9e0
void Gambit_fn_028BE9E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028BE9E0: ; // 0x28be9e0
/* 028BE9E0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BE9E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BE9E0 */ cpu->r[1] = _t0;
/* 028BE9E4 */ _t1 = cpu->r[10] + 0x00000004u;
/* 028BE9E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
/* 028BE9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
/* 028BE9EC */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BE9EC */ _t3 = _t2 & 0x00000001u;
/* 028BE9EC */ if (_t3) goto L_028BEA10; else goto L_028BE9F0;
L_028BE9F0: ; // 0x28be9f0
/* 028BE9F0 */ cpu->r[3] = cpu->r[10];
/* 028BE9F4 */ Gambit_fn_028BE8F8(cpu);
/* 028BE9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028BE9FC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BE9FC */ _t5 = _t4 & 0x00000001u;
/* 028BE9FC */ if (_t5) goto L_028BEA00; else goto L_028BEA10;
L_028BEA00: ; // 0x28bea00
/* 028BEA00 */ cpu->r[3] = cpu->r[10];
/* 028BEA04 */ Gambit_fn_028BE94C(cpu);
/* 028BEA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
/* 028BEA0C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEA0C */ _t7 = _t6 & 0x00000001u;
/* 028BEA0C */ if (_t7) goto L_028BEA24; else goto L_028BEA10;
L_028BEA10: ; // 0x28bea10
/* 028BEA10 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BEA10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BEA14 */ cpu->lr = cpu->r[0];
/* 028BEA18 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEA1C */ cpu->r[3] = 0x00000000u;
/* 028BEA20 */ return;
L_028BEA24: ; // 0x28bea24
/* 028BEA24 */ _t9 = cpu->r[10] + 0x00000124u;
/* 028BEA24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BEA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BEA2C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEA2C */ _t11 = _t10 & 0x00000001u;
/* 028BEA2C */ if (_t11) goto L_028BEA68; else goto L_028BEA30;
L_028BEA30: ; // 0x28bea30
/* 028BEA30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BEA34 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEA34 */ _t13 = _t12 & 0x00000001u;
/* 028BEA34 */ if (_t13) goto L_028BEA38; else goto L_028BEA40;
L_028BEA38: ; // 0x28bea38
/* 028BEA38 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028BEA3C */ cpu->r[12] = cpu->r[12] + cpu->r[10];
L_028BEA40: ; // 0x28bea40
/* 028BEA40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
/* 028BEA44 */ _t14 = cpu->r[6] + 0x00000000u;
/* 028BEA44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028BEA48 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEA48 */ _t16 = _t15 & 0x00000001u;
/* 028BEA48 */ if (_t16) goto L_028BEA4C; else goto L_028BEA54;
L_028BEA4C: ; // 0x28bea4c
/* 028BEA4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BEA50 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028BEA54: ; // 0x28bea54
/* 028BEA54 */ _t17 = cpu->r[12] + 0x00000000u;
/* 028BEA54 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
/* 028BEA58 */ _t18 = cpu->r[6] + 0x00000004u;
/* 028BEA58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028BEA5C */ cpu->r[3] = 0x00000001u;
/* 028BEA60 */ _t19 = cpu->r[12] + 0x00000004u;
/* 028BEA60 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028BEA64 */ goto L_028BEA90;
L_028BEA68: ; // 0x28bea68
/* 028BEA68 */ _t20 = cpu->r[10] + 0x0000013Cu;
/* 028BEA68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028BEA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
/* 028BEA70 */ _t21 = cpu->r[6] + 0x00000000u;
/* 028BEA70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028BEA74 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEA74 */ _t23 = _t22 & 0x00000001u;
/* 028BEA74 */ if (_t23) goto L_028BEA78; else goto L_028BEA80;
L_028BEA78: ; // 0x28bea78
/* 028BEA78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BEA7C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028BEA80: ; // 0x28bea80
/* 028BEA80 */ _t24 = cpu->r[12] + 0x00000000u;
/* 028BEA80 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
/* 028BEA84 */ _t25 = cpu->r[6] + 0x00000004u;
/* 028BEA84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
/* 028BEA88 */ cpu->r[3] = 0x00000001u;
/* 028BEA8C */ _t26 = cpu->r[12] + 0x00000004u;
/* 028BEA8C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
L_028BEA90: ; // 0x28bea90
/* 028BEA90 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028BEA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028BEA94 */ cpu->lr = cpu->r[0];
/* 028BEA98 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEA9C */ return;
}
// fn_028BEAA0 @ 0x28beaa0
void Gambit_fn_028BEAA0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BEAA0: ; // 0x28beaa0
/* 028BEAA0 */ cpu->r[0] = cpu->lr;
/* 028BEAA4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BEAA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BEAA8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BEAA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BEAA8 */ cpu->r[1] = _t1;
/* 028BEAAC */ _t2 = cpu->r[3] + 0x00000004u;
/* 028BEAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BEAB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BEAB4 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BEAB4 */ _t4 = _t3 & 0x00000001u;
/* 028BEAB4 */ if (_t4) goto L_028BEAC0; else goto L_028BEAB8;
L_028BEAB8: ; // 0x28beab8
/* 028BEAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BEABC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEABC */ _t6 = _t5 & 0x00000001u;
/* 028BEABC */ if (_t6) goto L_028BEAC0; else goto L_028BEAD4;
L_028BEAC0: ; // 0x28beac0
/* 028BEAC0 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BEAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BEAC4 */ cpu->lr = cpu->r[0];
/* 028BEAC8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEACC */ cpu->r[3] = 0x00000000u;
/* 028BEAD0 */ return;
L_028BEAD4: ; // 0x28bead4
/* 028BEAD4 */ _t8 = cpu->r[3] + 0x00000134u;
/* 028BEAD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028BEAD8 */ _t9 = cpu->r[3] + 0x0000001Cu;
/* 028BEAD8 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
/* 028BEADC */ _t10 = cpu->r[12] + 0x00000000u;
/* 028BEADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BEAE0 */ Gambit_fn_028EADA4(cpu);
/* 028BEAE4 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BEAE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BEAE8 */ cpu->lr = cpu->r[0];
/* 028BEAEC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEAF0 */ cpu->r[3] = 0x00000001u;
/* 028BEAF4 */ return;
}
// fn_028BEAA8 @ 0x28beaa8
void Gambit_fn_028BEAA8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028BEAA8: ; // 0x28beaa8
/* 028BEAA8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BEAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEAA8 */ cpu->r[1] = _t0;
/* 028BEAAC */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BEAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BEAB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BEAB4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BEAB4 */ _t3 = _t2 & 0x00000001u;
/* 028BEAB4 */ if (_t3) goto L_028BEAC0; else goto L_028BEAB8;
L_028BEAB8: ; // 0x28beab8
/* 028BEAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BEABC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEABC */ _t5 = _t4 & 0x00000001u;
/* 028BEABC */ if (_t5) goto L_028BEAC0; else goto L_028BEAD4;
L_028BEAC0: ; // 0x28beac0
/* 028BEAC0 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BEAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BEAC4 */ cpu->lr = cpu->r[0];
/* 028BEAC8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEACC */ cpu->r[3] = 0x00000000u;
/* 028BEAD0 */ return;
L_028BEAD4: ; // 0x28bead4
/* 028BEAD4 */ _t7 = cpu->r[3] + 0x00000134u;
/* 028BEAD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BEAD8 */ _t8 = cpu->r[3] + 0x0000001Cu;
/* 028BEAD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
/* 028BEADC */ _t9 = cpu->r[12] + 0x00000000u;
/* 028BEADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028BEAE0 */ Gambit_fn_028EADA4(cpu);
/* 028BEAE4 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BEAE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BEAE8 */ cpu->lr = cpu->r[0];
/* 028BEAEC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEAF0 */ cpu->r[3] = 0x00000001u;
/* 028BEAF4 */ return;
}
// fn_028BEAF8 @ 0x28beaf8
void Gambit_fn_028BEAF8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
L_028BEAF8: ; // 0x28beaf8
/* 028BEAF8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028BEAF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEAF8 */ cpu->r[1] = _t0;
/* 028BEAFC */ /* nop */
/* 028BEB00 */ cpu->r[0] = cpu->lr;
/* 028BEB04 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028BEB04 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BEB08 */ cpu->r[25] = cpu->r[4];
/* 028BEB0C */ _t2 = cpu->r[25] + 0x00000000u;
/* 028BEB0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028BEB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BEB14 */ cpu->r[26] = cpu->r[5];
/* 028BEB18 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEB18 */ _t4 = _t3 & 0x00000001u;
/* 028BEB18 */ if (_t4) goto L_028BEBFC; else goto L_028BEB1C;
L_028BEB1C: ; // 0x28beb1c
/* 028BEB1C */ cpu->r[31] = 0x10110000u;
/* 028BEB20 */ cpu->r[29] = 0x00080000u;
/* 028BEB24 */ cpu->r[27] = 0x00000000u;
/* 028BEB28 */ cpu->r[30] = 0x10140000u;
/* 028BEB2C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028BEB30 */ _t5 = cpu->r[31] + 0x00007399u;
/* 028BEB30 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
/* 028BEB34 */ cpu->r[30] = cpu->r[30] + 0xFFFF90D8u;
L_028BEB38: ; // 0x28beb38
/* 028BEB38 */ cpu->r[4] = cpu->r[27];
/* 028BEB3C */ cpu->r[3] = cpu->r[25];
/* 028BEB40 */ Gambit_fn_028E5ED4(cpu);
/* 028BEB44 */ _t6 = cpu->r[26] + 0x00000004u;
/* 028BEB44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BEB48 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BEB48 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028BEB4C */ _t8 = cpu->r[1] + 0x00000008u;
/* 028BEB4C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
/* 028BEB50 */ _t9 = cpu->r[12] + 0x00000014u;
/* 028BEB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BEB54 */ cpu->ctr = cpu->r[0];
/* 028BEB58 */ cpu->r[3] = cpu->r[26];
/* 028BEB5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BEB60 */ _t10 = cpu->r[26] + 0x00000004u;
/* 028BEB60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028BEB64 */ _t11 = cpu->r[5] + 0x00000014u;
/* 028BEB64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BEB68 */ cpu->ctr = cpu->r[0];
/* 028BEB6C */ cpu->r[3] = cpu->r[26];
/* 028BEB70 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BEB74 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028BEB74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028BEB78 */ _t13 = cpu->r[8] + 0x00000014u;
/* 028BEB78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028BEB7C */ cpu->ctr = cpu->r[10];
/* 028BEB80 */ _t14 = cpu->r[26] + 0x00000000u;
/* 028BEB80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
/* 028BEB84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028BEB88 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BEB8C */ _t15 = cpu->r[1] + 0x00000008u;
/* 028BEB8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BEB90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
/* 028BEB94 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEB94 */ _t17 = _t16 & 0x00000001u;
/* 028BEB94 */ if (_t17) goto L_028BEBCC; else goto L_028BEB98;
L_028BEB98: ; // 0x28beb98
/* 028BEB98 */ _t18 = cpu->r[26] + 0x00000000u;
/* 028BEB98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
/* 028BEB9C */ _t19 = cpu->r[1] + 0x00000008u;
/* 028BEB9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028BEBA0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
/* 028BEBA4 */ cpu->ctr = cpu->r[29];
/* 028BEBA8 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
L_028BEBAC: ; // 0x28bebac
/* 028BEBAC */ _t20 = cpu->r[6] + 0x00000001u;
/* 028BEBAC */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
/* 028BEBAC */ cpu->r[6] = _t20;
/* 028BEBB0 */ _t21 = cpu->r[4] + 0x00000001u;
/* 028BEBB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
/* 028BEBB0 */ cpu->r[4] = _t21;
/* 028BEBB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
/* 028BEBB8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEBB8 */ _t23 = _t22 & 0x00000001u;
/* 028BEBB8 */ if (_t23) goto L_028BEBBC; else goto L_028BEBEC;
L_028BEBBC: ; // 0x28bebbc
/* 028BEBBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028BEBC0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEBC0 */ _t25 = _t24 & 0x00000001u;
/* 028BEBC0 */ if (_t25) goto L_028BEBCC; else goto L_028BEBC4;
L_028BEBC4: ; // 0x28bebc4
/* 028BEBC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028BEBC4 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028BEBC4 */ _t27 = _t26 >> (0x00000002u & 31u);
/* 028BEBC4 */ _t28 = _t27 & 0x00000001u;
/* 028BEBC4 */ if (_t28) goto L_028BEBAC; else goto L_028BEBC8;
L_028BEBC8: ; // 0x28bebc8
/* 028BEBC8 */ goto L_028BEBEC;
L_028BEBCC: ; // 0x28bebcc
/* 028BEBCC */ cpu->r[3] = cpu->r[25];
/* 028BEBD0 */ cpu->r[4] = cpu->r[27];
/* 028BEBD4 */ Gambit_fn_028E5F04(cpu);
/* 028BEBD8 */ /* nop */
/* 028BEBDC */ _t29 = cpu->r[1] + 0x00000034u;
/* 028BEBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028BEBE0 */ cpu->lr = cpu->r[0];
/* 028BEBE4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028BEBE8 */ return;
L_028BEBEC: ; // 0x28bebec
/* 028BEBEC */ _t30 = cpu->r[25] + 0x00000000u;
/* 028BEBEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
/* 028BEBF0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028BEBF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]);
/* 028BEBF8 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEBF8 */ _t32 = _t31 & 0x00000001u;
/* 028BEBF8 */ if (_t32) goto L_028BEB38; else goto L_028BEBFC;
L_028BEBFC: ; // 0x28bebfc
/* 028BEBFC */ /* nop */
/* 028BEC00 */ _t33 = cpu->r[1] + 0x00000034u;
/* 028BEC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028BEC04 */ cpu->lr = cpu->r[0];
/* 028BEC08 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028BEC0C */ cpu->r[3] = 0xFFFFFFFFu;
/* 028BEC10 */ return;
}
// fn_028BEC14 @ 0x28bec14
void Gambit_fn_028BEC14(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028BEC14: ; // 0x28bec14
/* 028BEC14 */ cpu->r[0] = cpu->lr;
/* 028BEC18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEC18 */ cpu->r[1] = _t0;
/* 028BEC1C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BEC1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BEC20 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BEC20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BEC24 */ cpu->r[30] = cpu->r[3];
/* 028BEC28 */ cpu->r[31] = cpu->r[4];
/* 028BEC2C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BEC2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BEC30 */ _t4 = cpu->r[30] + 0x000001A8u;
/* 028BEC30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
/* 028BEC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BEC38 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BEC3C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEC3C */ _t6 = _t5 & 0x00000001u;
/* 028BEC3C */ if (_t6) goto L_028BEC54; else goto L_028BEC40;
L_028BEC40: ; // 0x28bec40
/* 028BEC40 */ cpu->r[5] = cpu->r[31];
/* 028BEC44 */ cpu->r[3] = cpu->r[30];
/* 028BEC48 */ Gambit_fn_028BEAF8(cpu);
/* 028BEC4C */ cpu->r[0] = cpu->r[3];
/* 028BEC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BEC50 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEC50 */ _t8 = _t7 & 0x00000001u;
/* 028BEC50 */ if (_t8) goto L_028BEC54; else goto L_028BEC78;
L_028BEC54: ; // 0x28bec54
/* 028BEC54 */ cpu->r[3] = cpu->r[30];
/* 028BEC58 */ Gambit_fn_028BD990(cpu);
/* 028BEC5C */ cpu->r[12] = cpu->r[3];
/* 028BEC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BEC60 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEC60 */ _t10 = _t9 & 0x00000001u;
/* 028BEC60 */ if (_t10) goto L_028BEC78; else goto L_028BEC64;
L_028BEC64: ; // 0x28bec64
/* 028BEC64 */ cpu->r[5] = cpu->r[31];
/* 028BEC68 */ cpu->r[4] = cpu->r[12] + 0x0000012Cu;
/* 028BEC6C */ cpu->r[3] = cpu->r[30];
/* 028BEC70 */ Gambit_fn_028BEAF8(cpu);
/* 028BEC74 */ cpu->r[0] = cpu->r[3];
L_028BEC78: ; // 0x28bec78
/* 028BEC78 */ cpu->r[3] = cpu->r[0];
/* 028BEC7C */ _t11 = cpu->r[1] + 0x00000014u;
/* 028BEC7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BEC80 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028BEC80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028BEC84 */ cpu->lr = cpu->r[0];
/* 028BEC88 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BEC88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028BEC8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEC90 */ return;
}
// fn_028BEC18 @ 0x28bec18
void Gambit_fn_028BEC18(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028BEC18: ; // 0x28bec18
/* 028BEC18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEC18 */ cpu->r[1] = _t0;
/* 028BEC1C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BEC1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BEC20 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BEC20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BEC24 */ cpu->r[30] = cpu->r[3];
/* 028BEC28 */ cpu->r[31] = cpu->r[4];
/* 028BEC2C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BEC2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BEC30 */ _t4 = cpu->r[30] + 0x000001A8u;
/* 028BEC30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
/* 028BEC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BEC38 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BEC3C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEC3C */ _t6 = _t5 & 0x00000001u;
/* 028BEC3C */ if (_t6) goto L_028BEC54; else goto L_028BEC40;
L_028BEC40: ; // 0x28bec40
/* 028BEC40 */ cpu->r[5] = cpu->r[31];
/* 028BEC44 */ cpu->r[3] = cpu->r[30];
/* 028BEC48 */ Gambit_fn_028BEAF8(cpu);
/* 028BEC4C */ cpu->r[0] = cpu->r[3];
/* 028BEC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BEC50 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEC50 */ _t8 = _t7 & 0x00000001u;
/* 028BEC50 */ if (_t8) goto L_028BEC54; else goto L_028BEC78;
L_028BEC54: ; // 0x28bec54
/* 028BEC54 */ cpu->r[3] = cpu->r[30];
/* 028BEC58 */ Gambit_fn_028BD990(cpu);
/* 028BEC5C */ cpu->r[12] = cpu->r[3];
/* 028BEC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BEC60 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEC60 */ _t10 = _t9 & 0x00000001u;
/* 028BEC60 */ if (_t10) goto L_028BEC78; else goto L_028BEC64;
L_028BEC64: ; // 0x28bec64
/* 028BEC64 */ cpu->r[5] = cpu->r[31];
/* 028BEC68 */ cpu->r[4] = cpu->r[12] + 0x0000012Cu;
/* 028BEC6C */ cpu->r[3] = cpu->r[30];
/* 028BEC70 */ Gambit_fn_028BEAF8(cpu);
/* 028BEC74 */ cpu->r[0] = cpu->r[3];
L_028BEC78: ; // 0x28bec78
/* 028BEC78 */ cpu->r[3] = cpu->r[0];
/* 028BEC7C */ _t11 = cpu->r[1] + 0x00000014u;
/* 028BEC7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BEC80 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028BEC80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028BEC84 */ cpu->lr = cpu->r[0];
/* 028BEC88 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BEC88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028BEC8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEC90 */ return;
}
// fn_028BEC94 @ 0x28bec94
void Gambit_fn_028BEC94(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BEC94: ; // 0x28bec94
/* 028BEC94 */ cpu->r[0] = cpu->lr;
/* 028BEC98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEC98 */ cpu->r[1] = _t0;
/* 028BEC9C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BEC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BECA0 */ cpu->r[31] = cpu->r[3];
/* 028BECA4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BECA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BECA8 */ _t3 = cpu->r[31] + 0x00000004u;
/* 028BECA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BECAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BECB0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BECB0 */ _t5 = _t4 & 0x00000001u;
/* 028BECB0 */ if (_t5) goto L_028BECC4; else goto L_028BECB4;
L_028BECB4: ; // 0x28becb4
/* 028BECB4 */ cpu->r[3] = cpu->r[31];
/* 028BECB8 */ Gambit_fn_028BEC14(cpu);
/* 028BECBC */ cpu->r[4] = cpu->r[3];
/* 028BECBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BECC0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BECC0 */ _t7 = _t6 & 0x00000001u;
/* 028BECC0 */ if (_t7) goto L_028BECC4; else goto L_028BECDC;
L_028BECC4: ; // 0x28becc4
/* 028BECC4 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BECC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BECC8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BECC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028BECCC */ cpu->lr = cpu->r[0];
/* 028BECD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BECD4 */ cpu->r[3] = 0x00000000u;
/* 028BECD8 */ return;
L_028BECDC: ; // 0x28becdc
/* 028BECDC */ cpu->r[3] = cpu->r[31];
/* 028BECE0 */ Gambit_fn_028BEAA0(cpu);
/* 028BECE4 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028BECE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BECE8 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BECE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BECEC */ cpu->lr = cpu->r[0];
/* 028BECF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BECF4 */ return;
}
// fn_028BEC98 @ 0x28bec98
void Gambit_fn_028BEC98(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BEC98: ; // 0x28bec98
/* 028BEC98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEC98 */ cpu->r[1] = _t0;
/* 028BEC9C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BEC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BECA0 */ cpu->r[31] = cpu->r[3];
/* 028BECA4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BECA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BECA8 */ _t3 = cpu->r[31] + 0x00000004u;
/* 028BECA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BECAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BECB0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BECB0 */ _t5 = _t4 & 0x00000001u;
/* 028BECB0 */ if (_t5) goto L_028BECC4; else goto L_028BECB4;
L_028BECB4: ; // 0x28becb4
/* 028BECB4 */ cpu->r[3] = cpu->r[31];
/* 028BECB8 */ Gambit_fn_028BEC14(cpu);
/* 028BECBC */ cpu->r[4] = cpu->r[3];
/* 028BECBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BECC0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BECC0 */ _t7 = _t6 & 0x00000001u;
/* 028BECC0 */ if (_t7) goto L_028BECC4; else goto L_028BECDC;
L_028BECC4: ; // 0x28becc4
/* 028BECC4 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BECC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BECC8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BECC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028BECCC */ cpu->lr = cpu->r[0];
/* 028BECD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BECD4 */ cpu->r[3] = 0x00000000u;
/* 028BECD8 */ return;
L_028BECDC: ; // 0x28becdc
/* 028BECDC */ cpu->r[3] = cpu->r[31];
/* 028BECE0 */ Gambit_fn_028BEAA0(cpu);
/* 028BECE4 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028BECE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BECE8 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BECE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BECEC */ cpu->lr = cpu->r[0];
/* 028BECF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BECF4 */ return;
}
// fn_028BECF8 @ 0x28becf8
void Gambit_fn_028BECF8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028BECF8: ; // 0x28becf8
/* 028BECF8 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028BECF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BECFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BED00 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BED00 */ _t2 = _t1 & 0x00000001u;
/* 028BED00 */ if (_t2) goto L_028BED04; else goto L_028BED0C;
L_028BED04: ; // 0x28bed04
/* 028BED04 */ cpu->r[3] = 0x00000000u;
/* 028BED08 */ return;
L_028BED0C: ; // 0x28bed0c
/* 028BED0C */ _t3 = cpu->r[3] + 0x000001A8u;
/* 028BED0C */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
/* 028BED10 */ cpu->r[3] = 0x00000001u;
/* 028BED14 */ return;
}
// fn_028BED20 @ 0x28bed20
void Gambit_fn_028BED20(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BED20: ; // 0x28bed20
/* 028BED20 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BED20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BED20 */ cpu->r[1] = _t0;
/* 028BED24 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BED24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BED28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BED2C */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BED2C */ _t3 = _t2 & 0x00000001u;
/* 028BED2C */ if (_t3) goto L_028BED30; else goto L_028BED44;
L_028BED30: ; // 0x28bed30
/* 028BED30 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BED30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028BED34 */ cpu->lr = cpu->r[0];
/* 028BED38 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BED3C */ cpu->r[3] = 0x00000000u;
/* 028BED40 */ return;
L_028BED44: ; // 0x28bed44
/* 028BED44 */ _t5 = cpu->r[3] + 0x00000134u;
/* 028BED44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028BED48 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028BED48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028BED4C */ Gambit_fn_028EADAC(cpu);
/* 028BED50 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BED50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BED54 */ cpu->lr = cpu->r[0];
/* 028BED58 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BED5C */ cpu->r[3] = 0x00000001u;
/* 028BED60 */ return;
}
// fn_028BED64 @ 0x28bed64
void Gambit_fn_028BED64(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028BED64: ; // 0x28bed64
/* 028BED64 */ cpu->r[0] = cpu->lr;
/* 028BED68 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BED68 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BED6C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BED6C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BED6C */ cpu->r[1] = _t1;
/* 028BED70 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028BED70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BED74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BED78 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BED78 */ _t4 = _t3 & 0x00000001u;
/* 028BED78 */ if (_t4) goto L_028BED88; else goto L_028BED7C;
L_028BED7C: ; // 0x28bed7c
/* 028BED7C */ _t5 = cpu->r[3] + 0x00000130u;
/* 028BED7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028BED80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BED84 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BED84 */ _t7 = _t6 & 0x00000001u;
/* 028BED84 */ if (_t7) goto L_028BED9C; else goto L_028BED88;
L_028BED88: ; // 0x28bed88
/* 028BED88 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BED88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BED8C */ cpu->lr = cpu->r[0];
/* 028BED90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BED94 */ cpu->r[3] = 0x00000000u;
/* 028BED98 */ return;
L_028BED9C: ; // 0x28bed9c
/* 028BED9C */ Gambit_fn_028BE264(cpu);
/* 028BEDA0 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BEDA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BEDA4 */ cpu->lr = cpu->r[0];
/* 028BEDA8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEDAC */ cpu->r[3] = 0x00000001u;
/* 028BEDB0 */ return;
}
// fn_028BED6C @ 0x28bed6c
void Gambit_fn_028BED6C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BED6C: ; // 0x28bed6c
/* 028BED6C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BED6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BED6C */ cpu->r[1] = _t0;
/* 028BED70 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BED70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BED74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
/* 028BED78 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BED78 */ _t3 = _t2 & 0x00000001u;
/* 028BED78 */ if (_t3) goto L_028BED88; else goto L_028BED7C;
L_028BED7C: ; // 0x28bed7c
/* 028BED7C */ _t4 = cpu->r[3] + 0x00000130u;
/* 028BED7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BED80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BED84 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BED84 */ _t6 = _t5 & 0x00000001u;
/* 028BED84 */ if (_t6) goto L_028BED9C; else goto L_028BED88;
L_028BED88: ; // 0x28bed88
/* 028BED88 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BED88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BED8C */ cpu->lr = cpu->r[0];
/* 028BED90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BED94 */ cpu->r[3] = 0x00000000u;
/* 028BED98 */ return;
L_028BED9C: ; // 0x28bed9c
/* 028BED9C */ Gambit_fn_028BE264(cpu);
/* 028BEDA0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BEDA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BEDA4 */ cpu->lr = cpu->r[0];
/* 028BEDA8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BEDAC */ cpu->r[3] = 0x00000001u;
/* 028BEDB0 */ return;
}
// fn_028BEDB4 @ 0x28bedb4
void Gambit_fn_028BEDB4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BEDB4: ; // 0x28bedb4
/* 028BEDB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BEDB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BEDB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEDB8 */ cpu->r[1] = _t0;
/* 028BEDBC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEDBC */ _t2 = _t1 & 0x00000001u;
/* 028BEDBC */ if (_t2) goto L_028BEDD0; else goto L_028BEDC0;
L_028BEDC0: ; // 0x28bedc0
/* 028BEDC0 */ cpu->r[12] = 0x10140000u;
/* 028BEDC4 */ _t3 = cpu->r[12] + 0xFFFF90F0u;
/* 028BEDC4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
/* 028BEDC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BEDCC */ return;
L_028BEDD0: ; // 0x28bedd0
/* 028BEDD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BEDD4 */ cpu->r[12] = cpu->r[3] + 0x0000011Cu;
/* 028BEDD8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEDD8 */ _t5 = _t4 & 0x00000001u;
/* 028BEDD8 */ if (_t5) goto L_028BEDDC; else goto L_028BEDE0;
L_028BEDDC: ; // 0x28beddc
/* 028BEDDC */ cpu->r[12] = cpu->r[12] + cpu->r[4];
L_028BEDE0: ; // 0x28bede0
/* 028BEDE0 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028BEDE0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
/* 028BEDE4 */ cpu->r[0] = 0x43300000u;
/* 028BEDE8 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028BEDE8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028BEDEC */ cpu->r[11] = 0x10140000u;
/* 028BEDF0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BEDF0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028BEDF4 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028BEDF4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
/* 028BEDF8 */ _t10 = cpu->r[11] + 0xFFFF9100u;
/* 028BEDF8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
/* 028BEDFC */ cpu->f[0] = cpu->f[0] - cpu->f[13];
/* 028BEE00 */ cpu->r[12] = 0x10140000u;
/* 028BEE04 */ cpu->f[13] = (double)(float)cpu->f[0];
/* 028BEE08 */ _t11 = cpu->r[12] + 0xFFFF9108u;
/* 028BEE08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028BEE0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BEE10 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
/* 028BEE14 */ return;
}
// fn_028BEDB8 @ 0x28bedb8
void Gambit_fn_028BEDB8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BEDB8: ; // 0x28bedb8
/* 028BEDB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BEDB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEDB8 */ cpu->r[1] = _t0;
/* 028BEDBC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEDBC */ _t2 = _t1 & 0x00000001u;
/* 028BEDBC */ if (_t2) goto L_028BEDD0; else goto L_028BEDC0;
L_028BEDC0: ; // 0x28bedc0
/* 028BEDC0 */ cpu->r[12] = 0x10140000u;
/* 028BEDC4 */ _t3 = cpu->r[12] + 0xFFFF90F0u;
/* 028BEDC4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
/* 028BEDC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BEDCC */ return;
L_028BEDD0: ; // 0x28bedd0
/* 028BEDD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BEDD4 */ cpu->r[12] = cpu->r[3] + 0x0000011Cu;
/* 028BEDD8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEDD8 */ _t5 = _t4 & 0x00000001u;
/* 028BEDD8 */ if (_t5) goto L_028BEDDC; else goto L_028BEDE0;
L_028BEDDC: ; // 0x28beddc
/* 028BEDDC */ cpu->r[12] = cpu->r[12] + cpu->r[4];
L_028BEDE0: ; // 0x28bede0
/* 028BEDE0 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028BEDE0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
/* 028BEDE4 */ cpu->r[0] = 0x43300000u;
/* 028BEDE8 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028BEDE8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028BEDEC */ cpu->r[11] = 0x10140000u;
/* 028BEDF0 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BEDF0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028BEDF4 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028BEDF4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
/* 028BEDF8 */ _t10 = cpu->r[11] + 0xFFFF9100u;
/* 028BEDF8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
/* 028BEDFC */ cpu->f[0] = cpu->f[0] - cpu->f[13];
/* 028BEE00 */ cpu->r[12] = 0x10140000u;
/* 028BEE04 */ cpu->f[13] = (double)(float)cpu->f[0];
/* 028BEE08 */ _t11 = cpu->r[12] + 0xFFFF9108u;
/* 028BEE08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028BEE0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BEE10 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
/* 028BEE14 */ return;
}
// fn_028BEE18 @ 0x28bee18
void Gambit_fn_028BEE18(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BEE18: ; // 0x28bee18
/* 028BEE18 */ cpu->r[12] = 0x10140000u;
/* 028BEE1C */ _t0 = cpu->r[12] + 0xFFFF90F0u;
/* 028BEE1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028BEE20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
/* 028BEE24 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BEE24 */ _t2 = _t1 & 0x00000001u;
/* 028BEE24 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BEE24 */ goto L_028BEE28;
L_028BEE28: ; // 0x28bee28
/* 028BEE28 */ cpu->r[12] = 0x10140000u;
/* 028BEE2C */ _t3 = cpu->r[12] + 0xFFFF90F8u;
/* 028BEE2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028BEE30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
/* 028BEE34 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BEE34 */ _t5 = _t4 & 0x00000001u;
/* 028BEE34 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BEE34 */ goto L_028BEE38;
L_028BEE38: ; // 0x28bee38
/* 028BEE38 */ _t6 = cpu->r[3] + 0x00000110u;
/* 028BEE38 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
/* 028BEE3C */ return;
}
// fn_028BEE40 @ 0x28bee40
void Gambit_fn_028BEE40(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028BEE40: ; // 0x28bee40
/* 028BEE40 */ _t0 = cpu->r[3] + 0x000001B0u;
/* 028BEE40 */ rbrew_write32(cpu->mem, _t0, cpu->r[5]);
/* 028BEE44 */ _t1 = cpu->r[3] + 0x000001B4u;
/* 028BEE44 */ rbrew_write32(cpu->mem, _t1, cpu->r[6]);
/* 028BEE48 */ _t2 = cpu->r[3] + 0x000001ACu;
/* 028BEE48 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
/* 028BEE4C */ return;
}
// fn_028BEE50 @ 0x28bee50
void Gambit_fn_028BEE50(CPUState* cpu) {
uint32_t _t0;
L_028BEE50: ; // 0x28bee50
/* 028BEE50 */ _t0 = cpu->r[3] + 0x0000000Fu;
/* 028BEE50 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
/* 028BEE54 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028BEE58 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
/* 028BEE5C */ return;
}
// fn_028BEE60 @ 0x28bee60
void Gambit_fn_028BEE60(CPUState* cpu) {
uint32_t _t0, _t1;
L_028BEE60: ; // 0x28bee60
/* 028BEE60 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028BEE60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BEE64 */ cpu->r[12] = 0x00000001u;
/* 028BEE68 */ /* nop */
/* 028BEE6C */ _t1 = cpu->r[3] + 0x0000000Fu;
/* 028BEE6C */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
/* 028BEE70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BEE74 */ cpu->r[0] = cpu->r[12] & cpu->r[0];
/* 028BEE78 */ cpu->r[11] = cpu->r[0] + 0xFFFFFFFFu;
/* 028BEE7C */ cpu->r[3] = cpu->r[0] - cpu->r[11];
/* 028BEE80 */ return;
}
// fn_028BEE84 @ 0x28bee84
void Gambit_fn_028BEE84(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BEE84: ; // 0x28bee84
/* 028BEE84 */ cpu->r[0] = cpu->lr;
/* 028BEE88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEE88 */ cpu->r[1] = _t0;
/* 028BEE8C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BEE8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BEE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BEE94 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BEE94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BEE98 */ _t3 = cpu->r[3] + 0x00000134u;
/* 028BEE98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
/* 028BEE9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEE9C */ _t5 = _t4 & 0x00000001u;
/* 028BEE9C */ if (_t5) goto L_028BEEA0; else goto L_028BEEB0;
L_028BEEA0: ; // 0x28beea0
/* 028BEEA0 */ cpu->r[3] = 0x00000004u;
/* 028BEEA4 */ Gambit_fn_02801A78(cpu);
/* 028BEEA8 */ cpu->r[4] = cpu->r[3];
/* 028BEEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BEEAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEEAC */ _t7 = _t6 & 0x00000001u;
/* 028BEEAC */ if (_t7) goto L_028BEEB8; else goto L_028BEEB0;
L_028BEEB0: ; // 0x28beeb0
/* 028BEEB0 */ _t8 = cpu->r[31] + 0x00000008u;
/* 028BEEB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BEEB4 */ _t9 = cpu->r[4] + 0x00000000u;
/* 028BEEB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
L_028BEEB8: ; // 0x28beeb8
/* 028BEEB8 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028BEEB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BEEBC */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BEEBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BEEC0 */ cpu->lr = cpu->r[0];
/* 028BEEC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEEC8 */ return;
}
// fn_028BEE88 @ 0x28bee88
void Gambit_fn_028BEE88(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028BEE88: ; // 0x28bee88
/* 028BEE88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEE88 */ cpu->r[1] = _t0;
/* 028BEE8C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BEE8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BEE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BEE94 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BEE94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BEE98 */ _t3 = cpu->r[3] + 0x00000134u;
/* 028BEE98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
/* 028BEE9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEE9C */ _t5 = _t4 & 0x00000001u;
/* 028BEE9C */ if (_t5) goto L_028BEEA0; else goto L_028BEEB0;
L_028BEEA0: ; // 0x28beea0
/* 028BEEA0 */ cpu->r[3] = 0x00000004u;
/* 028BEEA4 */ Gambit_fn_02801A78(cpu);
/* 028BEEA8 */ cpu->r[4] = cpu->r[3];
/* 028BEEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BEEAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEEAC */ _t7 = _t6 & 0x00000001u;
/* 028BEEAC */ if (_t7) goto L_028BEEB8; else goto L_028BEEB0;
L_028BEEB0: ; // 0x28beeb0
/* 028BEEB0 */ _t8 = cpu->r[31] + 0x00000008u;
/* 028BEEB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BEEB4 */ _t9 = cpu->r[4] + 0x00000000u;
/* 028BEEB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
L_028BEEB8: ; // 0x28beeb8
/* 028BEEB8 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028BEEB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BEEBC */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BEEBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028BEEC0 */ cpu->lr = cpu->r[0];
/* 028BEEC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEEC8 */ return;
}
// fn_028BEECC @ 0x28beecc
void Gambit_fn_028BEECC(CPUState* cpu) {
uint32_t _t0, _t1;
L_028BEECC: ; // 0x28beecc
/* 028BEECC */ _t0 = cpu->r[3] + 0x00000134u;
/* 028BEECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BEED0 */ _t1 = cpu->r[12] + 0x00000014u;
/* 028BEED0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
/* 028BEED4 */ return;
}
// fn_028BEED8 @ 0x28beed8
void Gambit_fn_028BEED8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028BEED8: ; // 0x28beed8
/* 028BEED8 */ cpu->r[0] = cpu->lr;
/* 028BEEDC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BEEDC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BEEE0 */ cpu->r[11] = cpu->r[3];
/* 028BEEE4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEEE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BEEE4 */ cpu->r[1] = _t1;
/* 028BEEE8 */ _t2 = cpu->r[11] + 0x000001A4u;
/* 028BEEE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
/* 028BEEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BEEF0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEEF0 */ _t4 = _t3 & 0x00000001u;
/* 028BEEF0 */ if (_t4) goto L_028BEEF4; else goto L_028BEF20;
L_028BEEF4: ; // 0x28beef4
/* 028BEEF4 */ cpu->r[11] = 0x101F0000u;
/* 028BEEF8 */ _t5 = cpu->r[11] + 0x00006FD0u;
/* 028BEEF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028BEEF8 */ cpu->r[11] = _t5;
/* 028BEEFC */ _t6 = cpu->r[11] + 0x00000004u;
/* 028BEEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BEF00 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BEF00 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028BEF04 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BEF04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BEF08 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028BEF08 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
/* 028BEF0C */ cpu->lr = cpu->r[0];
/* 028BEF10 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BEF10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028BEF14 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028BEF14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028BEF18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEF1C */ return;
L_028BEF20: ; // 0x28bef20
/* 028BEF20 */ cpu->r[3] = cpu->r[11];
/* 028BEF24 */ Gambit_fn_028BD9A0(cpu);
/* 028BEF28 */ cpu->r[12] = 0x101D0000u;
/* 028BEF2C */ cpu->r[4] = cpu->r[3];
/* 028BEF30 */ _t12 = cpu->r[12] + 0xFFFF9AE0u;
/* 028BEF30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028BEF34 */ _t13 = cpu->r[11] + 0x00000128u;
/* 028BEF34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
/* 028BEF38 */ _t14 = cpu->r[12] + 0x00000040u;
/* 028BEF38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028BEF3C */ _t15 = cpu->r[10] + 0x00000020u;
/* 028BEF3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
/* 028BEF40 */ Gambit_fn_028DEBB0(cpu);
/* 028BEF44 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028BEF44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BEF48 */ cpu->lr = cpu->r[0];
/* 028BEF4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEF50 */ return;
}
// fn_028BEEE4 @ 0x28beee4
void Gambit_fn_028BEEE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028BEEE4: ; // 0x28beee4
/* 028BEEE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEEE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEEE4 */ cpu->r[1] = _t0;
/* 028BEEE8 */ _t1 = cpu->r[11] + 0x000001A4u;
/* 028BEEE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
/* 028BEEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BEEF0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEEF0 */ _t3 = _t2 & 0x00000001u;
/* 028BEEF0 */ if (_t3) goto L_028BEEF4; else goto L_028BEF20;
L_028BEEF4: ; // 0x28beef4
/* 028BEEF4 */ cpu->r[11] = 0x101F0000u;
/* 028BEEF8 */ _t4 = cpu->r[11] + 0x00006FD0u;
/* 028BEEF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028BEEF8 */ cpu->r[11] = _t4;
/* 028BEEFC */ _t5 = cpu->r[11] + 0x00000004u;
/* 028BEEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BEF00 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BEF00 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BEF04 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BEF04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BEF08 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028BEF08 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
/* 028BEF0C */ cpu->lr = cpu->r[0];
/* 028BEF10 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BEF10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
/* 028BEF14 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BEF14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BEF18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEF1C */ return;
L_028BEF20: ; // 0x28bef20
/* 028BEF20 */ cpu->r[3] = cpu->r[11];
/* 028BEF24 */ Gambit_fn_028BD9A0(cpu);
/* 028BEF28 */ cpu->r[12] = 0x101D0000u;
/* 028BEF2C */ cpu->r[4] = cpu->r[3];
/* 028BEF30 */ _t11 = cpu->r[12] + 0xFFFF9AE0u;
/* 028BEF30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028BEF34 */ _t12 = cpu->r[11] + 0x00000128u;
/* 028BEF34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028BEF38 */ _t13 = cpu->r[12] + 0x00000040u;
/* 028BEF38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028BEF3C */ _t14 = cpu->r[10] + 0x00000020u;
/* 028BEF3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
/* 028BEF40 */ Gambit_fn_028DEBB0(cpu);
/* 028BEF44 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028BEF44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028BEF48 */ cpu->lr = cpu->r[0];
/* 028BEF4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEF50 */ return;
}
// fn_028BEF54 @ 0x28bef54
void Gambit_fn_028BEF54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028BEF54: ; // 0x28bef54
/* 028BEF54 */ cpu->r[0] = cpu->lr;
/* 028BEF58 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BEF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BEF5C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEF5C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BEF5C */ cpu->r[1] = _t1;
/* 028BEF60 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028BEF60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BEF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BEF68 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEF68 */ _t4 = _t3 & 0x00000001u;
/* 028BEF68 */ if (_t4) goto L_028BEFBC; else goto L_028BEF6C;
L_028BEF6C: ; // 0x28bef6c
/* 028BEF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
/* 028BEF70 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEF70 */ _t6 = _t5 & 0x00000001u;
/* 028BEF70 */ if (_t6) goto L_028BEFBC; else goto L_028BEF74;
L_028BEF74: ; // 0x28bef74
/* 028BEF74 */ _t7 = cpu->r[3] + 0x00000004u;
/* 028BEF74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BEF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u);
/* 028BEF7C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEF7C */ _t9 = _t8 & 0x00000001u;
/* 028BEF7C */ if (_t9) goto L_028BEF80; else goto L_028BEFB0;
L_028BEF80: ; // 0x28bef80
/* 028BEF80 */ Gambit_fn_028BEED8(cpu);
/* 028BEF84 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BEF84 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
/* 028BEF88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028BEF8C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028BEF8C */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
/* 028BEF90 */ Gambit_fn_028BC334(cpu);
/* 028BEF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BEF98 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEF98 */ _t13 = _t12 & 0x00000001u;
/* 028BEF98 */ if (_t13) goto L_028BEFBC; else goto L_028BEF9C;
L_028BEF9C: ; // 0x28bef9c
/* 028BEF9C */ Gambit_fn_028BEF54(cpu);
/* 028BEFA0 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028BEFA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BEFA4 */ cpu->lr = cpu->r[0];
/* 028BEFA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEFAC */ return;
L_028BEFB0: ; // 0x28befb0
/* 028BEFB0 */ _t15 = cpu->r[3] + 0x00000014u;
/* 028BEFB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BEFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BEFB8 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEFB8 */ _t17 = _t16 & 0x00000001u;
/* 028BEFB8 */ if (_t17) goto L_028BEFBC; else goto L_028BEFC0;
L_028BEFBC: ; // 0x28befbc
/* 028BEFBC */ cpu->r[3] = 0x00000000u;
L_028BEFC0: ; // 0x28befc0
/* 028BEFC0 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028BEFC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028BEFC4 */ cpu->lr = cpu->r[0];
/* 028BEFC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEFCC */ return;
}
// fn_028BEF5C @ 0x28bef5c
void Gambit_fn_028BEF5C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BEF5C: ; // 0x28bef5c
/* 028BEF5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BEF5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEF5C */ cpu->r[1] = _t0;
/* 028BEF60 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028BEF60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BEF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BEF68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEF68 */ _t3 = _t2 & 0x00000001u;
/* 028BEF68 */ if (_t3) goto L_028BEFBC; else goto L_028BEF6C;
L_028BEF6C: ; // 0x28bef6c
/* 028BEF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
/* 028BEF70 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEF70 */ _t5 = _t4 & 0x00000001u;
/* 028BEF70 */ if (_t5) goto L_028BEFBC; else goto L_028BEF74;
L_028BEF74: ; // 0x28bef74
/* 028BEF74 */ _t6 = cpu->r[3] + 0x00000004u;
/* 028BEF74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BEF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u);
/* 028BEF7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEF7C */ _t8 = _t7 & 0x00000001u;
/* 028BEF7C */ if (_t8) goto L_028BEF80; else goto L_028BEFB0;
L_028BEF80: ; // 0x28bef80
/* 028BEF80 */ Gambit_fn_028BEED8(cpu);
/* 028BEF84 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028BEF84 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
/* 028BEF88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028BEF8C */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BEF8C */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
/* 028BEF90 */ Gambit_fn_028BC334(cpu);
/* 028BEF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BEF98 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEF98 */ _t12 = _t11 & 0x00000001u;
/* 028BEF98 */ if (_t12) goto L_028BEFBC; else goto L_028BEF9C;
L_028BEF9C: ; // 0x28bef9c
/* 028BEF9C */ Gambit_fn_028BEF54(cpu);
/* 028BEFA0 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BEFA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BEFA4 */ cpu->lr = cpu->r[0];
/* 028BEFA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEFAC */ return;
L_028BEFB0: ; // 0x28befb0
/* 028BEFB0 */ _t14 = cpu->r[3] + 0x00000014u;
/* 028BEFB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028BEFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BEFB8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BEFB8 */ _t16 = _t15 & 0x00000001u;
/* 028BEFB8 */ if (_t16) goto L_028BEFBC; else goto L_028BEFC0;
L_028BEFBC: ; // 0x28befbc
/* 028BEFBC */ cpu->r[3] = 0x00000000u;
L_028BEFC0: ; // 0x28befc0
/* 028BEFC0 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BEFC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BEFC4 */ cpu->lr = cpu->r[0];
/* 028BEFC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BEFCC */ return;
}
// fn_028BEFD0 @ 0x28befd0
void Gambit_fn_028BEFD0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028BEFD0: ; // 0x28befd0
/* 028BEFD0 */ _t0 = cpu->r[3] + 0x00000128u;
/* 028BEFD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028BEFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BEFD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEFD8 */ _t2 = _t1 & 0x00000001u;
/* 028BEFD8 */ _t3 = _t2 ^ 0x00000001u;
/* 028BEFD8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BEFD8 */ goto L_028BEFDC;
L_028BEFDC: ; // 0x28befdc
/* 028BEFDC */ cpu->r[3] = 0x101F0000u;
/* 028BEFE0 */ cpu->r[3] = cpu->r[3] + 0x000066E8u;
/* 028BEFE4 */ return;
}
// fn_028BEFE8 @ 0x28befe8
void Gambit_fn_028BEFE8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028BEFE8: ; // 0x28befe8
/* 028BEFE8 */ cpu->r[0] = cpu->lr;
/* 028BEFEC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BEFEC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BEFF0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BEFF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BEFF0 */ cpu->r[1] = _t1;
/* 028BEFF4 */ Gambit_fn_028BD990(cpu);
/* 028BEFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BEFFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEFFC */ _t3 = _t2 & 0x00000001u;
/* 028BEFFC */ if (_t3) goto L_028BF010; else goto L_028BF000;
L_028BF000: ; // 0x28bf000
/* 028BF000 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BF004 */ Gambit_fn_028E6224(cpu);
/* 028BF008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF00C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF00C */ _t5 = _t4 & 0x00000001u;
/* 028BF00C */ if (_t5) goto L_028BF010; else goto L_028BF024;
L_028BF010: ; // 0x28bf010
/* 028BF010 */ _t6 = cpu->r[1] + 0x0000001Cu;
/* 028BF010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BF014 */ cpu->lr = cpu->r[0];
/* 028BF018 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF01C */ cpu->r[3] = 0x00000000u;
/* 028BF020 */ return;
L_028BF024: ; // 0x28bf024
/* 028BF024 */ _t7 = cpu->r[1] + 0x0000001Cu;
/* 028BF024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BF028 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028BF028 */ cpu->r[3] = rbrew_read8(cpu->mem, _t8);
/* 028BF02C */ cpu->lr = cpu->r[0];
/* 028BF030 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF034 */ return;
}
// fn_028BEFF0 @ 0x28beff0
void Gambit_fn_028BEFF0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028BEFF0: ; // 0x28beff0
/* 028BEFF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BEFF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BEFF0 */ cpu->r[1] = _t0;
/* 028BEFF4 */ Gambit_fn_028BD990(cpu);
/* 028BEFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BEFFC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BEFFC */ _t2 = _t1 & 0x00000001u;
/* 028BEFFC */ if (_t2) goto L_028BF010; else goto L_028BF000;
L_028BF000: ; // 0x28bf000
/* 028BF000 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BF004 */ Gambit_fn_028E6224(cpu);
/* 028BF008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF00C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF00C */ _t4 = _t3 & 0x00000001u;
/* 028BF00C */ if (_t4) goto L_028BF010; else goto L_028BF024;
L_028BF010: ; // 0x28bf010
/* 028BF010 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BF010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BF014 */ cpu->lr = cpu->r[0];
/* 028BF018 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF01C */ cpu->r[3] = 0x00000000u;
/* 028BF020 */ return;
L_028BF024: ; // 0x28bf024
/* 028BF024 */ _t6 = cpu->r[1] + 0x0000001Cu;
/* 028BF024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BF028 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028BF028 */ cpu->r[3] = rbrew_read8(cpu->mem, _t7);
/* 028BF02C */ cpu->lr = cpu->r[0];
/* 028BF030 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF034 */ return;
}
// fn_028BF038 @ 0x28bf038
void Gambit_fn_028BF038(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BF038: ; // 0x28bf038
/* 028BF038 */ _t0 = cpu->r[3] + 0x00000134u;
/* 028BF038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BF03C */ _t1 = cpu->r[12] + 0x00000008u;
/* 028BF03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BF040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF044 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF044 */ _t3 = _t2 & 0x00000001u;
/* 028BF044 */ if (_t3) goto L_028BF054; else goto L_028BF048;
L_028BF048: ; // 0x28bf048
/* 028BF048 */ _t4 = cpu->r[3] + 0x00000194u;
/* 028BF048 */ cpu->r[12] = rbrew_read16(cpu->mem, _t4);
/* 028BF04C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BF04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF050 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF050 */ _t6 = _t5 & 0x00000001u;
/* 028BF050 */ if (_t6) goto L_028BF05C; else goto L_028BF054;
L_028BF054: ; // 0x28bf054
/* 028BF054 */ cpu->r[3] = 0x00000000u;
/* 028BF058 */ return;
L_028BF05C: ; // 0x28bf05c
/* 028BF05C */ cpu->r[3] = 0x00000001u;
/* 028BF060 */ return;
}
// fn_028BF064 @ 0x28bf064
void Gambit_fn_028BF064(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_028BF064: ; // 0x28bf064
/* 028BF064 */ cpu->r[0] = cpu->lr;
/* 028BF068 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF068 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF068 */ cpu->r[1] = _t0;
/* 028BF06C */ cpu->r[10] = cpu->r[4];
/* 028BF070 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF070 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF074 */ cpu->r[4] = cpu->r[5];
/* 028BF074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BF078 */ cpu->r[9] = cpu->r[3];
/* 028BF07C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF07C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BF080 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF080 */ _t4 = _t3 & 0x00000001u;
/* 028BF080 */ if (_t4) goto L_028BF094; else goto L_028BF084;
L_028BF084: ; // 0x28bf084
/* 028BF084 */ cpu->r[3] = cpu->r[9];
/* 028BF088 */ Gambit_fn_028BE8F8(cpu);
/* 028BF08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028BF090 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF090 */ _t6 = _t5 & 0x00000001u;
/* 028BF090 */ if (_t6) goto L_028BF0C8; else goto L_028BF094;
L_028BF094: ; // 0x28bf094
/* 028BF094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF098 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF098 */ _t8 = _t7 & 0x00000001u;
/* 028BF098 */ if (_t8) goto L_028BF09C; else goto L_028BF0AC;
L_028BF09C: ; // 0x28bf09c
/* 028BF09C */ cpu->r[3] = 0x00000004u;
/* 028BF0A0 */ Gambit_fn_02801A78(cpu);
/* 028BF0A4 */ cpu->r[10] = cpu->r[3];
/* 028BF0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF0A8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF0A8 */ _t10 = _t9 & 0x00000001u;
/* 028BF0A8 */ if (_t10) goto L_028BF1A8; else goto L_028BF0AC;
L_028BF0AC: ; // 0x28bf0ac
/* 028BF0AC */ cpu->r[6] = 0x00000004u;
/* 028BF0B0 */ _t11 = cpu->r[10] + 0x00000000u;
/* 028BF0B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
/* 028BF0B4 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028BF0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BF0B8 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BF0B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028BF0BC */ cpu->lr = cpu->r[0];
/* 028BF0C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF0C4 */ return;
L_028BF0C8: ; // 0x28bf0c8
/* 028BF0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028BF0CC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF0CC */ _t15 = _t14 & 0x00000001u;
/* 028BF0CC */ if (_t15) goto L_028BF0E0; else goto L_028BF0D0;
L_028BF0D0: ; // 0x28bf0d0
/* 028BF0D0 */ cpu->r[3] = cpu->r[9];
/* 028BF0D4 */ Gambit_fn_028BE94C(cpu);
/* 028BF0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
/* 028BF0DC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF0DC */ _t17 = _t16 & 0x00000001u;
/* 028BF0DC */ if (_t17) goto L_028BF114; else goto L_028BF0E0;
L_028BF0E0: ; // 0x28bf0e0
/* 028BF0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF0E4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF0E4 */ _t19 = _t18 & 0x00000001u;
/* 028BF0E4 */ if (_t19) goto L_028BF0E8; else goto L_028BF0F8;
L_028BF0E8: ; // 0x28bf0e8
/* 028BF0E8 */ cpu->r[3] = 0x00000004u;
/* 028BF0EC */ Gambit_fn_02801A78(cpu);
/* 028BF0F0 */ cpu->r[10] = cpu->r[3];
/* 028BF0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF0F4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF0F4 */ _t21 = _t20 & 0x00000001u;
/* 028BF0F4 */ if (_t21) goto L_028BF1A8; else goto L_028BF0F8;
L_028BF0F8: ; // 0x28bf0f8
/* 028BF0F8 */ cpu->r[7] = 0x00000004u;
/* 028BF0FC */ _t22 = cpu->r[10] + 0x00000000u;
/* 028BF0FC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
/* 028BF100 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028BF100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BF104 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BF104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028BF108 */ cpu->lr = cpu->r[0];
/* 028BF10C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF110 */ return;
L_028BF114: ; // 0x28bf114
/* 028BF114 */ _t25 = cpu->r[9] + 0x00000124u;
/* 028BF114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028BF118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BF11C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF11C */ _t27 = _t26 & 0x00000001u;
/* 028BF11C */ if (_t27) goto L_028BF174; else goto L_028BF120;
L_028BF120: ; // 0x28bf120
/* 028BF120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BF124 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF124 */ _t29 = _t28 & 0x00000001u;
/* 028BF124 */ if (_t29) goto L_028BF128; else goto L_028BF130;
L_028BF128: ; // 0x28bf128
/* 028BF128 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028BF12C */ cpu->r[31] = cpu->r[31] + cpu->r[8];
L_028BF130: ; // 0x28bf130
/* 028BF130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
/* 028BF134 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF134 */ _t31 = _t30 & 0x00000001u;
/* 028BF134 */ if (_t31) goto L_028BF138; else goto L_028BF140;
L_028BF138: ; // 0x28bf138
/* 028BF138 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BF13C */ cpu->r[31] = cpu->r[31] + cpu->r[0];
L_028BF140: ; // 0x28bf140
/* 028BF140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF144 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF144 */ _t33 = _t32 & 0x00000001u;
/* 028BF144 */ if (_t33) goto L_028BF148; else goto L_028BF158;
L_028BF148: ; // 0x28bf148
/* 028BF148 */ cpu->r[3] = 0x00000004u;
/* 028BF14C */ Gambit_fn_02801A78(cpu);
/* 028BF150 */ cpu->r[10] = cpu->r[3];
/* 028BF150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF154 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF154 */ _t35 = _t34 & 0x00000001u;
/* 028BF154 */ if (_t35) goto L_028BF1A8; else goto L_028BF158;
L_028BF158: ; // 0x28bf158
/* 028BF158 */ _t36 = cpu->r[31] + 0x00000000u;
/* 028BF158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
/* 028BF15C */ _t37 = cpu->r[10] + 0x00000000u;
/* 028BF15C */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
/* 028BF160 */ _t38 = cpu->r[1] + 0x00000014u;
/* 028BF160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028BF164 */ _t39 = cpu->r[1] + 0x0000000Cu;
/* 028BF164 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
/* 028BF168 */ cpu->lr = cpu->r[0];
/* 028BF16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF170 */ return;
L_028BF174: ; // 0x28bf174
/* 028BF174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
/* 028BF178 */ _t40 = cpu->r[9] + 0x0000013Cu;
/* 028BF178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028BF17C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF17C */ _t42 = _t41 & 0x00000001u;
/* 028BF17C */ if (_t42) goto L_028BF180; else goto L_028BF188;
L_028BF180: ; // 0x28bf180
/* 028BF180 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BF184 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
L_028BF188: ; // 0x28bf188
/* 028BF188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF18C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF18C */ _t44 = _t43 & 0x00000001u;
/* 028BF18C */ if (_t44) goto L_028BF190; else goto L_028BF1A0;
L_028BF190: ; // 0x28bf190
/* 028BF190 */ cpu->r[3] = 0x00000004u;
/* 028BF194 */ Gambit_fn_02801A78(cpu);
/* 028BF198 */ cpu->r[10] = cpu->r[3];
/* 028BF198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF19C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF19C */ _t46 = _t45 & 0x00000001u;
/* 028BF19C */ if (_t46) goto L_028BF1A8; else goto L_028BF1A0;
L_028BF1A0: ; // 0x28bf1a0
/* 028BF1A0 */ _t47 = cpu->r[31] + 0x00000000u;
/* 028BF1A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
/* 028BF1A4 */ _t48 = cpu->r[10] + 0x00000000u;
/* 028BF1A4 */ rbrew_write32(cpu->mem, _t48, cpu->r[5]);
L_028BF1A8: ; // 0x28bf1a8
/* 028BF1A8 */ _t49 = cpu->r[1] + 0x00000014u;
/* 028BF1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028BF1AC */ _t50 = cpu->r[1] + 0x0000000Cu;
/* 028BF1AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
/* 028BF1B0 */ cpu->lr = cpu->r[0];
/* 028BF1B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF1B8 */ return;
}
// fn_028BF068 @ 0x28bf068
void Gambit_fn_028BF068(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_028BF068: ; // 0x28bf068
/* 028BF068 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF068 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF068 */ cpu->r[1] = _t0;
/* 028BF06C */ cpu->r[10] = cpu->r[4];
/* 028BF070 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF070 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF074 */ cpu->r[4] = cpu->r[5];
/* 028BF074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BF078 */ cpu->r[9] = cpu->r[3];
/* 028BF07C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF07C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BF080 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF080 */ _t4 = _t3 & 0x00000001u;
/* 028BF080 */ if (_t4) goto L_028BF094; else goto L_028BF084;
L_028BF084: ; // 0x28bf084
/* 028BF084 */ cpu->r[3] = cpu->r[9];
/* 028BF088 */ Gambit_fn_028BE8F8(cpu);
/* 028BF08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028BF090 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF090 */ _t6 = _t5 & 0x00000001u;
/* 028BF090 */ if (_t6) goto L_028BF0C8; else goto L_028BF094;
L_028BF094: ; // 0x28bf094
/* 028BF094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF098 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF098 */ _t8 = _t7 & 0x00000001u;
/* 028BF098 */ if (_t8) goto L_028BF09C; else goto L_028BF0AC;
L_028BF09C: ; // 0x28bf09c
/* 028BF09C */ cpu->r[3] = 0x00000004u;
/* 028BF0A0 */ Gambit_fn_02801A78(cpu);
/* 028BF0A4 */ cpu->r[10] = cpu->r[3];
/* 028BF0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF0A8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF0A8 */ _t10 = _t9 & 0x00000001u;
/* 028BF0A8 */ if (_t10) goto L_028BF1A8; else goto L_028BF0AC;
L_028BF0AC: ; // 0x28bf0ac
/* 028BF0AC */ cpu->r[6] = 0x00000004u;
/* 028BF0B0 */ _t11 = cpu->r[10] + 0x00000000u;
/* 028BF0B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
/* 028BF0B4 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028BF0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BF0B8 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BF0B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028BF0BC */ cpu->lr = cpu->r[0];
/* 028BF0C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF0C4 */ return;
L_028BF0C8: ; // 0x28bf0c8
/* 028BF0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028BF0CC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF0CC */ _t15 = _t14 & 0x00000001u;
/* 028BF0CC */ if (_t15) goto L_028BF0E0; else goto L_028BF0D0;
L_028BF0D0: ; // 0x28bf0d0
/* 028BF0D0 */ cpu->r[3] = cpu->r[9];
/* 028BF0D4 */ Gambit_fn_028BE94C(cpu);
/* 028BF0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
/* 028BF0DC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF0DC */ _t17 = _t16 & 0x00000001u;
/* 028BF0DC */ if (_t17) goto L_028BF114; else goto L_028BF0E0;
L_028BF0E0: ; // 0x28bf0e0
/* 028BF0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF0E4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF0E4 */ _t19 = _t18 & 0x00000001u;
/* 028BF0E4 */ if (_t19) goto L_028BF0E8; else goto L_028BF0F8;
L_028BF0E8: ; // 0x28bf0e8
/* 028BF0E8 */ cpu->r[3] = 0x00000004u;
/* 028BF0EC */ Gambit_fn_02801A78(cpu);
/* 028BF0F0 */ cpu->r[10] = cpu->r[3];
/* 028BF0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF0F4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF0F4 */ _t21 = _t20 & 0x00000001u;
/* 028BF0F4 */ if (_t21) goto L_028BF1A8; else goto L_028BF0F8;
L_028BF0F8: ; // 0x28bf0f8
/* 028BF0F8 */ cpu->r[7] = 0x00000004u;
/* 028BF0FC */ _t22 = cpu->r[10] + 0x00000000u;
/* 028BF0FC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
/* 028BF100 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028BF100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BF104 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BF104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028BF108 */ cpu->lr = cpu->r[0];
/* 028BF10C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF110 */ return;
L_028BF114: ; // 0x28bf114
/* 028BF114 */ _t25 = cpu->r[9] + 0x00000124u;
/* 028BF114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028BF118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BF11C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF11C */ _t27 = _t26 & 0x00000001u;
/* 028BF11C */ if (_t27) goto L_028BF174; else goto L_028BF120;
L_028BF120: ; // 0x28bf120
/* 028BF120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BF124 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF124 */ _t29 = _t28 & 0x00000001u;
/* 028BF124 */ if (_t29) goto L_028BF128; else goto L_028BF130;
L_028BF128: ; // 0x28bf128
/* 028BF128 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028BF12C */ cpu->r[31] = cpu->r[31] + cpu->r[8];
L_028BF130: ; // 0x28bf130
/* 028BF130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
/* 028BF134 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF134 */ _t31 = _t30 & 0x00000001u;
/* 028BF134 */ if (_t31) goto L_028BF138; else goto L_028BF140;
L_028BF138: ; // 0x28bf138
/* 028BF138 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BF13C */ cpu->r[31] = cpu->r[31] + cpu->r[0];
L_028BF140: ; // 0x28bf140
/* 028BF140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF144 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF144 */ _t33 = _t32 & 0x00000001u;
/* 028BF144 */ if (_t33) goto L_028BF148; else goto L_028BF158;
L_028BF148: ; // 0x28bf148
/* 028BF148 */ cpu->r[3] = 0x00000004u;
/* 028BF14C */ Gambit_fn_02801A78(cpu);
/* 028BF150 */ cpu->r[10] = cpu->r[3];
/* 028BF150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF154 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF154 */ _t35 = _t34 & 0x00000001u;
/* 028BF154 */ if (_t35) goto L_028BF1A8; else goto L_028BF158;
L_028BF158: ; // 0x28bf158
/* 028BF158 */ _t36 = cpu->r[31] + 0x00000000u;
/* 028BF158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
/* 028BF15C */ _t37 = cpu->r[10] + 0x00000000u;
/* 028BF15C */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
/* 028BF160 */ _t38 = cpu->r[1] + 0x00000014u;
/* 028BF160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028BF164 */ _t39 = cpu->r[1] + 0x0000000Cu;
/* 028BF164 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
/* 028BF168 */ cpu->lr = cpu->r[0];
/* 028BF16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF170 */ return;
L_028BF174: ; // 0x28bf174
/* 028BF174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
/* 028BF178 */ _t40 = cpu->r[9] + 0x0000013Cu;
/* 028BF178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028BF17C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF17C */ _t42 = _t41 & 0x00000001u;
/* 028BF17C */ if (_t42) goto L_028BF180; else goto L_028BF188;
L_028BF180: ; // 0x28bf180
/* 028BF180 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BF184 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
L_028BF188: ; // 0x28bf188
/* 028BF188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF18C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF18C */ _t44 = _t43 & 0x00000001u;
/* 028BF18C */ if (_t44) goto L_028BF190; else goto L_028BF1A0;
L_028BF190: ; // 0x28bf190
/* 028BF190 */ cpu->r[3] = 0x00000004u;
/* 028BF194 */ Gambit_fn_02801A78(cpu);
/* 028BF198 */ cpu->r[10] = cpu->r[3];
/* 028BF198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BF19C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF19C */ _t46 = _t45 & 0x00000001u;
/* 028BF19C */ if (_t46) goto L_028BF1A8; else goto L_028BF1A0;
L_028BF1A0: ; // 0x28bf1a0
/* 028BF1A0 */ _t47 = cpu->r[31] + 0x00000000u;
/* 028BF1A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
/* 028BF1A4 */ _t48 = cpu->r[10] + 0x00000000u;
/* 028BF1A4 */ rbrew_write32(cpu->mem, _t48, cpu->r[5]);
L_028BF1A8: ; // 0x28bf1a8
/* 028BF1A8 */ _t49 = cpu->r[1] + 0x00000014u;
/* 028BF1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028BF1AC */ _t50 = cpu->r[1] + 0x0000000Cu;
/* 028BF1AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
/* 028BF1B0 */ cpu->lr = cpu->r[0];
/* 028BF1B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF1B8 */ return;
}
// fn_028BF1BC @ 0x28bf1bc
void Gambit_fn_028BF1BC(CPUState* cpu) {
uint32_t _t0, _t1;
L_028BF1BC: ; // 0x28bf1bc
/* 028BF1BC */ _t0 = cpu->r[3] + 0x00000134u;
/* 028BF1BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BF1C0 */ _t1 = cpu->r[12] + 0x00000010u;
/* 028BF1C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
/* 028BF1C4 */ return;
}
// fn_028BF1C8 @ 0x28bf1c8
void Gambit_fn_028BF1C8(CPUState* cpu) {
uint32_t _t0, _t1, _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_028BF1C8: ; // 0x28bf1c8
/* 028BF1C8 */ cpu->r[0] = cpu->lr;
/* 028BF1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BF1D0 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BF1D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BF1D4 */ cpu->r[10] = cpu->r[3];
/* 028BF1D8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BF1D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BF1D8 */ cpu->r[1] = _t1;
/* 028BF1DC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF1DC */ _t3 = _t2 & 0x00000001u;
/* 028BF1DC */ if (_t3) goto L_028BF208; else goto L_028BF1E0;
L_028BF1E0: ; // 0x28bf1e0
/* 028BF1E0 */ cpu->r[3] = cpu->r[10];
/* 028BF1E4 */ Gambit_fn_028BE8F8(cpu);
/* 028BF1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028BF1EC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF1EC */ _t5 = _t4 & 0x00000001u;
/* 028BF1EC */ if (_t5) goto L_028BF1F0; else goto L_028BF208;
L_028BF1F0: ; // 0x28bf1f0
/* 028BF1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028BF1F4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF1F4 */ _t7 = _t6 & 0x00000001u;
/* 028BF1F4 */ if (_t7) goto L_028BF208; else goto L_028BF1F8;
L_028BF1F8: ; // 0x28bf1f8
/* 028BF1F8 */ cpu->r[3] = cpu->r[10];
/* 028BF1FC */ Gambit_fn_028BE94C(cpu);
/* 028BF200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
/* 028BF204 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF204 */ _t9 = _t8 & 0x00000001u;
/* 028BF204 */ if (_t9) goto L_028BF220; else goto L_028BF208;
L_028BF208: ; // 0x28bf208
/* 028BF208 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028BF208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028BF20C */ cpu->r[12] = 0x10140000u;
/* 028BF210 */ cpu->lr = cpu->r[0];
/* 028BF214 */ _t11 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF214 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
/* 028BF218 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BF21C */ return;
L_028BF220: ; // 0x28bf220
/* 028BF220 */ _t12 = cpu->r[10] + 0x00000124u;
/* 028BF220 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028BF224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BF228 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF228 */ _t14 = _t13 & 0x00000001u;
/* 028BF228 */ if (_t14) goto L_028BF260; else goto L_028BF22C;
L_028BF22C: ; // 0x28bf22c
/* 028BF22C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BF230 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF230 */ _t16 = _t15 & 0x00000001u;
/* 028BF230 */ if (_t16) goto L_028BF234; else goto L_028BF23C;
L_028BF234: ; // 0x28bf234
/* 028BF234 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028BF238 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028BF23C: ; // 0x28bf23c
/* 028BF23C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
/* 028BF240 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF240 */ _t18 = _t17 & 0x00000001u;
/* 028BF240 */ if (_t18) goto L_028BF244; else goto L_028BF24C;
L_028BF244: ; // 0x28bf244
/* 028BF244 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BF248 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028BF24C: ; // 0x28bf24c
/* 028BF24C */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028BF24C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BF250 */ _t20 = cpu->r[12] + 0x00000004u;
/* 028BF250 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t20);
/* 028BF254 */ cpu->lr = cpu->r[0];
/* 028BF258 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BF25C */ return;
L_028BF260: ; // 0x28bf260
/* 028BF260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
/* 028BF264 */ _t21 = cpu->r[10] + 0x0000013Cu;
/* 028BF264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
/* 028BF268 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF268 */ _t23 = _t22 & 0x00000001u;
/* 028BF268 */ if (_t23) goto L_028BF26C; else goto L_028BF274;
L_028BF26C: ; // 0x28bf26c
/* 028BF26C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BF270 */ cpu->r[11] = cpu->r[11] + cpu->r[0];
L_028BF274: ; // 0x28bf274
/* 028BF274 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BF274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028BF278 */ _t25 = cpu->r[11] + 0x00000004u;
/* 028BF278 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
/* 028BF27C */ cpu->lr = cpu->r[0];
/* 028BF280 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BF284 */ return;
}
// fn_028BF1D8 @ 0x28bf1d8
void Gambit_fn_028BF1D8(CPUState* cpu) {
uint32_t _t0, _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_028BF1D8: ; // 0x28bf1d8
/* 028BF1D8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028BF1D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF1D8 */ cpu->r[1] = _t0;
/* 028BF1DC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF1DC */ _t2 = _t1 & 0x00000001u;
/* 028BF1DC */ if (_t2) goto L_028BF208; else goto L_028BF1E0;
L_028BF1E0: ; // 0x28bf1e0
/* 028BF1E0 */ cpu->r[3] = cpu->r[10];
/* 028BF1E4 */ Gambit_fn_028BE8F8(cpu);
/* 028BF1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
/* 028BF1EC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF1EC */ _t4 = _t3 & 0x00000001u;
/* 028BF1EC */ if (_t4) goto L_028BF1F0; else goto L_028BF208;
L_028BF1F0: ; // 0x28bf1f0
/* 028BF1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028BF1F4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF1F4 */ _t6 = _t5 & 0x00000001u;
/* 028BF1F4 */ if (_t6) goto L_028BF208; else goto L_028BF1F8;
L_028BF1F8: ; // 0x28bf1f8
/* 028BF1F8 */ cpu->r[3] = cpu->r[10];
/* 028BF1FC */ Gambit_fn_028BE94C(cpu);
/* 028BF200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
/* 028BF204 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF204 */ _t8 = _t7 & 0x00000001u;
/* 028BF204 */ if (_t8) goto L_028BF220; else goto L_028BF208;
L_028BF208: ; // 0x28bf208
/* 028BF208 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BF208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BF20C */ cpu->r[12] = 0x10140000u;
/* 028BF210 */ cpu->lr = cpu->r[0];
/* 028BF214 */ _t10 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF214 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
/* 028BF218 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BF21C */ return;
L_028BF220: ; // 0x28bf220
/* 028BF220 */ _t11 = cpu->r[10] + 0x00000124u;
/* 028BF220 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028BF224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BF228 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF228 */ _t13 = _t12 & 0x00000001u;
/* 028BF228 */ if (_t13) goto L_028BF260; else goto L_028BF22C;
L_028BF22C: ; // 0x28bf22c
/* 028BF22C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
/* 028BF230 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF230 */ _t15 = _t14 & 0x00000001u;
/* 028BF230 */ if (_t15) goto L_028BF234; else goto L_028BF23C;
L_028BF234: ; // 0x28bf234
/* 028BF234 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028BF238 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028BF23C: ; // 0x28bf23c
/* 028BF23C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
/* 028BF240 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF240 */ _t17 = _t16 & 0x00000001u;
/* 028BF240 */ if (_t17) goto L_028BF244; else goto L_028BF24C;
L_028BF244: ; // 0x28bf244
/* 028BF244 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BF248 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
L_028BF24C: ; // 0x28bf24c
/* 028BF24C */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BF24C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028BF250 */ _t19 = cpu->r[12] + 0x00000004u;
/* 028BF250 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19);
/* 028BF254 */ cpu->lr = cpu->r[0];
/* 028BF258 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BF25C */ return;
L_028BF260: ; // 0x28bf260
/* 028BF260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
/* 028BF264 */ _t20 = cpu->r[10] + 0x0000013Cu;
/* 028BF264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
/* 028BF268 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF268 */ _t22 = _t21 & 0x00000001u;
/* 028BF268 */ if (_t22) goto L_028BF26C; else goto L_028BF274;
L_028BF26C: ; // 0x28bf26c
/* 028BF26C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028BF270 */ cpu->r[11] = cpu->r[11] + cpu->r[0];
L_028BF274: ; // 0x28bf274
/* 028BF274 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028BF274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BF278 */ _t24 = cpu->r[11] + 0x00000004u;
/* 028BF278 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t24);
/* 028BF27C */ cpu->lr = cpu->r[0];
/* 028BF280 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028BF284 */ return;
}
// fn_028BF288 @ 0x28bf288
void Gambit_fn_028BF288(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_028BF288: ; // 0x28bf288
/* 028BF288 */ cpu->r[0] = cpu->lr;
/* 028BF28C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BF28C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF28C */ cpu->r[1] = _t0;
/* 028BF290 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BF290 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BF294 */ /* nop */
/* 028BF298 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BF298 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028BF29C */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BF29C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF2A0 */ _t4 = cpu->r[3] + 0x00000118u;
/* 028BF2A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028BF2A4 */ _t5 = cpu->r[3] + 0x00000110u;
/* 028BF2A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
/* 028BF2A8 */ _t6 = cpu->r[3] + 0x000001A0u;
/* 028BF2A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BF2AC */ cpu->f[31] = cpu->f[13] * cpu->f[0];
/* 028BF2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BF2B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF2B4 */ _t8 = _t7 & 0x00000001u;
/* 028BF2B4 */ if (_t8) goto L_028BF2C4; else goto L_028BF2B8;
L_028BF2B8: ; // 0x28bf2b8
/* 028BF2B8 */ _t9 = cpu->r[12] + 0x00000010u;
/* 028BF2B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028BF2BC */ cpu->f[31] = cpu->f[31] * cpu->f[0];
/* 028BF2C0 */ goto L_028BF2E4;
L_028BF2C4: ; // 0x28bf2c4
/* 028BF2C4 */ _t10 = cpu->r[3] + 0x00000130u;
/* 028BF2C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BF2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF2CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF2CC */ _t12 = _t11 & 0x00000001u;
/* 028BF2CC */ if (_t12) goto L_028BF2E4; else goto L_028BF2D0;
L_028BF2D0: ; // 0x28bf2d0
/* 028BF2D0 */ _t13 = cpu->r[3] + 0x00000004u;
/* 028BF2D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028BF2D4 */ _t14 = cpu->r[12] + 0x0000003Cu;
/* 028BF2D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BF2D8 */ cpu->ctr = cpu->r[0];
/* 028BF2DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BF2E0 */ cpu->f[31] = cpu->f[31] * cpu->f[1];
L_028BF2E4: ; // 0x28bf2e4
/* 028BF2E4 */ cpu->f[1] = cpu->f[31];
/* 028BF2E8 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028BF2E8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
/* 028BF2EC */ _t16 = cpu->r[1] + 0x00000008u;
/* 028BF2EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
/* 028BF2F0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF2F0 */ _t18 = _t17 & 0x00000001u;
/* 028BF2F0 */ if (_t18) goto L_028BF2F4; // else: addr-0 trap, fall-through
L_028BF2F4: ; // 0x28bf2f4
/* 028BF2F4 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028BF2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BF2F8 */ cpu->lr = cpu->r[0];
/* 028BF2FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF300 */ return;
}
// fn_028BF28C @ 0x28bf28c
void Gambit_fn_028BF28C(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_028BF28C: ; // 0x28bf28c
/* 028BF28C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BF28C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF28C */ cpu->r[1] = _t0;
/* 028BF290 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BF290 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BF294 */ /* nop */
/* 028BF298 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BF298 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028BF29C */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BF29C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF2A0 */ _t4 = cpu->r[3] + 0x00000118u;
/* 028BF2A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028BF2A4 */ _t5 = cpu->r[3] + 0x00000110u;
/* 028BF2A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
/* 028BF2A8 */ _t6 = cpu->r[3] + 0x000001A0u;
/* 028BF2A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028BF2AC */ cpu->f[31] = cpu->f[13] * cpu->f[0];
/* 028BF2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BF2B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF2B4 */ _t8 = _t7 & 0x00000001u;
/* 028BF2B4 */ if (_t8) goto L_028BF2C4; else goto L_028BF2B8;
L_028BF2B8: ; // 0x28bf2b8
/* 028BF2B8 */ _t9 = cpu->r[12] + 0x00000010u;
/* 028BF2B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028BF2BC */ cpu->f[31] = cpu->f[31] * cpu->f[0];
/* 028BF2C0 */ goto L_028BF2E4;
L_028BF2C4: ; // 0x28bf2c4
/* 028BF2C4 */ _t10 = cpu->r[3] + 0x00000130u;
/* 028BF2C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028BF2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF2CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF2CC */ _t12 = _t11 & 0x00000001u;
/* 028BF2CC */ if (_t12) goto L_028BF2E4; else goto L_028BF2D0;
L_028BF2D0: ; // 0x28bf2d0
/* 028BF2D0 */ _t13 = cpu->r[3] + 0x00000004u;
/* 028BF2D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028BF2D4 */ _t14 = cpu->r[12] + 0x0000003Cu;
/* 028BF2D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BF2D8 */ cpu->ctr = cpu->r[0];
/* 028BF2DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BF2E0 */ cpu->f[31] = cpu->f[31] * cpu->f[1];
L_028BF2E4: ; // 0x28bf2e4
/* 028BF2E4 */ cpu->f[1] = cpu->f[31];
/* 028BF2E8 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028BF2E8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
/* 028BF2EC */ _t16 = cpu->r[1] + 0x00000008u;
/* 028BF2EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
/* 028BF2F0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF2F0 */ _t18 = _t17 & 0x00000001u;
/* 028BF2F0 */ if (_t18) goto L_028BF2F4; // else: addr-0 trap, fall-through
L_028BF2F4: ; // 0x28bf2f4
/* 028BF2F4 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028BF2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028BF2F8 */ cpu->lr = cpu->r[0];
/* 028BF2FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF300 */ return;
}
// fn_028BF304 @ 0x28bf304
void Gambit_fn_028BF304(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028BF304: ; // 0x28bf304
/* 028BF304 */ cpu->r[0] = cpu->lr;
/* 028BF308 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BF308 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF308 */ cpu->r[1] = _t0;
/* 028BF30C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028BF30C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF310 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BF310 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BF314 */ cpu->r[31] = cpu->r[3];
/* 028BF318 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BF318 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF31C */ _t4 = cpu->r[31] + 0x00000004u;
/* 028BF31C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BF320 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFBu;
/* 028BF324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028BF328 */ _t5 = cpu->r[5] + 0x00000000u;
/* 028BF328 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028BF32C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF32C */ _t7 = _t6 & 0x00000001u;
/* 028BF32C */ if (_t7) goto L_028BF340; else goto L_028BF330;
L_028BF330: ; // 0x28bf330
/* 028BF330 */ _t8 = cpu->r[31] + 0x00000134u;
/* 028BF330 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
/* 028BF334 */ _t9 = cpu->r[6] + 0x00000008u;
/* 028BF334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BF338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF33C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF33C */ _t11 = _t10 & 0x00000001u;
/* 028BF33C */ if (_t11) goto L_028BF340; else goto L_028BF35C;
L_028BF340: ; // 0x28bf340
/* 028BF340 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028BF340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BF344 */ _t13 = cpu->r[1] + 0x00000010u;
/* 028BF344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028BF348 */ cpu->lr = cpu->r[0];
/* 028BF34C */ _t14 = cpu->r[1] + 0x00000014u;
/* 028BF34C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BF350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF354 */ cpu->r[3] = 0x00000000u;
/* 028BF358 */ return;
L_028BF35C: ; // 0x28bf35c
/* 028BF35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028BF360 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF360 */ _t16 = _t15 & 0x00000001u;
/* 028BF360 */ if (_t16) goto L_028BF364; else goto L_028BF398;
L_028BF364: ; // 0x28bf364
/* 028BF364 */ cpu->r[7] = 0x10140000u;
/* 028BF368 */ _t17 = cpu->r[7] + 0xFFFF90F0u;
/* 028BF368 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
/* 028BF36C */ cpu->f[2] = cpu->f[1];
/* 028BF370 */ cpu->r[3] = cpu->r[31];
/* 028BF374 */ Gambit_fn_028BDC2C(cpu);
/* 028BF378 */ Gambit_fn_028C2A3C(cpu);
/* 028BF37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF380 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF380 */ _t19 = _t18 & 0x00000001u;
/* 028BF380 */ if (_t19) goto L_028BF3EC; else goto L_028BF384;
L_028BF384: ; // 0x28bf384
/* 028BF384 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BF388 */ cpu->r[4] = cpu->r[31];
/* 028BF38C */ _t20 = cpu->r[1] + 0x00000008u;
/* 028BF38C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028BF390 */ Gambit_fn_028CD4D4(cpu);
/* 028BF394 */ goto L_028BF3EC;
L_028BF398: ; // 0x28bf398
/* 028BF398 */ _t21 = cpu->r[4] + 0x00000000u;
/* 028BF398 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
/* 028BF39C */ cpu->r[9] = 0x00000001u;
/* 028BF3A0 */ _t22 = cpu->r[31] + 0x0000000Fu;
/* 028BF3A0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
/* 028BF3A4 */ /* nop */
/* 028BF3A8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF3AC */ _t23 = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF3AC */ _t24 = cpu->r[0] & 0xFFFFFF00u;
/* 028BF3AC */ cpu->r[0] = _t24 | _t23;
/* 028BF3B0 */ cpu->r[12] = cpu->r[12] | cpu->r[8];
/* 028BF3B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF3B8 */ _t25 = cpu->r[31] + 0x0000000Fu;
/* 028BF3B8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
/* 028BF3BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF3BC */ _t27 = _t26 & 0x00000001u;
/* 028BF3BC */ if (_t27) goto L_028BF3C0; else goto L_028BF3EC;
L_028BF3C0: ; // 0x28bf3c0
/* 028BF3C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BF3C4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF3C4 */ _t29 = _t28 & 0x00000001u;
/* 028BF3C4 */ if (_t29) goto L_028BF3EC; else goto L_028BF3C8;
L_028BF3C8: ; // 0x28bf3c8
/* 028BF3C8 */ _t30 = cpu->r[31] + 0x00000134u;
/* 028BF3C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028BF3CC */ Gambit_fn_028EA45C(cpu);
/* 028BF3D0 */ Gambit_fn_028C2A3C(cpu);
/* 028BF3D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF3D8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF3D8 */ _t32 = _t31 & 0x00000001u;
/* 028BF3D8 */ if (_t32) goto L_028BF3EC; else goto L_028BF3DC;
L_028BF3DC: ; // 0x28bf3dc
/* 028BF3DC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BF3E0 */ cpu->r[4] = cpu->r[31];
/* 028BF3E4 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028BF3E4 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028BF3E8 */ Gambit_fn_028CD4D4(cpu);
L_028BF3EC: ; // 0x28bf3ec
/* 028BF3EC */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028BF3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028BF3F0 */ _t35 = cpu->r[1] + 0x00000010u;
/* 028BF3F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028BF3F4 */ cpu->lr = cpu->r[0];
/* 028BF3F8 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028BF3F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028BF3FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF400 */ cpu->r[3] = 0x00000001u;
/* 028BF404 */ return;
}
// fn_028BF308 @ 0x28bf308
void Gambit_fn_028BF308(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028BF308: ; // 0x28bf308
/* 028BF308 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BF308 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF308 */ cpu->r[1] = _t0;
/* 028BF30C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028BF30C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF310 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BF310 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BF314 */ cpu->r[31] = cpu->r[3];
/* 028BF318 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028BF318 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF31C */ _t4 = cpu->r[31] + 0x00000004u;
/* 028BF31C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028BF320 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFBu;
/* 028BF324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028BF328 */ _t5 = cpu->r[5] + 0x00000000u;
/* 028BF328 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028BF32C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF32C */ _t7 = _t6 & 0x00000001u;
/* 028BF32C */ if (_t7) goto L_028BF340; else goto L_028BF330;
L_028BF330: ; // 0x28bf330
/* 028BF330 */ _t8 = cpu->r[31] + 0x00000134u;
/* 028BF330 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
/* 028BF334 */ _t9 = cpu->r[6] + 0x00000008u;
/* 028BF334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028BF338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF33C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF33C */ _t11 = _t10 & 0x00000001u;
/* 028BF33C */ if (_t11) goto L_028BF340; else goto L_028BF35C;
L_028BF340: ; // 0x28bf340
/* 028BF340 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028BF340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BF344 */ _t13 = cpu->r[1] + 0x00000010u;
/* 028BF344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028BF348 */ cpu->lr = cpu->r[0];
/* 028BF34C */ _t14 = cpu->r[1] + 0x00000014u;
/* 028BF34C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BF350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF354 */ cpu->r[3] = 0x00000000u;
/* 028BF358 */ return;
L_028BF35C: ; // 0x28bf35c
/* 028BF35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028BF360 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF360 */ _t16 = _t15 & 0x00000001u;
/* 028BF360 */ if (_t16) goto L_028BF364; else goto L_028BF398;
L_028BF364: ; // 0x28bf364
/* 028BF364 */ cpu->r[7] = 0x10140000u;
/* 028BF368 */ _t17 = cpu->r[7] + 0xFFFF90F0u;
/* 028BF368 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
/* 028BF36C */ cpu->f[2] = cpu->f[1];
/* 028BF370 */ cpu->r[3] = cpu->r[31];
/* 028BF374 */ Gambit_fn_028BDC2C(cpu);
/* 028BF378 */ Gambit_fn_028C2A3C(cpu);
/* 028BF37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF380 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF380 */ _t19 = _t18 & 0x00000001u;
/* 028BF380 */ if (_t19) goto L_028BF3EC; else goto L_028BF384;
L_028BF384: ; // 0x28bf384
/* 028BF384 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BF388 */ cpu->r[4] = cpu->r[31];
/* 028BF38C */ _t20 = cpu->r[1] + 0x00000008u;
/* 028BF38C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028BF390 */ Gambit_fn_028CD4D4(cpu);
/* 028BF394 */ goto L_028BF3EC;
L_028BF398: ; // 0x28bf398
/* 028BF398 */ _t21 = cpu->r[4] + 0x00000000u;
/* 028BF398 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
/* 028BF39C */ cpu->r[9] = 0x00000001u;
/* 028BF3A0 */ _t22 = cpu->r[31] + 0x0000000Fu;
/* 028BF3A0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
/* 028BF3A4 */ /* nop */
/* 028BF3A8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF3AC */ _t23 = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF3AC */ _t24 = cpu->r[0] & 0xFFFFFF00u;
/* 028BF3AC */ cpu->r[0] = _t24 | _t23;
/* 028BF3B0 */ cpu->r[12] = cpu->r[12] | cpu->r[8];
/* 028BF3B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF3B8 */ _t25 = cpu->r[31] + 0x0000000Fu;
/* 028BF3B8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
/* 028BF3BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF3BC */ _t27 = _t26 & 0x00000001u;
/* 028BF3BC */ if (_t27) goto L_028BF3C0; else goto L_028BF3EC;
L_028BF3C0: ; // 0x28bf3c0
/* 028BF3C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BF3C4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF3C4 */ _t29 = _t28 & 0x00000001u;
/* 028BF3C4 */ if (_t29) goto L_028BF3EC; else goto L_028BF3C8;
L_028BF3C8: ; // 0x28bf3c8
/* 028BF3C8 */ _t30 = cpu->r[31] + 0x00000134u;
/* 028BF3C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028BF3CC */ Gambit_fn_028EA45C(cpu);
/* 028BF3D0 */ Gambit_fn_028C2A3C(cpu);
/* 028BF3D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF3D8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF3D8 */ _t32 = _t31 & 0x00000001u;
/* 028BF3D8 */ if (_t32) goto L_028BF3EC; else goto L_028BF3DC;
L_028BF3DC: ; // 0x28bf3dc
/* 028BF3DC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BF3E0 */ cpu->r[4] = cpu->r[31];
/* 028BF3E4 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028BF3E4 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028BF3E8 */ Gambit_fn_028CD4D4(cpu);
L_028BF3EC: ; // 0x28bf3ec
/* 028BF3EC */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028BF3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028BF3F0 */ _t35 = cpu->r[1] + 0x00000010u;
/* 028BF3F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028BF3F4 */ cpu->lr = cpu->r[0];
/* 028BF3F8 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028BF3F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028BF3FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF400 */ cpu->r[3] = 0x00000001u;
/* 028BF404 */ return;
}
// fn_028BF408 @ 0x28bf408
void Gambit_fn_028BF408(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BF408: ; // 0x28bf408
/* 028BF408 */ cpu->r[0] = cpu->lr;
/* 028BF40C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028BF40C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028BF410 */ cpu->r[12] = 0x101F0000u;
/* 028BF414 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BF414 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028BF414 */ cpu->r[1] = _t1;
/* 028BF418 */ _t2 = cpu->r[4] + 0x00000000u;
/* 028BF418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028BF41C */ _t3 = cpu->r[12] + 0x000071B0u;
/* 028BF41C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028BF420 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BF424 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028BF424 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BF428 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
/* 028BF42C */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028BF42C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028BF430 */ Gambit_fn_028BF304(cpu);
/* 028BF434 */ _t6 = cpu->r[1] + 0x0000001Cu;
/* 028BF434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BF438 */ cpu->lr = cpu->r[0];
/* 028BF43C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF440 */ return;
}
// fn_028BF414 @ 0x28bf414
void Gambit_fn_028BF414(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028BF414: ; // 0x28bf414
/* 028BF414 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BF414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF414 */ cpu->r[1] = _t0;
/* 028BF418 */ _t1 = cpu->r[4] + 0x00000000u;
/* 028BF418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028BF41C */ _t2 = cpu->r[12] + 0x000071B0u;
/* 028BF41C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028BF420 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BF424 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028BF424 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF428 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
/* 028BF42C */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028BF42C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
/* 028BF430 */ Gambit_fn_028BF304(cpu);
/* 028BF434 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028BF434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BF438 */ cpu->lr = cpu->r[0];
/* 028BF43C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF440 */ return;
}
// fn_028BF444 @ 0x28bf444
void Gambit_fn_028BF444(CPUState* cpu) {
uint32_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_028BF444: ; // 0x28bf444
/* 028BF444 */ cpu->r[0] = cpu->lr;
/* 028BF448 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF448 */ cpu->r[1] = _t0;
/* 028BF44C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF44C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF450 */ cpu->r[31] = cpu->r[3];
/* 028BF454 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF454 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BF458 */ _t3 = cpu->r[31] + 0x00000004u;
/* 028BF458 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
/* 028BF45C */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFBu;
/* 028BF460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
/* 028BF464 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF464 */ _t5 = _t4 & 0x00000001u;
/* 028BF464 */ if (_t5) goto L_028BF4C8; else goto L_028BF468;
L_028BF468: ; // 0x28bf468
/* 028BF468 */ _t6 = cpu->r[4] + 0x00000000u;
/* 028BF468 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
/* 028BF46C */ cpu->r[5] = 0x00000001u;
/* 028BF470 */ /* nop */
/* 028BF474 */ _t7 = cpu->r[31] + 0x0000000Fu;
/* 028BF474 */ cpu->r[6] = rbrew_read8(cpu->mem, _t7);
/* 028BF478 */ _t8 = cpu->r[8] | cpu->r[8];
/* 028BF478 */ cpu->r[12] = ~_t8;
/* 028BF47C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF480 */ _t9 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF480 */ _t10 = cpu->r[0] & 0xFFFFFF00u;
/* 028BF480 */ cpu->r[0] = _t10 | _t9;
/* 028BF484 */ cpu->r[6] = cpu->r[6] & cpu->r[12];
/* 028BF488 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF48C */ _t11 = cpu->r[31] + 0x0000000Fu;
/* 028BF48C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[6]);
/* 028BF490 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF490 */ _t13 = _t12 & 0x00000001u;
/* 028BF490 */ if (_t13) goto L_028BF4C8; else goto L_028BF494;
L_028BF494: ; // 0x28bf494
/* 028BF494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028BF498 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF498 */ _t15 = _t14 & 0x00000001u;
/* 028BF498 */ if (_t15) goto L_028BF49C; else goto L_028BF4C8;
L_028BF49C: ; // 0x28bf49c
/* 028BF49C */ _t16 = cpu->r[31] + 0x00000134u;
/* 028BF49C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BF4A0 */ Gambit_fn_028EA58C(cpu);
/* 028BF4A4 */ Gambit_fn_028C2A3C(cpu);
/* 028BF4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF4AC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF4AC */ _t18 = _t17 & 0x00000001u;
/* 028BF4AC */ if (_t18) goto L_028BF4C8; else goto L_028BF4B0;
L_028BF4B0: ; // 0x28bf4b0
/* 028BF4B0 */ cpu->r[11] = 0x101F0000u;
/* 028BF4B4 */ _t19 = cpu->r[11] + 0x000071B0u;
/* 028BF4B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028BF4B8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BF4BC */ cpu->r[4] = cpu->r[31];
/* 028BF4C0 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028BF4C0 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
/* 028BF4C4 */ Gambit_fn_028CD4D4(cpu);
L_028BF4C8: ; // 0x28bf4c8
/* 028BF4C8 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028BF4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028BF4CC */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028BF4CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028BF4D0 */ cpu->lr = cpu->r[0];
/* 028BF4D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF4D8 */ return;
}
// fn_028BF448 @ 0x28bf448
void Gambit_fn_028BF448(CPUState* cpu) {
uint32_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_028BF448: ; // 0x28bf448
/* 028BF448 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF448 */ cpu->r[1] = _t0;
/* 028BF44C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF44C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF450 */ cpu->r[31] = cpu->r[3];
/* 028BF454 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF454 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BF458 */ _t3 = cpu->r[31] + 0x00000004u;
/* 028BF458 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
/* 028BF45C */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFBu;
/* 028BF460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
/* 028BF464 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF464 */ _t5 = _t4 & 0x00000001u;
/* 028BF464 */ if (_t5) goto L_028BF4C8; else goto L_028BF468;
L_028BF468: ; // 0x28bf468
/* 028BF468 */ _t6 = cpu->r[4] + 0x00000000u;
/* 028BF468 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
/* 028BF46C */ cpu->r[5] = 0x00000001u;
/* 028BF470 */ /* nop */
/* 028BF474 */ _t7 = cpu->r[31] + 0x0000000Fu;
/* 028BF474 */ cpu->r[6] = rbrew_read8(cpu->mem, _t7);
/* 028BF478 */ _t8 = cpu->r[8] | cpu->r[8];
/* 028BF478 */ cpu->r[12] = ~_t8;
/* 028BF47C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF480 */ _t9 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF480 */ _t10 = cpu->r[0] & 0xFFFFFF00u;
/* 028BF480 */ cpu->r[0] = _t10 | _t9;
/* 028BF484 */ cpu->r[6] = cpu->r[6] & cpu->r[12];
/* 028BF488 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028BF488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF48C */ _t11 = cpu->r[31] + 0x0000000Fu;
/* 028BF48C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[6]);
/* 028BF490 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF490 */ _t13 = _t12 & 0x00000001u;
/* 028BF490 */ if (_t13) goto L_028BF4C8; else goto L_028BF494;
L_028BF494: ; // 0x28bf494
/* 028BF494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028BF498 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF498 */ _t15 = _t14 & 0x00000001u;
/* 028BF498 */ if (_t15) goto L_028BF49C; else goto L_028BF4C8;
L_028BF49C: ; // 0x28bf49c
/* 028BF49C */ _t16 = cpu->r[31] + 0x00000134u;
/* 028BF49C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028BF4A0 */ Gambit_fn_028EA58C(cpu);
/* 028BF4A4 */ Gambit_fn_028C2A3C(cpu);
/* 028BF4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF4AC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF4AC */ _t18 = _t17 & 0x00000001u;
/* 028BF4AC */ if (_t18) goto L_028BF4C8; else goto L_028BF4B0;
L_028BF4B0: ; // 0x28bf4b0
/* 028BF4B0 */ cpu->r[11] = 0x101F0000u;
/* 028BF4B4 */ _t19 = cpu->r[11] + 0x000071B0u;
/* 028BF4B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028BF4B8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BF4BC */ cpu->r[4] = cpu->r[31];
/* 028BF4C0 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028BF4C0 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
/* 028BF4C4 */ Gambit_fn_028CD4D4(cpu);
L_028BF4C8: ; // 0x28bf4c8
/* 028BF4C8 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028BF4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028BF4CC */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028BF4CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028BF4D0 */ cpu->lr = cpu->r[0];
/* 028BF4D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF4D8 */ return;
}
// fn_028BF4DC @ 0x28bf4dc
void Gambit_fn_028BF4DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BF4DC: ; // 0x28bf4dc
/* 028BF4DC */ _t0 = cpu->r[3] + 0x0000019Cu;
/* 028BF4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028BF4E0 */ cpu->r[3] = 0x00000000u;
/* 028BF4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF4E8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF4E8 */ _t2 = _t1 & 0x00000001u;
/* 028BF4E8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028BF4E8 */ goto L_028BF4EC;
L_028BF4EC: ; // 0x28bf4ec
/* 028BF4EC */ cpu->r[3] = cpu->r[0];
/* 028BF4F0 */ goto L_028DF238;
L_028DF238: ; // 0x28df238
/* 028DF238 */ _t3 = cpu->r[3] + 0x00000040u;
/* 028DF238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028DF23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028DF240 */ cpu->r[0] = 0x00000000u;
/* 028DF244 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028DF244 */ _t5 = _t4 & 0x00000001u;
/* 028DF244 */ if (_t5) goto L_028DF24C; else goto L_028DF248;
L_028DF248: ; // 0x28df248
/* 028DF248 */ _t6 = cpu->r[3] + 0x0000003Cu;
/* 028DF248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
L_028DF24C: ; // 0x28df24c
/* 028DF24C */ cpu->r[3] = cpu->r[0];
/* 028DF250 */ return;
}
// fn_028BF4F4 @ 0x28bf4f4
void Gambit_fn_028BF4F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028BF4F4: ; // 0x28bf4f4
/* 028BF4F4 */ cpu->r[0] = cpu->lr;
/* 028BF4F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF4F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF4F8 */ cpu->r[1] = _t0;
/* 028BF4FC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BF4FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BF500 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BF500 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BF504 */ cpu->r[30] = cpu->r[3];
/* 028BF508 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BF508 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF50C */ _t4 = cpu->r[30] + 0x00000194u;
/* 028BF50C */ cpu->r[0] = rbrew_read16(cpu->mem, _t4);
/* 028BF510 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BF510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BF514 */ cpu->r[31] = cpu->r[4];
/* 028BF518 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF518 */ _t6 = _t5 & 0x00000001u;
/* 028BF518 */ if (_t6) goto L_028BF51C; else goto L_028BF538;
L_028BF51C: ; // 0x28bf51c
/* 028BF51C */ _t7 = cpu->r[30] + 0x0000019Cu;
/* 028BF51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BF520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF524 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF524 */ _t9 = _t8 & 0x00000001u;
/* 028BF524 */ if (_t9) goto L_028BF538; else goto L_028BF528;
L_028BF528: ; // 0x28bf528
/* 028BF528 */ cpu->r[3] = cpu->r[30];
/* 028BF52C */ Gambit_fn_028BF4DC(cpu);
/* 028BF530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]);
/* 028BF534 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF534 */ _t11 = _t10 & 0x00000001u;
/* 028BF534 */ if (_t11) goto L_028BF554; else goto L_028BF538;
L_028BF538: ; // 0x28bf538
/* 028BF538 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028BF538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BF53C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028BF53C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028BF540 */ cpu->lr = cpu->r[0];
/* 028BF544 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BF544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BF548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF54C */ cpu->r[3] = 0x00000000u;
/* 028BF550 */ return;
L_028BF554: ; // 0x28bf554
/* 028BF554 */ _t15 = cpu->r[30] + 0x0000019Cu;
/* 028BF554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BF558 */ cpu->r[4] = cpu->r[31];
/* 028BF55C */ Gambit_fn_028DF254(cpu);
/* 028BF560 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028BF560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BF564 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028BF564 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028BF568 */ cpu->lr = cpu->r[0];
/* 028BF56C */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BF56C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028BF570 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF574 */ return;
}
// fn_028BF4F8 @ 0x28bf4f8
void Gambit_fn_028BF4F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028BF4F8: ; // 0x28bf4f8
/* 028BF4F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF4F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF4F8 */ cpu->r[1] = _t0;
/* 028BF4FC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028BF4FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028BF500 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BF500 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BF504 */ cpu->r[30] = cpu->r[3];
/* 028BF508 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BF508 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF50C */ _t4 = cpu->r[30] + 0x00000194u;
/* 028BF50C */ cpu->r[0] = rbrew_read16(cpu->mem, _t4);
/* 028BF510 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BF510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BF514 */ cpu->r[31] = cpu->r[4];
/* 028BF518 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF518 */ _t6 = _t5 & 0x00000001u;
/* 028BF518 */ if (_t6) goto L_028BF51C; else goto L_028BF538;
L_028BF51C: ; // 0x28bf51c
/* 028BF51C */ _t7 = cpu->r[30] + 0x0000019Cu;
/* 028BF51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BF520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF524 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF524 */ _t9 = _t8 & 0x00000001u;
/* 028BF524 */ if (_t9) goto L_028BF538; else goto L_028BF528;
L_028BF528: ; // 0x28bf528
/* 028BF528 */ cpu->r[3] = cpu->r[30];
/* 028BF52C */ Gambit_fn_028BF4DC(cpu);
/* 028BF530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]);
/* 028BF534 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF534 */ _t11 = _t10 & 0x00000001u;
/* 028BF534 */ if (_t11) goto L_028BF554; else goto L_028BF538;
L_028BF538: ; // 0x28bf538
/* 028BF538 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028BF538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028BF53C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028BF53C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028BF540 */ cpu->lr = cpu->r[0];
/* 028BF544 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BF544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BF548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF54C */ cpu->r[3] = 0x00000000u;
/* 028BF550 */ return;
L_028BF554: ; // 0x28bf554
/* 028BF554 */ _t15 = cpu->r[30] + 0x0000019Cu;
/* 028BF554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028BF558 */ cpu->r[4] = cpu->r[31];
/* 028BF55C */ Gambit_fn_028DF254(cpu);
/* 028BF560 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028BF560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BF564 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028BF564 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028BF568 */ cpu->lr = cpu->r[0];
/* 028BF56C */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028BF56C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028BF570 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF574 */ return;
}
// fn_028BF578 @ 0x28bf578
void Gambit_fn_028BF578(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028BF578: ; // 0x28bf578
/* 028BF578 */ cpu->r[0] = cpu->lr;
/* 028BF57C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF57C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF57C */ cpu->r[1] = _t0;
/* 028BF580 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF580 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF584 */ cpu->r[31] = cpu->r[3];
/* 028BF588 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF588 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BF58C */ _t3 = cpu->r[31] + 0x0000000Cu;
/* 028BF58C */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
/* 028BF590 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028BF590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF594 */ _t5 = _t4 & 0x00000001u;
/* 028BF594 */ if (_t5) goto L_028BF5AC; else goto L_028BF598;
L_028BF598: ; // 0x28bf598
/* 028BF598 */ cpu->r[12] = 0x10140000u;
/* 028BF59C */ _t6 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF59C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028BF5A0 */ cpu->f[2] = cpu->f[1];
/* 028BF5A4 */ cpu->r[3] = cpu->r[31];
/* 028BF5A8 */ Gambit_fn_028BDC2C(cpu);
L_028BF5AC: ; // 0x28bf5ac
/* 028BF5AC */ cpu->r[12] = 0x00000000u;
/* 028BF5B0 */ _t7 = cpu->r[31] + 0x0000012Cu;
/* 028BF5B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028BF5B4 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BF5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BF5B8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BF5B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028BF5BC */ cpu->lr = cpu->r[0];
/* 028BF5C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF5C4 */ return;
}
// fn_028BF57C @ 0x28bf57c
void Gambit_fn_028BF57C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028BF57C: ; // 0x28bf57c
/* 028BF57C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF57C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF57C */ cpu->r[1] = _t0;
/* 028BF580 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF580 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF584 */ cpu->r[31] = cpu->r[3];
/* 028BF588 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF588 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BF58C */ _t3 = cpu->r[31] + 0x0000000Cu;
/* 028BF58C */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
/* 028BF590 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
/* 028BF590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF594 */ _t5 = _t4 & 0x00000001u;
/* 028BF594 */ if (_t5) goto L_028BF5AC; else goto L_028BF598;
L_028BF598: ; // 0x28bf598
/* 028BF598 */ cpu->r[12] = 0x10140000u;
/* 028BF59C */ _t6 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF59C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028BF5A0 */ cpu->f[2] = cpu->f[1];
/* 028BF5A4 */ cpu->r[3] = cpu->r[31];
/* 028BF5A8 */ Gambit_fn_028BDC2C(cpu);
L_028BF5AC: ; // 0x28bf5ac
/* 028BF5AC */ cpu->r[12] = 0x00000000u;
/* 028BF5B0 */ _t7 = cpu->r[31] + 0x0000012Cu;
/* 028BF5B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028BF5B4 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028BF5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028BF5B8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028BF5B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028BF5BC */ cpu->lr = cpu->r[0];
/* 028BF5C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF5C4 */ return;
}
// fn_028BF5C8 @ 0x28bf5c8
void Gambit_fn_028BF5C8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BF5C8: ; // 0x28bf5c8
/* 028BF5C8 */ cpu->r[0] = cpu->lr;
/* 028BF5CC */ cpu->r[12] = 0x10140000u;
/* 028BF5D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF5D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF5D0 */ cpu->r[1] = _t0;
/* 028BF5D4 */ _t1 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF5D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
/* 028BF5D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BF5D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BF5DC */ cpu->f[2] = cpu->f[1];
/* 028BF5E0 */ cpu->r[31] = cpu->r[3];
/* 028BF5E4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BF5E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF5E8 */ Gambit_fn_028BDC2C(cpu);
/* 028BF5EC */ cpu->r[0] = 0x00000000u;
/* 028BF5F0 */ _t4 = cpu->r[31] + 0x00000130u;
/* 028BF5F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BF5F4 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028BF5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BF5F8 */ cpu->lr = cpu->r[0];
/* 028BF5FC */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BF5FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028BF600 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF604 */ return;
}
// fn_028BF5D0 @ 0x28bf5d0
void Gambit_fn_028BF5D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028BF5D0: ; // 0x28bf5d0
/* 028BF5D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF5D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF5D0 */ cpu->r[1] = _t0;
/* 028BF5D4 */ _t1 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF5D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
/* 028BF5D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BF5D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BF5DC */ cpu->f[2] = cpu->f[1];
/* 028BF5E0 */ cpu->r[31] = cpu->r[3];
/* 028BF5E4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BF5E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF5E8 */ Gambit_fn_028BDC2C(cpu);
/* 028BF5EC */ cpu->r[0] = 0x00000000u;
/* 028BF5F0 */ _t4 = cpu->r[31] + 0x00000130u;
/* 028BF5F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BF5F4 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028BF5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028BF5F8 */ cpu->lr = cpu->r[0];
/* 028BF5FC */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028BF5FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028BF600 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF604 */ return;
}
// fn_028BF608 @ 0x28bf608
void Gambit_fn_028BF608(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028BF608: ; // 0x28bf608
/* 028BF608 */ _t0 = cpu->r[3] + 0x00000134u;
/* 028BF608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028BF60C */ _t1 = cpu->r[12] + 0x00000000u;
/* 028BF60C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028BF610 */ _t2 = cpu->r[12] + 0x00000000u;
/* 028BF610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028BF614 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028BF618 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
/* 028BF61C */ return;
}
// fn_028BF620 @ 0x28bf620
void Gambit_fn_028BF620(CPUState* cpu) {
uint32_t _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_028BF620: ; // 0x28bf620
/* 028BF620 */ goto L_028EBA60;
L_028EBA60: ; // 0x28eba60
/* 028EBA60 */ cpu->r[0] = cpu->lr;
/* 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_028BF624 @ 0x28bf624
void Gambit_fn_028BF624(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028BF624: ; // 0x28bf624
/* 028BF624 */ cpu->r[0] = cpu->lr;
/* 028BF628 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF628 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF628 */ cpu->r[1] = _t0;
/* 028BF62C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF62C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF630 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BF630 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BF634 */ cpu->r[31] = cpu->r[3];
/* 028BF634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BF638 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BF638 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF63C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF63C */ _t5 = _t4 & 0x00000001u;
/* 028BF63C */ if (_t5) goto L_028BF640; else goto L_028BF650;
L_028BF640: ; // 0x28bf640
/* 028BF640 */ cpu->r[3] = 0x000001E0u;
/* 028BF644 */ Gambit_fn_02801A78(cpu);
/* 028BF648 */ cpu->r[31] = cpu->r[3];
/* 028BF648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BF64C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF64C */ _t7 = _t6 & 0x00000001u;
/* 028BF64C */ if (_t7) goto L_028BF778; else goto L_028BF650;
L_028BF650: ; // 0x28bf650
/* 028BF650 */ cpu->r[30] = 0x00000000u;
/* 028BF654 */ cpu->r[0] = 0x10140000u;
/* 028BF658 */ _t8 = cpu->r[31] + 0x00000008u;
/* 028BF658 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028BF65C */ cpu->r[0] = cpu->r[0] + 0xFFFF9118u;
/* 028BF660 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028BF660 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
/* 028BF664 */ _t10 = cpu->r[31] + 0x000001DCu;
/* 028BF664 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028BF668 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
/* 028BF668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF66C */ _t11 = cpu->r[31] + 0x00000000u;
/* 028BF66C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
/* 028BF670 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF670 */ _t13 = _t12 & 0x00000001u;
/* 028BF670 */ if (_t13) goto L_028BF674; else goto L_028BF684;
L_028BF674: ; // 0x28bf674
/* 028BF674 */ cpu->r[3] = 0x00000002u;
/* 028BF678 */ Gambit_fn_02801A78(cpu);
/* 028BF67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF680 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF680 */ _t15 = _t14 & 0x00000001u;
/* 028BF680 */ if (_t15) goto L_028BF688; else goto L_028BF684;
L_028BF684: ; // 0x28bf684
/* 028BF684 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028BF684 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]);
L_028BF688: ; // 0x28bf688
/* 028BF688 */ cpu->r[3] = cpu->r[31] + 0x0000000Eu;
/* 028BF688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF68C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF68C */ _t18 = _t17 & 0x00000001u;
/* 028BF68C */ if (_t18) goto L_028BF690; else goto L_028BF6A0;
L_028BF690: ; // 0x28bf690
/* 028BF690 */ cpu->r[3] = 0x00000001u;
/* 028BF694 */ Gambit_fn_02801A78(cpu);
/* 028BF698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF69C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF69C */ _t20 = _t19 & 0x00000001u;
/* 028BF69C */ if (_t20) goto L_028BF6A4; else goto L_028BF6A0;
L_028BF6A0: ; // 0x28bf6a0
/* 028BF6A0 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028BF6A0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
L_028BF6A4: ; // 0x28bf6a4
/* 028BF6A4 */ cpu->r[3] = cpu->r[31] + 0x0000000Fu;
/* 028BF6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF6A8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF6A8 */ _t23 = _t22 & 0x00000001u;
/* 028BF6A8 */ if (_t23) goto L_028BF6AC; else goto L_028BF6BC;
L_028BF6AC: ; // 0x28bf6ac
/* 028BF6AC */ cpu->r[3] = 0x00000001u;
/* 028BF6B0 */ Gambit_fn_02801A78(cpu);
/* 028BF6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF6B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF6B8 */ _t25 = _t24 & 0x00000001u;
/* 028BF6B8 */ if (_t25) goto L_028BF6C0; else goto L_028BF6BC;
L_028BF6BC: ; // 0x28bf6bc
/* 028BF6BC */ _t26 = cpu->r[3] + 0x00000000u;
/* 028BF6BC */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
L_028BF6C0: ; // 0x28bf6c0
/* 028BF6C0 */ _t27 = cpu->r[31] + 0x00000018u;
/* 028BF6C0 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
/* 028BF6C4 */ cpu->r[12] = 0x10140000u;
/* 028BF6C8 */ _t28 = cpu->r[31] + 0x00000028u;
/* 028BF6C8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
/* 028BF6CC */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BF6D0 */ _t29 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF6D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028BF6D4 */ _t30 = cpu->r[31] + 0x00000014u;
/* 028BF6D4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028BF6D8 */ _t31 = cpu->r[31] + 0x00000010u;
/* 028BF6D8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
/* 028BF6DC */ _t32 = cpu->r[31] + 0x0000001Cu;
/* 028BF6DC */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
/* 028BF6E0 */ _t33 = cpu->r[31] + 0x00000024u;
/* 028BF6E0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
/* 028BF6E4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BF6E8 */ _t34 = cpu->r[31] + 0x00000020u;
/* 028BF6E8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
/* 028BF6EC */ Gambit_fn_028BD2E0(cpu);
/* 028BF6F0 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
/* 028BF6F4 */ Gambit_fn_028BD2E0(cpu);
/* 028BF6F8 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BF6FC */ Gambit_fn_028BD2E0(cpu);
/* 028BF700 */ _t35 = cpu->r[31] + 0x00000124u;
/* 028BF700 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
/* 028BF704 */ _t36 = cpu->r[31] + 0x00000130u;
/* 028BF704 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
/* 028BF708 */ cpu->r[10] = 0x10140000u;
/* 028BF70C */ _t37 = cpu->r[10] + 0xFFFF90F8u;
/* 028BF70C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
/* 028BF710 */ _t38 = cpu->r[31] + 0x00000134u;
/* 028BF710 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
/* 028BF714 */ _t39 = cpu->r[31] + 0x00000118u;
/* 028BF714 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
/* 028BF718 */ _t40 = cpu->r[31] + 0x00000110u;
/* 028BF718 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
/* 028BF71C */ _t41 = cpu->r[31] + 0x00000128u;
/* 028BF71C */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
/* 028BF720 */ _t42 = cpu->r[31] + 0x0000013Cu;
/* 028BF720 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
/* 028BF724 */ _t43 = cpu->r[31] + 0x00000138u;
/* 028BF724 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
/* 028BF728 */ _t44 = cpu->r[31] + 0x0000012Cu;
/* 028BF728 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
/* 028BF72C */ cpu->r[3] = cpu->r[31] + 0x00000140u;
/* 028BF730 */ _t45 = cpu->r[31] + 0x00000114u;
/* 028BF730 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
/* 028BF734 */ Gambit_fn_028E1374(cpu);
/* 028BF738 */ _t46 = cpu->r[31] + 0x000001A0u;
/* 028BF738 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
/* 028BF73C */ _t47 = cpu->r[31] + 0x000001D4u;
/* 028BF73C */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
/* 028BF740 */ _t48 = cpu->r[31] + 0x0000019Cu;
/* 028BF740 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
/* 028BF744 */ _t49 = cpu->r[31] + 0x000001D8u;
/* 028BF744 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
/* 028BF748 */ _t50 = cpu->r[31] + 0x000001A8u;
/* 028BF748 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]);
/* 028BF74C */ _t51 = cpu->r[31] + 0x000001CCu;
/* 028BF74C */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
/* 028BF750 */ _t52 = cpu->r[31] + 0x000001A4u;
/* 028BF750 */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
/* 028BF754 */ _t53 = cpu->r[31] + 0x000001D0u;
/* 028BF754 */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
/* 028BF758 */ _t54 = cpu->r[31] + 0x000001B0u;
/* 028BF758 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
/* 028BF75C */ _t55 = cpu->r[31] + 0x000001C4u;
/* 028BF75C */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
/* 028BF760 */ _t56 = cpu->r[31] + 0x000001ACu;
/* 028BF760 */ rbrew_write32(cpu->mem, _t56, cpu->r[30]);
/* 028BF764 */ _t57 = cpu->r[31] + 0x000001C8u;
/* 028BF764 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
/* 028BF768 */ _t58 = cpu->r[31] + 0x000001B8u;
/* 028BF768 */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
/* 028BF76C */ _t59 = cpu->r[31] + 0x000001BCu;
/* 028BF76C */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
/* 028BF770 */ _t60 = cpu->r[31] + 0x000001B4u;
/* 028BF770 */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
/* 028BF774 */ _t61 = cpu->r[31] + 0x000001C0u;
/* 028BF774 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
L_028BF778: ; // 0x28bf778
/* 028BF778 */ _t62 = cpu->r[1] + 0x00000014u;
/* 028BF778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028BF77C */ cpu->r[3] = cpu->r[31];
/* 028BF780 */ _t63 = cpu->r[1] + 0x0000000Cu;
/* 028BF780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
/* 028BF784 */ cpu->lr = cpu->r[0];
/* 028BF788 */ _t64 = cpu->r[1] + 0x00000008u;
/* 028BF788 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
/* 028BF78C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF790 */ return;
}
// fn_028BF628 @ 0x28bf628
void Gambit_fn_028BF628(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028BF628: ; // 0x28bf628
/* 028BF628 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF628 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF628 */ cpu->r[1] = _t0;
/* 028BF62C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF62C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF630 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028BF630 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BF634 */ cpu->r[31] = cpu->r[3];
/* 028BF634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BF638 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BF638 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BF63C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF63C */ _t5 = _t4 & 0x00000001u;
/* 028BF63C */ if (_t5) goto L_028BF640; else goto L_028BF650;
L_028BF640: ; // 0x28bf640
/* 028BF640 */ cpu->r[3] = 0x000001E0u;
/* 028BF644 */ Gambit_fn_02801A78(cpu);
/* 028BF648 */ cpu->r[31] = cpu->r[3];
/* 028BF648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BF64C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF64C */ _t7 = _t6 & 0x00000001u;
/* 028BF64C */ if (_t7) goto L_028BF778; else goto L_028BF650;
L_028BF650: ; // 0x28bf650
/* 028BF650 */ cpu->r[30] = 0x00000000u;
/* 028BF654 */ cpu->r[0] = 0x10140000u;
/* 028BF658 */ _t8 = cpu->r[31] + 0x00000008u;
/* 028BF658 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028BF65C */ cpu->r[0] = cpu->r[0] + 0xFFFF9118u;
/* 028BF660 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028BF660 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
/* 028BF664 */ _t10 = cpu->r[31] + 0x000001DCu;
/* 028BF664 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028BF668 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
/* 028BF668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF66C */ _t11 = cpu->r[31] + 0x00000000u;
/* 028BF66C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
/* 028BF670 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF670 */ _t13 = _t12 & 0x00000001u;
/* 028BF670 */ if (_t13) goto L_028BF674; else goto L_028BF684;
L_028BF674: ; // 0x28bf674
/* 028BF674 */ cpu->r[3] = 0x00000002u;
/* 028BF678 */ Gambit_fn_02801A78(cpu);
/* 028BF67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF680 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF680 */ _t15 = _t14 & 0x00000001u;
/* 028BF680 */ if (_t15) goto L_028BF688; else goto L_028BF684;
L_028BF684: ; // 0x28bf684
/* 028BF684 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028BF684 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]);
L_028BF688: ; // 0x28bf688
/* 028BF688 */ cpu->r[3] = cpu->r[31] + 0x0000000Eu;
/* 028BF688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF68C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF68C */ _t18 = _t17 & 0x00000001u;
/* 028BF68C */ if (_t18) goto L_028BF690; else goto L_028BF6A0;
L_028BF690: ; // 0x28bf690
/* 028BF690 */ cpu->r[3] = 0x00000001u;
/* 028BF694 */ Gambit_fn_02801A78(cpu);
/* 028BF698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF69C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF69C */ _t20 = _t19 & 0x00000001u;
/* 028BF69C */ if (_t20) goto L_028BF6A4; else goto L_028BF6A0;
L_028BF6A0: ; // 0x28bf6a0
/* 028BF6A0 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028BF6A0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
L_028BF6A4: ; // 0x28bf6a4
/* 028BF6A4 */ cpu->r[3] = cpu->r[31] + 0x0000000Fu;
/* 028BF6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF6A8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF6A8 */ _t23 = _t22 & 0x00000001u;
/* 028BF6A8 */ if (_t23) goto L_028BF6AC; else goto L_028BF6BC;
L_028BF6AC: ; // 0x28bf6ac
/* 028BF6AC */ cpu->r[3] = 0x00000001u;
/* 028BF6B0 */ Gambit_fn_02801A78(cpu);
/* 028BF6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF6B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF6B8 */ _t25 = _t24 & 0x00000001u;
/* 028BF6B8 */ if (_t25) goto L_028BF6C0; else goto L_028BF6BC;
L_028BF6BC: ; // 0x28bf6bc
/* 028BF6BC */ _t26 = cpu->r[3] + 0x00000000u;
/* 028BF6BC */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
L_028BF6C0: ; // 0x28bf6c0
/* 028BF6C0 */ _t27 = cpu->r[31] + 0x00000018u;
/* 028BF6C0 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
/* 028BF6C4 */ cpu->r[12] = 0x10140000u;
/* 028BF6C8 */ _t28 = cpu->r[31] + 0x00000028u;
/* 028BF6C8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
/* 028BF6CC */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BF6D0 */ _t29 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF6D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028BF6D4 */ _t30 = cpu->r[31] + 0x00000014u;
/* 028BF6D4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028BF6D8 */ _t31 = cpu->r[31] + 0x00000010u;
/* 028BF6D8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
/* 028BF6DC */ _t32 = cpu->r[31] + 0x0000001Cu;
/* 028BF6DC */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
/* 028BF6E0 */ _t33 = cpu->r[31] + 0x00000024u;
/* 028BF6E0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
/* 028BF6E4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BF6E8 */ _t34 = cpu->r[31] + 0x00000020u;
/* 028BF6E8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
/* 028BF6EC */ Gambit_fn_028BD2E0(cpu);
/* 028BF6F0 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
/* 028BF6F4 */ Gambit_fn_028BD2E0(cpu);
/* 028BF6F8 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BF6FC */ Gambit_fn_028BD2E0(cpu);
/* 028BF700 */ _t35 = cpu->r[31] + 0x00000124u;
/* 028BF700 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
/* 028BF704 */ _t36 = cpu->r[31] + 0x00000130u;
/* 028BF704 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
/* 028BF708 */ cpu->r[10] = 0x10140000u;
/* 028BF70C */ _t37 = cpu->r[10] + 0xFFFF90F8u;
/* 028BF70C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
/* 028BF710 */ _t38 = cpu->r[31] + 0x00000134u;
/* 028BF710 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
/* 028BF714 */ _t39 = cpu->r[31] + 0x00000118u;
/* 028BF714 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
/* 028BF718 */ _t40 = cpu->r[31] + 0x00000110u;
/* 028BF718 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
/* 028BF71C */ _t41 = cpu->r[31] + 0x00000128u;
/* 028BF71C */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
/* 028BF720 */ _t42 = cpu->r[31] + 0x0000013Cu;
/* 028BF720 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
/* 028BF724 */ _t43 = cpu->r[31] + 0x00000138u;
/* 028BF724 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
/* 028BF728 */ _t44 = cpu->r[31] + 0x0000012Cu;
/* 028BF728 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
/* 028BF72C */ cpu->r[3] = cpu->r[31] + 0x00000140u;
/* 028BF730 */ _t45 = cpu->r[31] + 0x00000114u;
/* 028BF730 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
/* 028BF734 */ Gambit_fn_028E1374(cpu);
/* 028BF738 */ _t46 = cpu->r[31] + 0x000001A0u;
/* 028BF738 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
/* 028BF73C */ _t47 = cpu->r[31] + 0x000001D4u;
/* 028BF73C */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
/* 028BF740 */ _t48 = cpu->r[31] + 0x0000019Cu;
/* 028BF740 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
/* 028BF744 */ _t49 = cpu->r[31] + 0x000001D8u;
/* 028BF744 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
/* 028BF748 */ _t50 = cpu->r[31] + 0x000001A8u;
/* 028BF748 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]);
/* 028BF74C */ _t51 = cpu->r[31] + 0x000001CCu;
/* 028BF74C */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
/* 028BF750 */ _t52 = cpu->r[31] + 0x000001A4u;
/* 028BF750 */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
/* 028BF754 */ _t53 = cpu->r[31] + 0x000001D0u;
/* 028BF754 */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
/* 028BF758 */ _t54 = cpu->r[31] + 0x000001B0u;
/* 028BF758 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
/* 028BF75C */ _t55 = cpu->r[31] + 0x000001C4u;
/* 028BF75C */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
/* 028BF760 */ _t56 = cpu->r[31] + 0x000001ACu;
/* 028BF760 */ rbrew_write32(cpu->mem, _t56, cpu->r[30]);
/* 028BF764 */ _t57 = cpu->r[31] + 0x000001C8u;
/* 028BF764 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
/* 028BF768 */ _t58 = cpu->r[31] + 0x000001B8u;
/* 028BF768 */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
/* 028BF76C */ _t59 = cpu->r[31] + 0x000001BCu;
/* 028BF76C */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
/* 028BF770 */ _t60 = cpu->r[31] + 0x000001B4u;
/* 028BF770 */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
/* 028BF774 */ _t61 = cpu->r[31] + 0x000001C0u;
/* 028BF774 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
L_028BF778: ; // 0x28bf778
/* 028BF778 */ _t62 = cpu->r[1] + 0x00000014u;
/* 028BF778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028BF77C */ cpu->r[3] = cpu->r[31];
/* 028BF780 */ _t63 = cpu->r[1] + 0x0000000Cu;
/* 028BF780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
/* 028BF784 */ cpu->lr = cpu->r[0];
/* 028BF788 */ _t64 = cpu->r[1] + 0x00000008u;
/* 028BF788 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
/* 028BF78C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF790 */ return;
}
// fn_028BF794 @ 0x28bf794
void Gambit_fn_028BF794(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028BF794: ; // 0x28bf794
/* 028BF794 */ cpu->r[0] = cpu->lr;
/* 028BF798 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BF798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF798 */ cpu->r[1] = _t0;
/* 028BF79C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF79C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BF7A0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BF7A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BF7A4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BF7A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BF7A8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BF7A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BF7AC */ cpu->r[29] = cpu->r[3];
/* 028BF7B0 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028BF7B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
/* 028BF7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF7B8 */ cpu->r[30] = cpu->r[4];
/* 028BF7BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF7BC */ _t7 = _t6 & 0x00000001u;
/* 028BF7BC */ if (_t7) goto L_028BF7C0; else goto L_028BF898;
L_028BF7C0: ; // 0x28bf7c0
/* 028BF7C0 */ cpu->r[4] = cpu->r[30];
/* 028BF7C4 */ cpu->r[3] = 0x00000020u;
/* 028BF7C8 */ cpu->r[5] = 0x00000004u;
/* 028BF7CC */ Gambit_fn_02801AC8(cpu);
/* 028BF7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF7D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF7D4 */ _t9 = _t8 & 0x00000001u;
/* 028BF7D4 */ if (_t9) goto L_028BF7DC; else goto L_028BF7D8;
L_028BF7D8: ; // 0x28bf7d8
/* 028BF7D8 */ Gambit_fn_028E9D58(cpu);
L_028BF7DC: ; // 0x28bf7dc
/* 028BF7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF7E0 */ _t10 = cpu->r[29] + 0x00000134u;
/* 028BF7E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
/* 028BF7E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF7E4 */ _t12 = _t11 & 0x00000001u;
/* 028BF7E4 */ if (_t12) goto L_028BF7F0; else goto L_028BF7E8;
L_028BF7E8: ; // 0x28bf7e8
/* 028BF7E8 */ cpu->r[4] = cpu->r[30];
/* 028BF7EC */ Gambit_fn_028E9E80(cpu);
L_028BF7F0: ; // 0x28bf7f0
/* 028BF7F0 */ cpu->r[4] = cpu->r[30];
/* 028BF7F4 */ cpu->r[3] = 0x00000014u;
/* 028BF7F8 */ cpu->r[5] = 0x00000004u;
/* 028BF7FC */ Gambit_fn_02801AC8(cpu);
/* 028BF800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF804 */ cpu->r[12] = cpu->r[3];
/* 028BF808 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF808 */ _t14 = _t13 & 0x00000001u;
/* 028BF808 */ if (_t14) goto L_028BF81C; else goto L_028BF80C;
L_028BF80C: ; // 0x28bf80c
/* 028BF80C */ cpu->r[9] = 0x10140000u;
/* 028BF810 */ _t15 = cpu->r[9] + 0xFFFF90F8u;
/* 028BF810 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 028BF814 */ Gambit_fn_028CA0E4(cpu);
/* 028BF818 */ cpu->r[12] = cpu->r[3];
L_028BF81C: ; // 0x28bf81c
/* 028BF81C */ cpu->r[5] = 0x00000004u;
/* 028BF820 */ cpu->r[3] = 0x00000010u;
/* 028BF824 */ cpu->r[4] = cpu->r[30];
/* 028BF828 */ _t16 = cpu->r[29] + 0x00000138u;
/* 028BF828 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
/* 028BF82C */ Gambit_fn_02801AC8(cpu);
/* 028BF830 */ cpu->r[31] = cpu->r[3];
/* 028BF830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BF834 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF834 */ _t18 = _t17 & 0x00000001u;
/* 028BF834 */ if (_t18) goto L_028BF85C; else goto L_028BF838;
L_028BF838: ; // 0x28bf838
/* 028BF838 */ cpu->r[4] = 0x00000010u;
/* 028BF83C */ cpu->r[3] = cpu->r[31];
/* 028BF840 */ Gambit_fn_02C89380(cpu);
/* 028BF844 */ cpu->r[6] = 0x028C0000u;
/* 028BF848 */ cpu->r[3] = cpu->r[31];
/* 028BF84C */ cpu->r[4] = 0x00000002u;
/* 028BF850 */ cpu->r[6] = cpu->r[6] + 0x00001D08u;
/* 028BF854 */ cpu->r[5] = 0x00000008u;
/* 028BF858 */ Gambit_fn_02C82E00(cpu);
L_028BF85C: ; // 0x28bf85c
/* 028BF85C */ cpu->r[5] = 0x00000004u;
/* 028BF860 */ cpu->r[3] = 0x00000020u;
/* 028BF864 */ cpu->r[4] = cpu->r[30];
/* 028BF868 */ _t19 = cpu->r[29] + 0x0000013Cu;
/* 028BF868 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
/* 028BF86C */ Gambit_fn_02801AC8(cpu);
/* 028BF870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF874 */ cpu->r[0] = cpu->r[3];
/* 028BF878 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF878 */ _t21 = _t20 & 0x00000001u;
/* 028BF878 */ if (_t21) goto L_028BF884; else goto L_028BF87C;
L_028BF87C: ; // 0x28bf87c
/* 028BF87C */ Gambit_fn_028BBCB4(cpu);
/* 028BF880 */ cpu->r[0] = cpu->r[3];
L_028BF884: ; // 0x28bf884
/* 028BF884 */ cpu->r[3] = cpu->r[29];
/* 028BF888 */ _t22 = cpu->r[29] + 0x000001B8u;
/* 028BF888 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028BF88C */ Gambit_fn_028BDD94(cpu);
/* 028BF890 */ cpu->r[11] = 0x00000001u;
/* 028BF894 */ _t23 = cpu->r[29] + 0x00000000u;
/* 028BF894 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
L_028BF898: ; // 0x28bf898
/* 028BF898 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BF898 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
/* 028BF89C */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028BF89C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028BF8A0 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028BF8A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028BF8A4 */ cpu->lr = cpu->r[0];
/* 028BF8A8 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028BF8A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028BF8AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF8B0 */ return;
}
// fn_028BF798 @ 0x28bf798
void Gambit_fn_028BF798(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028BF798: ; // 0x28bf798
/* 028BF798 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028BF798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF798 */ cpu->r[1] = _t0;
/* 028BF79C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF79C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028BF7A0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028BF7A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028BF7A4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BF7A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BF7A8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028BF7A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BF7AC */ cpu->r[29] = cpu->r[3];
/* 028BF7B0 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028BF7B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
/* 028BF7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF7B8 */ cpu->r[30] = cpu->r[4];
/* 028BF7BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF7BC */ _t7 = _t6 & 0x00000001u;
/* 028BF7BC */ if (_t7) goto L_028BF7C0; else goto L_028BF898;
L_028BF7C0: ; // 0x28bf7c0
/* 028BF7C0 */ cpu->r[4] = cpu->r[30];
/* 028BF7C4 */ cpu->r[3] = 0x00000020u;
/* 028BF7C8 */ cpu->r[5] = 0x00000004u;
/* 028BF7CC */ Gambit_fn_02801AC8(cpu);
/* 028BF7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF7D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF7D4 */ _t9 = _t8 & 0x00000001u;
/* 028BF7D4 */ if (_t9) goto L_028BF7DC; else goto L_028BF7D8;
L_028BF7D8: ; // 0x28bf7d8
/* 028BF7D8 */ Gambit_fn_028E9D58(cpu);
L_028BF7DC: ; // 0x28bf7dc
/* 028BF7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF7E0 */ _t10 = cpu->r[29] + 0x00000134u;
/* 028BF7E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
/* 028BF7E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF7E4 */ _t12 = _t11 & 0x00000001u;
/* 028BF7E4 */ if (_t12) goto L_028BF7F0; else goto L_028BF7E8;
L_028BF7E8: ; // 0x28bf7e8
/* 028BF7E8 */ cpu->r[4] = cpu->r[30];
/* 028BF7EC */ Gambit_fn_028E9E80(cpu);
L_028BF7F0: ; // 0x28bf7f0
/* 028BF7F0 */ cpu->r[4] = cpu->r[30];
/* 028BF7F4 */ cpu->r[3] = 0x00000014u;
/* 028BF7F8 */ cpu->r[5] = 0x00000004u;
/* 028BF7FC */ Gambit_fn_02801AC8(cpu);
/* 028BF800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF804 */ cpu->r[12] = cpu->r[3];
/* 028BF808 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF808 */ _t14 = _t13 & 0x00000001u;
/* 028BF808 */ if (_t14) goto L_028BF81C; else goto L_028BF80C;
L_028BF80C: ; // 0x28bf80c
/* 028BF80C */ cpu->r[9] = 0x10140000u;
/* 028BF810 */ _t15 = cpu->r[9] + 0xFFFF90F8u;
/* 028BF810 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 028BF814 */ Gambit_fn_028CA0E4(cpu);
/* 028BF818 */ cpu->r[12] = cpu->r[3];
L_028BF81C: ; // 0x28bf81c
/* 028BF81C */ cpu->r[5] = 0x00000004u;
/* 028BF820 */ cpu->r[3] = 0x00000010u;
/* 028BF824 */ cpu->r[4] = cpu->r[30];
/* 028BF828 */ _t16 = cpu->r[29] + 0x00000138u;
/* 028BF828 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
/* 028BF82C */ Gambit_fn_02801AC8(cpu);
/* 028BF830 */ cpu->r[31] = cpu->r[3];
/* 028BF830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028BF834 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF834 */ _t18 = _t17 & 0x00000001u;
/* 028BF834 */ if (_t18) goto L_028BF85C; else goto L_028BF838;
L_028BF838: ; // 0x28bf838
/* 028BF838 */ cpu->r[4] = 0x00000010u;
/* 028BF83C */ cpu->r[3] = cpu->r[31];
/* 028BF840 */ Gambit_fn_02C89380(cpu);
/* 028BF844 */ cpu->r[6] = 0x028C0000u;
/* 028BF848 */ cpu->r[3] = cpu->r[31];
/* 028BF84C */ cpu->r[4] = 0x00000002u;
/* 028BF850 */ cpu->r[6] = cpu->r[6] + 0x00001D08u;
/* 028BF854 */ cpu->r[5] = 0x00000008u;
/* 028BF858 */ Gambit_fn_02C82E00(cpu);
L_028BF85C: ; // 0x28bf85c
/* 028BF85C */ cpu->r[5] = 0x00000004u;
/* 028BF860 */ cpu->r[3] = 0x00000020u;
/* 028BF864 */ cpu->r[4] = cpu->r[30];
/* 028BF868 */ _t19 = cpu->r[29] + 0x0000013Cu;
/* 028BF868 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
/* 028BF86C */ Gambit_fn_02801AC8(cpu);
/* 028BF870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF874 */ cpu->r[0] = cpu->r[3];
/* 028BF878 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF878 */ _t21 = _t20 & 0x00000001u;
/* 028BF878 */ if (_t21) goto L_028BF884; else goto L_028BF87C;
L_028BF87C: ; // 0x28bf87c
/* 028BF87C */ Gambit_fn_028BBCB4(cpu);
/* 028BF880 */ cpu->r[0] = cpu->r[3];
L_028BF884: ; // 0x28bf884
/* 028BF884 */ cpu->r[3] = cpu->r[29];
/* 028BF888 */ _t22 = cpu->r[29] + 0x000001B8u;
/* 028BF888 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028BF88C */ Gambit_fn_028BDD94(cpu);
/* 028BF890 */ cpu->r[11] = 0x00000001u;
/* 028BF894 */ _t23 = cpu->r[29] + 0x00000000u;
/* 028BF894 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
L_028BF898: ; // 0x28bf898
/* 028BF898 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BF898 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
/* 028BF89C */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028BF89C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028BF8A0 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028BF8A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028BF8A4 */ cpu->lr = cpu->r[0];
/* 028BF8A8 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028BF8A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028BF8AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028BF8B0 */ return;
}
// fn_028BF8B4 @ 0x28bf8b4
void Gambit_fn_028BF8B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BF8B4: ; // 0x28bf8b4
/* 028BF8B4 */ cpu->r[0] = cpu->lr;
/* 028BF8B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF8B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF8B8 */ cpu->r[1] = _t0;
/* 028BF8BC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF8BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF8C0 */ cpu->r[31] = cpu->r[3];
/* 028BF8C4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF8C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BF8C8 */ _t3 = cpu->r[31] + 0x000001A4u;
/* 028BF8C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BF8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF8D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF8D0 */ _t5 = _t4 & 0x00000001u;
/* 028BF8D0 */ if (_t5) goto L_028BF8EC; else goto L_028BF8D4;
L_028BF8D4: ; // 0x28bf8d4
/* 028BF8D4 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028BF8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BF8D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BF8D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028BF8DC */ cpu->lr = cpu->r[0];
/* 028BF8E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF8E4 */ cpu->r[3] = 0x00000001u;
/* 028BF8E8 */ return;
L_028BF8EC: ; // 0x28bf8ec
/* 028BF8EC */ cpu->r[12] = 0x101D0000u;
/* 028BF8F0 */ _t8 = cpu->r[12] + 0xFFFF9AE0u;
/* 028BF8F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028BF8F4 */ _t9 = cpu->r[12] + 0x00000040u;
/* 028BF8F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028BF8F8 */ cpu->r[4] = cpu->r[31];
/* 028BF8FC */ Gambit_fn_028DE938(cpu);
/* 028BF900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF904 */ _t10 = cpu->r[31] + 0x000001A4u;
/* 028BF904 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
/* 028BF908 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF908 */ _t12 = _t11 & 0x00000001u;
/* 028BF908 */ if (_t12) goto L_028BF90C; else goto L_028BF924;
L_028BF90C: ; // 0x28bf90c
/* 028BF90C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BF90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BF910 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BF910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BF914 */ cpu->lr = cpu->r[0];
/* 028BF918 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF91C */ cpu->r[3] = 0x00000000u;
/* 028BF920 */ return;
L_028BF924: ; // 0x28bf924
/* 028BF924 */ _t15 = cpu->r[3] + 0x0000001Cu;
/* 028BF924 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
/* 028BF928 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028BF928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BF92C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BF92C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BF930 */ cpu->lr = cpu->r[0];
/* 028BF934 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF938 */ cpu->r[3] = 0x00000001u;
/* 028BF93C */ return;
}
// fn_028BF8B8 @ 0x28bf8b8
void Gambit_fn_028BF8B8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BF8B8: ; // 0x28bf8b8
/* 028BF8B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BF8B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF8B8 */ cpu->r[1] = _t0;
/* 028BF8BC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028BF8BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028BF8C0 */ cpu->r[31] = cpu->r[3];
/* 028BF8C4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF8C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028BF8C8 */ _t3 = cpu->r[31] + 0x000001A4u;
/* 028BF8C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028BF8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF8D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF8D0 */ _t5 = _t4 & 0x00000001u;
/* 028BF8D0 */ if (_t5) goto L_028BF8EC; else goto L_028BF8D4;
L_028BF8D4: ; // 0x28bf8d4
/* 028BF8D4 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028BF8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028BF8D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028BF8D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028BF8DC */ cpu->lr = cpu->r[0];
/* 028BF8E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF8E4 */ cpu->r[3] = 0x00000001u;
/* 028BF8E8 */ return;
L_028BF8EC: ; // 0x28bf8ec
/* 028BF8EC */ cpu->r[12] = 0x101D0000u;
/* 028BF8F0 */ _t8 = cpu->r[12] + 0xFFFF9AE0u;
/* 028BF8F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028BF8F4 */ _t9 = cpu->r[12] + 0x00000040u;
/* 028BF8F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028BF8F8 */ cpu->r[4] = cpu->r[31];
/* 028BF8FC */ Gambit_fn_028DE938(cpu);
/* 028BF900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF904 */ _t10 = cpu->r[31] + 0x000001A4u;
/* 028BF904 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
/* 028BF908 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF908 */ _t12 = _t11 & 0x00000001u;
/* 028BF908 */ if (_t12) goto L_028BF90C; else goto L_028BF924;
L_028BF90C: ; // 0x28bf90c
/* 028BF90C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028BF90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028BF910 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028BF910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028BF914 */ cpu->lr = cpu->r[0];
/* 028BF918 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF91C */ cpu->r[3] = 0x00000000u;
/* 028BF920 */ return;
L_028BF924: ; // 0x28bf924
/* 028BF924 */ _t15 = cpu->r[3] + 0x0000001Cu;
/* 028BF924 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
/* 028BF928 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028BF928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028BF92C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028BF92C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BF930 */ cpu->lr = cpu->r[0];
/* 028BF934 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BF938 */ cpu->r[3] = 0x00000001u;
/* 028BF93C */ return;
}
// fn_028BF940 @ 0x28bf940
void Gambit_fn_028BF940(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
L_028BF940: ; // 0x28bf940
/* 028BF940 */ cpu->r[0] = cpu->lr;
/* 028BF944 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028BF944 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF944 */ cpu->r[1] = _t0;
/* 028BF948 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028BF948 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BF94C */ /* nop */
/* 028BF950 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF950 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BF954 */ cpu->r[12] = 0x10140000u;
/* 028BF958 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028BF958 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028BF95C */ _t4 = cpu->r[1] + 0x00000020u;
/* 028BF95C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028BF960 */ _t5 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF960 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
/* 028BF964 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028BF964 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BF968 */ _t7 = cpu->r[3] + 0x00000194u;
/* 028BF968 */ cpu->r[12] = rbrew_read16(cpu->mem, _t7);
/* 028BF96C */ _t8 = cpu->r[3] + 0x00000010u;
/* 028BF96C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
/* 028BF970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BF970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF974 */ cpu->r[31] = cpu->r[3];
/* 028BF978 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF978 */ _t10 = _t9 & 0x00000001u;
/* 028BF978 */ if (_t10) goto L_028BF9C0; else goto L_028BF97C;
L_028BF97C: ; // 0x28bf97c
/* 028BF97C */ Gambit_fn_028BF8B4(cpu);
/* 028BF980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF984 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF984 */ _t12 = _t11 & 0x00000001u;
/* 028BF984 */ if (_t12) goto L_028BF9E8; else goto L_028BF988;
L_028BF988: ; // 0x28bf988
/* 028BF988 */ cpu->r[0] = 0x00000007u;
/* 028BF98C */ cpu->r[3] = cpu->r[31];
/* 028BF990 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BF994 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BF994 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028BF998 */ Gambit_fn_028BDAB0(cpu);
/* 028BF99C */ _t14 = cpu->r[1] + 0x00000020u;
/* 028BF99C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028BF9A0 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028BF9A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028BF9A4 */ _t16 = cpu->r[1] + 0x00000018u;
/* 028BF9A4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
/* 028BF9A8 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BF9A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BF9AC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF9AC */ _t19 = _t18 & 0x00000001u;
/* 028BF9AC */ if (_t19) goto L_028BF9B0; // else: addr-0 trap, fall-through
L_028BF9B0: ; // 0x28bf9b0
/* 028BF9B0 */ _t20 = cpu->r[1] + 0x0000002Cu;
/* 028BF9B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BF9B4 */ cpu->lr = cpu->r[0];
/* 028BF9B8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BF9BC */ return;
L_028BF9C0: ; // 0x28bf9c0
/* 028BF9C0 */ _t21 = cpu->r[31] + 0x00000134u;
/* 028BF9C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028BF9C4 */ Gambit_fn_028BF288(cpu);
/* 028BF9C8 */ _t22 = cpu->r[30] + 0x00000000u;
/* 028BF9C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028BF9CC */ Gambit_fn_028EB874(cpu);
/* 028BF9D0 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028BF9D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
/* 028BF9D4 */ _t24 = cpu->r[31] + 0x00000134u;
/* 028BF9D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
/* 028BF9D8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028BF9DC */ Gambit_fn_028EA3A0(cpu);
/* 028BF9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF9E4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF9E4 */ _t26 = _t25 & 0x00000001u;
/* 028BF9E4 */ if (_t26) goto L_028BF9E8; else goto L_028BFA14;
L_028BF9E8: ; // 0x28bf9e8
/* 028BF9E8 */ cpu->r[3] = cpu->r[31];
/* 028BF9EC */ Gambit_fn_028BDB04(cpu);
/* 028BF9F0 */ _t27 = cpu->r[1] + 0x00000020u;
/* 028BF9F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
/* 028BF9F4 */ _t28 = cpu->r[1] + 0x00000014u;
/* 028BF9F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
/* 028BF9F8 */ _t29 = cpu->r[1] + 0x00000018u;
/* 028BF9F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t29);
/* 028BF9FC */ _t30 = cpu->r[1] + 0x00000010u;
/* 028BF9FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028BFA00 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFA00 */ _t32 = _t31 & 0x00000001u;
/* 028BFA00 */ if (_t32) goto L_028BFA04; // else: addr-0 trap, fall-through
L_028BFA04: ; // 0x28bfa04
/* 028BFA04 */ _t33 = cpu->r[1] + 0x0000002Cu;
/* 028BFA04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028BFA08 */ cpu->lr = cpu->r[0];
/* 028BFA0C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BFA10 */ return;
L_028BFA14: ; // 0x28bfa14
/* 028BFA14 */ cpu->r[3] = cpu->r[31];
/* 028BFA18 */ Gambit_fn_028BEE50(cpu);
/* 028BFA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BFA20 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFA20 */ _t35 = _t34 & 0x00000001u;
/* 028BFA20 */ if (_t35) goto L_028BFA2C; else goto L_028BFA24;
L_028BFA24: ; // 0x28bfa24
/* 028BFA24 */ _t36 = cpu->r[31] + 0x00000134u;
/* 028BFA24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
/* 028BFA28 */ Gambit_fn_028EA45C(cpu);
L_028BFA2C: ; // 0x28bfa2c
/* 028BFA2C */ _t37 = cpu->r[31] + 0x00000130u;
/* 028BFA2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
/* 028BFA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BFA34 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFA34 */ _t39 = _t38 & 0x00000001u;
/* 028BFA34 */ if (_t39) goto L_028BFA58; else goto L_028BFA38;
L_028BFA38: ; // 0x28bfa38
/* 028BFA38 */ cpu->r[3] = cpu->r[31];
/* 028BFA3C */ Gambit_fn_028BE10C(cpu);
/* 028BFA40 */ cpu->r[3] = cpu->r[31];
/* 028BFA44 */ Gambit_fn_028BE16C(cpu);
/* 028BFA48 */ _t40 = cpu->r[31] + 0x00000024u;
/* 028BFA48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
/* 028BFA4C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028BFA50 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFA50 */ _t42 = _t41 & 0x00000001u;
/* 028BFA50 */ if (_t42) goto L_028BFA54; else goto L_028BFAA0;
L_028BFA54: ; // 0x28bfa54
/* 028BFA54 */ goto L_028BFA80;
L_028BFA58: ; // 0x28bfa58
/* 028BFA58 */ _t43 = cpu->r[31] + 0x0000000Cu;
/* 028BFA58 */ cpu->r[0] = rbrew_read16(cpu->mem, _t43);
/* 028BFA5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BFA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BFA60 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFA60 */ _t45 = _t44 & 0x00000001u;
/* 028BFA60 */ if (_t45) goto L_028BFA74; else goto L_028BFA64;
L_028BFA64: ; // 0x28bfa64
/* 028BFA64 */ cpu->r[3] = 0x101D0000u;
/* 028BFA68 */ _t46 = cpu->r[3] + 0xFFFF9A7Cu;
/* 028BFA68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
/* 028BFA6C */ cpu->r[4] = cpu->r[31];
/* 028BFA70 */ Gambit_fn_028BC910(cpu);
L_028BFA74: ; // 0x28bfa74
/* 028BFA74 */ _t47 = cpu->r[31] + 0x00000024u;
/* 028BFA74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
/* 028BFA78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028BFA7C */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFA7C */ _t49 = _t48 & 0x00000001u;
/* 028BFA7C */ if (_t49) goto L_028BFA80; else goto L_028BFAA0;
L_028BFA80: ; // 0x28bfa80
/* 028BFA80 */ cpu->f[1] = cpu->f[31];
/* 028BFA84 */ _t50 = cpu->r[31] + 0x00000138u;
/* 028BFA84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
/* 028BFA88 */ Gambit_fn_028CA0C8(cpu);
/* 028BFA8C */ _t51 = cpu->r[31] + 0x00000024u;
/* 028BFA8C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t51);
/* 028BFA90 */ cpu->r[12] = 0x10140000u;
/* 028BFA94 */ _t52 = cpu->r[31] + 0x00000138u;
/* 028BFA94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028BFA98 */ _t53 = cpu->r[12] + 0xFFFF90F8u;
/* 028BFA98 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t53);
/* 028BFA9C */ Gambit_fn_028CA1D8(cpu);
L_028BFAA0: ; // 0x28bfaa0
/* 028BFAA0 */ cpu->r[0] = 0x00000003u;
/* 028BFAA4 */ cpu->r[3] = cpu->r[31];
/* 028BFAA8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BFAAC */ _t54 = cpu->r[1] + 0x00000008u;
/* 028BFAAC */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
/* 028BFAB0 */ Gambit_fn_028BDAB0(cpu);
/* 028BFAB4 */ _t55 = cpu->r[1] + 0x00000020u;
/* 028BFAB4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t55);
/* 028BFAB8 */ _t56 = cpu->r[1] + 0x00000010u;
/* 028BFAB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028BFABC */ _t57 = cpu->r[1] + 0x00000018u;
/* 028BFABC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t57);
/* 028BFAC0 */ _t58 = cpu->r[1] + 0x00000014u;
/* 028BFAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028BFAC4 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFAC4 */ _t60 = _t59 & 0x00000001u;
/* 028BFAC4 */ if (_t60) goto L_028BFAC8; // else: addr-0 trap, fall-through
L_028BFAC8: ; // 0x28bfac8
/* 028BFAC8 */ _t61 = cpu->r[1] + 0x0000002Cu;
/* 028BFAC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028BFACC */ cpu->lr = cpu->r[0];
/* 028BFAD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BFAD4 */ return;
}
// fn_028BF944 @ 0x28bf944
void Gambit_fn_028BF944(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
L_028BF944: ; // 0x28bf944
/* 028BF944 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028BF944 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BF944 */ cpu->r[1] = _t0;
/* 028BF948 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028BF948 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BF94C */ /* nop */
/* 028BF950 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028BF950 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BF954 */ cpu->r[12] = 0x10140000u;
/* 028BF958 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028BF958 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028BF95C */ _t4 = cpu->r[1] + 0x00000020u;
/* 028BF95C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028BF960 */ _t5 = cpu->r[12] + 0xFFFF90F0u;
/* 028BF960 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
/* 028BF964 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028BF964 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028BF968 */ _t7 = cpu->r[3] + 0x00000194u;
/* 028BF968 */ cpu->r[12] = rbrew_read16(cpu->mem, _t7);
/* 028BF96C */ _t8 = cpu->r[3] + 0x00000010u;
/* 028BF96C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
/* 028BF970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BF970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BF974 */ cpu->r[31] = cpu->r[3];
/* 028BF978 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF978 */ _t10 = _t9 & 0x00000001u;
/* 028BF978 */ if (_t10) goto L_028BF9C0; else goto L_028BF97C;
L_028BF97C: ; // 0x28bf97c
/* 028BF97C */ Gambit_fn_028BF8B4(cpu);
/* 028BF980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF984 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF984 */ _t12 = _t11 & 0x00000001u;
/* 028BF984 */ if (_t12) goto L_028BF9E8; else goto L_028BF988;
L_028BF988: ; // 0x28bf988
/* 028BF988 */ cpu->r[0] = 0x00000007u;
/* 028BF98C */ cpu->r[3] = cpu->r[31];
/* 028BF990 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BF994 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BF994 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028BF998 */ Gambit_fn_028BDAB0(cpu);
/* 028BF99C */ _t14 = cpu->r[1] + 0x00000020u;
/* 028BF99C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028BF9A0 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028BF9A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028BF9A4 */ _t16 = cpu->r[1] + 0x00000018u;
/* 028BF9A4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
/* 028BF9A8 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028BF9A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028BF9AC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BF9AC */ _t19 = _t18 & 0x00000001u;
/* 028BF9AC */ if (_t19) goto L_028BF9B0; // else: addr-0 trap, fall-through
L_028BF9B0: ; // 0x28bf9b0
/* 028BF9B0 */ _t20 = cpu->r[1] + 0x0000002Cu;
/* 028BF9B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BF9B4 */ cpu->lr = cpu->r[0];
/* 028BF9B8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BF9BC */ return;
L_028BF9C0: ; // 0x28bf9c0
/* 028BF9C0 */ _t21 = cpu->r[31] + 0x00000134u;
/* 028BF9C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028BF9C4 */ Gambit_fn_028BF288(cpu);
/* 028BF9C8 */ _t22 = cpu->r[30] + 0x00000000u;
/* 028BF9C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028BF9CC */ Gambit_fn_028EB874(cpu);
/* 028BF9D0 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028BF9D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
/* 028BF9D4 */ _t24 = cpu->r[31] + 0x00000134u;
/* 028BF9D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
/* 028BF9D8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028BF9DC */ Gambit_fn_028EA3A0(cpu);
/* 028BF9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BF9E4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BF9E4 */ _t26 = _t25 & 0x00000001u;
/* 028BF9E4 */ if (_t26) goto L_028BF9E8; else goto L_028BFA14;
L_028BF9E8: ; // 0x28bf9e8
/* 028BF9E8 */ cpu->r[3] = cpu->r[31];
/* 028BF9EC */ Gambit_fn_028BDB04(cpu);
/* 028BF9F0 */ _t27 = cpu->r[1] + 0x00000020u;
/* 028BF9F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
/* 028BF9F4 */ _t28 = cpu->r[1] + 0x00000014u;
/* 028BF9F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
/* 028BF9F8 */ _t29 = cpu->r[1] + 0x00000018u;
/* 028BF9F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t29);
/* 028BF9FC */ _t30 = cpu->r[1] + 0x00000010u;
/* 028BF9FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028BFA00 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFA00 */ _t32 = _t31 & 0x00000001u;
/* 028BFA00 */ if (_t32) goto L_028BFA04; // else: addr-0 trap, fall-through
L_028BFA04: ; // 0x28bfa04
/* 028BFA04 */ _t33 = cpu->r[1] + 0x0000002Cu;
/* 028BFA04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028BFA08 */ cpu->lr = cpu->r[0];
/* 028BFA0C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BFA10 */ return;
L_028BFA14: ; // 0x28bfa14
/* 028BFA14 */ cpu->r[3] = cpu->r[31];
/* 028BFA18 */ Gambit_fn_028BEE50(cpu);
/* 028BFA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BFA20 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFA20 */ _t35 = _t34 & 0x00000001u;
/* 028BFA20 */ if (_t35) goto L_028BFA2C; else goto L_028BFA24;
L_028BFA24: ; // 0x28bfa24
/* 028BFA24 */ _t36 = cpu->r[31] + 0x00000134u;
/* 028BFA24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
/* 028BFA28 */ Gambit_fn_028EA45C(cpu);
L_028BFA2C: ; // 0x28bfa2c
/* 028BFA2C */ _t37 = cpu->r[31] + 0x00000130u;
/* 028BFA2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
/* 028BFA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BFA34 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFA34 */ _t39 = _t38 & 0x00000001u;
/* 028BFA34 */ if (_t39) goto L_028BFA58; else goto L_028BFA38;
L_028BFA38: ; // 0x28bfa38
/* 028BFA38 */ cpu->r[3] = cpu->r[31];
/* 028BFA3C */ Gambit_fn_028BE10C(cpu);
/* 028BFA40 */ cpu->r[3] = cpu->r[31];
/* 028BFA44 */ Gambit_fn_028BE16C(cpu);
/* 028BFA48 */ _t40 = cpu->r[31] + 0x00000024u;
/* 028BFA48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
/* 028BFA4C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028BFA50 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFA50 */ _t42 = _t41 & 0x00000001u;
/* 028BFA50 */ if (_t42) goto L_028BFA54; else goto L_028BFAA0;
L_028BFA54: ; // 0x28bfa54
/* 028BFA54 */ goto L_028BFA80;
L_028BFA58: ; // 0x28bfa58
/* 028BFA58 */ _t43 = cpu->r[31] + 0x0000000Cu;
/* 028BFA58 */ cpu->r[0] = rbrew_read16(cpu->mem, _t43);
/* 028BFA5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BFA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BFA60 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFA60 */ _t45 = _t44 & 0x00000001u;
/* 028BFA60 */ if (_t45) goto L_028BFA74; else goto L_028BFA64;
L_028BFA64: ; // 0x28bfa64
/* 028BFA64 */ cpu->r[3] = 0x101D0000u;
/* 028BFA68 */ _t46 = cpu->r[3] + 0xFFFF9A7Cu;
/* 028BFA68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
/* 028BFA6C */ cpu->r[4] = cpu->r[31];
/* 028BFA70 */ Gambit_fn_028BC910(cpu);
L_028BFA74: ; // 0x28bfa74
/* 028BFA74 */ _t47 = cpu->r[31] + 0x00000024u;
/* 028BFA74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
/* 028BFA78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028BFA7C */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFA7C */ _t49 = _t48 & 0x00000001u;
/* 028BFA7C */ if (_t49) goto L_028BFA80; else goto L_028BFAA0;
L_028BFA80: ; // 0x28bfa80
/* 028BFA80 */ cpu->f[1] = cpu->f[31];
/* 028BFA84 */ _t50 = cpu->r[31] + 0x00000138u;
/* 028BFA84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
/* 028BFA88 */ Gambit_fn_028CA0C8(cpu);
/* 028BFA8C */ _t51 = cpu->r[31] + 0x00000024u;
/* 028BFA8C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t51);
/* 028BFA90 */ cpu->r[12] = 0x10140000u;
/* 028BFA94 */ _t52 = cpu->r[31] + 0x00000138u;
/* 028BFA94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028BFA98 */ _t53 = cpu->r[12] + 0xFFFF90F8u;
/* 028BFA98 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t53);
/* 028BFA9C */ Gambit_fn_028CA1D8(cpu);
L_028BFAA0: ; // 0x28bfaa0
/* 028BFAA0 */ cpu->r[0] = 0x00000003u;
/* 028BFAA4 */ cpu->r[3] = cpu->r[31];
/* 028BFAA8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BFAAC */ _t54 = cpu->r[1] + 0x00000008u;
/* 028BFAAC */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
/* 028BFAB0 */ Gambit_fn_028BDAB0(cpu);
/* 028BFAB4 */ _t55 = cpu->r[1] + 0x00000020u;
/* 028BFAB4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t55);
/* 028BFAB8 */ _t56 = cpu->r[1] + 0x00000010u;
/* 028BFAB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028BFABC */ _t57 = cpu->r[1] + 0x00000018u;
/* 028BFABC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t57);
/* 028BFAC0 */ _t58 = cpu->r[1] + 0x00000014u;
/* 028BFAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028BFAC4 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFAC4 */ _t60 = _t59 & 0x00000001u;
/* 028BFAC4 */ if (_t60) goto L_028BFAC8; // else: addr-0 trap, fall-through
L_028BFAC8: ; // 0x28bfac8
/* 028BFAC8 */ _t61 = cpu->r[1] + 0x0000002Cu;
/* 028BFAC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028BFACC */ cpu->lr = cpu->r[0];
/* 028BFAD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BFAD4 */ return;
}
// fn_028BFAD8 @ 0x28bfad8
void Gambit_fn_028BFAD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BFAD8: ; // 0x28bfad8
/* 028BFAD8 */ cpu->r[0] = cpu->lr;
/* 028BFADC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BFADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BFADC */ cpu->r[1] = _t0;
/* 028BFAE0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BFAE0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BFAE4 */ /* nop */
/* 028BFAE8 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028BFAE8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028BFAEC */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BFAEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BFAF0 */ cpu->r[12] = 0x10140000u;
/* 028BFAF4 */ _t4 = cpu->r[12] + 0xFFFF90F0u;
/* 028BFAF4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t4);
/* 028BFAF8 */ cpu->r[31] = cpu->r[3];
/* 028BFAFC */ _t5 = cpu->r[1] + 0x00000024u;
/* 028BFAFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BFB00 */ _t6 = cpu->r[31] + 0x00000020u;
/* 028BFB00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
/* 028BFB04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
/* 028BFB08 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFB08 */ _t8 = _t7 & 0x00000001u;
/* 028BFB08 */ if (_t8) goto L_028BFB0C; else goto L_028BFB20;
L_028BFB0C: ; // 0x28bfb0c
/* 028BFB0C */ Gambit_fn_028C29DC(cpu);
/* 028BFB10 */ _t9 = cpu->r[31] + 0x00000020u;
/* 028BFB10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028BFB14 */ _t10 = cpu->r[3] + 0x00000044u;
/* 028BFB14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028BFB18 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028BFB1C */ _t11 = cpu->r[31] + 0x00000020u;
/* 028BFB1C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
L_028BFB20: ; // 0x28bfb20
/* 028BFB20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
/* 028BFB24 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028BFB24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028BFB28 */ /* nop */
/* 028BFB2C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BFB2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028BFB30 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
/* 028BFB34 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028BFB34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
/* 028BFB38 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
/* 028BFB3C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFB3C */ _t16 = _t15 & 0x00000001u;
/* 028BFB3C */ if (_t16) goto L_028BFB40; // else: addr-0 trap, fall-through
L_028BFB40: ; // 0x28bfb40
/* 028BFB40 */ _t17 = cpu->r[1] + 0x00000024u;
/* 028BFB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BFB44 */ cpu->lr = cpu->r[0];
/* 028BFB48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BFB4C */ return;
}
// fn_028BFADC @ 0x28bfadc
void Gambit_fn_028BFADC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028BFADC: ; // 0x28bfadc
/* 028BFADC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BFADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BFADC */ cpu->r[1] = _t0;
/* 028BFAE0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BFAE0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BFAE4 */ /* nop */
/* 028BFAE8 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028BFAE8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028BFAEC */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028BFAEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028BFAF0 */ cpu->r[12] = 0x10140000u;
/* 028BFAF4 */ _t4 = cpu->r[12] + 0xFFFF90F0u;
/* 028BFAF4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t4);
/* 028BFAF8 */ cpu->r[31] = cpu->r[3];
/* 028BFAFC */ _t5 = cpu->r[1] + 0x00000024u;
/* 028BFAFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028BFB00 */ _t6 = cpu->r[31] + 0x00000020u;
/* 028BFB00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
/* 028BFB04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
/* 028BFB08 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFB08 */ _t8 = _t7 & 0x00000001u;
/* 028BFB08 */ if (_t8) goto L_028BFB0C; else goto L_028BFB20;
L_028BFB0C: ; // 0x28bfb0c
/* 028BFB0C */ Gambit_fn_028C29DC(cpu);
/* 028BFB10 */ _t9 = cpu->r[31] + 0x00000020u;
/* 028BFB10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028BFB14 */ _t10 = cpu->r[3] + 0x00000044u;
/* 028BFB14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028BFB18 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028BFB1C */ _t11 = cpu->r[31] + 0x00000020u;
/* 028BFB1C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
L_028BFB20: ; // 0x28bfb20
/* 028BFB20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
/* 028BFB24 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028BFB24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028BFB28 */ /* nop */
/* 028BFB2C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028BFB2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028BFB30 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
/* 028BFB34 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028BFB34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
/* 028BFB38 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
/* 028BFB3C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFB3C */ _t16 = _t15 & 0x00000001u;
/* 028BFB3C */ if (_t16) goto L_028BFB40; // else: addr-0 trap, fall-through
L_028BFB40: ; // 0x28bfb40
/* 028BFB40 */ _t17 = cpu->r[1] + 0x00000024u;
/* 028BFB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028BFB44 */ cpu->lr = cpu->r[0];
/* 028BFB48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BFB4C */ return;
}
// fn_028BFB50 @ 0x28bfb50
void Gambit_fn_028BFB50(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028BFB50: ; // 0x28bfb50
/* 028BFB50 */ cpu->r[0] = cpu->lr;
/* 028BFB54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BFB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BFB54 */ cpu->r[1] = _t0;
/* 028BFB58 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BFB58 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BFB5C */ /* nop */
/* 028BFB60 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BFB60 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BFB64 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028BFB64 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028BFB68 */ cpu->r[31] = cpu->r[3];
/* 028BFB6C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028BFB6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BFB70 */ _t5 = cpu->r[31] + 0x000000C4u;
/* 028BFB70 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
/* 028BFB74 */ Gambit_fn_028C29DC(cpu);
/* 028BFB78 */ _t6 = cpu->r[3] + 0x00000034u;
/* 028BFB78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028BFB7C */ _t7 = cpu->r[31] + 0x00000128u;
/* 028BFB7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BFB80 */ cpu->f[31] = cpu->f[31] * cpu->f[0];
/* 028BFB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BFB88 */ _t8 = cpu->r[31] + 0x00000138u;
/* 028BFB88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028BFB8C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFB8C */ _t10 = _t9 & 0x00000001u;
/* 028BFB8C */ if (_t10) goto L_028BFB98; else goto L_028BFB90;
L_028BFB90: ; // 0x28bfb90
/* 028BFB90 */ _t11 = cpu->r[12] + 0x00000140u;
/* 028BFB90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028BFB94 */ cpu->f[31] = cpu->f[31] * cpu->f[0];
L_028BFB98: ; // 0x28bfb98
/* 028BFB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BFB9C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFB9C */ _t13 = _t12 & 0x00000001u;
/* 028BFB9C */ if (_t13) goto L_028BFBB4; else goto L_028BFBA0;
L_028BFBA0: ; // 0x28bfba0
/* 028BFBA0 */ _t14 = cpu->r[31] + 0x00000028u;
/* 028BFBA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BFBA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BFBA8 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028BFBA8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
/* 028BFBAC */ Gambit_fn_028CA248(cpu);
/* 028BFBB0 */ cpu->f[31] = cpu->f[31] * cpu->f[1];
L_028BFBB4: ; // 0x28bfbb4
/* 028BFBB4 */ _t16 = cpu->r[31] + 0x00000114u;
/* 028BFBB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
/* 028BFBB8 */ _t17 = cpu->r[31] + 0x0000000Cu;
/* 028BFBB8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t17);
/* 028BFBBC */ cpu->f[31] = cpu->f[31] * cpu->f[0];
/* 028BFBC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BFBC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BFBC4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFBC4 */ _t19 = _t18 & 0x00000001u;
/* 028BFBC4 */ if (_t19) goto L_028BFBDC; else goto L_028BFBC8;
L_028BFBC8: ; // 0x28bfbc8
/* 028BFBC8 */ _t20 = cpu->r[31] + 0x000001B8u;
/* 028BFBC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028BFBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BFBD0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFBD0 */ _t22 = _t21 & 0x00000001u;
/* 028BFBD0 */ if (_t22) goto L_028BFBDC; else goto L_028BFBD4;
L_028BFBD4: ; // 0x28bfbd4
/* 028BFBD4 */ _t23 = cpu->r[12] + 0x00000018u;
/* 028BFBD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028BFBD8 */ cpu->f[31] = cpu->f[31] * cpu->f[0];
L_028BFBDC: ; // 0x28bfbdc
/* 028BFBDC */ cpu->f[1] = cpu->f[31];
/* 028BFBE0 */ _t24 = cpu->r[1] + 0x00000018u;
/* 028BFBE0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028BFBE4 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028BFBE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028BFBE8 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028BFBE8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
/* 028BFBEC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFBEC */ _t28 = _t27 & 0x00000001u;
/* 028BFBEC */ if (_t28) goto L_028BFBF0; // else: addr-0 trap, fall-through
L_028BFBF0: ; // 0x28bfbf0
/* 028BFBF0 */ _t29 = cpu->r[1] + 0x00000024u;
/* 028BFBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028BFBF4 */ cpu->lr = cpu->r[0];
/* 028BFBF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BFBFC */ return;
}
// fn_028BFB54 @ 0x28bfb54
void Gambit_fn_028BFB54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028BFB54: ; // 0x28bfb54
/* 028BFB54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028BFB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BFB54 */ cpu->r[1] = _t0;
/* 028BFB58 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028BFB58 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028BFB5C */ /* nop */
/* 028BFB60 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BFB60 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BFB64 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028BFB64 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028BFB68 */ cpu->r[31] = cpu->r[3];
/* 028BFB6C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028BFB6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028BFB70 */ _t5 = cpu->r[31] + 0x000000C4u;
/* 028BFB70 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
/* 028BFB74 */ Gambit_fn_028C29DC(cpu);
/* 028BFB78 */ _t6 = cpu->r[3] + 0x00000034u;
/* 028BFB78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028BFB7C */ _t7 = cpu->r[31] + 0x00000128u;
/* 028BFB7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028BFB80 */ cpu->f[31] = cpu->f[31] * cpu->f[0];
/* 028BFB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BFB88 */ _t8 = cpu->r[31] + 0x00000138u;
/* 028BFB88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028BFB8C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFB8C */ _t10 = _t9 & 0x00000001u;
/* 028BFB8C */ if (_t10) goto L_028BFB98; else goto L_028BFB90;
L_028BFB90: ; // 0x28bfb90
/* 028BFB90 */ _t11 = cpu->r[12] + 0x00000140u;
/* 028BFB90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028BFB94 */ cpu->f[31] = cpu->f[31] * cpu->f[0];
L_028BFB98: ; // 0x28bfb98
/* 028BFB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BFB9C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFB9C */ _t13 = _t12 & 0x00000001u;
/* 028BFB9C */ if (_t13) goto L_028BFBB4; else goto L_028BFBA0;
L_028BFBA0: ; // 0x28bfba0
/* 028BFBA0 */ _t14 = cpu->r[31] + 0x00000028u;
/* 028BFBA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BFBA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BFBA8 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028BFBA8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
/* 028BFBAC */ Gambit_fn_028CA248(cpu);
/* 028BFBB0 */ cpu->f[31] = cpu->f[31] * cpu->f[1];
L_028BFBB4: ; // 0x28bfbb4
/* 028BFBB4 */ _t16 = cpu->r[31] + 0x00000114u;
/* 028BFBB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
/* 028BFBB8 */ _t17 = cpu->r[31] + 0x0000000Cu;
/* 028BFBB8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t17);
/* 028BFBBC */ cpu->f[31] = cpu->f[31] * cpu->f[0];
/* 028BFBC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028BFBC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BFBC4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFBC4 */ _t19 = _t18 & 0x00000001u;
/* 028BFBC4 */ if (_t19) goto L_028BFBDC; else goto L_028BFBC8;
L_028BFBC8: ; // 0x28bfbc8
/* 028BFBC8 */ _t20 = cpu->r[31] + 0x000001B8u;
/* 028BFBC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028BFBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028BFBD0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFBD0 */ _t22 = _t21 & 0x00000001u;
/* 028BFBD0 */ if (_t22) goto L_028BFBDC; else goto L_028BFBD4;
L_028BFBD4: ; // 0x28bfbd4
/* 028BFBD4 */ _t23 = cpu->r[12] + 0x00000018u;
/* 028BFBD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028BFBD8 */ cpu->f[31] = cpu->f[31] * cpu->f[0];
L_028BFBDC: ; // 0x28bfbdc
/* 028BFBDC */ cpu->f[1] = cpu->f[31];
/* 028BFBE0 */ _t24 = cpu->r[1] + 0x00000018u;
/* 028BFBE0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028BFBE4 */ _t25 = cpu->r[1] + 0x0000000Cu;
/* 028BFBE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028BFBE8 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028BFBE8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
/* 028BFBEC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFBEC */ _t28 = _t27 & 0x00000001u;
/* 028BFBEC */ if (_t28) goto L_028BFBF0; // else: addr-0 trap, fall-through
L_028BFBF0: ; // 0x28bfbf0
/* 028BFBF0 */ _t29 = cpu->r[1] + 0x00000024u;
/* 028BFBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028BFBF4 */ cpu->lr = cpu->r[0];
/* 028BFBF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028BFBFC */ return;
}
// fn_028BFC00 @ 0x28bfc00
void Gambit_fn_028BFC00(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028BFC00: ; // 0x28bfc00
/* 028BFC00 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028BFC00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BFC00 */ cpu->r[1] = _t0;
/* 028BFC04 */ cpu->r[0] = cpu->lr;
/* 028BFC08 */ /* nop */
/* 028BFC0C */ cpu->r[26] = cpu->r[3];
/* 028BFC10 */ cpu->r[31] = cpu->r[4];
/* 028BFC14 */ cpu->r[30] = cpu->r[5];
/* 028BFC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BFC18 */ cpu->r[27] = 0x00000000u;
/* 028BFC1C */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028BFC1C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028BFC20 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFC20 */ _t3 = _t2 & 0x00000001u;
/* 028BFC20 */ if (_t3) goto L_028BFC24; else goto L_028BFC84;
L_028BFC24: ; // 0x28bfc24
/* 028BFC24 */ cpu->r[29] = 0x00000001u;
/* 028BFC28 */ cpu->r[28] = 0x00000000u;
L_028BFC2C: ; // 0x28bfc2c
/* 028BFC2C */ _t4 = cpu->r[26] + 0x00000130u;
/* 028BFC2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028BFC30 */ _t5 = cpu->r[3] + 0x00000004u;
/* 028BFC30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028BFC34 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028BFC34 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
/* 028BFC38 */ _t7 = cpu->r[12] + 0x00000024u;
/* 028BFC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BFC3C */ cpu->ctr = cpu->r[0];
/* 028BFC40 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BFC44 */ cpu->r[6] = cpu->r[27];
/* 028BFC48 */ cpu->r[4] = cpu->r[31];
/* 028BFC4C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BFC50 */ _t8 = cpu->r[26] + 0x00000130u;
/* 028BFC50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028BFC54 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028BFC54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028BFC58 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028BFC58 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
/* 028BFC5C */ _t11 = cpu->r[10] + 0x00000024u;
/* 028BFC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028BFC60 */ cpu->ctr = cpu->r[0];
/* 028BFC64 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028BFC68 */ cpu->r[6] = cpu->r[27];
/* 028BFC6C */ cpu->r[4] = cpu->r[31] + 0x00000018u;
/* 028BFC70 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028BFC74 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028BFC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028BFC78 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028BFC7C */ cpu->r[31] = cpu->r[31] + 0x00000090u;
/* 028BFC80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFC80 */ _t13 = _t12 & 0x00000001u;
/* 028BFC80 */ if (_t13) goto L_028BFC84; else goto L_028BFC2C;
L_028BFC84: ; // 0x28bfc84
/* 028BFC84 */ /* nop */
/* 028BFC88 */ _t14 = cpu->r[1] + 0x0000002Cu;
/* 028BFC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BFC8C */ cpu->lr = cpu->r[0];
/* 028BFC90 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028BFC94 */ return;
}
// fn_028BFC98 @ 0x28bfc98
void Gambit_fn_028BFC98(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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;
L_028BFC98: ; // 0x28bfc98
/* 028BFC98 */ _t0 = cpu->r[1] + 0xFFFFFE88u;
/* 028BFC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BFC98 */ cpu->r[1] = _t0;
/* 028BFC9C */ _t1 = cpu->r[1] + 0x00000078u;
/* 028BFC9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[16]);
/* 028BFCA0 */ _t2 = cpu->r[1] + 0x00000088u;
/* 028BFCA0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[17]);
/* 028BFCA4 */ _t3 = cpu->r[1] + 0x00000098u;
/* 028BFCA4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[18]);
/* 028BFCA8 */ /* nop */
/* 028BFCAC */ _t4 = cpu->r[1] + 0x000000A8u;
/* 028BFCAC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[19]);
/* 028BFCB0 */ /* nop */
/* 028BFCB4 */ _t5 = cpu->r[1] + 0x000000B8u;
/* 028BFCB4 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[20]);
/* 028BFCB8 */ /* nop */
/* 028BFCBC */ _t6 = cpu->r[1] + 0x000000C8u;
/* 028BFCBC */ rbrew_write_f64(cpu->mem, _t6, cpu->f[21]);
/* 028BFCC0 */ /* nop */
/* 028BFCC4 */ _t7 = cpu->r[1] + 0x000000D8u;
/* 028BFCC4 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[22]);
/* 028BFCC8 */ /* nop */
/* 028BFCCC */ _t8 = cpu->r[1] + 0x000000E8u;
/* 028BFCCC */ rbrew_write_f64(cpu->mem, _t8, cpu->f[23]);
/* 028BFCD0 */ /* nop */
/* 028BFCD4 */ _t9 = cpu->r[1] + 0x000000F8u;
/* 028BFCD4 */ rbrew_write_f64(cpu->mem, _t9, cpu->f[24]);
/* 028BFCD8 */ /* nop */
/* 028BFCDC */ _t10 = cpu->r[1] + 0x00000108u;
/* 028BFCDC */ rbrew_write_f64(cpu->mem, _t10, cpu->f[25]);
/* 028BFCE0 */ /* nop */
/* 028BFCE4 */ _t11 = cpu->r[1] + 0x00000080u;
/* 028BFCE4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[16]);
/* 028BFCE8 */ _t12 = cpu->r[1] + 0x00000090u;
/* 028BFCE8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[17]);
/* 028BFCEC */ _t13 = cpu->r[1] + 0x000000A0u;
/* 028BFCEC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[18]);
/* 028BFCF0 */ /* nop */
/* 028BFCF4 */ _t14 = cpu->r[1] + 0x000000B0u;
/* 028BFCF4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[19]);
/* 028BFCF8 */ _t15 = cpu->r[1] + 0x000000C0u;
/* 028BFCF8 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[20]);
/* 028BFCFC */ _t16 = cpu->r[1] + 0x000000D0u;
/* 028BFCFC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[21]);
/* 028BFD00 */ /* nop */
/* 028BFD04 */ _t17 = cpu->r[1] + 0x000000E0u;
/* 028BFD04 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[22]);
/* 028BFD08 */ _t18 = cpu->r[1] + 0x000000F0u;
/* 028BFD08 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[23]);
/* 028BFD0C */ _t19 = cpu->r[1] + 0x00000100u;
/* 028BFD0C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[24]);
/* 028BFD10 */ cpu->r[0] = cpu->lr;
/* 028BFD14 */ _t20 = cpu->r[1] + 0x00000110u;
/* 028BFD14 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[25]);
/* 028BFD18 */ _t21 = cpu->r[1] + 0x00000118u;
/* 028BFD18 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[26]);
/* 028BFD1C */ /* nop */
/* 028BFD20 */ _t22 = cpu->r[1] + 0x00000120u;
/* 028BFD20 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[26]);
/* 028BFD24 */ _t23 = cpu->r[1] + 0x00000128u;
/* 028BFD24 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[27]);
/* 028BFD28 */ /* nop */
/* 028BFD2C */ _t24 = cpu->r[1] + 0x00000130u;
/* 028BFD2C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[27]);
/* 028BFD30 */ _t25 = cpu->r[1] + 0x00000138u;
/* 028BFD30 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[28]);
/* 028BFD34 */ /* nop */
/* 028BFD38 */ _t26 = cpu->r[1] + 0x00000140u;
/* 028BFD38 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[28]);
/* 028BFD3C */ _t27 = cpu->r[1] + 0x00000148u;
/* 028BFD3C */ rbrew_write_f64(cpu->mem, _t27, cpu->f[29]);
/* 028BFD40 */ /* nop */
/* 028BFD44 */ _t28 = cpu->r[1] + 0x00000150u;
/* 028BFD44 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[29]);
/* 028BFD48 */ _t29 = cpu->r[1] + 0x00000158u;
/* 028BFD48 */ rbrew_write_f64(cpu->mem, _t29, cpu->f[30]);
/* 028BFD4C */ /* nop */
/* 028BFD50 */ /* nop */
/* 028BFD54 */ _t30 = cpu->r[1] + 0x00000168u;
/* 028BFD54 */ rbrew_write_f64(cpu->mem, _t30, cpu->f[31]);
/* 028BFD58 */ /* nop */
/* 028BFD5C */ _t31 = cpu->r[1] + 0x00000160u;
/* 028BFD5C */ rbrew_write_f32(cpu->mem, _t31, cpu->f[30]);
/* 028BFD60 */ _t32 = cpu->r[1] + 0x00000170u;
/* 028BFD60 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
/* 028BFD64 */ _t33 = cpu->r[1] + 0x0000017Cu;
/* 028BFD64 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
/* 028BFD68 */ cpu->r[30] = cpu->r[3];
/* 028BFD6C */ _t34 = cpu->r[30] + 0x000001A0u;
/* 028BFD6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
/* 028BFD70 */ cpu->r[31] = cpu->r[5];
/* 028BFD74 */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028BFD74 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]);
/* 028BFD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BFD7C */ _t36 = cpu->r[1] + 0x00000008u;
/* 028BFD7C */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
/* 028BFD80 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFD80 */ _t38 = _t37 & 0x00000001u;
/* 028BFD80 */ if (_t38) goto L_028C01F4; else goto L_028BFD84;
L_028BFD84: ; // 0x28bfd84
/* 028BFD84 */ _t39 = cpu->r[3] + 0x00000014u;
/* 028BFD84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028BFD88 */ cpu->r[18] = 0x00000000u;
/* 028BFD8C */ cpu->r[28] = 0x00000001u;
/* 028BFD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[12]);
/* 028BFD94 */ _t40 = cpu->r[30] + 0x000000F4u;
/* 028BFD94 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t40);
/* 028BFD98 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFD98 */ _t42 = _t41 & 0x00000001u;
/* 028BFD98 */ if (_t42) goto L_028BFD9C; else goto L_028C01F4;
L_028BFD9C: ; // 0x28bfd9c
/* 028BFD9C */ cpu->r[11] = 0x10140000u;
/* 028BFDA0 */ cpu->r[9] = 0x10140000u;
/* 028BFDA4 */ _t43 = cpu->r[11] + 0xFFFF90F8u;
/* 028BFDA4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t43);
/* 028BFDA8 */ cpu->r[8] = 0x10140000u;
/* 028BFDAC */ _t44 = cpu->r[9] + 0xFFFF9110u;
/* 028BFDAC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t44);
/* 028BFDB0 */ cpu->r[7] = 0x10140000u;
/* 028BFDB4 */ _t45 = cpu->r[8] + 0xFFFF90F0u;
/* 028BFDB4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t45);
/* 028BFDB8 */ cpu->r[0] = cpu->r[1] + 0x00000028u;
/* 028BFDBC */ _t46 = cpu->r[7] + 0xFFFF910Cu;
/* 028BFDBC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t46);
/* 028BFDC0 */ _t47 = cpu->r[1] + 0x00000010u;
/* 028BFDC0 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
L_028BFDC4: ; // 0x28bfdc4
/* 028BFDC4 */ cpu->r[4] = cpu->r[18];
/* 028BFDC8 */ Gambit_fn_028E0D28(cpu);
/* 028BFDCC */ cpu->r[29] = cpu->r[3];
/* 028BFDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028BFDD0 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFDD0 */ _t49 = _t48 & 0x00000001u;
/* 028BFDD0 */ if (_t49) goto L_028C01E0; else goto L_028BFDD4;
L_028BFDD4: ; // 0x28bfdd4
/* 028BFDD4 */ Gambit_fn_028C2A24(cpu);
/* 028BFDD8 */ cpu->r[4] = cpu->r[29];
/* 028BFDDC */ Gambit_fn_028D7234(cpu);
/* 028BFDE0 */ cpu->r[17] = cpu->r[3];
/* 028BFDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028BFDE4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFDE4 */ _t51 = _t50 & 0x00000001u;
/* 028BFDE4 */ if (_t51) goto L_028C01E0; else goto L_028BFDE8;
L_028BFDE8: ; // 0x28bfde8
/* 028BFDE8 */ _t52 = cpu->r[30] + 0x000001A0u;
/* 028BFDE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028BFDEC */ cpu->r[4] = cpu->r[18];
/* 028BFDF0 */ Gambit_fn_028E0E10(cpu);
/* 028BFDF4 */ _t53 = cpu->r[30] + 0x00000108u;
/* 028BFDF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t53);
/* 028BFDF8 */ _t54 = cpu->r[30] + 0x000001A0u;
/* 028BFDF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
/* 028BFDFC */ cpu->f[11] = cpu->f[10] - cpu->f[1];
/* 028BFE00 */ cpu->r[4] = cpu->r[18];
/* 028BFE04 */ /* nop */
/* 028BFE08 */ Gambit_fn_028E0DD8(cpu);
/* 028BFE0C */ _t55 = cpu->r[30] + 0x00000104u;
/* 028BFE0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
/* 028BFE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028BFE14 */ cpu->r[0] = 0x00000000u;
/* 028BFE18 */ _t56 = cpu->r[17] + 0x0000003Cu;
/* 028BFE18 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t56);
/* 028BFE1C */ cpu->r[21] = cpu->r[3] + cpu->r[10];
/* 028BFE20 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFE20 */ _t58 = _t57 & 0x00000001u;
/* 028BFE20 */ if (_t58) goto L_028BFE54; else goto L_028BFE24;
L_028BFE24: ; // 0x28bfe24
/* 028BFE24 */ _t59 = cpu->r[1] + 0x00000028u;
/* 028BFE24 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
/* 028BFE28 */ cpu->f[24] = cpu->f[30];
/* 028BFE2C */ cpu->r[14] = 0x00000006u;
/* 028BFE30 */ cpu->r[20] = 0x00000000u;
/* 028BFE34 */ cpu->f[25] = cpu->f[29];
/* 028BFE38 */ cpu->r[25] = cpu->r[1] + 0x00000014u;
/* 028BFE3C */ cpu->r[22] = cpu->r[20];
/* 028BFE40 */ cpu->f[27] = cpu->f[28];
/* 028BFE44 */ cpu->r[26] = cpu->r[1] + 0x00000028u;
/* 028BFE48 */ cpu->r[27] = cpu->r[20];
/* 028BFE4C */ cpu->f[22] = cpu->f[31];
/* 028BFE50 */ goto L_028BFE8C;
L_028BFE54: ; // 0x28bfe54
/* 028BFE54 */ cpu->r[0] = 0x00000001u;
/* 028BFE58 */ _t60 = cpu->r[1] + 0x00000010u;
/* 028BFE58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
/* 028BFE5C */ cpu->f[24] = cpu->f[30];
/* 028BFE60 */ cpu->r[14] = 0x00000006u;
/* 028BFE64 */ _t61 = cpu->r[1] + 0x00000028u;
/* 028BFE64 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
/* 028BFE68 */ cpu->f[25] = cpu->f[29];
/* 028BFE6C */ _t62 = cpu->r[6] + 0x00000000u;
/* 028BFE6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
/* 028BFE70 */ cpu->r[20] = 0x00000000u;
/* 028BFE74 */ cpu->r[25] = cpu->r[1] + 0x00000014u;
/* 028BFE78 */ cpu->f[27] = cpu->f[28];
/* 028BFE7C */ cpu->r[22] = cpu->r[20];
/* 028BFE80 */ cpu->r[26] = cpu->r[1] + 0x00000028u;
/* 028BFE84 */ cpu->f[22] = cpu->f[31];
/* 028BFE88 */ cpu->r[27] = cpu->r[20];
L_028BFE8C: ; // 0x28bfe8c
/* 028BFE8C */ Gambit_fn_028C29DC(cpu);
/* 028BFE90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], 0x00000006u);
/* 028BFE94 */ cpu->r[8] = cpu->r[20];
/* 028BFE98 */ cpu->r[5] = cpu->r[3] + 0x0000001Cu;
/* 028BFE9C */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFE9C */ _t64 = _t63 & 0x00000001u;
/* 028BFE9C */ if (_t64) goto L_028BFEA0; else goto L_028BFEA8;
L_028BFEA0: ; // 0x28bfea0
/* 028BFEA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BFEA4 */ cpu->r[5] = cpu->r[5] + cpu->r[0];
L_028BFEA8: ; // 0x28bfea8
/* 028BFEA8 */ _t65 = cpu->r[5] + 0x00000000u;
/* 028BFEA8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t65);
/* 028BFEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028BFEB0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFEB0 */ _t67 = _t66 & 0x00000001u;
/* 028BFEB0 */ if (_t67) goto L_028C01C8; else goto L_028BFEB4;
L_028BFEB4: ; // 0x28bfeb4
/* 028BFEB4 */ _t68 = cpu->r[28] + 0x00000004u;
/* 028BFEB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
/* 028BFEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BFEBC */ cpu->f[23] = cpu->f[22];
/* 028BFEC0 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BFEC0 */ _t70 = _t69 & 0x00000001u;
/* 028BFEC0 */ if (_t70) goto L_028BFF18; else goto L_028BFEC4;
L_028BFEC4: ; // 0x28bfec4
/* 028BFEC4 */ Gambit_fn_028D836C(cpu);
/* 028BFEC8 */ cpu->f[26] = cpu->f[1];
/* 028BFECC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[26], cpu->f[22]);
/* 028BFED0 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFED0 */ _t72 = _t71 & 0x00000001u;
/* 028BFED0 */ if (_t72) goto L_028BFED4; else goto L_028BFF18;
L_028BFED4: ; // 0x28bfed4
/* 028BFED4 */ _t73 = cpu->r[30] + 0x000001A0u;
/* 028BFED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
/* 028BFED8 */ cpu->r[4] = cpu->r[18];
/* 028BFEDC */ Gambit_fn_028E0D9C(cpu);
/* 028BFEE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[22]);
/* 028BFEE4 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFEE4 */ _t75 = _t74 & 0x00000001u;
/* 028BFEE4 */ if (_t75) goto L_028BFEE8; else goto L_028BFF08;
L_028BFEE8: ; // 0x28bfee8
/* 028BFEE8 */ cpu->r[10] = cpu->r[17] + cpu->r[27];
/* 028BFEEC */ cpu->r[9] = cpu->r[30] + cpu->r[27];
/* 028BFEF0 */ _t76 = cpu->r[10] + 0x00000040u;
/* 028BFEF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
/* 028BFEF4 */ _t77 = cpu->r[9] + 0x000000C8u;
/* 028BFEF4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t77);
/* 028BFEF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[22]);
/* 028BFEFC */ cpu->f[23] = cpu->f[24];
/* 028BFF00 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFF00 */ _t79 = _t78 & 0x00000001u;
/* 028BFF00 */ if (_t79) goto L_028BFF04; else goto L_028BFF30;
L_028BFF04: ; // 0x28bff04
/* 028BFF04 */ goto L_028BFFC4;
L_028BFF08: ; // 0x28bff08
/* 028BFF08 */ _t80 = cpu->r[30] + 0x000001A0u;
/* 028BFF08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
/* 028BFF0C */ cpu->r[4] = cpu->r[18];
/* 028BFF10 */ Gambit_fn_028E0D9C(cpu);
/* 028BFF14 */ cpu->f[23] = cpu->f[1] / cpu->f[26];
L_028BFF18: ; // 0x28bff18
/* 028BFF18 */ cpu->r[10] = cpu->r[17] + cpu->r[27];
/* 028BFF1C */ _t81 = cpu->r[10] + 0x00000040u;
/* 028BFF1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t81);
/* 028BFF20 */ cpu->r[9] = cpu->r[30] + cpu->r[27];
/* 028BFF24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[22]);
/* 028BFF28 */ _t82 = cpu->r[9] + 0x000000C8u;
/* 028BFF28 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t82);
/* 028BFF2C */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFF2C */ _t84 = _t83 & 0x00000001u;
/* 028BFF2C */ if (_t84) goto L_028BFFC4; else goto L_028BFF30;
L_028BFF30: ; // 0x28bff30
/* 028BFF30 */ cpu->r[5] = cpu->r[17] + 0x00000040u;
/* 028BFF34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[26], cpu->f[22]);
/* 028BFF38 */ _t85 = cpu->r[5] + cpu->r[27];
/* 028BFF38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
/* 028BFF3C */ _t86 = cpu->r[17] + 0x0000003Cu;
/* 028BFF3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t86);
/* 028BFF40 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFF40 */ _t88 = _t87 & 0x00000001u;
/* 028BFF40 */ if (_t88) goto L_028BFF44; else goto L_028BFFA8;
L_028BFF44: ; // 0x28bff44
/* 028BFF44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[22]);
/* 028BFF48 */ cpu->f[26] = cpu->f[0];
/* 028BFF4C */ cpu->r[6] = cpu->r[20];
/* 028BFF50 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFF50 */ _t90 = _t89 & 0x00000001u;
/* 028BFF50 */ if (_t90) goto L_028BFF54; else goto L_028BFF78;
L_028BFF54: ; // 0x28bff54
/* 028BFF54 */ /* nop */
/* 028BFF58 */ _t91 = cpu->r[30] + 0x000001A0u;
/* 028BFF58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
/* 028BFF5C */ cpu->r[4] = cpu->r[18];
/* 028BFF60 */ cpu->f[26] = cpu->f[7] * cpu->f[17];
/* 028BFF64 */ Gambit_fn_028E0D60(cpu);
/* 028BFF68 */ cpu->f[26] = cpu->f[26] * cpu->f[1];
/* 028BFF6C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[26], cpu->f[22]);
/* 028BFF70 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFF70 */ _t93 = _t92 & 0x00000001u;
/* 028BFF70 */ if (_t93) goto L_028BFF74; else goto L_028C01C8;
L_028BFF74: ; // 0x28bff74
/* 028BFF74 */ goto L_028BFFE4;
L_028BFF78: ; // 0x28bff78
/* 028BFF78 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BFF7C */ _t94 = cpu->r[12] + cpu->r[5];
/* 028BFF7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t94);
/* 028BFF80 */ cpu->f[26] = cpu->f[8] * cpu->f[26];
/* 028BFF84 */ /* nop */
/* 028BFF88 */ _t95 = cpu->r[30] + 0x000001A0u;
/* 028BFF88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t95);
/* 028BFF8C */ cpu->r[4] = cpu->r[18];
/* 028BFF90 */ cpu->f[26] = cpu->f[7] * cpu->f[17];
/* 028BFF94 */ Gambit_fn_028E0D60(cpu);
/* 028BFF98 */ cpu->f[26] = cpu->f[26] * cpu->f[1];
/* 028BFF9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[26], cpu->f[22]);
/* 028BFFA0 */ _t96 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFFA0 */ _t97 = _t96 & 0x00000001u;
/* 028BFFA0 */ if (_t97) goto L_028BFFA4; else goto L_028C01C8;
L_028BFFA4: ; // 0x28bffa4
/* 028BFFA4 */ goto L_028BFFE4;
L_028BFFA8: ; // 0x28bffa8
/* 028BFFA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[22]);
/* 028BFFAC */ cpu->r[7] = cpu->r[20];
/* 028BFFB0 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BFFB0 */ _t99 = _t98 & 0x00000001u;
/* 028BFFB0 */ if (_t99) goto L_028BFFC0; else goto L_028BFFB4;
L_028BFFB4: ; // 0x28bffb4
/* 028BFFB4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028BFFB8 */ _t100 = cpu->r[4] + cpu->r[5];
/* 028BFFB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t100);
/* 028BFFBC */ cpu->f[0] = cpu->f[11] * cpu->f[0];
L_028BFFC0: ; // 0x28bffc0
/* 028BFFC0 */ cpu->f[26] = cpu->f[26] * cpu->f[0];
L_028BFFC4: ; // 0x28bffc4
/* 028BFFC4 */ /* nop */
/* 028BFFC8 */ _t101 = cpu->r[30] + 0x000001A0u;
/* 028BFFC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
/* 028BFFCC */ cpu->r[4] = cpu->r[18];
/* 028BFFD0 */ cpu->f[26] = cpu->f[7] * cpu->f[17];
/* 028BFFD4 */ Gambit_fn_028E0D60(cpu);
/* 028BFFD8 */ cpu->f[26] = cpu->f[26] * cpu->f[1];
/* 028BFFDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[26], cpu->f[22]);
/* 028BFFE0 */ _t102 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFFE0 */ _t103 = _t102 & 0x00000001u;
/* 028BFFE0 */ if (_t103) goto L_028BFFE4; else goto L_028C01C8;
L_028BFFE4: ; // 0x28bffe4
/* 028BFFE4 */ _t104 = cpu->r[1] + 0x00000008u;
/* 028BFFE4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t104);
/* 028BFFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
/* 028BFFEC */ cpu->r[29] = 0x00000000u;
/* 028BFFF0 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BFFF0 */ _t106 = _t105 & 0x00000001u;
/* 028BFFF0 */ if (_t106) goto L_028BFFF4; else goto L_028C01C8;
L_028BFFF4: ; // 0x28bfff4
/* 028BFFF4 */ cpu->f[19] = cpu->f[25];
/* 028BFFF8 */ _t107 = cpu->r[1] + 0x0000000Cu;
/* 028BFFF8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t107);
/* 028BFFFC */ cpu->f[21] = cpu->f[24];
/* 028C0000 */ cpu->f[18] = cpu->f[27];
/* 028C0004 */ cpu->r[24] = 0x80000000u;
L_028C0008: ; // 0x28c0008
/* 028C0008 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028C000C */ cpu->r[6] = cpu->r[29];
/* 028C0010 */ cpu->r[5] = cpu->r[31];
/* 028C0014 */ cpu->r[3] = cpu->r[30];
/* 028C0018 */ Gambit_fn_028BF064(cpu);
/* 028C001C */ _t108 = cpu->r[25] + 0x00000000u;
/* 028C001C */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
/* 028C0020 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
/* 028C0024 */ cpu->r[3] = cpu->r[28];
/* 028C0028 */ _t109 = cpu->r[1] + 0x00000020u;
/* 028C0028 */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
/* 028C002C */ Gambit_fn_028D8A5C(cpu);
/* 028C0030 */ cpu->r[16] = cpu->r[3];
/* 028C0034 */ Gambit_fn_028C2A0C(cpu);
/* 028C0038 */ cpu->r[15] = cpu->r[3];
/* 028C003C */ Gambit_fn_028C29DC(cpu);
/* 028C0040 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], 0x00000006u);
/* 028C0044 */ cpu->r[0] = cpu->r[20];
/* 028C0048 */ cpu->r[4] = cpu->r[3] + 0x00000004u;
/* 028C004C */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C004C */ _t111 = _t110 & 0x00000001u;
/* 028C004C */ if (_t111) goto L_028C0050; else goto L_028C0058;
L_028C0050: ; // 0x28c0050
/* 028C0050 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C0054 */ cpu->r[4] = cpu->r[4] + cpu->r[6];
L_028C0058: ; // 0x28c0058
/* 028C0058 */ _t112 = cpu->r[4] + 0x00000000u;
/* 028C0058 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
/* 028C005C */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C0060 */ cpu->r[8] = cpu->r[15] + cpu->r[7];
/* 028C0064 */ _t113 = cpu->r[8] + 0x000000FCu;
/* 028C0064 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t113);
/* 028C0068 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[21]);
/* 028C006C */ _t114 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C006C */ _t115 = _t114 & 0x00000001u;
/* 028C006C */ if (_t115) goto L_028C0070; else goto L_028C0150;
L_028C0070: ; // 0x28c0070
/* 028C0070 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[24]);
/* 028C0074 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0074 */ _t117 = _t116 & 0x00000001u;
/* 028C0074 */ if (_t117) goto L_028C00F8; else goto L_028C0078;
L_028C0078: ; // 0x28c0078
/* 028C0078 */ cpu->r[6] = 0x10140000u;
/* 028C007C */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[16]);
/* 028C0080 */ _t118 = cpu->r[6] + 0xFFFF9100u;
/* 028C0080 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t118);
/* 028C0084 */ cpu->r[10] = 0x43300000u;
/* 028C0088 */ _t119 = cpu->r[1] + 0x0000001Cu;
/* 028C0088 */ rbrew_write32(cpu->mem, _t119, cpu->r[9]);
/* 028C008C */ _t120 = cpu->r[1] + 0x00000018u;
/* 028C008C */ rbrew_write32(cpu->mem, _t120, cpu->r[10]);
/* 028C0090 */ _t121 = cpu->r[1] + 0x00000018u;
/* 028C0090 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t121);
/* 028C0094 */ cpu->f[7] = cpu->f[6] - cpu->f[0];
/* 028C0098 */ cpu->f[12] = (double)(float)cpu->f[7];
/* 028C009C */ cpu->f[0] = cpu->f[12] * cpu->f[8];
/* 028C00A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[18]);
/* 028C00A4 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C00A4 */ _t123 = _t122 & 0x00000001u;
/* 028C00A4 */ if (_t123) goto L_028C00A8; else goto L_028C00CC;
L_028C00A8: ; // 0x28c00a8
/* 028C00A8 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[0];
/* 028C00AC */ cpu->r[5] = cpu->r[1] + 0x00000018u;
/* 028C00B0 */ /* nop */
/* 028C00B4 */ _t124 = cpu->r[1] + 0x00000014u;
/* 028C00B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t124);
/* 028C00B8 */ _t125 = cpu->r[1] + 0x00000018u;
/* 028C00B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
/* 028C00BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000005u);
/* 028C00C0 */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[0]);
/* 028C00C4 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C00C4 */ _t127 = _t126 & 0x00000001u;
/* 028C00C4 */ if (_t127) goto L_028C00C8; else goto L_028C0164;
L_028C00C8: ; // 0x28c00c8
/* 028C00C8 */ goto L_028C0160;
L_028C00CC: ; // 0x28c00cc
/* 028C00CC */ cpu->f[11] = cpu->f[0] - cpu->f[18];
/* 028C00D0 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[11];
/* 028C00D4 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
/* 028C00D8 */ /* nop */
/* 028C00DC */ _t128 = cpu->r[1] + 0x00000018u;
/* 028C00DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
/* 028C00E0 */ _t129 = cpu->r[1] + 0x00000014u;
/* 028C00E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t129);
/* 028C00E4 */ cpu->r[0] = cpu->r[11] + 0x80000000u;
/* 028C00E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000005u);
/* 028C00EC */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[0]);
/* 028C00F0 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C00F0 */ _t131 = _t130 & 0x00000001u;
/* 028C00F0 */ if (_t131) goto L_028C00F4; else goto L_028C0164;
L_028C00F4: ; // 0x28c00f4
/* 028C00F4 */ goto L_028C0160;
L_028C00F8: ; // 0x28c00f8
/* 028C00F8 */ cpu->r[10] = 0x10140000u;
/* 028C00FC */ _t132 = cpu->r[1] + 0x0000001Cu;
/* 028C00FC */ rbrew_write32(cpu->mem, _t132, cpu->r[16]);
/* 028C0100 */ cpu->r[12] = 0x43300000u;
/* 028C0104 */ _t133 = cpu->r[10] + 0xFFFF9100u;
/* 028C0104 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t133);
/* 028C0108 */ _t134 = cpu->r[1] + 0x00000018u;
/* 028C0108 */ rbrew_write32(cpu->mem, _t134, cpu->r[12]);
/* 028C010C */ _t135 = cpu->r[1] + 0x00000018u;
/* 028C010C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t135);
/* 028C0110 */ cpu->f[12] = cpu->f[10] - cpu->f[13];
/* 028C0114 */ cpu->f[6] = (double)(float)cpu->f[12];
/* 028C0118 */ cpu->f[9] = cpu->f[6] * cpu->f[8];
/* 028C011C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[18]);
/* 028C0120 */ _t136 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0120 */ _t137 = _t136 & 0x00000001u;
/* 028C0120 */ if (_t137) goto L_028C0124; else goto L_028C0138;
L_028C0124: ; // 0x28c0124
/* 028C0124 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[9];
/* 028C0128 */ cpu->r[8] = cpu->r[1] + 0x00000018u;
/* 028C012C */ /* nop */
/* 028C0130 */ _t138 = cpu->r[1] + 0x00000018u;
/* 028C0130 */ cpu->r[16] = rbrew_read32(cpu->mem, _t138);
/* 028C0134 */ goto L_028C0150;
L_028C0138: ; // 0x28c0138
/* 028C0138 */ cpu->f[0] = cpu->f[9] - cpu->f[18];
/* 028C013C */ cpu->f[6] = (uint32_t)(int32_t)cpu->f[0];
/* 028C0140 */ cpu->r[7] = cpu->r[1] + 0x00000018u;
/* 028C0144 */ /* nop */
/* 028C0148 */ _t139 = cpu->r[1] + 0x00000018u;
/* 028C0148 */ cpu->r[9] = rbrew_read32(cpu->mem, _t139);
/* 028C014C */ cpu->r[16] = cpu->r[9] + 0x80000000u;
L_028C0150: ; // 0x28c0150
/* 028C0150 */ _t140 = cpu->r[1] + 0x00000014u;
/* 028C0150 */ cpu->r[4] = rbrew_read32(cpu->mem, _t140);
/* 028C0154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000005u);
/* 028C0158 */ cpu->r[9] = cpu->r[16];
/* 028C015C */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C015C */ _t142 = _t141 & 0x00000001u;
/* 028C015C */ if (_t142) goto L_028C0160; else goto L_028C0164;
L_028C0160: ; // 0x28c0160
/* 028C0160 */ cpu->f[20] = cpu->f[19];
L_028C0164: ; // 0x28c0164
/* 028C0164 */ cpu->r[3] = cpu->r[30];
/* 028C0168 */ cpu->r[4] = cpu->r[31];
/* 028C016C */ cpu->r[5] = cpu->r[29];
/* 028C0170 */ Gambit_fn_028BF1C8(cpu);
/* 028C0174 */ cpu->f[7] = cpu->f[26] * cpu->f[1];
/* 028C0178 */ _t143 = cpu->r[28] + 0x00000010u;
/* 028C0178 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t143);
/* 028C017C */ cpu->r[4] = cpu->r[21] + cpu->r[9];
/* 028C0180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], 0x00000006u);
/* 028C0184 */ cpu->r[3] = cpu->r[23];
/* 028C0188 */ _t144 = cpu->r[26] + 0x00000000u;
/* 028C0188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
/* 028C018C */ cpu->f[1] = cpu->f[7] * cpu->f[9];
/* 028C0190 */ _t145 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0190 */ _t146 = _t145 & 0x00000001u;
/* 028C0190 */ if (_t146) goto L_028C0194; else goto L_028C0198;
L_028C0194: ; // 0x28c0194
/* 028C0194 */ cpu->r[3] = cpu->r[3] + cpu->r[22];
L_028C0198: ; // 0x28c0198
/* 028C0198 */ cpu->f[4] = cpu->f[16];
/* 028C019C */ _t147 = cpu->r[1] + 0x00000024u;
/* 028C019C */ rbrew_write32(cpu->mem, _t147, cpu->r[0]);
/* 028C01A0 */ cpu->f[3] = cpu->f[16];
/* 028C01A4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
/* 028C01A8 */ cpu->f[2] = cpu->f[23];
/* 028C01AC */ _t148 = cpu->r[28] + 0x00000004u;
/* 028C01AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t148);
/* 028C01B0 */ cpu->f[5] = cpu->f[20];
/* 028C01B4 */ Gambit_fn_028D9E20(cpu);
/* 028C01B8 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu;
/* 028C01B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
/* 028C01BC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028C01C0 */ cpu->r[23] = cpu->r[23] + 0x00000090u;
/* 028C01C4 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C01C4 */ _t150 = _t149 & 0x00000001u;
/* 028C01C4 */ if (_t150) goto L_028C01C8; else goto L_028C0008;
L_028C01C8: ; // 0x28c01c8
/* 028C01C8 */ cpu->r[22] = cpu->r[22] + 0x00000018u;
/* 028C01CC */ cpu->r[14] = cpu->r[14] + 0xFFFFFFFFu;
/* 028C01CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u);
/* 028C01D0 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
/* 028C01D4 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
/* 028C01D8 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C01D8 */ _t152 = _t151 & 0x00000001u;
/* 028C01D8 */ if (_t152) goto L_028C01DC; else goto L_028BFE8C;
L_028C01DC: ; // 0x28c01dc
/* 028C01DC */ cpu->r[28] = 0x00000000u;
L_028C01E0: ; // 0x28c01e0
/* 028C01E0 */ _t153 = cpu->r[30] + 0x000001A0u;
/* 028C01E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t153);
/* 028C01E4 */ _t154 = cpu->r[3] + 0x00000014u;
/* 028C01E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t154);
/* 028C01E8 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
/* 028C01EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[11]);
/* 028C01F0 */ _t155 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C01F0 */ _t156 = _t155 & 0x00000001u;
/* 028C01F0 */ if (_t156) goto L_028BFDC4; else goto L_028C01F4;
L_028C01F4: ; // 0x28c01f4
/* 028C01F4 */ /* nop */
/* 028C01F8 */ _t157 = cpu->r[1] + 0x000000C0u;
/* 028C01F8 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t157);
/* 028C01FC */ _t158 = cpu->r[1] + 0x000000A0u;
/* 028C01FC */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t158);
/* 028C0200 */ _t159 = cpu->r[1] + 0x000000B8u;
/* 028C0200 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t159);
/* 028C0204 */ _t160 = cpu->r[1] + 0x000000E0u;
/* 028C0204 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t160);
/* 028C0208 */ _t161 = cpu->r[1] + 0x00000098u;
/* 028C0208 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t161);
/* 028C020C */ _t162 = cpu->r[1] + 0x000000D8u;
/* 028C020C */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t162);
/* 028C0210 */ _t163 = cpu->r[1] + 0x000000B0u;
/* 028C0210 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t163);
/* 028C0214 */ _t164 = cpu->r[1] + 0x00000100u;
/* 028C0214 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t164);
/* 028C0218 */ _t165 = cpu->r[1] + 0x000000A8u;
/* 028C0218 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t165);
/* 028C021C */ _t166 = cpu->r[1] + 0x000000F8u;
/* 028C021C */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t166);
/* 028C0220 */ _t167 = cpu->r[1] + 0x000000D0u;
/* 028C0220 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t167);
/* 028C0224 */ _t168 = cpu->r[1] + 0x00000120u;
/* 028C0224 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t168);
/* 028C0228 */ _t169 = cpu->r[1] + 0x000000C8u;
/* 028C0228 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t169);
/* 028C022C */ _t170 = cpu->r[1] + 0x00000118u;
/* 028C022C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t170);
/* 028C0230 */ _t171 = cpu->r[1] + 0x000000F0u;
/* 028C0230 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t171);
/* 028C0234 */ _t172 = cpu->r[1] + 0x00000130u;
/* 028C0234 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t172);
/* 028C0238 */ _t173 = cpu->r[1] + 0x00000160u;
/* 028C0238 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t173);
/* 028C023C */ _t174 = cpu->r[1] + 0x00000128u;
/* 028C023C */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t174);
/* 028C0240 */ _t175 = cpu->r[1] + 0x00000158u;
/* 028C0240 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t175);
/* 028C0244 */ _t176 = cpu->r[1] + 0x00000090u;
/* 028C0244 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t176);
/* 028C0248 */ _t177 = cpu->r[1] + 0x00000150u;
/* 028C0248 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t177);
/* 028C024C */ _t178 = cpu->r[1] + 0x00000088u;
/* 028C024C */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t178);
/* 028C0250 */ _t179 = cpu->r[1] + 0x00000148u;
/* 028C0250 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t179);
/* 028C0254 */ _t180 = cpu->r[1] + 0x00000080u;
/* 028C0254 */ cpu->f[16] = rbrew_read_f32(cpu->mem, _t180);
/* 028C0258 */ _t181 = cpu->r[1] + 0x00000170u;
/* 028C0258 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t181);
/* 028C025C */ _t182 = cpu->r[1] + 0x00000078u;
/* 028C025C */ cpu->f[16] = rbrew_read_f64(cpu->mem, _t182);
/* 028C0260 */ _t183 = cpu->r[1] + 0x00000168u;
/* 028C0260 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t183);
/* 028C0264 */ _t184 = cpu->r[1] + 0x000000E8u;
/* 028C0264 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t184);
/* 028C0268 */ _t185 = cpu->r[1] + 0x00000110u;
/* 028C0268 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t185);
/* 028C026C */ _t186 = cpu->r[1] + 0x00000140u;
/* 028C026C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t186);
/* 028C0270 */ _t187 = cpu->r[1] + 0x00000108u;
/* 028C0270 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t187);
/* 028C0274 */ _t188 = cpu->r[1] + 0x00000138u;
/* 028C0274 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t188);
/* 028C0278 */ _t189 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0278 */ _t190 = _t189 & 0x00000001u;
/* 028C0278 */ if (_t190) goto L_028C027C; // else: addr-0 trap, fall-through
L_028C027C: ; // 0x28c027c
/* 028C027C */ _t191 = cpu->r[1] + 0x0000017Cu;
/* 028C027C */ cpu->r[0] = rbrew_read32(cpu->mem, _t191);
/* 028C0280 */ cpu->lr = cpu->r[0];
/* 028C0284 */ cpu->r[1] = cpu->r[1] + 0x00000178u;
/* 028C0288 */ return;
}
// fn_028C028C @ 0x28c028c
void Gambit_fn_028C028C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C028C: ; // 0x28c028c
/* 028C028C */ _t0 = cpu->r[1] + 0xFFFFFF30u;
/* 028C028C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C028C */ cpu->r[1] = _t0;
/* 028C0290 */ _t1 = cpu->r[1] + 0x000000A0u;
/* 028C0290 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028C0294 */ /* nop */
/* 028C0298 */ _t2 = cpu->r[1] + 0x00000080u;
/* 028C0298 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[27]);
/* 028C029C */ cpu->r[0] = cpu->lr;
/* 028C02A0 */ _t3 = cpu->r[1] + 0x00000050u;
/* 028C02A0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[24]);
/* 028C02A4 */ /* nop */
/* 028C02A8 */ _t4 = cpu->r[1] + 0x000000A8u;
/* 028C02A8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028C02AC */ _t5 = cpu->r[1] + 0x000000C0u;
/* 028C02AC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
/* 028C02B0 */ /* nop */
/* 028C02B4 */ _t6 = cpu->r[1] + 0x000000B0u;
/* 028C02B4 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[30]);
/* 028C02B8 */ _t7 = cpu->r[1] + 0x00000088u;
/* 028C02B8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[27]);
/* 028C02BC */ /* nop */
/* 028C02C0 */ _t8 = cpu->r[1] + 0x00000060u;
/* 028C02C0 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[25]);
/* 028C02C4 */ _t9 = cpu->r[1] + 0x000000D4u;
/* 028C02C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C02C8 */ /* nop */
/* 028C02CC */ _t10 = cpu->r[1] + 0x000000B8u;
/* 028C02CC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
/* 028C02D0 */ _t11 = cpu->r[1] + 0x00000058u;
/* 028C02D0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[24]);
/* 028C02D4 */ /* nop */
/* 028C02D8 */ _t12 = cpu->r[1] + 0x00000070u;
/* 028C02D8 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[26]);
/* 028C02DC */ /* nop */
/* 028C02E0 */ _t13 = cpu->r[1] + 0x000000C8u;
/* 028C02E0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[31]);
/* 028C02E4 */ cpu->r[25] = cpu->r[5];
/* 028C02E8 */ _t14 = cpu->r[1] + 0x00000090u;
/* 028C02E8 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[28]);
/* 028C02EC */ cpu->r[5] = 0x10140000u;
/* 028C02F0 */ _t15 = cpu->r[5] + 0xFFFF9110u;
/* 028C02F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
/* 028C02F4 */ /* nop */
/* 028C02F8 */ _t16 = cpu->r[1] + 0x00000098u;
/* 028C02F8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[28]);
/* 028C02FC */ _t17 = cpu->r[1] + 0x00000068u;
/* 028C02FC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[25]);
/* 028C0300 */ cpu->r[11] = 0x10140000u;
/* 028C0304 */ _t18 = cpu->r[11] + 0xFFFF90F8u;
/* 028C0304 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t18);
/* 028C0308 */ /* nop */
/* 028C030C */ _t19 = cpu->r[1] + 0x00000078u;
/* 028C030C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[26]);
/* 028C0310 */ cpu->r[8] = 0x10140000u;
/* 028C0314 */ _t20 = cpu->r[8] + 0xFFFF90F0u;
/* 028C0314 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t20);
/* 028C0318 */ cpu->r[23] = cpu->r[4];
/* 028C031C */ cpu->r[28] = cpu->r[6];
/* 028C0320 */ cpu->r[30] = 0x00000000u;
/* 028C0324 */ cpu->r[22] = cpu->r[3];
/* 028C0328 */ _t21 = cpu->r[22] + 0x000000F4u;
/* 028C0328 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t21);
/* 028C032C */ cpu->r[27] = 0x00000006u;
/* 028C0330 */ _t22 = cpu->r[22] + 0x00000108u;
/* 028C0330 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t22);
/* 028C0334 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
/* 028C0338 */ cpu->r[31] = cpu->r[30];
/* 028C033C */ _t23 = cpu->r[22] + 0x00000104u;
/* 028C033C */ cpu->r[24] = rbrew_read32(cpu->mem, _t23);
/* 028C0340 */ cpu->r[21] = cpu->r[30];
L_028C0344: ; // 0x28c0344
/* 028C0344 */ Gambit_fn_028C29DC(cpu);
/* 028C0348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000006u);
/* 028C034C */ cpu->r[12] = cpu->r[3] + 0x0000001Cu;
/* 028C0350 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0350 */ _t25 = _t24 & 0x00000001u;
/* 028C0350 */ if (_t25) goto L_028C0354; else goto L_028C035C;
L_028C0354: ; // 0x28c0354
/* 028C0354 */ cpu->r[4] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C0358 */ cpu->r[12] = cpu->r[12] + cpu->r[4];
L_028C035C: ; // 0x28c035c
/* 028C035C */ _t26 = cpu->r[12] + 0x00000000u;
/* 028C035C */ cpu->r[20] = rbrew_read32(cpu->mem, _t26);
/* 028C0360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
/* 028C0364 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0364 */ _t28 = _t27 & 0x00000001u;
/* 028C0364 */ if (_t28) goto L_028C0464; else goto L_028C0368;
L_028C0368: ; // 0x28c0368
/* 028C0368 */ cpu->r[7] = cpu->r[22] + cpu->r[21];
/* 028C036C */ _t29 = cpu->r[7] + 0x000000C8u;
/* 028C036C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t29);
/* 028C0370 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[29]);
/* 028C0374 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0374 */ _t31 = _t30 & 0x00000001u;
/* 028C0374 */ if (_t31) goto L_028C0378; else goto L_028C0464;
L_028C0378: ; // 0x28c0378
/* 028C0378 */ cpu->r[26] = cpu->r[28];
/* 028C0378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028C037C */ cpu->r[17] = 0x00000000u;
/* 028C0380 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0380 */ _t33 = _t32 & 0x00000001u;
/* 028C0380 */ if (_t33) goto L_028C0384; else goto L_028C0464;
L_028C0384: ; // 0x28c0384
/* 028C0384 */ cpu->f[24] = cpu->f[30];
/* 028C0388 */ cpu->r[19] = 0x00000000u;
/* 028C038C */ cpu->f[25] = cpu->f[31];
/* 028C0390 */ cpu->r[18] = cpu->r[23];
L_028C0394: ; // 0x28c0394
/* 028C0394 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0398 */ cpu->r[6] = cpu->r[17];
/* 028C039C */ cpu->r[5] = cpu->r[25];
/* 028C03A0 */ cpu->r[3] = cpu->r[22];
/* 028C03A4 */ Gambit_fn_028BF064(cpu);
/* 028C03A8 */ _t34 = cpu->r[29] + 0x00000000u;
/* 028C03A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028C03AC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028C03B0 */ cpu->r[3] = cpu->r[20];
/* 028C03B4 */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028C03B4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
/* 028C03B8 */ Gambit_fn_028D8A5C(cpu);
/* 028C03BC */ _t36 = cpu->r[1] + 0x00000008u;
/* 028C03BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
/* 028C03C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000005u);
/* 028C03C4 */ cpu->r[9] = cpu->r[3];
/* 028C03C8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C03C8 */ _t38 = _t37 & 0x00000001u;
/* 028C03C8 */ if (_t38) goto L_028C03CC; else goto L_028C03D0;
L_028C03CC: ; // 0x28c03cc
/* 028C03CC */ cpu->f[26] = cpu->f[25];
L_028C03D0: ; // 0x28c03d0
/* 028C03D0 */ cpu->r[5] = cpu->r[17];
/* 028C03D4 */ cpu->r[4] = cpu->r[25];
/* 028C03D8 */ cpu->r[3] = cpu->r[22];
/* 028C03DC */ Gambit_fn_028BF1C8(cpu);
/* 028C03E0 */ cpu->f[13] = cpu->f[28] * cpu->f[1];
/* 028C03E4 */ _t39 = cpu->r[20] + 0x00000010u;
/* 028C03E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
/* 028C03E8 */ cpu->r[4] = cpu->r[24] + cpu->r[9];
/* 028C03EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000006u);
/* 028C03F0 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
/* 028C03F4 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C03F4 */ _t41 = _t40 & 0x00000001u;
/* 028C03F4 */ if (_t41) goto L_028C03F8; else goto L_028C0430;
L_028C03F8: ; // 0x28c03f8
/* 028C03F8 */ cpu->f[3] = cpu->f[27];
/* 028C03FC */ _t42 = cpu->r[1] + 0x00000010u;
/* 028C03FC */ rbrew_write32(cpu->mem, _t42, cpu->r[19]);
/* 028C0400 */ cpu->f[2] = cpu->f[24];
/* 028C0404 */ _t43 = cpu->r[20] + 0x00000004u;
/* 028C0404 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
/* 028C0408 */ cpu->f[5] = cpu->f[26];
/* 028C040C */ cpu->f[4] = cpu->f[27];
/* 028C0410 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
/* 028C0414 */ cpu->r[3] = cpu->r[18] + cpu->r[31];
/* 028C0418 */ Gambit_fn_028D9E20(cpu);
/* 028C041C */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
/* 028C041C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028C0420 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
/* 028C0424 */ cpu->r[18] = cpu->r[18] + 0x00000090u;
/* 028C0428 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0428 */ _t45 = _t44 & 0x00000001u;
/* 028C0428 */ if (_t45) goto L_028C042C; else goto L_028C0394;
L_028C042C: ; // 0x28c042c
/* 028C042C */ goto L_028C0464;
L_028C0430: ; // 0x28c0430
/* 028C0430 */ cpu->f[3] = cpu->f[27];
/* 028C0434 */ _t46 = cpu->r[1] + 0x00000010u;
/* 028C0434 */ rbrew_write32(cpu->mem, _t46, cpu->r[19]);
/* 028C0438 */ cpu->f[2] = cpu->f[24];
/* 028C043C */ _t47 = cpu->r[20] + 0x00000004u;
/* 028C043C */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
/* 028C0440 */ cpu->f[5] = cpu->f[26];
/* 028C0444 */ cpu->f[4] = cpu->f[27];
/* 028C0448 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
/* 028C044C */ cpu->r[3] = cpu->r[18];
/* 028C0450 */ Gambit_fn_028D9E20(cpu);
/* 028C0454 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
/* 028C0454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028C0458 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
/* 028C045C */ cpu->r[18] = cpu->r[18] + 0x00000090u;
/* 028C0460 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0460 */ _t49 = _t48 & 0x00000001u;
/* 028C0460 */ if (_t49) goto L_028C0464; else goto L_028C0394;
L_028C0464: ; // 0x28c0464
/* 028C0464 */ cpu->r[31] = cpu->r[31] + 0x00000018u;
/* 028C0468 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028C0468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028C046C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C0470 */ cpu->r[21] = cpu->r[21] + 0x00000004u;
/* 028C0474 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0474 */ _t51 = _t50 & 0x00000001u;
/* 028C0474 */ if (_t51) goto L_028C0478; else goto L_028C0344;
L_028C0478: ; // 0x28c0478
/* 028C0478 */ /* nop */
/* 028C047C */ _t52 = cpu->r[1] + 0x00000098u;
/* 028C047C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t52);
/* 028C0480 */ _t53 = cpu->r[1] + 0x00000078u;
/* 028C0480 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t53);
/* 028C0484 */ _t54 = cpu->r[1] + 0x00000090u;
/* 028C0484 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t54);
/* 028C0488 */ _t55 = cpu->r[1] + 0x00000070u;
/* 028C0488 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t55);
/* 028C048C */ _t56 = cpu->r[1] + 0x000000B8u;
/* 028C048C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t56);
/* 028C0490 */ _t57 = cpu->r[1] + 0x00000088u;
/* 028C0490 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t57);
/* 028C0494 */ _t58 = cpu->r[1] + 0x000000B0u;
/* 028C0494 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t58);
/* 028C0498 */ _t59 = cpu->r[1] + 0x00000080u;
/* 028C0498 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t59);
/* 028C049C */ _t60 = cpu->r[1] + 0x00000068u;
/* 028C049C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t60);
/* 028C04A0 */ _t61 = cpu->r[1] + 0x000000A8u;
/* 028C04A0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t61);
/* 028C04A4 */ _t62 = cpu->r[1] + 0x00000060u;
/* 028C04A4 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t62);
/* 028C04A8 */ _t63 = cpu->r[1] + 0x000000A0u;
/* 028C04A8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t63);
/* 028C04AC */ _t64 = cpu->r[1] + 0x00000058u;
/* 028C04AC */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t64);
/* 028C04B0 */ _t65 = cpu->r[1] + 0x000000C8u;
/* 028C04B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t65);
/* 028C04B4 */ _t66 = cpu->r[1] + 0x00000050u;
/* 028C04B4 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t66);
/* 028C04B8 */ _t67 = cpu->r[1] + 0x000000C0u;
/* 028C04B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t67);
/* 028C04BC */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C04BC */ _t69 = _t68 & 0x00000001u;
/* 028C04BC */ if (_t69) goto L_028C04C0; // else: addr-0 trap, fall-through
L_028C04C0: ; // 0x28c04c0
/* 028C04C0 */ _t70 = cpu->r[1] + 0x000000D4u;
/* 028C04C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
/* 028C04C4 */ cpu->lr = cpu->r[0];
/* 028C04C8 */ cpu->r[1] = cpu->r[1] + 0x000000D0u;
/* 028C04CC */ return;
}
// fn_028C04D0 @ 0x28c04d0
void Gambit_fn_028C04D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
L_028C04D0: ; // 0x28c04d0
/* 028C04D0 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
/* 028C04D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C04D0 */ cpu->r[1] = _t0;
/* 028C04D4 */ /* nop */
/* 028C04D8 */ cpu->r[0] = cpu->lr;
/* 028C04DC */ _t1 = cpu->r[1] + 0x00000038u;
/* 028C04DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028C04E0 */ /* nop */
/* 028C04E4 */ _t2 = cpu->r[1] + 0x00000048u;
/* 028C04E4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C04E8 */ _t3 = cpu->r[1] + 0x0000006Cu;
/* 028C04E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C04EC */ /* nop */
/* 028C04F0 */ _t4 = cpu->r[1] + 0x00000050u;
/* 028C04F0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
/* 028C04F4 */ cpu->r[0] = 0x00000001u;
/* 028C04F8 */ _t5 = cpu->r[1] + 0x00000058u;
/* 028C04F8 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
/* 028C04FC */ _t6 = cpu->r[1] + 0x00000040u;
/* 028C04FC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
/* 028C0500 */ /* nop */
/* 028C0504 */ _t7 = cpu->r[1] + 0x00000060u;
/* 028C0504 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028C0508 */ cpu->r[26] = cpu->r[4];
/* 028C050C */ cpu->r[28] = cpu->r[6];
/* 028C0510 */ cpu->r[24] = 0x00000000u;
/* 028C0514 */ cpu->r[25] = cpu->r[3];
/* 028C0518 */ cpu->r[27] = cpu->r[5];
/* 028C051C */ _t8 = cpu->r[25] + 0x00000134u;
/* 028C051C */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028C0520 */ cpu->f[29] = cpu->f[1];
/* 028C0524 */ /* nop */
/* 028C0528 */ cpu->r[23] = cpu->r[24];
/* 028C052C */ _t9 = cpu->r[7] + 0x00000000u;
/* 028C052C */ cpu->r[22] = rbrew_read32(cpu->mem, _t9);
/* 028C0530 */ goto L_028C053C;
L_028C0534: ; // 0x28c0534
/* 028C0534 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000006u);
/* 028C0538 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0538 */ _t11 = _t10 & 0x00000001u;
/* 028C0538 */ if (_t11) goto L_028C053C; else goto L_028C054C;
L_028C053C: ; // 0x28c053c
/* 028C053C */ cpu->r[8] = cpu->r[26] + cpu->r[23];
/* 028C0540 */ cpu->r[29] = cpu->r[23];
/* 028C0544 */ cpu->r[30] = 0x00000000u;
/* 028C0548 */ goto L_028C0550;
L_028C054C: ; // 0x28c054c
/* 028C054C */ cpu->r[8] = cpu->r[26];
L_028C0550: ; // 0x28c0550
/* 028C0550 */ _t12 = cpu->r[8] + 0x00000000u;
/* 028C0550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C0554 */ _t13 = cpu->r[8] + 0x00000004u;
/* 028C0554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C0558 */ cpu->r[5] = cpu->r[12] | cpu->r[0];
/* 028C0558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028C055C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C055C */ _t15 = _t14 & 0x00000001u;
/* 028C055C */ if (_t15) goto L_028C0560; else goto L_028C0580;
L_028C0560: ; // 0x28c0560
/* 028C0560 */ _t16 = cpu->r[8] + 0x00000008u;
/* 028C0560 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028C0564 */ _t17 = cpu->r[8] + 0x0000000Cu;
/* 028C0564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C0568 */ cpu->r[6] = cpu->r[10] | cpu->r[0];
/* 028C0568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028C056C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C056C */ _t19 = _t18 & 0x00000001u;
/* 028C056C */ if (_t19) goto L_028C0570; else goto L_028C0580;
L_028C0570: ; // 0x28c0570
/* 028C0570 */ _t20 = cpu->r[8] + 0x00000014u;
/* 028C0570 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028C0574 */ _t21 = cpu->r[8] + 0x00000010u;
/* 028C0574 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028C0578 */ cpu->r[0] = cpu->r[8] | cpu->r[9];
/* 028C0578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C057C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C057C */ _t23 = _t22 & 0x00000001u;
/* 028C057C */ if (_t23) goto L_028C05DC; else goto L_028C0580;
L_028C0580: ; // 0x28c0580
/* 028C0580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000006u);
/* 028C0584 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0584 */ _t25 = _t24 & 0x00000001u;
/* 028C0584 */ if (_t25) goto L_028C0588; else goto L_028C05B4;
L_028C0588: ; // 0x28c0588
/* 028C0588 */ cpu->r[4] = cpu->r[26] + cpu->r[29];
/* 028C058C */ _t26 = cpu->r[1] + 0x00000008u;
/* 028C058C */ rbrew_write32(cpu->mem, _t26, cpu->r[24]);
/* 028C0590 */ cpu->r[3] = cpu->r[22];
/* 028C0594 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
/* 028C0598 */ cpu->f[1] = cpu->f[29];
/* 028C059C */ cpu->r[6] = cpu->r[28];
/* 028C05A0 */ cpu->r[8] = cpu->r[31];
/* 028C05A4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028C05A8 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028C05A8 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
/* 028C05AC */ Gambit_fn_028EB61C(cpu);
/* 028C05B0 */ goto L_028C05DC;
L_028C05B4: ; // 0x28c05b4
/* 028C05B4 */ cpu->r[4] = cpu->r[26];
/* 028C05B8 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028C05B8 */ rbrew_write32(cpu->mem, _t28, cpu->r[24]);
/* 028C05BC */ cpu->r[3] = cpu->r[22];
/* 028C05C0 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
/* 028C05C4 */ cpu->f[1] = cpu->f[29];
/* 028C05C8 */ cpu->r[6] = cpu->r[28];
/* 028C05CC */ cpu->r[8] = cpu->r[31];
/* 028C05D0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028C05D4 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028C05D4 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
/* 028C05D8 */ Gambit_fn_028EB61C(cpu);
L_028C05DC: ; // 0x28c05dc
/* 028C05DC */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028C05E0 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
/* 028C05E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000001u);
/* 028C05E8 */ cpu->r[23] = cpu->r[23] + 0x00000018u;
/* 028C05EC */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C05EC */ _t31 = _t30 & 0x00000001u;
/* 028C05EC */ if (_t31) goto L_028C05F0; else goto L_028C0534;
L_028C05F0: ; // 0x28c05f0
/* 028C05F0 */ cpu->r[6] = 0x10140000u;
/* 028C05F4 */ cpu->r[31] = 0x00000002u;
/* 028C05F8 */ cpu->r[30] = 0x00000000u;
/* 028C05FC */ _t32 = cpu->r[6] + 0xFFFF90F0u;
/* 028C05FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
/* 028C0600 */ cpu->r[29] = 0x00000030u;
/* 028C0604 */ goto L_028C0610;
L_028C0608: ; // 0x28c0608
/* 028C0608 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
/* 028C060C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C060C */ _t34 = _t33 & 0x00000001u;
/* 028C060C */ if (_t34) goto L_028C0610; else goto L_028C0624;
L_028C0610: ; // 0x28c0610
/* 028C0610 */ cpu->r[12] = cpu->r[26] + cpu->r[29];
/* 028C0614 */ cpu->r[23] = cpu->r[29];
/* 028C0618 */ cpu->f[30] = cpu->f[31];
/* 028C061C */ cpu->r[24] = cpu->r[30];
/* 028C0620 */ goto L_028C0628;
L_028C0624: ; // 0x28c0624
/* 028C0624 */ cpu->r[12] = cpu->r[26];
L_028C0628: ; // 0x28c0628
/* 028C0628 */ _t35 = cpu->r[12] + 0x00000000u;
/* 028C0628 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
/* 028C062C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[30]);
/* 028C0630 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0630 */ _t37 = _t36 & 0x00000001u;
/* 028C0630 */ if (_t37) goto L_028C0668; else goto L_028C0634;
L_028C0634: ; // 0x28c0634
/* 028C0634 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
/* 028C0638 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0638 */ _t39 = _t38 & 0x00000001u;
/* 028C0638 */ if (_t39) goto L_028C063C; else goto L_028C0654;
L_028C063C: ; // 0x28c063c
/* 028C063C */ _t40 = cpu->r[26] + cpu->r[23];
/* 028C063C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028C0640 */ cpu->f[1] = cpu->f[0] * cpu->f[29];
/* 028C0644 */ cpu->r[3] = cpu->r[22];
/* 028C0648 */ cpu->r[4] = cpu->r[24];
/* 028C064C */ Gambit_fn_028EB5FC(cpu);
/* 028C0650 */ goto L_028C0668;
L_028C0654: ; // 0x28c0654
/* 028C0654 */ _t41 = cpu->r[26] + 0x00000000u;
/* 028C0654 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
/* 028C0658 */ cpu->f[1] = cpu->f[0] * cpu->f[29];
/* 028C065C */ cpu->r[3] = cpu->r[22];
/* 028C0660 */ cpu->r[4] = cpu->r[24];
/* 028C0664 */ Gambit_fn_028EB5FC(cpu);
L_028C0668: ; // 0x28c0668
/* 028C0668 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028C066C */ cpu->r[23] = cpu->r[23] + 0x00000018u;
/* 028C0670 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
/* 028C0674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000005u);
/* 028C0678 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
/* 028C067C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C0680 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0680 */ _t43 = _t42 & 0x00000001u;
/* 028C0680 */ if (_t43) goto L_028C0684; else goto L_028C0608;
L_028C0684: ; // 0x28c0684
/* 028C0684 */ Gambit_fn_028C2A3C(cpu);
/* 028C0688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C068C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C068C */ _t45 = _t44 & 0x00000001u;
/* 028C068C */ if (_t45) goto L_028C06AC; else goto L_028C0690;
L_028C0690: ; // 0x28c0690
/* 028C0690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028C0694 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0694 */ _t47 = _t46 & 0x00000001u;
/* 028C0694 */ if (_t47) goto L_028C0698; else goto L_028C06AC;
L_028C0698: ; // 0x28c0698
/* 028C0698 */ cpu->f[1] = cpu->f[29];
/* 028C069C */ cpu->r[4] = cpu->r[25];
/* 028C06A0 */ cpu->r[5] = cpu->r[28];
/* 028C06A4 */ cpu->r[6] = cpu->r[26];
/* 028C06A8 */ Gambit_fn_028CD76C(cpu);
L_028C06AC: ; // 0x28c06ac
/* 028C06AC */ /* nop */
/* 028C06B0 */ _t48 = cpu->r[1] + 0x00000040u;
/* 028C06B0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t48);
/* 028C06B4 */ _t49 = cpu->r[1] + 0x00000050u;
/* 028C06B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t49);
/* 028C06B8 */ _t50 = cpu->r[1] + 0x00000038u;
/* 028C06B8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t50);
/* 028C06BC */ _t51 = cpu->r[1] + 0x00000060u;
/* 028C06BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t51);
/* 028C06C0 */ _t52 = cpu->r[1] + 0x00000048u;
/* 028C06C0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t52);
/* 028C06C4 */ _t53 = cpu->r[1] + 0x00000058u;
/* 028C06C4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t53);
/* 028C06C8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C06C8 */ _t55 = _t54 & 0x00000001u;
/* 028C06C8 */ if (_t55) goto L_028C06CC; // else: addr-0 trap, fall-through
L_028C06CC: ; // 0x28c06cc
/* 028C06CC */ _t56 = cpu->r[1] + 0x0000006Cu;
/* 028C06CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028C06D0 */ cpu->lr = cpu->r[0];
/* 028C06D4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
/* 028C06D8 */ return;
}
// fn_028C06DC @ 0x28c06dc
void Gambit_fn_028C06DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028C06DC: ; // 0x28c06dc
/* 028C06DC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028C06DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C06DC */ cpu->r[1] = _t0;
/* 028C06E0 */ /* nop */
/* 028C06E4 */ cpu->r[0] = cpu->lr;
/* 028C06E8 */ cpu->r[31] = 0x101F0000u;
/* 028C06EC */ _t1 = cpu->r[1] + 0x00000020u;
/* 028C06EC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C06F0 */ cpu->r[31] = cpu->r[31] + 0x00006FE0u;
/* 028C06F4 */ cpu->r[28] = cpu->r[4];
/* 028C06F8 */ cpu->r[27] = cpu->r[3];
/* 028C06FC */ _t2 = cpu->r[1] + 0x00000034u;
/* 028C06FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C0700 */ /* nop */
/* 028C0704 */ cpu->r[3] = cpu->r[31];
/* 028C0708 */ cpu->r[4] = 0x00000120u;
/* 028C070C */ _t3 = cpu->r[1] + 0x00000028u;
/* 028C070C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C0710 */ cpu->f[31] = cpu->f[1];
/* 028C0714 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C0718 */ cpu->r[4] = cpu->r[28];
/* 028C071C */ cpu->r[3] = cpu->r[27];
/* 028C0720 */ Gambit_fn_028BE94C(cpu);
/* 028C0724 */ cpu->r[30] = cpu->r[3];
/* 028C0728 */ _t4 = cpu->r[27] + 0x00000130u;
/* 028C0728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C072C */ cpu->r[3] = cpu->r[27];
/* 028C0730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C0734 */ cpu->r[4] = cpu->r[31];
/* 028C0738 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0738 */ _t6 = _t5 & 0x00000001u;
/* 028C0738 */ if (_t6) goto L_028C0774; else goto L_028C073C;
L_028C073C: ; // 0x28c073c
/* 028C073C */ cpu->r[5] = cpu->r[30];
/* 028C0740 */ Gambit_fn_028BFC00(cpu);
/* 028C0744 */ _t7 = cpu->r[27] + 0x00000134u;
/* 028C0744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C0748 */ cpu->r[4] = cpu->r[31];
/* 028C074C */ _t8 = cpu->r[11] + 0x00000000u;
/* 028C074C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028C0750 */ cpu->r[5] = cpu->r[30];
/* 028C0754 */ Gambit_fn_028EB540(cpu);
/* 028C0758 */ cpu->r[3] = cpu->r[27];
/* 028C075C */ cpu->r[4] = cpu->r[28];
/* 028C0760 */ Gambit_fn_028BEDB4(cpu);
/* 028C0764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C0768 */ cpu->r[29] = 0x00000000u;
/* 028C076C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C076C */ _t10 = _t9 & 0x00000001u;
/* 028C076C */ if (_t10) goto L_028C0770; else goto L_028C0818;
L_028C0770: ; // 0x28c0770
/* 028C0770 */ goto L_028C07EC;
L_028C0774: ; // 0x28c0774
/* 028C0774 */ _t11 = cpu->r[27] + 0x000001A0u;
/* 028C0774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C0778 */ cpu->r[5] = cpu->r[28];
/* 028C077C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C0780 */ cpu->r[6] = cpu->r[30];
/* 028C0784 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0784 */ _t13 = _t12 & 0x00000001u;
/* 028C0784 */ if (_t13) goto L_028C07BC; else goto L_028C0788;
L_028C0788: ; // 0x28c0788
/* 028C0788 */ Gambit_fn_028BFC98(cpu);
/* 028C078C */ _t14 = cpu->r[27] + 0x00000134u;
/* 028C078C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C0790 */ cpu->r[4] = cpu->r[31];
/* 028C0794 */ _t15 = cpu->r[11] + 0x00000000u;
/* 028C0794 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028C0798 */ cpu->r[5] = cpu->r[30];
/* 028C079C */ Gambit_fn_028EB540(cpu);
/* 028C07A0 */ cpu->r[3] = cpu->r[27];
/* 028C07A4 */ cpu->r[4] = cpu->r[28];
/* 028C07A8 */ Gambit_fn_028BEDB4(cpu);
/* 028C07AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C07B0 */ cpu->r[29] = 0x00000000u;
/* 028C07B4 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C07B4 */ _t17 = _t16 & 0x00000001u;
/* 028C07B4 */ if (_t17) goto L_028C07B8; else goto L_028C0818;
L_028C07B8: ; // 0x28c07b8
/* 028C07B8 */ goto L_028C07EC;
L_028C07BC: ; // 0x28c07bc
/* 028C07BC */ Gambit_fn_028C028C(cpu);
/* 028C07C0 */ _t18 = cpu->r[27] + 0x00000134u;
/* 028C07C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028C07C4 */ cpu->r[4] = cpu->r[31];
/* 028C07C8 */ _t19 = cpu->r[11] + 0x00000000u;
/* 028C07C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028C07CC */ cpu->r[5] = cpu->r[30];
/* 028C07D0 */ Gambit_fn_028EB540(cpu);
/* 028C07D4 */ cpu->r[3] = cpu->r[27];
/* 028C07D8 */ cpu->r[4] = cpu->r[28];
/* 028C07DC */ Gambit_fn_028BEDB4(cpu);
/* 028C07E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C07E4 */ cpu->r[29] = 0x00000000u;
/* 028C07E8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C07E8 */ _t21 = _t20 & 0x00000001u;
/* 028C07E8 */ if (_t21) goto L_028C07EC; else goto L_028C0818;
L_028C07EC: ; // 0x28c07ec
/* 028C07EC */ cpu->f[31] = cpu->f[1] * cpu->f[31];
L_028C07F0: ; // 0x28c07f0
/* 028C07F0 */ cpu->f[1] = cpu->f[31];
/* 028C07F4 */ cpu->r[3] = cpu->r[27];
/* 028C07F8 */ cpu->r[4] = cpu->r[31];
/* 028C07FC */ cpu->r[5] = cpu->r[28];
/* 028C0800 */ cpu->r[6] = cpu->r[29];
/* 028C0804 */ Gambit_fn_028C04D0(cpu);
/* 028C0808 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C0808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C080C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028C0810 */ cpu->r[31] = cpu->r[31] + 0x00000090u;
/* 028C0814 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0814 */ _t23 = _t22 & 0x00000001u;
/* 028C0814 */ if (_t23) goto L_028C0818; else goto L_028C07F0;
L_028C0818: ; // 0x28c0818
/* 028C0818 */ /* nop */
/* 028C081C */ _t24 = cpu->r[1] + 0x00000028u;
/* 028C081C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028C0820 */ _t25 = cpu->r[1] + 0x00000020u;
/* 028C0820 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25);
/* 028C0824 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0824 */ _t27 = _t26 & 0x00000001u;
/* 028C0824 */ if (_t27) goto L_028C0828; // else: addr-0 trap, fall-through
L_028C0828: ; // 0x28c0828
/* 028C0828 */ _t28 = cpu->r[1] + 0x00000034u;
/* 028C0828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C082C */ cpu->lr = cpu->r[0];
/* 028C0830 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028C0834 */ return;
}
// fn_028C0838 @ 0x28c0838
void Gambit_fn_028C0838(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C0838: ; // 0x28c0838
/* 028C0838 */ cpu->r[0] = cpu->lr;
/* 028C083C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C083C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C083C */ cpu->r[1] = _t0;
/* 028C0840 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C0840 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C0844 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C0844 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C0848 */ /* nop */
/* 028C084C */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C084C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C0850 */ cpu->r[30] = cpu->r[3];
/* 028C0854 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C0854 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C0858 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C0858 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C085C */ Gambit_fn_028BFB50(cpu);
/* 028C0860 */ cpu->r[31] = 0x00000000u;
/* 028C0864 */ cpu->r[3] = cpu->r[30];
/* 028C0868 */ cpu->f[31] = cpu->f[1];
/* 028C086C */ Gambit_fn_028BE8F8(cpu);
/* 028C0870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]);
/* 028C0874 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0874 */ _t7 = _t6 & 0x00000001u;
/* 028C0874 */ if (_t7) goto L_028C0878; else goto L_028C089C;
L_028C0878: ; // 0x28c0878
/* 028C0878 */ cpu->f[1] = cpu->f[31];
/* 028C087C */ cpu->r[3] = cpu->r[30];
/* 028C0880 */ cpu->r[4] = cpu->r[31];
/* 028C0884 */ Gambit_fn_028C06DC(cpu);
/* 028C0888 */ cpu->r[3] = cpu->r[30];
/* 028C088C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028C0890 */ Gambit_fn_028BE8F8(cpu);
/* 028C0894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]);
/* 028C0898 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0898 */ _t9 = _t8 & 0x00000001u;
/* 028C0898 */ if (_t9) goto L_028C0878; else goto L_028C089C;
L_028C089C: ; // 0x28c089c
/* 028C089C */ _t10 = cpu->r[1] + 0x00000018u;
/* 028C089C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C08A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C08A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C08A4 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028C08A4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
/* 028C08A8 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028C08A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028C08AC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C08AC */ _t15 = _t14 & 0x00000001u;
/* 028C08AC */ if (_t15) goto L_028C08B0; // else: addr-0 trap, fall-through
L_028C08B0: ; // 0x28c08b0
/* 028C08B0 */ _t16 = cpu->r[1] + 0x00000024u;
/* 028C08B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C08B4 */ cpu->lr = cpu->r[0];
/* 028C08B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C08BC */ return;
}
// fn_028C083C @ 0x28c083c
void Gambit_fn_028C083C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C083C: ; // 0x28c083c
/* 028C083C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C083C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C083C */ cpu->r[1] = _t0;
/* 028C0840 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C0840 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C0844 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C0844 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C0848 */ /* nop */
/* 028C084C */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C084C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C0850 */ cpu->r[30] = cpu->r[3];
/* 028C0854 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C0854 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C0858 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C0858 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C085C */ Gambit_fn_028BFB50(cpu);
/* 028C0860 */ cpu->r[31] = 0x00000000u;
/* 028C0864 */ cpu->r[3] = cpu->r[30];
/* 028C0868 */ cpu->f[31] = cpu->f[1];
/* 028C086C */ Gambit_fn_028BE8F8(cpu);
/* 028C0870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]);
/* 028C0874 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0874 */ _t7 = _t6 & 0x00000001u;
/* 028C0874 */ if (_t7) goto L_028C0878; else goto L_028C089C;
L_028C0878: ; // 0x28c0878
/* 028C0878 */ cpu->f[1] = cpu->f[31];
/* 028C087C */ cpu->r[3] = cpu->r[30];
/* 028C0880 */ cpu->r[4] = cpu->r[31];
/* 028C0884 */ Gambit_fn_028C06DC(cpu);
/* 028C0888 */ cpu->r[3] = cpu->r[30];
/* 028C088C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028C0890 */ Gambit_fn_028BE8F8(cpu);
/* 028C0894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]);
/* 028C0898 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0898 */ _t9 = _t8 & 0x00000001u;
/* 028C0898 */ if (_t9) goto L_028C0878; else goto L_028C089C;
L_028C089C: ; // 0x28c089c
/* 028C089C */ _t10 = cpu->r[1] + 0x00000018u;
/* 028C089C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C08A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C08A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C08A4 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028C08A4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
/* 028C08A8 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028C08A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028C08AC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C08AC */ _t15 = _t14 & 0x00000001u;
/* 028C08AC */ if (_t15) goto L_028C08B0; // else: addr-0 trap, fall-through
L_028C08B0: ; // 0x28c08b0
/* 028C08B0 */ _t16 = cpu->r[1] + 0x00000024u;
/* 028C08B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C08B4 */ cpu->lr = cpu->r[0];
/* 028C08B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C08BC */ return;
}
// fn_028C08C0 @ 0x28c08c0
void Gambit_fn_028C08C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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;
L_028C08C0: ; // 0x28c08c0
/* 028C08C0 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
/* 028C08C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C08C0 */ cpu->r[1] = _t0;
/* 028C08C4 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C08C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C08C8 */ cpu->r[0] = cpu->lr;
/* 028C08CC */ _t2 = cpu->r[1] + 0x00000050u;
/* 028C08CC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
/* 028C08D0 */ /* nop */
/* 028C08D4 */ _t3 = cpu->r[1] + 0x00000060u;
/* 028C08D4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
/* 028C08D8 */ _t4 = cpu->r[1] + 0x00000058u;
/* 028C08D8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028C08DC */ _t5 = cpu->r[1] + 0x00000020u;
/* 028C08DC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[26]);
/* 028C08E0 */ /* nop */
/* 028C08E4 */ _t6 = cpu->r[1] + 0x00000018u;
/* 028C08E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
/* 028C08E8 */ _t7 = cpu->r[1] + 0x00000070u;
/* 028C08E8 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[31]);
/* 028C08EC */ _t8 = cpu->r[1] + 0x00000084u;
/* 028C08EC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C08F0 */ _t9 = cpu->r[1] + 0x00000068u;
/* 028C08F0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
/* 028C08F4 */ /* nop */
/* 028C08F8 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028C08F8 */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
/* 028C08FC */ _t11 = cpu->r[1] + 0x00000078u;
/* 028C08FC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
/* 028C0900 */ /* nop */
/* 028C0904 */ _t12 = cpu->r[1] + 0x00000040u;
/* 028C0904 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[28]);
/* 028C0908 */ _t13 = cpu->r[1] + 0x00000030u;
/* 028C0908 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[27]);
/* 028C090C */ /* nop */
/* 028C0910 */ _t14 = cpu->r[1] + 0x00000048u;
/* 028C0910 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[28]);
/* 028C0914 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028C0914 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
/* 028C0918 */ /* nop */
/* 028C091C */ _t16 = cpu->r[1] + 0x00000028u;
/* 028C091C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[26]);
/* 028C0920 */ _t17 = cpu->r[1] + 0x00000038u;
/* 028C0920 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[27]);
/* 028C0924 */ cpu->r[29] = cpu->r[3];
/* 028C0928 */ _t18 = cpu->r[29] + 0x00000134u;
/* 028C0928 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
/* 028C092C */ _t19 = cpu->r[29] + 0x000000E0u;
/* 028C092C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19);
/* 028C0930 */ cpu->r[12] = 0x00000000u;
/* 028C0934 */ _t20 = cpu->r[5] + 0x00000000u;
/* 028C0934 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
/* 028C0938 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028C093C */ _t21 = cpu->r[1] + 0x00000008u;
/* 028C093C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
/* 028C0940 */ cpu->r[3] = cpu->r[28];
/* 028C0944 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C0944 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
/* 028C0948 */ Gambit_fn_028EB424(cpu);
/* 028C094C */ _t23 = cpu->r[29] + 0x000001A0u;
/* 028C094C */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028C0950 */ _t24 = cpu->r[29] + 0x000000E8u;
/* 028C0950 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t24);
/* 028C0954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C0958 */ _t25 = cpu->r[29] + 0x000000ECu;
/* 028C0958 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t25);
/* 028C095C */ cpu->r[0] = 0x00000003u;
/* 028C0960 */ _t26 = cpu->r[29] + 0x000000E4u;
/* 028C0960 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t26);
/* 028C0964 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0964 */ _t28 = _t27 & 0x00000001u;
/* 028C0964 */ if (_t28) goto L_028C0984; else goto L_028C0968;
L_028C0968: ; // 0x28c0968
/* 028C0968 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028C0968 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028C096C */ cpu->r[8] = 0x10140000u;
/* 028C0970 */ _t30 = cpu->r[9] + 0x00000004u;
/* 028C0970 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t30);
/* 028C0974 */ _t31 = cpu->r[8] + 0xFFFF90F0u;
/* 028C0974 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
/* 028C0978 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[26], cpu->f[31]);
/* 028C097C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C097C */ _t33 = _t32 & 0x00000001u;
/* 028C097C */ if (_t33) goto L_028C0C18; else goto L_028C0980;
L_028C0980: ; // 0x28c0980
/* 028C0980 */ goto L_028C09B8;
L_028C0984: ; // 0x28c0984
/* 028C0984 */ _t34 = cpu->r[29] + 0x00000130u;
/* 028C0984 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
/* 028C0988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C098C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C098C */ _t36 = _t35 & 0x00000001u;
/* 028C098C */ if (_t36) goto L_028C0C18; else goto L_028C0990;
L_028C0990: ; // 0x28c0990
/* 028C0990 */ _t37 = cpu->r[1] + 0x00000008u;
/* 028C0990 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
/* 028C0994 */ _t38 = cpu->r[3] + 0x00000004u;
/* 028C0994 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
/* 028C0998 */ _t39 = cpu->r[7] + 0x0000002Cu;
/* 028C0998 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028C099C */ cpu->ctr = cpu->r[10];
/* 028C09A0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C09A4 */ cpu->r[8] = 0x10140000u;
/* 028C09A8 */ cpu->f[26] = cpu->f[1];
/* 028C09AC */ _t40 = cpu->r[8] + 0xFFFF90F0u;
/* 028C09AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
/* 028C09B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[26], cpu->f[31]);
/* 028C09B4 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C09B4 */ _t42 = _t41 & 0x00000001u;
/* 028C09B4 */ if (_t42) goto L_028C0C18; else goto L_028C09B8;
L_028C09B8: ; // 0x28c09b8
/* 028C09B8 */ cpu->r[30] = 0x101D0000u;
/* 028C09BC */ _t43 = cpu->r[30] + 0xFFFF9A8Cu;
/* 028C09BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028C09C0 */ cpu->r[3] = cpu->r[30];
/* 028C09C4 */ _t44 = cpu->r[30] + 0x00000020u;
/* 028C09C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
/* 028C09C8 */ Gambit_fn_028C3A14(cpu);
/* 028C09CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[26], cpu->f[31]);
/* 028C09D0 */ cpu->f[29] = cpu->f[1];
/* 028C09D4 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C09D4 */ _t46 = _t45 & 0x00000001u;
/* 028C09D4 */ if (_t46) goto L_028C09D8; else goto L_028C09E8;
L_028C09D8: ; // 0x28c09d8
/* 028C09D8 */ cpu->r[3] = cpu->r[30];
/* 028C09DC */ Gambit_fn_028C3A1C(cpu);
/* 028C09E0 */ cpu->f[13] = cpu->f[1] - cpu->f[29];
/* 028C09E4 */ cpu->f[29] = fma(cpu->f[13], cpu->f[26], cpu->f[29]);
L_028C09E8: ; // 0x28c09e8
/* 028C09E8 */ cpu->r[6] = 0x10140000u;
/* 028C09EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
/* 028C09F0 */ _t47 = cpu->r[6] + 0xFFFF90F8u;
/* 028C09F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
/* 028C09F4 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C09F4 */ _t49 = _t48 & 0x00000001u;
/* 028C09F4 */ if (_t49) goto L_028C0C18; else goto L_028C09F8;
L_028C09F8: ; // 0x28c09f8
/* 028C09F8 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C09F8 */ _t51 = _t50 & 0x00000001u;
/* 028C09F8 */ if (_t51) goto L_028C0A60; else goto L_028C09FC;
L_028C09FC: ; // 0x28c09fc
/* 028C09FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000003u);
/* 028C0A00 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0A00 */ _t53 = _t52 & 0x00000001u;
/* 028C0A00 */ if (_t53) goto L_028C0B2C; else goto L_028C0A04;
L_028C0A04: ; // 0x28c0a04
/* 028C0A04 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0A04 */ _t55 = _t54 & 0x00000001u;
/* 028C0A04 */ if (_t55) goto L_028C0BF8; else goto L_028C0A08;
L_028C0A08: ; // 0x28c0a08
/* 028C0A08 */ cpu->f[1] = cpu->f[27];
/* 028C0A0C */ cpu->r[0] = 0x00000001u;
/* 028C0A10 */ cpu->r[3] = cpu->r[28];
/* 028C0A14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0A18 */ _t56 = cpu->r[1] + 0x00000008u;
/* 028C0A18 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
/* 028C0A1C */ Gambit_fn_028EB424(cpu);
/* 028C0A20 */ cpu->f[1] = cpu->f[28];
/* 028C0A24 */ cpu->r[11] = 0x00000002u;
/* 028C0A28 */ cpu->r[3] = cpu->r[28];
/* 028C0A2C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0A30 */ _t57 = cpu->r[1] + 0x00000008u;
/* 028C0A30 */ rbrew_write32(cpu->mem, _t57, cpu->r[11]);
/* 028C0A34 */ Gambit_fn_028EB424(cpu);
/* 028C0A38 */ cpu->f[1] = cpu->f[30];
/* 028C0A3C */ cpu->r[0] = 0x00000003u;
/* 028C0A40 */ cpu->r[3] = cpu->r[28];
/* 028C0A44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0A48 */ _t58 = cpu->r[1] + 0x00000008u;
/* 028C0A48 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
/* 028C0A4C */ Gambit_fn_028EB424(cpu);
/* 028C0A50 */ Gambit_fn_028C2A3C(cpu);
/* 028C0A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0A58 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0A58 */ _t60 = _t59 & 0x00000001u;
/* 028C0A58 */ if (_t60) goto L_028C0C84; else goto L_028C0A5C;
L_028C0A5C: ; // 0x28c0a5c
/* 028C0A5C */ goto L_028C0C6C;
L_028C0A60: ; // 0x28c0a60
/* 028C0A60 */ cpu->f[27] = cpu->f[27] + cpu->f[29];
/* 028C0A64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[27], cpu->f[31]);
/* 028C0A68 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0A68 */ _t62 = _t61 & 0x00000001u;
/* 028C0A68 */ if (_t62) goto L_028C0A6C; else goto L_028C0AC8;
L_028C0A6C: ; // 0x28c0a6c
/* 028C0A6C */ cpu->f[27] = cpu->f[31];
/* 028C0A70 */ cpu->r[0] = 0x00000001u;
/* 028C0A74 */ cpu->f[1] = cpu->f[27];
/* 028C0A78 */ _t63 = cpu->r[1] + 0x00000008u;
/* 028C0A78 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
/* 028C0A7C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0A80 */ cpu->r[3] = cpu->r[28];
/* 028C0A84 */ Gambit_fn_028EB424(cpu);
/* 028C0A88 */ cpu->f[1] = cpu->f[28];
/* 028C0A8C */ cpu->r[11] = 0x00000002u;
/* 028C0A90 */ cpu->r[3] = cpu->r[28];
/* 028C0A94 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0A98 */ _t64 = cpu->r[1] + 0x00000008u;
/* 028C0A98 */ rbrew_write32(cpu->mem, _t64, cpu->r[11]);
/* 028C0A9C */ Gambit_fn_028EB424(cpu);
/* 028C0AA0 */ cpu->f[1] = cpu->f[30];
/* 028C0AA4 */ cpu->r[0] = 0x00000003u;
/* 028C0AA8 */ cpu->r[3] = cpu->r[28];
/* 028C0AAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0AB0 */ _t65 = cpu->r[1] + 0x00000008u;
/* 028C0AB0 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
/* 028C0AB4 */ Gambit_fn_028EB424(cpu);
/* 028C0AB8 */ Gambit_fn_028C2A3C(cpu);
/* 028C0ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0AC0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0AC0 */ _t67 = _t66 & 0x00000001u;
/* 028C0AC0 */ if (_t67) goto L_028C0C84; else goto L_028C0AC4;
L_028C0AC4: ; // 0x28c0ac4
/* 028C0AC4 */ goto L_028C0C6C;
L_028C0AC8: ; // 0x28c0ac8
/* 028C0AC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[27], cpu->f[0]);
/* 028C0ACC */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0ACC */ _t69 = _t68 & 0x00000001u;
/* 028C0ACC */ if (_t69) goto L_028C0AD0; else goto L_028C0AD4;
L_028C0AD0: ; // 0x28c0ad0
/* 028C0AD0 */ cpu->f[27] = cpu->f[0];
L_028C0AD4: ; // 0x28c0ad4
/* 028C0AD4 */ cpu->f[1] = cpu->f[27];
/* 028C0AD8 */ cpu->r[0] = 0x00000001u;
/* 028C0ADC */ cpu->r[3] = cpu->r[28];
/* 028C0AE0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0AE4 */ _t70 = cpu->r[1] + 0x00000008u;
/* 028C0AE4 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
/* 028C0AE8 */ Gambit_fn_028EB424(cpu);
/* 028C0AEC */ cpu->f[1] = cpu->f[28];
/* 028C0AF0 */ cpu->r[11] = 0x00000002u;
/* 028C0AF4 */ cpu->r[3] = cpu->r[28];
/* 028C0AF8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0AFC */ _t71 = cpu->r[1] + 0x00000008u;
/* 028C0AFC */ rbrew_write32(cpu->mem, _t71, cpu->r[11]);
/* 028C0B00 */ Gambit_fn_028EB424(cpu);
/* 028C0B04 */ cpu->f[1] = cpu->f[30];
/* 028C0B08 */ cpu->r[0] = 0x00000003u;
/* 028C0B0C */ cpu->r[3] = cpu->r[28];
/* 028C0B10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0B14 */ _t72 = cpu->r[1] + 0x00000008u;
/* 028C0B14 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
/* 028C0B18 */ Gambit_fn_028EB424(cpu);
/* 028C0B1C */ Gambit_fn_028C2A3C(cpu);
/* 028C0B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0B24 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0B24 */ _t74 = _t73 & 0x00000001u;
/* 028C0B24 */ if (_t74) goto L_028C0C84; else goto L_028C0B28;
L_028C0B28: ; // 0x28c0b28
/* 028C0B28 */ goto L_028C0C6C;
L_028C0B2C: ; // 0x28c0b2c
/* 028C0B2C */ cpu->f[28] = cpu->f[28] + cpu->f[29];
/* 028C0B30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[31]);
/* 028C0B34 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0B34 */ _t76 = _t75 & 0x00000001u;
/* 028C0B34 */ if (_t76) goto L_028C0B38; else goto L_028C0B94;
L_028C0B38: ; // 0x28c0b38
/* 028C0B38 */ cpu->f[28] = cpu->f[31];
/* 028C0B3C */ cpu->r[0] = 0x00000001u;
/* 028C0B40 */ cpu->f[1] = cpu->f[27];
/* 028C0B44 */ _t77 = cpu->r[1] + 0x00000008u;
/* 028C0B44 */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
/* 028C0B48 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0B4C */ cpu->r[3] = cpu->r[28];
/* 028C0B50 */ Gambit_fn_028EB424(cpu);
/* 028C0B54 */ cpu->f[1] = cpu->f[28];
/* 028C0B58 */ cpu->r[11] = 0x00000002u;
/* 028C0B5C */ cpu->r[3] = cpu->r[28];
/* 028C0B60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0B64 */ _t78 = cpu->r[1] + 0x00000008u;
/* 028C0B64 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]);
/* 028C0B68 */ Gambit_fn_028EB424(cpu);
/* 028C0B6C */ cpu->f[1] = cpu->f[30];
/* 028C0B70 */ cpu->r[0] = 0x00000003u;
/* 028C0B74 */ cpu->r[3] = cpu->r[28];
/* 028C0B78 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0B7C */ _t79 = cpu->r[1] + 0x00000008u;
/* 028C0B7C */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
/* 028C0B80 */ Gambit_fn_028EB424(cpu);
/* 028C0B84 */ Gambit_fn_028C2A3C(cpu);
/* 028C0B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0B8C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0B8C */ _t81 = _t80 & 0x00000001u;
/* 028C0B8C */ if (_t81) goto L_028C0C84; else goto L_028C0B90;
L_028C0B90: ; // 0x28c0b90
/* 028C0B90 */ goto L_028C0C6C;
L_028C0B94: ; // 0x28c0b94
/* 028C0B94 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[0]);
/* 028C0B98 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0B98 */ _t83 = _t82 & 0x00000001u;
/* 028C0B98 */ if (_t83) goto L_028C0B9C; else goto L_028C0BA0;
L_028C0B9C: ; // 0x28c0b9c
/* 028C0B9C */ cpu->f[28] = cpu->f[0];
L_028C0BA0: ; // 0x28c0ba0
/* 028C0BA0 */ cpu->f[1] = cpu->f[27];
/* 028C0BA4 */ cpu->r[0] = 0x00000001u;
/* 028C0BA8 */ cpu->r[3] = cpu->r[28];
/* 028C0BAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0BB0 */ _t84 = cpu->r[1] + 0x00000008u;
/* 028C0BB0 */ rbrew_write32(cpu->mem, _t84, cpu->r[0]);
/* 028C0BB4 */ Gambit_fn_028EB424(cpu);
/* 028C0BB8 */ cpu->f[1] = cpu->f[28];
/* 028C0BBC */ cpu->r[11] = 0x00000002u;
/* 028C0BC0 */ cpu->r[3] = cpu->r[28];
/* 028C0BC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0BC8 */ _t85 = cpu->r[1] + 0x00000008u;
/* 028C0BC8 */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
/* 028C0BCC */ Gambit_fn_028EB424(cpu);
/* 028C0BD0 */ cpu->f[1] = cpu->f[30];
/* 028C0BD4 */ cpu->r[0] = 0x00000003u;
/* 028C0BD8 */ cpu->r[3] = cpu->r[28];
/* 028C0BDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0BE0 */ _t86 = cpu->r[1] + 0x00000008u;
/* 028C0BE0 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
/* 028C0BE4 */ Gambit_fn_028EB424(cpu);
/* 028C0BE8 */ Gambit_fn_028C2A3C(cpu);
/* 028C0BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0BF0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0BF0 */ _t88 = _t87 & 0x00000001u;
/* 028C0BF0 */ if (_t88) goto L_028C0C84; else goto L_028C0BF4;
L_028C0BF4: ; // 0x28c0bf4
/* 028C0BF4 */ goto L_028C0C6C;
L_028C0BF8: ; // 0x28c0bf8
/* 028C0BF8 */ cpu->f[30] = cpu->f[30] + cpu->f[29];
/* 028C0BFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
/* 028C0C00 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0C00 */ _t90 = _t89 & 0x00000001u;
/* 028C0C00 */ if (_t90) goto L_028C0C04; else goto L_028C0C0C;
L_028C0C04: ; // 0x28c0c04
/* 028C0C04 */ cpu->f[30] = cpu->f[31];
/* 028C0C08 */ goto L_028C0C18;
L_028C0C0C: ; // 0x28c0c0c
/* 028C0C0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[0]);
/* 028C0C10 */ _t91 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0C10 */ _t92 = _t91 & 0x00000001u;
/* 028C0C10 */ if (_t92) goto L_028C0C14; else goto L_028C0C18;
L_028C0C14: ; // 0x28c0c14
/* 028C0C14 */ cpu->f[30] = cpu->f[0];
L_028C0C18: ; // 0x28c0c18
/* 028C0C18 */ cpu->f[1] = cpu->f[27];
/* 028C0C1C */ cpu->r[0] = 0x00000001u;
/* 028C0C20 */ cpu->r[3] = cpu->r[28];
/* 028C0C24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0C28 */ _t93 = cpu->r[1] + 0x00000008u;
/* 028C0C28 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
/* 028C0C2C */ Gambit_fn_028EB424(cpu);
/* 028C0C30 */ cpu->f[1] = cpu->f[28];
/* 028C0C34 */ cpu->r[11] = 0x00000002u;
/* 028C0C38 */ cpu->r[3] = cpu->r[28];
/* 028C0C3C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0C40 */ _t94 = cpu->r[1] + 0x00000008u;
/* 028C0C40 */ rbrew_write32(cpu->mem, _t94, cpu->r[11]);
/* 028C0C44 */ Gambit_fn_028EB424(cpu);
/* 028C0C48 */ cpu->f[1] = cpu->f[30];
/* 028C0C4C */ cpu->r[0] = 0x00000003u;
/* 028C0C50 */ cpu->r[3] = cpu->r[28];
/* 028C0C54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0C58 */ _t95 = cpu->r[1] + 0x00000008u;
/* 028C0C58 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
/* 028C0C5C */ Gambit_fn_028EB424(cpu);
/* 028C0C60 */ Gambit_fn_028C2A3C(cpu);
/* 028C0C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0C68 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0C68 */ _t97 = _t96 & 0x00000001u;
/* 028C0C68 */ if (_t97) goto L_028C0C84; else goto L_028C0C6C;
L_028C0C6C: ; // 0x28c0c6c
/* 028C0C6C */ cpu->f[3] = cpu->f[28];
/* 028C0C70 */ _t98 = cpu->r[29] + 0x000000E0u;
/* 028C0C70 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t98);
/* 028C0C74 */ cpu->f[4] = cpu->f[30];
/* 028C0C78 */ cpu->r[4] = cpu->r[29];
/* 028C0C7C */ cpu->f[2] = cpu->f[27];
/* 028C0C80 */ Gambit_fn_028CDC08(cpu);
L_028C0C84: ; // 0x28c0c84
/* 028C0C84 */ _t99 = cpu->r[1] + 0x00000010u;
/* 028C0C84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t99);
/* 028C0C88 */ _t100 = cpu->r[1] + 0x00000014u;
/* 028C0C88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t100);
/* 028C0C8C */ _t101 = cpu->r[1] + 0x00000048u;
/* 028C0C8C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t101);
/* 028C0C90 */ _t102 = cpu->r[1] + 0x00000038u;
/* 028C0C90 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t102);
/* 028C0C94 */ _t103 = cpu->r[1] + 0x00000040u;
/* 028C0C94 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t103);
/* 028C0C98 */ _t104 = cpu->r[1] + 0x00000058u;
/* 028C0C98 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t104);
/* 028C0C9C */ _t105 = cpu->r[1] + 0x00000030u;
/* 028C0C9C */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t105);
/* 028C0CA0 */ _t106 = cpu->r[1] + 0x00000050u;
/* 028C0CA0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t106);
/* 028C0CA4 */ _t107 = cpu->r[1] + 0x00000078u;
/* 028C0CA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t107);
/* 028C0CA8 */ _t108 = cpu->r[1] + 0x0000001Cu;
/* 028C0CA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t108);
/* 028C0CAC */ _t109 = cpu->r[1] + 0x00000070u;
/* 028C0CAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t109);
/* 028C0CB0 */ _t110 = cpu->r[1] + 0x00000068u;
/* 028C0CB0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t110);
/* 028C0CB4 */ _t111 = cpu->r[1] + 0x00000028u;
/* 028C0CB4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t111);
/* 028C0CB8 */ _t112 = cpu->r[1] + 0x00000060u;
/* 028C0CB8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t112);
/* 028C0CBC */ _t113 = cpu->r[1] + 0x00000020u;
/* 028C0CBC */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t113);
/* 028C0CC0 */ _t114 = cpu->r[1] + 0x00000018u;
/* 028C0CC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t114);
/* 028C0CC4 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0CC4 */ _t116 = _t115 & 0x00000001u;
/* 028C0CC4 */ if (_t116) goto L_028C0CC8; // else: addr-0 trap, fall-through
L_028C0CC8: ; // 0x28c0cc8
/* 028C0CC8 */ _t117 = cpu->r[1] + 0x00000084u;
/* 028C0CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
/* 028C0CCC */ cpu->lr = cpu->r[0];
/* 028C0CD0 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
/* 028C0CD4 */ return;
}
// fn_028C0CD8 @ 0x28c0cd8
void Gambit_fn_028C0CD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C0CD8: ; // 0x28c0cd8
/* 028C0CD8 */ _t0 = cpu->r[3] + 0x000001A0u;
/* 028C0CD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C0CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C0CE0 */ _t1 = cpu->r[3] + 0x000000F0u;
/* 028C0CE0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
/* 028C0CE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0CE4 */ _t3 = _t2 & 0x00000001u;
/* 028C0CE4 */ if (_t3) goto L_028C0CF0; else goto L_028C0CE8;
L_028C0CE8: ; // 0x28c0ce8
/* 028C0CE8 */ _t4 = cpu->r[12] + 0x00000008u;
/* 028C0CE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028C0CEC */ cpu->f[1] = cpu->f[1] * cpu->f[0];
L_028C0CF0: ; // 0x28c0cf0
/* 028C0CF0 */ _t5 = cpu->r[3] + 0x00000134u;
/* 028C0CF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028C0CF4 */ _t6 = cpu->r[12] + 0x00000000u;
/* 028C0CF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C0CF8 */ goto L_028EB404;
L_028EB404: ; // 0x28eb404
/* 028EB404 */ _t7 = cpu->r[3] + 0x00000024u;
/* 028EB404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028EB408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028EB40C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB40C */ _t9 = _t8 & 0x00000001u;
/* 028EB40C */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB40C */ goto L_028EB410;
L_028EB410: ; // 0x28eb410
/* 028EB410 */ _t10 = cpu->r[12] + 0x00000000u;
/* 028EB410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028EB414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028EB418 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028EB418 */ _t12 = _t11 & 0x00000001u;
/* 028EB418 */ if (_t12) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028EB418 */ goto L_028EB41C;
L_028EB41C: ; // 0x28eb41c
/* 028EB41C */ _t13 = cpu->r[12] + 0x00000000u;
/* 028EB41C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028EB420 */ goto L_02C4169C;
L_02C4169C: ; // 0x2c4169c
/* 02C4169C */ _t14 = cpu->r[3] + 0x00000110u;
/* 02C4169C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[1]);
/* 02C416A0 */ return;
}
// fn_028C0CFC @ 0x28c0cfc
void Gambit_fn_028C0CFC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_028C0CFC: ; // 0x28c0cfc
/* 028C0CFC */ cpu->r[0] = cpu->lr;
/* 028C0D00 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C0D00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C0D00 */ cpu->r[1] = _t0;
/* 028C0D04 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028C0D04 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C0D08 */ /* nop */
/* 028C0D0C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C0D0C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C0D10 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028C0D10 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C0D14 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028C0D14 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C0D18 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C0D18 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
/* 028C0D1C */ _t6 = cpu->r[1] + 0x0000003Cu;
/* 028C0D1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C0D20 */ /* nop */
/* 028C0D24 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028C0D24 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
/* 028C0D28 */ cpu->r[30] = cpu->r[3];
/* 028C0D2C */ _t8 = cpu->r[1] + 0x00000020u;
/* 028C0D2C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
/* 028C0D30 */ _t9 = cpu->r[30] + 0x0000019Cu;
/* 028C0D30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028C0D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C0D38 */ _t10 = cpu->r[30] + 0x000000F8u;
/* 028C0D38 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t10);
/* 028C0D3C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0D3C */ _t12 = _t11 & 0x00000001u;
/* 028C0D3C */ if (_t12) goto L_028C0DAC; else goto L_028C0D40;
L_028C0D40: ; // 0x28c0d40
/* 028C0D40 */ _t13 = cpu->r[8] + 0x00000022u;
/* 028C0D40 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
/* 028C0D44 */ cpu->r[10] = 0x10140000u;
/* 028C0D48 */ cpu->r[31] = 0x00000000u;
/* 028C0D4C */ _t14 = cpu->r[10] + 0xFFFF9114u;
/* 028C0D4C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028C0D50 */ _t15 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0D50 */ _t16 = cpu->r[29] & 0xFFFF0000u;
/* 028C0D50 */ cpu->r[29] = _t16 | _t15;
/* 028C0D54 */ Gambit_fn_028C2A24(cpu);
/* 028C0D58 */ _t17 = cpu->r[3] + 0x0000000Cu;
/* 028C0D58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C0D5C */ cpu->r[6] = cpu->r[3] + 0xFFFFFE88u;
/* 028C0D60 */ cpu->r[10] = cpu->r[11] + 0xFFFFFE80u;
/* 028C0D64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
/* 028C0D68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0D68 */ _t19 = _t18 & 0x00000001u;
/* 028C0D68 */ if (_t19) goto L_028C0DA8; else goto L_028C0D6C;
L_028C0D6C: ; // 0x28c0d6c
/* 028C0D6C */ cpu->r[8] = 0x00000001u;
L_028C0D70: ; // 0x28c0d70
/* 028C0D70 */ /* nop */
/* 028C0D74 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0D78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0D7C */ cpu->r[11] = cpu->r[7] & cpu->r[0];
/* 028C0D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C0D80 */ _t20 = cpu->r[10] + 0x00000184u;
/* 028C0D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028C0D84 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0D84 */ _t22 = _t21 & 0x00000001u;
/* 028C0D84 */ if (_t22) goto L_028C0D98; else goto L_028C0D88;
L_028C0D88: ; // 0x28c0d88
/* 028C0D88 */ _t23 = cpu->r[10] + 0x00000058u;
/* 028C0D88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
/* 028C0D8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
/* 028C0D90 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0D90 */ _t25 = _t24 & 0x00000001u;
/* 028C0D90 */ if (_t25) goto L_028C0D94; else goto L_028C0D98;
L_028C0D94: ; // 0x28c0d94
/* 028C0D94 */ _t26 = cpu->r[10] + 0x00000058u;
/* 028C0D94 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
L_028C0D98: ; // 0x28c0d98
/* 028C0D98 */ cpu->r[10] = cpu->r[12] + 0xFFFFFE80u;
/* 028C0D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
/* 028C0DA0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028C0DA4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0DA4 */ _t28 = _t27 & 0x00000001u;
/* 028C0DA4 */ if (_t28) goto L_028C0DA8; else goto L_028C0D70;
L_028C0DA8: ; // 0x28c0da8
/* 028C0DA8 */ cpu->f[30] = cpu->f[30] + cpu->f[31];
L_028C0DAC: ; // 0x28c0dac
/* 028C0DAC */ cpu->r[8] = 0x10140000u;
/* 028C0DB0 */ _t29 = cpu->r[8] + 0xFFFF90F0u;
/* 028C0DB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028C0DB4 */ _t30 = cpu->r[30] + 0x00000134u;
/* 028C0DB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
/* 028C0DB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[0]);
/* 028C0DBC */ _t31 = cpu->r[7] + 0x00000000u;
/* 028C0DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
/* 028C0DC0 */ cpu->f[1] = cpu->f[30];
/* 028C0DC4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0DC4 */ _t33 = _t32 & 0x00000001u;
/* 028C0DC4 */ if (_t33) goto L_028C0DC8; else goto L_028C0DD4;
L_028C0DC8: ; // 0x28c0dc8
/* 028C0DC8 */ cpu->f[1] = cpu->f[0];
/* 028C0DCC */ Gambit_fn_028EB4D8(cpu);
/* 028C0DD0 */ goto L_028C0DEC;
L_028C0DD4: ; // 0x28c0dd4
/* 028C0DD4 */ cpu->r[12] = 0x10140000u;
/* 028C0DD8 */ _t34 = cpu->r[12] + 0xFFFF90F8u;
/* 028C0DD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
/* 028C0DDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
/* 028C0DE0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0DE0 */ _t36 = _t35 & 0x00000001u;
/* 028C0DE0 */ if (_t36) goto L_028C0DE4; else goto L_028C0DE8;
L_028C0DE4: ; // 0x28c0de4
/* 028C0DE4 */ cpu->f[1] = cpu->f[13];
L_028C0DE8: ; // 0x28c0de8
/* 028C0DE8 */ Gambit_fn_028EB4D8(cpu);
L_028C0DEC: ; // 0x28c0dec
/* 028C0DEC */ _t37 = cpu->r[1] + 0x0000000Cu;
/* 028C0DEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
/* 028C0DF0 */ _t38 = cpu->r[1] + 0x00000030u;
/* 028C0DF0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
/* 028C0DF4 */ _t39 = cpu->r[1] + 0x00000020u;
/* 028C0DF4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t39);
/* 028C0DF8 */ _t40 = cpu->r[1] + 0x00000028u;
/* 028C0DF8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t40);
/* 028C0DFC */ _t41 = cpu->r[1] + 0x00000018u;
/* 028C0DFC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t41);
/* 028C0E00 */ _t42 = cpu->r[1] + 0x00000014u;
/* 028C0E00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
/* 028C0E04 */ _t43 = cpu->r[1] + 0x00000010u;
/* 028C0E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028C0E08 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0E08 */ _t45 = _t44 & 0x00000001u;
/* 028C0E08 */ if (_t45) goto L_028C0E0C; // else: addr-0 trap, fall-through
L_028C0E0C: ; // 0x28c0e0c
/* 028C0E0C */ _t46 = cpu->r[1] + 0x0000003Cu;
/* 028C0E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028C0E10 */ cpu->lr = cpu->r[0];
/* 028C0E14 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C0E18 */ return;
}
// fn_028C0D00 @ 0x28c0d00
void Gambit_fn_028C0D00(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_028C0D00: ; // 0x28c0d00
/* 028C0D00 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C0D00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C0D00 */ cpu->r[1] = _t0;
/* 028C0D04 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028C0D04 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C0D08 */ /* nop */
/* 028C0D0C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C0D0C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C0D10 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028C0D10 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C0D14 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028C0D14 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C0D18 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C0D18 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
/* 028C0D1C */ _t6 = cpu->r[1] + 0x0000003Cu;
/* 028C0D1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C0D20 */ /* nop */
/* 028C0D24 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028C0D24 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
/* 028C0D28 */ cpu->r[30] = cpu->r[3];
/* 028C0D2C */ _t8 = cpu->r[1] + 0x00000020u;
/* 028C0D2C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
/* 028C0D30 */ _t9 = cpu->r[30] + 0x0000019Cu;
/* 028C0D30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028C0D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C0D38 */ _t10 = cpu->r[30] + 0x000000F8u;
/* 028C0D38 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t10);
/* 028C0D3C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0D3C */ _t12 = _t11 & 0x00000001u;
/* 028C0D3C */ if (_t12) goto L_028C0DAC; else goto L_028C0D40;
L_028C0D40: ; // 0x28c0d40
/* 028C0D40 */ _t13 = cpu->r[8] + 0x00000022u;
/* 028C0D40 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
/* 028C0D44 */ cpu->r[10] = 0x10140000u;
/* 028C0D48 */ cpu->r[31] = 0x00000000u;
/* 028C0D4C */ _t14 = cpu->r[10] + 0xFFFF9114u;
/* 028C0D4C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028C0D50 */ _t15 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0D50 */ _t16 = cpu->r[29] & 0xFFFF0000u;
/* 028C0D50 */ cpu->r[29] = _t16 | _t15;
/* 028C0D54 */ Gambit_fn_028C2A24(cpu);
/* 028C0D58 */ _t17 = cpu->r[3] + 0x0000000Cu;
/* 028C0D58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C0D5C */ cpu->r[6] = cpu->r[3] + 0xFFFFFE88u;
/* 028C0D60 */ cpu->r[10] = cpu->r[11] + 0xFFFFFE80u;
/* 028C0D64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
/* 028C0D68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0D68 */ _t19 = _t18 & 0x00000001u;
/* 028C0D68 */ if (_t19) goto L_028C0DA8; else goto L_028C0D6C;
L_028C0D6C: ; // 0x28c0d6c
/* 028C0D6C */ cpu->r[8] = 0x00000001u;
L_028C0D70: ; // 0x28c0d70
/* 028C0D70 */ /* nop */
/* 028C0D74 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0D78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0D7C */ cpu->r[11] = cpu->r[7] & cpu->r[0];
/* 028C0D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C0D80 */ _t20 = cpu->r[10] + 0x00000184u;
/* 028C0D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028C0D84 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0D84 */ _t22 = _t21 & 0x00000001u;
/* 028C0D84 */ if (_t22) goto L_028C0D98; else goto L_028C0D88;
L_028C0D88: ; // 0x28c0d88
/* 028C0D88 */ _t23 = cpu->r[10] + 0x00000058u;
/* 028C0D88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
/* 028C0D8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
/* 028C0D90 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0D90 */ _t25 = _t24 & 0x00000001u;
/* 028C0D90 */ if (_t25) goto L_028C0D94; else goto L_028C0D98;
L_028C0D94: ; // 0x28c0d94
/* 028C0D94 */ _t26 = cpu->r[10] + 0x00000058u;
/* 028C0D94 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
L_028C0D98: ; // 0x28c0d98
/* 028C0D98 */ cpu->r[10] = cpu->r[12] + 0xFFFFFE80u;
/* 028C0D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
/* 028C0DA0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028C0DA4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0DA4 */ _t28 = _t27 & 0x00000001u;
/* 028C0DA4 */ if (_t28) goto L_028C0DA8; else goto L_028C0D70;
L_028C0DA8: ; // 0x28c0da8
/* 028C0DA8 */ cpu->f[30] = cpu->f[30] + cpu->f[31];
L_028C0DAC: ; // 0x28c0dac
/* 028C0DAC */ cpu->r[8] = 0x10140000u;
/* 028C0DB0 */ _t29 = cpu->r[8] + 0xFFFF90F0u;
/* 028C0DB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028C0DB4 */ _t30 = cpu->r[30] + 0x00000134u;
/* 028C0DB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
/* 028C0DB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[0]);
/* 028C0DBC */ _t31 = cpu->r[7] + 0x00000000u;
/* 028C0DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
/* 028C0DC0 */ cpu->f[1] = cpu->f[30];
/* 028C0DC4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0DC4 */ _t33 = _t32 & 0x00000001u;
/* 028C0DC4 */ if (_t33) goto L_028C0DC8; else goto L_028C0DD4;
L_028C0DC8: ; // 0x28c0dc8
/* 028C0DC8 */ cpu->f[1] = cpu->f[0];
/* 028C0DCC */ Gambit_fn_028EB4D8(cpu);
/* 028C0DD0 */ goto L_028C0DEC;
L_028C0DD4: ; // 0x28c0dd4
/* 028C0DD4 */ cpu->r[12] = 0x10140000u;
/* 028C0DD8 */ _t34 = cpu->r[12] + 0xFFFF90F8u;
/* 028C0DD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
/* 028C0DDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
/* 028C0DE0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0DE0 */ _t36 = _t35 & 0x00000001u;
/* 028C0DE0 */ if (_t36) goto L_028C0DE4; else goto L_028C0DE8;
L_028C0DE4: ; // 0x28c0de4
/* 028C0DE4 */ cpu->f[1] = cpu->f[13];
L_028C0DE8: ; // 0x28c0de8
/* 028C0DE8 */ Gambit_fn_028EB4D8(cpu);
L_028C0DEC: ; // 0x28c0dec
/* 028C0DEC */ _t37 = cpu->r[1] + 0x0000000Cu;
/* 028C0DEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
/* 028C0DF0 */ _t38 = cpu->r[1] + 0x00000030u;
/* 028C0DF0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
/* 028C0DF4 */ _t39 = cpu->r[1] + 0x00000020u;
/* 028C0DF4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t39);
/* 028C0DF8 */ _t40 = cpu->r[1] + 0x00000028u;
/* 028C0DF8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t40);
/* 028C0DFC */ _t41 = cpu->r[1] + 0x00000018u;
/* 028C0DFC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t41);
/* 028C0E00 */ _t42 = cpu->r[1] + 0x00000014u;
/* 028C0E00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
/* 028C0E04 */ _t43 = cpu->r[1] + 0x00000010u;
/* 028C0E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028C0E08 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0E08 */ _t45 = _t44 & 0x00000001u;
/* 028C0E08 */ if (_t45) goto L_028C0E0C; // else: addr-0 trap, fall-through
L_028C0E0C: ; // 0x28c0e0c
/* 028C0E0C */ _t46 = cpu->r[1] + 0x0000003Cu;
/* 028C0E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028C0E10 */ cpu->lr = cpu->r[0];
/* 028C0E14 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C0E18 */ return;
}
// fn_028C0E1C @ 0x28c0e1c
void Gambit_fn_028C0E1C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C0E1C: ; // 0x28c0e1c
/* 028C0E1C */ cpu->r[0] = cpu->lr;
/* 028C0E20 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C0E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C0E20 */ cpu->r[1] = _t0;
/* 028C0E24 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028C0E24 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C0E28 */ /* nop */
/* 028C0E2C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C0E2C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C0E30 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028C0E30 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C0E34 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C0E34 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C0E38 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C0E38 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
/* 028C0E3C */ _t6 = cpu->r[1] + 0x0000003Cu;
/* 028C0E3C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C0E40 */ /* nop */
/* 028C0E44 */ _t7 = cpu->r[1] + 0x00000010u;
/* 028C0E44 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C0E48 */ cpu->r[31] = cpu->r[3];
/* 028C0E4C */ _t8 = cpu->r[1] + 0x00000020u;
/* 028C0E4C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
/* 028C0E50 */ _t9 = cpu->r[31] + 0x0000019Cu;
/* 028C0E50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028C0E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C0E58 */ _t10 = cpu->r[31] + 0x00000100u;
/* 028C0E58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C0E5C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0E5C */ _t12 = _t11 & 0x00000001u;
/* 028C0E5C */ if (_t12) goto L_028C0ECC; else goto L_028C0E60;
L_028C0E60: ; // 0x28c0e60
/* 028C0E60 */ _t13 = cpu->r[11] + 0x00000022u;
/* 028C0E60 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
/* 028C0E64 */ cpu->r[10] = 0x10140000u;
/* 028C0E68 */ cpu->r[30] = 0x00000000u;
/* 028C0E6C */ _t14 = cpu->r[10] + 0xFFFF9114u;
/* 028C0E6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
/* 028C0E70 */ _t15 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0E70 */ _t16 = cpu->r[29] & 0xFFFF0000u;
/* 028C0E70 */ cpu->r[29] = _t16 | _t15;
/* 028C0E74 */ Gambit_fn_028C2A24(cpu);
/* 028C0E78 */ _t17 = cpu->r[3] + 0x0000000Cu;
/* 028C0E78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028C0E7C */ cpu->r[8] = cpu->r[3] + 0xFFFFFE88u;
/* 028C0E80 */ cpu->r[6] = cpu->r[10] + 0xFFFFFE80u;
/* 028C0E84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
/* 028C0E88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0E88 */ _t19 = _t18 & 0x00000001u;
/* 028C0E88 */ if (_t19) goto L_028C0EC8; else goto L_028C0E8C;
L_028C0E8C: ; // 0x28c0e8c
/* 028C0E8C */ cpu->r[10] = 0x00000001u;
L_028C0E90: ; // 0x28c0e90
/* 028C0E90 */ /* nop */
/* 028C0E94 */ cpu->r[11] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0E98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0E9C */ cpu->r[7] = cpu->r[11] & cpu->r[0];
/* 028C0E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C0EA0 */ _t20 = cpu->r[6] + 0x00000184u;
/* 028C0EA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028C0EA4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0EA4 */ _t22 = _t21 & 0x00000001u;
/* 028C0EA4 */ if (_t22) goto L_028C0EB8; else goto L_028C0EA8;
L_028C0EA8: ; // 0x28c0ea8
/* 028C0EA8 */ _t23 = cpu->r[6] + 0x0000005Cu;
/* 028C0EA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028C0EAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[30]);
/* 028C0EB0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0EB0 */ _t25 = _t24 & 0x00000001u;
/* 028C0EB0 */ if (_t25) goto L_028C0EB4; else goto L_028C0EB8;
L_028C0EB4: ; // 0x28c0eb4
/* 028C0EB4 */ _t26 = cpu->r[6] + 0x0000005Cu;
/* 028C0EB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t26);
L_028C0EB8: ; // 0x28c0eb8
/* 028C0EB8 */ cpu->r[6] = cpu->r[9] + 0xFFFFFE80u;
/* 028C0EBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
/* 028C0EC0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C0EC4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0EC4 */ _t28 = _t27 & 0x00000001u;
/* 028C0EC4 */ if (_t28) goto L_028C0EC8; else goto L_028C0E90;
L_028C0EC8: ; // 0x28c0ec8
/* 028C0EC8 */ cpu->f[31] = cpu->f[31] + cpu->f[30];
L_028C0ECC: ; // 0x28c0ecc
/* 028C0ECC */ _t29 = cpu->r[31] + 0x000001A0u;
/* 028C0ECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028C0ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C0ED4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0ED4 */ _t31 = _t30 & 0x00000001u;
/* 028C0ED4 */ if (_t31) goto L_028C0F00; else goto L_028C0ED8;
L_028C0ED8: ; // 0x28c0ed8
/* 028C0ED8 */ _t32 = cpu->r[12] + 0x0000000Cu;
/* 028C0ED8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
/* 028C0EDC */ cpu->r[8] = 0x10140000u;
/* 028C0EE0 */ _t33 = cpu->r[31] + 0x00000134u;
/* 028C0EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
/* 028C0EE4 */ cpu->f[31] = cpu->f[31] + cpu->f[13];
/* 028C0EE8 */ _t34 = cpu->r[8] + 0xFFFF90F0u;
/* 028C0EE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
/* 028C0EEC */ _t35 = cpu->r[9] + 0x00000000u;
/* 028C0EEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028C0EF0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
/* 028C0EF4 */ _t36 = cpu->r[31] + 0x000000FCu;
/* 028C0EF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
/* 028C0EF8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0EF8 */ _t38 = _t37 & 0x00000001u;
/* 028C0EF8 */ if (_t38) goto L_028C0F3C; else goto L_028C0EFC;
L_028C0EFC: ; // 0x28c0efc
/* 028C0EFC */ goto L_028C0F48;
L_028C0F00: ; // 0x28c0f00
/* 028C0F00 */ _t39 = cpu->r[31] + 0x00000130u;
/* 028C0F00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
/* 028C0F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0F08 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0F08 */ _t41 = _t40 & 0x00000001u;
/* 028C0F08 */ if (_t41) goto L_028C0F20; else goto L_028C0F0C;
L_028C0F0C: ; // 0x28c0f0c
/* 028C0F0C */ _t42 = cpu->r[3] + 0x00000004u;
/* 028C0F0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
/* 028C0F10 */ _t43 = cpu->r[11] + 0x00000034u;
/* 028C0F10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028C0F14 */ cpu->ctr = cpu->r[12];
/* 028C0F18 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C0F1C */ cpu->f[31] = cpu->f[31] + cpu->f[1];
L_028C0F20: ; // 0x28c0f20
/* 028C0F20 */ cpu->r[8] = 0x10140000u;
/* 028C0F24 */ _t44 = cpu->r[31] + 0x00000134u;
/* 028C0F24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
/* 028C0F28 */ _t45 = cpu->r[8] + 0xFFFF90F0u;
/* 028C0F28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
/* 028C0F2C */ _t46 = cpu->r[9] + 0x00000000u;
/* 028C0F2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
/* 028C0F30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
/* 028C0F34 */ _t47 = cpu->r[31] + 0x000000FCu;
/* 028C0F34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
/* 028C0F38 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0F38 */ _t49 = _t48 & 0x00000001u;
/* 028C0F38 */ if (_t49) goto L_028C0F3C; else goto L_028C0F48;
L_028C0F3C: ; // 0x28c0f3c
/* 028C0F3C */ cpu->f[1] = cpu->f[0];
/* 028C0F40 */ Gambit_fn_028EB4B8(cpu);
/* 028C0F44 */ goto L_028C0F64;
L_028C0F48: ; // 0x28c0f48
/* 028C0F48 */ cpu->r[6] = 0x10140000u;
/* 028C0F4C */ _t50 = cpu->r[6] + 0xFFFF90F8u;
/* 028C0F4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
/* 028C0F50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
/* 028C0F54 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0F54 */ _t52 = _t51 & 0x00000001u;
/* 028C0F54 */ if (_t52) goto L_028C0F58; else goto L_028C0F5C;
L_028C0F58: ; // 0x28c0f58
/* 028C0F58 */ cpu->f[31] = cpu->f[13];
L_028C0F5C: ; // 0x28c0f5c
/* 028C0F5C */ cpu->f[1] = cpu->f[31];
/* 028C0F60 */ Gambit_fn_028EB4B8(cpu);
L_028C0F64: ; // 0x28c0f64
/* 028C0F64 */ _t53 = cpu->r[1] + 0x0000000Cu;
/* 028C0F64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
/* 028C0F68 */ _t54 = cpu->r[1] + 0x00000030u;
/* 028C0F68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
/* 028C0F6C */ _t55 = cpu->r[1] + 0x00000020u;
/* 028C0F6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t55);
/* 028C0F70 */ _t56 = cpu->r[1] + 0x00000028u;
/* 028C0F70 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t56);
/* 028C0F74 */ _t57 = cpu->r[1] + 0x00000018u;
/* 028C0F74 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t57);
/* 028C0F78 */ _t58 = cpu->r[1] + 0x00000014u;
/* 028C0F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028C0F7C */ _t59 = cpu->r[1] + 0x00000010u;
/* 028C0F7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
/* 028C0F80 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0F80 */ _t61 = _t60 & 0x00000001u;
/* 028C0F80 */ if (_t61) goto L_028C0F84; // else: addr-0 trap, fall-through
L_028C0F84: ; // 0x28c0f84
/* 028C0F84 */ _t62 = cpu->r[1] + 0x0000003Cu;
/* 028C0F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028C0F88 */ cpu->lr = cpu->r[0];
/* 028C0F8C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C0F90 */ return;
}
// fn_028C0E20 @ 0x28c0e20
void Gambit_fn_028C0E20(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C0E20: ; // 0x28c0e20
/* 028C0E20 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C0E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C0E20 */ cpu->r[1] = _t0;
/* 028C0E24 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028C0E24 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C0E28 */ /* nop */
/* 028C0E2C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C0E2C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C0E30 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028C0E30 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C0E34 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C0E34 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C0E38 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C0E38 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
/* 028C0E3C */ _t6 = cpu->r[1] + 0x0000003Cu;
/* 028C0E3C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C0E40 */ /* nop */
/* 028C0E44 */ _t7 = cpu->r[1] + 0x00000010u;
/* 028C0E44 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C0E48 */ cpu->r[31] = cpu->r[3];
/* 028C0E4C */ _t8 = cpu->r[1] + 0x00000020u;
/* 028C0E4C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
/* 028C0E50 */ _t9 = cpu->r[31] + 0x0000019Cu;
/* 028C0E50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028C0E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C0E58 */ _t10 = cpu->r[31] + 0x00000100u;
/* 028C0E58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C0E5C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0E5C */ _t12 = _t11 & 0x00000001u;
/* 028C0E5C */ if (_t12) goto L_028C0ECC; else goto L_028C0E60;
L_028C0E60: ; // 0x28c0e60
/* 028C0E60 */ _t13 = cpu->r[11] + 0x00000022u;
/* 028C0E60 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
/* 028C0E64 */ cpu->r[10] = 0x10140000u;
/* 028C0E68 */ cpu->r[30] = 0x00000000u;
/* 028C0E6C */ _t14 = cpu->r[10] + 0xFFFF9114u;
/* 028C0E6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
/* 028C0E70 */ _t15 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0E70 */ _t16 = cpu->r[29] & 0xFFFF0000u;
/* 028C0E70 */ cpu->r[29] = _t16 | _t15;
/* 028C0E74 */ Gambit_fn_028C2A24(cpu);
/* 028C0E78 */ _t17 = cpu->r[3] + 0x0000000Cu;
/* 028C0E78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028C0E7C */ cpu->r[8] = cpu->r[3] + 0xFFFFFE88u;
/* 028C0E80 */ cpu->r[6] = cpu->r[10] + 0xFFFFFE80u;
/* 028C0E84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
/* 028C0E88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0E88 */ _t19 = _t18 & 0x00000001u;
/* 028C0E88 */ if (_t19) goto L_028C0EC8; else goto L_028C0E8C;
L_028C0E8C: ; // 0x28c0e8c
/* 028C0E8C */ cpu->r[10] = 0x00000001u;
L_028C0E90: ; // 0x28c0e90
/* 028C0E90 */ /* nop */
/* 028C0E94 */ cpu->r[11] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0E98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
/* 028C0E9C */ cpu->r[7] = cpu->r[11] & cpu->r[0];
/* 028C0E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C0EA0 */ _t20 = cpu->r[6] + 0x00000184u;
/* 028C0EA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028C0EA4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0EA4 */ _t22 = _t21 & 0x00000001u;
/* 028C0EA4 */ if (_t22) goto L_028C0EB8; else goto L_028C0EA8;
L_028C0EA8: ; // 0x28c0ea8
/* 028C0EA8 */ _t23 = cpu->r[6] + 0x0000005Cu;
/* 028C0EA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
/* 028C0EAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[30]);
/* 028C0EB0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0EB0 */ _t25 = _t24 & 0x00000001u;
/* 028C0EB0 */ if (_t25) goto L_028C0EB4; else goto L_028C0EB8;
L_028C0EB4: ; // 0x28c0eb4
/* 028C0EB4 */ _t26 = cpu->r[6] + 0x0000005Cu;
/* 028C0EB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t26);
L_028C0EB8: ; // 0x28c0eb8
/* 028C0EB8 */ cpu->r[6] = cpu->r[9] + 0xFFFFFE80u;
/* 028C0EBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
/* 028C0EC0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C0EC4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0EC4 */ _t28 = _t27 & 0x00000001u;
/* 028C0EC4 */ if (_t28) goto L_028C0EC8; else goto L_028C0E90;
L_028C0EC8: ; // 0x28c0ec8
/* 028C0EC8 */ cpu->f[31] = cpu->f[31] + cpu->f[30];
L_028C0ECC: ; // 0x28c0ecc
/* 028C0ECC */ _t29 = cpu->r[31] + 0x000001A0u;
/* 028C0ECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028C0ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C0ED4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0ED4 */ _t31 = _t30 & 0x00000001u;
/* 028C0ED4 */ if (_t31) goto L_028C0F00; else goto L_028C0ED8;
L_028C0ED8: ; // 0x28c0ed8
/* 028C0ED8 */ _t32 = cpu->r[12] + 0x0000000Cu;
/* 028C0ED8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
/* 028C0EDC */ cpu->r[8] = 0x10140000u;
/* 028C0EE0 */ _t33 = cpu->r[31] + 0x00000134u;
/* 028C0EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
/* 028C0EE4 */ cpu->f[31] = cpu->f[31] + cpu->f[13];
/* 028C0EE8 */ _t34 = cpu->r[8] + 0xFFFF90F0u;
/* 028C0EE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
/* 028C0EEC */ _t35 = cpu->r[9] + 0x00000000u;
/* 028C0EEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028C0EF0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
/* 028C0EF4 */ _t36 = cpu->r[31] + 0x000000FCu;
/* 028C0EF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
/* 028C0EF8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0EF8 */ _t38 = _t37 & 0x00000001u;
/* 028C0EF8 */ if (_t38) goto L_028C0F3C; else goto L_028C0EFC;
L_028C0EFC: ; // 0x28c0efc
/* 028C0EFC */ goto L_028C0F48;
L_028C0F00: ; // 0x28c0f00
/* 028C0F00 */ _t39 = cpu->r[31] + 0x00000130u;
/* 028C0F00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
/* 028C0F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0F08 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0F08 */ _t41 = _t40 & 0x00000001u;
/* 028C0F08 */ if (_t41) goto L_028C0F20; else goto L_028C0F0C;
L_028C0F0C: ; // 0x28c0f0c
/* 028C0F0C */ _t42 = cpu->r[3] + 0x00000004u;
/* 028C0F0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
/* 028C0F10 */ _t43 = cpu->r[11] + 0x00000034u;
/* 028C0F10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028C0F14 */ cpu->ctr = cpu->r[12];
/* 028C0F18 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C0F1C */ cpu->f[31] = cpu->f[31] + cpu->f[1];
L_028C0F20: ; // 0x28c0f20
/* 028C0F20 */ cpu->r[8] = 0x10140000u;
/* 028C0F24 */ _t44 = cpu->r[31] + 0x00000134u;
/* 028C0F24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
/* 028C0F28 */ _t45 = cpu->r[8] + 0xFFFF90F0u;
/* 028C0F28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
/* 028C0F2C */ _t46 = cpu->r[9] + 0x00000000u;
/* 028C0F2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
/* 028C0F30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
/* 028C0F34 */ _t47 = cpu->r[31] + 0x000000FCu;
/* 028C0F34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
/* 028C0F38 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0F38 */ _t49 = _t48 & 0x00000001u;
/* 028C0F38 */ if (_t49) goto L_028C0F3C; else goto L_028C0F48;
L_028C0F3C: ; // 0x28c0f3c
/* 028C0F3C */ cpu->f[1] = cpu->f[0];
/* 028C0F40 */ Gambit_fn_028EB4B8(cpu);
/* 028C0F44 */ goto L_028C0F64;
L_028C0F48: ; // 0x28c0f48
/* 028C0F48 */ cpu->r[6] = 0x10140000u;
/* 028C0F4C */ _t50 = cpu->r[6] + 0xFFFF90F8u;
/* 028C0F4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
/* 028C0F50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
/* 028C0F54 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C0F54 */ _t52 = _t51 & 0x00000001u;
/* 028C0F54 */ if (_t52) goto L_028C0F58; else goto L_028C0F5C;
L_028C0F58: ; // 0x28c0f58
/* 028C0F58 */ cpu->f[31] = cpu->f[13];
L_028C0F5C: ; // 0x28c0f5c
/* 028C0F5C */ cpu->f[1] = cpu->f[31];
/* 028C0F60 */ Gambit_fn_028EB4B8(cpu);
L_028C0F64: ; // 0x28c0f64
/* 028C0F64 */ _t53 = cpu->r[1] + 0x0000000Cu;
/* 028C0F64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
/* 028C0F68 */ _t54 = cpu->r[1] + 0x00000030u;
/* 028C0F68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
/* 028C0F6C */ _t55 = cpu->r[1] + 0x00000020u;
/* 028C0F6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t55);
/* 028C0F70 */ _t56 = cpu->r[1] + 0x00000028u;
/* 028C0F70 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t56);
/* 028C0F74 */ _t57 = cpu->r[1] + 0x00000018u;
/* 028C0F74 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t57);
/* 028C0F78 */ _t58 = cpu->r[1] + 0x00000014u;
/* 028C0F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028C0F7C */ _t59 = cpu->r[1] + 0x00000010u;
/* 028C0F7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
/* 028C0F80 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0F80 */ _t61 = _t60 & 0x00000001u;
/* 028C0F80 */ if (_t61) goto L_028C0F84; // else: addr-0 trap, fall-through
L_028C0F84: ; // 0x28c0f84
/* 028C0F84 */ _t62 = cpu->r[1] + 0x0000003Cu;
/* 028C0F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028C0F88 */ cpu->lr = cpu->r[0];
/* 028C0F8C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C0F90 */ return;
}
// fn_028C0F94 @ 0x28c0f94
void Gambit_fn_028C0F94(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028C0F94: ; // 0x28c0f94
/* 028C0F94 */ cpu->r[0] = cpu->lr;
/* 028C0F98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C0F98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C0F98 */ cpu->r[1] = _t0;
/* 028C0F9C */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028C0F9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C0FA0 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C0FA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C0FA4 */ cpu->r[30] = cpu->r[5];
/* 028C0FA8 */ cpu->r[31] = cpu->r[4];
/* 028C0FAC */ _t3 = cpu->r[1] + 0x00000024u;
/* 028C0FAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C0FB0 */ Gambit_fn_028BD990(cpu);
/* 028C0FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0FB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0FB8 */ _t5 = _t4 & 0x00000001u;
/* 028C0FB8 */ if (_t5) goto L_028C0FCC; else goto L_028C0FBC;
L_028C0FBC: ; // 0x28c0fbc
/* 028C0FBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0FC0 */ Gambit_fn_028E6224(cpu);
/* 028C0FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0FC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0FC8 */ _t7 = _t6 & 0x00000001u;
/* 028C0FC8 */ if (_t7) goto L_028C0FCC; else goto L_028C0FE8;
L_028C0FCC: ; // 0x28c0fcc
/* 028C0FCC */ _t8 = cpu->r[1] + 0x00000024u;
/* 028C0FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C0FD0 */ cpu->r[3] = cpu->r[31];
/* 028C0FD4 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028C0FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C0FD8 */ cpu->lr = cpu->r[0];
/* 028C0FDC */ _t10 = cpu->r[1] + 0x00000018u;
/* 028C0FDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C0FE0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C0FE4 */ return;
L_028C0FE8: ; // 0x28c0fe8
/* 028C0FE8 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C0FE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
/* 028C0FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C0FF0 */ cpu->r[31] = cpu->r[31] + cpu->r[30];
/* 028C0FF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0FF4 */ _t13 = _t12 & 0x00000001u;
/* 028C0FF4 */ if (_t13) goto L_028C103C; else goto L_028C0FF8;
L_028C0FF8: ; // 0x28c0ff8
/* 028C0FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C0FFC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0FFC */ _t15 = _t14 & 0x00000001u;
/* 028C0FFC */ if (_t15) goto L_028C1020; else goto L_028C1000;
L_028C1000: ; // 0x28c1000
/* 028C1000 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C1000 */ _t17 = _t16 & 0x00000001u;
/* 028C1000 */ if (_t17) goto L_028C1004; else goto L_028C1048;
L_028C1004: ; // 0x28c1004
/* 028C1004 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028C1004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028C1008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
/* 028C100C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C100C */ _t20 = _t19 & 0x00000001u;
/* 028C100C */ if (_t20) goto L_028C1048; else goto L_028C1010;
L_028C1010: ; // 0x28c1010
/* 028C1010 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C1010 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028C1014 */ cpu->r[7] = cpu->r[31] - cpu->r[10];
/* 028C1018 */ cpu->r[31] = cpu->r[8] + cpu->r[7];
/* 028C101C */ goto L_028C1048;
L_028C1020: ; // 0x28c1020
/* 028C1020 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C1020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028C1024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
/* 028C1028 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1028 */ _t24 = _t23 & 0x00000001u;
/* 028C1028 */ if (_t24) goto L_028C102C; else goto L_028C1048;
L_028C102C: ; // 0x28c102c
/* 028C102C */ _t25 = cpu->r[1] + 0x00000010u;
/* 028C102C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
/* 028C1030 */ cpu->r[9] = cpu->r[11] + cpu->r[31];
/* 028C1034 */ cpu->r[31] = cpu->r[9] - cpu->r[12];
/* 028C1038 */ goto L_028C1048;
L_028C103C: ; // 0x28c103c
/* 028C103C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1040 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1040 */ _t27 = _t26 & 0x00000001u;
/* 028C1040 */ if (_t27) goto L_028C1044; else goto L_028C1048;
L_028C1044: ; // 0x28c1044
/* 028C1044 */ cpu->r[31] = 0x00000000u;
L_028C1048: ; // 0x28c1048
/* 028C1048 */ _t28 = cpu->r[1] + 0x00000024u;
/* 028C1048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C104C */ cpu->r[3] = cpu->r[31];
/* 028C1050 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028C1050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C1054 */ cpu->lr = cpu->r[0];
/* 028C1058 */ _t30 = cpu->r[1] + 0x00000018u;
/* 028C1058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028C105C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C1060 */ return;
}
// fn_028C0F98 @ 0x28c0f98
void Gambit_fn_028C0F98(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028C0F98: ; // 0x28c0f98
/* 028C0F98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C0F98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C0F98 */ cpu->r[1] = _t0;
/* 028C0F9C */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028C0F9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C0FA0 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C0FA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C0FA4 */ cpu->r[30] = cpu->r[5];
/* 028C0FA8 */ cpu->r[31] = cpu->r[4];
/* 028C0FAC */ _t3 = cpu->r[1] + 0x00000024u;
/* 028C0FAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C0FB0 */ Gambit_fn_028BD990(cpu);
/* 028C0FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0FB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0FB8 */ _t5 = _t4 & 0x00000001u;
/* 028C0FB8 */ if (_t5) goto L_028C0FCC; else goto L_028C0FBC;
L_028C0FBC: ; // 0x28c0fbc
/* 028C0FBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C0FC0 */ Gambit_fn_028E6224(cpu);
/* 028C0FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C0FC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0FC8 */ _t7 = _t6 & 0x00000001u;
/* 028C0FC8 */ if (_t7) goto L_028C0FCC; else goto L_028C0FE8;
L_028C0FCC: ; // 0x28c0fcc
/* 028C0FCC */ _t8 = cpu->r[1] + 0x00000024u;
/* 028C0FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C0FD0 */ cpu->r[3] = cpu->r[31];
/* 028C0FD4 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028C0FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C0FD8 */ cpu->lr = cpu->r[0];
/* 028C0FDC */ _t10 = cpu->r[1] + 0x00000018u;
/* 028C0FDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C0FE0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C0FE4 */ return;
L_028C0FE8: ; // 0x28c0fe8
/* 028C0FE8 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C0FE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
/* 028C0FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C0FF0 */ cpu->r[31] = cpu->r[31] + cpu->r[30];
/* 028C0FF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C0FF4 */ _t13 = _t12 & 0x00000001u;
/* 028C0FF4 */ if (_t13) goto L_028C103C; else goto L_028C0FF8;
L_028C0FF8: ; // 0x28c0ff8
/* 028C0FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C0FFC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C0FFC */ _t15 = _t14 & 0x00000001u;
/* 028C0FFC */ if (_t15) goto L_028C1020; else goto L_028C1000;
L_028C1000: ; // 0x28c1000
/* 028C1000 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C1000 */ _t17 = _t16 & 0x00000001u;
/* 028C1000 */ if (_t17) goto L_028C1004; else goto L_028C1048;
L_028C1004: ; // 0x28c1004
/* 028C1004 */ _t18 = cpu->r[1] + 0x00000010u;
/* 028C1004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028C1008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
/* 028C100C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C100C */ _t20 = _t19 & 0x00000001u;
/* 028C100C */ if (_t20) goto L_028C1048; else goto L_028C1010;
L_028C1010: ; // 0x28c1010
/* 028C1010 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C1010 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028C1014 */ cpu->r[7] = cpu->r[31] - cpu->r[10];
/* 028C1018 */ cpu->r[31] = cpu->r[8] + cpu->r[7];
/* 028C101C */ goto L_028C1048;
L_028C1020: ; // 0x28c1020
/* 028C1020 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C1020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028C1024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
/* 028C1028 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1028 */ _t24 = _t23 & 0x00000001u;
/* 028C1028 */ if (_t24) goto L_028C102C; else goto L_028C1048;
L_028C102C: ; // 0x28c102c
/* 028C102C */ _t25 = cpu->r[1] + 0x00000010u;
/* 028C102C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
/* 028C1030 */ cpu->r[9] = cpu->r[11] + cpu->r[31];
/* 028C1034 */ cpu->r[31] = cpu->r[9] - cpu->r[12];
/* 028C1038 */ goto L_028C1048;
L_028C103C: ; // 0x28c103c
/* 028C103C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1040 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1040 */ _t27 = _t26 & 0x00000001u;
/* 028C1040 */ if (_t27) goto L_028C1044; else goto L_028C1048;
L_028C1044: ; // 0x28c1044
/* 028C1044 */ cpu->r[31] = 0x00000000u;
L_028C1048: ; // 0x28c1048
/* 028C1048 */ _t28 = cpu->r[1] + 0x00000024u;
/* 028C1048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C104C */ cpu->r[3] = cpu->r[31];
/* 028C1050 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028C1050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C1054 */ cpu->lr = cpu->r[0];
/* 028C1058 */ _t30 = cpu->r[1] + 0x00000018u;
/* 028C1058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028C105C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C1060 */ return;
}
// fn_028C1064 @ 0x28c1064
void Gambit_fn_028C1064(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028C1064: ; // 0x28c1064
/* 028C1064 */ cpu->r[12] = 0x10140000u;
/* 028C1068 */ _t0 = cpu->r[3] + 0x00000010u;
/* 028C1068 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
/* 028C106C */ _t1 = cpu->r[12] + 0xFFFF90F0u;
/* 028C106C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028C1070 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C1074 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1074 */ _t3 = _t2 & 0x00000001u;
/* 028C1074 */ if (_t3) goto L_028C1078; else goto L_028C1098;
L_028C1078: ; // 0x28c1078
/* 028C1078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]);
/* 028C107C */ cpu->r[10] = 0x00000000u;
/* 028C1080 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C1080 */ _t5 = _t4 & 0x00000001u;
/* 028C1080 */ if (_t5) goto L_028C1090; else goto L_028C1084;
L_028C1084: ; // 0x28c1084
/* 028C1084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[6]);
/* 028C1088 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C1088 */ _t7 = _t6 & 0x00000001u;
/* 028C1088 */ if (_t7) goto L_028C1090; else goto L_028C108C;
L_028C108C: ; // 0x28c108c
/* 028C108C */ cpu->r[10] = 0x00000001u;
L_028C1090: ; // 0x28c1090
/* 028C1090 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C1094 */ return;
L_028C1098: ; // 0x28c1098
/* 028C1098 */ _t8 = cpu->r[7] + 0x00000000u;
/* 028C1098 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
/* 028C109C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C10A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C10A0 */ _t10 = _t9 & 0x00000001u;
/* 028C10A0 */ if (_t10) goto L_028C10E4; else goto L_028C10A4;
L_028C10A4: ; // 0x28c10a4
/* 028C10A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]);
/* 028C10A8 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C10A8 */ _t12 = _t11 & 0x00000001u;
/* 028C10A8 */ if (_t12) goto L_028C10AC; else goto L_028C10E4;
L_028C10AC: ; // 0x28c10ac
/* 028C10AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]);
/* 028C10B0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C10B0 */ _t14 = _t13 & 0x00000001u;
/* 028C10B0 */ if (_t14) goto L_028C10B4; else goto L_028C10C0;
L_028C10B4: ; // 0x28c10b4
/* 028C10B4 */ _t15 = cpu->r[7] + 0x00000008u;
/* 028C10B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028C10B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
/* 028C10BC */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C10BC */ _t17 = _t16 & 0x00000001u;
/* 028C10BC */ if (_t17) goto L_028C10C0; else goto L_028C10D4;
L_028C10C0: ; // 0x28c10c0
/* 028C10C0 */ _t18 = cpu->r[7] + 0x00000004u;
/* 028C10C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
/* 028C10C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[4]);
/* 028C10C8 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C10C8 */ _t20 = _t19 & 0x00000001u;
/* 028C10C8 */ if (_t20) goto L_028C10DC; else goto L_028C10CC;
L_028C10CC: ; // 0x28c10cc
/* 028C10CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[6]);
/* 028C10D0 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C10D0 */ _t22 = _t21 & 0x00000001u;
/* 028C10D0 */ if (_t22) goto L_028C10DC; else goto L_028C10D4;
L_028C10D4: ; // 0x28c10d4
/* 028C10D4 */ cpu->r[3] = 0x00000001u;
/* 028C10D8 */ return;
L_028C10DC: ; // 0x28c10dc
/* 028C10DC */ cpu->r[3] = 0x00000000u;
/* 028C10E0 */ return;
L_028C10E4: ; // 0x28c10e4
/* 028C10E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]);
/* 028C10E8 */ cpu->r[11] = 0x00000000u;
/* 028C10EC */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C10EC */ _t24 = _t23 & 0x00000001u;
/* 028C10EC */ if (_t24) goto L_028C10F0; else goto L_028C10FC;
L_028C10F0: ; // 0x28c10f0
/* 028C10F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[6]);
/* 028C10F4 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C10F4 */ _t26 = _t25 & 0x00000001u;
/* 028C10F4 */ if (_t26) goto L_028C10FC; else goto L_028C10F8;
L_028C10F8: ; // 0x28c10f8
/* 028C10F8 */ cpu->r[11] = 0x00000001u;
L_028C10FC: ; // 0x28c10fc
/* 028C10FC */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C1100 */ return;
}
// fn_028C1104 @ 0x28c1104
void Gambit_fn_028C1104(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65;
L_028C1104: ; // 0x28c1104
/* 028C1104 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
/* 028C1104 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1104 */ cpu->r[1] = _t0;
/* 028C1108 */ /* nop */
/* 028C110C */ cpu->r[0] = cpu->lr;
/* 028C1110 */ _t1 = cpu->r[1] + 0x00000074u;
/* 028C1110 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C1114 */ cpu->r[29] = cpu->r[5];
/* 028C1118 */ cpu->r[12] = 0x10140000u;
/* 028C111C */ _t2 = cpu->r[12] + 0xFFFF90F0u;
/* 028C111C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028C1120 */ cpu->r[27] = cpu->r[3];
/* 028C1124 */ _t3 = cpu->r[27] + 0x00000010u;
/* 028C1124 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028C1128 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C112C */ cpu->r[28] = cpu->r[4];
/* 028C1130 */ cpu->r[30] = cpu->r[6];
/* 028C1134 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1134 */ _t5 = _t4 & 0x00000001u;
/* 028C1134 */ if (_t5) goto L_028C1138; else goto L_028C1168;
L_028C1138: ; // 0x28c1138
/* 028C1138 */ _t6 = cpu->r[27] + 0x0000001Cu;
/* 028C1138 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
/* 028C113C */ _t7 = cpu->r[27] + 0x000001B0u;
/* 028C113C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028C1140 */ cpu->r[3] = cpu->r[27];
/* 028C1144 */ cpu->r[4] = cpu->r[30];
/* 028C1148 */ cpu->r[5] = (uint32_t)(-(int32_t)cpu->r[12]);
/* 028C114C */ Gambit_fn_028C0F94(cpu);
/* 028C1150 */ cpu->r[30] = cpu->r[3];
/* 028C1154 */ cpu->r[3] = cpu->r[27];
/* 028C1158 */ Gambit_fn_028BD990(cpu);
/* 028C115C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1160 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1160 */ _t9 = _t8 & 0x00000001u;
/* 028C1160 */ if (_t9) goto L_028C1164; else goto L_028C11B0;
L_028C1164: ; // 0x28c1164
/* 028C1164 */ goto L_028C1324;
L_028C1168: ; // 0x28c1168
/* 028C1168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C116C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C116C */ _t11 = _t10 & 0x00000001u;
/* 028C116C */ if (_t11) goto L_028C1324; else goto L_028C1170;
L_028C1170: ; // 0x28c1170
/* 028C1170 */ _t12 = cpu->r[27] + 0x000001B0u;
/* 028C1170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C1174 */ cpu->r[3] = cpu->r[27];
/* 028C1178 */ cpu->r[4] = cpu->r[29];
/* 028C117C */ cpu->r[5] = (uint32_t)(-(int32_t)cpu->r[0]);
/* 028C1180 */ Gambit_fn_028C0F94(cpu);
/* 028C1184 */ cpu->r[29] = cpu->r[3];
/* 028C1188 */ _t13 = cpu->r[27] + 0x000001B0u;
/* 028C1188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C118C */ cpu->r[3] = cpu->r[27];
/* 028C1190 */ cpu->r[4] = cpu->r[30];
/* 028C1194 */ cpu->r[5] = (uint32_t)(-(int32_t)cpu->r[12]);
/* 028C1198 */ Gambit_fn_028C0F94(cpu);
/* 028C119C */ cpu->r[30] = cpu->r[3];
/* 028C11A0 */ cpu->r[3] = cpu->r[27];
/* 028C11A4 */ Gambit_fn_028BD990(cpu);
/* 028C11A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C11AC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C11AC */ _t15 = _t14 & 0x00000001u;
/* 028C11AC */ if (_t15) goto L_028C1324; else goto L_028C11B0;
L_028C11B0: ; // 0x28c11b0
/* 028C11B0 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028C11B4 */ Gambit_fn_028E6224(cpu);
/* 028C11B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C11BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C11BC */ _t17 = _t16 & 0x00000001u;
/* 028C11BC */ if (_t17) goto L_028C1324; else goto L_028C11C0;
L_028C11C0: ; // 0x28c11c0
/* 028C11C0 */ _t18 = cpu->r[28] + 0x00000000u;
/* 028C11C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
/* 028C11C4 */ cpu->r[26] = 0x00000000u;
/* 028C11C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[7]);
/* 028C11CC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C11CC */ _t20 = _t19 & 0x00000001u;
/* 028C11CC */ if (_t20) goto L_028C11D0; else goto L_028C1324;
L_028C11D0: ; // 0x28c11d0
/* 028C11D0 */ cpu->r[25] = 0x00000003u;
/* 028C11D4 */ cpu->r[24] = 0x00000002u;
/* 028C11D8 */ cpu->r[23] = 0x00000001u;
/* 028C11DC */ cpu->r[31] = cpu->r[1] + 0x00000008u;
L_028C11E0: ; // 0x28c11e0
/* 028C11E0 */ cpu->r[3] = cpu->r[28];
/* 028C11E4 */ cpu->r[4] = cpu->r[26];
/* 028C11E8 */ Gambit_fn_028E5F2C(cpu);
/* 028C11EC */ cpu->r[21] = cpu->r[3];
/* 028C11EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028C11F0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C11F0 */ _t22 = _t21 & 0x00000001u;
/* 028C11F0 */ if (_t22) goto L_028C1314; else goto L_028C11F4;
L_028C11F4: ; // 0x28c11f4
/* 028C11F4 */ _t23 = cpu->r[21] + 0x0000000Cu;
/* 028C11F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028C11F8 */ cpu->r[5] = cpu->r[29];
/* 028C11FC */ cpu->r[19] = 0x00000000u;
/* 028C1200 */ _t24 = cpu->r[21] + 0x00000008u;
/* 028C1200 */ cpu->r[22] = rbrew_read32(cpu->mem, _t24);
/* 028C1204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1208 */ cpu->r[6] = cpu->r[30];
/* 028C120C */ cpu->r[3] = cpu->r[27];
/* 028C1210 */ cpu->r[20] = cpu->r[22] + cpu->r[0];
/* 028C1214 */ cpu->r[4] = cpu->r[22];
/* 028C1218 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1218 */ _t26 = _t25 & 0x00000001u;
/* 028C1218 */ if (_t26) goto L_028C121C; else goto L_028C1240;
L_028C121C: ; // 0x28c121c
/* 028C121C */ cpu->r[7] = cpu->r[1] + 0x00000028u;
/* 028C1220 */ Gambit_fn_028C1064(cpu);
/* 028C1224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1228 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1228 */ _t28 = _t27 & 0x00000001u;
/* 028C1228 */ if (_t28) goto L_028C1314; else goto L_028C122C;
L_028C122C: ; // 0x28c122c
/* 028C122C */ cpu->r[19] = cpu->r[23];
/* 028C1230 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028C1230 */ rbrew_write32(cpu->mem, _t29, cpu->r[19]);
/* 028C1234 */ _t30 = cpu->r[31] + 0x00000000u;
/* 028C1234 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
/* 028C1238 */ _t31 = cpu->r[1] + 0x00000034u;
/* 028C1238 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
/* 028C123C */ goto L_028C12A4;
L_028C1240: ; // 0x28c1240
/* 028C1240 */ cpu->r[7] = cpu->r[1] + 0x00000028u;
/* 028C1244 */ Gambit_fn_028C1064(cpu);
/* 028C1248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C124C */ _t32 = cpu->r[27] + 0x0000001Cu;
/* 028C124C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
/* 028C1250 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1250 */ _t34 = _t33 & 0x00000001u;
/* 028C1250 */ if (_t34) goto L_028C1260; else goto L_028C1254;
L_028C1254: ; // 0x28c1254
/* 028C1254 */ cpu->r[19] = cpu->r[24];
/* 028C1258 */ _t35 = cpu->r[1] + 0x00000008u;
/* 028C1258 */ rbrew_write32(cpu->mem, _t35, cpu->r[19]);
/* 028C125C */ _t36 = cpu->r[31] + 0x00000000u;
/* 028C125C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
L_028C1260: ; // 0x28c1260
/* 028C1260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[12]);
/* 028C1264 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C1264 */ _t38 = _t37 & 0x00000001u;
/* 028C1264 */ if (_t38) goto L_028C1268; else goto L_028C129C;
L_028C1268: ; // 0x28c1268
/* 028C1268 */ cpu->r[7] = cpu->r[1] + 0x00000028u;
/* 028C126C */ cpu->r[6] = cpu->r[30];
/* 028C1270 */ cpu->r[5] = cpu->r[29];
/* 028C1274 */ cpu->r[4] = cpu->r[20];
/* 028C1278 */ cpu->r[3] = cpu->r[27];
/* 028C127C */ Gambit_fn_028C1064(cpu);
/* 028C1280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1284 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1284 */ _t40 = _t39 & 0x00000001u;
/* 028C1284 */ if (_t40) goto L_028C129C; else goto L_028C1288;
L_028C1288: ; // 0x28c1288
/* 028C1288 */ cpu->r[19] = cpu->r[25];
/* 028C128C */ _t41 = cpu->r[1] + 0x00000008u;
/* 028C128C */ rbrew_write32(cpu->mem, _t41, cpu->r[19]);
/* 028C1290 */ _t42 = cpu->r[31] + 0x00000000u;
/* 028C1290 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
/* 028C1294 */ _t43 = cpu->r[1] + 0x00000038u;
/* 028C1294 */ rbrew_write32(cpu->mem, _t43, cpu->r[7]);
/* 028C1298 */ goto L_028C12A4;
L_028C129C: ; // 0x28c129c
/* 028C129C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
/* 028C12A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C12A0 */ _t45 = _t44 & 0x00000001u;
/* 028C12A0 */ if (_t45) goto L_028C1314; else goto L_028C12A4;
L_028C12A4: ; // 0x28c12a4
/* 028C12A4 */ _t46 = cpu->r[1] + 0x00000010u;
/* 028C12A4 */ rbrew_write32(cpu->mem, _t46, cpu->r[19]);
/* 028C12A8 */ _t47 = cpu->r[1] + 0x0000000Cu;
/* 028C12A8 */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
/* 028C12AC */ _t48 = cpu->r[21] + 0x00000000u;
/* 028C12AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
/* 028C12B0 */ cpu->r[4] = cpu->r[26];
/* 028C12B4 */ cpu->r[3] = cpu->r[28];
/* 028C12B8 */ _t49 = cpu->r[1] + 0x00000014u;
/* 028C12B8 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
/* 028C12BC */ Gambit_fn_028E5ED4(cpu);
/* 028C12C0 */ cpu->r[4] = cpu->r[26];
/* 028C12C4 */ _t50 = cpu->r[1] + 0x00000018u;
/* 028C12C4 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
/* 028C12C8 */ cpu->r[3] = cpu->r[28];
/* 028C12CC */ Gambit_fn_028E5F04(cpu);
/* 028C12D0 */ cpu->r[9] = cpu->r[3];
/* 028C12D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000003u);
/* 028C12D8 */ _t51 = cpu->r[1] + 0x0000001Cu;
/* 028C12D8 */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
/* 028C12DC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C12DC */ _t53 = _t52 & 0x00000001u;
/* 028C12DC */ if (_t53) goto L_028C12E0; else goto L_028C12EC;
L_028C12E0: ; // 0x28c12e0
/* 028C12E0 */ _t54 = cpu->r[21] + 0x0000000Cu;
/* 028C12E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028C12E4 */ cpu->r[10] = cpu->r[9] + cpu->r[0];
/* 028C12E8 */ _t55 = cpu->r[1] + 0x0000001Cu;
/* 028C12E8 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
L_028C12EC: ; // 0x28c12ec
/* 028C12EC */ _t56 = cpu->r[27] + 0x000001ACu;
/* 028C12EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
/* 028C12F0 */ _t57 = cpu->r[21] + 0x0000000Cu;
/* 028C12F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
/* 028C12F4 */ cpu->ctr = cpu->r[10];
/* 028C12F8 */ _t58 = cpu->r[27] + 0x00000014u;
/* 028C12F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028C12FC */ _t59 = cpu->r[1] + 0x00000020u;
/* 028C12FC */ rbrew_write32(cpu->mem, _t59, cpu->r[12]);
/* 028C1300 */ cpu->r[0] = cpu->r[0] - cpu->r[22];
/* 028C1304 */ _t60 = cpu->r[27] + 0x000001B4u;
/* 028C1304 */ cpu->r[4] = rbrew_read32(cpu->mem, _t60);
/* 028C1308 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028C130C */ _t61 = cpu->r[1] + 0x00000024u;
/* 028C130C */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
/* 028C1310 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C1314: ; // 0x28c1314
/* 028C1314 */ _t62 = cpu->r[28] + 0x00000000u;
/* 028C1314 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
/* 028C1318 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
/* 028C131C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[11]);
/* 028C1320 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1320 */ _t64 = _t63 & 0x00000001u;
/* 028C1320 */ if (_t64) goto L_028C11E0; else goto L_028C1324;
L_028C1324: ; // 0x28c1324
/* 028C1324 */ /* nop */
/* 028C1328 */ _t65 = cpu->r[1] + 0x00000074u;
/* 028C1328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
/* 028C132C */ cpu->lr = cpu->r[0];
/* 028C1330 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
/* 028C1334 */ return;
}
// fn_028C1338 @ 0x28c1338
void Gambit_fn_028C1338(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C1338: ; // 0x28c1338
/* 028C1338 */ cpu->r[0] = cpu->lr;
/* 028C133C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C133C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C133C */ cpu->r[1] = _t0;
/* 028C1340 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C1340 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C1344 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C1344 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C1348 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C1348 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C134C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C134C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C1350 */ cpu->r[29] = cpu->r[3];
/* 028C1354 */ _t5 = cpu->r[29] + 0x000001ACu;
/* 028C1354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C1358 */ cpu->r[31] = cpu->r[5];
/* 028C135C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1360 */ cpu->r[30] = cpu->r[4];
/* 028C1364 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1364 */ _t7 = _t6 & 0x00000001u;
/* 028C1364 */ if (_t7) goto L_028C13A8; else goto L_028C1368;
L_028C1368: ; // 0x28c1368
/* 028C1368 */ cpu->r[3] = cpu->r[29];
/* 028C136C */ Gambit_fn_028BD990(cpu);
/* 028C1370 */ cpu->r[12] = cpu->r[3];
/* 028C1370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C1374 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1374 */ _t9 = _t8 & 0x00000001u;
/* 028C1374 */ if (_t9) goto L_028C13A8; else goto L_028C1378;
L_028C1378: ; // 0x28c1378
/* 028C1378 */ cpu->r[6] = cpu->r[31];
/* 028C137C */ cpu->r[5] = cpu->r[30];
/* 028C1380 */ cpu->r[4] = cpu->r[12] + 0x0000012Cu;
/* 028C1384 */ cpu->r[3] = cpu->r[29];
/* 028C1388 */ Gambit_fn_028C1104(cpu);
/* 028C138C */ _t10 = cpu->r[29] + 0x000001A8u;
/* 028C138C */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028C1390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C1394 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1394 */ _t12 = _t11 & 0x00000001u;
/* 028C1394 */ if (_t12) goto L_028C13A8; else goto L_028C1398;
L_028C1398: ; // 0x28c1398
/* 028C1398 */ cpu->r[6] = cpu->r[31];
/* 028C139C */ cpu->r[5] = cpu->r[30];
/* 028C13A0 */ cpu->r[3] = cpu->r[29];
/* 028C13A4 */ Gambit_fn_028C1104(cpu);
L_028C13A8: ; // 0x28c13a8
/* 028C13A8 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C13A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028C13AC */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028C13AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C13B0 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028C13B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028C13B4 */ cpu->lr = cpu->r[0];
/* 028C13B8 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C13B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C13BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C13C0 */ return;
}
// fn_028C133C @ 0x28c133c
void Gambit_fn_028C133C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C133C: ; // 0x28c133c
/* 028C133C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C133C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C133C */ cpu->r[1] = _t0;
/* 028C1340 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C1340 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C1344 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C1344 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C1348 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C1348 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C134C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C134C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C1350 */ cpu->r[29] = cpu->r[3];
/* 028C1354 */ _t5 = cpu->r[29] + 0x000001ACu;
/* 028C1354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C1358 */ cpu->r[31] = cpu->r[5];
/* 028C135C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1360 */ cpu->r[30] = cpu->r[4];
/* 028C1364 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1364 */ _t7 = _t6 & 0x00000001u;
/* 028C1364 */ if (_t7) goto L_028C13A8; else goto L_028C1368;
L_028C1368: ; // 0x28c1368
/* 028C1368 */ cpu->r[3] = cpu->r[29];
/* 028C136C */ Gambit_fn_028BD990(cpu);
/* 028C1370 */ cpu->r[12] = cpu->r[3];
/* 028C1370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C1374 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1374 */ _t9 = _t8 & 0x00000001u;
/* 028C1374 */ if (_t9) goto L_028C13A8; else goto L_028C1378;
L_028C1378: ; // 0x28c1378
/* 028C1378 */ cpu->r[6] = cpu->r[31];
/* 028C137C */ cpu->r[5] = cpu->r[30];
/* 028C1380 */ cpu->r[4] = cpu->r[12] + 0x0000012Cu;
/* 028C1384 */ cpu->r[3] = cpu->r[29];
/* 028C1388 */ Gambit_fn_028C1104(cpu);
/* 028C138C */ _t10 = cpu->r[29] + 0x000001A8u;
/* 028C138C */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028C1390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C1394 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1394 */ _t12 = _t11 & 0x00000001u;
/* 028C1394 */ if (_t12) goto L_028C13A8; else goto L_028C1398;
L_028C1398: ; // 0x28c1398
/* 028C1398 */ cpu->r[6] = cpu->r[31];
/* 028C139C */ cpu->r[5] = cpu->r[30];
/* 028C13A0 */ cpu->r[3] = cpu->r[29];
/* 028C13A4 */ Gambit_fn_028C1104(cpu);
L_028C13A8: ; // 0x28c13a8
/* 028C13A8 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C13A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028C13AC */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028C13AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C13B0 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028C13B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028C13B4 */ cpu->lr = cpu->r[0];
/* 028C13B8 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C13B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C13BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C13C0 */ return;
}
// fn_028C13C4 @ 0x28c13c4
void Gambit_fn_028C13C4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C13C4: ; // 0x28c13c4
/* 028C13C4 */ cpu->r[0] = cpu->lr;
/* 028C13C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C13C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C13C8 */ cpu->r[1] = _t0;
/* 028C13CC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C13CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C13D0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C13D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C13D4 */ cpu->r[31] = cpu->r[3];
/* 028C13D8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C13D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C13DC */ _t4 = cpu->r[31] + 0x00000134u;
/* 028C13DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C13E0 */ _t5 = cpu->r[31] + 0x00000014u;
/* 028C13E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028C13E4 */ Gambit_fn_028EA5B4(cpu);
/* 028C13E8 */ cpu->r[5] = cpu->r[3];
/* 028C13E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028C13EC */ _t6 = cpu->r[31] + 0x00000014u;
/* 028C13EC */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
/* 028C13F0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C13F0 */ _t8 = _t7 & 0x00000001u;
/* 028C13F0 */ if (_t8) goto L_028C1418; else goto L_028C13F4;
L_028C13F4: ; // 0x28c13f4
/* 028C13F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[30]);
/* 028C13F8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C13F8 */ _t10 = _t9 & 0x00000001u;
/* 028C13F8 */ if (_t10) goto L_028C13FC; else goto L_028C140C;
L_028C13FC: ; // 0x28c13fc
/* 028C13FC */ _t11 = cpu->r[31] + 0x00000018u;
/* 028C13FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028C1400 */ _t12 = cpu->r[31] + 0x00000014u;
/* 028C1400 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028C1404 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028C1408 */ _t13 = cpu->r[31] + 0x00000018u;
/* 028C1408 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
L_028C140C: ; // 0x28c140c
/* 028C140C */ cpu->r[4] = cpu->r[30];
/* 028C1410 */ cpu->r[3] = cpu->r[31];
/* 028C1414 */ Gambit_fn_028C1338(cpu);
L_028C1418: ; // 0x28c1418
/* 028C1418 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028C1418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C141C */ _t15 = cpu->r[1] + 0x00000008u;
/* 028C141C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028C1420 */ cpu->lr = cpu->r[0];
/* 028C1424 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C1424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C1428 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C142C */ return;
}
// fn_028C13C8 @ 0x28c13c8
void Gambit_fn_028C13C8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C13C8: ; // 0x28c13c8
/* 028C13C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C13C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C13C8 */ cpu->r[1] = _t0;
/* 028C13CC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C13CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C13D0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C13D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C13D4 */ cpu->r[31] = cpu->r[3];
/* 028C13D8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C13D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C13DC */ _t4 = cpu->r[31] + 0x00000134u;
/* 028C13DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C13E0 */ _t5 = cpu->r[31] + 0x00000014u;
/* 028C13E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028C13E4 */ Gambit_fn_028EA5B4(cpu);
/* 028C13E8 */ cpu->r[5] = cpu->r[3];
/* 028C13E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028C13EC */ _t6 = cpu->r[31] + 0x00000014u;
/* 028C13EC */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
/* 028C13F0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C13F0 */ _t8 = _t7 & 0x00000001u;
/* 028C13F0 */ if (_t8) goto L_028C1418; else goto L_028C13F4;
L_028C13F4: ; // 0x28c13f4
/* 028C13F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[30]);
/* 028C13F8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C13F8 */ _t10 = _t9 & 0x00000001u;
/* 028C13F8 */ if (_t10) goto L_028C13FC; else goto L_028C140C;
L_028C13FC: ; // 0x28c13fc
/* 028C13FC */ _t11 = cpu->r[31] + 0x00000018u;
/* 028C13FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028C1400 */ _t12 = cpu->r[31] + 0x00000014u;
/* 028C1400 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
/* 028C1404 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028C1408 */ _t13 = cpu->r[31] + 0x00000018u;
/* 028C1408 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
L_028C140C: ; // 0x28c140c
/* 028C140C */ cpu->r[4] = cpu->r[30];
/* 028C1410 */ cpu->r[3] = cpu->r[31];
/* 028C1414 */ Gambit_fn_028C1338(cpu);
L_028C1418: ; // 0x28c1418
/* 028C1418 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028C1418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C141C */ _t15 = cpu->r[1] + 0x00000008u;
/* 028C141C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028C1420 */ cpu->lr = cpu->r[0];
/* 028C1424 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C1424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C1428 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C142C */ return;
}
// fn_028C1430 @ 0x28c1430
void Gambit_fn_028C1430(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028C1430: ; // 0x28c1430
/* 028C1430 */ cpu->r[0] = cpu->lr;
/* 028C1434 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1434 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1434 */ cpu->r[1] = _t0;
/* 028C1438 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C1438 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C143C */ cpu->r[30] = cpu->r[3];
/* 028C1440 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C1440 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C1444 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C1444 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C1448 */ Gambit_fn_028BE16C(cpu);
/* 028C144C */ cpu->r[3] = cpu->r[30];
/* 028C1450 */ Gambit_fn_028C0838(cpu);
/* 028C1454 */ cpu->r[3] = cpu->r[30];
/* 028C1458 */ Gambit_fn_028C08C0(cpu);
/* 028C145C */ cpu->r[3] = cpu->r[30];
/* 028C1460 */ Gambit_fn_028C0CD8(cpu);
/* 028C1464 */ cpu->r[3] = cpu->r[30];
/* 028C1468 */ Gambit_fn_028C0CFC(cpu);
/* 028C146C */ cpu->r[3] = cpu->r[30];
/* 028C1470 */ Gambit_fn_028C0E1C(cpu);
/* 028C1474 */ cpu->r[3] = cpu->r[30];
/* 028C1478 */ Gambit_fn_028C13C4(cpu);
/* 028C147C */ _t4 = cpu->r[30] + 0x00000134u;
/* 028C147C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028C1480 */ cpu->r[3] = cpu->r[30];
/* 028C1484 */ Gambit_fn_028BF288(cpu);
/* 028C1488 */ _t5 = cpu->r[31] + 0x00000000u;
/* 028C1488 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028C148C */ Gambit_fn_028EB874(cpu);
/* 028C1490 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028C1490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C1494 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C1494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028C1498 */ cpu->lr = cpu->r[0];
/* 028C149C */ _t8 = cpu->r[1] + 0x00000008u;
/* 028C149C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028C14A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C14A4 */ return;
}
// fn_028C1434 @ 0x28c1434
void Gambit_fn_028C1434(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028C1434: ; // 0x28c1434
/* 028C1434 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1434 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1434 */ cpu->r[1] = _t0;
/* 028C1438 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C1438 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C143C */ cpu->r[30] = cpu->r[3];
/* 028C1440 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C1440 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C1444 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C1444 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C1448 */ Gambit_fn_028BE16C(cpu);
/* 028C144C */ cpu->r[3] = cpu->r[30];
/* 028C1450 */ Gambit_fn_028C0838(cpu);
/* 028C1454 */ cpu->r[3] = cpu->r[30];
/* 028C1458 */ Gambit_fn_028C08C0(cpu);
/* 028C145C */ cpu->r[3] = cpu->r[30];
/* 028C1460 */ Gambit_fn_028C0CD8(cpu);
/* 028C1464 */ cpu->r[3] = cpu->r[30];
/* 028C1468 */ Gambit_fn_028C0CFC(cpu);
/* 028C146C */ cpu->r[3] = cpu->r[30];
/* 028C1470 */ Gambit_fn_028C0E1C(cpu);
/* 028C1474 */ cpu->r[3] = cpu->r[30];
/* 028C1478 */ Gambit_fn_028C13C4(cpu);
/* 028C147C */ _t4 = cpu->r[30] + 0x00000134u;
/* 028C147C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028C1480 */ cpu->r[3] = cpu->r[30];
/* 028C1484 */ Gambit_fn_028BF288(cpu);
/* 028C1488 */ _t5 = cpu->r[31] + 0x00000000u;
/* 028C1488 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028C148C */ Gambit_fn_028EB874(cpu);
/* 028C1490 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028C1490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C1494 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C1494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028C1498 */ cpu->lr = cpu->r[0];
/* 028C149C */ _t8 = cpu->r[1] + 0x00000008u;
/* 028C149C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028C14A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C14A4 */ return;
}
// fn_028C14A8 @ 0x28c14a8
void Gambit_fn_028C14A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028C14A8: ; // 0x28c14a8
/* 028C14A8 */ cpu->r[0] = cpu->lr;
/* 028C14AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C14AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C14AC */ cpu->r[1] = _t0;
/* 028C14B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C14B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C14B4 */ cpu->r[31] = cpu->r[3];
/* 028C14B8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C14B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C14BC */ Gambit_fn_028C29DC(cpu);
/* 028C14C0 */ _t3 = cpu->r[3] + 0x00000044u;
/* 028C14C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028C14C4 */ _t4 = cpu->r[31] + 0x00000010u;
/* 028C14C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028C14C8 */ cpu->f[0] = cpu->f[0] + cpu->f[13];
/* 028C14CC */ _t5 = cpu->r[31] + 0x00000010u;
/* 028C14CC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
/* 028C14D0 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028C14D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C14D4 */ cpu->lr = cpu->r[0];
/* 028C14D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C14D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028C14DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C14E0 */ return;
}
// fn_028C14AC @ 0x28c14ac
void Gambit_fn_028C14AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028C14AC: ; // 0x28c14ac
/* 028C14AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C14AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C14AC */ cpu->r[1] = _t0;
/* 028C14B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C14B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C14B4 */ cpu->r[31] = cpu->r[3];
/* 028C14B8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C14B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C14BC */ Gambit_fn_028C29DC(cpu);
/* 028C14C0 */ _t3 = cpu->r[3] + 0x00000044u;
/* 028C14C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028C14C4 */ _t4 = cpu->r[31] + 0x00000010u;
/* 028C14C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028C14C8 */ cpu->f[0] = cpu->f[0] + cpu->f[13];
/* 028C14CC */ _t5 = cpu->r[31] + 0x00000010u;
/* 028C14CC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
/* 028C14D0 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028C14D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C14D4 */ cpu->lr = cpu->r[0];
/* 028C14D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C14D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028C14DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C14E0 */ return;
}
// fn_028C14E4 @ 0x28c14e4
void Gambit_fn_028C14E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C14E4: ; // 0x28c14e4
/* 028C14E4 */ cpu->r[0] = cpu->lr;
/* 028C14E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C14E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C14E8 */ cpu->r[1] = _t0;
/* 028C14EC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C14EC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C14F0 */ /* nop */
/* 028C14F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C14F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C14F8 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C14F8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C14FC */ cpu->r[31] = cpu->r[3];
/* 028C1500 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028C1500 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C1504 */ _t5 = cpu->r[31] + 0x00000004u;
/* 028C1504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028C1508 */ cpu->r[12] = 0x10140000u;
/* 028C150C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
/* 028C1510 */ _t6 = cpu->r[12] + 0xFFFF90F0u;
/* 028C1510 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
/* 028C1514 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1514 */ _t8 = _t7 & 0x00000001u;
/* 028C1514 */ if (_t8) goto L_028C1550; else goto L_028C1518;
L_028C1518: ; // 0x28c1518
/* 028C1518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u);
/* 028C151C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C151C */ _t10 = _t9 & 0x00000001u;
/* 028C151C */ if (_t10) goto L_028C1698; else goto L_028C1520;
L_028C1520: ; // 0x28c1520
/* 028C1520 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1520 */ _t12 = _t11 & 0x00000001u;
/* 028C1520 */ if (_t12) goto L_028C1594; else goto L_028C1524;
L_028C1524: ; // 0x28c1524
/* 028C1524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000005u);
/* 028C1528 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1528 */ _t14 = _t13 & 0x00000001u;
/* 028C1528 */ if (_t14) goto L_028C15E4; else goto L_028C152C;
L_028C152C: ; // 0x28c152c
/* 028C152C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C152C */ _t16 = _t15 & 0x00000001u;
/* 028C152C */ if (_t16) goto L_028C161C; else goto L_028C1530;
L_028C1530: ; // 0x28c1530
/* 028C1530 */ _t17 = cpu->r[1] + 0x00000018u;
/* 028C1530 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
/* 028C1534 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C1534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C1538 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C1538 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
/* 028C153C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C153C */ _t21 = _t20 & 0x00000001u;
/* 028C153C */ if (_t21) goto L_028C1540; // else: addr-0 trap, fall-through
L_028C1540: ; // 0x28c1540
/* 028C1540 */ _t22 = cpu->r[1] + 0x00000024u;
/* 028C1540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C1544 */ cpu->lr = cpu->r[0];
/* 028C1548 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C154C */ return;
L_028C1550: ; // 0x28c1550
/* 028C1550 */ cpu->r[3] = cpu->r[31];
/* 028C1554 */ Gambit_fn_028BFAD8(cpu);
/* 028C1558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C155C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C155C */ _t24 = _t23 & 0x00000001u;
/* 028C155C */ if (_t24) goto L_028C1698; else goto L_028C1560;
L_028C1560: ; // 0x28c1560
/* 028C1560 */ cpu->r[0] = 0x00000002u;
/* 028C1564 */ cpu->r[3] = cpu->r[31];
/* 028C1568 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C156C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C156C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
/* 028C1570 */ Gambit_fn_028BDAB0(cpu);
/* 028C1574 */ _t26 = cpu->r[1] + 0x00000018u;
/* 028C1574 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
/* 028C1578 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028C1578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028C157C */ _t28 = cpu->r[1] + 0x00000010u;
/* 028C157C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
/* 028C1580 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1580 */ _t30 = _t29 & 0x00000001u;
/* 028C1580 */ if (_t30) goto L_028C1584; // else: addr-0 trap, fall-through
L_028C1584: ; // 0x28c1584
/* 028C1584 */ _t31 = cpu->r[1] + 0x00000024u;
/* 028C1584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028C1588 */ cpu->lr = cpu->r[0];
/* 028C158C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C1590 */ return;
L_028C1594: ; // 0x28c1594
/* 028C1594 */ _t32 = cpu->r[31] + 0x0000000Cu;
/* 028C1594 */ cpu->r[6] = rbrew_read16(cpu->mem, _t32);
/* 028C1598 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C1598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C159C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C159C */ _t34 = _t33 & 0x00000001u;
/* 028C159C */ if (_t34) goto L_028C15A0; else goto L_028C15AC;
L_028C15A0: ; // 0x28c15a0
/* 028C15A0 */ _t35 = cpu->r[31] + 0x00000010u;
/* 028C15A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
/* 028C15A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028C15A8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C15A8 */ _t37 = _t36 & 0x00000001u;
/* 028C15A8 */ if (_t37) goto L_028C15AC; else goto L_028C15B4;
L_028C15AC: ; // 0x28c15ac
/* 028C15AC */ cpu->r[3] = cpu->r[31];
/* 028C15B0 */ Gambit_fn_028C1430(cpu);
L_028C15B4: ; // 0x28c15b4
/* 028C15B4 */ _t38 = cpu->r[31] + 0x00000138u;
/* 028C15B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
/* 028C15B8 */ Gambit_fn_028CA194(cpu);
/* 028C15BC */ cpu->r[3] = cpu->r[31];
/* 028C15C0 */ Gambit_fn_028C14A8(cpu);
/* 028C15C4 */ _t39 = cpu->r[1] + 0x00000018u;
/* 028C15C4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39);
/* 028C15C8 */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028C15C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028C15CC */ _t41 = cpu->r[1] + 0x00000010u;
/* 028C15CC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t41);
/* 028C15D0 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C15D0 */ _t43 = _t42 & 0x00000001u;
/* 028C15D0 */ if (_t43) goto L_028C15D4; // else: addr-0 trap, fall-through
L_028C15D4: ; // 0x28c15d4
/* 028C15D4 */ _t44 = cpu->r[1] + 0x00000024u;
/* 028C15D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028C15D8 */ cpu->lr = cpu->r[0];
/* 028C15DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C15E0 */ return;
L_028C15E4: ; // 0x28c15e4
/* 028C15E4 */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028C15E4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45);
/* 028C15E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C15E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C15EC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C15EC */ _t47 = _t46 & 0x00000001u;
/* 028C15EC */ if (_t47) goto L_028C15F8; else goto L_028C15F0;
L_028C15F0: ; // 0x28c15f0
/* 028C15F0 */ cpu->r[3] = cpu->r[31];
/* 028C15F4 */ Gambit_fn_028C1430(cpu);
L_028C15F8: ; // 0x28c15f8
/* 028C15F8 */ cpu->r[3] = cpu->r[31];
/* 028C15FC */ Gambit_fn_028BFAD8(cpu);
/* 028C1600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1604 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1604 */ _t49 = _t48 & 0x00000001u;
/* 028C1604 */ if (_t49) goto L_028C1690; else goto L_028C1608;
L_028C1608: ; // 0x28c1608
/* 028C1608 */ cpu->r[3] = cpu->r[31];
/* 028C160C */ Gambit_fn_028BDB50(cpu);
/* 028C1610 */ cpu->r[3] = cpu->r[31];
/* 028C1614 */ Gambit_fn_028C14A8(cpu);
/* 028C1618 */ goto L_028C1698;
L_028C161C: ; // 0x28c161c
/* 028C161C */ _t50 = cpu->r[31] + 0x0000000Eu;
/* 028C161C */ cpu->r[11] = rbrew_read8(cpu->mem, _t50);
/* 028C1620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C1624 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1624 */ _t52 = _t51 & 0x00000001u;
/* 028C1624 */ if (_t52) goto L_028C1628; else goto L_028C1630;
L_028C1628: ; // 0x28c1628
/* 028C1628 */ cpu->r[3] = cpu->r[31];
/* 028C162C */ Gambit_fn_028C1430(cpu);
L_028C1630: ; // 0x28c1630
/* 028C1630 */ _t53 = cpu->r[31] + 0x00000138u;
/* 028C1630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
/* 028C1634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1638 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1638 */ _t55 = _t54 & 0x00000001u;
/* 028C1638 */ if (_t55) goto L_028C1698; else goto L_028C163C;
L_028C163C: ; // 0x28c163c
/* 028C163C */ _t56 = cpu->r[31] + 0x00000024u;
/* 028C163C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
/* 028C1640 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028C1644 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C1644 */ _t58 = _t57 & 0x00000001u;
/* 028C1644 */ if (_t58) goto L_028C1648; else goto L_028C1680;
L_028C1648: ; // 0x28c1648
/* 028C1648 */ _t59 = cpu->r[3] + 0x00000000u;
/* 028C1648 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
/* 028C164C */ _t60 = cpu->r[3] + 0x00000008u;
/* 028C164C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t60);
/* 028C1650 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C1654 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1654 */ _t62 = _t61 & 0x00000001u;
/* 028C1654 */ if (_t62) goto L_028C1658; else goto L_028C1680;
L_028C1658: ; // 0x28c1658
/* 028C1658 */ cpu->r[3] = cpu->r[31];
/* 028C165C */ Gambit_fn_028BDB04(cpu);
/* 028C1660 */ _t63 = cpu->r[1] + 0x00000018u;
/* 028C1660 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t63);
/* 028C1664 */ _t64 = cpu->r[1] + 0x0000000Cu;
/* 028C1664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
/* 028C1668 */ _t65 = cpu->r[1] + 0x00000010u;
/* 028C1668 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t65);
/* 028C166C */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C166C */ _t67 = _t66 & 0x00000001u;
/* 028C166C */ if (_t67) goto L_028C1670; // else: addr-0 trap, fall-through
L_028C1670: ; // 0x28c1670
/* 028C1670 */ _t68 = cpu->r[1] + 0x00000024u;
/* 028C1670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028C1674 */ cpu->lr = cpu->r[0];
/* 028C1678 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C167C */ return;
L_028C1680: ; // 0x28c1680
/* 028C1680 */ Gambit_fn_028CA194(cpu);
/* 028C1684 */ _t69 = cpu->r[31] + 0x0000000Eu;
/* 028C1684 */ cpu->r[12] = rbrew_read8(cpu->mem, _t69);
/* 028C1688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C168C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C168C */ _t71 = _t70 & 0x00000001u;
/* 028C168C */ if (_t71) goto L_028C1690; else goto L_028C1698;
L_028C1690: ; // 0x28c1690
/* 028C1690 */ cpu->r[3] = cpu->r[31];
/* 028C1694 */ Gambit_fn_028C14A8(cpu);
L_028C1698: ; // 0x28c1698
/* 028C1698 */ _t72 = cpu->r[1] + 0x00000018u;
/* 028C1698 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t72);
/* 028C169C */ _t73 = cpu->r[1] + 0x0000000Cu;
/* 028C169C */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
/* 028C16A0 */ _t74 = cpu->r[1] + 0x00000010u;
/* 028C16A0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t74);
/* 028C16A4 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C16A4 */ _t76 = _t75 & 0x00000001u;
/* 028C16A4 */ if (_t76) goto L_028C16A8; // else: addr-0 trap, fall-through
L_028C16A8: ; // 0x28c16a8
/* 028C16A8 */ _t77 = cpu->r[1] + 0x00000024u;
/* 028C16A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028C16AC */ cpu->lr = cpu->r[0];
/* 028C16B0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C16B4 */ return;
}
// fn_028C14E8 @ 0x28c14e8
void Gambit_fn_028C14E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C14E8: ; // 0x28c14e8
/* 028C14E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C14E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C14E8 */ cpu->r[1] = _t0;
/* 028C14EC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C14EC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C14F0 */ /* nop */
/* 028C14F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C14F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C14F8 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C14F8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C14FC */ cpu->r[31] = cpu->r[3];
/* 028C1500 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028C1500 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C1504 */ _t5 = cpu->r[31] + 0x00000004u;
/* 028C1504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028C1508 */ cpu->r[12] = 0x10140000u;
/* 028C150C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
/* 028C1510 */ _t6 = cpu->r[12] + 0xFFFF90F0u;
/* 028C1510 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
/* 028C1514 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1514 */ _t8 = _t7 & 0x00000001u;
/* 028C1514 */ if (_t8) goto L_028C1550; else goto L_028C1518;
L_028C1518: ; // 0x28c1518
/* 028C1518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u);
/* 028C151C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C151C */ _t10 = _t9 & 0x00000001u;
/* 028C151C */ if (_t10) goto L_028C1698; else goto L_028C1520;
L_028C1520: ; // 0x28c1520
/* 028C1520 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1520 */ _t12 = _t11 & 0x00000001u;
/* 028C1520 */ if (_t12) goto L_028C1594; else goto L_028C1524;
L_028C1524: ; // 0x28c1524
/* 028C1524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000005u);
/* 028C1528 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1528 */ _t14 = _t13 & 0x00000001u;
/* 028C1528 */ if (_t14) goto L_028C15E4; else goto L_028C152C;
L_028C152C: ; // 0x28c152c
/* 028C152C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C152C */ _t16 = _t15 & 0x00000001u;
/* 028C152C */ if (_t16) goto L_028C161C; else goto L_028C1530;
L_028C1530: ; // 0x28c1530
/* 028C1530 */ _t17 = cpu->r[1] + 0x00000018u;
/* 028C1530 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
/* 028C1534 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C1534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C1538 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C1538 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
/* 028C153C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C153C */ _t21 = _t20 & 0x00000001u;
/* 028C153C */ if (_t21) goto L_028C1540; // else: addr-0 trap, fall-through
L_028C1540: ; // 0x28c1540
/* 028C1540 */ _t22 = cpu->r[1] + 0x00000024u;
/* 028C1540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C1544 */ cpu->lr = cpu->r[0];
/* 028C1548 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C154C */ return;
L_028C1550: ; // 0x28c1550
/* 028C1550 */ cpu->r[3] = cpu->r[31];
/* 028C1554 */ Gambit_fn_028BFAD8(cpu);
/* 028C1558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C155C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C155C */ _t24 = _t23 & 0x00000001u;
/* 028C155C */ if (_t24) goto L_028C1698; else goto L_028C1560;
L_028C1560: ; // 0x28c1560
/* 028C1560 */ cpu->r[0] = 0x00000002u;
/* 028C1564 */ cpu->r[3] = cpu->r[31];
/* 028C1568 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C156C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C156C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
/* 028C1570 */ Gambit_fn_028BDAB0(cpu);
/* 028C1574 */ _t26 = cpu->r[1] + 0x00000018u;
/* 028C1574 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
/* 028C1578 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028C1578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028C157C */ _t28 = cpu->r[1] + 0x00000010u;
/* 028C157C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
/* 028C1580 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1580 */ _t30 = _t29 & 0x00000001u;
/* 028C1580 */ if (_t30) goto L_028C1584; // else: addr-0 trap, fall-through
L_028C1584: ; // 0x28c1584
/* 028C1584 */ _t31 = cpu->r[1] + 0x00000024u;
/* 028C1584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028C1588 */ cpu->lr = cpu->r[0];
/* 028C158C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C1590 */ return;
L_028C1594: ; // 0x28c1594
/* 028C1594 */ _t32 = cpu->r[31] + 0x0000000Cu;
/* 028C1594 */ cpu->r[6] = rbrew_read16(cpu->mem, _t32);
/* 028C1598 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C1598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C159C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C159C */ _t34 = _t33 & 0x00000001u;
/* 028C159C */ if (_t34) goto L_028C15A0; else goto L_028C15AC;
L_028C15A0: ; // 0x28c15a0
/* 028C15A0 */ _t35 = cpu->r[31] + 0x00000010u;
/* 028C15A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
/* 028C15A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028C15A8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C15A8 */ _t37 = _t36 & 0x00000001u;
/* 028C15A8 */ if (_t37) goto L_028C15AC; else goto L_028C15B4;
L_028C15AC: ; // 0x28c15ac
/* 028C15AC */ cpu->r[3] = cpu->r[31];
/* 028C15B0 */ Gambit_fn_028C1430(cpu);
L_028C15B4: ; // 0x28c15b4
/* 028C15B4 */ _t38 = cpu->r[31] + 0x00000138u;
/* 028C15B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
/* 028C15B8 */ Gambit_fn_028CA194(cpu);
/* 028C15BC */ cpu->r[3] = cpu->r[31];
/* 028C15C0 */ Gambit_fn_028C14A8(cpu);
/* 028C15C4 */ _t39 = cpu->r[1] + 0x00000018u;
/* 028C15C4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39);
/* 028C15C8 */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028C15C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028C15CC */ _t41 = cpu->r[1] + 0x00000010u;
/* 028C15CC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t41);
/* 028C15D0 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C15D0 */ _t43 = _t42 & 0x00000001u;
/* 028C15D0 */ if (_t43) goto L_028C15D4; // else: addr-0 trap, fall-through
L_028C15D4: ; // 0x28c15d4
/* 028C15D4 */ _t44 = cpu->r[1] + 0x00000024u;
/* 028C15D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028C15D8 */ cpu->lr = cpu->r[0];
/* 028C15DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C15E0 */ return;
L_028C15E4: ; // 0x28c15e4
/* 028C15E4 */ _t45 = cpu->r[31] + 0x0000000Cu;
/* 028C15E4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45);
/* 028C15E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C15E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C15EC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C15EC */ _t47 = _t46 & 0x00000001u;
/* 028C15EC */ if (_t47) goto L_028C15F8; else goto L_028C15F0;
L_028C15F0: ; // 0x28c15f0
/* 028C15F0 */ cpu->r[3] = cpu->r[31];
/* 028C15F4 */ Gambit_fn_028C1430(cpu);
L_028C15F8: ; // 0x28c15f8
/* 028C15F8 */ cpu->r[3] = cpu->r[31];
/* 028C15FC */ Gambit_fn_028BFAD8(cpu);
/* 028C1600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1604 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1604 */ _t49 = _t48 & 0x00000001u;
/* 028C1604 */ if (_t49) goto L_028C1690; else goto L_028C1608;
L_028C1608: ; // 0x28c1608
/* 028C1608 */ cpu->r[3] = cpu->r[31];
/* 028C160C */ Gambit_fn_028BDB50(cpu);
/* 028C1610 */ cpu->r[3] = cpu->r[31];
/* 028C1614 */ Gambit_fn_028C14A8(cpu);
/* 028C1618 */ goto L_028C1698;
L_028C161C: ; // 0x28c161c
/* 028C161C */ _t50 = cpu->r[31] + 0x0000000Eu;
/* 028C161C */ cpu->r[11] = rbrew_read8(cpu->mem, _t50);
/* 028C1620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C1624 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1624 */ _t52 = _t51 & 0x00000001u;
/* 028C1624 */ if (_t52) goto L_028C1628; else goto L_028C1630;
L_028C1628: ; // 0x28c1628
/* 028C1628 */ cpu->r[3] = cpu->r[31];
/* 028C162C */ Gambit_fn_028C1430(cpu);
L_028C1630: ; // 0x28c1630
/* 028C1630 */ _t53 = cpu->r[31] + 0x00000138u;
/* 028C1630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
/* 028C1634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1638 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1638 */ _t55 = _t54 & 0x00000001u;
/* 028C1638 */ if (_t55) goto L_028C1698; else goto L_028C163C;
L_028C163C: ; // 0x28c163c
/* 028C163C */ _t56 = cpu->r[31] + 0x00000024u;
/* 028C163C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
/* 028C1640 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028C1644 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C1644 */ _t58 = _t57 & 0x00000001u;
/* 028C1644 */ if (_t58) goto L_028C1648; else goto L_028C1680;
L_028C1648: ; // 0x28c1648
/* 028C1648 */ _t59 = cpu->r[3] + 0x00000000u;
/* 028C1648 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
/* 028C164C */ _t60 = cpu->r[3] + 0x00000008u;
/* 028C164C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t60);
/* 028C1650 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C1654 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1654 */ _t62 = _t61 & 0x00000001u;
/* 028C1654 */ if (_t62) goto L_028C1658; else goto L_028C1680;
L_028C1658: ; // 0x28c1658
/* 028C1658 */ cpu->r[3] = cpu->r[31];
/* 028C165C */ Gambit_fn_028BDB04(cpu);
/* 028C1660 */ _t63 = cpu->r[1] + 0x00000018u;
/* 028C1660 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t63);
/* 028C1664 */ _t64 = cpu->r[1] + 0x0000000Cu;
/* 028C1664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
/* 028C1668 */ _t65 = cpu->r[1] + 0x00000010u;
/* 028C1668 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t65);
/* 028C166C */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C166C */ _t67 = _t66 & 0x00000001u;
/* 028C166C */ if (_t67) goto L_028C1670; // else: addr-0 trap, fall-through
L_028C1670: ; // 0x28c1670
/* 028C1670 */ _t68 = cpu->r[1] + 0x00000024u;
/* 028C1670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
/* 028C1674 */ cpu->lr = cpu->r[0];
/* 028C1678 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C167C */ return;
L_028C1680: ; // 0x28c1680
/* 028C1680 */ Gambit_fn_028CA194(cpu);
/* 028C1684 */ _t69 = cpu->r[31] + 0x0000000Eu;
/* 028C1684 */ cpu->r[12] = rbrew_read8(cpu->mem, _t69);
/* 028C1688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C168C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C168C */ _t71 = _t70 & 0x00000001u;
/* 028C168C */ if (_t71) goto L_028C1690; else goto L_028C1698;
L_028C1690: ; // 0x28c1690
/* 028C1690 */ cpu->r[3] = cpu->r[31];
/* 028C1694 */ Gambit_fn_028C14A8(cpu);
L_028C1698: ; // 0x28c1698
/* 028C1698 */ _t72 = cpu->r[1] + 0x00000018u;
/* 028C1698 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t72);
/* 028C169C */ _t73 = cpu->r[1] + 0x0000000Cu;
/* 028C169C */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
/* 028C16A0 */ _t74 = cpu->r[1] + 0x00000010u;
/* 028C16A0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t74);
/* 028C16A4 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C16A4 */ _t76 = _t75 & 0x00000001u;
/* 028C16A4 */ if (_t76) goto L_028C16A8; // else: addr-0 trap, fall-through
L_028C16A8: ; // 0x28c16a8
/* 028C16A8 */ _t77 = cpu->r[1] + 0x00000024u;
/* 028C16A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
/* 028C16AC */ cpu->lr = cpu->r[0];
/* 028C16B0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C16B4 */ return;
}
// fn_028C16B8 @ 0x28c16b8
void Gambit_fn_028C16B8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
L_028BDC2C: ; // 0x28bdc2c
/* 028BDC2C */ cpu->r[0] = cpu->lr;
/* 028BDC30 */ cpu->r[11] = 0x10140000u;
/* 028BDC34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028BDC34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDC34 */ cpu->r[1] = _t0;
/* 028BDC38 */ _t1 = cpu->r[11] + 0xFFFF90F0u;
/* 028BDC38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028BDC3C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028BDC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028BDC40 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028BDC44 */ cpu->r[31] = cpu->r[3];
/* 028BDC48 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028BDC48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028BDC4C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDC4C */ _t5 = _t4 & 0x00000001u;
/* 028BDC4C */ if (_t5) goto L_028BDC50; else goto L_028BDC7C;
L_028BDC50: ; // 0x28bdc50
/* 028BDC50 */ cpu->r[11] = 0x10140000u;
/* 028BDC54 */ _t6 = cpu->r[11] + 0xFFFF90F4u;
/* 028BDC54 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028BDC58 */ cpu->r[3] = cpu->r[31];
/* 028BDC5C */ Gambit_fn_028BD9D8(cpu);
/* 028BDC60 */ cpu->r[3] = cpu->r[31];
/* 028BDC64 */ Gambit_fn_028BDB04(cpu);
/* 028BDC68 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028BDC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028BDC6C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028BDC6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028BDC70 */ cpu->lr = cpu->r[0];
/* 028BDC74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDC78 */ return;
L_028BDC7C: ; // 0x28bdc7c
/* 028BDC7C */ _t9 = cpu->r[31] + 0x00000004u;
/* 028BDC7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028BDC80 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFBu;
/* 028BDC84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028BDC88 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDC88 */ _t11 = _t10 & 0x00000001u;
/* 028BDC88 */ if (_t11) goto L_028BDCE8; else goto L_028BDC8C;
L_028BDC8C: ; // 0x28bdc8c
/* 028BDC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
/* 028BDC90 */ cpu->r[3] = cpu->r[31];
/* 028BDC94 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028BDC94 */ _t13 = _t12 & 0x00000001u;
/* 028BDC94 */ if (_t13) goto L_028BDCB0; else goto L_028BDC98;
L_028BDC98: ; // 0x28bdc98
/* 028BDC98 */ Gambit_fn_028BDB04(cpu);
/* 028BDC9C */ _t14 = cpu->r[1] + 0x00000014u;
/* 028BDC9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028BDCA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028BDCA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028BDCA4 */ cpu->lr = cpu->r[0];
/* 028BDCA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCAC */ return;
L_028BDCB0: ; // 0x28bdcb0
/* 028BDCB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028BDCB4 */ _t16 = cpu->r[31] + 0x00000024u;
/* 028BDCB4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
/* 028BDCB8 */ _t17 = cpu->r[31] + 0x00000020u;
/* 028BDCB8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[2]);
/* 028BDCBC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDCBC */ _t19 = _t18 & 0x00000001u;
/* 028BDCBC */ if (_t19) goto L_028BDCC0; else goto L_028BDCD8;
L_028BDCC0: ; // 0x28bdcc0
/* 028BDCC0 */ Gambit_fn_028BDB50(cpu);
/* 028BDCC4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028BDCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028BDCC8 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028BDCC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028BDCCC */ cpu->lr = cpu->r[0];
/* 028BDCD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCD4 */ return;
L_028BDCD8: ; // 0x28bdcd8
/* 028BDCD8 */ cpu->r[0] = 0x00000004u;
/* 028BDCDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDCE0 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028BDCE0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028BDCE4 */ Gambit_fn_028BDAB0(cpu);
L_028BDCE8: ; // 0x28bdce8
/* 028BDCE8 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028BDCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028BDCEC */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028BDCEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028BDCF0 */ cpu->lr = cpu->r[0];
/* 028BDCF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028BDCF8 */ return;
L_028BDCFC: ; // 0x28bdcfc
/* 028BDCFC */ cpu->r[12] = 0x10140000u;
/* 028BDD00 */ _t25 = cpu->r[12] + 0xFFFF90F4u;
/* 028BDD00 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
/* 028BDD04 */ cpu->r[12] = 0x10140000u;
/* 028BDD08 */ _t26 = cpu->r[12] + 0xFFFF90F0u;
/* 028BDD08 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26);
/* 028BDD0C */ goto L_028BDC2C;
L_028C16B8: ; // 0x28c16b8
/* 028C16B8 */ _t27 = cpu->r[3] + 0x000001A4u;
/* 028C16B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028C16BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C16C0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C16C0 */ _t29 = _t28 & 0x00000001u;
/* 028C16C0 */ if (_t29) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C16C0 */ goto L_028C16C4;
L_028C16C4: ; // 0x28c16c4
/* 028C16C4 */ _t30 = cpu->r[12] + 0x00000028u;
/* 028C16C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
/* 028C16C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C16CC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C16CC */ _t32 = _t31 & 0x00000001u;
/* 028C16CC */ _t33 = _t32 ^ 0x00000001u;
/* 028C16CC */ if (_t33) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C16CC */ goto L_028C16D0;
L_028C16D0: ; // 0x28c16d0
/* 028C16D0 */ goto L_028BDCFC;
}
// fn_028C16D4 @ 0x28c16d4
void Gambit_fn_028C16D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028C16D4: ; // 0x28c16d4
/* 028C16D4 */ cpu->r[0] = cpu->lr;
/* 028C16D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C16D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C16D8 */ cpu->r[1] = _t0;
/* 028C16DC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C16DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C16E0 */ cpu->r[31] = cpu->r[3];
/* 028C16E4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C16E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C16E8 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028C16E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
/* 028C16EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C16F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C16F0 */ _t5 = _t4 & 0x00000001u;
/* 028C16F0 */ if (_t5) goto L_028C1798; else goto L_028C16F4;
L_028C16F4: ; // 0x28c16f4
/* 028C16F4 */ _t6 = cpu->r[31] + 0x0000000Eu;
/* 028C16F4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
/* 028C16F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C16FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C16FC */ _t8 = _t7 & 0x00000001u;
/* 028C16FC */ if (_t8) goto L_028C1700; else goto L_028C1714;
L_028C1700: ; // 0x28c1700
/* 028C1700 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028C1700 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028C1704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
/* 028C1708 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1708 */ _t11 = _t10 & 0x00000001u;
/* 028C1708 */ if (_t11) goto L_028C170C; else goto L_028C1718;
L_028C170C: ; // 0x28c170c
/* 028C170C */ cpu->r[3] = cpu->r[31];
/* 028C1710 */ Gambit_fn_028BF940(cpu);
L_028C1714: ; // 0x28c1714
/* 028C1714 */ _t12 = cpu->r[31] + 0x00000004u;
/* 028C1714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
L_028C1718: ; // 0x28c1718
/* 028C1718 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFDu;
/* 028C171C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u);
/* 028C1720 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1720 */ _t14 = _t13 & 0x00000001u;
/* 028C1720 */ if (_t14) goto L_028C1724; else goto L_028C1740;
L_028C1724: ; // 0x28c1724
/* 028C1724 */ _t15 = cpu->r[31] + 0x00000134u;
/* 028C1724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028C1728 */ _t16 = cpu->r[12] + 0x00000004u;
/* 028C1728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028C172C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028C1730 */ cpu->r[11] = cpu->r[12] - cpu->r[0];
/* 028C1730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C1734 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1734 */ _t18 = _t17 & 0x00000001u;
/* 028C1734 */ if (_t18) goto L_028C1738; else goto L_028C1740;
L_028C1738: ; // 0x28c1738
/* 028C1738 */ cpu->r[3] = cpu->r[31];
/* 028C173C */ Gambit_fn_028BDB04(cpu);
L_028C1740: ; // 0x28c1740
/* 028C1740 */ _t19 = cpu->r[31] + 0x0000000Eu;
/* 028C1740 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
/* 028C1744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1748 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1748 */ _t21 = _t20 & 0x00000001u;
/* 028C1748 */ if (_t21) goto L_028C174C; else goto L_028C1760;
L_028C174C: ; // 0x28c174c
/* 028C174C */ _t22 = cpu->r[31] + 0x00000134u;
/* 028C174C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C1750 */ Gambit_fn_028EA0C0(cpu);
/* 028C1754 */ _t23 = cpu->r[31] + 0x0000000Eu;
/* 028C1754 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
/* 028C1758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C175C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C175C */ _t25 = _t24 & 0x00000001u;
/* 028C175C */ if (_t25) goto L_028C176C; else goto L_028C1760;
L_028C1760: ; // 0x28c1760
/* 028C1760 */ _t26 = cpu->r[31] + 0x00000004u;
/* 028C1760 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028C1764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000005u);
/* 028C1768 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1768 */ _t28 = _t27 & 0x00000001u;
/* 028C1768 */ if (_t28) goto L_028C176C; else goto L_028C1778;
L_028C176C: ; // 0x28c176c
/* 028C176C */ cpu->r[3] = cpu->r[31];
/* 028C1770 */ Gambit_fn_028C14E4(cpu);
/* 028C1774 */ _t29 = cpu->r[31] + 0x00000004u;
/* 028C1774 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
L_028C1778: ; // 0x28c1778
/* 028C1778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000007u);
/* 028C177C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C177C */ _t31 = _t30 & 0x00000001u;
/* 028C177C */ if (_t31) goto L_028C1780; else goto L_028C1790;
L_028C1780: ; // 0x28c1780
/* 028C1780 */ cpu->r[3] = cpu->r[31];
/* 028C1784 */ Gambit_fn_028C16B8(cpu);
/* 028C1788 */ cpu->r[3] = cpu->r[31];
/* 028C178C */ Gambit_fn_028C14A8(cpu);
L_028C1790: ; // 0x28c1790
/* 028C1790 */ _t32 = cpu->r[31] + 0x00000134u;
/* 028C1790 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
/* 028C1794 */ Gambit_fn_028EA28C(cpu);
L_028C1798: ; // 0x28c1798
/* 028C1798 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028C1798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028C179C */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028C179C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028C17A0 */ cpu->lr = cpu->r[0];
/* 028C17A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C17A8 */ return;
}
// fn_028C16D8 @ 0x28c16d8
void Gambit_fn_028C16D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028C16D8: ; // 0x28c16d8
/* 028C16D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C16D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C16D8 */ cpu->r[1] = _t0;
/* 028C16DC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C16DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C16E0 */ cpu->r[31] = cpu->r[3];
/* 028C16E4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C16E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C16E8 */ _t3 = cpu->r[31] + 0x00000000u;
/* 028C16E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
/* 028C16EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C16F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C16F0 */ _t5 = _t4 & 0x00000001u;
/* 028C16F0 */ if (_t5) goto L_028C1798; else goto L_028C16F4;
L_028C16F4: ; // 0x28c16f4
/* 028C16F4 */ _t6 = cpu->r[31] + 0x0000000Eu;
/* 028C16F4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
/* 028C16F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C16FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C16FC */ _t8 = _t7 & 0x00000001u;
/* 028C16FC */ if (_t8) goto L_028C1700; else goto L_028C1714;
L_028C1700: ; // 0x28c1700
/* 028C1700 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028C1700 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028C1704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
/* 028C1708 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1708 */ _t11 = _t10 & 0x00000001u;
/* 028C1708 */ if (_t11) goto L_028C170C; else goto L_028C1718;
L_028C170C: ; // 0x28c170c
/* 028C170C */ cpu->r[3] = cpu->r[31];
/* 028C1710 */ Gambit_fn_028BF940(cpu);
L_028C1714: ; // 0x28c1714
/* 028C1714 */ _t12 = cpu->r[31] + 0x00000004u;
/* 028C1714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
L_028C1718: ; // 0x28c1718
/* 028C1718 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFDu;
/* 028C171C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u);
/* 028C1720 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1720 */ _t14 = _t13 & 0x00000001u;
/* 028C1720 */ if (_t14) goto L_028C1724; else goto L_028C1740;
L_028C1724: ; // 0x28c1724
/* 028C1724 */ _t15 = cpu->r[31] + 0x00000134u;
/* 028C1724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028C1728 */ _t16 = cpu->r[12] + 0x00000004u;
/* 028C1728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028C172C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028C1730 */ cpu->r[11] = cpu->r[12] - cpu->r[0];
/* 028C1730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C1734 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1734 */ _t18 = _t17 & 0x00000001u;
/* 028C1734 */ if (_t18) goto L_028C1738; else goto L_028C1740;
L_028C1738: ; // 0x28c1738
/* 028C1738 */ cpu->r[3] = cpu->r[31];
/* 028C173C */ Gambit_fn_028BDB04(cpu);
L_028C1740: ; // 0x28c1740
/* 028C1740 */ _t19 = cpu->r[31] + 0x0000000Eu;
/* 028C1740 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
/* 028C1744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1748 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1748 */ _t21 = _t20 & 0x00000001u;
/* 028C1748 */ if (_t21) goto L_028C174C; else goto L_028C1760;
L_028C174C: ; // 0x28c174c
/* 028C174C */ _t22 = cpu->r[31] + 0x00000134u;
/* 028C174C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C1750 */ Gambit_fn_028EA0C0(cpu);
/* 028C1754 */ _t23 = cpu->r[31] + 0x0000000Eu;
/* 028C1754 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
/* 028C1758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C175C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C175C */ _t25 = _t24 & 0x00000001u;
/* 028C175C */ if (_t25) goto L_028C176C; else goto L_028C1760;
L_028C1760: ; // 0x28c1760
/* 028C1760 */ _t26 = cpu->r[31] + 0x00000004u;
/* 028C1760 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028C1764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000005u);
/* 028C1768 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1768 */ _t28 = _t27 & 0x00000001u;
/* 028C1768 */ if (_t28) goto L_028C176C; else goto L_028C1778;
L_028C176C: ; // 0x28c176c
/* 028C176C */ cpu->r[3] = cpu->r[31];
/* 028C1770 */ Gambit_fn_028C14E4(cpu);
/* 028C1774 */ _t29 = cpu->r[31] + 0x00000004u;
/* 028C1774 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
L_028C1778: ; // 0x28c1778
/* 028C1778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000007u);
/* 028C177C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C177C */ _t31 = _t30 & 0x00000001u;
/* 028C177C */ if (_t31) goto L_028C1780; else goto L_028C1790;
L_028C1780: ; // 0x28c1780
/* 028C1780 */ cpu->r[3] = cpu->r[31];
/* 028C1784 */ Gambit_fn_028C16B8(cpu);
/* 028C1788 */ cpu->r[3] = cpu->r[31];
/* 028C178C */ Gambit_fn_028C14A8(cpu);
L_028C1790: ; // 0x28c1790
/* 028C1790 */ _t32 = cpu->r[31] + 0x00000134u;
/* 028C1790 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
/* 028C1794 */ Gambit_fn_028EA28C(cpu);
L_028C1798: ; // 0x28c1798
/* 028C1798 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028C1798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028C179C */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028C179C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028C17A0 */ cpu->lr = cpu->r[0];
/* 028C17A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C17A8 */ return;
}
// fn_028C17AC @ 0x28c17ac
void Gambit_fn_028C17AC(CPUState* cpu) {
uint32_t _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_028C17AC: ; // 0x28c17ac
/* 028C17AC */ cpu->r[0] = cpu->lr;
/* 028C17B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C17B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C17B0 */ cpu->r[1] = _t0;
/* 028C17B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C17B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C17B8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C17B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C17BC */ cpu->r[30] = cpu->r[3];
/* 028C17C0 */ cpu->r[31] = cpu->r[4];
/* 028C17C4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C17C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C17C8 */ Gambit_fn_028BF8B4(cpu);
/* 028C17CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C17D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C17D0 */ _t5 = _t4 & 0x00000001u;
/* 028C17D0 */ if (_t5) goto L_028C1820; else goto L_028C17D4;
L_028C17D4: ; // 0x28c17d4
/* 028C17D4 */ _t6 = cpu->r[30] + 0x0000019Cu;
/* 028C17D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028C17D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C17DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C17DC */ _t8 = _t7 & 0x00000001u;
/* 028C17DC */ if (_t8) goto L_028C1804; else goto L_028C17E0;
L_028C17E0: ; // 0x28c17e0
/* 028C17E0 */ cpu->r[0] = 0x00000000u;
/* 028C17E4 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028C17E4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
/* 028C17E8 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028C17E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C17EC */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C17EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028C17F0 */ cpu->lr = cpu->r[0];
/* 028C17F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C17F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C17F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C17FC */ cpu->r[3] = 0x00000001u;
/* 028C1800 */ return;
L_028C1804: ; // 0x28c1804
/* 028C1804 */ Gambit_fn_028C2A0C(cpu);
/* 028C1808 */ _t13 = cpu->r[3] + 0x00000040u;
/* 028C1808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028C180C */ cpu->r[4] = cpu->r[30] + 0x00000180u;
/* 028C1810 */ Gambit_fn_028E0784(cpu);
/* 028C1814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1818 */ _t14 = cpu->r[30] + 0x0000019Cu;
/* 028C1818 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
/* 028C181C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C181C */ _t16 = _t15 & 0x00000001u;
/* 028C181C */ if (_t16) goto L_028C1820; else goto L_028C183C;
L_028C1820: ; // 0x28c1820
/* 028C1820 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C1820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C1824 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C1824 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C1828 */ cpu->lr = cpu->r[0];
/* 028C182C */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C182C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C1830 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1834 */ cpu->r[3] = 0x00000000u;
/* 028C1838 */ return;
L_028C183C: ; // 0x28c183c
/* 028C183C */ cpu->r[11] = 0x00000001u;
/* 028C1840 */ _t20 = cpu->r[31] + 0x00000000u;
/* 028C1840 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[11]);
/* 028C1844 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C1844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C1848 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028C1848 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028C184C */ cpu->lr = cpu->r[0];
/* 028C1850 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028C1850 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028C1854 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1858 */ cpu->r[3] = cpu->r[11];
/* 028C185C */ return;
}
// fn_028C17B0 @ 0x28c17b0
void Gambit_fn_028C17B0(CPUState* cpu) {
uint32_t _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_028C17B0: ; // 0x28c17b0
/* 028C17B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C17B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C17B0 */ cpu->r[1] = _t0;
/* 028C17B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C17B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C17B8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C17B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C17BC */ cpu->r[30] = cpu->r[3];
/* 028C17C0 */ cpu->r[31] = cpu->r[4];
/* 028C17C4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C17C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C17C8 */ Gambit_fn_028BF8B4(cpu);
/* 028C17CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C17D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C17D0 */ _t5 = _t4 & 0x00000001u;
/* 028C17D0 */ if (_t5) goto L_028C1820; else goto L_028C17D4;
L_028C17D4: ; // 0x28c17d4
/* 028C17D4 */ _t6 = cpu->r[30] + 0x0000019Cu;
/* 028C17D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028C17D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C17DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C17DC */ _t8 = _t7 & 0x00000001u;
/* 028C17DC */ if (_t8) goto L_028C1804; else goto L_028C17E0;
L_028C17E0: ; // 0x28c17e0
/* 028C17E0 */ cpu->r[0] = 0x00000000u;
/* 028C17E4 */ _t9 = cpu->r[31] + 0x00000000u;
/* 028C17E4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
/* 028C17E8 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028C17E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C17EC */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C17EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028C17F0 */ cpu->lr = cpu->r[0];
/* 028C17F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C17F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C17F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C17FC */ cpu->r[3] = 0x00000001u;
/* 028C1800 */ return;
L_028C1804: ; // 0x28c1804
/* 028C1804 */ Gambit_fn_028C2A0C(cpu);
/* 028C1808 */ _t13 = cpu->r[3] + 0x00000040u;
/* 028C1808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028C180C */ cpu->r[4] = cpu->r[30] + 0x00000180u;
/* 028C1810 */ Gambit_fn_028E0784(cpu);
/* 028C1814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1818 */ _t14 = cpu->r[30] + 0x0000019Cu;
/* 028C1818 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
/* 028C181C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C181C */ _t16 = _t15 & 0x00000001u;
/* 028C181C */ if (_t16) goto L_028C1820; else goto L_028C183C;
L_028C1820: ; // 0x28c1820
/* 028C1820 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C1820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C1824 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C1824 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C1828 */ cpu->lr = cpu->r[0];
/* 028C182C */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C182C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C1830 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1834 */ cpu->r[3] = 0x00000000u;
/* 028C1838 */ return;
L_028C183C: ; // 0x28c183c
/* 028C183C */ cpu->r[11] = 0x00000001u;
/* 028C1840 */ _t20 = cpu->r[31] + 0x00000000u;
/* 028C1840 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[11]);
/* 028C1844 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C1844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C1848 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028C1848 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028C184C */ cpu->lr = cpu->r[0];
/* 028C1850 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028C1850 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028C1854 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1858 */ cpu->r[3] = cpu->r[11];
/* 028C185C */ return;
}
// fn_028C1860 @ 0x28c1860
void Gambit_fn_028C1860(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028C1860: ; // 0x28c1860
/* 028C1860 */ cpu->r[0] = cpu->lr;
/* 028C1864 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C1864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1864 */ cpu->r[1] = _t0;
/* 028C1868 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028C1868 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C186C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C186C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C1870 */ cpu->r[31] = cpu->r[3];
/* 028C1874 */ _t3 = cpu->r[1] + 0x00000024u;
/* 028C1874 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C1878 */ _t4 = cpu->r[31] + 0x0000019Cu;
/* 028C1878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C187C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1880 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1880 */ _t6 = _t5 & 0x00000001u;
/* 028C1880 */ if (_t6) goto L_028C191C; else goto L_028C1884;
L_028C1884: ; // 0x28c1884
/* 028C1884 */ _t7 = cpu->r[31] + 0x000001A4u;
/* 028C1884 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028C1888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C188C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C188C */ _t9 = _t8 & 0x00000001u;
/* 028C188C */ if (_t9) goto L_028C191C; else goto L_028C1890;
L_028C1890: ; // 0x28c1890
/* 028C1890 */ _t10 = cpu->r[10] + 0x00000028u;
/* 028C1890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
/* 028C1894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1898 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1898 */ _t12 = _t11 & 0x00000001u;
/* 028C1898 */ if (_t12) goto L_028C191C; else goto L_028C189C;
L_028C189C: ; // 0x28c189c
/* 028C189C */ cpu->r[30] = 0x00000000u;
/* 028C18A0 */ Gambit_fn_028DF238(cpu);
/* 028C18A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C18A8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C18A8 */ _t14 = _t13 & 0x00000001u;
/* 028C18A8 */ if (_t14) goto L_028C18AC; else goto L_028C191C;
L_028C18AC: ; // 0x28c18ac
/* 028C18AC */ _t15 = cpu->r[31] + 0x0000019Cu;
/* 028C18AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028C18B0 */ cpu->r[4] = cpu->r[30];
/* 028C18B4 */ Gambit_fn_028DF254(cpu);
/* 028C18B8 */ cpu->r[12] = cpu->r[3];
/* 028C18BC */ _t16 = cpu->r[12] + 0x00000000u;
/* 028C18BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
/* 028C18C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C18C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C18C4 */ _t18 = _t17 & 0x00000001u;
/* 028C18C4 */ if (_t18) goto L_028C18FC; else goto L_028C18C8;
L_028C18C8: ; // 0x28c18c8
/* 028C18C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028C18CC */ cpu->r[4] = cpu->r[12] + 0x00000024u;
/* 028C18D0 */ Gambit_fn_0200D450(cpu);
/* 028C18D4 */ _t19 = cpu->r[31] + 0x000001A4u;
/* 028C18D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028C18D8 */ cpu->r[5] = cpu->r[30];
/* 028C18DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C18E0 */ Gambit_fn_028DDB1C(cpu);
/* 028C18E4 */ _t20 = cpu->r[31] + 0x0000019Cu;
/* 028C18E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028C18E8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C18EC */ Gambit_fn_028DF238(cpu);
/* 028C18F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C18F4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C18F4 */ _t22 = _t21 & 0x00000001u;
/* 028C18F4 */ if (_t22) goto L_028C18AC; else goto L_028C18F8;
L_028C18F8: ; // 0x28c18f8
/* 028C18F8 */ goto L_028C191C;
L_028C18FC: ; // 0x28c18fc
/* 028C18FC */ _t23 = cpu->r[31] + 0x000001A4u;
/* 028C18FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028C1900 */ cpu->r[4] = cpu->r[30];
/* 028C1904 */ Gambit_fn_028DDB20(cpu);
/* 028C1908 */ _t24 = cpu->r[31] + 0x0000019Cu;
/* 028C1908 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
/* 028C190C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C1910 */ Gambit_fn_028DF238(cpu);
/* 028C1914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C1918 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1918 */ _t26 = _t25 & 0x00000001u;
/* 028C1918 */ if (_t26) goto L_028C18AC; else goto L_028C191C;
L_028C191C: ; // 0x28c191c
/* 028C191C */ _t27 = cpu->r[1] + 0x00000024u;
/* 028C191C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C1920 */ _t28 = cpu->r[1] + 0x00000018u;
/* 028C1920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028C1924 */ cpu->lr = cpu->r[0];
/* 028C1928 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028C1928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C192C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C1930 */ return;
}
// fn_028C1864 @ 0x28c1864
void Gambit_fn_028C1864(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028C1864: ; // 0x28c1864
/* 028C1864 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C1864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1864 */ cpu->r[1] = _t0;
/* 028C1868 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028C1868 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C186C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C186C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C1870 */ cpu->r[31] = cpu->r[3];
/* 028C1874 */ _t3 = cpu->r[1] + 0x00000024u;
/* 028C1874 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C1878 */ _t4 = cpu->r[31] + 0x0000019Cu;
/* 028C1878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C187C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1880 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1880 */ _t6 = _t5 & 0x00000001u;
/* 028C1880 */ if (_t6) goto L_028C191C; else goto L_028C1884;
L_028C1884: ; // 0x28c1884
/* 028C1884 */ _t7 = cpu->r[31] + 0x000001A4u;
/* 028C1884 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028C1888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C188C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C188C */ _t9 = _t8 & 0x00000001u;
/* 028C188C */ if (_t9) goto L_028C191C; else goto L_028C1890;
L_028C1890: ; // 0x28c1890
/* 028C1890 */ _t10 = cpu->r[10] + 0x00000028u;
/* 028C1890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
/* 028C1894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1898 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1898 */ _t12 = _t11 & 0x00000001u;
/* 028C1898 */ if (_t12) goto L_028C191C; else goto L_028C189C;
L_028C189C: ; // 0x28c189c
/* 028C189C */ cpu->r[30] = 0x00000000u;
/* 028C18A0 */ Gambit_fn_028DF238(cpu);
/* 028C18A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C18A8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C18A8 */ _t14 = _t13 & 0x00000001u;
/* 028C18A8 */ if (_t14) goto L_028C18AC; else goto L_028C191C;
L_028C18AC: ; // 0x28c18ac
/* 028C18AC */ _t15 = cpu->r[31] + 0x0000019Cu;
/* 028C18AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028C18B0 */ cpu->r[4] = cpu->r[30];
/* 028C18B4 */ Gambit_fn_028DF254(cpu);
/* 028C18B8 */ cpu->r[12] = cpu->r[3];
/* 028C18BC */ _t16 = cpu->r[12] + 0x00000000u;
/* 028C18BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
/* 028C18C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C18C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C18C4 */ _t18 = _t17 & 0x00000001u;
/* 028C18C4 */ if (_t18) goto L_028C18FC; else goto L_028C18C8;
L_028C18C8: ; // 0x28c18c8
/* 028C18C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028C18CC */ cpu->r[4] = cpu->r[12] + 0x00000024u;
/* 028C18D0 */ Gambit_fn_0200D450(cpu);
/* 028C18D4 */ _t19 = cpu->r[31] + 0x000001A4u;
/* 028C18D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028C18D8 */ cpu->r[5] = cpu->r[30];
/* 028C18DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C18E0 */ Gambit_fn_028DDB1C(cpu);
/* 028C18E4 */ _t20 = cpu->r[31] + 0x0000019Cu;
/* 028C18E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028C18E8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C18EC */ Gambit_fn_028DF238(cpu);
/* 028C18F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C18F4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C18F4 */ _t22 = _t21 & 0x00000001u;
/* 028C18F4 */ if (_t22) goto L_028C18AC; else goto L_028C18F8;
L_028C18F8: ; // 0x28c18f8
/* 028C18F8 */ goto L_028C191C;
L_028C18FC: ; // 0x28c18fc
/* 028C18FC */ _t23 = cpu->r[31] + 0x000001A4u;
/* 028C18FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028C1900 */ cpu->r[4] = cpu->r[30];
/* 028C1904 */ Gambit_fn_028DDB20(cpu);
/* 028C1908 */ _t24 = cpu->r[31] + 0x0000019Cu;
/* 028C1908 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
/* 028C190C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C1910 */ Gambit_fn_028DF238(cpu);
/* 028C1914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C1918 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1918 */ _t26 = _t25 & 0x00000001u;
/* 028C1918 */ if (_t26) goto L_028C18AC; else goto L_028C191C;
L_028C191C: ; // 0x28c191c
/* 028C191C */ _t27 = cpu->r[1] + 0x00000024u;
/* 028C191C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C1920 */ _t28 = cpu->r[1] + 0x00000018u;
/* 028C1920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028C1924 */ cpu->lr = cpu->r[0];
/* 028C1928 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028C1928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C192C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C1930 */ return;
}
// fn_028C1934 @ 0x28c1934
void Gambit_fn_028C1934(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C1934: ; // 0x28c1934
/* 028C1934 */ cpu->r[0] = cpu->lr;
/* 028C1938 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1938 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1938 */ cpu->r[1] = _t0;
/* 028C193C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C193C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1940 */ cpu->r[31] = cpu->r[3];
/* 028C1944 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C1944 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C1948 */ _t3 = cpu->r[31] + 0x0000019Cu;
/* 028C1948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C194C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1950 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1950 */ _t5 = _t4 & 0x00000001u;
/* 028C1950 */ if (_t5) goto L_028C1974; else goto L_028C1954;
L_028C1954: ; // 0x28c1954
/* 028C1954 */ _t6 = cpu->r[31] + 0x0000017Du;
/* 028C1954 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
/* 028C1958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C195C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C195C */ _t8 = _t7 & 0x00000001u;
/* 028C195C */ if (_t8) goto L_028C1960; else goto L_028C1968;
L_028C1960: ; // 0x28c1960
/* 028C1960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C1964 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1964 */ _t10 = _t9 & 0x00000001u;
/* 028C1964 */ if (_t10) goto L_028C196C; else goto L_028C1968;
L_028C1968: ; // 0x28c1968
/* 028C1968 */ Gambit_fn_028DFE1C(cpu);
L_028C196C: ; // 0x28c196c
/* 028C196C */ cpu->r[3] = cpu->r[31];
/* 028C1970 */ Gambit_fn_028C1860(cpu);
L_028C1974: ; // 0x28c1974
/* 028C1974 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C1974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C1978 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C1978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C197C */ cpu->lr = cpu->r[0];
/* 028C1980 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1984 */ return;
}
// fn_028C1938 @ 0x28c1938
void Gambit_fn_028C1938(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C1938: ; // 0x28c1938
/* 028C1938 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1938 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1938 */ cpu->r[1] = _t0;
/* 028C193C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C193C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1940 */ cpu->r[31] = cpu->r[3];
/* 028C1944 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C1944 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C1948 */ _t3 = cpu->r[31] + 0x0000019Cu;
/* 028C1948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C194C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1950 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1950 */ _t5 = _t4 & 0x00000001u;
/* 028C1950 */ if (_t5) goto L_028C1974; else goto L_028C1954;
L_028C1954: ; // 0x28c1954
/* 028C1954 */ _t6 = cpu->r[31] + 0x0000017Du;
/* 028C1954 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
/* 028C1958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C195C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C195C */ _t8 = _t7 & 0x00000001u;
/* 028C195C */ if (_t8) goto L_028C1960; else goto L_028C1968;
L_028C1960: ; // 0x28c1960
/* 028C1960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C1964 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1964 */ _t10 = _t9 & 0x00000001u;
/* 028C1964 */ if (_t10) goto L_028C196C; else goto L_028C1968;
L_028C1968: ; // 0x28c1968
/* 028C1968 */ Gambit_fn_028DFE1C(cpu);
L_028C196C: ; // 0x28c196c
/* 028C196C */ cpu->r[3] = cpu->r[31];
/* 028C1970 */ Gambit_fn_028C1860(cpu);
L_028C1974: ; // 0x28c1974
/* 028C1974 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C1974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C1978 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C1978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C197C */ cpu->lr = cpu->r[0];
/* 028C1980 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1984 */ return;
}
// fn_028C1988 @ 0x28c1988
void Gambit_fn_028C1988(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_028C1988: ; // 0x28c1988
/* 028C1988 */ cpu->r[0] = cpu->lr;
/* 028C198C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C198C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C198C */ cpu->r[1] = _t0;
/* 028C1990 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C1990 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C1994 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C1994 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C1998 */ cpu->r[30] = cpu->r[3];
/* 028C199C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C199C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C19A0 */ _t4 = cpu->r[30] + 0x00000130u;
/* 028C19A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
/* 028C19A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C19A8 */ cpu->r[31] = cpu->r[4];
/* 028C19AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C19AC */ _t6 = _t5 & 0x00000001u;
/* 028C19AC */ if (_t6) goto L_028C19B0; else goto L_028C19D4;
L_028C19B0: ; // 0x28c19b0
/* 028C19B0 */ _t7 = cpu->r[30] + 0x0000017Cu;
/* 028C19B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
/* 028C19B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C19B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C19B8 */ _t9 = _t8 & 0x00000001u;
/* 028C19B8 */ if (_t9) goto L_028C1A38; else goto L_028C19BC;
L_028C19BC: ; // 0x28c19bc
/* 028C19BC */ _t10 = cpu->r[30] + 0x0000019Cu;
/* 028C19BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028C19C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C19C4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C19C4 */ _t12 = _t11 & 0x00000001u;
/* 028C19C4 */ if (_t12) goto L_028C19F8; else goto L_028C19C8;
L_028C19C8: ; // 0x28c19c8
/* 028C19C8 */ _t13 = cpu->r[30] + 0x000001A0u;
/* 028C19C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028C19CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C19D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C19D0 */ _t15 = _t14 & 0x00000001u;
/* 028C19D0 */ if (_t15) goto L_028C1A20; else goto L_028C19D4;
L_028C19D4: ; // 0x28c19d4
/* 028C19D4 */ cpu->r[12] = 0x00000000u;
/* 028C19D8 */ _t16 = cpu->r[31] + 0x00000000u;
/* 028C19D8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
/* 028C19DC */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C19DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C19E0 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C19E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C19E4 */ cpu->lr = cpu->r[0];
/* 028C19E8 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C19E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C19EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C19F0 */ cpu->r[3] = 0x00000001u;
/* 028C19F4 */ return;
L_028C19F8: ; // 0x28c19f8
/* 028C19F8 */ Gambit_fn_028C2A0C(cpu);
/* 028C19FC */ _t20 = cpu->r[3] + 0x00000040u;
/* 028C19FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028C1A00 */ cpu->r[4] = cpu->r[30] + 0x00000180u;
/* 028C1A04 */ Gambit_fn_028E0784(cpu);
/* 028C1A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1A0C */ _t21 = cpu->r[30] + 0x0000019Cu;
/* 028C1A0C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
/* 028C1A10 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1A10 */ _t23 = _t22 & 0x00000001u;
/* 028C1A10 */ if (_t23) goto L_028C1A38; else goto L_028C1A14;
L_028C1A14: ; // 0x28c1a14
/* 028C1A14 */ _t24 = cpu->r[30] + 0x000001A0u;
/* 028C1A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C1A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1A1C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1A1C */ _t26 = _t25 & 0x00000001u;
/* 028C1A1C */ if (_t26) goto L_028C1A20; else goto L_028C1A54;
L_028C1A20: ; // 0x28c1a20
/* 028C1A20 */ Gambit_fn_028C2A0C(cpu);
/* 028C1A24 */ _t27 = cpu->r[3] + 0x00000044u;
/* 028C1A24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
/* 028C1A28 */ Gambit_fn_028E1110(cpu);
/* 028C1A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1A30 */ _t28 = cpu->r[30] + 0x000001A0u;
/* 028C1A30 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
/* 028C1A34 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1A34 */ _t30 = _t29 & 0x00000001u;
/* 028C1A34 */ if (_t30) goto L_028C1A38; else goto L_028C1A54;
L_028C1A38: ; // 0x28c1a38
/* 028C1A38 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028C1A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028C1A3C */ _t32 = cpu->r[1] + 0x00000008u;
/* 028C1A3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
/* 028C1A40 */ cpu->lr = cpu->r[0];
/* 028C1A44 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028C1A44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
/* 028C1A48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1A4C */ cpu->r[3] = 0x00000000u;
/* 028C1A50 */ return;
L_028C1A54: ; // 0x28c1a54
/* 028C1A54 */ cpu->r[0] = 0x00000001u;
/* 028C1A58 */ _t34 = cpu->r[31] + 0x00000000u;
/* 028C1A58 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[0]);
/* 028C1A5C */ cpu->r[3] = cpu->r[0];
/* 028C1A60 */ _t35 = cpu->r[1] + 0x00000014u;
/* 028C1A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028C1A64 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028C1A64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028C1A68 */ cpu->lr = cpu->r[0];
/* 028C1A6C */ _t37 = cpu->r[1] + 0x00000008u;
/* 028C1A6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
/* 028C1A70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1A74 */ return;
}
// fn_028C198C @ 0x28c198c
void Gambit_fn_028C198C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_028C198C: ; // 0x28c198c
/* 028C198C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C198C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C198C */ cpu->r[1] = _t0;
/* 028C1990 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C1990 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C1994 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C1994 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C1998 */ cpu->r[30] = cpu->r[3];
/* 028C199C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C199C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C19A0 */ _t4 = cpu->r[30] + 0x00000130u;
/* 028C19A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
/* 028C19A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C19A8 */ cpu->r[31] = cpu->r[4];
/* 028C19AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C19AC */ _t6 = _t5 & 0x00000001u;
/* 028C19AC */ if (_t6) goto L_028C19B0; else goto L_028C19D4;
L_028C19B0: ; // 0x28c19b0
/* 028C19B0 */ _t7 = cpu->r[30] + 0x0000017Cu;
/* 028C19B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
/* 028C19B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C19B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C19B8 */ _t9 = _t8 & 0x00000001u;
/* 028C19B8 */ if (_t9) goto L_028C1A38; else goto L_028C19BC;
L_028C19BC: ; // 0x28c19bc
/* 028C19BC */ _t10 = cpu->r[30] + 0x0000019Cu;
/* 028C19BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028C19C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C19C4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C19C4 */ _t12 = _t11 & 0x00000001u;
/* 028C19C4 */ if (_t12) goto L_028C19F8; else goto L_028C19C8;
L_028C19C8: ; // 0x28c19c8
/* 028C19C8 */ _t13 = cpu->r[30] + 0x000001A0u;
/* 028C19C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028C19CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C19D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C19D0 */ _t15 = _t14 & 0x00000001u;
/* 028C19D0 */ if (_t15) goto L_028C1A20; else goto L_028C19D4;
L_028C19D4: ; // 0x28c19d4
/* 028C19D4 */ cpu->r[12] = 0x00000000u;
/* 028C19D8 */ _t16 = cpu->r[31] + 0x00000000u;
/* 028C19D8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
/* 028C19DC */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C19DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C19E0 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C19E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C19E4 */ cpu->lr = cpu->r[0];
/* 028C19E8 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C19E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C19EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C19F0 */ cpu->r[3] = 0x00000001u;
/* 028C19F4 */ return;
L_028C19F8: ; // 0x28c19f8
/* 028C19F8 */ Gambit_fn_028C2A0C(cpu);
/* 028C19FC */ _t20 = cpu->r[3] + 0x00000040u;
/* 028C19FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028C1A00 */ cpu->r[4] = cpu->r[30] + 0x00000180u;
/* 028C1A04 */ Gambit_fn_028E0784(cpu);
/* 028C1A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1A0C */ _t21 = cpu->r[30] + 0x0000019Cu;
/* 028C1A0C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
/* 028C1A10 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1A10 */ _t23 = _t22 & 0x00000001u;
/* 028C1A10 */ if (_t23) goto L_028C1A38; else goto L_028C1A14;
L_028C1A14: ; // 0x28c1a14
/* 028C1A14 */ _t24 = cpu->r[30] + 0x000001A0u;
/* 028C1A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C1A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1A1C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1A1C */ _t26 = _t25 & 0x00000001u;
/* 028C1A1C */ if (_t26) goto L_028C1A20; else goto L_028C1A54;
L_028C1A20: ; // 0x28c1a20
/* 028C1A20 */ Gambit_fn_028C2A0C(cpu);
/* 028C1A24 */ _t27 = cpu->r[3] + 0x00000044u;
/* 028C1A24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
/* 028C1A28 */ Gambit_fn_028E1110(cpu);
/* 028C1A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1A30 */ _t28 = cpu->r[30] + 0x000001A0u;
/* 028C1A30 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
/* 028C1A34 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1A34 */ _t30 = _t29 & 0x00000001u;
/* 028C1A34 */ if (_t30) goto L_028C1A38; else goto L_028C1A54;
L_028C1A38: ; // 0x28c1a38
/* 028C1A38 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028C1A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028C1A3C */ _t32 = cpu->r[1] + 0x00000008u;
/* 028C1A3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
/* 028C1A40 */ cpu->lr = cpu->r[0];
/* 028C1A44 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028C1A44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
/* 028C1A48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1A4C */ cpu->r[3] = 0x00000000u;
/* 028C1A50 */ return;
L_028C1A54: ; // 0x28c1a54
/* 028C1A54 */ cpu->r[0] = 0x00000001u;
/* 028C1A58 */ _t34 = cpu->r[31] + 0x00000000u;
/* 028C1A58 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[0]);
/* 028C1A5C */ cpu->r[3] = cpu->r[0];
/* 028C1A60 */ _t35 = cpu->r[1] + 0x00000014u;
/* 028C1A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028C1A64 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028C1A64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028C1A68 */ cpu->lr = cpu->r[0];
/* 028C1A6C */ _t37 = cpu->r[1] + 0x00000008u;
/* 028C1A6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
/* 028C1A70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1A74 */ return;
}
// fn_028C1A78 @ 0x28c1a78
void Gambit_fn_028C1A78(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028C1A78: ; // 0x28c1a78
/* 028C1A78 */ cpu->r[0] = cpu->lr;
/* 028C1A7C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C1A7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1A7C */ cpu->r[1] = _t0;
/* 028C1A80 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028C1A80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1A84 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C1A84 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C1A88 */ cpu->r[31] = cpu->r[3];
/* 028C1A8C */ _t3 = cpu->r[1] + 0x00000024u;
/* 028C1A8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C1A90 */ _t4 = cpu->r[31] + 0x0000019Cu;
/* 028C1A90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C1A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1A98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1A98 */ _t6 = _t5 & 0x00000001u;
/* 028C1A98 */ if (_t6) goto L_028C1B70; else goto L_028C1A9C;
L_028C1A9C: ; // 0x28c1a9c
/* 028C1A9C */ _t7 = cpu->r[31] + 0x0000017Du;
/* 028C1A9C */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
/* 028C1AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C1AA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1AA4 */ _t9 = _t8 & 0x00000001u;
/* 028C1AA4 */ if (_t9) goto L_028C1AA8; else goto L_028C1AB0;
L_028C1AA8: ; // 0x28c1aa8
/* 028C1AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C1AAC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1AAC */ _t11 = _t10 & 0x00000001u;
/* 028C1AAC */ if (_t11) goto L_028C1B70; else goto L_028C1AB0;
L_028C1AB0: ; // 0x28c1ab0
/* 028C1AB0 */ Gambit_fn_028DFE1C(cpu);
/* 028C1AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1AB8 */ cpu->r[3] = cpu->r[31];
/* 028C1ABC */ cpu->r[12] = 0x00000000u;
/* 028C1AC0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1AC0 */ _t13 = _t12 & 0x00000001u;
/* 028C1AC0 */ if (_t13) goto L_028C1AF0; else goto L_028C1AC4;
L_028C1AC4: ; // 0x28c1ac4
/* 028C1AC4 */ _t14 = cpu->r[31] + 0x0000019Cu;
/* 028C1AC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C1AC8 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028C1AC8 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028C1ACC */ _t16 = cpu->r[11] + 0x00000080u;
/* 028C1ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C1AD0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
/* 028C1AD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C1AD8 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028C1AD8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028C1ADC */ Gambit_fn_028BF304(cpu);
/* 028C1AE0 */ _t18 = cpu->r[31] + 0x000001A0u;
/* 028C1AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028C1AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1AE8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1AE8 */ _t20 = _t19 & 0x00000001u;
/* 028C1AE8 */ if (_t20) goto L_028C1B5C; else goto L_028C1AEC;
L_028C1AEC: ; // 0x28c1aec
/* 028C1AEC */ goto L_028C1B08;
L_028C1AF0: ; // 0x28c1af0
/* 028C1AF0 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C1AF0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
/* 028C1AF4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028C1AF8 */ Gambit_fn_028BF444(cpu);
/* 028C1AFC */ _t22 = cpu->r[31] + 0x000001A0u;
/* 028C1AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C1B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1B04 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1B04 */ _t24 = _t23 & 0x00000001u;
/* 028C1B04 */ if (_t24) goto L_028C1B5C; else goto L_028C1B08;
L_028C1B08: ; // 0x28c1b08
/* 028C1B08 */ Gambit_fn_028E0918(cpu);
/* 028C1B0C */ _t25 = cpu->r[31] + 0x0000019Cu;
/* 028C1B0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
/* 028C1B10 */ cpu->r[30] = 0x00000000u;
/* 028C1B14 */ Gambit_fn_028DF238(cpu);
/* 028C1B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C1B1C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1B1C */ _t27 = _t26 & 0x00000001u;
/* 028C1B1C */ if (_t27) goto L_028C1B20; else goto L_028C1B5C;
L_028C1B20: ; // 0x28c1b20
/* 028C1B20 */ _t28 = cpu->r[31] + 0x0000019Cu;
/* 028C1B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028C1B24 */ cpu->r[4] = cpu->r[30];
/* 028C1B28 */ Gambit_fn_028DF254(cpu);
/* 028C1B2C */ cpu->r[5] = cpu->r[3];
/* 028C1B30 */ _t29 = cpu->r[5] + 0x00000000u;
/* 028C1B30 */ cpu->r[9] = rbrew_read8(cpu->mem, _t29);
/* 028C1B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C1B38 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1B38 */ _t31 = _t30 & 0x00000001u;
/* 028C1B38 */ if (_t31) goto L_028C1B48; else goto L_028C1B3C;
L_028C1B3C: ; // 0x28c1b3c
/* 028C1B3C */ _t32 = cpu->r[31] + 0x000001A0u;
/* 028C1B3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
/* 028C1B40 */ cpu->r[4] = cpu->r[30];
/* 028C1B44 */ Gambit_fn_028E0BFC(cpu);
L_028C1B48: ; // 0x28c1b48
/* 028C1B48 */ _t33 = cpu->r[31] + 0x0000019Cu;
/* 028C1B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
/* 028C1B4C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C1B50 */ Gambit_fn_028DF238(cpu);
/* 028C1B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C1B58 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1B58 */ _t35 = _t34 & 0x00000001u;
/* 028C1B58 */ if (_t35) goto L_028C1B20; else goto L_028C1B5C;
L_028C1B5C: ; // 0x28c1b5c
/* 028C1B5C */ Gambit_fn_028C2A3C(cpu);
/* 028C1B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1B64 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1B64 */ _t37 = _t36 & 0x00000001u;
/* 028C1B64 */ if (_t37) goto L_028C1B70; else goto L_028C1B68;
L_028C1B68: ; // 0x28c1b68
/* 028C1B68 */ cpu->r[4] = cpu->r[31];
/* 028C1B6C */ Gambit_fn_028CDB64(cpu);
L_028C1B70: ; // 0x28c1b70
/* 028C1B70 */ _t38 = cpu->r[1] + 0x00000024u;
/* 028C1B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C1B74 */ _t39 = cpu->r[1] + 0x00000018u;
/* 028C1B74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
/* 028C1B78 */ cpu->lr = cpu->r[0];
/* 028C1B7C */ _t40 = cpu->r[1] + 0x0000001Cu;
/* 028C1B7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028C1B80 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C1B84 */ return;
}
// fn_028C1A7C @ 0x28c1a7c
void Gambit_fn_028C1A7C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028C1A7C: ; // 0x28c1a7c
/* 028C1A7C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C1A7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1A7C */ cpu->r[1] = _t0;
/* 028C1A80 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028C1A80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1A84 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C1A84 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C1A88 */ cpu->r[31] = cpu->r[3];
/* 028C1A8C */ _t3 = cpu->r[1] + 0x00000024u;
/* 028C1A8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C1A90 */ _t4 = cpu->r[31] + 0x0000019Cu;
/* 028C1A90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C1A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1A98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1A98 */ _t6 = _t5 & 0x00000001u;
/* 028C1A98 */ if (_t6) goto L_028C1B70; else goto L_028C1A9C;
L_028C1A9C: ; // 0x28c1a9c
/* 028C1A9C */ _t7 = cpu->r[31] + 0x0000017Du;
/* 028C1A9C */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
/* 028C1AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C1AA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1AA4 */ _t9 = _t8 & 0x00000001u;
/* 028C1AA4 */ if (_t9) goto L_028C1AA8; else goto L_028C1AB0;
L_028C1AA8: ; // 0x28c1aa8
/* 028C1AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C1AAC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1AAC */ _t11 = _t10 & 0x00000001u;
/* 028C1AAC */ if (_t11) goto L_028C1B70; else goto L_028C1AB0;
L_028C1AB0: ; // 0x28c1ab0
/* 028C1AB0 */ Gambit_fn_028DFE1C(cpu);
/* 028C1AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1AB8 */ cpu->r[3] = cpu->r[31];
/* 028C1ABC */ cpu->r[12] = 0x00000000u;
/* 028C1AC0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1AC0 */ _t13 = _t12 & 0x00000001u;
/* 028C1AC0 */ if (_t13) goto L_028C1AF0; else goto L_028C1AC4;
L_028C1AC4: ; // 0x28c1ac4
/* 028C1AC4 */ _t14 = cpu->r[31] + 0x0000019Cu;
/* 028C1AC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C1AC8 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028C1AC8 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028C1ACC */ _t16 = cpu->r[11] + 0x00000080u;
/* 028C1ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C1AD0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
/* 028C1AD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C1AD8 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028C1AD8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028C1ADC */ Gambit_fn_028BF304(cpu);
/* 028C1AE0 */ _t18 = cpu->r[31] + 0x000001A0u;
/* 028C1AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028C1AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1AE8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1AE8 */ _t20 = _t19 & 0x00000001u;
/* 028C1AE8 */ if (_t20) goto L_028C1B5C; else goto L_028C1AEC;
L_028C1AEC: ; // 0x28c1aec
/* 028C1AEC */ goto L_028C1B08;
L_028C1AF0: ; // 0x28c1af0
/* 028C1AF0 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C1AF0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
/* 028C1AF4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028C1AF8 */ Gambit_fn_028BF444(cpu);
/* 028C1AFC */ _t22 = cpu->r[31] + 0x000001A0u;
/* 028C1AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C1B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1B04 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1B04 */ _t24 = _t23 & 0x00000001u;
/* 028C1B04 */ if (_t24) goto L_028C1B5C; else goto L_028C1B08;
L_028C1B08: ; // 0x28c1b08
/* 028C1B08 */ Gambit_fn_028E0918(cpu);
/* 028C1B0C */ _t25 = cpu->r[31] + 0x0000019Cu;
/* 028C1B0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
/* 028C1B10 */ cpu->r[30] = 0x00000000u;
/* 028C1B14 */ Gambit_fn_028DF238(cpu);
/* 028C1B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C1B1C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1B1C */ _t27 = _t26 & 0x00000001u;
/* 028C1B1C */ if (_t27) goto L_028C1B20; else goto L_028C1B5C;
L_028C1B20: ; // 0x28c1b20
/* 028C1B20 */ _t28 = cpu->r[31] + 0x0000019Cu;
/* 028C1B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028C1B24 */ cpu->r[4] = cpu->r[30];
/* 028C1B28 */ Gambit_fn_028DF254(cpu);
/* 028C1B2C */ cpu->r[5] = cpu->r[3];
/* 028C1B30 */ _t29 = cpu->r[5] + 0x00000000u;
/* 028C1B30 */ cpu->r[9] = rbrew_read8(cpu->mem, _t29);
/* 028C1B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C1B38 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1B38 */ _t31 = _t30 & 0x00000001u;
/* 028C1B38 */ if (_t31) goto L_028C1B48; else goto L_028C1B3C;
L_028C1B3C: ; // 0x28c1b3c
/* 028C1B3C */ _t32 = cpu->r[31] + 0x000001A0u;
/* 028C1B3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
/* 028C1B40 */ cpu->r[4] = cpu->r[30];
/* 028C1B44 */ Gambit_fn_028E0BFC(cpu);
L_028C1B48: ; // 0x28c1b48
/* 028C1B48 */ _t33 = cpu->r[31] + 0x0000019Cu;
/* 028C1B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
/* 028C1B4C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C1B50 */ Gambit_fn_028DF238(cpu);
/* 028C1B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028C1B58 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C1B58 */ _t35 = _t34 & 0x00000001u;
/* 028C1B58 */ if (_t35) goto L_028C1B20; else goto L_028C1B5C;
L_028C1B5C: ; // 0x28c1b5c
/* 028C1B5C */ Gambit_fn_028C2A3C(cpu);
/* 028C1B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1B64 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1B64 */ _t37 = _t36 & 0x00000001u;
/* 028C1B64 */ if (_t37) goto L_028C1B70; else goto L_028C1B68;
L_028C1B68: ; // 0x28c1b68
/* 028C1B68 */ cpu->r[4] = cpu->r[31];
/* 028C1B6C */ Gambit_fn_028CDB64(cpu);
L_028C1B70: ; // 0x28c1b70
/* 028C1B70 */ _t38 = cpu->r[1] + 0x00000024u;
/* 028C1B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C1B74 */ _t39 = cpu->r[1] + 0x00000018u;
/* 028C1B74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
/* 028C1B78 */ cpu->lr = cpu->r[0];
/* 028C1B7C */ _t40 = cpu->r[1] + 0x0000001Cu;
/* 028C1B7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028C1B80 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C1B84 */ return;
}
// fn_028C1B88 @ 0x28c1b88
void Gambit_fn_028C1B88(CPUState* cpu) {
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_028C1B88: ; // 0x28c1b88
/* 028C1B88 */ cpu->r[0] = cpu->lr;
/* 028C1B8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1B8C */ cpu->r[1] = _t0;
/* 028C1B90 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C1B90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1B94 */ cpu->r[31] = cpu->r[3];
/* 028C1B98 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C1B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C1B9C */ _t3 = cpu->r[31] + 0x00000004u;
/* 028C1B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028C1BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1BA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1BA4 */ _t5 = _t4 & 0x00000001u;
/* 028C1BA4 */ if (_t5) goto L_028C1C14; else goto L_028C1BA8;
L_028C1BA8: ; // 0x28c1ba8
/* 028C1BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
/* 028C1BAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1BAC */ _t7 = _t6 & 0x00000001u;
/* 028C1BAC */ if (_t7) goto L_028C1C14; else goto L_028C1BB0;
L_028C1BB0: ; // 0x28c1bb0
/* 028C1BB0 */ _t8 = cpu->r[31] + 0x00000194u;
/* 028C1BB0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8);
/* 028C1BB4 */ cpu->r[0] = 0x00000000u;
/* 028C1BB8 */ cpu->r[3] = cpu->r[31];
/* 028C1BBC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028C1BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C1BC0 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028C1BC0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
/* 028C1BC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1BC4 */ _t11 = _t10 & 0x00000001u;
/* 028C1BC4 */ if (_t11) goto L_028C1BF8; else goto L_028C1BC8;
L_028C1BC8: ; // 0x28c1bc8
/* 028C1BC8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C1BCC */ Gambit_fn_028C17AC(cpu);
/* 028C1BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1BD4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1BD4 */ _t13 = _t12 & 0x00000001u;
/* 028C1BD4 */ if (_t13) goto L_028C1C14; else goto L_028C1BD8;
L_028C1BD8: ; // 0x28c1bd8
/* 028C1BD8 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028C1BD8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14);
/* 028C1BDC */ cpu->r[3] = cpu->r[31];
/* 028C1BE0 */ Gambit_fn_028C1934(cpu);
/* 028C1BE4 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028C1BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C1BE8 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C1BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C1BEC */ cpu->lr = cpu->r[0];
/* 028C1BF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1BF4 */ return;
L_028C1BF8: ; // 0x28c1bf8
/* 028C1BF8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C1BFC */ Gambit_fn_028C1988(cpu);
/* 028C1C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1C04 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1C04 */ _t18 = _t17 & 0x00000001u;
/* 028C1C04 */ if (_t18) goto L_028C1C14; else goto L_028C1C08;
L_028C1C08: ; // 0x28c1c08
/* 028C1C08 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028C1C08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t19);
/* 028C1C0C */ cpu->r[3] = cpu->r[31];
/* 028C1C10 */ Gambit_fn_028C1A78(cpu);
L_028C1C14: ; // 0x28c1c14
/* 028C1C14 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C1C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C1C18 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C1C18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C1C1C */ cpu->lr = cpu->r[0];
/* 028C1C20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1C24 */ return;
}
// fn_028C1B8C @ 0x28c1b8c
void Gambit_fn_028C1B8C(CPUState* cpu) {
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_028C1B8C: ; // 0x28c1b8c
/* 028C1B8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1B8C */ cpu->r[1] = _t0;
/* 028C1B90 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C1B90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1B94 */ cpu->r[31] = cpu->r[3];
/* 028C1B98 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C1B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C1B9C */ _t3 = cpu->r[31] + 0x00000004u;
/* 028C1B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028C1BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1BA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1BA4 */ _t5 = _t4 & 0x00000001u;
/* 028C1BA4 */ if (_t5) goto L_028C1C14; else goto L_028C1BA8;
L_028C1BA8: ; // 0x28c1ba8
/* 028C1BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
/* 028C1BAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1BAC */ _t7 = _t6 & 0x00000001u;
/* 028C1BAC */ if (_t7) goto L_028C1C14; else goto L_028C1BB0;
L_028C1BB0: ; // 0x28c1bb0
/* 028C1BB0 */ _t8 = cpu->r[31] + 0x00000194u;
/* 028C1BB0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8);
/* 028C1BB4 */ cpu->r[0] = 0x00000000u;
/* 028C1BB8 */ cpu->r[3] = cpu->r[31];
/* 028C1BBC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028C1BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C1BC0 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028C1BC0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
/* 028C1BC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1BC4 */ _t11 = _t10 & 0x00000001u;
/* 028C1BC4 */ if (_t11) goto L_028C1BF8; else goto L_028C1BC8;
L_028C1BC8: ; // 0x28c1bc8
/* 028C1BC8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C1BCC */ Gambit_fn_028C17AC(cpu);
/* 028C1BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1BD4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1BD4 */ _t13 = _t12 & 0x00000001u;
/* 028C1BD4 */ if (_t13) goto L_028C1C14; else goto L_028C1BD8;
L_028C1BD8: ; // 0x28c1bd8
/* 028C1BD8 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028C1BD8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14);
/* 028C1BDC */ cpu->r[3] = cpu->r[31];
/* 028C1BE0 */ Gambit_fn_028C1934(cpu);
/* 028C1BE4 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028C1BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C1BE8 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C1BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C1BEC */ cpu->lr = cpu->r[0];
/* 028C1BF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1BF4 */ return;
L_028C1BF8: ; // 0x28c1bf8
/* 028C1BF8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C1BFC */ Gambit_fn_028C1988(cpu);
/* 028C1C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1C04 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1C04 */ _t18 = _t17 & 0x00000001u;
/* 028C1C04 */ if (_t18) goto L_028C1C14; else goto L_028C1C08;
L_028C1C08: ; // 0x28c1c08
/* 028C1C08 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028C1C08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t19);
/* 028C1C0C */ cpu->r[3] = cpu->r[31];
/* 028C1C10 */ Gambit_fn_028C1A78(cpu);
L_028C1C14: ; // 0x28c1c14
/* 028C1C14 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C1C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C1C18 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C1C18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C1C1C */ cpu->lr = cpu->r[0];
/* 028C1C20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1C24 */ return;
}
// fn_028C1C28 @ 0x28c1c28
void Gambit_fn_028C1C28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81;
L_028BDD94: ; // 0x28bdd94
/* 028BDD94 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028BDD94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028BDD94 */ cpu->r[1] = _t0;
/* 028BDD98 */ cpu->r[0] = cpu->lr;
/* 028BDD9C */ _t1 = cpu->r[1] + 0x00000028u;
/* 028BDD9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028BDDA0 */ /* nop */
/* 028BDDA4 */ _t2 = cpu->r[1] + 0x00000038u;
/* 028BDDA4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028BDDA8 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028BDDA8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028BDDAC */ /* nop */
/* 028BDDB0 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028BDDB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028BDDB4 */ _t5 = cpu->r[1] + 0x00000040u;
/* 028BDDB4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
/* 028BDDB8 */ cpu->r[31] = cpu->r[3];
/* 028BDDBC */ _t6 = cpu->r[1] + 0x00000020u;
/* 028BDDBC */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
/* 028BDDC0 */ _t7 = cpu->r[1] + 0x0000004Cu;
/* 028BDDC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028BDDC4 */ Gambit_fn_028BDCFC(cpu);
/* 028BDDC8 */ cpu->r[12] = 0x10140000u;
/* 028BDDCC */ _t8 = cpu->r[12] + 0xFFFF90F4u;
/* 028BDDCC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
/* 028BDDD0 */ cpu->r[3] = cpu->r[31];
/* 028BDDD4 */ Gambit_fn_028BD9D8(cpu);
/* 028BDDD8 */ cpu->r[30] = 0x00000000u;
/* 028BDDDC */ cpu->r[11] = 0x10140000u;
/* 028BDDE0 */ _t9 = cpu->r[31] + 0x0000000Eu;
/* 028BDDE0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
/* 028BDDE4 */ _t10 = cpu->r[11] + 0xFFFF90F0u;
/* 028BDDE4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t10);
/* 028BDDE8 */ _t11 = cpu->r[31] + 0x0000000Fu;
/* 028BDDE8 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
/* 028BDDEC */ cpu->r[11] = 0x00000001u;
/* 028BDDF0 */ _t12 = cpu->r[31] + 0x00000010u;
/* 028BDDF0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[30]);
/* 028BDDF4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BDDF8 */ _t13 = cpu->r[31] + 0x0000000Cu;
/* 028BDDF8 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[11]);
/* 028BDDFC */ Gambit_fn_028BD270(cpu);
/* 028BDE00 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
/* 028BDE04 */ Gambit_fn_028BD270(cpu);
/* 028BDE08 */ cpu->r[3] = cpu->r[31] + 0x000000C4u;
/* 028BDE0C */ Gambit_fn_028BD270(cpu);
/* 028BDE10 */ cpu->r[10] = 0x10140000u;
/* 028BDE14 */ _t14 = cpu->r[10] + 0xFFFF90F8u;
/* 028BDE14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028BDE18 */ cpu->f[1] = cpu->f[31];
/* 028BDE1C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028BDE20 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BDE24 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028BDE24 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028BDE28 */ Gambit_fn_028BD348(cpu);
/* 028BDE2C */ cpu->f[1] = cpu->f[31];
/* 028BDE30 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BDE34 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
/* 028BDE38 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028BDE38 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028BDE3C */ Gambit_fn_028BD35C(cpu);
/* 028BDE40 */ cpu->r[4] = 0x00000003u;
/* 028BDE44 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028BDE48 */ Gambit_fn_028BD398(cpu);
/* 028BDE4C */ _t17 = cpu->r[31] + 0x00000110u;
/* 028BDE4C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
/* 028BDE50 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BDE54 */ _t18 = cpu->r[31] + 0x00000024u;
/* 028BDE54 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[30]);
/* 028BDE58 */ cpu->f[1] = cpu->f[31];
/* 028BDE5C */ _t19 = cpu->r[31] + 0x00000118u;
/* 028BDE5C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[31]);
/* 028BDE60 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028BDE64 */ _t20 = cpu->r[1] + 0x00000018u;
/* 028BDE64 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028BDE68 */ cpu->r[3] = cpu->r[31];
/* 028BDE6C */ _t21 = cpu->r[31] + 0x00000114u;
/* 028BDE6C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
/* 028BDE70 */ _t22 = cpu->r[31] + 0x00000020u;
/* 028BDE70 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[30]);
/* 028BDE74 */ _t23 = cpu->r[1] + 0x00000010u;
/* 028BDE74 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028BDE78 */ _t24 = cpu->r[31] + 0x00000028u;
/* 028BDE78 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028BDE7C */ _t25 = cpu->r[31] + 0x00000028u;
/* 028BDE7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028BDE80 */ Gambit_fn_028BDD10(cpu);
/* 028BDE84 */ _t26 = cpu->r[31] + 0x00000134u;
/* 028BDE84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028BDE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDE8C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDE8C */ _t28 = _t27 & 0x00000001u;
/* 028BDE8C */ if (_t28) goto L_028BDE94; else goto L_028BDE90;
L_028BDE90: ; // 0x28bde90
/* 028BDE90 */ Gambit_fn_028EA2FC(cpu);
L_028BDE94: ; // 0x28bde94
/* 028BDE94 */ _t29 = cpu->r[31] + 0x00000138u;
/* 028BDE94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
/* 028BDE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDE9C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDE9C */ _t31 = _t30 & 0x00000001u;
/* 028BDE9C */ if (_t31) goto L_028BDEA8; else goto L_028BDEA0;
L_028BDEA0: ; // 0x28bdea0
/* 028BDEA0 */ cpu->f[1] = cpu->f[31];
/* 028BDEA4 */ Gambit_fn_028CA0C8(cpu);
L_028BDEA8: ; // 0x28bdea8
/* 028BDEA8 */ _t32 = cpu->r[31] + 0x00000124u;
/* 028BDEA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
/* 028BDEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028BDEB0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDEB0 */ _t34 = _t33 & 0x00000001u;
/* 028BDEB0 */ if (_t34) goto L_028BDEC4; else goto L_028BDEB4;
L_028BDEB4: ; // 0x28bdeb4
/* 028BDEB4 */ cpu->r[3] = 0x101D0000u;
/* 028BDEB8 */ _t35 = cpu->r[3] + 0xFFFF9AA8u;
/* 028BDEB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028BDEBC */ Gambit_fn_028C9EF0(cpu);
/* 028BDEC0 */ _t36 = cpu->r[31] + 0x00000124u;
/* 028BDEC0 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
L_028BDEC4: ; // 0x28bdec4
/* 028BDEC4 */ _t37 = cpu->r[31] + 0x00000128u;
/* 028BDEC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028BDEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDECC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDECC */ _t39 = _t38 & 0x00000001u;
/* 028BDECC */ if (_t39) goto L_028BDEDC; else goto L_028BDED0;
L_028BDED0: ; // 0x28bded0
/* 028BDED0 */ cpu->r[4] = cpu->r[31];
/* 028BDED4 */ Gambit_fn_028D3720(cpu);
/* 028BDED8 */ _t40 = cpu->r[31] + 0x00000128u;
/* 028BDED8 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
L_028BDEDC: ; // 0x28bdedc
/* 028BDEDC */ cpu->r[3] = cpu->r[31];
/* 028BDEE0 */ Gambit_fn_028BDA54(cpu);
/* 028BDEE4 */ _t41 = cpu->r[31] + 0x00000130u;
/* 028BDEE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
/* 028BDEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028BDEEC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDEEC */ _t43 = _t42 & 0x00000001u;
/* 028BDEEC */ if (_t43) goto L_028BDF04; else goto L_028BDEF0;
L_028BDEF0: ; // 0x28bdef0
/* 028BDEF0 */ _t44 = cpu->r[11] + 0x00000000u;
/* 028BDEF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028BDEF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028BDEF8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDEF8 */ _t46 = _t45 & 0x00000001u;
/* 028BDEF8 */ if (_t46) goto L_028BDEFC; else goto L_028BDF00;
L_028BDEFC: ; // 0x28bdefc
/* 028BDEFC */ _t47 = cpu->r[11] + 0x00000000u;
/* 028BDEFC */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
L_028BDF00: ; // 0x28bdf00
/* 028BDF00 */ _t48 = cpu->r[31] + 0x00000130u;
/* 028BDF00 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
L_028BDF04: ; // 0x28bdf04
/* 028BDF04 */ _t49 = cpu->r[31] + 0x0000019Cu;
/* 028BDF04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028BDF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028BDF0C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDF0C */ _t51 = _t50 & 0x00000001u;
/* 028BDF0C */ if (_t51) goto L_028BDF24; else goto L_028BDF10;
L_028BDF10: ; // 0x28bdf10
/* 028BDF10 */ Gambit_fn_028C2A0C(cpu);
/* 028BDF14 */ _t52 = cpu->r[3] + 0x00000040u;
/* 028BDF14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028BDF18 */ _t53 = cpu->r[31] + 0x0000019Cu;
/* 028BDF18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
/* 028BDF1C */ Gambit_fn_028E0854(cpu);
/* 028BDF20 */ _t54 = cpu->r[31] + 0x0000019Cu;
/* 028BDF20 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
L_028BDF24: ; // 0x28bdf24
/* 028BDF24 */ _t55 = cpu->r[31] + 0x000001A0u;
/* 028BDF24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
/* 028BDF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028BDF2C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDF2C */ _t57 = _t56 & 0x00000001u;
/* 028BDF2C */ if (_t57) goto L_028BDF44; else goto L_028BDF30;
L_028BDF30: ; // 0x28bdf30
/* 028BDF30 */ Gambit_fn_028C2A0C(cpu);
/* 028BDF34 */ _t58 = cpu->r[3] + 0x00000044u;
/* 028BDF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
/* 028BDF38 */ _t59 = cpu->r[31] + 0x000001A0u;
/* 028BDF38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
/* 028BDF3C */ Gambit_fn_028E12A0(cpu);
/* 028BDF40 */ _t60 = cpu->r[31] + 0x000001A0u;
/* 028BDF40 */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
L_028BDF44: ; // 0x28bdf44
/* 028BDF44 */ cpu->r[3] = cpu->r[31] + 0x00000140u;
/* 028BDF48 */ Gambit_fn_028E1300(cpu);
/* 028BDF4C */ _t61 = cpu->r[31] + 0x000001B8u;
/* 028BDF4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
/* 028BDF50 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028BDF54 */ _t62 = cpu->r[31] + 0x0000001Cu;
/* 028BDF54 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
/* 028BDF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028BDF5C */ _t63 = cpu->r[31] + 0x00000014u;
/* 028BDF5C */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
/* 028BDF60 */ _t64 = cpu->r[31] + 0x000001A8u;
/* 028BDF60 */ rbrew_write32(cpu->mem, _t64, cpu->r[30]);
/* 028BDF64 */ _t65 = cpu->r[31] + 0x000001B4u;
/* 028BDF64 */ rbrew_write32(cpu->mem, _t65, cpu->r[30]);
/* 028BDF68 */ _t66 = cpu->r[31] + 0x000001B0u;
/* 028BDF68 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
/* 028BDF6C */ _t67 = cpu->r[31] + 0x000001ACu;
/* 028BDF6C */ rbrew_write32(cpu->mem, _t67, cpu->r[30]);
/* 028BDF70 */ _t68 = cpu->r[31] + 0x00000018u;
/* 028BDF70 */ rbrew_write32(cpu->mem, _t68, cpu->r[30]);
/* 028BDF74 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028BDF74 */ _t70 = _t69 & 0x00000001u;
/* 028BDF74 */ if (_t70) goto L_028BDF7C; else goto L_028BDF78;
L_028BDF78: ; // 0x28bdf78
/* 028BDF78 */ Gambit_fn_028BBD34(cpu);
L_028BDF7C: ; // 0x28bdf7c
/* 028BDF7C */ cpu->r[3] = 0x101D0000u;
/* 028BDF80 */ _t71 = cpu->r[3] + 0xFFFF9A7Cu;
/* 028BDF80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
/* 028BDF84 */ cpu->r[4] = cpu->r[31];
/* 028BDF88 */ Gambit_fn_028BC97C(cpu);
/* 028BDF8C */ _t72 = cpu->r[1] + 0x00000014u;
/* 028BDF8C */ rbrew_write32(cpu->mem, _t72, cpu->r[30]);
/* 028BDF90 */ cpu->r[3] = cpu->r[31];
/* 028BDF94 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
/* 028BDF98 */ Gambit_fn_028BDAB0(cpu);
/* 028BDF9C */ _t73 = cpu->r[1] + 0x00000040u;
/* 028BDF9C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t73);
/* 028BDFA0 */ _t74 = cpu->r[1] + 0x00000030u;
/* 028BDFA0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t74);
/* 028BDFA4 */ _t75 = cpu->r[1] + 0x00000038u;
/* 028BDFA4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t75);
/* 028BDFA8 */ _t76 = cpu->r[1] + 0x00000028u;
/* 028BDFA8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t76);
/* 028BDFAC */ _t77 = cpu->r[1] + 0x00000024u;
/* 028BDFAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
/* 028BDFB0 */ _t78 = cpu->r[1] + 0x00000020u;
/* 028BDFB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
/* 028BDFB4 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028BDFB4 */ _t80 = _t79 & 0x00000001u;
/* 028BDFB4 */ if (_t80) goto L_028BDFB8; // else: addr-0 trap, fall-through
L_028BDFB8: ; // 0x28bdfb8
/* 028BDFB8 */ _t81 = cpu->r[1] + 0x0000004Cu;
/* 028BDFB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
/* 028BDFBC */ cpu->lr = cpu->r[0];
/* 028BDFC0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028BDFC4 */ return;
L_028C1C28: ; // 0x28c1c28
/* 028C1C28 */ goto L_028BDD94;
}
// fn_028C1C2C @ 0x28c1c2c
void Gambit_fn_028C1C2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028C1C2C: ; // 0x28c1c2c
/* 028C1C2C */ cpu->r[6] = 0x028C0000u;
/* 028C1C30 */ cpu->r[3] = 0x101F0000u;
/* 028C1C34 */ cpu->r[4] = 0x00000002u;
/* 028C1C38 */ cpu->r[6] = cpu->r[6] + 0x00001CB0u;
/* 028C1C3C */ cpu->r[3] = cpu->r[3] + 0x00006FE0u;
/* 028C1C40 */ cpu->r[5] = 0x00000090u;
/* 028C1C44 */ goto L_02C82E00;
L_02C82E00: ; // 0x2c82e00
/* 02C82E00 */ cpu->r[0] = cpu->lr;
/* 02C82E04 */ cpu->r[8] = cpu->r[6];
/* 02C82E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 02C82E0C */ _t0 = cpu->r[1] + 0x00000004u;
/* 02C82E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 02C82E10 */ cpu->r[6] = 0x00000000u;
/* 02C82E14 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 02C82E14 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 02C82E14 */ cpu->r[1] = _t1;
/* 02C82E18 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02C82E18 */ _t3 = _t2 & 0x00000001u;
/* 02C82E18 */ if (_t3) goto L_02C82E1C; else goto L_02C82E24;
L_02C82E1C: ; // 0x2c82e1c
/* 02C82E1C */ cpu->r[6] = 0x101D0000u;
/* 02C82E20 */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
/* 02C82E20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
L_02C82E24: ; // 0x2c82e24
/* 02C82E24 */ cpu->r[7] = 0x00000000u;
/* 02C82E28 */ _t5 = cpu->r[1] + 0x00000008u;
/* 02C82E28 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
/* 02C82E2C */ cpu->r[9] = cpu->r[7];
/* 02C82E30 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 02C82E30 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
/* 02C82E34 */ cpu->r[10] = cpu->r[9];
/* 02C82E38 */ _t7 = cpu->r[1] + 0x00000010u;
/* 02C82E38 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
/* 02C82E3C */ Gambit_fn_02C82C38(cpu);
/* 02C82E40 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 02C82E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 02C82E44 */ cpu->lr = cpu->r[0];
/* 02C82E48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 02C82E4C */ return;
}
// fn_028C1C48 @ 0x28c1c48
void Gambit_fn_028C1C48(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_028C1C48: ; // 0x28c1c48
/* 028C1C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1C4C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1C4C */ _t17 = _t16 & 0x00000001u;
/* 028C1C4C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C1C4C */ goto L_028C1C50;
L_028C1C50: ; // 0x28c1c50
/* 028C1C50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C1C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C1C54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1C54 */ _t19 = _t18 & 0x00000001u;
/* 028C1C54 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C1C54 */ goto L_028C1C58;
L_028C1C58: ; // 0x28c1c58
/* 028C1C58 */ goto L_02801BB0;
}
// fn_028C1C5C @ 0x28c1c5c
void Gambit_fn_028C1C5C(CPUState* cpu) {
L_028C1C5C: ; // 0x28c1c5c
/* 028C1C5C */ return;
}
// fn_028C1C60 @ 0x28c1c60
void Gambit_fn_028C1C60(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C1C60: ; // 0x28c1c60
/* 028C1C60 */ cpu->r[0] = cpu->lr;
/* 028C1C64 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C1C64 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C1C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1C6C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C1C6C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C1C6C */ cpu->r[1] = _t1;
/* 028C1C70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1C70 */ _t3 = _t2 & 0x00000001u;
/* 028C1C70 */ if (_t3) goto L_028C1C74; else goto L_028C1C84;
L_028C1C74: ; // 0x28c1c74
/* 028C1C74 */ cpu->r[3] = 0x00000018u;
/* 028C1C78 */ Gambit_fn_02801A78(cpu);
/* 028C1C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1C80 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1C80 */ _t5 = _t4 & 0x00000001u;
/* 028C1C80 */ if (_t5) goto L_028C1CA0; else goto L_028C1C84;
L_028C1C84: ; // 0x28c1c84
/* 028C1C84 */ cpu->r[0] = 0x00000000u;
/* 028C1C88 */ _t6 = cpu->r[3] + 0x00000010u;
/* 028C1C88 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C1C8C */ _t7 = cpu->r[3] + 0x00000000u;
/* 028C1C8C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C1C90 */ _t8 = cpu->r[3] + 0x00000008u;
/* 028C1C90 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C1C94 */ _t9 = cpu->r[3] + 0x00000014u;
/* 028C1C94 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C1C98 */ _t10 = cpu->r[3] + 0x0000000Cu;
/* 028C1C98 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028C1C9C */ _t11 = cpu->r[3] + 0x00000004u;
/* 028C1C9C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C1CA0: ; // 0x28c1ca0
/* 028C1CA0 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C1CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C1CA4 */ cpu->lr = cpu->r[0];
/* 028C1CA8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C1CAC */ return;
}
// fn_028C1C6C @ 0x28c1c6c
void Gambit_fn_028C1C6C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C1C6C: ; // 0x28c1c6c
/* 028C1C6C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C1C6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1C6C */ cpu->r[1] = _t0;
/* 028C1C70 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1C70 */ _t2 = _t1 & 0x00000001u;
/* 028C1C70 */ if (_t2) goto L_028C1C74; else goto L_028C1C84;
L_028C1C74: ; // 0x28c1c74
/* 028C1C74 */ cpu->r[3] = 0x00000018u;
/* 028C1C78 */ Gambit_fn_02801A78(cpu);
/* 028C1C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1C80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1C80 */ _t4 = _t3 & 0x00000001u;
/* 028C1C80 */ if (_t4) goto L_028C1CA0; else goto L_028C1C84;
L_028C1C84: ; // 0x28c1c84
/* 028C1C84 */ cpu->r[0] = 0x00000000u;
/* 028C1C88 */ _t5 = cpu->r[3] + 0x00000010u;
/* 028C1C88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C1C8C */ _t6 = cpu->r[3] + 0x00000000u;
/* 028C1C8C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C1C90 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028C1C90 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C1C94 */ _t8 = cpu->r[3] + 0x00000014u;
/* 028C1C94 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C1C98 */ _t9 = cpu->r[3] + 0x0000000Cu;
/* 028C1C98 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C1C9C */ _t10 = cpu->r[3] + 0x00000004u;
/* 028C1C9C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
L_028C1CA0: ; // 0x28c1ca0
/* 028C1CA0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C1CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C1CA4 */ cpu->lr = cpu->r[0];
/* 028C1CA8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C1CAC */ return;
}
// fn_028C1CB0 @ 0x28c1cb0
void Gambit_fn_028C1CB0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028C1CB0: ; // 0x28c1cb0
/* 028C1CB0 */ cpu->r[0] = cpu->lr;
/* 028C1CB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1CB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1CB4 */ cpu->r[1] = _t0;
/* 028C1CB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C1CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1CBC */ cpu->r[31] = cpu->r[3];
/* 028C1CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1CC0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C1CC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C1CC4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1CC4 */ _t4 = _t3 & 0x00000001u;
/* 028C1CC4 */ if (_t4) goto L_028C1CC8; else goto L_028C1CD8;
L_028C1CC8: ; // 0x28c1cc8
/* 028C1CC8 */ cpu->r[3] = 0x00000090u;
/* 028C1CCC */ Gambit_fn_02801A78(cpu);
/* 028C1CD0 */ cpu->r[31] = cpu->r[3];
/* 028C1CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1CD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1CD4 */ _t6 = _t5 & 0x00000001u;
/* 028C1CD4 */ if (_t6) goto L_028C1CF0; else goto L_028C1CD8;
L_028C1CD8: ; // 0x28c1cd8
/* 028C1CD8 */ cpu->r[6] = 0x028C0000u;
/* 028C1CDC */ cpu->r[3] = cpu->r[31];
/* 028C1CE0 */ cpu->r[4] = 0x00000006u;
/* 028C1CE4 */ cpu->r[6] = cpu->r[6] + 0x00001C60u;
/* 028C1CE8 */ cpu->r[5] = 0x00000018u;
/* 028C1CEC */ Gambit_fn_02C82E00(cpu);
L_028C1CF0: ; // 0x28c1cf0
/* 028C1CF0 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028C1CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028C1CF4 */ cpu->r[3] = cpu->r[31];
/* 028C1CF8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C1CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028C1CFC */ cpu->lr = cpu->r[0];
/* 028C1D00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1D04 */ return;
}
// fn_028C1CB4 @ 0x28c1cb4
void Gambit_fn_028C1CB4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028C1CB4: ; // 0x28c1cb4
/* 028C1CB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1CB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1CB4 */ cpu->r[1] = _t0;
/* 028C1CB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C1CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1CBC */ cpu->r[31] = cpu->r[3];
/* 028C1CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1CC0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C1CC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C1CC4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1CC4 */ _t4 = _t3 & 0x00000001u;
/* 028C1CC4 */ if (_t4) goto L_028C1CC8; else goto L_028C1CD8;
L_028C1CC8: ; // 0x28c1cc8
/* 028C1CC8 */ cpu->r[3] = 0x00000090u;
/* 028C1CCC */ Gambit_fn_02801A78(cpu);
/* 028C1CD0 */ cpu->r[31] = cpu->r[3];
/* 028C1CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1CD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1CD4 */ _t6 = _t5 & 0x00000001u;
/* 028C1CD4 */ if (_t6) goto L_028C1CF0; else goto L_028C1CD8;
L_028C1CD8: ; // 0x28c1cd8
/* 028C1CD8 */ cpu->r[6] = 0x028C0000u;
/* 028C1CDC */ cpu->r[3] = cpu->r[31];
/* 028C1CE0 */ cpu->r[4] = 0x00000006u;
/* 028C1CE4 */ cpu->r[6] = cpu->r[6] + 0x00001C60u;
/* 028C1CE8 */ cpu->r[5] = 0x00000018u;
/* 028C1CEC */ Gambit_fn_02C82E00(cpu);
L_028C1CF0: ; // 0x28c1cf0
/* 028C1CF0 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028C1CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028C1CF4 */ cpu->r[3] = cpu->r[31];
/* 028C1CF8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C1CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028C1CFC */ cpu->lr = cpu->r[0];
/* 028C1D00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1D04 */ return;
}
// fn_028C1D14 @ 0x28c1d14
void Gambit_fn_028C1D14(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028C1D14: ; // 0x28c1d14
/* 028C1D14 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C1D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1D14 */ cpu->r[1] = _t0;
/* 028C1D18 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1D18 */ _t2 = _t1 & 0x00000001u;
/* 028C1D18 */ if (_t2) goto L_028C1D1C; else goto L_028C1D2C;
L_028C1D1C: ; // 0x28c1d1c
/* 028C1D1C */ cpu->r[3] = 0x00000008u;
/* 028C1D20 */ Gambit_fn_02801A78(cpu);
/* 028C1D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1D28 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1D28 */ _t4 = _t3 & 0x00000001u;
/* 028C1D28 */ if (_t4) goto L_028C1D40; else goto L_028C1D2C;
L_028C1D2C: ; // 0x28c1d2c
/* 028C1D2C */ cpu->r[12] = 0x10140000u;
/* 028C1D30 */ cpu->r[0] = 0x00000004u;
/* 028C1D34 */ _t5 = cpu->r[12] + 0xFFFF90F8u;
/* 028C1D34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028C1D38 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028C1D38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C1D3C */ _t7 = cpu->r[3] + 0x00000004u;
/* 028C1D3C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
L_028C1D40: ; // 0x28c1d40
/* 028C1D40 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C1D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C1D44 */ cpu->lr = cpu->r[0];
/* 028C1D48 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C1D4C */ return;
}
// fn_028C1D50 @ 0x28c1d50
void Gambit_fn_028C1D50(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028C1D50: ; // 0x28c1d50
/* 028C1D50 */ cpu->r[0] = cpu->lr;
/* 028C1D54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1D54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1D54 */ cpu->r[1] = _t0;
/* 028C1D58 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C1D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1D5C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C1D5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C1D60 */ cpu->r[31] = cpu->r[3];
/* 028C1D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1D64 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C1D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C1D68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1D68 */ _t5 = _t4 & 0x00000001u;
/* 028C1D68 */ if (_t5) goto L_028C1D6C; else goto L_028C1D7C;
L_028C1D6C: ; // 0x28c1d6c
/* 028C1D6C */ cpu->r[3] = 0x00000058u;
/* 028C1D70 */ Gambit_fn_02801A78(cpu);
/* 028C1D74 */ cpu->r[31] = cpu->r[3];
/* 028C1D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1D78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1D78 */ _t7 = _t6 & 0x00000001u;
/* 028C1D78 */ if (_t7) goto L_028C1E14; else goto L_028C1D7C;
L_028C1D7C: ; // 0x28c1d7c
/* 028C1D7C */ cpu->r[30] = 0x00000000u;
/* 028C1D80 */ cpu->r[0] = 0x00000001u;
/* 028C1D84 */ _t8 = cpu->r[31] + 0x0000003Cu;
/* 028C1D84 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028C1D88 */ cpu->r[10] = 0x10140000u;
/* 028C1D8C */ _t9 = cpu->r[31] + 0x00000014u;
/* 028C1D8C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
/* 028C1D90 */ cpu->r[10] = cpu->r[10] + 0xFFFF9184u;
/* 028C1D94 */ _t10 = cpu->r[31] + 0x00000034u;
/* 028C1D94 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
/* 028C1D98 */ _t11 = cpu->r[31] + 0x00000000u;
/* 028C1D98 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
/* 028C1D9C */ _t12 = cpu->r[31] + 0x0000001Cu;
/* 028C1D9C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
/* 028C1DA0 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
/* 028C1DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1DA4 */ _t13 = cpu->r[31] + 0x0000002Cu;
/* 028C1DA4 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028C1DA8 */ _t14 = cpu->r[31] + 0x00000038u;
/* 028C1DA8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028C1DAC */ _t15 = cpu->r[31] + 0x00000028u;
/* 028C1DAC */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028C1DB0 */ _t16 = cpu->r[31] + 0x00000030u;
/* 028C1DB0 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028C1DB4 */ _t17 = cpu->r[31] + 0x00000024u;
/* 028C1DB4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
/* 028C1DB8 */ _t18 = cpu->r[31] + 0x00000018u;
/* 028C1DB8 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
/* 028C1DBC */ _t19 = cpu->r[31] + 0x00000020u;
/* 028C1DBC */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
/* 028C1DC0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1DC0 */ _t21 = _t20 & 0x00000001u;
/* 028C1DC0 */ if (_t21) goto L_028C1DC4; else goto L_028C1DD4;
L_028C1DC4: ; // 0x28c1dc4
/* 028C1DC4 */ cpu->r[3] = 0x00000008u;
/* 028C1DC8 */ Gambit_fn_02801A78(cpu);
/* 028C1DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1DD0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1DD0 */ _t23 = _t22 & 0x00000001u;
/* 028C1DD0 */ if (_t23) goto L_028C1E04; else goto L_028C1DD4;
L_028C1DD4: ; // 0x28c1dd4
/* 028C1DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1DD8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1DD8 */ _t25 = _t24 & 0x00000001u;
/* 028C1DD8 */ if (_t25) goto L_028C1DDC; else goto L_028C1DEC;
L_028C1DDC: ; // 0x28c1ddc
/* 028C1DDC */ cpu->r[3] = 0x00000008u;
/* 028C1DE0 */ Gambit_fn_02801A78(cpu);
/* 028C1DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1DE8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1DE8 */ _t27 = _t26 & 0x00000001u;
/* 028C1DE8 */ if (_t27) goto L_028C1E04; else goto L_028C1DEC;
L_028C1DEC: ; // 0x28c1dec
/* 028C1DEC */ cpu->r[12] = 0x10140000u;
/* 028C1DF0 */ cpu->r[0] = 0x10140000u;
/* 028C1DF4 */ cpu->r[12] = cpu->r[12] + 0xFFFF912Cu;
/* 028C1DF8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9128u;
/* 028C1DFC */ _t28 = cpu->r[3] + 0x00000004u;
/* 028C1DFC */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
/* 028C1E00 */ _t29 = cpu->r[3] + 0x00000000u;
/* 028C1E00 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
L_028C1E04: ; // 0x28c1e04
/* 028C1E04 */ _t30 = cpu->r[31] + 0x0000004Cu;
/* 028C1E04 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
/* 028C1E08 */ _t31 = cpu->r[31] + 0x00000050u;
/* 028C1E08 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
/* 028C1E0C */ _t32 = cpu->r[31] + 0x00000048u;
/* 028C1E0C */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
/* 028C1E10 */ _t33 = cpu->r[31] + 0x00000054u;
/* 028C1E10 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
L_028C1E14: ; // 0x28c1e14
/* 028C1E14 */ _t34 = cpu->r[1] + 0x00000014u;
/* 028C1E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028C1E18 */ cpu->r[3] = cpu->r[31];
/* 028C1E1C */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028C1E1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
/* 028C1E20 */ cpu->lr = cpu->r[0];
/* 028C1E24 */ _t36 = cpu->r[1] + 0x00000008u;
/* 028C1E24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028C1E28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1E2C */ return;
}
// fn_028C1D54 @ 0x28c1d54
void Gambit_fn_028C1D54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028C1D54: ; // 0x28c1d54
/* 028C1D54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C1D54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1D54 */ cpu->r[1] = _t0;
/* 028C1D58 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C1D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1D5C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C1D5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C1D60 */ cpu->r[31] = cpu->r[3];
/* 028C1D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1D64 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C1D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C1D68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1D68 */ _t5 = _t4 & 0x00000001u;
/* 028C1D68 */ if (_t5) goto L_028C1D6C; else goto L_028C1D7C;
L_028C1D6C: ; // 0x28c1d6c
/* 028C1D6C */ cpu->r[3] = 0x00000058u;
/* 028C1D70 */ Gambit_fn_02801A78(cpu);
/* 028C1D74 */ cpu->r[31] = cpu->r[3];
/* 028C1D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1D78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1D78 */ _t7 = _t6 & 0x00000001u;
/* 028C1D78 */ if (_t7) goto L_028C1E14; else goto L_028C1D7C;
L_028C1D7C: ; // 0x28c1d7c
/* 028C1D7C */ cpu->r[30] = 0x00000000u;
/* 028C1D80 */ cpu->r[0] = 0x00000001u;
/* 028C1D84 */ _t8 = cpu->r[31] + 0x0000003Cu;
/* 028C1D84 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028C1D88 */ cpu->r[10] = 0x10140000u;
/* 028C1D8C */ _t9 = cpu->r[31] + 0x00000014u;
/* 028C1D8C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
/* 028C1D90 */ cpu->r[10] = cpu->r[10] + 0xFFFF9184u;
/* 028C1D94 */ _t10 = cpu->r[31] + 0x00000034u;
/* 028C1D94 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
/* 028C1D98 */ _t11 = cpu->r[31] + 0x00000000u;
/* 028C1D98 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
/* 028C1D9C */ _t12 = cpu->r[31] + 0x0000001Cu;
/* 028C1D9C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
/* 028C1DA0 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
/* 028C1DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1DA4 */ _t13 = cpu->r[31] + 0x0000002Cu;
/* 028C1DA4 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028C1DA8 */ _t14 = cpu->r[31] + 0x00000038u;
/* 028C1DA8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028C1DAC */ _t15 = cpu->r[31] + 0x00000028u;
/* 028C1DAC */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
/* 028C1DB0 */ _t16 = cpu->r[31] + 0x00000030u;
/* 028C1DB0 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028C1DB4 */ _t17 = cpu->r[31] + 0x00000024u;
/* 028C1DB4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
/* 028C1DB8 */ _t18 = cpu->r[31] + 0x00000018u;
/* 028C1DB8 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
/* 028C1DBC */ _t19 = cpu->r[31] + 0x00000020u;
/* 028C1DBC */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
/* 028C1DC0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1DC0 */ _t21 = _t20 & 0x00000001u;
/* 028C1DC0 */ if (_t21) goto L_028C1DC4; else goto L_028C1DD4;
L_028C1DC4: ; // 0x28c1dc4
/* 028C1DC4 */ cpu->r[3] = 0x00000008u;
/* 028C1DC8 */ Gambit_fn_02801A78(cpu);
/* 028C1DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1DD0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1DD0 */ _t23 = _t22 & 0x00000001u;
/* 028C1DD0 */ if (_t23) goto L_028C1E04; else goto L_028C1DD4;
L_028C1DD4: ; // 0x28c1dd4
/* 028C1DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1DD8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1DD8 */ _t25 = _t24 & 0x00000001u;
/* 028C1DD8 */ if (_t25) goto L_028C1DDC; else goto L_028C1DEC;
L_028C1DDC: ; // 0x28c1ddc
/* 028C1DDC */ cpu->r[3] = 0x00000008u;
/* 028C1DE0 */ Gambit_fn_02801A78(cpu);
/* 028C1DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1DE8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1DE8 */ _t27 = _t26 & 0x00000001u;
/* 028C1DE8 */ if (_t27) goto L_028C1E04; else goto L_028C1DEC;
L_028C1DEC: ; // 0x28c1dec
/* 028C1DEC */ cpu->r[12] = 0x10140000u;
/* 028C1DF0 */ cpu->r[0] = 0x10140000u;
/* 028C1DF4 */ cpu->r[12] = cpu->r[12] + 0xFFFF912Cu;
/* 028C1DF8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9128u;
/* 028C1DFC */ _t28 = cpu->r[3] + 0x00000004u;
/* 028C1DFC */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
/* 028C1E00 */ _t29 = cpu->r[3] + 0x00000000u;
/* 028C1E00 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
L_028C1E04: ; // 0x28c1e04
/* 028C1E04 */ _t30 = cpu->r[31] + 0x0000004Cu;
/* 028C1E04 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
/* 028C1E08 */ _t31 = cpu->r[31] + 0x00000050u;
/* 028C1E08 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
/* 028C1E0C */ _t32 = cpu->r[31] + 0x00000048u;
/* 028C1E0C */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
/* 028C1E10 */ _t33 = cpu->r[31] + 0x00000054u;
/* 028C1E10 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
L_028C1E14: ; // 0x28c1e14
/* 028C1E14 */ _t34 = cpu->r[1] + 0x00000014u;
/* 028C1E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028C1E18 */ cpu->r[3] = cpu->r[31];
/* 028C1E1C */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028C1E1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
/* 028C1E20 */ cpu->lr = cpu->r[0];
/* 028C1E24 */ _t36 = cpu->r[1] + 0x00000008u;
/* 028C1E24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028C1E28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C1E2C */ return;
}
// fn_028C1E30 @ 0x28c1e30
void Gambit_fn_028C1E30(CPUState* 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_028C1E30: ; // 0x28c1e30
/* 028C1E30 */ cpu->r[0] = cpu->lr;
/* 028C1E34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C1E34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1E34 */ cpu->r[1] = _t0;
/* 028C1E38 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C1E38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C1E3C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C1E3C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028C1E40 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C1E40 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C1E44 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C1E44 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C1E48 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C1E48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C1E4C */ cpu->r[29] = 0x101D0000u;
/* 028C1E50 */ cpu->r[30] = cpu->r[3];
/* 028C1E54 */ _t6 = cpu->r[29] + 0xFFFF9A84u;
/* 028C1E54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C1E54 */ cpu->r[29] = _t6;
/* 028C1E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1E5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1E5C */ _t8 = _t7 & 0x00000001u;
/* 028C1E5C */ if (_t8) goto L_028C1E60; else goto L_028C1EB0;
L_028C1E60: ; // 0x28c1e60
/* 028C1E60 */ cpu->r[4] = cpu->r[30];
/* 028C1E64 */ cpu->r[3] = 0x00000058u;
/* 028C1E68 */ cpu->r[5] = 0x00000004u;
/* 028C1E6C */ Gambit_fn_02801ADC(cpu);
/* 028C1E70 */ cpu->r[31] = cpu->r[3];
/* 028C1E74 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028C1E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C1E78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1E78 */ _t10 = _t9 & 0x00000001u;
/* 028C1E78 */ if (_t10) goto L_028C1E98; else goto L_028C1E7C;
L_028C1E7C: ; // 0x28c1e7c
/* 028C1E7C */ cpu->r[5] = 0x00000003u;
/* 028C1E80 */ cpu->r[4] = cpu->r[30];
/* 028C1E84 */ cpu->r[3] = cpu->r[28];
/* 028C1E88 */ Gambit_fn_02821D88(cpu);
/* 028C1E8C */ cpu->r[0] = 0x10140000u;
/* 028C1E90 */ cpu->r[0] = cpu->r[0] + 0xFFFF91BCu;
/* 028C1E94 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028C1E94 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C1E98: ; // 0x28c1e98
/* 028C1E98 */ cpu->r[12] = 0x101D0000u;
/* 028C1E9C */ cpu->r[3] = cpu->r[31];
/* 028C1E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1EA0 */ _t12 = cpu->r[12] + 0xFFFF9A88u;
/* 028C1EA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028C1EA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1EA4 */ _t14 = _t13 & 0x00000001u;
/* 028C1EA4 */ if (_t14) goto L_028C1EAC; else goto L_028C1EA8;
L_028C1EA8: ; // 0x28c1ea8
/* 028C1EA8 */ Gambit_fn_028C1D50(cpu);
L_028C1EAC: ; // 0x28c1eac
/* 028C1EAC */ _t15 = cpu->r[29] + 0x00000000u;
/* 028C1EAC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028C1EB0: ; // 0x28c1eb0
/* 028C1EB0 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C1EB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028C1EB4 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C1EB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028C1EB8 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028C1EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C1EBC */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C1EBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028C1EC0 */ cpu->lr = cpu->r[0];
/* 028C1EC4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C1EC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028C1EC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C1ECC */ return;
}
// fn_028C1E34 @ 0x28c1e34
void Gambit_fn_028C1E34(CPUState* 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_028C1E34: ; // 0x28c1e34
/* 028C1E34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C1E34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1E34 */ cpu->r[1] = _t0;
/* 028C1E38 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C1E38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C1E3C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C1E3C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028C1E40 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C1E40 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C1E44 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C1E44 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C1E48 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C1E48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C1E4C */ cpu->r[29] = 0x101D0000u;
/* 028C1E50 */ cpu->r[30] = cpu->r[3];
/* 028C1E54 */ _t6 = cpu->r[29] + 0xFFFF9A84u;
/* 028C1E54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C1E54 */ cpu->r[29] = _t6;
/* 028C1E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1E5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1E5C */ _t8 = _t7 & 0x00000001u;
/* 028C1E5C */ if (_t8) goto L_028C1E60; else goto L_028C1EB0;
L_028C1E60: ; // 0x28c1e60
/* 028C1E60 */ cpu->r[4] = cpu->r[30];
/* 028C1E64 */ cpu->r[3] = 0x00000058u;
/* 028C1E68 */ cpu->r[5] = 0x00000004u;
/* 028C1E6C */ Gambit_fn_02801ADC(cpu);
/* 028C1E70 */ cpu->r[31] = cpu->r[3];
/* 028C1E74 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028C1E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C1E78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1E78 */ _t10 = _t9 & 0x00000001u;
/* 028C1E78 */ if (_t10) goto L_028C1E98; else goto L_028C1E7C;
L_028C1E7C: ; // 0x28c1e7c
/* 028C1E7C */ cpu->r[5] = 0x00000003u;
/* 028C1E80 */ cpu->r[4] = cpu->r[30];
/* 028C1E84 */ cpu->r[3] = cpu->r[28];
/* 028C1E88 */ Gambit_fn_02821D88(cpu);
/* 028C1E8C */ cpu->r[0] = 0x10140000u;
/* 028C1E90 */ cpu->r[0] = cpu->r[0] + 0xFFFF91BCu;
/* 028C1E94 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028C1E94 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C1E98: ; // 0x28c1e98
/* 028C1E98 */ cpu->r[12] = 0x101D0000u;
/* 028C1E9C */ cpu->r[3] = cpu->r[31];
/* 028C1E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1EA0 */ _t12 = cpu->r[12] + 0xFFFF9A88u;
/* 028C1EA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028C1EA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1EA4 */ _t14 = _t13 & 0x00000001u;
/* 028C1EA4 */ if (_t14) goto L_028C1EAC; else goto L_028C1EA8;
L_028C1EA8: ; // 0x28c1ea8
/* 028C1EA8 */ Gambit_fn_028C1D50(cpu);
L_028C1EAC: ; // 0x28c1eac
/* 028C1EAC */ _t15 = cpu->r[29] + 0x00000000u;
/* 028C1EAC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028C1EB0: ; // 0x28c1eb0
/* 028C1EB0 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C1EB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028C1EB4 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C1EB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028C1EB8 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028C1EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C1EBC */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C1EBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028C1EC0 */ cpu->lr = cpu->r[0];
/* 028C1EC4 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C1EC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028C1EC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C1ECC */ return;
}
// fn_028C1ED0 @ 0x28c1ed0
void Gambit_fn_028C1ED0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C1ED0: ; // 0x28c1ed0
/* 028C1ED0 */ cpu->r[0] = cpu->lr;
/* 028C1ED4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C1ED4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1ED4 */ cpu->r[1] = _t0;
/* 028C1ED8 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C1ED8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1EDC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C1EDC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C1EE0 */ cpu->r[31] = cpu->r[3];
/* 028C1EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1EE4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C1EE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C1EE8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C1EE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C1EEC */ cpu->r[29] = cpu->r[4];
/* 028C1EF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1EF0 */ _t6 = _t5 & 0x00000001u;
/* 028C1EF0 */ if (_t6) goto L_028C208C; else goto L_028C1EF4;
L_028C1EF4: ; // 0x28c1ef4
/* 028C1EF4 */ _t7 = cpu->r[31] + 0x0000001Cu;
/* 028C1EF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028C1EF8 */ cpu->r[9] = 0x10140000u;
/* 028C1EFC */ cpu->r[30] = 0x00000000u;
/* 028C1F00 */ cpu->r[9] = cpu->r[9] + 0xFFFF9184u;
/* 028C1F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F08 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028C1F08 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028C1F0C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F0C */ _t10 = _t9 & 0x00000001u;
/* 028C1F0C */ if (_t10) goto L_028C1F1C; else goto L_028C1F10;
L_028C1F10: ; // 0x28c1f10
/* 028C1F10 */ cpu->r[4] = 0x00000003u;
/* 028C1F14 */ Gambit_fn_028BA6D4(cpu);
/* 028C1F18 */ _t11 = cpu->r[31] + 0x0000001Cu;
/* 028C1F18 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
L_028C1F1C: ; // 0x28c1f1c
/* 028C1F1C */ _t12 = cpu->r[31] + 0x00000020u;
/* 028C1F1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C1F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F24 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F24 */ _t14 = _t13 & 0x00000001u;
/* 028C1F24 */ if (_t14) goto L_028C1F34; else goto L_028C1F28;
L_028C1F28: ; // 0x28c1f28
/* 028C1F28 */ cpu->r[4] = 0x00000003u;
/* 028C1F2C */ Gambit_fn_028BCC38(cpu);
/* 028C1F30 */ _t15 = cpu->r[31] + 0x00000020u;
/* 028C1F30 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028C1F34: ; // 0x28c1f34
/* 028C1F34 */ _t16 = cpu->r[31] + 0x00000024u;
/* 028C1F34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028C1F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F3C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F3C */ _t18 = _t17 & 0x00000001u;
/* 028C1F3C */ if (_t18) goto L_028C1F58; else goto L_028C1F40;
L_028C1F40: ; // 0x28c1f40
/* 028C1F40 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028C1F40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
/* 028C1F44 */ _t20 = cpu->r[10] + 0x00000014u;
/* 028C1F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C1F48 */ cpu->ctr = cpu->r[0];
/* 028C1F4C */ cpu->r[4] = 0x00000003u;
/* 028C1F50 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C1F54 */ _t21 = cpu->r[31] + 0x00000024u;
/* 028C1F54 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
L_028C1F58: ; // 0x28c1f58
/* 028C1F58 */ _t22 = cpu->r[31] + 0x00000028u;
/* 028C1F58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C1F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F60 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F60 */ _t24 = _t23 & 0x00000001u;
/* 028C1F60 */ if (_t24) goto L_028C1F7C; else goto L_028C1F64;
L_028C1F64: ; // 0x28c1f64
/* 028C1F64 */ _t25 = cpu->r[3] + 0x00000000u;
/* 028C1F64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028C1F68 */ _t26 = cpu->r[12] + 0x00000014u;
/* 028C1F68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
/* 028C1F6C */ cpu->ctr = cpu->r[9];
/* 028C1F70 */ cpu->r[4] = 0x00000003u;
/* 028C1F74 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C1F78 */ _t27 = cpu->r[31] + 0x00000028u;
/* 028C1F78 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
L_028C1F7C: ; // 0x28c1f7c
/* 028C1F7C */ _t28 = cpu->r[31] + 0x0000002Cu;
/* 028C1F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028C1F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F84 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F84 */ _t30 = _t29 & 0x00000001u;
/* 028C1F84 */ if (_t30) goto L_028C1FB0; else goto L_028C1F88;
L_028C1F88: ; // 0x28c1f88
/* 028C1F88 */ Gambit_fn_028D6D6C(cpu);
/* 028C1F8C */ _t31 = cpu->r[31] + 0x0000002Cu;
/* 028C1F8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
/* 028C1F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F94 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F94 */ _t33 = _t32 & 0x00000001u;
/* 028C1F94 */ if (_t33) goto L_028C1FAC; else goto L_028C1F98;
L_028C1F98: ; // 0x28c1f98
/* 028C1F98 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028C1F98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
/* 028C1F9C */ _t35 = cpu->r[10] + 0x00000014u;
/* 028C1F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028C1FA0 */ cpu->ctr = cpu->r[0];
/* 028C1FA4 */ cpu->r[4] = 0x00000003u;
/* 028C1FA8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C1FAC: ; // 0x28c1fac
/* 028C1FAC */ _t36 = cpu->r[31] + 0x0000002Cu;
/* 028C1FAC */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
L_028C1FB0: ; // 0x28c1fb0
/* 028C1FB0 */ _t37 = cpu->r[31] + 0x00000038u;
/* 028C1FB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028C1FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1FB8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1FB8 */ _t39 = _t38 & 0x00000001u;
/* 028C1FB8 */ if (_t39) goto L_028C1FD4; else goto L_028C1FBC;
L_028C1FBC: ; // 0x28c1fbc
/* 028C1FBC */ _t40 = cpu->r[3] + 0x00000000u;
/* 028C1FBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
/* 028C1FC0 */ _t41 = cpu->r[12] + 0x00000014u;
/* 028C1FC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
/* 028C1FC4 */ cpu->ctr = cpu->r[9];
/* 028C1FC8 */ cpu->r[4] = 0x00000003u;
/* 028C1FCC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C1FD0 */ _t42 = cpu->r[31] + 0x00000038u;
/* 028C1FD0 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
L_028C1FD4: ; // 0x28c1fd4
/* 028C1FD4 */ _t43 = cpu->r[31] + 0x00000048u;
/* 028C1FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
/* 028C1FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1FDC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1FDC */ _t45 = _t44 & 0x00000001u;
/* 028C1FDC */ if (_t45) goto L_028C1FF8; else goto L_028C1FE0;
L_028C1FE0: ; // 0x28c1fe0
/* 028C1FE0 */ _t46 = cpu->r[3] + 0x00000000u;
/* 028C1FE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
/* 028C1FE4 */ _t47 = cpu->r[10] + 0x00000014u;
/* 028C1FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028C1FE8 */ cpu->ctr = cpu->r[0];
/* 028C1FEC */ cpu->r[4] = 0x00000003u;
/* 028C1FF0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C1FF4 */ _t48 = cpu->r[31] + 0x00000048u;
/* 028C1FF4 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
L_028C1FF8: ; // 0x28c1ff8
/* 028C1FF8 */ _t49 = cpu->r[31] + 0x0000004Cu;
/* 028C1FF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
/* 028C1FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2000 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2000 */ _t51 = _t50 & 0x00000001u;
/* 028C2000 */ if (_t51) goto L_028C201C; else goto L_028C2004;
L_028C2004: ; // 0x28c2004
/* 028C2004 */ _t52 = cpu->r[3] + 0x00000000u;
/* 028C2004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
/* 028C2008 */ _t53 = cpu->r[12] + 0x00000014u;
/* 028C2008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028C200C */ cpu->ctr = cpu->r[0];
/* 028C2010 */ cpu->r[4] = 0x00000003u;
/* 028C2014 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2018 */ _t54 = cpu->r[31] + 0x0000004Cu;
/* 028C2018 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
L_028C201C: ; // 0x28c201c
/* 028C201C */ _t55 = cpu->r[31] + 0x00000050u;
/* 028C201C */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
/* 028C2020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2024 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2024 */ _t57 = _t56 & 0x00000001u;
/* 028C2024 */ if (_t57) goto L_028C2040; else goto L_028C2028;
L_028C2028: ; // 0x28c2028
/* 028C2028 */ _t58 = cpu->r[3] + 0x00000118u;
/* 028C2028 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
/* 028C202C */ _t59 = cpu->r[9] + 0x0000000Cu;
/* 028C202C */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
/* 028C2030 */ cpu->ctr = cpu->r[10];
/* 028C2034 */ cpu->r[4] = 0x00000003u;
/* 028C2038 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C203C */ _t60 = cpu->r[31] + 0x00000050u;
/* 028C203C */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
L_028C2040: ; // 0x28c2040
/* 028C2040 */ _t61 = cpu->r[31] + 0x0000003Cu;
/* 028C2040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
/* 028C2044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2048 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2048 */ _t63 = _t62 & 0x00000001u;
/* 028C2048 */ if (_t63) goto L_028C2064; else goto L_028C204C;
L_028C204C: ; // 0x28c204c
/* 028C204C */ _t64 = cpu->r[3] + 0x00000000u;
/* 028C204C */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
/* 028C2050 */ _t65 = cpu->r[11] + 0x00000024u;
/* 028C2050 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
/* 028C2054 */ cpu->ctr = cpu->r[12];
/* 028C2058 */ cpu->r[4] = 0x00000003u;
/* 028C205C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2060 */ _t66 = cpu->r[31] + 0x0000003Cu;
/* 028C2060 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
L_028C2064: ; // 0x28c2064
/* 028C2064 */ Gambit_fn_028C989C(cpu);
/* 028C2068 */ Gambit_fn_028DD460(cpu);
/* 028C206C */ Gambit_fn_028E8CE0(cpu);
/* 028C2070 */ Gambit_fn_028E3AEC(cpu);
/* 028C2074 */ Gambit_fn_028C3754(cpu);
/* 028C2078 */ Gambit_fn_02845D10(cpu);
/* 028C207C */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C207C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2080 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2080 */ _t68 = _t67 & 0x00000001u;
/* 028C2080 */ if (_t68) goto L_028C208C; else goto L_028C2084;
L_028C2084: ; // 0x28c2084
/* 028C2084 */ cpu->r[3] = cpu->r[31];
/* 028C2088 */ Gambit_fn_02801BB0(cpu);
L_028C208C: ; // 0x28c208c
/* 028C208C */ _t69 = cpu->r[1] + 0x0000000Cu;
/* 028C208C */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
/* 028C2090 */ _t70 = cpu->r[1] + 0x0000001Cu;
/* 028C2090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
/* 028C2094 */ _t71 = cpu->r[1] + 0x00000010u;
/* 028C2094 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
/* 028C2098 */ cpu->lr = cpu->r[0];
/* 028C209C */ _t72 = cpu->r[1] + 0x00000014u;
/* 028C209C */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
/* 028C20A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C20A4 */ return;
}
// fn_028C1ED4 @ 0x28c1ed4
void Gambit_fn_028C1ED4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C1ED4: ; // 0x28c1ed4
/* 028C1ED4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C1ED4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C1ED4 */ cpu->r[1] = _t0;
/* 028C1ED8 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C1ED8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C1EDC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C1EDC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C1EE0 */ cpu->r[31] = cpu->r[3];
/* 028C1EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C1EE4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C1EE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C1EE8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C1EE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C1EEC */ cpu->r[29] = cpu->r[4];
/* 028C1EF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1EF0 */ _t6 = _t5 & 0x00000001u;
/* 028C1EF0 */ if (_t6) goto L_028C208C; else goto L_028C1EF4;
L_028C1EF4: ; // 0x28c1ef4
/* 028C1EF4 */ _t7 = cpu->r[31] + 0x0000001Cu;
/* 028C1EF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028C1EF8 */ cpu->r[9] = 0x10140000u;
/* 028C1EFC */ cpu->r[30] = 0x00000000u;
/* 028C1F00 */ cpu->r[9] = cpu->r[9] + 0xFFFF9184u;
/* 028C1F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F08 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028C1F08 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028C1F0C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F0C */ _t10 = _t9 & 0x00000001u;
/* 028C1F0C */ if (_t10) goto L_028C1F1C; else goto L_028C1F10;
L_028C1F10: ; // 0x28c1f10
/* 028C1F10 */ cpu->r[4] = 0x00000003u;
/* 028C1F14 */ Gambit_fn_028BA6D4(cpu);
/* 028C1F18 */ _t11 = cpu->r[31] + 0x0000001Cu;
/* 028C1F18 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
L_028C1F1C: ; // 0x28c1f1c
/* 028C1F1C */ _t12 = cpu->r[31] + 0x00000020u;
/* 028C1F1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C1F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F24 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F24 */ _t14 = _t13 & 0x00000001u;
/* 028C1F24 */ if (_t14) goto L_028C1F34; else goto L_028C1F28;
L_028C1F28: ; // 0x28c1f28
/* 028C1F28 */ cpu->r[4] = 0x00000003u;
/* 028C1F2C */ Gambit_fn_028BCC38(cpu);
/* 028C1F30 */ _t15 = cpu->r[31] + 0x00000020u;
/* 028C1F30 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028C1F34: ; // 0x28c1f34
/* 028C1F34 */ _t16 = cpu->r[31] + 0x00000024u;
/* 028C1F34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028C1F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F3C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F3C */ _t18 = _t17 & 0x00000001u;
/* 028C1F3C */ if (_t18) goto L_028C1F58; else goto L_028C1F40;
L_028C1F40: ; // 0x28c1f40
/* 028C1F40 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028C1F40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
/* 028C1F44 */ _t20 = cpu->r[10] + 0x00000014u;
/* 028C1F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C1F48 */ cpu->ctr = cpu->r[0];
/* 028C1F4C */ cpu->r[4] = 0x00000003u;
/* 028C1F50 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C1F54 */ _t21 = cpu->r[31] + 0x00000024u;
/* 028C1F54 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
L_028C1F58: ; // 0x28c1f58
/* 028C1F58 */ _t22 = cpu->r[31] + 0x00000028u;
/* 028C1F58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C1F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F60 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F60 */ _t24 = _t23 & 0x00000001u;
/* 028C1F60 */ if (_t24) goto L_028C1F7C; else goto L_028C1F64;
L_028C1F64: ; // 0x28c1f64
/* 028C1F64 */ _t25 = cpu->r[3] + 0x00000000u;
/* 028C1F64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028C1F68 */ _t26 = cpu->r[12] + 0x00000014u;
/* 028C1F68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
/* 028C1F6C */ cpu->ctr = cpu->r[9];
/* 028C1F70 */ cpu->r[4] = 0x00000003u;
/* 028C1F74 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C1F78 */ _t27 = cpu->r[31] + 0x00000028u;
/* 028C1F78 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
L_028C1F7C: ; // 0x28c1f7c
/* 028C1F7C */ _t28 = cpu->r[31] + 0x0000002Cu;
/* 028C1F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028C1F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F84 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F84 */ _t30 = _t29 & 0x00000001u;
/* 028C1F84 */ if (_t30) goto L_028C1FB0; else goto L_028C1F88;
L_028C1F88: ; // 0x28c1f88
/* 028C1F88 */ Gambit_fn_028D6D6C(cpu);
/* 028C1F8C */ _t31 = cpu->r[31] + 0x0000002Cu;
/* 028C1F8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
/* 028C1F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1F94 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1F94 */ _t33 = _t32 & 0x00000001u;
/* 028C1F94 */ if (_t33) goto L_028C1FAC; else goto L_028C1F98;
L_028C1F98: ; // 0x28c1f98
/* 028C1F98 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028C1F98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
/* 028C1F9C */ _t35 = cpu->r[10] + 0x00000014u;
/* 028C1F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028C1FA0 */ cpu->ctr = cpu->r[0];
/* 028C1FA4 */ cpu->r[4] = 0x00000003u;
/* 028C1FA8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C1FAC: ; // 0x28c1fac
/* 028C1FAC */ _t36 = cpu->r[31] + 0x0000002Cu;
/* 028C1FAC */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
L_028C1FB0: ; // 0x28c1fb0
/* 028C1FB0 */ _t37 = cpu->r[31] + 0x00000038u;
/* 028C1FB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028C1FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1FB8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1FB8 */ _t39 = _t38 & 0x00000001u;
/* 028C1FB8 */ if (_t39) goto L_028C1FD4; else goto L_028C1FBC;
L_028C1FBC: ; // 0x28c1fbc
/* 028C1FBC */ _t40 = cpu->r[3] + 0x00000000u;
/* 028C1FBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
/* 028C1FC0 */ _t41 = cpu->r[12] + 0x00000014u;
/* 028C1FC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
/* 028C1FC4 */ cpu->ctr = cpu->r[9];
/* 028C1FC8 */ cpu->r[4] = 0x00000003u;
/* 028C1FCC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C1FD0 */ _t42 = cpu->r[31] + 0x00000038u;
/* 028C1FD0 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
L_028C1FD4: ; // 0x28c1fd4
/* 028C1FD4 */ _t43 = cpu->r[31] + 0x00000048u;
/* 028C1FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
/* 028C1FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C1FDC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C1FDC */ _t45 = _t44 & 0x00000001u;
/* 028C1FDC */ if (_t45) goto L_028C1FF8; else goto L_028C1FE0;
L_028C1FE0: ; // 0x28c1fe0
/* 028C1FE0 */ _t46 = cpu->r[3] + 0x00000000u;
/* 028C1FE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
/* 028C1FE4 */ _t47 = cpu->r[10] + 0x00000014u;
/* 028C1FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028C1FE8 */ cpu->ctr = cpu->r[0];
/* 028C1FEC */ cpu->r[4] = 0x00000003u;
/* 028C1FF0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C1FF4 */ _t48 = cpu->r[31] + 0x00000048u;
/* 028C1FF4 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
L_028C1FF8: ; // 0x28c1ff8
/* 028C1FF8 */ _t49 = cpu->r[31] + 0x0000004Cu;
/* 028C1FF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
/* 028C1FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2000 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2000 */ _t51 = _t50 & 0x00000001u;
/* 028C2000 */ if (_t51) goto L_028C201C; else goto L_028C2004;
L_028C2004: ; // 0x28c2004
/* 028C2004 */ _t52 = cpu->r[3] + 0x00000000u;
/* 028C2004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
/* 028C2008 */ _t53 = cpu->r[12] + 0x00000014u;
/* 028C2008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028C200C */ cpu->ctr = cpu->r[0];
/* 028C2010 */ cpu->r[4] = 0x00000003u;
/* 028C2014 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2018 */ _t54 = cpu->r[31] + 0x0000004Cu;
/* 028C2018 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
L_028C201C: ; // 0x28c201c
/* 028C201C */ _t55 = cpu->r[31] + 0x00000050u;
/* 028C201C */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
/* 028C2020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2024 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2024 */ _t57 = _t56 & 0x00000001u;
/* 028C2024 */ if (_t57) goto L_028C2040; else goto L_028C2028;
L_028C2028: ; // 0x28c2028
/* 028C2028 */ _t58 = cpu->r[3] + 0x00000118u;
/* 028C2028 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
/* 028C202C */ _t59 = cpu->r[9] + 0x0000000Cu;
/* 028C202C */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
/* 028C2030 */ cpu->ctr = cpu->r[10];
/* 028C2034 */ cpu->r[4] = 0x00000003u;
/* 028C2038 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C203C */ _t60 = cpu->r[31] + 0x00000050u;
/* 028C203C */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
L_028C2040: ; // 0x28c2040
/* 028C2040 */ _t61 = cpu->r[31] + 0x0000003Cu;
/* 028C2040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
/* 028C2044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2048 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2048 */ _t63 = _t62 & 0x00000001u;
/* 028C2048 */ if (_t63) goto L_028C2064; else goto L_028C204C;
L_028C204C: ; // 0x28c204c
/* 028C204C */ _t64 = cpu->r[3] + 0x00000000u;
/* 028C204C */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
/* 028C2050 */ _t65 = cpu->r[11] + 0x00000024u;
/* 028C2050 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
/* 028C2054 */ cpu->ctr = cpu->r[12];
/* 028C2058 */ cpu->r[4] = 0x00000003u;
/* 028C205C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2060 */ _t66 = cpu->r[31] + 0x0000003Cu;
/* 028C2060 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
L_028C2064: ; // 0x28c2064
/* 028C2064 */ Gambit_fn_028C989C(cpu);
/* 028C2068 */ Gambit_fn_028DD460(cpu);
/* 028C206C */ Gambit_fn_028E8CE0(cpu);
/* 028C2070 */ Gambit_fn_028E3AEC(cpu);
/* 028C2074 */ Gambit_fn_028C3754(cpu);
/* 028C2078 */ Gambit_fn_02845D10(cpu);
/* 028C207C */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C207C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2080 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2080 */ _t68 = _t67 & 0x00000001u;
/* 028C2080 */ if (_t68) goto L_028C208C; else goto L_028C2084;
L_028C2084: ; // 0x28c2084
/* 028C2084 */ cpu->r[3] = cpu->r[31];
/* 028C2088 */ Gambit_fn_02801BB0(cpu);
L_028C208C: ; // 0x28c208c
/* 028C208C */ _t69 = cpu->r[1] + 0x0000000Cu;
/* 028C208C */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
/* 028C2090 */ _t70 = cpu->r[1] + 0x0000001Cu;
/* 028C2090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
/* 028C2094 */ _t71 = cpu->r[1] + 0x00000010u;
/* 028C2094 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
/* 028C2098 */ cpu->lr = cpu->r[0];
/* 028C209C */ _t72 = cpu->r[1] + 0x00000014u;
/* 028C209C */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
/* 028C20A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C20A4 */ return;
}
// fn_028C20A8 @ 0x28c20a8
void Gambit_fn_028C20A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C20A8: ; // 0x28c20a8
/* 028C20A8 */ cpu->r[0] = cpu->lr;
/* 028C20AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C20AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C20AC */ cpu->r[1] = _t0;
/* 028C20B0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C20B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C20B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C20B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C20B8 */ cpu->r[11] = 0x101D0000u;
/* 028C20BC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C20BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C20C0 */ _t4 = cpu->r[11] + 0xFFFF9A88u;
/* 028C20C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C20C0 */ cpu->r[11] = _t4;
/* 028C20C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C20C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C20C8 */ _t6 = _t5 & 0x00000001u;
/* 028C20C8 */ if (_t6) goto L_028C20FC; else goto L_028C20CC;
L_028C20CC: ; // 0x28c20cc
/* 028C20CC */ cpu->r[30] = 0x00000000u;
/* 028C20D0 */ _t7 = cpu->r[11] + 0x00000000u;
/* 028C20D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C20D4 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028C20D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028C20D8 */ _t9 = cpu->r[10] + 0x0000000Cu;
/* 028C20D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C20DC */ cpu->ctr = cpu->r[0];
/* 028C20E0 */ cpu->r[4] = 0x00000002u;
/* 028C20E4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C20E8 */ cpu->r[31] = 0x101D0000u;
/* 028C20EC */ _t10 = cpu->r[31] + 0xFFFF9A84u;
/* 028C20EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C20F0 */ cpu->r[4] = 0x00000003u;
/* 028C20F4 */ Gambit_fn_028C1ED0(cpu);
/* 028C20F8 */ _t11 = cpu->r[31] + 0xFFFF9A84u;
/* 028C20F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
L_028C20FC: ; // 0x28c20fc
/* 028C20FC */ _t12 = cpu->r[1] + 0x00000014u;
/* 028C20FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C2100 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028C2100 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028C2104 */ cpu->lr = cpu->r[0];
/* 028C2108 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028C2108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028C210C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C2110 */ return;
}
// fn_028C20AC @ 0x28c20ac
void Gambit_fn_028C20AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C20AC: ; // 0x28c20ac
/* 028C20AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C20AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C20AC */ cpu->r[1] = _t0;
/* 028C20B0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C20B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C20B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C20B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C20B8 */ cpu->r[11] = 0x101D0000u;
/* 028C20BC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C20BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C20C0 */ _t4 = cpu->r[11] + 0xFFFF9A88u;
/* 028C20C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C20C0 */ cpu->r[11] = _t4;
/* 028C20C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C20C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C20C8 */ _t6 = _t5 & 0x00000001u;
/* 028C20C8 */ if (_t6) goto L_028C20FC; else goto L_028C20CC;
L_028C20CC: ; // 0x28c20cc
/* 028C20CC */ cpu->r[30] = 0x00000000u;
/* 028C20D0 */ _t7 = cpu->r[11] + 0x00000000u;
/* 028C20D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C20D4 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028C20D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028C20D8 */ _t9 = cpu->r[10] + 0x0000000Cu;
/* 028C20D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C20DC */ cpu->ctr = cpu->r[0];
/* 028C20E0 */ cpu->r[4] = 0x00000002u;
/* 028C20E4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C20E8 */ cpu->r[31] = 0x101D0000u;
/* 028C20EC */ _t10 = cpu->r[31] + 0xFFFF9A84u;
/* 028C20EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C20F0 */ cpu->r[4] = 0x00000003u;
/* 028C20F4 */ Gambit_fn_028C1ED0(cpu);
/* 028C20F8 */ _t11 = cpu->r[31] + 0xFFFF9A84u;
/* 028C20F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
L_028C20FC: ; // 0x28c20fc
/* 028C20FC */ _t12 = cpu->r[1] + 0x00000014u;
/* 028C20FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C2100 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028C2100 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028C2104 */ cpu->lr = cpu->r[0];
/* 028C2108 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028C2108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028C210C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C2110 */ return;
}
// fn_028C2114 @ 0x28c2114
void Gambit_fn_028C2114(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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;
L_028C2114: ; // 0x28c2114
/* 028C2114 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
/* 028C2114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2114 */ cpu->r[1] = _t0;
/* 028C2118 */ /* nop */
/* 028C211C */ cpu->r[0] = cpu->lr;
/* 028C2120 */ _t1 = cpu->r[1] + 0x000000A4u;
/* 028C2120 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C2124 */ cpu->r[29] = cpu->r[4];
/* 028C2128 */ cpu->r[27] = cpu->r[3];
/* 028C212C */ cpu->r[24] = 0x101D0000u;
/* 028C2130 */ _t2 = cpu->r[29] + 0x00000004u;
/* 028C2130 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
/* 028C2134 */ cpu->r[6] = 0x10140000u;
/* 028C2138 */ _t3 = cpu->r[29] + 0x00000000u;
/* 028C2138 */ cpu->r[28] = rbrew_read32(cpu->mem, _t3);
/* 028C213C */ cpu->r[6] = cpu->r[6] + 0xFFFF9198u;
/* 028C2140 */ cpu->r[30] = 0x00000001u;
/* 028C2144 */ _t4 = cpu->r[27] + 0x00000054u;
/* 028C2144 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
/* 028C2148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C214C */ _t5 = cpu->r[27] + 0x00000040u;
/* 028C214C */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
/* 028C2150 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2150 */ _t7 = _t6 & 0x00000001u;
/* 028C2150 */ if (_t7) goto L_028C2164; else goto L_028C2154;
L_028C2154: ; // 0x28c2154
/* 028C2154 */ _t8 = cpu->r[24] + 0xFFFF98F0u;
/* 028C2154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028C2158 */ cpu->r[4] = cpu->r[28];
/* 028C215C */ Gambit_fn_02827008(cpu);
/* 028C2160 */ cpu->r[30] = cpu->r[3];
L_028C2164: ; // 0x28c2164
/* 028C2164 */ cpu->r[4] = cpu->r[28];
/* 028C2168 */ cpu->r[3] = 0x00000040u;
/* 028C216C */ cpu->r[5] = 0x00000004u;
/* 028C2170 */ Gambit_fn_02801AC8(cpu);
/* 028C2174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2178 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2178 */ _t10 = _t9 & 0x00000001u;
/* 028C2178 */ if (_t10) goto L_028C2180; else goto L_028C217C;
L_028C217C: ; // 0x28c217c
/* 028C217C */ Gambit_fn_02C8BADC(cpu);
L_028C2180: ; // 0x28c2180
/* 028C2180 */ cpu->r[26] = 0x10140000u;
/* 028C2184 */ _t11 = cpu->r[29] + 0x00000088u;
/* 028C2184 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028C2188 */ cpu->r[26] = cpu->r[26] + 0xFFFF912Cu;
/* 028C218C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C2190 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C2190 */ rbrew_write32(cpu->mem, _t12, cpu->r[26]);
/* 028C2194 */ cpu->r[31] = cpu->r[3];
/* 028C2198 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028C2198 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
/* 028C219C */ Gambit_fn_02C8BE60(cpu);
/* 028C21A0 */ cpu->r[3] = cpu->r[31];
/* 028C21A4 */ cpu->r[4] = 0x00000800u;
/* 028C21A8 */ Gambit_fn_02C8BE58(cpu);
/* 028C21AC */ cpu->r[3] = cpu->r[31];
/* 028C21B0 */ cpu->r[4] = cpu->r[28];
/* 028C21B4 */ Gambit_fn_02C8BE40(cpu);
/* 028C21B8 */ cpu->r[11] = 0x10140000u;
/* 028C21BC */ _t14 = cpu->r[29] + 0x0000008Cu;
/* 028C21BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
/* 028C21C0 */ _t15 = cpu->r[11] + 0xFFFF9194u;
/* 028C21C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
/* 028C21C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028C21C8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C21C8 */ _t17 = _t16 & 0x00000001u;
/* 028C21C8 */ if (_t17) goto L_028C21CC; else goto L_028C21D4;
L_028C21CC: ; // 0x28c21cc
/* 028C21CC */ cpu->r[3] = cpu->r[31];
/* 028C21D0 */ Gambit_fn_02C8BE48(cpu);
L_028C21D4: ; // 0x28c21d4
/* 028C21D4 */ _t18 = cpu->r[29] + 0x00000090u;
/* 028C21D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
/* 028C21D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C21DC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C21DC */ _t20 = _t19 & 0x00000001u;
/* 028C21DC */ if (_t20) goto L_028C21E8; else goto L_028C21E0;
L_028C21E0: ; // 0x28c21e0
/* 028C21E0 */ cpu->r[3] = cpu->r[31];
/* 028C21E4 */ Gambit_fn_02C8BE50(cpu);
L_028C21E8: ; // 0x28c21e8
/* 028C21E8 */ cpu->r[4] = cpu->r[28];
/* 028C21EC */ cpu->r[3] = 0x000001D4u;
/* 028C21F0 */ cpu->r[5] = 0x00000004u;
/* 028C21F4 */ Gambit_fn_02801AC8(cpu);
/* 028C21F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C21FC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C21FC */ _t22 = _t21 & 0x00000001u;
/* 028C21FC */ if (_t22) goto L_028C2204; else goto L_028C2200;
L_028C2200: ; // 0x28c2200
/* 028C2200 */ Gambit_fn_0284651C(cpu);
L_028C2204: ; // 0x28c2204
/* 028C2204 */ cpu->r[4] = cpu->r[28];
/* 028C2208 */ cpu->r[25] = cpu->r[3];
/* 028C220C */ Gambit_fn_02846F58(cpu);
/* 028C2210 */ _t23 = cpu->r[29] + 0x00000058u;
/* 028C2210 */ cpu->r[6] = rbrew_read8(cpu->mem, _t23);
/* 028C2214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028C2218 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2218 */ _t25 = _t24 & 0x00000001u;
/* 028C2218 */ if (_t25) goto L_028C2228; else goto L_028C221C;
L_028C221C: ; // 0x28c221c
/* 028C221C */ cpu->r[3] = cpu->r[25];
/* 028C2220 */ cpu->r[4] = 0x00000011u;
/* 028C2224 */ Gambit_fn_02846F60(cpu);
L_028C2228: ; // 0x28c2228
/* 028C2228 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
/* 028C222C */ Gambit_fn_02C8B7DC(cpu);
/* 028C2230 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
/* 028C2234 */ cpu->r[4] = cpu->r[25];
/* 028C2238 */ Gambit_fn_02C8B898(cpu);
/* 028C223C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
/* 028C2240 */ cpu->r[4] = cpu->r[31];
/* 028C2244 */ Gambit_fn_02C8B8A0(cpu);
/* 028C2248 */ _t26 = cpu->r[29] + 0x000000B0u;
/* 028C2248 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
/* 028C224C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C2250 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2250 */ _t28 = _t27 & 0x00000001u;
/* 028C2250 */ if (_t28) goto L_028C2284; else goto L_028C2254;
L_028C2254: ; // 0x28c2254
/* 028C2254 */ cpu->r[3] = cpu->r[29] + 0x000000A8u;
/* 028C2258 */ Gambit_fn_0280223C(cpu);
/* 028C225C */ cpu->r[0] = cpu->r[3];
/* 028C225C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2260 */ cpu->r[4] = cpu->r[0];
/* 028C2264 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2264 */ _t30 = _t29 & 0x00000001u;
/* 028C2264 */ if (_t30) goto L_028C2270; else goto L_028C2268;
L_028C2268: ; // 0x28c2268
/* 028C2268 */ _t31 = cpu->r[29] + 0x000000B4u;
/* 028C2268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
/* 028C226C */ cpu->r[4] = cpu->r[0] - cpu->r[10];
L_028C2270: ; // 0x28c2270
/* 028C2270 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
/* 028C2274 */ Gambit_fn_02C8B8A8(cpu);
/* 028C2278 */ _t32 = cpu->r[29] + 0x000000B0u;
/* 028C2278 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
/* 028C227C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C2280 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2280 */ _t34 = _t33 & 0x00000001u;
/* 028C2280 */ if (_t34) goto L_028C2284; else goto L_028C2254;
L_028C2284: ; // 0x28c2284
/* 028C2284 */ cpu->r[3] = cpu->r[28];
/* 028C2288 */ Gambit_fn_02845C70(cpu);
/* 028C228C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
/* 028C2290 */ cpu->r[5] = cpu->r[28];
/* 028C2294 */ _t35 = cpu->r[27] + 0x00000018u;
/* 028C2294 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
/* 028C2298 */ Gambit_fn_02845F88(cpu);
/* 028C229C */ cpu->r[12] = 0x101D0000u;
/* 028C22A0 */ _t36 = cpu->r[27] + 0x00000018u;
/* 028C22A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
/* 028C22A4 */ _t37 = cpu->r[12] + 0xFFFFF9ECu;
/* 028C22A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028C22A4 */ cpu->r[12] = _t37;
/* 028C22A8 */ cpu->r[4] = 0x101D0000u;
/* 028C22AC */ _t38 = cpu->r[11] + 0x0000001Cu;
/* 028C22AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
/* 028C22B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C22B4 */ cpu->r[4] = cpu->r[4] + 0x000014C8u;
/* 028C22B8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C22B8 */ _t40 = _t39 & 0x00000001u;
/* 028C22B8 */ if (_t40) goto L_028C22BC; else goto L_028C22D0;
L_028C22BC: ; // 0x28c22bc
/* 028C22BC */ cpu->r[6] = 0x10140000u;
/* 028C22C0 */ cpu->r[5] = 0x00000001u;
/* 028C22C4 */ cpu->r[6] = cpu->r[6] + 0xFFFF9174u;
/* 028C22C8 */ _t41 = cpu->r[12] + 0x00000000u;
/* 028C22C8 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
/* 028C22CC */ _t42 = cpu->r[4] + 0x00000000u;
/* 028C22CC */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
L_028C22D0: ; // 0x28c22d0
/* 028C22D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C22D4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C22D4 */ _t44 = _t43 & 0x00000001u;
/* 028C22D4 */ if (_t44) goto L_028C2318; else goto L_028C22D8;
L_028C22D8: ; // 0x28c22d8
/* 028C22D8 */ _t45 = cpu->r[31] + 0x00000000u;
/* 028C22D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
/* 028C22DC */ _t46 = cpu->r[7] + 0x0000000Cu;
/* 028C22DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
/* 028C22E0 */ cpu->ctr = cpu->r[8];
/* 028C22E4 */ cpu->r[3] = cpu->r[31];
/* 028C22E8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C22EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C22F0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C22F0 */ _t48 = _t47 & 0x00000001u;
/* 028C22F0 */ if (_t48) goto L_028C2318; else goto L_028C22F4;
L_028C22F4: ; // 0x28c22f4
/* 028C22F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C22F8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C22F8 */ _t50 = _t49 & 0x00000001u;
/* 028C22F8 */ if (_t50) goto L_028C2318; else goto L_028C22FC;
L_028C22FC: ; // 0x28c22fc
/* 028C22FC */ _t51 = cpu->r[31] + 0x00000170u;
/* 028C22FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
/* 028C2300 */ cpu->r[6] = 0x00000000u;
/* 028C2304 */ cpu->r[4] = 0x10140000u;
/* 028C2308 */ cpu->r[5] = 0xFFFFFFFFu;
/* 028C230C */ cpu->r[7] = cpu->r[6];
/* 028C2310 */ cpu->r[4] = cpu->r[4] + 0xFFFF919Cu;
/* 028C2314 */ Gambit_fn_02848BD4(cpu);
L_028C2318: ; // 0x28c2318
/* 028C2318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
/* 028C231C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C231C */ _t53 = _t52 & 0x00000001u;
/* 028C231C */ if (_t53) goto L_028C232C; else goto L_028C2320;
L_028C2320: ; // 0x28c2320
/* 028C2320 */ _t54 = cpu->r[24] + 0xFFFF98F0u;
/* 028C2320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
/* 028C2324 */ cpu->r[4] = cpu->r[30];
/* 028C2328 */ Gambit_fn_02827008(cpu);
L_028C232C: ; // 0x28c232c
/* 028C232C */ cpu->r[4] = cpu->r[28];
/* 028C2330 */ cpu->r[3] = 0x00000030u;
/* 028C2334 */ cpu->r[5] = 0x00000004u;
/* 028C2338 */ Gambit_fn_02801AC8(cpu);
/* 028C233C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2340 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2340 */ _t56 = _t55 & 0x00000001u;
/* 028C2340 */ if (_t56) goto L_028C2348; else goto L_028C2344;
L_028C2344: ; // 0x28c2344
/* 028C2344 */ Gambit_fn_028D6C7C(cpu);
L_028C2348: ; // 0x28c2348
/* 028C2348 */ _t57 = cpu->r[27] + 0x0000002Cu;
/* 028C2348 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]);
/* 028C234C */ _t58 = cpu->r[29] + 0x0000001Cu;
/* 028C234C */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
/* 028C2350 */ cpu->r[5] = cpu->r[28];
/* 028C2354 */ Gambit_fn_028D6E88(cpu);
/* 028C2358 */ _t59 = cpu->r[29] + 0x00000080u;
/* 028C2358 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
/* 028C235C */ cpu->r[4] = cpu->r[28];
/* 028C2360 */ _t60 = cpu->r[27] + 0x00000030u;
/* 028C2360 */ rbrew_write32(cpu->mem, _t60, cpu->r[5]);
/* 028C2364 */ _t61 = cpu->r[29] + 0x00000084u;
/* 028C2364 */ cpu->r[6] = rbrew_read8(cpu->mem, _t61);
/* 028C2368 */ cpu->r[5] = 0x00000004u;
/* 028C236C */ cpu->r[3] = 0x00000064u;
/* 028C2370 */ _t62 = cpu->r[27] + 0x00000034u;
/* 028C2370 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[6]);
/* 028C2374 */ Gambit_fn_02801AC8(cpu);
/* 028C2378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C237C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C237C */ _t64 = _t63 & 0x00000001u;
/* 028C237C */ if (_t64) goto L_028C2384; else goto L_028C2380;
L_028C2380: ; // 0x28c2380
/* 028C2380 */ Gambit_fn_028BCAB4(cpu);
L_028C2384: ; // 0x28c2384
/* 028C2384 */ _t65 = cpu->r[27] + 0x00000020u;
/* 028C2384 */ rbrew_write32(cpu->mem, _t65, cpu->r[3]);
/* 028C2388 */ _t66 = cpu->r[29] + 0x00000048u;
/* 028C2388 */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
/* 028C238C */ _t67 = cpu->r[3] + 0x00000038u;
/* 028C238C */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
/* 028C2390 */ _t68 = cpu->r[27] + 0x00000020u;
/* 028C2390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
/* 028C2394 */ cpu->r[4] = cpu->r[28];
/* 028C2398 */ Gambit_fn_028BD0D8(cpu);
/* 028C239C */ cpu->r[3] = cpu->r[28];
/* 028C23A0 */ Gambit_fn_028E8B60(cpu);
/* 028C23A4 */ _t69 = cpu->r[29] + 0x00000020u;
/* 028C23A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
/* 028C23A8 */ cpu->r[5] = cpu->r[28];
/* 028C23AC */ cpu->r[31] = cpu->r[3];
/* 028C23B0 */ Gambit_fn_028E8D4C(cpu);
/* 028C23B4 */ _t70 = cpu->r[29] + 0x00000024u;
/* 028C23B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
/* 028C23B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C23BC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C23BC */ _t72 = _t71 & 0x00000001u;
/* 028C23BC */ if (_t72) goto L_028C23C8; else goto L_028C23C0;
L_028C23C0: ; // 0x28c23c0
/* 028C23C0 */ _t73 = cpu->r[31] + 0x00000018u;
/* 028C23C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
/* 028C23C4 */ Gambit_fn_028E92EC(cpu);
L_028C23C8: ; // 0x28c23c8
/* 028C23C8 */ cpu->r[3] = cpu->r[28];
/* 028C23CC */ Gambit_fn_028C97B4(cpu);
/* 028C23D0 */ _t74 = cpu->r[29] + 0x00000050u;
/* 028C23D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
/* 028C23D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C23D8 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C23D8 */ _t76 = _t75 & 0x00000001u;
/* 028C23D8 */ if (_t76) goto L_028C23E4; else goto L_028C23DC;
L_028C23DC: ; // 0x28c23dc
/* 028C23DC */ cpu->r[4] = cpu->r[28];
/* 028C23E0 */ Gambit_fn_028E7F28(cpu);
L_028C23E4: ; // 0x28c23e4
/* 028C23E4 */ cpu->r[3] = cpu->r[28];
/* 028C23E8 */ Gambit_fn_028DD38C(cpu);
/* 028C23EC */ cpu->r[4] = cpu->r[28];
/* 028C23F0 */ Gambit_fn_028DD744(cpu);
/* 028C23F4 */ cpu->r[3] = cpu->r[28];
/* 028C23F8 */ Gambit_fn_028DB920(cpu);
/* 028C23FC */ _t77 = cpu->r[27] + 0x00000054u;
/* 028C23FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
/* 028C2400 */ cpu->r[4] = cpu->r[28];
/* 028C2404 */ _t78 = cpu->r[27] + 0x00000028u;
/* 028C2404 */ rbrew_write32(cpu->mem, _t78, cpu->r[3]);
/* 028C2408 */ Gambit_fn_028DC214(cpu);
/* 028C240C */ _t79 = cpu->r[29] + 0x0000004Cu;
/* 028C240C */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
/* 028C2410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C2414 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2414 */ _t81 = _t80 & 0x00000001u;
/* 028C2414 */ if (_t81) goto L_028C2428; else goto L_028C2418;
L_028C2418: ; // 0x28c2418
/* 028C2418 */ _t82 = cpu->r[27] + 0x00000028u;
/* 028C2418 */ cpu->r[7] = rbrew_read32(cpu->mem, _t82);
/* 028C241C */ cpu->r[5] = cpu->r[28];
/* 028C2420 */ cpu->r[3] = cpu->r[7] + 0x0000002Cu;
/* 028C2424 */ Gambit_fn_028DC908(cpu);
L_028C2428: ; // 0x28c2428
/* 028C2428 */ cpu->r[3] = cpu->r[28];
/* 028C242C */ Gambit_fn_028DAC28(cpu);
/* 028C2430 */ _t83 = cpu->r[29] + 0x0000003Cu;
/* 028C2430 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83);
/* 028C2434 */ cpu->r[5] = cpu->r[28];
/* 028C2438 */ Gambit_fn_028DADEC(cpu);
/* 028C243C */ cpu->r[3] = cpu->r[28];
/* 028C2440 */ Gambit_fn_028D7F28(cpu);
/* 028C2444 */ cpu->r[3] = cpu->r[28];
/* 028C2448 */ Gambit_fn_028BC4E4(cpu);
/* 028C244C */ cpu->r[4] = cpu->r[28];
/* 028C2450 */ cpu->r[3] = 0x0000010Cu;
/* 028C2454 */ cpu->r[5] = 0x00000004u;
/* 028C2458 */ Gambit_fn_02801AC8(cpu);
/* 028C245C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2460 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2460 */ _t85 = _t84 & 0x00000001u;
/* 028C2460 */ if (_t85) goto L_028C2468; else goto L_028C2464;
L_028C2464: ; // 0x28c2464
/* 028C2464 */ Gambit_fn_028BA410(cpu);
L_028C2468: ; // 0x28c2468
/* 028C2468 */ _t86 = cpu->r[27] + 0x0000001Cu;
/* 028C2468 */ rbrew_write32(cpu->mem, _t86, cpu->r[3]);
/* 028C246C */ _t87 = cpu->r[29] + 0x00000040u;
/* 028C246C */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
/* 028C2470 */ _t88 = cpu->r[29] + 0x00000008u;
/* 028C2470 */ cpu->r[8] = rbrew_read32(cpu->mem, _t88);
/* 028C2474 */ _t89 = cpu->r[29] + 0x00000044u;
/* 028C2474 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
/* 028C2478 */ _t90 = cpu->r[1] + 0x00000018u;
/* 028C2478 */ rbrew_write32(cpu->mem, _t90, cpu->r[8]);
/* 028C247C */ cpu->r[5] = cpu->r[28];
/* 028C2480 */ _t91 = cpu->r[1] + 0x00000020u;
/* 028C2480 */ rbrew_write32(cpu->mem, _t91, cpu->r[10]);
/* 028C2484 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
/* 028C2488 */ _t92 = cpu->r[1] + 0x0000001Cu;
/* 028C2488 */ rbrew_write32(cpu->mem, _t92, cpu->r[9]);
/* 028C248C */ Gambit_fn_028BA810(cpu);
/* 028C2490 */ _t93 = cpu->r[29] + 0x00000010u;
/* 028C2490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
/* 028C2494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028C2498 */ _t94 = cpu->r[29] + 0x00000014u;
/* 028C2498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
/* 028C249C */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C249C */ _t96 = _t95 & 0x00000001u;
/* 028C249C */ if (_t96) goto L_028C24C0; else goto L_028C24A0;
L_028C24A0: ; // 0x28c24a0
/* 028C24A0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C24A0 */ _t98 = _t97 & 0x00000001u;
/* 028C24A0 */ if (_t98) goto L_028C24D0; else goto L_028C24A4;
L_028C24A4: ; // 0x28c24a4
/* 028C24A4 */ cpu->r[4] = cpu->r[28];
/* 028C24A8 */ cpu->r[3] = 0x00000028u;
/* 028C24AC */ cpu->r[5] = 0x00000004u;
/* 028C24B0 */ Gambit_fn_02801AC8(cpu);
/* 028C24B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C24B8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C24B8 */ _t100 = _t99 & 0x00000001u;
/* 028C24B8 */ if (_t100) goto L_028C2524; else goto L_028C24BC;
L_028C24BC: ; // 0x28c24bc
/* 028C24BC */ goto L_028C2520;
L_028C24C0: ; // 0x28c24c0
/* 028C24C0 */ Gambit_fn_028BACAC(cpu);
/* 028C24C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C24C8 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C24C8 */ _t102 = _t101 & 0x00000001u;
/* 028C24C8 */ if (_t102) goto L_028C2508; else goto L_028C24CC;
L_028C24CC: ; // 0x28c24cc
/* 028C24CC */ goto L_028C24DC;
L_028C24D0: ; // 0x28c24d0
/* 028C24D0 */ _t103 = cpu->r[29] + 0x00000018u;
/* 028C24D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t103);
/* 028C24D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C24D8 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C24D8 */ _t105 = _t104 & 0x00000001u;
/* 028C24D8 */ if (_t105) goto L_028C2508; else goto L_028C24DC;
L_028C24DC: ; // 0x28c24dc
/* 028C24DC */ _t106 = cpu->r[27] + 0x0000001Cu;
/* 028C24DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t106);
/* 028C24E0 */ cpu->r[0] = 0x10140000u;
/* 028C24E4 */ cpu->r[6] = 0x00000001u;
/* 028C24E8 */ _t107 = cpu->r[1] + 0x00000014u;
/* 028C24E8 */ rbrew_write32(cpu->mem, _t107, cpu->r[26]);
/* 028C24EC */ cpu->r[0] = cpu->r[0] + 0xFFFF91A8u;
/* 028C24F0 */ cpu->r[5] = cpu->r[28];
/* 028C24F4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
/* 028C24F8 */ _t108 = cpu->r[1] + 0x00000010u;
/* 028C24F8 */ rbrew_write32(cpu->mem, _t108, cpu->r[0]);
/* 028C24FC */ cpu->r[7] = cpu->r[6];
/* 028C2500 */ Gambit_fn_02822600(cpu);
/* 028C2504 */ _t109 = cpu->r[31] + 0x00000018u;
/* 028C2504 */ rbrew_write32(cpu->mem, _t109, cpu->r[3]);
L_028C2508: ; // 0x28c2508
/* 028C2508 */ cpu->r[4] = cpu->r[28];
/* 028C250C */ cpu->r[3] = 0x00000028u;
/* 028C2510 */ cpu->r[5] = 0x00000004u;
/* 028C2514 */ Gambit_fn_02801AC8(cpu);
/* 028C2518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C251C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C251C */ _t111 = _t110 & 0x00000001u;
/* 028C251C */ if (_t111) goto L_028C2524; else goto L_028C2520;
L_028C2520: ; // 0x28c2520
/* 028C2520 */ Gambit_fn_028D1E58(cpu);
L_028C2524: ; // 0x28c2524
/* 028C2524 */ _t112 = cpu->r[27] + 0x00000024u;
/* 028C2524 */ rbrew_write32(cpu->mem, _t112, cpu->r[3]);
/* 028C2528 */ _t113 = cpu->r[29] + 0x00000094u;
/* 028C2528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t113);
/* 028C252C */ cpu->r[4] = cpu->r[28];
/* 028C2530 */ Gambit_fn_028D2198(cpu);
/* 028C2534 */ _t114 = cpu->r[27] + 0x00000024u;
/* 028C2534 */ cpu->r[3] = rbrew_read32(cpu->mem, _t114);
/* 028C2538 */ cpu->r[5] = cpu->r[28];
/* 028C253C */ _t115 = cpu->r[29] + 0x00000054u;
/* 028C253C */ cpu->r[4] = rbrew_read32(cpu->mem, _t115);
/* 028C2540 */ Gambit_fn_028D2FEC(cpu);
/* 028C2544 */ _t116 = cpu->r[29] + 0x0000000Cu;
/* 028C2544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t116);
/* 028C2548 */ cpu->r[3] = cpu->r[28];
/* 028C254C */ Gambit_fn_028C9BF0(cpu);
/* 028C2550 */ cpu->r[5] = cpu->r[28];
/* 028C2554 */ cpu->r[4] = cpu->r[31];
/* 028C2558 */ Gambit_fn_028C9D44(cpu);
/* 028C255C */ cpu->r[3] = cpu->r[28];
/* 028C2560 */ Gambit_fn_028E3A4C(cpu);
/* 028C2564 */ _t117 = cpu->r[29] + 0x00000028u;
/* 028C2564 */ cpu->r[7] = rbrew_read32(cpu->mem, _t117);
/* 028C2568 */ _t118 = cpu->r[29] + 0x00000038u;
/* 028C2568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
/* 028C256C */ _t119 = cpu->r[1] + 0x00000024u;
/* 028C256C */ rbrew_write32(cpu->mem, _t119, cpu->r[7]);
/* 028C2570 */ _t120 = cpu->r[29] + 0x00000030u;
/* 028C2570 */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
/* 028C2574 */ _t121 = cpu->r[1] + 0x00000034u;
/* 028C2574 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
/* 028C2578 */ _t122 = cpu->r[1] + 0x0000002Cu;
/* 028C2578 */ rbrew_write32(cpu->mem, _t122, cpu->r[9]);
/* 028C257C */ cpu->r[5] = cpu->r[28];
/* 028C2580 */ _t123 = cpu->r[29] + 0x0000002Cu;
/* 028C2580 */ cpu->r[8] = rbrew_read32(cpu->mem, _t123);
/* 028C2584 */ _t124 = cpu->r[29] + 0x00000034u;
/* 028C2584 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
/* 028C2588 */ _t125 = cpu->r[1] + 0x00000028u;
/* 028C2588 */ rbrew_write32(cpu->mem, _t125, cpu->r[8]);
/* 028C258C */ cpu->r[4] = cpu->r[1] + 0x00000024u;
/* 028C2590 */ _t126 = cpu->r[1] + 0x00000030u;
/* 028C2590 */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
/* 028C2594 */ Gambit_fn_028E3D38(cpu);
/* 028C2598 */ cpu->r[3] = cpu->r[28];
/* 028C259C */ Gambit_fn_028C35F0(cpu);
/* 028C25A0 */ cpu->r[12] = 0x00000003u;
/* 028C25A4 */ cpu->r[10] = cpu->r[29] + 0x00000058u;
/* 028C25A8 */ cpu->ctr = cpu->r[12];
/* 028C25AC */ cpu->r[11] = cpu->r[1] + 0x00000058u;
L_028C25B0: ; // 0x28c25b0
/* 028C25B0 */ _t127 = cpu->r[10] + 0x00000004u;
/* 028C25B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
/* 028C25B4 */ _t128 = cpu->r[11] + 0x00000004u;
/* 028C25B4 */ rbrew_write32(cpu->mem, _t128, cpu->r[0]);
/* 028C25B8 */ _t129 = cpu->r[10] + 0x00000008u;
/* 028C25B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t129);
/* 028C25BC */ _t130 = cpu->r[11] + 0x00000008u;
/* 028C25BC */ rbrew_write32(cpu->mem, _t130, cpu->r[5]);
/* 028C25C0 */ _t131 = cpu->r[10] + 0x0000000Cu;
/* 028C25C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131);
/* 028C25C0 */ cpu->r[10] = _t131;
/* 028C25C4 */ _t132 = cpu->r[11] + 0x0000000Cu;
/* 028C25C4 */ rbrew_write32(cpu->mem, _t132, cpu->r[0]);
/* 028C25C4 */ cpu->r[11] = _t132;
/* 028C25C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C25C8 */ _t133 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C25C8 */ _t134 = _t133 >> (0x00000002u & 31u);
/* 028C25C8 */ _t135 = _t134 & 0x00000001u;
/* 028C25C8 */ if (_t135) goto L_028C25B0; else goto L_028C25CC;
L_028C25CC: ; // 0x28c25cc
/* 028C25CC */ _t136 = cpu->r[29] + 0x00000058u;
/* 028C25CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t136);
/* 028C25D0 */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
/* 028C25D4 */ cpu->r[5] = cpu->r[28];
/* 028C25D8 */ _t137 = cpu->r[1] + 0x0000005Cu;
/* 028C25D8 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[0]);
/* 028C25DC */ Gambit_fn_028C37C0(cpu);
/* 028C25E0 */ Gambit_fn_028BF620(cpu);
/* 028C25E4 */ /* nop */
/* 028C25E8 */ _t138 = cpu->r[1] + 0x000000A4u;
/* 028C25E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t138);
/* 028C25EC */ cpu->lr = cpu->r[0];
/* 028C25F0 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
/* 028C25F4 */ return;
}
// fn_028C25F8 @ 0x28c25f8
void Gambit_fn_028C25F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028C25F8: ; // 0x28c25f8
/* 028C25F8 */ cpu->r[0] = cpu->lr;
/* 028C25FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C25FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C25FC */ cpu->r[1] = _t0;
/* 028C2600 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2604 */ cpu->r[31] = cpu->r[3];
/* 028C2608 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C260C */ _t3 = cpu->r[31] + 0x00000014u;
/* 028C260C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028C2610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2614 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2614 */ _t5 = _t4 & 0x00000001u;
/* 028C2614 */ if (_t5) goto L_028C2618; else goto L_028C269C;
L_028C2618: ; // 0x28c2618
/* 028C2618 */ _t6 = cpu->r[31] + 0x00000048u;
/* 028C2618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C261C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2620 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2620 */ _t8 = _t7 & 0x00000001u;
/* 028C2620 */ if (_t8) goto L_028C2628; else goto L_028C2624;
L_028C2624: ; // 0x28c2624
/* 028C2624 */ Gambit_fn_028CE9A8(cpu);
L_028C2628: ; // 0x28c2628
/* 028C2628 */ _t9 = cpu->r[31] + 0x00000028u;
/* 028C2628 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C262C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2630 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2630 */ _t11 = _t10 & 0x00000001u;
/* 028C2630 */ if (_t11) goto L_028C2638; else goto L_028C2634;
L_028C2634: ; // 0x28c2634
/* 028C2634 */ Gambit_fn_028DC21C(cpu);
L_028C2638: ; // 0x28c2638
/* 028C2638 */ cpu->r[3] = 0x101D0000u;
/* 028C263C */ _t12 = cpu->r[3] + 0xFFFF9A8Cu;
/* 028C263C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C2640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2644 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2644 */ _t14 = _t13 & 0x00000001u;
/* 028C2644 */ if (_t14) goto L_028C264C; else goto L_028C2648;
L_028C2648: ; // 0x28c2648
/* 028C2648 */ Gambit_fn_028C393C(cpu);
L_028C264C: ; // 0x28c264c
/* 028C264C */ cpu->r[3] = 0x101D0000u;
/* 028C2650 */ _t15 = cpu->r[3] + 0xFFFF9ABCu;
/* 028C2650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028C2654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2658 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2658 */ _t17 = _t16 & 0x00000001u;
/* 028C2658 */ if (_t17) goto L_028C2660; else goto L_028C265C;
L_028C265C: ; // 0x28c265c
/* 028C265C */ Gambit_fn_028D807C(cpu);
L_028C2660: ; // 0x28c2660
/* 028C2660 */ _t18 = cpu->r[31] + 0x0000001Cu;
/* 028C2660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028C2664 */ Gambit_fn_028BAA30(cpu);
/* 028C2668 */ _t19 = cpu->r[31] + 0x00000018u;
/* 028C2668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028C266C */ Gambit_fn_02846200(cpu);
/* 028C2670 */ _t20 = cpu->r[31] + 0x00000038u;
/* 028C2670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028C2674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2678 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2678 */ _t22 = _t21 & 0x00000001u;
/* 028C2678 */ if (_t22) goto L_028C268C; else goto L_028C267C;
L_028C267C: ; // 0x28c267c
/* 028C267C */ _t23 = cpu->r[3] + 0x00000000u;
/* 028C267C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028C2680 */ _t24 = cpu->r[12] + 0x0000002Cu;
/* 028C2680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C2684 */ cpu->ctr = cpu->r[0];
/* 028C2688 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C268C: ; // 0x28c268c
/* 028C268C */ _t25 = cpu->r[31] + 0x0000004Cu;
/* 028C268C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
/* 028C2690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2694 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2694 */ _t27 = _t26 & 0x00000001u;
/* 028C2694 */ if (_t27) goto L_028C269C; else goto L_028C2698;
L_028C2698: ; // 0x28c2698
/* 028C2698 */ Gambit_fn_028CC100(cpu);
L_028C269C: ; // 0x28c269c
/* 028C269C */ _t28 = cpu->r[1] + 0x00000014u;
/* 028C269C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C26A0 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028C26A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C26A4 */ cpu->lr = cpu->r[0];
/* 028C26A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C26AC */ return;
}
// fn_028C25FC @ 0x28c25fc
void Gambit_fn_028C25FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028C25FC: ; // 0x28c25fc
/* 028C25FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C25FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C25FC */ cpu->r[1] = _t0;
/* 028C2600 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2604 */ cpu->r[31] = cpu->r[3];
/* 028C2608 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C260C */ _t3 = cpu->r[31] + 0x00000014u;
/* 028C260C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028C2610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2614 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2614 */ _t5 = _t4 & 0x00000001u;
/* 028C2614 */ if (_t5) goto L_028C2618; else goto L_028C269C;
L_028C2618: ; // 0x28c2618
/* 028C2618 */ _t6 = cpu->r[31] + 0x00000048u;
/* 028C2618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C261C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2620 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2620 */ _t8 = _t7 & 0x00000001u;
/* 028C2620 */ if (_t8) goto L_028C2628; else goto L_028C2624;
L_028C2624: ; // 0x28c2624
/* 028C2624 */ Gambit_fn_028CE9A8(cpu);
L_028C2628: ; // 0x28c2628
/* 028C2628 */ _t9 = cpu->r[31] + 0x00000028u;
/* 028C2628 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C262C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2630 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2630 */ _t11 = _t10 & 0x00000001u;
/* 028C2630 */ if (_t11) goto L_028C2638; else goto L_028C2634;
L_028C2634: ; // 0x28c2634
/* 028C2634 */ Gambit_fn_028DC21C(cpu);
L_028C2638: ; // 0x28c2638
/* 028C2638 */ cpu->r[3] = 0x101D0000u;
/* 028C263C */ _t12 = cpu->r[3] + 0xFFFF9A8Cu;
/* 028C263C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C2640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2644 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2644 */ _t14 = _t13 & 0x00000001u;
/* 028C2644 */ if (_t14) goto L_028C264C; else goto L_028C2648;
L_028C2648: ; // 0x28c2648
/* 028C2648 */ Gambit_fn_028C393C(cpu);
L_028C264C: ; // 0x28c264c
/* 028C264C */ cpu->r[3] = 0x101D0000u;
/* 028C2650 */ _t15 = cpu->r[3] + 0xFFFF9ABCu;
/* 028C2650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028C2654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2658 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2658 */ _t17 = _t16 & 0x00000001u;
/* 028C2658 */ if (_t17) goto L_028C2660; else goto L_028C265C;
L_028C265C: ; // 0x28c265c
/* 028C265C */ Gambit_fn_028D807C(cpu);
L_028C2660: ; // 0x28c2660
/* 028C2660 */ _t18 = cpu->r[31] + 0x0000001Cu;
/* 028C2660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028C2664 */ Gambit_fn_028BAA30(cpu);
/* 028C2668 */ _t19 = cpu->r[31] + 0x00000018u;
/* 028C2668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028C266C */ Gambit_fn_02846200(cpu);
/* 028C2670 */ _t20 = cpu->r[31] + 0x00000038u;
/* 028C2670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
/* 028C2674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2678 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2678 */ _t22 = _t21 & 0x00000001u;
/* 028C2678 */ if (_t22) goto L_028C268C; else goto L_028C267C;
L_028C267C: ; // 0x28c267c
/* 028C267C */ _t23 = cpu->r[3] + 0x00000000u;
/* 028C267C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028C2680 */ _t24 = cpu->r[12] + 0x0000002Cu;
/* 028C2680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C2684 */ cpu->ctr = cpu->r[0];
/* 028C2688 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C268C: ; // 0x28c268c
/* 028C268C */ _t25 = cpu->r[31] + 0x0000004Cu;
/* 028C268C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
/* 028C2690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2694 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2694 */ _t27 = _t26 & 0x00000001u;
/* 028C2694 */ if (_t27) goto L_028C269C; else goto L_028C2698;
L_028C2698: ; // 0x28c2698
/* 028C2698 */ Gambit_fn_028CC100(cpu);
L_028C269C: ; // 0x28c269c
/* 028C269C */ _t28 = cpu->r[1] + 0x00000014u;
/* 028C269C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C26A0 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028C26A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C26A4 */ cpu->lr = cpu->r[0];
/* 028C26A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C26AC */ return;
}
// fn_028C26B0 @ 0x28c26b0
void Gambit_fn_028C26B0(CPUState* cpu) {
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_028C26B0: ; // 0x28c26b0
/* 028C26B0 */ cpu->r[0] = cpu->lr;
/* 028C26B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C26B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C26B4 */ cpu->r[1] = _t0;
/* 028C26B8 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C26B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C26BC */ cpu->r[31] = cpu->r[4];
/* 028C26C0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C26C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C26C4 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C26C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028C26C8 */ cpu->r[30] = cpu->r[3];
/* 028C26C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C26CC */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C26CC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028C26D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C26D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C26D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C26D4 */ _t7 = _t6 & 0x00000001u;
/* 028C26D4 */ if (_t7) goto L_028C272C; else goto L_028C26D8;
L_028C26D8: ; // 0x28c26d8
/* 028C26D8 */ cpu->r[0] = 0x10140000u;
/* 028C26DC */ cpu->r[0] = cpu->r[0] + 0xFFFF91BCu;
/* 028C26E0 */ cpu->r[12] = 0x101D0000u;
/* 028C26E4 */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028C26E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C26E8 */ _t9 = cpu->r[12] + 0xFFFF9A88u;
/* 028C26E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028C26E8 */ cpu->r[12] = _t9;
/* 028C26EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
/* 028C26F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C26F0 */ _t11 = _t10 & 0x00000001u;
/* 028C26F0 */ if (_t11) goto L_028C26F4; else goto L_028C2710;
L_028C26F4: ; // 0x28c26f4
/* 028C26F4 */ cpu->r[29] = 0x101D0000u;
/* 028C26F8 */ cpu->r[28] = 0x00000000u;
/* 028C26FC */ _t12 = cpu->r[29] + 0xFFFF9A84u;
/* 028C26FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C2700 */ cpu->r[4] = 0x00000002u;
/* 028C2704 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028C2704 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028C2708 */ Gambit_fn_028C1ED0(cpu);
/* 028C270C */ _t14 = cpu->r[29] + 0xFFFF9A84u;
/* 028C270C */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
L_028C2710: ; // 0x28c2710
/* 028C2710 */ cpu->r[3] = cpu->r[30];
/* 028C2714 */ cpu->r[4] = 0x00000000u;
/* 028C2718 */ Gambit_fn_02821E68(cpu);
/* 028C271C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C271C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2720 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2720 */ _t16 = _t15 & 0x00000001u;
/* 028C2720 */ if (_t16) goto L_028C272C; else goto L_028C2724;
L_028C2724: ; // 0x28c2724
/* 028C2724 */ cpu->r[3] = cpu->r[30];
/* 028C2728 */ Gambit_fn_02801BB0(cpu);
L_028C272C: ; // 0x28c272c
/* 028C272C */ _t17 = cpu->r[1] + 0x00000008u;
/* 028C272C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028C2730 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C2730 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028C2734 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C2734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C2738 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028C2738 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028C273C */ cpu->lr = cpu->r[0];
/* 028C2740 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C2740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C2744 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C2748 */ return;
}
// fn_028C26B4 @ 0x28c26b4
void Gambit_fn_028C26B4(CPUState* cpu) {
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_028C26B4: ; // 0x28c26b4
/* 028C26B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C26B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C26B4 */ cpu->r[1] = _t0;
/* 028C26B8 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C26B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C26BC */ cpu->r[31] = cpu->r[4];
/* 028C26C0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C26C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C26C4 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C26C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028C26C8 */ cpu->r[30] = cpu->r[3];
/* 028C26C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C26CC */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C26CC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028C26D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C26D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C26D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C26D4 */ _t7 = _t6 & 0x00000001u;
/* 028C26D4 */ if (_t7) goto L_028C272C; else goto L_028C26D8;
L_028C26D8: ; // 0x28c26d8
/* 028C26D8 */ cpu->r[0] = 0x10140000u;
/* 028C26DC */ cpu->r[0] = cpu->r[0] + 0xFFFF91BCu;
/* 028C26E0 */ cpu->r[12] = 0x101D0000u;
/* 028C26E4 */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028C26E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C26E8 */ _t9 = cpu->r[12] + 0xFFFF9A88u;
/* 028C26E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028C26E8 */ cpu->r[12] = _t9;
/* 028C26EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
/* 028C26F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C26F0 */ _t11 = _t10 & 0x00000001u;
/* 028C26F0 */ if (_t11) goto L_028C26F4; else goto L_028C2710;
L_028C26F4: ; // 0x28c26f4
/* 028C26F4 */ cpu->r[29] = 0x101D0000u;
/* 028C26F8 */ cpu->r[28] = 0x00000000u;
/* 028C26FC */ _t12 = cpu->r[29] + 0xFFFF9A84u;
/* 028C26FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C2700 */ cpu->r[4] = 0x00000002u;
/* 028C2704 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028C2704 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028C2708 */ Gambit_fn_028C1ED0(cpu);
/* 028C270C */ _t14 = cpu->r[29] + 0xFFFF9A84u;
/* 028C270C */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
L_028C2710: ; // 0x28c2710
/* 028C2710 */ cpu->r[3] = cpu->r[30];
/* 028C2714 */ cpu->r[4] = 0x00000000u;
/* 028C2718 */ Gambit_fn_02821E68(cpu);
/* 028C271C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C271C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2720 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2720 */ _t16 = _t15 & 0x00000001u;
/* 028C2720 */ if (_t16) goto L_028C272C; else goto L_028C2724;
L_028C2724: ; // 0x28c2724
/* 028C2724 */ cpu->r[3] = cpu->r[30];
/* 028C2728 */ Gambit_fn_02801BB0(cpu);
L_028C272C: ; // 0x28c272c
/* 028C272C */ _t17 = cpu->r[1] + 0x00000008u;
/* 028C272C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028C2730 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C2730 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028C2734 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C2734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C2738 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028C2738 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028C273C */ cpu->lr = cpu->r[0];
/* 028C2740 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C2740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C2744 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C2748 */ return;
}
// fn_028C274C @ 0x28c274c
void Gambit_fn_028C274C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C274C: ; // 0x28c274c
/* 028C274C */ cpu->r[0] = cpu->lr;
/* 028C2750 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C2750 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2750 */ cpu->r[1] = _t0;
/* 028C2754 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2754 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C2758 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2758 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C275C */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C275C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C2760 */ cpu->r[31] = cpu->r[3];
/* 028C2760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2764 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C2764 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C2768 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2768 */ _t6 = _t5 & 0x00000001u;
/* 028C2768 */ if (_t6) goto L_028C276C; else goto L_028C277C;
L_028C276C: ; // 0x28c276c
/* 028C276C */ cpu->r[3] = 0x000000C4u;
/* 028C2770 */ Gambit_fn_02801A78(cpu);
/* 028C2774 */ cpu->r[31] = cpu->r[3];
/* 028C2774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2778 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2778 */ _t8 = _t7 & 0x00000001u;
/* 028C2778 */ if (_t8) goto L_028C2930; else goto L_028C277C;
L_028C277C: ; // 0x28c277c
/* 028C277C */ cpu->r[30] = 0x00000000u;
/* 028C2780 */ cpu->r[6] = 0x00000010u;
/* 028C2784 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028C2784 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
/* 028C2788 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028C2788 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
/* 028C278C */ cpu->r[5] = 0x00000200u;
/* 028C2790 */ _t11 = cpu->r[31] + 0x0000000Cu;
/* 028C2790 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
/* 028C2794 */ cpu->r[7] = 0x00000080u;
/* 028C2798 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028C2798 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
/* 028C279C */ _t13 = cpu->r[31] + 0x00000018u;
/* 028C279C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028C27A0 */ _t14 = cpu->r[31] + 0x00000010u;
/* 028C27A0 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028C27A4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
/* 028C27A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C27A8 */ _t15 = cpu->r[31] + 0x00000014u;
/* 028C27A8 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
/* 028C27AC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C27AC */ _t17 = _t16 & 0x00000001u;
/* 028C27AC */ if (_t17) goto L_028C27B0; else goto L_028C27C0;
L_028C27B0: ; // 0x28c27b0
/* 028C27B0 */ cpu->r[3] = 0x0000002Cu;
/* 028C27B4 */ Gambit_fn_02801A78(cpu);
/* 028C27B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C27BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C27BC */ _t19 = _t18 & 0x00000001u;
/* 028C27BC */ if (_t19) goto L_028C2808; else goto L_028C27C0;
L_028C27C0: ; // 0x28c27c0
/* 028C27C0 */ _t20 = cpu->r[3] + 0x00000008u;
/* 028C27C0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028C27C4 */ cpu->r[9] = 0x00000030u;
/* 028C27C8 */ cpu->r[7] = 0x00000200u;
/* 028C27CC */ _t21 = cpu->r[3] + 0x0000000Cu;
/* 028C27CC */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
/* 028C27D0 */ cpu->r[0] = 0x00000010u;
/* 028C27D4 */ _t22 = cpu->r[3] + 0x00000024u;
/* 028C27D4 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
/* 028C27D8 */ cpu->r[11] = 0x00000020u;
/* 028C27DC */ _t23 = cpu->r[3] + 0x0000001Cu;
/* 028C27DC */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028C27E0 */ cpu->r[12] = 0x00000100u;
/* 028C27E4 */ _t24 = cpu->r[3] + 0x00000010u;
/* 028C27E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028C27E8 */ _t25 = cpu->r[3] + 0x00000018u;
/* 028C27E8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
/* 028C27EC */ cpu->r[8] = 0x00000004u;
/* 028C27F0 */ _t26 = cpu->r[3] + 0x00000014u;
/* 028C27F0 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
/* 028C27F4 */ _t27 = cpu->r[3] + 0x00000000u;
/* 028C27F4 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
/* 028C27F8 */ _t28 = cpu->r[3] + 0x00000028u;
/* 028C27F8 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
/* 028C27FC */ cpu->r[6] = 0x00000040u;
/* 028C2800 */ _t29 = cpu->r[3] + 0x00000004u;
/* 028C2800 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
/* 028C2804 */ _t30 = cpu->r[3] + 0x00000020u;
/* 028C2804 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
L_028C2808: ; // 0x28c2808
/* 028C2808 */ _t31 = cpu->r[31] + 0x00000050u;
/* 028C2808 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
/* 028C280C */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
/* 028C280C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2810 */ _t32 = cpu->r[31] + 0x00000048u;
/* 028C2810 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
/* 028C2814 */ _t33 = cpu->r[31] + 0x0000004Cu;
/* 028C2814 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028C2818 */ _t34 = cpu->r[31] + 0x00000058u;
/* 028C2818 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
/* 028C281C */ _t35 = cpu->r[31] + 0x00000054u;
/* 028C281C */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
/* 028C2820 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2820 */ _t37 = _t36 & 0x00000001u;
/* 028C2820 */ if (_t37) goto L_028C2824; else goto L_028C2834;
L_028C2824: ; // 0x28c2824
/* 028C2824 */ cpu->r[3] = 0x00000024u;
/* 028C2828 */ Gambit_fn_02801A78(cpu);
/* 028C282C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2830 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2830 */ _t39 = _t38 & 0x00000001u;
/* 028C2830 */ if (_t39) goto L_028C2870; else goto L_028C2834;
L_028C2834: ; // 0x28c2834
/* 028C2834 */ cpu->r[9] = 0x00000008u;
/* 028C2838 */ _t40 = cpu->r[3] + 0x00000000u;
/* 028C2838 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[30]);
/* 028C283C */ cpu->r[10] = 0x00000004u;
/* 028C2840 */ _t41 = cpu->r[3] + 0x00000004u;
/* 028C2840 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
/* 028C2844 */ cpu->r[9] = 0x00000002u;
/* 028C2848 */ _t42 = cpu->r[3] + 0x00000008u;
/* 028C2848 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
L_028C284C: ; // 0x28c284c
/* 028C284C */ cpu->r[8] = 0x00000003u;
/* 028C2850 */ cpu->r[0] = 0x00000000u;
/* 028C2854 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
/* 028C2858 */ cpu->ctr = cpu->r[8];
/* 028C285C */ cpu->r[10] = cpu->r[3] + 0xFFFFFFFCu;
L_028C2860: ; // 0x28c2860
/* 028C2860 */ _t43 = cpu->r[10] + 0x00000004u;
/* 028C2860 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
/* 028C2860 */ cpu->r[10] = _t43;
/* 028C2864 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C2864 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C2864 */ _t45 = _t44 >> (0x00000002u & 31u);
/* 028C2864 */ _t46 = _t45 & 0x00000001u;
/* 028C2864 */ if (_t46) goto L_028C2860; else goto L_028C2868;
L_028C2868: ; // 0x28c2868
/* 028C2868 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
/* 028C2868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C286C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C286C */ _t48 = _t47 & 0x00000001u;
/* 028C286C */ if (_t48) goto L_028C2870; else goto L_028C284C;
L_028C2870: ; // 0x28c2870
/* 028C2870 */ _t49 = cpu->r[31] + 0x00000094u;
/* 028C2870 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
/* 028C2874 */ _t50 = cpu->r[31] + 0x000000A4u;
/* 028C2874 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[30]);
/* 028C2878 */ cpu->r[29] = cpu->r[31] + 0x000000A8u;
/* 028C2878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C287C */ cpu->r[11] = 0x02000000u;
/* 028C2880 */ _t51 = cpu->r[31] + 0x00000090u;
/* 028C2880 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
/* 028C2884 */ cpu->r[12] = 0x10140000u;
/* 028C2888 */ _t52 = cpu->r[31] + 0x00000098u;
/* 028C2888 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
/* 028C288C */ _t53 = cpu->r[12] + 0xFFFF9194u;
/* 028C288C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
/* 028C2890 */ _t54 = cpu->r[31] + 0x00000080u;
/* 028C2890 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
/* 028C2894 */ cpu->r[0] = 0x0000000Au;
/* 028C2898 */ _t55 = cpu->r[31] + 0x00000084u;
/* 028C2898 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[30]);
/* 028C289C */ _t56 = cpu->r[31] + 0x000000A0u;
/* 028C289C */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
/* 028C28A0 */ _t57 = cpu->r[31] + 0x00000088u;
/* 028C28A0 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
/* 028C28A4 */ _t58 = cpu->r[31] + 0x0000009Cu;
/* 028C28A4 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[30]);
/* 028C28A8 */ _t59 = cpu->r[31] + 0x0000008Cu;
/* 028C28A8 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
/* 028C28AC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28AC */ _t61 = _t60 & 0x00000001u;
/* 028C28AC */ if (_t61) goto L_028C28B0; else goto L_028C28C0;
L_028C28B0: ; // 0x28c28b0
/* 028C28B0 */ cpu->r[3] = 0x00000010u;
/* 028C28B4 */ Gambit_fn_02801A78(cpu);
/* 028C28B8 */ cpu->r[29] = cpu->r[3];
/* 028C28B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C28BC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28BC */ _t63 = _t62 & 0x00000001u;
/* 028C28BC */ if (_t63) goto L_028C28EC; else goto L_028C28C0;
L_028C28C0: ; // 0x28c28c0
/* 028C28C0 */ cpu->r[3] = cpu->r[29];
/* 028C28C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C28C4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28C4 */ _t65 = _t64 & 0x00000001u;
/* 028C28C4 */ if (_t65) goto L_028C28C8; else goto L_028C28D8;
L_028C28C8: ; // 0x28c28c8
/* 028C28C8 */ cpu->r[3] = 0x0000000Cu;
/* 028C28CC */ Gambit_fn_02801A78(cpu);
/* 028C28D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C28D4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28D4 */ _t67 = _t66 & 0x00000001u;
/* 028C28D4 */ if (_t67) goto L_028C28E4; else goto L_028C28D8;
L_028C28D8: ; // 0x28c28d8
/* 028C28D8 */ _t68 = cpu->r[3] + 0x00000004u;
/* 028C28D8 */ rbrew_write32(cpu->mem, _t68, cpu->r[3]);
/* 028C28DC */ _t69 = cpu->r[3] + 0x00000008u;
/* 028C28DC */ rbrew_write32(cpu->mem, _t69, cpu->r[30]);
/* 028C28E0 */ _t70 = cpu->r[3] + 0x00000000u;
/* 028C28E0 */ rbrew_write32(cpu->mem, _t70, cpu->r[3]);
L_028C28E4: ; // 0x28c28e4
/* 028C28E4 */ cpu->r[5] = 0xFFFFFFFFu;
/* 028C28E8 */ _t71 = cpu->r[29] + 0x0000000Cu;
/* 028C28E8 */ rbrew_write32(cpu->mem, _t71, cpu->r[5]);
L_028C28EC: ; // 0x28c28ec
/* 028C28EC */ cpu->r[6] = 0x02000000u;
/* 028C28F0 */ cpu->r[3] = cpu->r[31] + 0x000000BCu;
/* 028C28F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C28F4 */ _t72 = cpu->r[31] + 0x000000B8u;
/* 028C28F4 */ rbrew_write32(cpu->mem, _t72, cpu->r[6]);
/* 028C28F8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28F8 */ _t74 = _t73 & 0x00000001u;
/* 028C28F8 */ if (_t74) goto L_028C28FC; else goto L_028C290C;
L_028C28FC: ; // 0x28c28fc
/* 028C28FC */ cpu->r[3] = 0x00000008u;
/* 028C2900 */ Gambit_fn_02801A78(cpu);
/* 028C2904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2908 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2908 */ _t76 = _t75 & 0x00000001u;
/* 028C2908 */ if (_t76) goto L_028C2928; else goto L_028C290C;
L_028C290C: ; // 0x28c290c
/* 028C290C */ _t77 = cpu->r[3] + 0x00000002u;
/* 028C290C */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[30]);
/* 028C2910 */ cpu->r[12] = 0x10140000u;
/* 028C2914 */ _t78 = cpu->r[3] + 0x00000003u;
/* 028C2914 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[30]);
/* 028C2918 */ _t79 = cpu->r[12] + 0xFFFF91B8u;
/* 028C2918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t79);
/* 028C291C */ _t80 = cpu->r[3] + 0x00000001u;
/* 028C291C */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[30]);
/* 028C2920 */ _t81 = cpu->r[3] + 0x00000004u;
/* 028C2920 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[0]);
/* 028C2924 */ _t82 = cpu->r[3] + 0x00000000u;
/* 028C2924 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[30]);
L_028C2928: ; // 0x28c2928
/* 028C2928 */ cpu->r[7] = 0x00000004u;
/* 028C292C */ _t83 = cpu->r[31] + 0x000000B4u;
/* 028C292C */ rbrew_write32(cpu->mem, _t83, cpu->r[7]);
L_028C2930: ; // 0x28c2930
/* 028C2930 */ _t84 = cpu->r[1] + 0x0000000Cu;
/* 028C2930 */ cpu->r[29] = rbrew_read32(cpu->mem, _t84);
/* 028C2934 */ _t85 = cpu->r[1] + 0x0000001Cu;
/* 028C2934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
/* 028C2938 */ cpu->r[3] = cpu->r[31];
/* 028C293C */ _t86 = cpu->r[1] + 0x00000010u;
/* 028C293C */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
/* 028C2940 */ cpu->lr = cpu->r[0];
/* 028C2944 */ _t87 = cpu->r[1] + 0x00000014u;
/* 028C2944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
/* 028C2948 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C294C */ return;
}
// fn_028C2750 @ 0x28c2750
void Gambit_fn_028C2750(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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_028C2750: ; // 0x28c2750
/* 028C2750 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C2750 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2750 */ cpu->r[1] = _t0;
/* 028C2754 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2754 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C2758 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2758 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C275C */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C275C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C2760 */ cpu->r[31] = cpu->r[3];
/* 028C2760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2764 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C2764 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C2768 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2768 */ _t6 = _t5 & 0x00000001u;
/* 028C2768 */ if (_t6) goto L_028C276C; else goto L_028C277C;
L_028C276C: ; // 0x28c276c
/* 028C276C */ cpu->r[3] = 0x000000C4u;
/* 028C2770 */ Gambit_fn_02801A78(cpu);
/* 028C2774 */ cpu->r[31] = cpu->r[3];
/* 028C2774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2778 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2778 */ _t8 = _t7 & 0x00000001u;
/* 028C2778 */ if (_t8) goto L_028C2930; else goto L_028C277C;
L_028C277C: ; // 0x28c277c
/* 028C277C */ cpu->r[30] = 0x00000000u;
/* 028C2780 */ cpu->r[6] = 0x00000010u;
/* 028C2784 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028C2784 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
/* 028C2788 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028C2788 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
/* 028C278C */ cpu->r[5] = 0x00000200u;
/* 028C2790 */ _t11 = cpu->r[31] + 0x0000000Cu;
/* 028C2790 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
/* 028C2794 */ cpu->r[7] = 0x00000080u;
/* 028C2798 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028C2798 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
/* 028C279C */ _t13 = cpu->r[31] + 0x00000018u;
/* 028C279C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028C27A0 */ _t14 = cpu->r[31] + 0x00000010u;
/* 028C27A0 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028C27A4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
/* 028C27A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C27A8 */ _t15 = cpu->r[31] + 0x00000014u;
/* 028C27A8 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
/* 028C27AC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C27AC */ _t17 = _t16 & 0x00000001u;
/* 028C27AC */ if (_t17) goto L_028C27B0; else goto L_028C27C0;
L_028C27B0: ; // 0x28c27b0
/* 028C27B0 */ cpu->r[3] = 0x0000002Cu;
/* 028C27B4 */ Gambit_fn_02801A78(cpu);
/* 028C27B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C27BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C27BC */ _t19 = _t18 & 0x00000001u;
/* 028C27BC */ if (_t19) goto L_028C2808; else goto L_028C27C0;
L_028C27C0: ; // 0x28c27c0
/* 028C27C0 */ _t20 = cpu->r[3] + 0x00000008u;
/* 028C27C0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028C27C4 */ cpu->r[9] = 0x00000030u;
/* 028C27C8 */ cpu->r[7] = 0x00000200u;
/* 028C27CC */ _t21 = cpu->r[3] + 0x0000000Cu;
/* 028C27CC */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
/* 028C27D0 */ cpu->r[0] = 0x00000010u;
/* 028C27D4 */ _t22 = cpu->r[3] + 0x00000024u;
/* 028C27D4 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
/* 028C27D8 */ cpu->r[11] = 0x00000020u;
/* 028C27DC */ _t23 = cpu->r[3] + 0x0000001Cu;
/* 028C27DC */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028C27E0 */ cpu->r[12] = 0x00000100u;
/* 028C27E4 */ _t24 = cpu->r[3] + 0x00000010u;
/* 028C27E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028C27E8 */ _t25 = cpu->r[3] + 0x00000018u;
/* 028C27E8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
/* 028C27EC */ cpu->r[8] = 0x00000004u;
/* 028C27F0 */ _t26 = cpu->r[3] + 0x00000014u;
/* 028C27F0 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
/* 028C27F4 */ _t27 = cpu->r[3] + 0x00000000u;
/* 028C27F4 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
/* 028C27F8 */ _t28 = cpu->r[3] + 0x00000028u;
/* 028C27F8 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
/* 028C27FC */ cpu->r[6] = 0x00000040u;
/* 028C2800 */ _t29 = cpu->r[3] + 0x00000004u;
/* 028C2800 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
/* 028C2804 */ _t30 = cpu->r[3] + 0x00000020u;
/* 028C2804 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
L_028C2808: ; // 0x28c2808
/* 028C2808 */ _t31 = cpu->r[31] + 0x00000050u;
/* 028C2808 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
/* 028C280C */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
/* 028C280C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2810 */ _t32 = cpu->r[31] + 0x00000048u;
/* 028C2810 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
/* 028C2814 */ _t33 = cpu->r[31] + 0x0000004Cu;
/* 028C2814 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028C2818 */ _t34 = cpu->r[31] + 0x00000058u;
/* 028C2818 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
/* 028C281C */ _t35 = cpu->r[31] + 0x00000054u;
/* 028C281C */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
/* 028C2820 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2820 */ _t37 = _t36 & 0x00000001u;
/* 028C2820 */ if (_t37) goto L_028C2824; else goto L_028C2834;
L_028C2824: ; // 0x28c2824
/* 028C2824 */ cpu->r[3] = 0x00000024u;
/* 028C2828 */ Gambit_fn_02801A78(cpu);
/* 028C282C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2830 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2830 */ _t39 = _t38 & 0x00000001u;
/* 028C2830 */ if (_t39) goto L_028C2870; else goto L_028C2834;
L_028C2834: ; // 0x28c2834
/* 028C2834 */ cpu->r[9] = 0x00000008u;
/* 028C2838 */ _t40 = cpu->r[3] + 0x00000000u;
/* 028C2838 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[30]);
/* 028C283C */ cpu->r[10] = 0x00000004u;
/* 028C2840 */ _t41 = cpu->r[3] + 0x00000004u;
/* 028C2840 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
/* 028C2844 */ cpu->r[9] = 0x00000002u;
/* 028C2848 */ _t42 = cpu->r[3] + 0x00000008u;
/* 028C2848 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
L_028C284C: ; // 0x28c284c
/* 028C284C */ cpu->r[8] = 0x00000003u;
/* 028C2850 */ cpu->r[0] = 0x00000000u;
/* 028C2854 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
/* 028C2858 */ cpu->ctr = cpu->r[8];
/* 028C285C */ cpu->r[10] = cpu->r[3] + 0xFFFFFFFCu;
L_028C2860: ; // 0x28c2860
/* 028C2860 */ _t43 = cpu->r[10] + 0x00000004u;
/* 028C2860 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
/* 028C2860 */ cpu->r[10] = _t43;
/* 028C2864 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C2864 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C2864 */ _t45 = _t44 >> (0x00000002u & 31u);
/* 028C2864 */ _t46 = _t45 & 0x00000001u;
/* 028C2864 */ if (_t46) goto L_028C2860; else goto L_028C2868;
L_028C2868: ; // 0x28c2868
/* 028C2868 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
/* 028C2868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C286C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C286C */ _t48 = _t47 & 0x00000001u;
/* 028C286C */ if (_t48) goto L_028C2870; else goto L_028C284C;
L_028C2870: ; // 0x28c2870
/* 028C2870 */ _t49 = cpu->r[31] + 0x00000094u;
/* 028C2870 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
/* 028C2874 */ _t50 = cpu->r[31] + 0x000000A4u;
/* 028C2874 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[30]);
/* 028C2878 */ cpu->r[29] = cpu->r[31] + 0x000000A8u;
/* 028C2878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C287C */ cpu->r[11] = 0x02000000u;
/* 028C2880 */ _t51 = cpu->r[31] + 0x00000090u;
/* 028C2880 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
/* 028C2884 */ cpu->r[12] = 0x10140000u;
/* 028C2888 */ _t52 = cpu->r[31] + 0x00000098u;
/* 028C2888 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
/* 028C288C */ _t53 = cpu->r[12] + 0xFFFF9194u;
/* 028C288C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
/* 028C2890 */ _t54 = cpu->r[31] + 0x00000080u;
/* 028C2890 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
/* 028C2894 */ cpu->r[0] = 0x0000000Au;
/* 028C2898 */ _t55 = cpu->r[31] + 0x00000084u;
/* 028C2898 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[30]);
/* 028C289C */ _t56 = cpu->r[31] + 0x000000A0u;
/* 028C289C */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
/* 028C28A0 */ _t57 = cpu->r[31] + 0x00000088u;
/* 028C28A0 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
/* 028C28A4 */ _t58 = cpu->r[31] + 0x0000009Cu;
/* 028C28A4 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[30]);
/* 028C28A8 */ _t59 = cpu->r[31] + 0x0000008Cu;
/* 028C28A8 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
/* 028C28AC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28AC */ _t61 = _t60 & 0x00000001u;
/* 028C28AC */ if (_t61) goto L_028C28B0; else goto L_028C28C0;
L_028C28B0: ; // 0x28c28b0
/* 028C28B0 */ cpu->r[3] = 0x00000010u;
/* 028C28B4 */ Gambit_fn_02801A78(cpu);
/* 028C28B8 */ cpu->r[29] = cpu->r[3];
/* 028C28B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C28BC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28BC */ _t63 = _t62 & 0x00000001u;
/* 028C28BC */ if (_t63) goto L_028C28EC; else goto L_028C28C0;
L_028C28C0: ; // 0x28c28c0
/* 028C28C0 */ cpu->r[3] = cpu->r[29];
/* 028C28C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C28C4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28C4 */ _t65 = _t64 & 0x00000001u;
/* 028C28C4 */ if (_t65) goto L_028C28C8; else goto L_028C28D8;
L_028C28C8: ; // 0x28c28c8
/* 028C28C8 */ cpu->r[3] = 0x0000000Cu;
/* 028C28CC */ Gambit_fn_02801A78(cpu);
/* 028C28D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C28D4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28D4 */ _t67 = _t66 & 0x00000001u;
/* 028C28D4 */ if (_t67) goto L_028C28E4; else goto L_028C28D8;
L_028C28D8: ; // 0x28c28d8
/* 028C28D8 */ _t68 = cpu->r[3] + 0x00000004u;
/* 028C28D8 */ rbrew_write32(cpu->mem, _t68, cpu->r[3]);
/* 028C28DC */ _t69 = cpu->r[3] + 0x00000008u;
/* 028C28DC */ rbrew_write32(cpu->mem, _t69, cpu->r[30]);
/* 028C28E0 */ _t70 = cpu->r[3] + 0x00000000u;
/* 028C28E0 */ rbrew_write32(cpu->mem, _t70, cpu->r[3]);
L_028C28E4: ; // 0x28c28e4
/* 028C28E4 */ cpu->r[5] = 0xFFFFFFFFu;
/* 028C28E8 */ _t71 = cpu->r[29] + 0x0000000Cu;
/* 028C28E8 */ rbrew_write32(cpu->mem, _t71, cpu->r[5]);
L_028C28EC: ; // 0x28c28ec
/* 028C28EC */ cpu->r[6] = 0x02000000u;
/* 028C28F0 */ cpu->r[3] = cpu->r[31] + 0x000000BCu;
/* 028C28F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C28F4 */ _t72 = cpu->r[31] + 0x000000B8u;
/* 028C28F4 */ rbrew_write32(cpu->mem, _t72, cpu->r[6]);
/* 028C28F8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C28F8 */ _t74 = _t73 & 0x00000001u;
/* 028C28F8 */ if (_t74) goto L_028C28FC; else goto L_028C290C;
L_028C28FC: ; // 0x28c28fc
/* 028C28FC */ cpu->r[3] = 0x00000008u;
/* 028C2900 */ Gambit_fn_02801A78(cpu);
/* 028C2904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2908 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2908 */ _t76 = _t75 & 0x00000001u;
/* 028C2908 */ if (_t76) goto L_028C2928; else goto L_028C290C;
L_028C290C: ; // 0x28c290c
/* 028C290C */ _t77 = cpu->r[3] + 0x00000002u;
/* 028C290C */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[30]);
/* 028C2910 */ cpu->r[12] = 0x10140000u;
/* 028C2914 */ _t78 = cpu->r[3] + 0x00000003u;
/* 028C2914 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[30]);
/* 028C2918 */ _t79 = cpu->r[12] + 0xFFFF91B8u;
/* 028C2918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t79);
/* 028C291C */ _t80 = cpu->r[3] + 0x00000001u;
/* 028C291C */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[30]);
/* 028C2920 */ _t81 = cpu->r[3] + 0x00000004u;
/* 028C2920 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[0]);
/* 028C2924 */ _t82 = cpu->r[3] + 0x00000000u;
/* 028C2924 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[30]);
L_028C2928: ; // 0x28c2928
/* 028C2928 */ cpu->r[7] = 0x00000004u;
/* 028C292C */ _t83 = cpu->r[31] + 0x000000B4u;
/* 028C292C */ rbrew_write32(cpu->mem, _t83, cpu->r[7]);
L_028C2930: ; // 0x28c2930
/* 028C2930 */ _t84 = cpu->r[1] + 0x0000000Cu;
/* 028C2930 */ cpu->r[29] = rbrew_read32(cpu->mem, _t84);
/* 028C2934 */ _t85 = cpu->r[1] + 0x0000001Cu;
/* 028C2934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
/* 028C2938 */ cpu->r[3] = cpu->r[31];
/* 028C293C */ _t86 = cpu->r[1] + 0x00000010u;
/* 028C293C */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
/* 028C2940 */ cpu->lr = cpu->r[0];
/* 028C2944 */ _t87 = cpu->r[1] + 0x00000014u;
/* 028C2944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
/* 028C2948 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C294C */ return;
}
// fn_028C2950 @ 0x28c2950
void Gambit_fn_028C2950(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_028C2950: ; // 0x28c2950
/* 028C2950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2954 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2954 */ _t17 = _t16 & 0x00000001u;
/* 028C2954 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C2954 */ goto L_028C2958;
L_028C2958: ; // 0x28c2958
/* 028C2958 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C2958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C295C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C295C */ _t19 = _t18 & 0x00000001u;
/* 028C295C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C295C */ goto L_028C2960;
L_028C2960: ; // 0x28c2960
/* 028C2960 */ goto L_02801BB0;
}
// fn_028C2964 @ 0x28c2964
void Gambit_fn_028C2964(CPUState* cpu) {
L_028C2964: ; // 0x28c2964
/* 028C2964 */ return;
}
// fn_028C2968 @ 0x28c2968
void Gambit_fn_028C2968(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C2968: ; // 0x28c2968
/* 028C2968 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028C2968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028C296C */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C296C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C2970 */ return;
}
// fn_028C2974 @ 0x28c2974
void Gambit_fn_028C2974(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C2974: ; // 0x28c2974
/* 028C2974 */ cpu->r[0] = cpu->lr;
/* 028C2978 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2978 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2978 */ cpu->r[1] = _t0;
/* 028C297C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C297C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2980 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C2980 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C2984 */ cpu->r[30] = cpu->r[3];
/* 028C2984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C2988 */ cpu->r[31] = cpu->r[4];
/* 028C298C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C298C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C2990 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2990 */ _t5 = _t4 & 0x00000001u;
/* 028C2990 */ if (_t5) goto L_028C29C4; else goto L_028C2994;
L_028C2994: ; // 0x28c2994
/* 028C2994 */ cpu->r[11] = 0x10140000u;
/* 028C2998 */ cpu->r[0] = 0x10140000u;
/* 028C299C */ cpu->r[11] = cpu->r[11] + 0xFFFF91CCu;
/* 028C29A0 */ cpu->r[0] = cpu->r[0] + 0xFFFF91E4u;
/* 028C29A4 */ _t6 = cpu->r[30] + 0x00000008u;
/* 028C29A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
/* 028C29A8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028C29AC */ _t7 = cpu->r[30] + 0x0000000Cu;
/* 028C29AC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C29B0 */ Gambit_fn_0280236C(cpu);
/* 028C29B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C29B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C29B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C29B8 */ _t9 = _t8 & 0x00000001u;
/* 028C29B8 */ if (_t9) goto L_028C29C4; else goto L_028C29BC;
L_028C29BC: ; // 0x28c29bc
/* 028C29BC */ cpu->r[3] = cpu->r[30];
/* 028C29C0 */ Gambit_fn_02801BB0(cpu);
L_028C29C4: ; // 0x28c29c4
/* 028C29C4 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028C29C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C29C8 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C29C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028C29CC */ cpu->lr = cpu->r[0];
/* 028C29D0 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C29D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C29D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C29D8 */ return;
}
// fn_028C2978 @ 0x28c2978
void Gambit_fn_028C2978(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C2978: ; // 0x28c2978
/* 028C2978 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2978 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2978 */ cpu->r[1] = _t0;
/* 028C297C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C297C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2980 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C2980 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C2984 */ cpu->r[30] = cpu->r[3];
/* 028C2984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C2988 */ cpu->r[31] = cpu->r[4];
/* 028C298C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C298C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C2990 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2990 */ _t5 = _t4 & 0x00000001u;
/* 028C2990 */ if (_t5) goto L_028C29C4; else goto L_028C2994;
L_028C2994: ; // 0x28c2994
/* 028C2994 */ cpu->r[11] = 0x10140000u;
/* 028C2998 */ cpu->r[0] = 0x10140000u;
/* 028C299C */ cpu->r[11] = cpu->r[11] + 0xFFFF91CCu;
/* 028C29A0 */ cpu->r[0] = cpu->r[0] + 0xFFFF91E4u;
/* 028C29A4 */ _t6 = cpu->r[30] + 0x00000008u;
/* 028C29A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
/* 028C29A8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028C29AC */ _t7 = cpu->r[30] + 0x0000000Cu;
/* 028C29AC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C29B0 */ Gambit_fn_0280236C(cpu);
/* 028C29B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C29B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C29B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C29B8 */ _t9 = _t8 & 0x00000001u;
/* 028C29B8 */ if (_t9) goto L_028C29C4; else goto L_028C29BC;
L_028C29BC: ; // 0x28c29bc
/* 028C29BC */ cpu->r[3] = cpu->r[30];
/* 028C29C0 */ Gambit_fn_02801BB0(cpu);
L_028C29C4: ; // 0x28c29c4
/* 028C29C4 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028C29C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C29C8 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C29C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028C29CC */ cpu->lr = cpu->r[0];
/* 028C29D0 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C29D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C29D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C29D8 */ return;
}
// fn_028C29DC @ 0x28c29dc
void Gambit_fn_028C29DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C29DC: ; // 0x28c29dc
/* 028C29DC */ cpu->r[3] = 0x101D0000u;
/* 028C29E0 */ _t0 = cpu->r[3] + 0xFFFF9A84u;
/* 028C29E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028C29E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C29E8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C29E8 */ _t2 = _t1 & 0x00000001u;
/* 028C29E8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C29E8 */ goto L_028C29EC;
L_028C29EC: ; // 0x28c29ec
/* 028C29EC */ _t3 = cpu->r[3] + 0x00000020u;
/* 028C29EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C29F0 */ return;
}
// fn_028C29F4 @ 0x28c29f4
void Gambit_fn_028C29F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C29F4: ; // 0x28c29f4
/* 028C29F4 */ cpu->r[3] = 0x101D0000u;
/* 028C29F8 */ _t0 = cpu->r[3] + 0xFFFF9A84u;
/* 028C29F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028C29FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2A00 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2A00 */ _t2 = _t1 & 0x00000001u;
/* 028C2A00 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C2A00 */ goto L_028C2A04;
L_028C2A04: ; // 0x28c2a04
/* 028C2A04 */ _t3 = cpu->r[3] + 0x00000024u;
/* 028C2A04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C2A08 */ return;
}
// fn_028C2A0C @ 0x28c2a0c
void Gambit_fn_028C2A0C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C2A0C: ; // 0x28c2a0c
/* 028C2A0C */ cpu->r[3] = 0x101D0000u;
/* 028C2A10 */ _t0 = cpu->r[3] + 0xFFFF9A84u;
/* 028C2A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028C2A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2A18 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2A18 */ _t2 = _t1 & 0x00000001u;
/* 028C2A18 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C2A18 */ goto L_028C2A1C;
L_028C2A1C: ; // 0x28c2a1c
/* 028C2A1C */ _t3 = cpu->r[3] + 0x0000001Cu;
/* 028C2A1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C2A20 */ return;
}
// fn_028C2A24 @ 0x28c2a24
void Gambit_fn_028C2A24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C2A24: ; // 0x28c2a24
/* 028C2A24 */ cpu->r[3] = 0x101D0000u;
/* 028C2A28 */ _t0 = cpu->r[3] + 0xFFFF9A84u;
/* 028C2A28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028C2A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2A30 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2A30 */ _t2 = _t1 & 0x00000001u;
/* 028C2A30 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C2A30 */ goto L_028C2A34;
L_028C2A34: ; // 0x28c2a34
/* 028C2A34 */ _t3 = cpu->r[3] + 0x0000002Cu;
/* 028C2A34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C2A38 */ return;
}
// fn_028C2A3C @ 0x28c2a3c
void Gambit_fn_028C2A3C(CPUState* cpu) {
L_028C2A3C: ; // 0x28c2a3c
/* 028C2A3C */ cpu->r[3] = 0x00000000u;
/* 028C2A40 */ return;
}
// fn_028C2A44 @ 0x28c2a44
void Gambit_fn_028C2A44(CPUState* cpu) {
L_028C2A44: ; // 0x28c2a44
/* 028C2A44 */ cpu->r[3] = 0x00000000u;
/* 028C2A48 */ return;
}
// fn_028C2A4C @ 0x28c2a4c
void Gambit_fn_028C2A4C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C2A4C: ; // 0x28c2a4c
/* 028C2A4C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C2A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2A4C */ cpu->r[1] = _t0;
/* 028C2A50 */ /* nop */
/* 028C2A54 */ cpu->r[0] = cpu->lr;
/* 028C2A58 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028C2A58 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C2A5C */ Gambit_fn_028C2A0C(cpu);
/* 028C2A60 */ cpu->r[27] = cpu->r[3] + 0x00000084u;
/* 028C2A64 */ cpu->r[3] = cpu->r[27];
/* 028C2A68 */ Gambit_fn_02836FFC(cpu);
/* 028C2A6C */ cpu->r[31] = 0x00000000u;
/* 028C2A70 */ Gambit_fn_028C2A0C(cpu);
/* 028C2A74 */ _t2 = cpu->r[3] + 0x0000003Cu;
/* 028C2A74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t2);
/* 028C2A78 */ cpu->r[0] = cpu->r[3] + 0x00000030u;
/* 028C2A7C */ _t3 = cpu->r[3] + 0x00000034u;
/* 028C2A7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
/* 028C2A80 */ cpu->r[28] = cpu->r[0] - cpu->r[30];
/* 028C2A84 */ cpu->r[29] = cpu->r[10] - cpu->r[30];
/* 028C2A88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
/* 028C2A8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2A8C */ _t5 = _t4 & 0x00000001u;
/* 028C2A8C */ if (_t5) goto L_028C2AC8; else goto L_028C2A90;
L_028C2A90: ; // 0x28c2a90
/* 028C2A90 */ _t6 = cpu->r[29] + 0x00000004u;
/* 028C2A90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028C2A94 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFDu;
/* 028C2A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
/* 028C2A9C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C2A9C */ _t8 = _t7 & 0x00000001u;
/* 028C2A9C */ if (_t8) goto L_028C2AA0; else goto L_028C2AB4;
L_028C2AA0: ; // 0x28c2aa0
/* 028C2AA0 */ cpu->r[3] = cpu->r[29];
/* 028C2AA4 */ Gambit_fn_028BEE50(cpu);
/* 028C2AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2AAC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2AAC */ _t10 = _t9 & 0x00000001u;
/* 028C2AAC */ if (_t10) goto L_028C2AB0; else goto L_028C2AB4;
L_028C2AB0: ; // 0x28c2ab0
/* 028C2AB0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
L_028C2AB4: ; // 0x28c2ab4
/* 028C2AB4 */ cpu->r[12] = cpu->r[29] + cpu->r[30];
/* 028C2AB8 */ _t11 = cpu->r[12] + 0x00000004u;
/* 028C2AB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028C2ABC */ cpu->r[29] = cpu->r[9] - cpu->r[30];
/* 028C2AC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
/* 028C2AC4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2AC4 */ _t13 = _t12 & 0x00000001u;
/* 028C2AC4 */ if (_t13) goto L_028C2AC8; else goto L_028C2A90;
L_028C2AC8: ; // 0x28c2ac8
/* 028C2AC8 */ cpu->r[3] = cpu->r[27];
/* 028C2ACC */ Gambit_fn_02837030(cpu);
/* 028C2AD0 */ cpu->r[3] = cpu->r[31];
/* 028C2AD4 */ /* nop */
/* 028C2AD8 */ _t14 = cpu->r[1] + 0x00000024u;
/* 028C2AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C2ADC */ cpu->lr = cpu->r[0];
/* 028C2AE0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C2AE4 */ return;
}
// fn_028C2AE8 @ 0x28c2ae8
void Gambit_fn_028C2AE8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C2AE8: ; // 0x28c2ae8
/* 028C2AE8 */ cpu->r[0] = cpu->lr;
/* 028C2AEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2AEC */ cpu->r[1] = _t0;
/* 028C2AF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2AF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2AF4 */ cpu->r[31] = cpu->r[3];
/* 028C2AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2AF8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C2AFC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2AFC */ _t4 = _t3 & 0x00000001u;
/* 028C2AFC */ if (_t4) goto L_028C2B00; else goto L_028C2B10;
L_028C2B00: ; // 0x28c2b00
/* 028C2B00 */ cpu->r[3] = 0x00000018u;
/* 028C2B04 */ Gambit_fn_02801A78(cpu);
/* 028C2B08 */ cpu->r[31] = cpu->r[3];
/* 028C2B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2B0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2B0C */ _t6 = _t5 & 0x00000001u;
/* 028C2B0C */ if (_t6) goto L_028C2B64; else goto L_028C2B10;
L_028C2B10: ; // 0x28c2b10
/* 028C2B10 */ cpu->r[3] = cpu->r[31];
/* 028C2B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2B14 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2B14 */ _t8 = _t7 & 0x00000001u;
/* 028C2B14 */ if (_t8) goto L_028C2B18; else goto L_028C2B28;
L_028C2B18: ; // 0x28c2b18
/* 028C2B18 */ cpu->r[3] = 0x00000008u;
/* 028C2B1C */ Gambit_fn_02801A78(cpu);
/* 028C2B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2B24 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2B24 */ _t10 = _t9 & 0x00000001u;
/* 028C2B24 */ if (_t10) goto L_028C2B40; else goto L_028C2B28;
L_028C2B28: ; // 0x28c2b28
/* 028C2B28 */ cpu->r[12] = 0x10140000u;
/* 028C2B2C */ cpu->r[0] = 0x10140000u;
/* 028C2B30 */ cpu->r[12] = cpu->r[12] + 0xFFFF91FCu;
/* 028C2B34 */ cpu->r[0] = cpu->r[0] + 0xFFFF924Cu;
/* 028C2B38 */ _t11 = cpu->r[3] + 0x00000004u;
/* 028C2B38 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028C2B3C */ _t12 = cpu->r[3] + 0x00000000u;
/* 028C2B3C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028C2B40: ; // 0x28c2b40
/* 028C2B40 */ cpu->r[10] = 0x10140000u;
/* 028C2B44 */ cpu->r[11] = 0x10140000u;
/* 028C2B48 */ cpu->r[10] = cpu->r[10] + 0xFFFF9254u;
/* 028C2B4C */ cpu->r[11] = cpu->r[11] + 0xFFFF926Cu;
/* 028C2B50 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028C2B50 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
/* 028C2B54 */ cpu->r[12] = 0x00000000u;
/* 028C2B58 */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028C2B58 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028C2B5C */ _t15 = cpu->r[31] + 0x00000014u;
/* 028C2B5C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028C2B60 */ _t16 = cpu->r[31] + 0x00000010u;
/* 028C2B60 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
L_028C2B64: ; // 0x28c2b64
/* 028C2B64 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C2B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C2B68 */ cpu->r[3] = cpu->r[31];
/* 028C2B6C */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C2B6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C2B70 */ cpu->lr = cpu->r[0];
/* 028C2B74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C2B78 */ return;
}
// fn_028C2AEC @ 0x28c2aec
void Gambit_fn_028C2AEC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C2AEC: ; // 0x28c2aec
/* 028C2AEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2AEC */ cpu->r[1] = _t0;
/* 028C2AF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2AF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2AF4 */ cpu->r[31] = cpu->r[3];
/* 028C2AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2AF8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C2AFC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2AFC */ _t4 = _t3 & 0x00000001u;
/* 028C2AFC */ if (_t4) goto L_028C2B00; else goto L_028C2B10;
L_028C2B00: ; // 0x28c2b00
/* 028C2B00 */ cpu->r[3] = 0x00000018u;
/* 028C2B04 */ Gambit_fn_02801A78(cpu);
/* 028C2B08 */ cpu->r[31] = cpu->r[3];
/* 028C2B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2B0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2B0C */ _t6 = _t5 & 0x00000001u;
/* 028C2B0C */ if (_t6) goto L_028C2B64; else goto L_028C2B10;
L_028C2B10: ; // 0x28c2b10
/* 028C2B10 */ cpu->r[3] = cpu->r[31];
/* 028C2B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2B14 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2B14 */ _t8 = _t7 & 0x00000001u;
/* 028C2B14 */ if (_t8) goto L_028C2B18; else goto L_028C2B28;
L_028C2B18: ; // 0x28c2b18
/* 028C2B18 */ cpu->r[3] = 0x00000008u;
/* 028C2B1C */ Gambit_fn_02801A78(cpu);
/* 028C2B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2B24 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2B24 */ _t10 = _t9 & 0x00000001u;
/* 028C2B24 */ if (_t10) goto L_028C2B40; else goto L_028C2B28;
L_028C2B28: ; // 0x28c2b28
/* 028C2B28 */ cpu->r[12] = 0x10140000u;
/* 028C2B2C */ cpu->r[0] = 0x10140000u;
/* 028C2B30 */ cpu->r[12] = cpu->r[12] + 0xFFFF91FCu;
/* 028C2B34 */ cpu->r[0] = cpu->r[0] + 0xFFFF924Cu;
/* 028C2B38 */ _t11 = cpu->r[3] + 0x00000004u;
/* 028C2B38 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028C2B3C */ _t12 = cpu->r[3] + 0x00000000u;
/* 028C2B3C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028C2B40: ; // 0x28c2b40
/* 028C2B40 */ cpu->r[10] = 0x10140000u;
/* 028C2B44 */ cpu->r[11] = 0x10140000u;
/* 028C2B48 */ cpu->r[10] = cpu->r[10] + 0xFFFF9254u;
/* 028C2B4C */ cpu->r[11] = cpu->r[11] + 0xFFFF926Cu;
/* 028C2B50 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028C2B50 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
/* 028C2B54 */ cpu->r[12] = 0x00000000u;
/* 028C2B58 */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028C2B58 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028C2B5C */ _t15 = cpu->r[31] + 0x00000014u;
/* 028C2B5C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028C2B60 */ _t16 = cpu->r[31] + 0x00000010u;
/* 028C2B60 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
L_028C2B64: ; // 0x28c2b64
/* 028C2B64 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C2B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C2B68 */ cpu->r[3] = cpu->r[31];
/* 028C2B6C */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C2B6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C2B70 */ cpu->lr = cpu->r[0];
/* 028C2B74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C2B78 */ return;
}
// fn_028C2B7C @ 0x28c2b7c
void Gambit_fn_028C2B7C(CPUState* cpu) {
uint32_t _t0, _t1, _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_028C2B7C: ; // 0x28c2b7c
/* 028C2B7C */ _t0 = cpu->r[3] + 0x00000014u;
/* 028C2B7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028C2B80 */ goto L_028C4550;
L_028C4550: ; // 0x28c4550
/* 028C4550 */ cpu->r[0] = cpu->lr;
/* 028C4554 */ _t1 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C4554 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C4554 */ cpu->r[1] = _t1;
/* 028C4558 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C4558 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028C455C */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C455C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C4560 */ /* nop */
/* 028C4564 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C4564 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C4568 */ _t5 = cpu->r[1] + 0x00000020u;
/* 028C4568 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
/* 028C456C */ cpu->r[31] = cpu->r[3];
/* 028C4570 */ _t6 = cpu->r[1] + 0x00000010u;
/* 028C4570 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
/* 028C4574 */ _t7 = cpu->r[1] + 0x0000002Cu;
/* 028C4574 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C4578 */ cpu->r[29] = cpu->r[31] + 0x00000068u;
/* 028C457C */ cpu->r[3] = cpu->r[29];
/* 028C4580 */ cpu->f[31] = cpu->f[1];
/* 028C4584 */ Gambit_fn_02837404(cpu);
/* 028C4588 */ cpu->r[30] = 0x00000000u;
/* 028C458C */ _t8 = cpu->r[31] + 0x00000064u;
/* 028C458C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028C4590 */ cpu->r[3] = cpu->r[29];
/* 028C4594 */ _t9 = cpu->r[31] + 0x00000060u;
/* 028C4594 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
/* 028C4598 */ Gambit_fn_0283740C(cpu);
/* 028C459C */ _t10 = cpu->r[31] + 0x0000005Cu;
/* 028C459C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C45A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C45A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C45A4 */ _t12 = _t11 & 0x00000001u;
/* 028C45A4 */ if (_t12) goto L_028C45B8; else goto L_028C45A8;
L_028C45A8: ; // 0x28c45a8
/* 028C45A8 */ _t13 = cpu->r[3] + 0x00000000u;
/* 028C45A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C45AC */ _t14 = cpu->r[12] + 0x00000044u;
/* 028C45AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C45B0 */ cpu->ctr = cpu->r[0];
/* 028C45B4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C45B8: ; // 0x28c45b8
/* 028C45B8 */ cpu->r[3] = cpu->r[31];
/* 028C45BC */ Gambit_fn_028C4454(cpu);
/* 028C45C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C45C4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C45C4 */ _t16 = _t15 & 0x00000001u;
/* 028C45C4 */ if (_t16) goto L_028C45D4; else goto L_028C45C8;
L_028C45C8: ; // 0x28c45c8
/* 028C45C8 */ cpu->f[1] = cpu->f[31];
/* 028C45CC */ cpu->r[3] = cpu->r[31];
/* 028C45D0 */ Gambit_fn_028C44F8(cpu);
L_028C45D4: ; // 0x28c45d4
/* 028C45D4 */ _t17 = cpu->r[31] + 0x0000005Cu;
/* 028C45D4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
/* 028C45D8 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C45D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028C45DC */ _t19 = cpu->r[1] + 0x00000020u;
/* 028C45DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028C45E0 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028C45E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028C45E4 */ _t21 = cpu->r[1] + 0x00000018u;
/* 028C45E4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
/* 028C45E8 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C45E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028C45EC */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C45EC */ _t24 = _t23 & 0x00000001u;
/* 028C45EC */ if (_t24) goto L_028C45F0; // else: addr-0 trap, fall-through
L_028C45F0: ; // 0x28c45f0
/* 028C45F0 */ _t25 = cpu->r[1] + 0x0000002Cu;
/* 028C45F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028C45F4 */ cpu->lr = cpu->r[0];
/* 028C45F8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C45FC */ return;
}
// fn_028C2B84 @ 0x28c2b84
void Gambit_fn_028C2B84(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_028C2B84: ; // 0x28c2b84
/* 028C2B84 */ cpu->r[0] = cpu->lr;
/* 028C2B88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2B88 */ cpu->r[1] = _t0;
/* 028C2B8C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2B90 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C2B90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C2B94 */ cpu->r[30] = cpu->r[3];
/* 028C2B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C2B98 */ cpu->r[31] = cpu->r[4];
/* 028C2B9C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C2B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C2BA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2BA0 */ _t5 = _t4 & 0x00000001u;
/* 028C2BA0 */ if (_t5) goto L_028C2C04; else goto L_028C2BA4;
L_028C2BA4: ; // 0x28c2ba4
/* 028C2BA4 */ cpu->r[10] = 0x10140000u;
/* 028C2BA8 */ cpu->r[12] = 0x10140000u;
/* 028C2BAC */ cpu->r[10] = cpu->r[10] + 0xFFFF9254u;
/* 028C2BB0 */ _t6 = cpu->r[12] + 0xFFFF9250u;
/* 028C2BB0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028C2BB4 */ cpu->r[11] = 0x10140000u;
/* 028C2BB8 */ _t7 = cpu->r[30] + 0x00000008u;
/* 028C2BB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028C2BBC */ cpu->r[11] = cpu->r[11] + 0xFFFF926Cu;
/* 028C2BC0 */ cpu->r[3] = cpu->r[30];
/* 028C2BC4 */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028C2BC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028C2BC8 */ Gambit_fn_028C2B7C(cpu);
/* 028C2BCC */ _t9 = cpu->r[30] + 0x00000014u;
/* 028C2BCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C2BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2BD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2BD4 */ _t11 = _t10 & 0x00000001u;
/* 028C2BD4 */ if (_t11) goto L_028C2BF4; else goto L_028C2BD8;
L_028C2BD8: ; // 0x28c2bd8
/* 028C2BD8 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028C2BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C2BDC */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028C2BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C2BE0 */ cpu->ctr = cpu->r[0];
/* 028C2BE4 */ cpu->r[4] = 0x00000003u;
/* 028C2BE8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2BEC */ cpu->r[10] = 0x00000000u;
/* 028C2BF0 */ _t14 = cpu->r[30] + 0x00000014u;
/* 028C2BF0 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
L_028C2BF4: ; // 0x28c2bf4
/* 028C2BF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C2BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2BF8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2BF8 */ _t16 = _t15 & 0x00000001u;
/* 028C2BF8 */ if (_t16) goto L_028C2C04; else goto L_028C2BFC;
L_028C2BFC: ; // 0x28c2bfc
/* 028C2BFC */ cpu->r[3] = cpu->r[30];
/* 028C2C00 */ Gambit_fn_02801BB0(cpu);
L_028C2C04: ; // 0x28c2c04
/* 028C2C04 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C2C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C2C08 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C2C08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C2C0C */ cpu->lr = cpu->r[0];
/* 028C2C10 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C2C10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C2C14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C2C18 */ return;
}
// fn_028C2B88 @ 0x28c2b88
void Gambit_fn_028C2B88(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_028C2B88: ; // 0x28c2b88
/* 028C2B88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2B88 */ cpu->r[1] = _t0;
/* 028C2B8C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2B90 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C2B90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C2B94 */ cpu->r[30] = cpu->r[3];
/* 028C2B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C2B98 */ cpu->r[31] = cpu->r[4];
/* 028C2B9C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C2B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C2BA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2BA0 */ _t5 = _t4 & 0x00000001u;
/* 028C2BA0 */ if (_t5) goto L_028C2C04; else goto L_028C2BA4;
L_028C2BA4: ; // 0x28c2ba4
/* 028C2BA4 */ cpu->r[10] = 0x10140000u;
/* 028C2BA8 */ cpu->r[12] = 0x10140000u;
/* 028C2BAC */ cpu->r[10] = cpu->r[10] + 0xFFFF9254u;
/* 028C2BB0 */ _t6 = cpu->r[12] + 0xFFFF9250u;
/* 028C2BB0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
/* 028C2BB4 */ cpu->r[11] = 0x10140000u;
/* 028C2BB8 */ _t7 = cpu->r[30] + 0x00000008u;
/* 028C2BB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028C2BBC */ cpu->r[11] = cpu->r[11] + 0xFFFF926Cu;
/* 028C2BC0 */ cpu->r[3] = cpu->r[30];
/* 028C2BC4 */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028C2BC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028C2BC8 */ Gambit_fn_028C2B7C(cpu);
/* 028C2BCC */ _t9 = cpu->r[30] + 0x00000014u;
/* 028C2BCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C2BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2BD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2BD4 */ _t11 = _t10 & 0x00000001u;
/* 028C2BD4 */ if (_t11) goto L_028C2BF4; else goto L_028C2BD8;
L_028C2BD8: ; // 0x28c2bd8
/* 028C2BD8 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028C2BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C2BDC */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028C2BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C2BE0 */ cpu->ctr = cpu->r[0];
/* 028C2BE4 */ cpu->r[4] = 0x00000003u;
/* 028C2BE8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2BEC */ cpu->r[10] = 0x00000000u;
/* 028C2BF0 */ _t14 = cpu->r[30] + 0x00000014u;
/* 028C2BF0 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
L_028C2BF4: ; // 0x28c2bf4
/* 028C2BF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C2BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2BF8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2BF8 */ _t16 = _t15 & 0x00000001u;
/* 028C2BF8 */ if (_t16) goto L_028C2C04; else goto L_028C2BFC;
L_028C2BFC: ; // 0x28c2bfc
/* 028C2BFC */ cpu->r[3] = cpu->r[30];
/* 028C2C00 */ Gambit_fn_02801BB0(cpu);
L_028C2C04: ; // 0x28c2c04
/* 028C2C04 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C2C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C2C08 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C2C08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C2C0C */ cpu->lr = cpu->r[0];
/* 028C2C10 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C2C10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C2C14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C2C18 */ return;
}
// fn_028C2C1C @ 0x28c2c1c
void Gambit_fn_028C2C1C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028C2C1C: ; // 0x28c2c1c
/* 028C2C1C */ cpu->r[0] = cpu->lr;
/* 028C2C20 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C2C20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2C20 */ cpu->r[1] = _t0;
/* 028C2C24 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028C2C24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2C28 */ cpu->r[31] = cpu->r[5];
/* 028C2C2C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C2C2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C2C30 */ cpu->r[30] = cpu->r[4];
/* 028C2C34 */ cpu->r[4] = cpu->r[31];
/* 028C2C38 */ cpu->r[5] = 0x00000004u;
/* 028C2C3C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C2C3C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C2C40 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028C2C40 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C2C44 */ cpu->r[29] = cpu->r[3];
/* 028C2C48 */ cpu->r[3] = 0x000000A8u;
/* 028C2C4C */ Gambit_fn_02801AC8(cpu);
/* 028C2C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2C54 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2C54 */ _t6 = _t5 & 0x00000001u;
/* 028C2C54 */ if (_t6) goto L_028C2CB0; else goto L_028C2C58;
L_028C2C58: ; // 0x28c2c58
/* 028C2C58 */ _t7 = cpu->r[30] + 0x00000004u;
/* 028C2C58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C2C5C */ _t8 = cpu->r[30] + 0x00000008u;
/* 028C2C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C2C60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C2C64 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028C2C64 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
/* 028C2C68 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
/* 028C2C6C */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C2C6C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028C2C70 */ Gambit_fn_028C3F9C(cpu);
/* 028C2C74 */ _t11 = cpu->r[29] + 0x00000014u;
/* 028C2C74 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
/* 028C2C78 */ _t12 = cpu->r[30] + 0x00000000u;
/* 028C2C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C2C7C */ _t13 = cpu->r[29] + 0x00000008u;
/* 028C2C7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028C2C80 */ _t14 = cpu->r[29] + 0x00000010u;
/* 028C2C80 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028C2C84 */ _t15 = cpu->r[10] + 0x00000014u;
/* 028C2C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C2C88 */ cpu->ctr = cpu->r[0];
/* 028C2C8C */ cpu->r[3] = cpu->r[29];
/* 028C2C90 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu;
/* 028C2C94 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2C98 */ _t16 = cpu->r[29] + 0x00000014u;
/* 028C2C98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028C2C9C */ cpu->r[6] = cpu->r[31];
/* 028C2CA0 */ cpu->r[5] = cpu->r[29];
/* 028C2CA4 */ cpu->r[4] = cpu->r[30] + 0x00000014u;
/* 028C2CA8 */ Gambit_fn_028C4290(cpu);
/* 028C2CAC */ goto L_028C2CEC;
L_028C2CB0: ; // 0x28c2cb0
/* 028C2CB0 */ cpu->r[3] = 0x00000000u;
/* 028C2CB4 */ _t17 = cpu->r[29] + 0x00000008u;
/* 028C2CB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028C2CB8 */ _t18 = cpu->r[29] + 0x00000014u;
/* 028C2CB8 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
/* 028C2CBC */ _t19 = cpu->r[30] + 0x00000000u;
/* 028C2CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C2CC0 */ _t20 = cpu->r[29] + 0x00000010u;
/* 028C2CC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028C2CC4 */ _t21 = cpu->r[10] + 0x00000014u;
/* 028C2CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C2CC8 */ cpu->ctr = cpu->r[0];
/* 028C2CCC */ cpu->r[3] = cpu->r[29];
/* 028C2CD0 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu;
/* 028C2CD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2CD8 */ _t22 = cpu->r[29] + 0x00000014u;
/* 028C2CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C2CDC */ cpu->r[4] = cpu->r[30] + 0x00000014u;
/* 028C2CE0 */ cpu->r[5] = cpu->r[29];
/* 028C2CE4 */ cpu->r[6] = cpu->r[31];
/* 028C2CE8 */ Gambit_fn_028C4290(cpu);
L_028C2CEC: ; // 0x28c2cec
/* 028C2CEC */ _t23 = cpu->r[1] + 0x00000014u;
/* 028C2CEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028C2CF0 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028C2CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C2CF4 */ _t25 = cpu->r[1] + 0x00000018u;
/* 028C2CF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028C2CF8 */ cpu->lr = cpu->r[0];
/* 028C2CFC */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028C2CFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028C2D00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C2D04 */ return;
}
// fn_028C2C20 @ 0x28c2c20
void Gambit_fn_028C2C20(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028C2C20: ; // 0x28c2c20
/* 028C2C20 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C2C20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2C20 */ cpu->r[1] = _t0;
/* 028C2C24 */ _t1 = cpu->r[1] + 0x0000001Cu;
/* 028C2C24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2C28 */ cpu->r[31] = cpu->r[5];
/* 028C2C2C */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C2C2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C2C30 */ cpu->r[30] = cpu->r[4];
/* 028C2C34 */ cpu->r[4] = cpu->r[31];
/* 028C2C38 */ cpu->r[5] = 0x00000004u;
/* 028C2C3C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C2C3C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C2C40 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028C2C40 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C2C44 */ cpu->r[29] = cpu->r[3];
/* 028C2C48 */ cpu->r[3] = 0x000000A8u;
/* 028C2C4C */ Gambit_fn_02801AC8(cpu);
/* 028C2C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2C54 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2C54 */ _t6 = _t5 & 0x00000001u;
/* 028C2C54 */ if (_t6) goto L_028C2CB0; else goto L_028C2C58;
L_028C2C58: ; // 0x28c2c58
/* 028C2C58 */ _t7 = cpu->r[30] + 0x00000004u;
/* 028C2C58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C2C5C */ _t8 = cpu->r[30] + 0x00000008u;
/* 028C2C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C2C60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C2C64 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028C2C64 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
/* 028C2C68 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
/* 028C2C6C */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C2C6C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028C2C70 */ Gambit_fn_028C3F9C(cpu);
/* 028C2C74 */ _t11 = cpu->r[29] + 0x00000014u;
/* 028C2C74 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
/* 028C2C78 */ _t12 = cpu->r[30] + 0x00000000u;
/* 028C2C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C2C7C */ _t13 = cpu->r[29] + 0x00000008u;
/* 028C2C7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028C2C80 */ _t14 = cpu->r[29] + 0x00000010u;
/* 028C2C80 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028C2C84 */ _t15 = cpu->r[10] + 0x00000014u;
/* 028C2C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C2C88 */ cpu->ctr = cpu->r[0];
/* 028C2C8C */ cpu->r[3] = cpu->r[29];
/* 028C2C90 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu;
/* 028C2C94 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2C98 */ _t16 = cpu->r[29] + 0x00000014u;
/* 028C2C98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028C2C9C */ cpu->r[6] = cpu->r[31];
/* 028C2CA0 */ cpu->r[5] = cpu->r[29];
/* 028C2CA4 */ cpu->r[4] = cpu->r[30] + 0x00000014u;
/* 028C2CA8 */ Gambit_fn_028C4290(cpu);
/* 028C2CAC */ goto L_028C2CEC;
L_028C2CB0: ; // 0x28c2cb0
/* 028C2CB0 */ cpu->r[3] = 0x00000000u;
/* 028C2CB4 */ _t17 = cpu->r[29] + 0x00000008u;
/* 028C2CB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028C2CB8 */ _t18 = cpu->r[29] + 0x00000014u;
/* 028C2CB8 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
/* 028C2CBC */ _t19 = cpu->r[30] + 0x00000000u;
/* 028C2CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C2CC0 */ _t20 = cpu->r[29] + 0x00000010u;
/* 028C2CC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028C2CC4 */ _t21 = cpu->r[10] + 0x00000014u;
/* 028C2CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C2CC8 */ cpu->ctr = cpu->r[0];
/* 028C2CCC */ cpu->r[3] = cpu->r[29];
/* 028C2CD0 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu;
/* 028C2CD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C2CD8 */ _t22 = cpu->r[29] + 0x00000014u;
/* 028C2CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C2CDC */ cpu->r[4] = cpu->r[30] + 0x00000014u;
/* 028C2CE0 */ cpu->r[5] = cpu->r[29];
/* 028C2CE4 */ cpu->r[6] = cpu->r[31];
/* 028C2CE8 */ Gambit_fn_028C4290(cpu);
L_028C2CEC: ; // 0x28c2cec
/* 028C2CEC */ _t23 = cpu->r[1] + 0x00000014u;
/* 028C2CEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028C2CF0 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028C2CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C2CF4 */ _t25 = cpu->r[1] + 0x00000018u;
/* 028C2CF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028C2CF8 */ cpu->lr = cpu->r[0];
/* 028C2CFC */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028C2CFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028C2D00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C2D04 */ return;
}
// fn_028C2D08 @ 0x28c2d08
void Gambit_fn_028C2D08(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028C2D08: ; // 0x28c2d08
/* 028C2D08 */ _t0 = cpu->r[3] + 0x00000014u;
/* 028C2D08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028C2D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2D10 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D10 */ _t2 = _t1 & 0x00000001u;
/* 028C2D10 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C2D10 */ goto L_028C2D14;
L_028C2D14: ; // 0x28c2d14
/* 028C2D14 */ goto L_028C4600;
L_028C4600: ; // 0x28c4600
/* 028C4600 */ cpu->r[0] = cpu->lr;
/* 028C4604 */ _t3 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C4604 */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
/* 028C4604 */ cpu->r[1] = _t3;
/* 028C4608 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028C4608 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C460C */ cpu->r[30] = cpu->r[3];
/* 028C4610 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C4610 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
/* 028C4614 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C4614 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
/* 028C4618 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028C4618 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
/* 028C461C */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028C461C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C4620 */ _t9 = cpu->r[30] + 0x000000A4u;
/* 028C4620 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
/* 028C4624 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C4628 */ cpu->r[31] = cpu->r[30] + 0x00000068u;
/* 028C462C */ _t10 = cpu->r[28] + 0x00000000u;
/* 028C462C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
/* 028C4630 */ cpu->r[3] = cpu->r[31];
/* 028C4634 */ _t11 = cpu->r[28] + 0x00000004u;
/* 028C4634 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
/* 028C4638 */ Gambit_fn_02837404(cpu);
/* 028C463C */ _t12 = cpu->r[30] + 0x0000005Cu;
/* 028C463C */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
/* 028C4640 */ cpu->r[3] = cpu->r[31];
/* 028C4644 */ Gambit_fn_0283740C(cpu);
/* 028C4648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C464C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C464C */ _t14 = _t13 & 0x00000001u;
/* 028C464C */ if (_t14) goto L_028C4680; else goto L_028C4650;
L_028C4650: ; // 0x28c4650
/* 028C4650 */ _t15 = cpu->r[29] + 0x00000004u;
/* 028C4650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C4654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028C4658 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4658 */ _t17 = _t16 & 0x00000001u;
/* 028C4658 */ if (_t17) goto L_028C465C; else goto L_028C466C;
L_028C465C: ; // 0x28c465c
/* 028C465C */ cpu->r[12] = 0x10140000u;
/* 028C4660 */ _t18 = cpu->r[12] + 0xFFFF94F4u;
/* 028C4660 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
/* 028C4664 */ cpu->r[3] = cpu->r[30];
/* 028C4668 */ Gambit_fn_028C4550(cpu);
L_028C466C: ; // 0x28c466c
/* 028C466C */ _t19 = cpu->r[29] + 0x00000000u;
/* 028C466C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
/* 028C4670 */ _t20 = cpu->r[10] + 0x0000002Cu;
/* 028C4670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C4674 */ cpu->ctr = cpu->r[0];
/* 028C4678 */ cpu->r[3] = cpu->r[29];
/* 028C467C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C4680: ; // 0x28c4680
/* 028C4680 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C4684 */ _t21 = cpu->r[28] + 0x00000004u;
/* 028C4684 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028C4688 */ _t22 = cpu->r[28] + 0x00000000u;
/* 028C4688 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
/* 028C468C */ cpu->r[10] = cpu->r[4] - cpu->r[12];
/* 028C4690 */ cpu->r[9] = cpu->r[3] - cpu->r[11];
/* 028C4694 */ _t23 = cpu->r[28] + 0x0000000Cu;
/* 028C4694 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
/* 028C4698 */ _t24 = cpu->r[28] + 0x00000008u;
/* 028C4698 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
/* 028C469C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C469C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028C46A0 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028C46A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028C46A4 */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028C46A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C46A8 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028C46A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028C46AC */ cpu->lr = cpu->r[0];
/* 028C46B0 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028C46B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C46B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C46B8 */ return;
}
// fn_028C2D18 @ 0x28c2d18
void Gambit_fn_028C2D18(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028C2D18: ; // 0x28c2d18
/* 028C2D18 */ _t0 = cpu->r[3] + 0x00000014u;
/* 028C2D18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028C2D1C */ goto L_028C46F8;
L_028C46F8: ; // 0x28c46f8
/* 028C46F8 */ cpu->r[0] = cpu->lr;
/* 028C46FC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C46FC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C46FC */ cpu->r[1] = _t1;
/* 028C4700 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C4700 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C4704 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C4704 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C4708 */ cpu->r[30] = cpu->r[4];
/* 028C4708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C470C */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C470C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C4710 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C4710 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C4714 */ cpu->r[29] = cpu->r[3];
/* 028C4718 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4718 */ _t7 = _t6 & 0x00000001u;
/* 028C4718 */ if (_t7) goto L_028C471C; else goto L_028C4744;
L_028C471C: ; // 0x28c471c
/* 028C471C */ cpu->r[8] = 0x10140000u;
/* 028C4720 */ _t8 = cpu->r[8] + 0xFFFF94F4u;
/* 028C4720 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
/* 028C4724 */ Gambit_fn_028C4550(cpu);
/* 028C4728 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C4728 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
/* 028C472C */ _t10 = cpu->r[1] + 0x0000001Cu;
/* 028C472C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C4730 */ _t11 = cpu->r[1] + 0x00000010u;
/* 028C4730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028C4734 */ cpu->lr = cpu->r[0];
/* 028C4738 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028C4738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C473C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C4740 */ return;
L_028C4744: ; // 0x28c4744
/* 028C4744 */ cpu->r[9] = 0x00000001u;
/* 028C4748 */ _t13 = cpu->r[30] + 0x00000004u;
/* 028C4748 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
/* 028C474C */ _t14 = cpu->r[30] + 0x00000004u;
/* 028C474C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028C4750 */ Gambit_fn_028C4454(cpu);
/* 028C4754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4758 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4758 */ _t16 = _t15 & 0x00000001u;
/* 028C4758 */ if (_t16) goto L_028C4798; else goto L_028C475C;
L_028C475C: ; // 0x28c475c
/* 028C475C */ cpu->r[31] = cpu->r[29] + 0x00000068u;
/* 028C4760 */ cpu->r[3] = cpu->r[31];
/* 028C4764 */ Gambit_fn_02837404(cpu);
/* 028C4768 */ _t17 = cpu->r[29] + 0x00000064u;
/* 028C4768 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
/* 028C476C */ cpu->r[0] = 0x00000001u;
/* 028C4770 */ cpu->r[3] = cpu->r[31];
/* 028C4774 */ _t18 = cpu->r[29] + 0x00000060u;
/* 028C4774 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
/* 028C4778 */ Gambit_fn_0283740C(cpu);
/* 028C477C */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C477C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
/* 028C4780 */ _t20 = cpu->r[1] + 0x0000001Cu;
/* 028C4780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C4784 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028C4784 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028C4788 */ cpu->lr = cpu->r[0];
/* 028C478C */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C478C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028C4790 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C4794 */ return;
L_028C4798: ; // 0x28c4798
/* 028C4798 */ _t23 = cpu->r[29] + 0x0000005Cu;
/* 028C4798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028C479C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C47A0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C47A0 */ _t25 = _t24 & 0x00000001u;
/* 028C47A0 */ if (_t25) goto L_028C47B4; else goto L_028C47A4;
L_028C47A4: ; // 0x28c47a4
/* 028C47A4 */ _t26 = cpu->r[3] + 0x00000000u;
/* 028C47A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028C47A8 */ _t27 = cpu->r[12] + 0x00000044u;
/* 028C47A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C47AC */ cpu->ctr = cpu->r[0];
/* 028C47B0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C47B4: ; // 0x28c47b4
/* 028C47B4 */ cpu->r[3] = cpu->r[29];
/* 028C47B8 */ _t28 = cpu->r[29] + 0x0000005Cu;
/* 028C47B8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
/* 028C47BC */ Gambit_fn_028C46BC(cpu);
/* 028C47C0 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028C47C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
/* 028C47C4 */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028C47C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028C47C8 */ _t31 = cpu->r[1] + 0x00000010u;
/* 028C47C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
/* 028C47CC */ cpu->lr = cpu->r[0];
/* 028C47D0 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028C47D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028C47D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C47D8 */ return;
}
// fn_028C2D20 @ 0x28c2d20
void Gambit_fn_028C2D20(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C2D20: ; // 0x28c2d20
/* 028C2D20 */ _t0 = cpu->r[3] + 0x00000014u;
/* 028C2D20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C2D24 */ _t1 = cpu->r[12] + 0x0000005Cu;
/* 028C2D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C2D28 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028C2D2C */ cpu->r[3] = cpu->r[12] - cpu->r[0];
/* 028C2D30 */ return;
}
// fn_028C2D34 @ 0x28c2d34
void Gambit_fn_028C2D34(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_028C2D34: ; // 0x28c2d34
/* 028C2D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2D38 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D38 */ _t17 = _t16 & 0x00000001u;
/* 028C2D38 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C2D38 */ goto L_028C2D3C;
L_028C2D3C: ; // 0x28c2d3c
/* 028C2D3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C2D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2D40 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D40 */ _t19 = _t18 & 0x00000001u;
/* 028C2D40 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C2D40 */ goto L_028C2D44;
L_028C2D44: ; // 0x28c2d44
/* 028C2D44 */ goto L_02801BB0;
}
// fn_028C2D48 @ 0x28c2d48
void Gambit_fn_028C2D48(CPUState* cpu) {
L_028C2D48: ; // 0x28c2d48
/* 028C2D48 */ return;
}
// fn_028C2D4C @ 0x28c2d4c
void Gambit_fn_028C2D4C(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C2D4C: ; // 0x28c2d4c
/* 028C2D4C */ _t0 = cpu->r[4] + 0x00000000u;
/* 028C2D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028C2D50 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C2D50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C2D54 */ return;
}
// fn_028C2D58 @ 0x28c2d58
void Gambit_fn_028C2D58(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028C2D58: ; // 0x28c2d58
/* 028C2D58 */ cpu->r[0] = cpu->lr;
/* 028C2D5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C2D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2D5C */ cpu->r[1] = _t0;
/* 028C2D60 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C2D60 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C2D64 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C2D64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C2D68 */ /* nop */
/* 028C2D6C */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C2D6C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C2D70 */ cpu->r[31] = cpu->r[3];
/* 028C2D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2D74 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028C2D74 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C2D78 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C2D78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C2D7C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D7C */ _t7 = _t6 & 0x00000001u;
/* 028C2D7C */ if (_t7) goto L_028C2D80; else goto L_028C2D90;
L_028C2D80: ; // 0x28c2d80
/* 028C2D80 */ cpu->r[3] = 0x0000006Cu;
/* 028C2D84 */ Gambit_fn_02801A78(cpu);
/* 028C2D88 */ cpu->r[31] = cpu->r[3];
/* 028C2D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2D8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D8C */ _t9 = _t8 & 0x00000001u;
/* 028C2D8C */ if (_t9) goto L_028C2E28; else goto L_028C2D90;
L_028C2D90: ; // 0x28c2d90
/* 028C2D90 */ cpu->r[12] = cpu->r[31];
/* 028C2D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C2D94 */ cpu->r[30] = 0x00000000u;
/* 028C2D98 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D98 */ _t11 = _t10 & 0x00000001u;
/* 028C2D98 */ if (_t11) goto L_028C2D9C; else goto L_028C2DAC;
L_028C2D9C: ; // 0x28c2d9c
/* 028C2D9C */ cpu->r[3] = 0x00000008u;
/* 028C2DA0 */ Gambit_fn_02801A78(cpu);
/* 028C2DA4 */ cpu->r[12] = cpu->r[3];
/* 028C2DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C2DA8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2DA8 */ _t13 = _t12 & 0x00000001u;
/* 028C2DA8 */ if (_t13) goto L_028C2DD4; else goto L_028C2DAC;
L_028C2DAC: ; // 0x28c2dac
/* 028C2DAC */ cpu->r[9] = 0x10140000u;
/* 028C2DB0 */ cpu->r[9] = cpu->r[9] + 0xFFFF92C8u;
/* 028C2DB4 */ cpu->r[3] = cpu->r[12] + 0x00000004u;
/* 028C2DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2DB8 */ _t14 = cpu->r[12] + 0x00000000u;
/* 028C2DB8 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
/* 028C2DBC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2DBC */ _t16 = _t15 & 0x00000001u;
/* 028C2DBC */ if (_t16) goto L_028C2DC0; else goto L_028C2DD0;
L_028C2DC0: ; // 0x28c2dc0
/* 028C2DC0 */ cpu->r[3] = 0x00000004u;
/* 028C2DC4 */ Gambit_fn_02801A78(cpu);
/* 028C2DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2DCC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2DCC */ _t18 = _t17 & 0x00000001u;
/* 028C2DCC */ if (_t18) goto L_028C2DD4; else goto L_028C2DD0;
L_028C2DD0: ; // 0x28c2dd0
/* 028C2DD0 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028C2DD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
L_028C2DD4: ; // 0x28c2dd4
/* 028C2DD4 */ cpu->r[12] = 0x10140000u;
/* 028C2DD8 */ _t20 = cpu->r[31] + 0x00000008u;
/* 028C2DD8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
/* 028C2DDC */ cpu->r[0] = 0x10140000u;
/* 028C2DE0 */ _t21 = cpu->r[12] + 0xFFFF9318u;
/* 028C2DE0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
/* 028C2DE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9328u;
/* 028C2DE8 */ _t22 = cpu->r[31] + 0x00000010u;
/* 028C2DE8 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
/* 028C2DEC */ cpu->f[1] = cpu->f[31];
/* 028C2DF0 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028C2DF0 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028C2DF4 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028C2DF8 */ _t24 = cpu->r[31] + 0x00000000u;
/* 028C2DF8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028C2DFC */ _t25 = cpu->r[31] + 0x00000014u;
/* 028C2DFC */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
/* 028C2E00 */ Gambit_fn_028CA0E4(cpu);
/* 028C2E04 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028C2E08 */ Gambit_fn_02837344(cpu);
/* 028C2E0C */ cpu->r[11] = 0x10140000u;
/* 028C2E10 */ cpu->f[1] = cpu->f[31];
/* 028C2E14 */ cpu->r[0] = 0x00000001u;
/* 028C2E18 */ _t26 = cpu->r[11] + 0xFFFF931Cu;
/* 028C2E18 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26);
/* 028C2E1C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028C2E20 */ _t27 = cpu->r[31] + 0x00000068u;
/* 028C2E20 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
/* 028C2E24 */ Gambit_fn_028CA1D8(cpu);
L_028C2E28: ; // 0x28c2e28
/* 028C2E28 */ _t28 = cpu->r[1] + 0x00000018u;
/* 028C2E28 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
/* 028C2E2C */ cpu->r[3] = cpu->r[31];
/* 028C2E30 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028C2E30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028C2E34 */ _t30 = cpu->r[1] + 0x0000000Cu;
/* 028C2E34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028C2E38 */ _t31 = cpu->r[1] + 0x00000010u;
/* 028C2E38 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
/* 028C2E3C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C2E3C */ _t33 = _t32 & 0x00000001u;
/* 028C2E3C */ if (_t33) goto L_028C2E40; // else: addr-0 trap, fall-through
L_028C2E40: ; // 0x28c2e40
/* 028C2E40 */ _t34 = cpu->r[1] + 0x00000024u;
/* 028C2E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028C2E44 */ cpu->lr = cpu->r[0];
/* 028C2E48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C2E4C */ return;
}
// fn_028C2D5C @ 0x28c2d5c
void Gambit_fn_028C2D5C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028C2D5C: ; // 0x28c2d5c
/* 028C2D5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C2D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2D5C */ cpu->r[1] = _t0;
/* 028C2D60 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C2D60 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C2D64 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C2D64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C2D68 */ /* nop */
/* 028C2D6C */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C2D6C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C2D70 */ cpu->r[31] = cpu->r[3];
/* 028C2D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2D74 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028C2D74 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C2D78 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C2D78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C2D7C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D7C */ _t7 = _t6 & 0x00000001u;
/* 028C2D7C */ if (_t7) goto L_028C2D80; else goto L_028C2D90;
L_028C2D80: ; // 0x28c2d80
/* 028C2D80 */ cpu->r[3] = 0x0000006Cu;
/* 028C2D84 */ Gambit_fn_02801A78(cpu);
/* 028C2D88 */ cpu->r[31] = cpu->r[3];
/* 028C2D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C2D8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D8C */ _t9 = _t8 & 0x00000001u;
/* 028C2D8C */ if (_t9) goto L_028C2E28; else goto L_028C2D90;
L_028C2D90: ; // 0x28c2d90
/* 028C2D90 */ cpu->r[12] = cpu->r[31];
/* 028C2D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C2D94 */ cpu->r[30] = 0x00000000u;
/* 028C2D98 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2D98 */ _t11 = _t10 & 0x00000001u;
/* 028C2D98 */ if (_t11) goto L_028C2D9C; else goto L_028C2DAC;
L_028C2D9C: ; // 0x28c2d9c
/* 028C2D9C */ cpu->r[3] = 0x00000008u;
/* 028C2DA0 */ Gambit_fn_02801A78(cpu);
/* 028C2DA4 */ cpu->r[12] = cpu->r[3];
/* 028C2DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C2DA8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2DA8 */ _t13 = _t12 & 0x00000001u;
/* 028C2DA8 */ if (_t13) goto L_028C2DD4; else goto L_028C2DAC;
L_028C2DAC: ; // 0x28c2dac
/* 028C2DAC */ cpu->r[9] = 0x10140000u;
/* 028C2DB0 */ cpu->r[9] = cpu->r[9] + 0xFFFF92C8u;
/* 028C2DB4 */ cpu->r[3] = cpu->r[12] + 0x00000004u;
/* 028C2DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2DB8 */ _t14 = cpu->r[12] + 0x00000000u;
/* 028C2DB8 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
/* 028C2DBC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2DBC */ _t16 = _t15 & 0x00000001u;
/* 028C2DBC */ if (_t16) goto L_028C2DC0; else goto L_028C2DD0;
L_028C2DC0: ; // 0x28c2dc0
/* 028C2DC0 */ cpu->r[3] = 0x00000004u;
/* 028C2DC4 */ Gambit_fn_02801A78(cpu);
/* 028C2DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2DCC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2DCC */ _t18 = _t17 & 0x00000001u;
/* 028C2DCC */ if (_t18) goto L_028C2DD4; else goto L_028C2DD0;
L_028C2DD0: ; // 0x28c2dd0
/* 028C2DD0 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028C2DD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
L_028C2DD4: ; // 0x28c2dd4
/* 028C2DD4 */ cpu->r[12] = 0x10140000u;
/* 028C2DD8 */ _t20 = cpu->r[31] + 0x00000008u;
/* 028C2DD8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
/* 028C2DDC */ cpu->r[0] = 0x10140000u;
/* 028C2DE0 */ _t21 = cpu->r[12] + 0xFFFF9318u;
/* 028C2DE0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
/* 028C2DE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9328u;
/* 028C2DE8 */ _t22 = cpu->r[31] + 0x00000010u;
/* 028C2DE8 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
/* 028C2DEC */ cpu->f[1] = cpu->f[31];
/* 028C2DF0 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028C2DF0 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028C2DF4 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028C2DF8 */ _t24 = cpu->r[31] + 0x00000000u;
/* 028C2DF8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028C2DFC */ _t25 = cpu->r[31] + 0x00000014u;
/* 028C2DFC */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
/* 028C2E00 */ Gambit_fn_028CA0E4(cpu);
/* 028C2E04 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
/* 028C2E08 */ Gambit_fn_02837344(cpu);
/* 028C2E0C */ cpu->r[11] = 0x10140000u;
/* 028C2E10 */ cpu->f[1] = cpu->f[31];
/* 028C2E14 */ cpu->r[0] = 0x00000001u;
/* 028C2E18 */ _t26 = cpu->r[11] + 0xFFFF931Cu;
/* 028C2E18 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26);
/* 028C2E1C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028C2E20 */ _t27 = cpu->r[31] + 0x00000068u;
/* 028C2E20 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
/* 028C2E24 */ Gambit_fn_028CA1D8(cpu);
L_028C2E28: ; // 0x28c2e28
/* 028C2E28 */ _t28 = cpu->r[1] + 0x00000018u;
/* 028C2E28 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
/* 028C2E2C */ cpu->r[3] = cpu->r[31];
/* 028C2E30 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028C2E30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028C2E34 */ _t30 = cpu->r[1] + 0x0000000Cu;
/* 028C2E34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
/* 028C2E38 */ _t31 = cpu->r[1] + 0x00000010u;
/* 028C2E38 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
/* 028C2E3C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C2E3C */ _t33 = _t32 & 0x00000001u;
/* 028C2E3C */ if (_t33) goto L_028C2E40; // else: addr-0 trap, fall-through
L_028C2E40: ; // 0x28c2e40
/* 028C2E40 */ _t34 = cpu->r[1] + 0x00000024u;
/* 028C2E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028C2E44 */ cpu->lr = cpu->r[0];
/* 028C2E48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C2E4C */ return;
}
// fn_028C2E50 @ 0x28c2e50
void Gambit_fn_028C2E50(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C2E50: ; // 0x28c2e50
/* 028C2E50 */ cpu->r[0] = cpu->lr;
/* 028C2E54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2E54 */ cpu->r[1] = _t0;
/* 028C2E58 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2E5C */ cpu->r[31] = cpu->r[3];
/* 028C2E60 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2E60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C2E64 */ _t3 = cpu->r[31] + 0x0000000Cu;
/* 028C2E64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C2E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2E6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2E6C */ _t5 = _t4 & 0x00000001u;
/* 028C2E6C */ if (_t5) goto L_028C2E80; else goto L_028C2E70;
L_028C2E70: ; // 0x28c2e70
/* 028C2E70 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028C2E70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028C2E74 */ _t7 = cpu->r[9] + 0x00000044u;
/* 028C2E74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028C2E78 */ cpu->ctr = cpu->r[10];
/* 028C2E7C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C2E80: ; // 0x28c2e80
/* 028C2E80 */ cpu->r[11] = 0x00000000u;
/* 028C2E84 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028C2E84 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028C2E88 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028C2E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C2E8C */ _t10 = cpu->r[31] + 0x00000008u;
/* 028C2E8C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
/* 028C2E90 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C2E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C2E94 */ cpu->lr = cpu->r[0];
/* 028C2E98 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C2E98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C2E9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C2EA0 */ return;
}
// fn_028C2E54 @ 0x28c2e54
void Gambit_fn_028C2E54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C2E54: ; // 0x28c2e54
/* 028C2E54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2E54 */ cpu->r[1] = _t0;
/* 028C2E58 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2E5C */ cpu->r[31] = cpu->r[3];
/* 028C2E60 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2E60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C2E64 */ _t3 = cpu->r[31] + 0x0000000Cu;
/* 028C2E64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C2E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2E6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2E6C */ _t5 = _t4 & 0x00000001u;
/* 028C2E6C */ if (_t5) goto L_028C2E80; else goto L_028C2E70;
L_028C2E70: ; // 0x28c2e70
/* 028C2E70 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028C2E70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
/* 028C2E74 */ _t7 = cpu->r[9] + 0x00000044u;
/* 028C2E74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028C2E78 */ cpu->ctr = cpu->r[10];
/* 028C2E7C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C2E80: ; // 0x28c2e80
/* 028C2E80 */ cpu->r[11] = 0x00000000u;
/* 028C2E84 */ _t8 = cpu->r[31] + 0x00000004u;
/* 028C2E84 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028C2E88 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028C2E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C2E8C */ _t10 = cpu->r[31] + 0x00000008u;
/* 028C2E8C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
/* 028C2E90 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C2E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C2E94 */ cpu->lr = cpu->r[0];
/* 028C2E98 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C2E98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C2E9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C2EA0 */ return;
}
// fn_028C2EA4 @ 0x28c2ea4
void Gambit_fn_028C2EA4(CPUState* cpu) {
uint32_t _t0, _t1, _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_028C2EA4: ; // 0x28c2ea4
/* 028C2EA4 */ cpu->r[0] = cpu->lr;
/* 028C2EA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C2EA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2EA8 */ cpu->r[1] = _t0;
/* 028C2EAC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2EAC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C2EB0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2EB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C2EB4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C2EB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C2EB8 */ cpu->r[31] = cpu->r[3];
/* 028C2EBC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C2EBC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C2EC0 */ _t5 = cpu->r[31] + 0x00000008u;
/* 028C2EC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
/* 028C2EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2EC8 */ cpu->r[30] = 0x00000000u;
/* 028C2ECC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2ECC */ _t7 = _t6 & 0x00000001u;
/* 028C2ECC */ if (_t7) goto L_028C2F0C; else goto L_028C2ED0;
L_028C2ED0: ; // 0x28c2ed0
/* 028C2ED0 */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028C2ED4 */ cpu->r[3] = cpu->r[29];
/* 028C2ED8 */ Gambit_fn_02837404(cpu);
/* 028C2EDC */ _t8 = cpu->r[31] + 0x00000014u;
/* 028C2EDC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028C2EE0 */ cpu->r[10] = 0x00000001u;
/* 028C2EE4 */ cpu->r[3] = cpu->r[29];
/* 028C2EE8 */ _t9 = cpu->r[31] + 0x00000010u;
/* 028C2EE8 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
/* 028C2EEC */ Gambit_fn_0283740C(cpu);
/* 028C2EF0 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C2EF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
/* 028C2EF4 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028C2EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C2EF8 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028C2EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028C2EFC */ cpu->lr = cpu->r[0];
/* 028C2F00 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028C2F00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028C2F04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C2F08 */ return;
L_028C2F0C: ; // 0x28c2f0c
/* 028C2F0C */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028C2F0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028C2F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2F14 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2F14 */ _t16 = _t15 & 0x00000001u;
/* 028C2F14 */ if (_t16) goto L_028C2F28; else goto L_028C2F18;
L_028C2F18: ; // 0x28c2f18
/* 028C2F18 */ _t17 = cpu->r[3] + 0x00000000u;
/* 028C2F18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C2F1C */ _t18 = cpu->r[11] + 0x00000044u;
/* 028C2F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C2F20 */ cpu->ctr = cpu->r[0];
/* 028C2F24 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C2F28: ; // 0x28c2f28
/* 028C2F28 */ _t19 = cpu->r[31] + 0x00000014u;
/* 028C2F28 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
/* 028C2F2C */ _t20 = cpu->r[31] + 0x00000010u;
/* 028C2F2C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
/* 028C2F30 */ _t21 = cpu->r[31] + 0x0000000Cu;
/* 028C2F30 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028C2F34 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C2F34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028C2F38 */ _t23 = cpu->r[1] + 0x0000001Cu;
/* 028C2F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028C2F3C */ _t24 = cpu->r[1] + 0x00000010u;
/* 028C2F3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
/* 028C2F40 */ cpu->lr = cpu->r[0];
/* 028C2F44 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028C2F44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028C2F48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C2F4C */ return;
}
// fn_028C2EA8 @ 0x28c2ea8
void Gambit_fn_028C2EA8(CPUState* cpu) {
uint32_t _t0, _t1, _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_028C2EA8: ; // 0x28c2ea8
/* 028C2EA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C2EA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2EA8 */ cpu->r[1] = _t0;
/* 028C2EAC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C2EAC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C2EB0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C2EB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C2EB4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C2EB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C2EB8 */ cpu->r[31] = cpu->r[3];
/* 028C2EBC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C2EBC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C2EC0 */ _t5 = cpu->r[31] + 0x00000008u;
/* 028C2EC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
/* 028C2EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C2EC8 */ cpu->r[30] = 0x00000000u;
/* 028C2ECC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2ECC */ _t7 = _t6 & 0x00000001u;
/* 028C2ECC */ if (_t7) goto L_028C2F0C; else goto L_028C2ED0;
L_028C2ED0: ; // 0x28c2ed0
/* 028C2ED0 */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028C2ED4 */ cpu->r[3] = cpu->r[29];
/* 028C2ED8 */ Gambit_fn_02837404(cpu);
/* 028C2EDC */ _t8 = cpu->r[31] + 0x00000014u;
/* 028C2EDC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028C2EE0 */ cpu->r[10] = 0x00000001u;
/* 028C2EE4 */ cpu->r[3] = cpu->r[29];
/* 028C2EE8 */ _t9 = cpu->r[31] + 0x00000010u;
/* 028C2EE8 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
/* 028C2EEC */ Gambit_fn_0283740C(cpu);
/* 028C2EF0 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C2EF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
/* 028C2EF4 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028C2EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C2EF8 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028C2EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028C2EFC */ cpu->lr = cpu->r[0];
/* 028C2F00 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028C2F00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028C2F04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C2F08 */ return;
L_028C2F0C: ; // 0x28c2f0c
/* 028C2F0C */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028C2F0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028C2F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C2F14 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2F14 */ _t16 = _t15 & 0x00000001u;
/* 028C2F14 */ if (_t16) goto L_028C2F28; else goto L_028C2F18;
L_028C2F18: ; // 0x28c2f18
/* 028C2F18 */ _t17 = cpu->r[3] + 0x00000000u;
/* 028C2F18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C2F1C */ _t18 = cpu->r[11] + 0x00000044u;
/* 028C2F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C2F20 */ cpu->ctr = cpu->r[0];
/* 028C2F24 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C2F28: ; // 0x28c2f28
/* 028C2F28 */ _t19 = cpu->r[31] + 0x00000014u;
/* 028C2F28 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
/* 028C2F2C */ _t20 = cpu->r[31] + 0x00000010u;
/* 028C2F2C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
/* 028C2F30 */ _t21 = cpu->r[31] + 0x0000000Cu;
/* 028C2F30 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028C2F34 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C2F34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028C2F38 */ _t23 = cpu->r[1] + 0x0000001Cu;
/* 028C2F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028C2F3C */ _t24 = cpu->r[1] + 0x00000010u;
/* 028C2F3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
/* 028C2F40 */ cpu->lr = cpu->r[0];
/* 028C2F44 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028C2F44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028C2F48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C2F4C */ return;
}
// fn_028C2F50 @ 0x28c2f50
void Gambit_fn_028C2F50(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C2F50: ; // 0x28c2f50
/* 028C2F50 */ cpu->r[0] = cpu->lr;
/* 028C2F54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C2F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2F54 */ cpu->r[1] = _t0;
/* 028C2F58 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C2F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2F5C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C2F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C2F60 */ cpu->r[31] = cpu->r[3];
/* 028C2F64 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C2F64 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C2F68 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C2F68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C2F6C */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028C2F70 */ cpu->r[3] = cpu->r[29];
/* 028C2F74 */ Gambit_fn_02837404(cpu);
/* 028C2F78 */ _t5 = cpu->r[31] + 0x0000000Cu;
/* 028C2F78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028C2F7C */ cpu->r[3] = cpu->r[29];
/* 028C2F80 */ Gambit_fn_0283740C(cpu);
/* 028C2F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C2F88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2F88 */ _t7 = _t6 & 0x00000001u;
/* 028C2F88 */ if (_t7) goto L_028C2FB4; else goto L_028C2F8C;
L_028C2F8C: ; // 0x28c2f8c
/* 028C2F8C */ _t8 = cpu->r[30] + 0x00000004u;
/* 028C2F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C2F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028C2F94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2F94 */ _t10 = _t9 & 0x00000001u;
/* 028C2F94 */ if (_t10) goto L_028C2F98; else goto L_028C2FA0;
L_028C2F98: ; // 0x28c2f98
/* 028C2F98 */ cpu->r[3] = cpu->r[31];
/* 028C2F9C */ Gambit_fn_028C2EA4(cpu);
L_028C2FA0: ; // 0x28c2fa0
/* 028C2FA0 */ _t11 = cpu->r[30] + 0x00000000u;
/* 028C2FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028C2FA4 */ _t12 = cpu->r[11] + 0x0000002Cu;
/* 028C2FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C2FA8 */ cpu->ctr = cpu->r[0];
/* 028C2FAC */ cpu->r[3] = cpu->r[30];
/* 028C2FB0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C2FB4: ; // 0x28c2fb4
/* 028C2FB4 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028C2FB8 */ Gambit_fn_028CA194(cpu);
/* 028C2FBC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C2FBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028C2FC0 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028C2FC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C2FC4 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028C2FC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028C2FC8 */ cpu->lr = cpu->r[0];
/* 028C2FCC */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C2FCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C2FD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C2FD4 */ return;
}
// fn_028C2F54 @ 0x28c2f54
void Gambit_fn_028C2F54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C2F54: ; // 0x28c2f54
/* 028C2F54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C2F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2F54 */ cpu->r[1] = _t0;
/* 028C2F58 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C2F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C2F5C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C2F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C2F60 */ cpu->r[31] = cpu->r[3];
/* 028C2F64 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C2F64 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C2F68 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C2F68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C2F6C */ cpu->r[29] = cpu->r[31] + 0x0000002Cu;
/* 028C2F70 */ cpu->r[3] = cpu->r[29];
/* 028C2F74 */ Gambit_fn_02837404(cpu);
/* 028C2F78 */ _t5 = cpu->r[31] + 0x0000000Cu;
/* 028C2F78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028C2F7C */ cpu->r[3] = cpu->r[29];
/* 028C2F80 */ Gambit_fn_0283740C(cpu);
/* 028C2F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C2F88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2F88 */ _t7 = _t6 & 0x00000001u;
/* 028C2F88 */ if (_t7) goto L_028C2FB4; else goto L_028C2F8C;
L_028C2F8C: ; // 0x28c2f8c
/* 028C2F8C */ _t8 = cpu->r[30] + 0x00000004u;
/* 028C2F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C2F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028C2F94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C2F94 */ _t10 = _t9 & 0x00000001u;
/* 028C2F94 */ if (_t10) goto L_028C2F98; else goto L_028C2FA0;
L_028C2F98: ; // 0x28c2f98
/* 028C2F98 */ cpu->r[3] = cpu->r[31];
/* 028C2F9C */ Gambit_fn_028C2EA4(cpu);
L_028C2FA0: ; // 0x28c2fa0
/* 028C2FA0 */ _t11 = cpu->r[30] + 0x00000000u;
/* 028C2FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028C2FA4 */ _t12 = cpu->r[11] + 0x0000002Cu;
/* 028C2FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C2FA8 */ cpu->ctr = cpu->r[0];
/* 028C2FAC */ cpu->r[3] = cpu->r[30];
/* 028C2FB0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C2FB4: ; // 0x28c2fb4
/* 028C2FB4 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028C2FB8 */ Gambit_fn_028CA194(cpu);
/* 028C2FBC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C2FBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028C2FC0 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028C2FC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C2FC4 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028C2FC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028C2FC8 */ cpu->lr = cpu->r[0];
/* 028C2FCC */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C2FCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C2FD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C2FD4 */ return;
}
// fn_028C2FD8 @ 0x28c2fd8
void Gambit_fn_028C2FD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028C2FD8: ; // 0x28c2fd8
/* 028C2FD8 */ cpu->r[0] = 0x00000003u;
/* 028C2FDC */ cpu->r[12] = 0x10140000u;
/* 028C2FE0 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028C2FE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C2FE4 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028C2FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028C2FE8 */ cpu->f[2] = cpu->f[1];
/* 028C2FEC */ _t2 = cpu->r[12] + 0xFFFF931Cu;
/* 028C2FEC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
/* 028C2FF0 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
/* 028C2FF4 */ goto L_028CA1D8;
L_028CA1D8: ; // 0x28ca1d8
/* 028CA1D8 */ cpu->r[0] = cpu->lr;
/* 028CA1DC */ _t3 = cpu->r[1] + 0x00000004u;
/* 028CA1DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA1E0 */ cpu->r[10] = cpu->r[3];
/* 028CA1E4 */ _t4 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA1E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
/* 028CA1E4 */ cpu->r[1] = _t4;
/* 028CA1E8 */ _t5 = cpu->r[10] + 0x00000000u;
/* 028CA1E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
/* 028CA1EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
/* 028CA1F0 */ _t6 = cpu->r[10] + 0x00000008u;
/* 028CA1F0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
/* 028CA1F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA1F4 */ _t8 = _t7 & 0x00000001u;
/* 028CA1F4 */ if (_t8) goto L_028CA208; else goto L_028CA1F8;
L_028CA1F8: ; // 0x28ca1f8
/* 028CA1F8 */ cpu->r[12] = 0x10140000u;
/* 028CA1FC */ _t9 = cpu->r[12] + 0xFFFF9C5Cu;
/* 028CA1FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028CA200 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028CA204 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA204 */ _t11 = _t10 & 0x00000001u;
/* 028CA204 */ if (_t11) goto L_028CA208; else goto L_028CA220;
L_028CA208: ; // 0x28ca208
/* 028CA208 */ cpu->r[3] = cpu->r[10];
/* 028CA20C */ Gambit_fn_028CA0C8(cpu);
/* 028CA210 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028CA210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CA214 */ cpu->lr = cpu->r[0];
/* 028CA218 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA21C */ return;
L_028CA220: ; // 0x28ca220
/* 028CA220 */ cpu->f[12] = cpu->f[1] - cpu->f[11];
/* 028CA224 */ cpu->f[13] = cpu->f[12] / cpu->f[2];
/* 028CA228 */ cpu->r[3] = cpu->r[10];
/* 028CA22C */ _t13 = cpu->r[10] + 0x0000000Cu;
/* 028CA22C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
/* 028CA230 */ Gambit_fn_028CA148(cpu);
/* 028CA234 */ _t14 = cpu->r[10] + 0x00000004u;
/* 028CA234 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[1]);
/* 028CA238 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028CA238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CA23C */ cpu->lr = cpu->r[0];
/* 028CA240 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA244 */ return;
}
// fn_028C2FF8 @ 0x28c2ff8
void Gambit_fn_028C2FF8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C2FF8: ; // 0x28c2ff8
/* 028C2FF8 */ cpu->r[0] = cpu->lr;
/* 028C2FFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2FFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2FFC */ cpu->r[1] = _t0;
/* 028C3000 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3000 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C3004 */ cpu->r[31] = cpu->r[3];
/* 028C3008 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C3008 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C300C */ _t3 = cpu->r[31] + 0x0000000Cu;
/* 028C300C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C3010 */ cpu->r[8] = 0x00000001u;
/* 028C3014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3018 */ _t4 = cpu->r[31] + 0x00000008u;
/* 028C3018 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[8]);
/* 028C301C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C301C */ _t6 = _t5 & 0x00000001u;
/* 028C301C */ if (_t6) goto L_028C3044; else goto L_028C3020;
L_028C3020: ; // 0x28c3020
/* 028C3020 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028C3020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028C3024 */ _t8 = cpu->r[12] + 0x0000003Cu;
/* 028C3024 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028C3028 */ cpu->ctr = cpu->r[7];
/* 028C302C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C3030 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C3030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3034 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C3034 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028C3038 */ cpu->lr = cpu->r[0];
/* 028C303C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3040 */ return;
L_028C3044: ; // 0x28c3044
/* 028C3044 */ cpu->r[10] = 0x10140000u;
/* 028C3048 */ cpu->r[9] = 0x10140000u;
/* 028C304C */ _t11 = cpu->r[10] + 0xFFFF9318u;
/* 028C304C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
/* 028C3050 */ _t12 = cpu->r[9] + 0xFFFF931Cu;
/* 028C3050 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t12);
/* 028C3054 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028C3058 */ Gambit_fn_028CA1D8(cpu);
/* 028C305C */ cpu->r[11] = 0x00000002u;
/* 028C3060 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028C3060 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028C3064 */ _t14 = cpu->r[31] + 0x00000004u;
/* 028C3064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C3068 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028C3068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C306C */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C306C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C3070 */ cpu->lr = cpu->r[0];
/* 028C3074 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3078 */ cpu->r[3] = 0x00000001u;
/* 028C307C */ return;
}
// fn_028C2FFC @ 0x28c2ffc
void Gambit_fn_028C2FFC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C2FFC: ; // 0x28c2ffc
/* 028C2FFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C2FFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C2FFC */ cpu->r[1] = _t0;
/* 028C3000 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3000 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C3004 */ cpu->r[31] = cpu->r[3];
/* 028C3008 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C3008 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C300C */ _t3 = cpu->r[31] + 0x0000000Cu;
/* 028C300C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028C3010 */ cpu->r[8] = 0x00000001u;
/* 028C3014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3018 */ _t4 = cpu->r[31] + 0x00000008u;
/* 028C3018 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[8]);
/* 028C301C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C301C */ _t6 = _t5 & 0x00000001u;
/* 028C301C */ if (_t6) goto L_028C3044; else goto L_028C3020;
L_028C3020: ; // 0x28c3020
/* 028C3020 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028C3020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028C3024 */ _t8 = cpu->r[12] + 0x0000003Cu;
/* 028C3024 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028C3028 */ cpu->ctr = cpu->r[7];
/* 028C302C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C3030 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C3030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3034 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C3034 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028C3038 */ cpu->lr = cpu->r[0];
/* 028C303C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3040 */ return;
L_028C3044: ; // 0x28c3044
/* 028C3044 */ cpu->r[10] = 0x10140000u;
/* 028C3048 */ cpu->r[9] = 0x10140000u;
/* 028C304C */ _t11 = cpu->r[10] + 0xFFFF9318u;
/* 028C304C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
/* 028C3050 */ _t12 = cpu->r[9] + 0xFFFF931Cu;
/* 028C3050 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t12);
/* 028C3054 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
/* 028C3058 */ Gambit_fn_028CA1D8(cpu);
/* 028C305C */ cpu->r[11] = 0x00000002u;
/* 028C3060 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028C3060 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028C3064 */ _t14 = cpu->r[31] + 0x00000004u;
/* 028C3064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C3068 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028C3068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C306C */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C306C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C3070 */ cpu->lr = cpu->r[0];
/* 028C3074 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3078 */ cpu->r[3] = 0x00000001u;
/* 028C307C */ return;
}
// fn_028C3080 @ 0x28c3080
void Gambit_fn_028C3080(CPUState* cpu) {
uint32_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_028C3080: ; // 0x28c3080
/* 028C3080 */ cpu->r[0] = cpu->lr;
/* 028C3084 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C3084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3084 */ cpu->r[1] = _t0;
/* 028C3088 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3088 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C308C */ cpu->r[31] = cpu->r[3];
/* 028C3090 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C3090 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C3094 */ cpu->r[30] = cpu->r[31] + 0x0000002Cu;
/* 028C3098 */ cpu->r[3] = cpu->r[30];
/* 028C309C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C309C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C30A0 */ Gambit_fn_02837404(cpu);
/* 028C30A4 */ _t4 = cpu->r[31] + 0x00000010u;
/* 028C30A4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
/* 028C30A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C30AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C30AC */ _t6 = _t5 & 0x00000001u;
/* 028C30AC */ if (_t6) goto L_028C30F8; else goto L_028C30B0;
L_028C30B0: ; // 0x28c30b0
/* 028C30B0 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028C30B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028C30B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C30B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C30B8 */ _t9 = _t8 & 0x00000001u;
/* 028C30B8 */ if (_t9) goto L_028C30CC; else goto L_028C30BC;
L_028C30BC: ; // 0x28c30bc
/* 028C30BC */ _t10 = cpu->r[3] + 0x00000000u;
/* 028C30BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028C30C0 */ _t11 = cpu->r[12] + 0x00000044u;
/* 028C30C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C30C4 */ cpu->ctr = cpu->r[0];
/* 028C30C8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C30CC: ; // 0x28c30cc
/* 028C30CC */ _t12 = cpu->r[31] + 0x00000014u;
/* 028C30CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C30D0 */ cpu->r[10] = 0x00000000u;
/* 028C30D4 */ _t13 = cpu->r[31] + 0x00000010u;
/* 028C30D4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[10]);
/* 028C30D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C30DC */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028C30DC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
/* 028C30E0 */ _t15 = cpu->r[31] + 0x00000014u;
/* 028C30E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
/* 028C30E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C30E4 */ _t17 = _t16 & 0x00000001u;
/* 028C30E4 */ if (_t17) goto L_028C30F8; else goto L_028C30E8;
L_028C30E8: ; // 0x28c30e8
/* 028C30E8 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028C30E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028C30EC */ _t19 = cpu->r[12] + 0x0000003Cu;
/* 028C30EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C30F0 */ cpu->ctr = cpu->r[0];
/* 028C30F4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C30F8: ; // 0x28c30f8
/* 028C30F8 */ cpu->r[3] = cpu->r[30];
/* 028C30FC */ Gambit_fn_0283740C(cpu);
/* 028C3100 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C3100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C3104 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028C3104 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028C3108 */ cpu->lr = cpu->r[0];
/* 028C310C */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C310C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028C3110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3114 */ return;
}
// fn_028C3084 @ 0x28c3084
void Gambit_fn_028C3084(CPUState* cpu) {
uint32_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_028C3084: ; // 0x28c3084
/* 028C3084 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C3084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3084 */ cpu->r[1] = _t0;
/* 028C3088 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3088 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C308C */ cpu->r[31] = cpu->r[3];
/* 028C3090 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C3090 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C3094 */ cpu->r[30] = cpu->r[31] + 0x0000002Cu;
/* 028C3098 */ cpu->r[3] = cpu->r[30];
/* 028C309C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C309C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C30A0 */ Gambit_fn_02837404(cpu);
/* 028C30A4 */ _t4 = cpu->r[31] + 0x00000010u;
/* 028C30A4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
/* 028C30A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C30AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C30AC */ _t6 = _t5 & 0x00000001u;
/* 028C30AC */ if (_t6) goto L_028C30F8; else goto L_028C30B0;
L_028C30B0: ; // 0x28c30b0
/* 028C30B0 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028C30B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028C30B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C30B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C30B8 */ _t9 = _t8 & 0x00000001u;
/* 028C30B8 */ if (_t9) goto L_028C30CC; else goto L_028C30BC;
L_028C30BC: ; // 0x28c30bc
/* 028C30BC */ _t10 = cpu->r[3] + 0x00000000u;
/* 028C30BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028C30C0 */ _t11 = cpu->r[12] + 0x00000044u;
/* 028C30C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C30C4 */ cpu->ctr = cpu->r[0];
/* 028C30C8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C30CC: ; // 0x28c30cc
/* 028C30CC */ _t12 = cpu->r[31] + 0x00000014u;
/* 028C30CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C30D0 */ cpu->r[10] = 0x00000000u;
/* 028C30D4 */ _t13 = cpu->r[31] + 0x00000010u;
/* 028C30D4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[10]);
/* 028C30D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C30DC */ _t14 = cpu->r[31] + 0x0000000Cu;
/* 028C30DC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
/* 028C30E0 */ _t15 = cpu->r[31] + 0x00000014u;
/* 028C30E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
/* 028C30E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C30E4 */ _t17 = _t16 & 0x00000001u;
/* 028C30E4 */ if (_t17) goto L_028C30F8; else goto L_028C30E8;
L_028C30E8: ; // 0x28c30e8
/* 028C30E8 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028C30E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028C30EC */ _t19 = cpu->r[12] + 0x0000003Cu;
/* 028C30EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C30F0 */ cpu->ctr = cpu->r[0];
/* 028C30F4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C30F8: ; // 0x28c30f8
/* 028C30F8 */ cpu->r[3] = cpu->r[30];
/* 028C30FC */ Gambit_fn_0283740C(cpu);
/* 028C3100 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C3100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C3104 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028C3104 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028C3108 */ cpu->lr = cpu->r[0];
/* 028C310C */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C310C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028C3110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3114 */ return;
}
// fn_028C3118 @ 0x28c3118
void Gambit_fn_028C3118(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C3118: ; // 0x28c3118
/* 028C3118 */ cpu->r[0] = cpu->lr;
/* 028C311C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C311C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C3120 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3120 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C3120 */ cpu->r[1] = _t1;
/* 028C3124 */ _t2 = cpu->r[3] + 0x0000000Cu;
/* 028C3124 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
/* 028C3128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C312C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C312C */ _t4 = _t3 & 0x00000001u;
/* 028C312C */ if (_t4) goto L_028C3158; else goto L_028C3130;
L_028C3130: ; // 0x28c3130
/* 028C3130 */ _t5 = cpu->r[7] + 0x00000000u;
/* 028C3130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028C3134 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028C3134 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028C3138 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028C3138 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028C313C */ _t8 = cpu->r[8] + 0x00000000u;
/* 028C313C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028C3140 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C3140 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028C3144 */ _t10 = cpu->r[10] + 0x0000004Cu;
/* 028C3144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C3148 */ cpu->ctr = cpu->r[0];
/* 028C314C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
/* 028C3150 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C3154 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C3158: ; // 0x28c3158
/* 028C3158 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028C3158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C315C */ cpu->lr = cpu->r[0];
/* 028C3160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3164 */ return;
}
// fn_028C3120 @ 0x28c3120
void Gambit_fn_028C3120(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028C3120: ; // 0x28c3120
/* 028C3120 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3120 */ cpu->r[1] = _t0;
/* 028C3124 */ _t1 = cpu->r[3] + 0x0000000Cu;
/* 028C3124 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
/* 028C3128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C312C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C312C */ _t3 = _t2 & 0x00000001u;
/* 028C312C */ if (_t3) goto L_028C3158; else goto L_028C3130;
L_028C3130: ; // 0x28c3130
/* 028C3130 */ _t4 = cpu->r[7] + 0x00000000u;
/* 028C3130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
/* 028C3134 */ _t5 = cpu->r[3] + 0x00000000u;
/* 028C3134 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028C3138 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C3138 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
/* 028C313C */ _t7 = cpu->r[8] + 0x00000000u;
/* 028C313C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028C3140 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C3140 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028C3144 */ _t9 = cpu->r[10] + 0x0000004Cu;
/* 028C3144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3148 */ cpu->ctr = cpu->r[0];
/* 028C314C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
/* 028C3150 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C3154 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C3158: ; // 0x28c3158
/* 028C3158 */ _t10 = cpu->r[1] + 0x0000001Cu;
/* 028C3158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C315C */ cpu->lr = cpu->r[0];
/* 028C3160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3164 */ return;
}
// fn_028C3168 @ 0x28c3168
void Gambit_fn_028C3168(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028C3168: ; // 0x28c3168
/* 028C3168 */ cpu->r[0] = cpu->lr;
/* 028C316C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C316C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C316C */ cpu->r[1] = _t0;
/* 028C3170 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C3170 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C3174 */ cpu->r[12] = 0x10140000u;
/* 028C3178 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C3178 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C317C */ _t3 = cpu->r[12] + 0xFFFF9318u;
/* 028C317C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028C3180 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C3180 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C3184 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
/* 028C3188 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C3188 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C318C */ cpu->r[31] = cpu->r[5];
/* 028C3190 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3190 */ _t7 = _t6 & 0x00000001u;
/* 028C3190 */ if (_t7) goto L_028C3258; else goto L_028C3194;
L_028C3194: ; // 0x28c3194
/* 028C3194 */ cpu->r[10] = 0x10140000u;
/* 028C3198 */ _t8 = cpu->r[10] + 0xFFFF931Cu;
/* 028C3198 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028C319C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028C31A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C31A0 */ _t10 = _t9 & 0x00000001u;
/* 028C31A0 */ if (_t10) goto L_028C31A4; else goto L_028C31E8;
L_028C31A4: ; // 0x28c31a4
/* 028C31A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C31A8 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C31A8 */ _t12 = _t11 & 0x00000001u;
/* 028C31A8 */ if (_t12) goto L_028C31AC; else goto L_028C3258;
L_028C31AC: ; // 0x28c31ac
/* 028C31AC */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFCu;
/* 028C31B0 */ cpu->r[29] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028C31B4: ; // 0x28c31b4
/* 028C31B4 */ _t13 = cpu->r[30] + 0x00000004u;
/* 028C31B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028C31B4 */ cpu->r[30] = _t13;
/* 028C31B8 */ cpu->r[5] = cpu->r[29];
/* 028C31BC */ cpu->r[4] = 0x00000000u;
/* 028C31C0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C31C4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C31C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C31C8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C31C8 */ _t15 = _t14 & 0x00000001u;
/* 028C31C8 */ if (_t15) goto L_028C31CC; else goto L_028C31B4;
L_028C31CC: ; // 0x28c31cc
/* 028C31CC */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C31CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028C31D0 */ _t17 = cpu->r[1] + 0x00000024u;
/* 028C31D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C31D4 */ _t18 = cpu->r[1] + 0x00000018u;
/* 028C31D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C31D8 */ cpu->lr = cpu->r[0];
/* 028C31DC */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C31DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C31E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C31E4 */ return;
L_028C31E8: ; // 0x28c31e8
/* 028C31E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C31EC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C31EC */ _t21 = _t20 & 0x00000001u;
/* 028C31EC */ if (_t21) goto L_028C31F0; else goto L_028C3258;
L_028C31F0: ; // 0x28c31f0
/* 028C31F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028C31F4 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C31F4 */ _t23 = _t22 & 0x00000001u;
/* 028C31F4 */ if (_t23) goto L_028C31F8; else goto L_028C324C;
L_028C31F8: ; // 0x28c31f8
/* 028C31F8 */ cpu->ctr = cpu->r[6];
/* 028C31FC */ cpu->r[12] = 0x00000000u;
L_028C3200: ; // 0x28c3200
/* 028C3200 */ _t24 = cpu->r[4] + 0x00000000u;
/* 028C3200 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028C3204 */ cpu->r[8] = 0x43300000u;
/* 028C3208 */ _t25 = cpu->r[9] + cpu->r[12];
/* 028C3208 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
/* 028C320C */ cpu->r[11] = 0x10140000u;
/* 028C3210 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028C3210 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
/* 028C3214 */ cpu->r[0] = cpu->r[7] ^ 0x80000000u;
/* 028C3218 */ _t27 = cpu->r[11] + 0xFFFF9320u;
/* 028C3218 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t27);
/* 028C321C */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028C321C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028C3220 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028C3220 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t29);
/* 028C3224 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
/* 028C3228 */ cpu->f[12] = (double)(float)cpu->f[13];
/* 028C322C */ cpu->f[0] = cpu->f[12] * cpu->f[1];
/* 028C3230 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
/* 028C3234 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C3238 */ /* nop */
/* 028C323C */ _t30 = cpu->r[1] + 0x00000008u;
/* 028C323C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
/* 028C3240 */ _t31 = cpu->r[9] + cpu->r[12];
/* 028C3240 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
/* 028C3244 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
/* 028C3248 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C3248 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C3248 */ _t33 = _t32 >> (0x00000002u & 31u);
/* 028C3248 */ _t34 = _t33 & 0x00000001u;
/* 028C3248 */ if (_t34) goto L_028C3200; else goto L_028C324C;
L_028C324C: ; // 0x28c324c
/* 028C324C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C324C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C3250 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
/* 028C3254 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3254 */ _t36 = _t35 & 0x00000001u;
/* 028C3254 */ if (_t36) goto L_028C3258; else goto L_028C31F0;
L_028C3258: ; // 0x28c3258
/* 028C3258 */ _t37 = cpu->r[1] + 0x00000014u;
/* 028C3258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
/* 028C325C */ _t38 = cpu->r[1] + 0x00000024u;
/* 028C325C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C3260 */ _t39 = cpu->r[1] + 0x00000018u;
/* 028C3260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
/* 028C3264 */ cpu->lr = cpu->r[0];
/* 028C3268 */ _t40 = cpu->r[1] + 0x0000001Cu;
/* 028C3268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028C326C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C3270 */ return;
}
// fn_028C316C @ 0x28c316c
void Gambit_fn_028C316C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028C316C: ; // 0x28c316c
/* 028C316C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C316C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C316C */ cpu->r[1] = _t0;
/* 028C3170 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C3170 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C3174 */ cpu->r[12] = 0x10140000u;
/* 028C3178 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C3178 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C317C */ _t3 = cpu->r[12] + 0xFFFF9318u;
/* 028C317C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028C3180 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C3180 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C3184 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
/* 028C3188 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C3188 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C318C */ cpu->r[31] = cpu->r[5];
/* 028C3190 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3190 */ _t7 = _t6 & 0x00000001u;
/* 028C3190 */ if (_t7) goto L_028C3258; else goto L_028C3194;
L_028C3194: ; // 0x28c3194
/* 028C3194 */ cpu->r[10] = 0x10140000u;
/* 028C3198 */ _t8 = cpu->r[10] + 0xFFFF931Cu;
/* 028C3198 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028C319C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028C31A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C31A0 */ _t10 = _t9 & 0x00000001u;
/* 028C31A0 */ if (_t10) goto L_028C31A4; else goto L_028C31E8;
L_028C31A4: ; // 0x28c31a4
/* 028C31A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C31A8 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C31A8 */ _t12 = _t11 & 0x00000001u;
/* 028C31A8 */ if (_t12) goto L_028C31AC; else goto L_028C3258;
L_028C31AC: ; // 0x28c31ac
/* 028C31AC */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFCu;
/* 028C31B0 */ cpu->r[29] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028C31B4: ; // 0x28c31b4
/* 028C31B4 */ _t13 = cpu->r[30] + 0x00000004u;
/* 028C31B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028C31B4 */ cpu->r[30] = _t13;
/* 028C31B8 */ cpu->r[5] = cpu->r[29];
/* 028C31BC */ cpu->r[4] = 0x00000000u;
/* 028C31C0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C31C4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C31C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C31C8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C31C8 */ _t15 = _t14 & 0x00000001u;
/* 028C31C8 */ if (_t15) goto L_028C31CC; else goto L_028C31B4;
L_028C31CC: ; // 0x28c31cc
/* 028C31CC */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C31CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028C31D0 */ _t17 = cpu->r[1] + 0x00000024u;
/* 028C31D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C31D4 */ _t18 = cpu->r[1] + 0x00000018u;
/* 028C31D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C31D8 */ cpu->lr = cpu->r[0];
/* 028C31DC */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C31DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C31E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C31E4 */ return;
L_028C31E8: ; // 0x28c31e8
/* 028C31E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C31EC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C31EC */ _t21 = _t20 & 0x00000001u;
/* 028C31EC */ if (_t21) goto L_028C31F0; else goto L_028C3258;
L_028C31F0: ; // 0x28c31f0
/* 028C31F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028C31F4 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C31F4 */ _t23 = _t22 & 0x00000001u;
/* 028C31F4 */ if (_t23) goto L_028C31F8; else goto L_028C324C;
L_028C31F8: ; // 0x28c31f8
/* 028C31F8 */ cpu->ctr = cpu->r[6];
/* 028C31FC */ cpu->r[12] = 0x00000000u;
L_028C3200: ; // 0x28c3200
/* 028C3200 */ _t24 = cpu->r[4] + 0x00000000u;
/* 028C3200 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028C3204 */ cpu->r[8] = 0x43300000u;
/* 028C3208 */ _t25 = cpu->r[9] + cpu->r[12];
/* 028C3208 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
/* 028C320C */ cpu->r[11] = 0x10140000u;
/* 028C3210 */ _t26 = cpu->r[1] + 0x00000008u;
/* 028C3210 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
/* 028C3214 */ cpu->r[0] = cpu->r[7] ^ 0x80000000u;
/* 028C3218 */ _t27 = cpu->r[11] + 0xFFFF9320u;
/* 028C3218 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t27);
/* 028C321C */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028C321C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028C3220 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028C3220 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t29);
/* 028C3224 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
/* 028C3228 */ cpu->f[12] = (double)(float)cpu->f[13];
/* 028C322C */ cpu->f[0] = cpu->f[12] * cpu->f[1];
/* 028C3230 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
/* 028C3234 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C3238 */ /* nop */
/* 028C323C */ _t30 = cpu->r[1] + 0x00000008u;
/* 028C323C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
/* 028C3240 */ _t31 = cpu->r[9] + cpu->r[12];
/* 028C3240 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
/* 028C3244 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
/* 028C3248 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C3248 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C3248 */ _t33 = _t32 >> (0x00000002u & 31u);
/* 028C3248 */ _t34 = _t33 & 0x00000001u;
/* 028C3248 */ if (_t34) goto L_028C3200; else goto L_028C324C;
L_028C324C: ; // 0x28c324c
/* 028C324C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C324C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C3250 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
/* 028C3254 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3254 */ _t36 = _t35 & 0x00000001u;
/* 028C3254 */ if (_t36) goto L_028C3258; else goto L_028C31F0;
L_028C3258: ; // 0x28c3258
/* 028C3258 */ _t37 = cpu->r[1] + 0x00000014u;
/* 028C3258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
/* 028C325C */ _t38 = cpu->r[1] + 0x00000024u;
/* 028C325C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C3260 */ _t39 = cpu->r[1] + 0x00000018u;
/* 028C3260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
/* 028C3264 */ cpu->lr = cpu->r[0];
/* 028C3268 */ _t40 = cpu->r[1] + 0x0000001Cu;
/* 028C3268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028C326C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C3270 */ return;
}
// fn_028C3274 @ 0x28c3274
void Gambit_fn_028C3274(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_028C3274: ; // 0x28c3274
/* 028C3274 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C3274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3274 */ cpu->r[1] = _t0;
/* 028C3278 */ /* nop */
/* 028C327C */ cpu->r[0] = cpu->lr;
/* 028C3280 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028C3280 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C3284 */ /* nop */
/* 028C3288 */ _t2 = cpu->r[1] + 0x0000003Cu;
/* 028C3288 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C328C */ _t3 = cpu->r[1] + 0x00000030u;
/* 028C328C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C3290 */ cpu->r[29] = cpu->r[7];
/* 028C3294 */ cpu->r[26] = cpu->r[3];
/* 028C3298 */ cpu->r[31] = cpu->r[4];
/* 028C329C */ _t4 = cpu->r[26] + 0x00000004u;
/* 028C329C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C32A0 */ cpu->r[30] = cpu->r[8];
/* 028C32A4 */ cpu->r[28] = cpu->r[6];
/* 028C32A8 */ cpu->r[27] = cpu->r[5];
/* 028C32AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028C32B0 */ cpu->f[31] = cpu->f[1];
/* 028C32B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C32B4 */ _t6 = _t5 & 0x00000001u;
/* 028C32B4 */ if (_t6) goto L_028C32B8; else goto L_028C3300;
L_028C32B8: ; // 0x28c32b8
/* 028C32B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C32BC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C32BC */ _t8 = _t7 & 0x00000001u;
/* 028C32BC */ if (_t8) goto L_028C32C0; else goto L_028C33D8;
L_028C32C0: ; // 0x28c32c0
/* 028C32C0 */ cpu->r[30] = cpu->r[27] + 0xFFFFFFFCu;
/* 028C32C4 */ cpu->r[29] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028C32C8: ; // 0x28c32c8
/* 028C32C8 */ _t9 = cpu->r[30] + 0x00000004u;
/* 028C32C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C32C8 */ cpu->r[30] = _t9;
/* 028C32CC */ cpu->r[5] = cpu->r[29];
/* 028C32D0 */ cpu->r[4] = 0x00000000u;
/* 028C32D4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C32D8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C32D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C32DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C32DC */ _t11 = _t10 & 0x00000001u;
/* 028C32DC */ if (_t11) goto L_028C32E0; else goto L_028C32C8;
L_028C32E0: ; // 0x28c32e0
/* 028C32E0 */ /* nop */
/* 028C32E4 */ _t12 = cpu->r[1] + 0x00000030u;
/* 028C32E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028C32E8 */ _t13 = cpu->r[1] + 0x00000028u;
/* 028C32E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
/* 028C32EC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C32EC */ _t15 = _t14 & 0x00000001u;
/* 028C32EC */ if (_t15) goto L_028C32F0; // else: addr-0 trap, fall-through
L_028C32F0: ; // 0x28c32f0
/* 028C32F0 */ _t16 = cpu->r[1] + 0x0000003Cu;
/* 028C32F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C32F4 */ cpu->lr = cpu->r[0];
/* 028C32F8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C32FC */ return;
L_028C3300: ; // 0x28c3300
/* 028C3300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
/* 028C3304 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3304 */ _t18 = _t17 & 0x00000001u;
/* 028C3304 */ if (_t18) goto L_028C3310; else goto L_028C3308;
L_028C3308: ; // 0x28c3308
/* 028C3308 */ cpu->r[3] = cpu->r[26];
/* 028C330C */ Gambit_fn_028C3080(cpu);
L_028C3310: ; // 0x28c3310
/* 028C3310 */ _t19 = cpu->r[26] + 0x00000068u;
/* 028C3310 */ cpu->r[8] = rbrew_read8(cpu->mem, _t19);
/* 028C3314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C3318 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3318 */ _t21 = _t20 & 0x00000001u;
/* 028C3318 */ if (_t21) goto L_028C331C; else goto L_028C3364;
L_028C331C: ; // 0x28c331c
/* 028C331C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C3320 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C3320 */ _t23 = _t22 & 0x00000001u;
/* 028C3320 */ if (_t23) goto L_028C3324; else goto L_028C33D8;
L_028C3324: ; // 0x28c3324
/* 028C3324 */ cpu->r[29] = cpu->r[27] + 0xFFFFFFFCu;
/* 028C3328 */ cpu->r[30] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
L_028C332C: ; // 0x28c332c
/* 028C332C */ _t24 = cpu->r[29] + 0x00000004u;
/* 028C332C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
/* 028C332C */ cpu->r[29] = _t24;
/* 028C3330 */ cpu->r[5] = cpu->r[30];
/* 028C3334 */ cpu->r[4] = 0x00000000u;
/* 028C3338 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C333C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C333C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C3340 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3340 */ _t26 = _t25 & 0x00000001u;
/* 028C3340 */ if (_t26) goto L_028C3344; else goto L_028C332C;
L_028C3344: ; // 0x28c3344
/* 028C3344 */ /* nop */
/* 028C3348 */ _t27 = cpu->r[1] + 0x00000030u;
/* 028C3348 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
/* 028C334C */ _t28 = cpu->r[1] + 0x00000028u;
/* 028C334C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
/* 028C3350 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C3350 */ _t30 = _t29 & 0x00000001u;
/* 028C3350 */ if (_t30) goto L_028C3354; // else: addr-0 trap, fall-through
L_028C3354: ; // 0x28c3354
/* 028C3354 */ _t31 = cpu->r[1] + 0x0000003Cu;
/* 028C3354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028C3358 */ cpu->lr = cpu->r[0];
/* 028C335C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C3360 */ return;
L_028C3364: ; // 0x28c3364
/* 028C3364 */ _t32 = cpu->r[29] + 0x00000000u;
/* 028C3364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
/* 028C3368 */ cpu->r[4] = cpu->r[31];
/* 028C336C */ cpu->r[5] = cpu->r[27];
/* 028C3370 */ cpu->f[1] = cpu->f[31];
/* 028C3374 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028C3374 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
/* 028C3378 */ _t34 = cpu->r[30] + 0x00000000u;
/* 028C3378 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
/* 028C337C */ cpu->r[6] = cpu->r[28];
/* 028C3380 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C3384 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
/* 028C3388 */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028C3388 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
/* 028C338C */ cpu->r[3] = cpu->r[26];
/* 028C3390 */ Gambit_fn_028C3118(cpu);
/* 028C3394 */ _t36 = cpu->r[26] + 0x00000004u;
/* 028C3394 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
/* 028C3398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
/* 028C339C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C339C */ _t38 = _t37 & 0x00000001u;
/* 028C339C */ if (_t38) goto L_028C33A0; else goto L_028C33D8;
L_028C33A0: ; // 0x28c33a0
/* 028C33A0 */ _t39 = cpu->r[26] + 0x00000018u;
/* 028C33A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39);
/* 028C33A4 */ cpu->r[3] = cpu->r[26];
/* 028C33A8 */ cpu->f[1] = cpu->f[31];
/* 028C33AC */ cpu->r[4] = cpu->r[27];
/* 028C33B0 */ cpu->r[5] = cpu->r[31];
/* 028C33B4 */ cpu->r[6] = cpu->r[28];
/* 028C33B8 */ Gambit_fn_028C3168(cpu);
/* 028C33BC */ cpu->r[7] = 0x10140000u;
/* 028C33C0 */ _t40 = cpu->r[7] + 0xFFFF931Cu;
/* 028C33C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
/* 028C33C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
/* 028C33C8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C33C8 */ _t42 = _t41 & 0x00000001u;
/* 028C33C8 */ if (_t42) goto L_028C33CC; else goto L_028C33D8;
L_028C33CC: ; // 0x28c33cc
/* 028C33CC */ cpu->r[0] = 0x00000004u;
/* 028C33D0 */ _t43 = cpu->r[26] + 0x00000004u;
/* 028C33D0 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
/* 028C33D4 */ _t44 = cpu->r[26] + 0x00000004u;
/* 028C33D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
L_028C33D8: ; // 0x28c33d8
/* 028C33D8 */ /* nop */
/* 028C33DC */ _t45 = cpu->r[1] + 0x00000030u;
/* 028C33DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t45);
/* 028C33E0 */ _t46 = cpu->r[1] + 0x00000028u;
/* 028C33E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t46);
/* 028C33E4 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C33E4 */ _t48 = _t47 & 0x00000001u;
/* 028C33E4 */ if (_t48) goto L_028C33E8; // else: addr-0 trap, fall-through
L_028C33E8: ; // 0x28c33e8
/* 028C33E8 */ _t49 = cpu->r[1] + 0x0000003Cu;
/* 028C33E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028C33EC */ cpu->lr = cpu->r[0];
/* 028C33F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C33F4 */ return;
}
// fn_028C33F8 @ 0x28c33f8
void Gambit_fn_028C33F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
L_028C33F8: ; // 0x28c33f8
/* 028C33F8 */ cpu->r[0] = cpu->lr;
/* 028C33FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C33FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C33FC */ cpu->r[1] = _t0;
/* 028C3400 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C3400 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3404 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3404 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C3408 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3408 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C340C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C340C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C3410 */ cpu->r[29] = cpu->r[4];
/* 028C3410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C3414 */ cpu->r[31] = cpu->r[3];
/* 028C3418 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3418 */ _t6 = _t5 & 0x00000001u;
/* 028C3418 */ if (_t6) goto L_028C341C; else goto L_028C3440;
L_028C341C: ; // 0x28c341c
/* 028C341C */ cpu->r[3] = cpu->r[31];
/* 028C3420 */ Gambit_fn_028C2EA4(cpu);
/* 028C3424 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C3424 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
/* 028C3428 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028C3428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C342C */ _t9 = cpu->r[1] + 0x00000010u;
/* 028C342C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028C3430 */ cpu->lr = cpu->r[0];
/* 028C3434 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028C3434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028C3438 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C343C */ return;
L_028C3440: ; // 0x28c3440
/* 028C3440 */ cpu->r[11] = 0x00000001u;
/* 028C3444 */ _t11 = cpu->r[29] + 0x00000004u;
/* 028C3444 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028C3448 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028C3448 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
/* 028C344C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C3450 */ _t13 = cpu->r[29] + 0x00000004u;
/* 028C3450 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C3454 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3454 */ _t15 = _t14 & 0x00000001u;
/* 028C3454 */ if (_t15) goto L_028C3494; else goto L_028C3458;
L_028C3458: ; // 0x28c3458
/* 028C3458 */ cpu->r[30] = cpu->r[31] + 0x0000002Cu;
/* 028C345C */ cpu->r[3] = cpu->r[30];
/* 028C3460 */ Gambit_fn_02837404(cpu);
/* 028C3464 */ _t16 = cpu->r[31] + 0x00000014u;
/* 028C3464 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
/* 028C3468 */ cpu->r[0] = 0x00000001u;
/* 028C346C */ cpu->r[3] = cpu->r[30];
/* 028C3470 */ _t17 = cpu->r[31] + 0x00000010u;
/* 028C3470 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
/* 028C3474 */ Gambit_fn_0283740C(cpu);
/* 028C3478 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C3478 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028C347C */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C347C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C3480 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028C3480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028C3484 */ cpu->lr = cpu->r[0];
/* 028C3488 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C3488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C348C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3490 */ return;
L_028C3494: ; // 0x28c3494
/* 028C3494 */ _t22 = cpu->r[31] + 0x0000000Cu;
/* 028C3494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C3498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C349C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C349C */ _t24 = _t23 & 0x00000001u;
/* 028C349C */ if (_t24) goto L_028C34B0; else goto L_028C34A0;
L_028C34A0: ; // 0x28c34a0
/* 028C34A0 */ _t25 = cpu->r[3] + 0x00000000u;
/* 028C34A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028C34A4 */ _t26 = cpu->r[12] + 0x00000044u;
/* 028C34A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028C34A8 */ cpu->ctr = cpu->r[11];
/* 028C34AC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C34B0: ; // 0x28c34b0
/* 028C34B0 */ _t27 = cpu->r[31] + 0x0000000Cu;
/* 028C34B0 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
/* 028C34B4 */ cpu->r[0] = 0x00000000u;
/* 028C34B8 */ _t28 = cpu->r[31] + 0x00000014u;
/* 028C34B8 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028C34BC */ _t29 = cpu->r[31] + 0x00000010u;
/* 028C34BC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
/* 028C34C0 */ _t30 = cpu->r[1] + 0x0000000Cu;
/* 028C34C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
/* 028C34C4 */ _t31 = cpu->r[1] + 0x0000001Cu;
/* 028C34C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028C34C8 */ _t32 = cpu->r[1] + 0x00000010u;
/* 028C34C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
/* 028C34CC */ cpu->lr = cpu->r[0];
/* 028C34D0 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028C34D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
/* 028C34D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C34D8 */ return;
}
// fn_028C33FC @ 0x28c33fc
void Gambit_fn_028C33FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
L_028C33FC: ; // 0x28c33fc
/* 028C33FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C33FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C33FC */ cpu->r[1] = _t0;
/* 028C3400 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C3400 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3404 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3404 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C3408 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3408 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C340C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C340C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C3410 */ cpu->r[29] = cpu->r[4];
/* 028C3410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C3414 */ cpu->r[31] = cpu->r[3];
/* 028C3418 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3418 */ _t6 = _t5 & 0x00000001u;
/* 028C3418 */ if (_t6) goto L_028C341C; else goto L_028C3440;
L_028C341C: ; // 0x28c341c
/* 028C341C */ cpu->r[3] = cpu->r[31];
/* 028C3420 */ Gambit_fn_028C2EA4(cpu);
/* 028C3424 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C3424 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
/* 028C3428 */ _t8 = cpu->r[1] + 0x0000001Cu;
/* 028C3428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C342C */ _t9 = cpu->r[1] + 0x00000010u;
/* 028C342C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028C3430 */ cpu->lr = cpu->r[0];
/* 028C3434 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028C3434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028C3438 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C343C */ return;
L_028C3440: ; // 0x28c3440
/* 028C3440 */ cpu->r[11] = 0x00000001u;
/* 028C3444 */ _t11 = cpu->r[29] + 0x00000004u;
/* 028C3444 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028C3448 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028C3448 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
/* 028C344C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C3450 */ _t13 = cpu->r[29] + 0x00000004u;
/* 028C3450 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C3454 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3454 */ _t15 = _t14 & 0x00000001u;
/* 028C3454 */ if (_t15) goto L_028C3494; else goto L_028C3458;
L_028C3458: ; // 0x28c3458
/* 028C3458 */ cpu->r[30] = cpu->r[31] + 0x0000002Cu;
/* 028C345C */ cpu->r[3] = cpu->r[30];
/* 028C3460 */ Gambit_fn_02837404(cpu);
/* 028C3464 */ _t16 = cpu->r[31] + 0x00000014u;
/* 028C3464 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
/* 028C3468 */ cpu->r[0] = 0x00000001u;
/* 028C346C */ cpu->r[3] = cpu->r[30];
/* 028C3470 */ _t17 = cpu->r[31] + 0x00000010u;
/* 028C3470 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
/* 028C3474 */ Gambit_fn_0283740C(cpu);
/* 028C3478 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C3478 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028C347C */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C347C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C3480 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028C3480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028C3484 */ cpu->lr = cpu->r[0];
/* 028C3488 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C3488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C348C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3490 */ return;
L_028C3494: ; // 0x28c3494
/* 028C3494 */ _t22 = cpu->r[31] + 0x0000000Cu;
/* 028C3494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C3498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C349C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C349C */ _t24 = _t23 & 0x00000001u;
/* 028C349C */ if (_t24) goto L_028C34B0; else goto L_028C34A0;
L_028C34A0: ; // 0x28c34a0
/* 028C34A0 */ _t25 = cpu->r[3] + 0x00000000u;
/* 028C34A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028C34A4 */ _t26 = cpu->r[12] + 0x00000044u;
/* 028C34A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028C34A8 */ cpu->ctr = cpu->r[11];
/* 028C34AC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C34B0: ; // 0x28c34b0
/* 028C34B0 */ _t27 = cpu->r[31] + 0x0000000Cu;
/* 028C34B0 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
/* 028C34B4 */ cpu->r[0] = 0x00000000u;
/* 028C34B8 */ _t28 = cpu->r[31] + 0x00000014u;
/* 028C34B8 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028C34BC */ _t29 = cpu->r[31] + 0x00000010u;
/* 028C34BC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
/* 028C34C0 */ _t30 = cpu->r[1] + 0x0000000Cu;
/* 028C34C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
/* 028C34C4 */ _t31 = cpu->r[1] + 0x0000001Cu;
/* 028C34C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028C34C8 */ _t32 = cpu->r[1] + 0x00000010u;
/* 028C34C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
/* 028C34CC */ cpu->lr = cpu->r[0];
/* 028C34D0 */ _t33 = cpu->r[1] + 0x00000014u;
/* 028C34D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
/* 028C34D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C34D8 */ return;
}
// fn_028C34DC @ 0x28c34dc
void Gambit_fn_028C34DC(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_028C34DC: ; // 0x28c34dc
/* 028C34DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C34E0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C34E0 */ _t17 = _t16 & 0x00000001u;
/* 028C34E0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C34E0 */ goto L_028C34E4;
L_028C34E4: ; // 0x28c34e4
/* 028C34E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C34E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C34E8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C34E8 */ _t19 = _t18 & 0x00000001u;
/* 028C34E8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C34E8 */ goto L_028C34EC;
L_028C34EC: ; // 0x28c34ec
/* 028C34EC */ goto L_02801BB0;
}
// fn_028C34F0 @ 0x28c34f0
void Gambit_fn_028C34F0(CPUState* cpu) {
L_028C34F0: ; // 0x28c34f0
/* 028C34F0 */ return;
}
// fn_028C34F4 @ 0x28c34f4
void Gambit_fn_028C34F4(CPUState* cpu) {
L_028C34F4: ; // 0x28c34f4
/* 028C34F4 */ return;
}
// fn_028C34F8 @ 0x28c34f8
void Gambit_fn_028C34F8(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C34F8: ; // 0x28c34f8
/* 028C34F8 */ cpu->r[0] = 0x00000002u;
/* 028C34FC */ _t0 = cpu->r[3] + 0x00000004u;
/* 028C34FC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C3500 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028C3500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028C3504 */ cpu->r[3] = 0x00000001u;
/* 028C3508 */ return;
}
// fn_028C350C @ 0x28c350c
void Gambit_fn_028C350C(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C350C: ; // 0x28c350c
/* 028C350C */ cpu->r[12] = 0x00000000u;
/* 028C3510 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028C3510 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
/* 028C3514 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028C3514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028C3518 */ return;
}
// fn_028C351C @ 0x28c351c
void Gambit_fn_028C351C(CPUState* cpu) {
L_028C351C: ; // 0x28c351c
/* 028C351C */ return;
}
// fn_028C3520 @ 0x28c3520
void Gambit_fn_028C3520(CPUState* cpu) {
uint32_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_028C3520: ; // 0x28c3520
/* 028C3520 */ cpu->r[0] = cpu->lr;
/* 028C3524 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C3524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3524 */ cpu->r[1] = _t0;
/* 028C3528 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C3528 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C352C */ /* nop */
/* 028C3530 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3530 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C3534 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C3534 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C3538 */ cpu->r[31] = cpu->r[3];
/* 028C3538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C353C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028C353C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C3540 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3540 */ _t6 = _t5 & 0x00000001u;
/* 028C3540 */ if (_t6) goto L_028C3544; else goto L_028C3554;
L_028C3544: ; // 0x28c3544
/* 028C3544 */ cpu->r[3] = 0x0000004Cu;
/* 028C3548 */ Gambit_fn_02801A78(cpu);
/* 028C354C */ cpu->r[31] = cpu->r[3];
/* 028C354C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C3550 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3550 */ _t8 = _t7 & 0x00000001u;
/* 028C3550 */ if (_t8) goto L_028C35CC; else goto L_028C3554;
L_028C3554: ; // 0x28c3554
/* 028C3554 */ cpu->r[0] = 0x00000001u;
/* 028C3558 */ cpu->r[10] = 0x10140000u;
/* 028C355C */ _t9 = cpu->r[31] + 0x00000020u;
/* 028C355C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C3560 */ cpu->r[0] = 0x10140000u;
/* 028C3564 */ cpu->r[12] = 0x10140000u;
/* 028C3568 */ _t10 = cpu->r[10] + 0xFFFF93C0u;
/* 028C3568 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028C356C */ cpu->r[0] = cpu->r[0] + 0xFFFF93B0u;
/* 028C3570 */ _t11 = cpu->r[12] + 0xFFFF93C4u;
/* 028C3570 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028C3574 */ cpu->r[10] = 0x00000000u;
/* 028C3578 */ _t12 = cpu->r[31] + 0x00000000u;
/* 028C3578 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028C357C */ cpu->f[1] = cpu->f[31];
/* 028C3580 */ _t13 = cpu->r[31] + 0x00000014u;
/* 028C3580 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
/* 028C3584 */ cpu->r[11] = 0x00000060u;
/* 028C3588 */ _t14 = cpu->r[31] + 0x0000001Cu;
/* 028C3588 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028C358C */ cpu->r[3] = cpu->r[31] + 0x00000024u;
/* 028C3590 */ _t15 = cpu->r[31] + 0x00000018u;
/* 028C3590 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
/* 028C3594 */ Gambit_fn_028CA0E4(cpu);
/* 028C3598 */ cpu->f[1] = cpu->f[31];
/* 028C359C */ cpu->r[3] = cpu->r[31] + 0x00000038u;
/* 028C35A0 */ Gambit_fn_028CA0E4(cpu);
/* 028C35A4 */ cpu->r[12] = 0x10140000u;
/* 028C35A8 */ _t16 = cpu->r[12] + 0xFFFF93C8u;
/* 028C35A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
/* 028C35AC */ cpu->f[1] = cpu->f[31];
/* 028C35B0 */ cpu->f[2] = cpu->f[31];
/* 028C35B4 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
/* 028C35B8 */ Gambit_fn_028CA1D8(cpu);
/* 028C35BC */ cpu->f[1] = cpu->f[31];
/* 028C35C0 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
/* 028C35C4 */ cpu->f[2] = cpu->f[31];
/* 028C35C8 */ Gambit_fn_028CA1D8(cpu);
L_028C35CC: ; // 0x28c35cc
/* 028C35CC */ _t17 = cpu->r[1] + 0x00000018u;
/* 028C35CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
/* 028C35D0 */ cpu->r[3] = cpu->r[31];
/* 028C35D4 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C35D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C35D8 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C35D8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
/* 028C35DC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C35DC */ _t21 = _t20 & 0x00000001u;
/* 028C35DC */ if (_t21) goto L_028C35E0; // else: addr-0 trap, fall-through
L_028C35E0: ; // 0x28c35e0
/* 028C35E0 */ _t22 = cpu->r[1] + 0x00000024u;
/* 028C35E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C35E4 */ cpu->lr = cpu->r[0];
/* 028C35E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C35EC */ return;
}
// fn_028C3524 @ 0x28c3524
void Gambit_fn_028C3524(CPUState* cpu) {
uint32_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_028C3524: ; // 0x28c3524
/* 028C3524 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C3524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3524 */ cpu->r[1] = _t0;
/* 028C3528 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C3528 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C352C */ /* nop */
/* 028C3530 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3530 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C3534 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C3534 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C3538 */ cpu->r[31] = cpu->r[3];
/* 028C3538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C353C */ _t4 = cpu->r[1] + 0x00000024u;
/* 028C353C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C3540 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3540 */ _t6 = _t5 & 0x00000001u;
/* 028C3540 */ if (_t6) goto L_028C3544; else goto L_028C3554;
L_028C3544: ; // 0x28c3544
/* 028C3544 */ cpu->r[3] = 0x0000004Cu;
/* 028C3548 */ Gambit_fn_02801A78(cpu);
/* 028C354C */ cpu->r[31] = cpu->r[3];
/* 028C354C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C3550 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3550 */ _t8 = _t7 & 0x00000001u;
/* 028C3550 */ if (_t8) goto L_028C35CC; else goto L_028C3554;
L_028C3554: ; // 0x28c3554
/* 028C3554 */ cpu->r[0] = 0x00000001u;
/* 028C3558 */ cpu->r[10] = 0x10140000u;
/* 028C355C */ _t9 = cpu->r[31] + 0x00000020u;
/* 028C355C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C3560 */ cpu->r[0] = 0x10140000u;
/* 028C3564 */ cpu->r[12] = 0x10140000u;
/* 028C3568 */ _t10 = cpu->r[10] + 0xFFFF93C0u;
/* 028C3568 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028C356C */ cpu->r[0] = cpu->r[0] + 0xFFFF93B0u;
/* 028C3570 */ _t11 = cpu->r[12] + 0xFFFF93C4u;
/* 028C3570 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028C3574 */ cpu->r[10] = 0x00000000u;
/* 028C3578 */ _t12 = cpu->r[31] + 0x00000000u;
/* 028C3578 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028C357C */ cpu->f[1] = cpu->f[31];
/* 028C3580 */ _t13 = cpu->r[31] + 0x00000014u;
/* 028C3580 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
/* 028C3584 */ cpu->r[11] = 0x00000060u;
/* 028C3588 */ _t14 = cpu->r[31] + 0x0000001Cu;
/* 028C3588 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028C358C */ cpu->r[3] = cpu->r[31] + 0x00000024u;
/* 028C3590 */ _t15 = cpu->r[31] + 0x00000018u;
/* 028C3590 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
/* 028C3594 */ Gambit_fn_028CA0E4(cpu);
/* 028C3598 */ cpu->f[1] = cpu->f[31];
/* 028C359C */ cpu->r[3] = cpu->r[31] + 0x00000038u;
/* 028C35A0 */ Gambit_fn_028CA0E4(cpu);
/* 028C35A4 */ cpu->r[12] = 0x10140000u;
/* 028C35A8 */ _t16 = cpu->r[12] + 0xFFFF93C8u;
/* 028C35A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
/* 028C35AC */ cpu->f[1] = cpu->f[31];
/* 028C35B0 */ cpu->f[2] = cpu->f[31];
/* 028C35B4 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
/* 028C35B8 */ Gambit_fn_028CA1D8(cpu);
/* 028C35BC */ cpu->f[1] = cpu->f[31];
/* 028C35C0 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
/* 028C35C4 */ cpu->f[2] = cpu->f[31];
/* 028C35C8 */ Gambit_fn_028CA1D8(cpu);
L_028C35CC: ; // 0x28c35cc
/* 028C35CC */ _t17 = cpu->r[1] + 0x00000018u;
/* 028C35CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
/* 028C35D0 */ cpu->r[3] = cpu->r[31];
/* 028C35D4 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C35D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C35D8 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C35D8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
/* 028C35DC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C35DC */ _t21 = _t20 & 0x00000001u;
/* 028C35DC */ if (_t21) goto L_028C35E0; // else: addr-0 trap, fall-through
L_028C35E0: ; // 0x28c35e0
/* 028C35E0 */ _t22 = cpu->r[1] + 0x00000024u;
/* 028C35E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C35E4 */ cpu->lr = cpu->r[0];
/* 028C35E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C35EC */ return;
}
// fn_028C35F0 @ 0x28c35f0
void Gambit_fn_028C35F0(CPUState* 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_028C35F0: ; // 0x28c35f0
/* 028C35F0 */ cpu->r[0] = cpu->lr;
/* 028C35F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C35F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C35F4 */ cpu->r[1] = _t0;
/* 028C35F8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C35F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C35FC */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C35FC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028C3600 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C3600 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C3604 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C3604 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C3608 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C3608 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C360C */ cpu->r[29] = 0x101D0000u;
/* 028C3610 */ cpu->r[30] = cpu->r[3];
/* 028C3614 */ _t6 = cpu->r[29] + 0xFFFF9A8Cu;
/* 028C3614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C3614 */ cpu->r[29] = _t6;
/* 028C3618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C361C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C361C */ _t8 = _t7 & 0x00000001u;
/* 028C361C */ if (_t8) goto L_028C3620; else goto L_028C3670;
L_028C3620: ; // 0x28c3620
/* 028C3620 */ cpu->r[4] = cpu->r[30];
/* 028C3624 */ cpu->r[3] = 0x0000004Cu;
/* 028C3628 */ cpu->r[5] = 0x00000004u;
/* 028C362C */ Gambit_fn_02801ADC(cpu);
/* 028C3630 */ cpu->r[31] = cpu->r[3];
/* 028C3634 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028C3634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C3638 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3638 */ _t10 = _t9 & 0x00000001u;
/* 028C3638 */ if (_t10) goto L_028C3658; else goto L_028C363C;
L_028C363C: ; // 0x28c363c
/* 028C363C */ cpu->r[5] = 0x00000003u;
/* 028C3640 */ cpu->r[4] = cpu->r[30];
/* 028C3644 */ cpu->r[3] = cpu->r[28];
/* 028C3648 */ Gambit_fn_02821D88(cpu);
/* 028C364C */ cpu->r[0] = 0x10140000u;
/* 028C3650 */ cpu->r[0] = cpu->r[0] + 0xFFFF9428u;
/* 028C3654 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028C3654 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C3658: ; // 0x28c3658
/* 028C3658 */ cpu->r[12] = 0x101D0000u;
/* 028C365C */ cpu->r[3] = cpu->r[31];
/* 028C365C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3660 */ _t12 = cpu->r[12] + 0xFFFF9A90u;
/* 028C3660 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028C3664 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3664 */ _t14 = _t13 & 0x00000001u;
/* 028C3664 */ if (_t14) goto L_028C366C; else goto L_028C3668;
L_028C3668: ; // 0x28c3668
/* 028C3668 */ Gambit_fn_028C3520(cpu);
L_028C366C: ; // 0x28c366c
/* 028C366C */ _t15 = cpu->r[29] + 0x00000000u;
/* 028C366C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028C3670: ; // 0x28c3670
/* 028C3670 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C3670 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028C3674 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C3674 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028C3678 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028C3678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C367C */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C367C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028C3680 */ cpu->lr = cpu->r[0];
/* 028C3684 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C3684 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028C3688 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C368C */ return;
}
// fn_028C35F4 @ 0x28c35f4
void Gambit_fn_028C35F4(CPUState* 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_028C35F4: ; // 0x28c35f4
/* 028C35F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C35F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C35F4 */ cpu->r[1] = _t0;
/* 028C35F8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C35F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C35FC */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C35FC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028C3600 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C3600 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C3604 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C3604 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C3608 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C3608 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C360C */ cpu->r[29] = 0x101D0000u;
/* 028C3610 */ cpu->r[30] = cpu->r[3];
/* 028C3614 */ _t6 = cpu->r[29] + 0xFFFF9A8Cu;
/* 028C3614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C3614 */ cpu->r[29] = _t6;
/* 028C3618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C361C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C361C */ _t8 = _t7 & 0x00000001u;
/* 028C361C */ if (_t8) goto L_028C3620; else goto L_028C3670;
L_028C3620: ; // 0x28c3620
/* 028C3620 */ cpu->r[4] = cpu->r[30];
/* 028C3624 */ cpu->r[3] = 0x0000004Cu;
/* 028C3628 */ cpu->r[5] = 0x00000004u;
/* 028C362C */ Gambit_fn_02801ADC(cpu);
/* 028C3630 */ cpu->r[31] = cpu->r[3];
/* 028C3634 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
/* 028C3634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C3638 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3638 */ _t10 = _t9 & 0x00000001u;
/* 028C3638 */ if (_t10) goto L_028C3658; else goto L_028C363C;
L_028C363C: ; // 0x28c363c
/* 028C363C */ cpu->r[5] = 0x00000003u;
/* 028C3640 */ cpu->r[4] = cpu->r[30];
/* 028C3644 */ cpu->r[3] = cpu->r[28];
/* 028C3648 */ Gambit_fn_02821D88(cpu);
/* 028C364C */ cpu->r[0] = 0x10140000u;
/* 028C3650 */ cpu->r[0] = cpu->r[0] + 0xFFFF9428u;
/* 028C3654 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028C3654 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C3658: ; // 0x28c3658
/* 028C3658 */ cpu->r[12] = 0x101D0000u;
/* 028C365C */ cpu->r[3] = cpu->r[31];
/* 028C365C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3660 */ _t12 = cpu->r[12] + 0xFFFF9A90u;
/* 028C3660 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028C3664 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3664 */ _t14 = _t13 & 0x00000001u;
/* 028C3664 */ if (_t14) goto L_028C366C; else goto L_028C3668;
L_028C3668: ; // 0x28c3668
/* 028C3668 */ Gambit_fn_028C3520(cpu);
L_028C366C: ; // 0x28c366c
/* 028C366C */ _t15 = cpu->r[29] + 0x00000000u;
/* 028C366C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
L_028C3670: ; // 0x28c3670
/* 028C3670 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C3670 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028C3674 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C3674 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028C3678 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028C3678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C367C */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C367C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028C3680 */ cpu->lr = cpu->r[0];
/* 028C3684 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C3684 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028C3688 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C368C */ return;
}
// fn_028C3690 @ 0x28c3690
void Gambit_fn_028C3690(CPUState* cpu) {
uint32_t _t0, _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_028C3690: ; // 0x28c3690
/* 028C3690 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C3690 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3690 */ cpu->r[1] = _t0;
/* 028C3694 */ cpu->r[0] = cpu->lr;
/* 028C3698 */ /* nop */
/* 028C369C */ cpu->r[27] = cpu->r[3];
/* 028C369C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028C36A0 */ cpu->r[28] = cpu->r[4];
/* 028C36A4 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028C36A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C36A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C36A8 */ _t3 = _t2 & 0x00000001u;
/* 028C36A8 */ if (_t3) goto L_028C3740; else goto L_028C36AC;
L_028C36AC: ; // 0x28c36ac
/* 028C36AC */ _t4 = cpu->r[27] + 0x00000014u;
/* 028C36AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
/* 028C36B0 */ cpu->r[0] = 0x10140000u;
/* 028C36B4 */ cpu->r[0] = cpu->r[0] + 0xFFFF93B0u;
/* 028C36B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C36BC */ _t5 = cpu->r[27] + 0x00000000u;
/* 028C36BC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C36C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C36C0 */ _t7 = _t6 & 0x00000001u;
/* 028C36C0 */ if (_t7) goto L_028C3730; else goto L_028C36C4;
L_028C36C4: ; // 0x28c36c4
/* 028C36C4 */ cpu->r[31] = 0x00000000u;
/* 028C36C8 */ cpu->r[30] = 0x00000002u;
L_028C36CC: ; // 0x28c36cc
/* 028C36CC */ cpu->r[26] = 0x00000000u;
/* 028C36D0 */ cpu->r[29] = 0x00000003u;
L_028C36D4: ; // 0x28c36d4
/* 028C36D4 */ _t8 = cpu->r[11] + cpu->r[31];
/* 028C36D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028C36D8 */ _t9 = cpu->r[7] + cpu->r[26];
/* 028C36D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C36DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C36E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C36E0 */ _t11 = _t10 & 0x00000001u;
/* 028C36E0 */ if (_t11) goto L_028C36FC; else goto L_028C36E4;
L_028C36E4: ; // 0x28c36e4
/* 028C36E4 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028C36E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028C36E8 */ _t13 = cpu->r[8] + 0x0000000Cu;
/* 028C36E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
/* 028C36EC */ cpu->ctr = cpu->r[9];
/* 028C36F0 */ cpu->r[4] = 0x00000003u;
/* 028C36F4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C36F8 */ _t14 = cpu->r[27] + 0x00000014u;
/* 028C36F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
L_028C36FC: ; // 0x28c36fc
/* 028C36FC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
/* 028C36FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C3700 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
/* 028C3704 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3704 */ _t16 = _t15 & 0x00000001u;
/* 028C3704 */ if (_t16) goto L_028C3708; else goto L_028C36D4;
L_028C3708: ; // 0x28c3708
/* 028C3708 */ _t17 = cpu->r[11] + cpu->r[31];
/* 028C3708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
/* 028C370C */ Gambit_fn_02801BB4(cpu);
/* 028C3710 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C3710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C3714 */ _t18 = cpu->r[27] + 0x00000014u;
/* 028C3714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028C3718 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C371C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C371C */ _t20 = _t19 & 0x00000001u;
/* 028C371C */ if (_t20) goto L_028C3720; else goto L_028C36CC;
L_028C3720: ; // 0x28c3720
/* 028C3720 */ cpu->r[3] = cpu->r[11];
/* 028C3724 */ Gambit_fn_02801BB4(cpu);
/* 028C3728 */ cpu->r[0] = 0x00000000u;
/* 028C372C */ _t21 = cpu->r[27] + 0x00000014u;
/* 028C372C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
L_028C3730: ; // 0x28c3730
/* 028C3730 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C3730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C3734 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3734 */ _t23 = _t22 & 0x00000001u;
/* 028C3734 */ if (_t23) goto L_028C3740; else goto L_028C3738;
L_028C3738: ; // 0x28c3738
/* 028C3738 */ cpu->r[3] = cpu->r[27];
/* 028C373C */ Gambit_fn_02801BB0(cpu);
L_028C3740: ; // 0x28c3740
/* 028C3740 */ /* nop */
/* 028C3744 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028C3744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C3748 */ cpu->lr = cpu->r[0];
/* 028C374C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C3750 */ return;
}
// fn_028C3754 @ 0x28c3754
void Gambit_fn_028C3754(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C3754: ; // 0x28c3754
/* 028C3754 */ cpu->r[0] = cpu->lr;
/* 028C3758 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C3758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3758 */ cpu->r[1] = _t0;
/* 028C375C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C375C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3760 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3760 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C3764 */ cpu->r[11] = 0x101D0000u;
/* 028C3768 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3768 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C376C */ _t4 = cpu->r[11] + 0xFFFF9A90u;
/* 028C376C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C376C */ cpu->r[11] = _t4;
/* 028C3770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3774 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3774 */ _t6 = _t5 & 0x00000001u;
/* 028C3774 */ if (_t6) goto L_028C37A8; else goto L_028C3778;
L_028C3778: ; // 0x28c3778
/* 028C3778 */ cpu->r[30] = 0x00000000u;
/* 028C377C */ _t7 = cpu->r[11] + 0x00000000u;
/* 028C377C */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C3780 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028C3780 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028C3784 */ _t9 = cpu->r[10] + 0x0000000Cu;
/* 028C3784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3788 */ cpu->ctr = cpu->r[0];
/* 028C378C */ cpu->r[4] = 0x00000002u;
/* 028C3790 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C3794 */ cpu->r[31] = 0x101D0000u;
/* 028C3798 */ _t10 = cpu->r[31] + 0xFFFF9A8Cu;
/* 028C3798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C379C */ cpu->r[4] = 0x00000003u;
/* 028C37A0 */ Gambit_fn_028C3690(cpu);
/* 028C37A4 */ _t11 = cpu->r[31] + 0xFFFF9A8Cu;
/* 028C37A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
L_028C37A8: ; // 0x28c37a8
/* 028C37A8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028C37A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C37AC */ _t13 = cpu->r[1] + 0x00000008u;
/* 028C37AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028C37B0 */ cpu->lr = cpu->r[0];
/* 028C37B4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028C37B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028C37B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C37BC */ return;
}
// fn_028C3758 @ 0x28c3758
void Gambit_fn_028C3758(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C3758: ; // 0x28c3758
/* 028C3758 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C3758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3758 */ cpu->r[1] = _t0;
/* 028C375C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C375C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3760 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3760 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C3764 */ cpu->r[11] = 0x101D0000u;
/* 028C3768 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3768 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C376C */ _t4 = cpu->r[11] + 0xFFFF9A90u;
/* 028C376C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C376C */ cpu->r[11] = _t4;
/* 028C3770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3774 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3774 */ _t6 = _t5 & 0x00000001u;
/* 028C3774 */ if (_t6) goto L_028C37A8; else goto L_028C3778;
L_028C3778: ; // 0x28c3778
/* 028C3778 */ cpu->r[30] = 0x00000000u;
/* 028C377C */ _t7 = cpu->r[11] + 0x00000000u;
/* 028C377C */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C3780 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028C3780 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028C3784 */ _t9 = cpu->r[10] + 0x0000000Cu;
/* 028C3784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3788 */ cpu->ctr = cpu->r[0];
/* 028C378C */ cpu->r[4] = 0x00000002u;
/* 028C3790 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C3794 */ cpu->r[31] = 0x101D0000u;
/* 028C3798 */ _t10 = cpu->r[31] + 0xFFFF9A8Cu;
/* 028C3798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C379C */ cpu->r[4] = 0x00000003u;
/* 028C37A0 */ Gambit_fn_028C3690(cpu);
/* 028C37A4 */ _t11 = cpu->r[31] + 0xFFFF9A8Cu;
/* 028C37A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
L_028C37A8: ; // 0x28c37a8
/* 028C37A8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028C37A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C37AC */ _t13 = cpu->r[1] + 0x00000008u;
/* 028C37AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028C37B0 */ cpu->lr = cpu->r[0];
/* 028C37B4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028C37B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028C37B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C37BC */ return;
}
// fn_028C37C0 @ 0x28c37c0
void Gambit_fn_028C37C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028C37C0: ; // 0x28c37c0
/* 028C37C0 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
/* 028C37C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C37C0 */ cpu->r[1] = _t0;
/* 028C37C4 */ /* nop */
/* 028C37C8 */ cpu->r[14] = cpu->r[5];
/* 028C37CC */ cpu->r[30] = cpu->r[3];
/* 028C37D0 */ cpu->r[31] = cpu->r[4];
/* 028C37D4 */ cpu->r[0] = cpu->lr;
/* 028C37D8 */ cpu->r[5] = 0x00000004u;
/* 028C37DC */ cpu->r[3] = 0x00000008u;
/* 028C37E0 */ cpu->r[4] = cpu->r[14];
/* 028C37E4 */ _t1 = cpu->r[1] + 0x0000007Cu;
/* 028C37E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C37E8 */ Gambit_fn_02801ADC(cpu);
/* 028C37EC */ cpu->r[28] = 0x00000002u;
/* 028C37F0 */ cpu->r[27] = 0x00000000u;
/* 028C37F4 */ _t2 = cpu->r[30] + 0x00000014u;
/* 028C37F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
L_028C37F8: ; // 0x28c37f8
/* 028C37F8 */ _t3 = cpu->r[30] + 0x00000014u;
/* 028C37F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t3);
/* 028C37FC */ cpu->r[4] = cpu->r[14];
/* 028C3800 */ cpu->r[5] = 0x00000004u;
/* 028C3804 */ cpu->r[3] = 0x0000000Cu;
/* 028C3808 */ Gambit_fn_02801ADC(cpu);
/* 028C380C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
/* 028C380C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C3810 */ _t4 = cpu->r[29] + cpu->r[27];
/* 028C3810 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
/* 028C3814 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
/* 028C3818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3818 */ _t6 = _t5 & 0x00000001u;
/* 028C3818 */ if (_t6) goto L_028C381C; else goto L_028C37F8;
L_028C381C: ; // 0x28c381c
/* 028C381C */ cpu->r[15] = 0x00000000u;
/* 028C3820 */ cpu->r[28] = 0x101F0000u;
/* 028C3824 */ cpu->r[29] = 0x10140000u;
/* 028C3828 */ cpu->r[18] = 0x00000002u;
/* 028C382C */ cpu->r[25] = cpu->r[31];
/* 028C3830 */ cpu->r[29] = cpu->r[29] + 0xFFFF9378u;
/* 028C3834 */ cpu->r[28] = cpu->r[28] + 0x00007100u;
/* 028C3838 */ cpu->r[26] = cpu->r[15];
L_028C383C: ; // 0x28c383c
/* 028C383C */ cpu->r[19] = 0x00000000u;
/* 028C3840 */ cpu->r[25] = cpu->r[25] + 0x0000000Cu;
/* 028C3844 */ cpu->r[7] = cpu->r[15] + 0xFFFFFFFFu;
/* 028C3848 */ cpu->r[23] = cpu->r[19];
/* 028C384C */ cpu->r[24] = cpu->r[1] + 0x0000002Cu;
/* 028C3850 */ cpu->r[16] = cpu->r[15] - cpu->r[7];
/* 028C3854 */ cpu->r[17] = 0x00000003u;
/* 028C3858 */ cpu->r[22] = rbrew_rlwinm(cpu->r[15], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C385C */ cpu->r[21] = cpu->r[19];
/* 028C3860 */ cpu->r[20] = cpu->r[25] + 0xFFFFFFFCu;
/* 028C3864 */ cpu->r[27] = cpu->r[28] + cpu->r[26];
L_028C3868: ; // 0x28c3868
/* 028C3868 */ cpu->r[4] = cpu->r[14];
/* 028C386C */ cpu->r[3] = 0x00000018u;
/* 028C3870 */ cpu->r[5] = 0x00000004u;
/* 028C3874 */ Gambit_fn_02801AC8(cpu);
/* 028C3878 */ cpu->r[12] = cpu->r[3];
/* 028C3878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C387C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C387C */ _t8 = _t7 & 0x00000001u;
/* 028C387C */ if (_t8) goto L_028C388C; else goto L_028C3880;
L_028C3880: ; // 0x28c3880
/* 028C3880 */ cpu->r[3] = cpu->r[12];
/* 028C3884 */ Gambit_fn_028C2AE8(cpu);
/* 028C3888 */ cpu->r[12] = cpu->r[3];
L_028C388C: ; // 0x28c388c
/* 028C388C */ _t9 = cpu->r[30] + 0x00000014u;
/* 028C388C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028C3890 */ _t10 = cpu->r[8] + cpu->r[22];
/* 028C3890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
/* 028C3894 */ cpu->r[0] = 0x00000000u;
/* 028C3898 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], 0x00000002u);
/* 028C389C */ _t11 = cpu->r[9] + cpu->r[21];
/* 028C389C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028C38A0 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C38A0 */ _t13 = _t12 & 0x00000001u;
/* 028C38A0 */ if (_t13) goto L_028C38B4; else goto L_028C38A4;
L_028C38A4: ; // 0x28c38a4
/* 028C38A4 */ cpu->r[10] = cpu->r[19] + 0x10140000u;
/* 028C38A8 */ _t14 = cpu->r[10] + 0xFFFF93CCu;
/* 028C38A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
/* 028C38AC */ _t15 = cpu->r[1] + 0x0000002Cu;
/* 028C38AC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
/* 028C38B0 */ _t16 = cpu->r[24] + 0x00000000u;
/* 028C38B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
L_028C38B4: ; // 0x28c38b4
/* 028C38B4 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028C38B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[16]);
/* 028C38B8 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C38B8 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028C38BC */ _t19 = cpu->r[31] + 0x00000004u;
/* 028C38BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C38C0 */ _t20 = cpu->r[31] + 0x00000008u;
/* 028C38C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028C38C4 */ _t21 = cpu->r[1] + 0x00000024u;
/* 028C38C4 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028C38C8 */ _t22 = cpu->r[1] + 0x00000028u;
/* 028C38C8 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
/* 028C38CC */ _t23 = cpu->r[1] + 0x00000018u;
/* 028C38CC */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
/* 028C38D0 */ _t24 = cpu->r[27] + cpu->r[23];
/* 028C38D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028C38D4 */ _t25 = cpu->r[31] + 0x00000000u;
/* 028C38D4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t25);
/* 028C38D8 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028C38D8 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
/* 028C38DC */ _t27 = cpu->r[1] + 0x00000020u;
/* 028C38DC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[11]);
/* 028C38E0 */ _t28 = cpu->r[20] + 0x00000004u;
/* 028C38E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C38E0 */ cpu->r[20] = _t28;
/* 028C38E4 */ _t29 = cpu->r[30] + 0x00000014u;
/* 028C38E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
/* 028C38E8 */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028C38E8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028C38EC */ _t31 = cpu->r[1] + 0x00000008u;
/* 028C38EC */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
/* 028C38F0 */ _t32 = cpu->r[4] + cpu->r[22];
/* 028C38F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
/* 028C38F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C38F8 */ _t33 = cpu->r[5] + cpu->r[21];
/* 028C38F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
/* 028C38FC */ cpu->r[5] = cpu->r[14];
/* 028C3900 */ Gambit_fn_028C2C1C(cpu);
/* 028C3904 */ cpu->r[21] = cpu->r[21] + 0x00000004u;
/* 028C3908 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
/* 028C3908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
/* 028C390C */ cpu->r[19] = cpu->r[19] + 0x00000001u;
/* 028C3910 */ cpu->r[23] = cpu->r[23] + 0x00000008u;
/* 028C3914 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3914 */ _t35 = _t34 & 0x00000001u;
/* 028C3914 */ if (_t35) goto L_028C3918; else goto L_028C3868;
L_028C3918: ; // 0x28c3918
/* 028C3918 */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu;
/* 028C3918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
/* 028C391C */ cpu->r[15] = cpu->r[15] + 0x00000001u;
/* 028C3920 */ cpu->r[26] = cpu->r[26] + 0x00000018u;
/* 028C3924 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3924 */ _t37 = _t36 & 0x00000001u;
/* 028C3924 */ if (_t37) goto L_028C3928; else goto L_028C383C;
L_028C3928: ; // 0x28c3928
/* 028C3928 */ /* nop */
/* 028C392C */ _t38 = cpu->r[1] + 0x0000007Cu;
/* 028C392C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C3930 */ cpu->lr = cpu->r[0];
/* 028C3934 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
/* 028C3938 */ return;
}
// fn_028C393C @ 0x28c393c
void Gambit_fn_028C393C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028C393C: ; // 0x28c393c
/* 028C393C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C393C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C393C */ cpu->r[1] = _t0;
/* 028C3940 */ /* nop */
/* 028C3944 */ cpu->r[0] = cpu->lr;
/* 028C3948 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028C3948 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C394C */ cpu->r[27] = cpu->r[3];
/* 028C3950 */ _t2 = cpu->r[27] + 0x00000014u;
/* 028C3950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028C3954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C3958 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3958 */ _t4 = _t3 & 0x00000001u;
/* 028C3958 */ if (_t4) goto L_028C39B0; else goto L_028C395C;
L_028C395C: ; // 0x28c395c
/* 028C395C */ cpu->r[31] = 0x00000000u;
/* 028C3960 */ cpu->r[29] = 0x00000002u;
L_028C3964: ; // 0x28c3964
/* 028C3964 */ cpu->r[30] = 0x00000000u;
/* 028C3968 */ cpu->r[28] = 0x00000003u;
L_028C396C: ; // 0x28c396c
/* 028C396C */ _t5 = cpu->r[12] + cpu->r[31];
/* 028C396C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028C3970 */ _t6 = cpu->r[11] + cpu->r[30];
/* 028C3970 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C3974 */ Gambit_fn_028C2D08(cpu);
/* 028C3978 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
/* 028C3978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C397C */ cpu->r[30] = cpu->r[30] + 0x00000004u;
/* 028C3980 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3980 */ _t8 = _t7 & 0x00000001u;
/* 028C3980 */ if (_t8) goto L_028C398C; else goto L_028C3984;
L_028C3984: ; // 0x28c3984
/* 028C3984 */ _t9 = cpu->r[27] + 0x00000014u;
/* 028C3984 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028C3988 */ goto L_028C396C;
L_028C398C: ; // 0x28c398c
/* 028C398C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
/* 028C398C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C3990 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C3994 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3994 */ _t11 = _t10 & 0x00000001u;
/* 028C3994 */ if (_t11) goto L_028C39A0; else goto L_028C3998;
L_028C3998: ; // 0x28c3998
/* 028C3998 */ _t12 = cpu->r[27] + 0x00000014u;
/* 028C3998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C399C */ goto L_028C3964;
L_028C39A0: ; // 0x28c39a0
/* 028C39A0 */ cpu->r[3] = cpu->r[27] + 0x00000024u;
/* 028C39A4 */ Gambit_fn_028CA194(cpu);
/* 028C39A8 */ cpu->r[3] = cpu->r[27] + 0x00000038u;
/* 028C39AC */ Gambit_fn_028CA194(cpu);
L_028C39B0: ; // 0x28c39b0
/* 028C39B0 */ /* nop */
/* 028C39B4 */ _t13 = cpu->r[1] + 0x00000024u;
/* 028C39B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C39B8 */ cpu->lr = cpu->r[0];
/* 028C39BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C39C0 */ return;
}
// fn_028C39C4 @ 0x28c39c4
void Gambit_fn_028C39C4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028C39C4: ; // 0x28c39c4
/* 028C39C4 */ _t0 = cpu->r[3] + 0x00000014u;
/* 028C39C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
/* 028C39C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C39CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C39CC */ _t2 = _t1 & 0x00000001u;
/* 028C39CC */ if (_t2) goto L_028C39E8; else goto L_028C39D0;
L_028C39D0: ; // 0x28c39d0
/* 028C39D0 */ _t3 = cpu->r[4] + 0x00000000u;
/* 028C39D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C39D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C39D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C39D8 */ _t5 = _t4 & 0x00000001u;
/* 028C39D8 */ if (_t5) goto L_028C39E8; else goto L_028C39DC;
L_028C39DC: ; // 0x28c39dc
/* 028C39DC */ _t6 = cpu->r[5] + 0x00000000u;
/* 028C39DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C39E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
/* 028C39E4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C39E4 */ _t8 = _t7 & 0x00000001u;
/* 028C39E4 */ if (_t8) goto L_028C39E8; else goto L_028C39F0;
L_028C39E8: ; // 0x28c39e8
/* 028C39E8 */ cpu->r[3] = 0x00000000u;
/* 028C39EC */ return;
L_028C39F0: ; // 0x28c39f0
/* 028C39F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028C39F4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C39F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C39FC */ _t9 = cpu->r[10] + cpu->r[9];
/* 028C39FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3A00 */ _t10 = cpu->r[12] + cpu->r[0];
/* 028C3A00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C3A04 */ return;
}
// fn_028C3A08 @ 0x28c3a08
void Gambit_fn_028C3A08(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C3A08: ; // 0x28c3a08
/* 028C3A08 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028C3A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028C3A0C */ _t1 = cpu->r[3] + 0x00000020u;
/* 028C3A0C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C3A10 */ return;
}
// fn_028C3A14 @ 0x28c3a14
void Gambit_fn_028C3A14(CPUState* cpu) {
uint32_t _t0;
L_028C3A14: ; // 0x28c3a14
/* 028C3A14 */ _t0 = cpu->r[3] + 0x00000024u;
/* 028C3A14 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
/* 028C3A18 */ return;
}
// fn_028C3A1C @ 0x28c3a1c
void Gambit_fn_028C3A1C(CPUState* cpu) {
uint32_t _t0;
L_028C3A1C: ; // 0x28c3a1c
/* 028C3A1C */ _t0 = cpu->r[3] + 0x00000038u;
/* 028C3A1C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
/* 028C3A20 */ return;
}
// fn_028C3A24 @ 0x28c3a24
void Gambit_fn_028C3A24(CPUState* cpu) {
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_028C3A24: ; // 0x28c3a24
/* 028C3A24 */ cpu->r[0] = cpu->lr;
/* 028C3A28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3A28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3A28 */ cpu->r[1] = _t0;
/* 028C3A2C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C3A2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C3A30 */ cpu->r[31] = cpu->r[4];
/* 028C3A34 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C3A34 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C3A38 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C3A38 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028C3A3C */ cpu->r[30] = cpu->r[3];
/* 028C3A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C3A40 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C3A40 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028C3A44 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C3A44 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C3A48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3A48 */ _t7 = _t6 & 0x00000001u;
/* 028C3A48 */ if (_t7) goto L_028C3AA0; else goto L_028C3A4C;
L_028C3A4C: ; // 0x28c3a4c
/* 028C3A4C */ cpu->r[0] = 0x10140000u;
/* 028C3A50 */ cpu->r[0] = cpu->r[0] + 0xFFFF9428u;
/* 028C3A54 */ cpu->r[12] = 0x101D0000u;
/* 028C3A58 */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028C3A58 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C3A5C */ _t9 = cpu->r[12] + 0xFFFF9A90u;
/* 028C3A5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028C3A5C */ cpu->r[12] = _t9;
/* 028C3A60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
/* 028C3A64 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3A64 */ _t11 = _t10 & 0x00000001u;
/* 028C3A64 */ if (_t11) goto L_028C3A68; else goto L_028C3A84;
L_028C3A68: ; // 0x28c3a68
/* 028C3A68 */ cpu->r[29] = 0x101D0000u;
/* 028C3A6C */ cpu->r[28] = 0x00000000u;
/* 028C3A70 */ _t12 = cpu->r[29] + 0xFFFF9A8Cu;
/* 028C3A70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C3A74 */ cpu->r[4] = 0x00000002u;
/* 028C3A78 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028C3A78 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028C3A7C */ Gambit_fn_028C3690(cpu);
/* 028C3A80 */ _t14 = cpu->r[29] + 0xFFFF9A8Cu;
/* 028C3A80 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
L_028C3A84: ; // 0x28c3a84
/* 028C3A84 */ cpu->r[3] = cpu->r[30];
/* 028C3A88 */ cpu->r[4] = 0x00000000u;
/* 028C3A8C */ Gambit_fn_02821E68(cpu);
/* 028C3A90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C3A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C3A94 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3A94 */ _t16 = _t15 & 0x00000001u;
/* 028C3A94 */ if (_t16) goto L_028C3AA0; else goto L_028C3A98;
L_028C3A98: ; // 0x28c3a98
/* 028C3A98 */ cpu->r[3] = cpu->r[30];
/* 028C3A9C */ Gambit_fn_02801BB0(cpu);
L_028C3AA0: ; // 0x28c3aa0
/* 028C3AA0 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028C3AA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028C3AA4 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C3AA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028C3AA8 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C3AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C3AAC */ _t20 = cpu->r[1] + 0x00000010u;
/* 028C3AAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028C3AB0 */ cpu->lr = cpu->r[0];
/* 028C3AB4 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C3AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C3AB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3ABC */ return;
}
// fn_028C3A28 @ 0x28c3a28
void Gambit_fn_028C3A28(CPUState* cpu) {
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_028C3A28: ; // 0x28c3a28
/* 028C3A28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3A28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3A28 */ cpu->r[1] = _t0;
/* 028C3A2C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C3A2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C3A30 */ cpu->r[31] = cpu->r[4];
/* 028C3A34 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C3A34 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C3A38 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C3A38 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028C3A3C */ cpu->r[30] = cpu->r[3];
/* 028C3A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C3A40 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C3A40 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028C3A44 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C3A44 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C3A48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3A48 */ _t7 = _t6 & 0x00000001u;
/* 028C3A48 */ if (_t7) goto L_028C3AA0; else goto L_028C3A4C;
L_028C3A4C: ; // 0x28c3a4c
/* 028C3A4C */ cpu->r[0] = 0x10140000u;
/* 028C3A50 */ cpu->r[0] = cpu->r[0] + 0xFFFF9428u;
/* 028C3A54 */ cpu->r[12] = 0x101D0000u;
/* 028C3A58 */ _t8 = cpu->r[30] + 0x0000000Cu;
/* 028C3A58 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C3A5C */ _t9 = cpu->r[12] + 0xFFFF9A90u;
/* 028C3A5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028C3A5C */ cpu->r[12] = _t9;
/* 028C3A60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
/* 028C3A64 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3A64 */ _t11 = _t10 & 0x00000001u;
/* 028C3A64 */ if (_t11) goto L_028C3A68; else goto L_028C3A84;
L_028C3A68: ; // 0x28c3a68
/* 028C3A68 */ cpu->r[29] = 0x101D0000u;
/* 028C3A6C */ cpu->r[28] = 0x00000000u;
/* 028C3A70 */ _t12 = cpu->r[29] + 0xFFFF9A8Cu;
/* 028C3A70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C3A74 */ cpu->r[4] = 0x00000002u;
/* 028C3A78 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028C3A78 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
/* 028C3A7C */ Gambit_fn_028C3690(cpu);
/* 028C3A80 */ _t14 = cpu->r[29] + 0xFFFF9A8Cu;
/* 028C3A80 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
L_028C3A84: ; // 0x28c3a84
/* 028C3A84 */ cpu->r[3] = cpu->r[30];
/* 028C3A88 */ cpu->r[4] = 0x00000000u;
/* 028C3A8C */ Gambit_fn_02821E68(cpu);
/* 028C3A90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C3A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C3A94 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3A94 */ _t16 = _t15 & 0x00000001u;
/* 028C3A94 */ if (_t16) goto L_028C3AA0; else goto L_028C3A98;
L_028C3A98: ; // 0x28c3a98
/* 028C3A98 */ cpu->r[3] = cpu->r[30];
/* 028C3A9C */ Gambit_fn_02801BB0(cpu);
L_028C3AA0: ; // 0x28c3aa0
/* 028C3AA0 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028C3AA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
/* 028C3AA4 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C3AA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028C3AA8 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C3AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C3AAC */ _t20 = cpu->r[1] + 0x00000010u;
/* 028C3AAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028C3AB0 */ cpu->lr = cpu->r[0];
/* 028C3AB4 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C3AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C3AB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3ABC */ return;
}
// fn_028C3AC0 @ 0x28c3ac0
void Gambit_fn_028C3AC0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C3AC0: ; // 0x28c3ac0
/* 028C3AC0 */ cpu->r[6] = 0x10140000u;
/* 028C3AC4 */ cpu->r[12] = 0x101F0000u;
/* 028C3AC8 */ cpu->r[8] = 0x10140000u;
/* 028C3ACC */ cpu->r[6] = cpu->r[6] + 0xFFFF9378u;
/* 028C3AD0 */ cpu->r[12] = cpu->r[12] + 0x00007100u;
/* 028C3AD4 */ cpu->r[8] = cpu->r[8] + 0xFFFF93D0u;
/* 028C3AD8 */ _t0 = cpu->r[12] + 0x00000004u;
/* 028C3AD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[6]);
/* 028C3ADC */ cpu->r[9] = 0x10140000u;
/* 028C3AE0 */ _t1 = cpu->r[12] + 0x00000000u;
/* 028C3AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[8]);
/* 028C3AE4 */ cpu->r[9] = cpu->r[9] + 0xFFFF93DCu;
/* 028C3AE8 */ _t2 = cpu->r[12] + 0x0000000Cu;
/* 028C3AE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
/* 028C3AEC */ cpu->r[10] = 0x10140000u;
/* 028C3AF0 */ _t3 = cpu->r[12] + 0x00000008u;
/* 028C3AF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
/* 028C3AF4 */ cpu->r[10] = cpu->r[10] + 0xFFFF93E8u;
/* 028C3AF8 */ _t4 = cpu->r[12] + 0x00000014u;
/* 028C3AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
/* 028C3AFC */ cpu->r[11] = 0x10140000u;
/* 028C3B00 */ _t5 = cpu->r[12] + 0x00000010u;
/* 028C3B00 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
/* 028C3B04 */ cpu->r[11] = cpu->r[11] + 0xFFFF93F4u;
/* 028C3B08 */ _t6 = cpu->r[12] + 0x0000001Cu;
/* 028C3B08 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
/* 028C3B0C */ cpu->r[0] = 0x10140000u;
/* 028C3B10 */ _t7 = cpu->r[12] + 0x00000018u;
/* 028C3B10 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028C3B14 */ cpu->r[0] = cpu->r[0] + 0xFFFF9404u;
/* 028C3B18 */ _t8 = cpu->r[12] + 0x00000024u;
/* 028C3B18 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
/* 028C3B1C */ cpu->r[7] = 0x10140000u;
/* 028C3B20 */ _t9 = cpu->r[12] + 0x00000020u;
/* 028C3B20 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C3B24 */ cpu->r[7] = cpu->r[7] + 0xFFFF9414u;
/* 028C3B28 */ _t10 = cpu->r[12] + 0x0000002Cu;
/* 028C3B28 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
/* 028C3B2C */ _t11 = cpu->r[12] + 0x00000028u;
/* 028C3B2C */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
/* 028C3B30 */ return;
}
// fn_028C3B34 @ 0x28c3b34
void Gambit_fn_028C3B34(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_028C3B34: ; // 0x28c3b34
/* 028C3B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3B38 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3B38 */ _t17 = _t16 & 0x00000001u;
/* 028C3B38 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C3B38 */ goto L_028C3B3C;
L_028C3B3C: ; // 0x28c3b3c
/* 028C3B3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C3B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C3B40 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3B40 */ _t19 = _t18 & 0x00000001u;
/* 028C3B40 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C3B40 */ goto L_028C3B44;
L_028C3B44: ; // 0x28c3b44
/* 028C3B44 */ goto L_02801BB0;
}
// fn_028C3B48 @ 0x28c3b48
void Gambit_fn_028C3B48(CPUState* cpu) {
L_028C3B48: ; // 0x28c3b48
/* 028C3B48 */ return;
}
// fn_028C3B4C @ 0x28c3b4c
void Gambit_fn_028C3B4C(CPUState* cpu) {
uint32_t _t0;
L_028C3B4C: ; // 0x28c3b4c
/* 028C3B4C */ cpu->r[12] = 0x10140000u;
/* 028C3B50 */ _t0 = cpu->r[12] + 0xFFFF9424u;
/* 028C3B50 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
/* 028C3B54 */ return;
}
// fn_028C3B58 @ 0x28c3b58
void Gambit_fn_028C3B58(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C3B58: ; // 0x28c3b58
/* 028C3B58 */ cpu->r[0] = cpu->lr;
/* 028C3B5C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C3B5C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C3B60 */ cpu->r[9] = cpu->r[3];
/* 028C3B64 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3B64 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C3B64 */ cpu->r[1] = _t1;
/* 028C3B68 */ _t2 = cpu->r[9] + 0x0000005Cu;
/* 028C3B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
/* 028C3B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3B70 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3B70 */ _t4 = _t3 & 0x00000001u;
/* 028C3B70 */ if (_t4) goto L_028C3BA0; else goto L_028C3B74;
L_028C3B74: ; // 0x28c3b74
/* 028C3B74 */ _t5 = cpu->r[9] + 0x00000054u;
/* 028C3B74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028C3B78 */ cpu->r[7] = 0x00000002u;
/* 028C3B7C */ _t6 = cpu->r[3] + 0x00000000u;
/* 028C3B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028C3B80 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028C3B80 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
/* 028C3B84 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C3B84 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
/* 028C3B88 */ _t9 = cpu->r[12] + 0x0000004Cu;
/* 028C3B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3B8C */ _t10 = cpu->r[9] + 0x0000004Cu;
/* 028C3B8C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
/* 028C3B90 */ cpu->ctr = cpu->r[0];
/* 028C3B94 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C3B98 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
/* 028C3B9C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C3BA0: ; // 0x28c3ba0
/* 028C3BA0 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028C3BA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C3BA4 */ cpu->lr = cpu->r[0];
/* 028C3BA8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3BAC */ return;
}
// fn_028C3B64 @ 0x28c3b64
void Gambit_fn_028C3B64(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028C3B64: ; // 0x28c3b64
/* 028C3B64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3B64 */ cpu->r[1] = _t0;
/* 028C3B68 */ _t1 = cpu->r[9] + 0x0000005Cu;
/* 028C3B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
/* 028C3B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3B70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3B70 */ _t3 = _t2 & 0x00000001u;
/* 028C3B70 */ if (_t3) goto L_028C3BA0; else goto L_028C3B74;
L_028C3B74: ; // 0x28c3b74
/* 028C3B74 */ _t4 = cpu->r[9] + 0x00000054u;
/* 028C3B74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028C3B78 */ cpu->r[7] = 0x00000002u;
/* 028C3B7C */ _t5 = cpu->r[3] + 0x00000000u;
/* 028C3B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028C3B80 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C3B80 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
/* 028C3B84 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C3B84 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
/* 028C3B88 */ _t8 = cpu->r[12] + 0x0000004Cu;
/* 028C3B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C3B8C */ _t9 = cpu->r[9] + 0x0000004Cu;
/* 028C3B8C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028C3B90 */ cpu->ctr = cpu->r[0];
/* 028C3B94 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C3B98 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
/* 028C3B9C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C3BA0: ; // 0x28c3ba0
/* 028C3BA0 */ _t10 = cpu->r[1] + 0x0000001Cu;
/* 028C3BA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C3BA4 */ cpu->lr = cpu->r[0];
/* 028C3BA8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3BAC */ return;
}
// fn_028C3BB0 @ 0x28c3bb0
void Gambit_fn_028C3BB0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028C3BB0: ; // 0x28c3bb0
/* 028C3BB0 */ cpu->r[0] = cpu->lr;
/* 028C3BB4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C3BB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C3BB8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3BB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C3BB8 */ cpu->r[1] = _t1;
/* 028C3BBC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3BBC */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
/* 028C3BC0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028C3BC4 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C3BC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
/* 028C3BC8 */ cpu->r[4] = 0x00000002u;
/* 028C3BCC */ Gambit_fn_028C3B58(cpu);
/* 028C3BD0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C3BD4 */ cpu->lr = cpu->r[0];
/* 028C3BD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3BDC */ return;
}
// fn_028C3BB8 @ 0x28c3bb8
void Gambit_fn_028C3BB8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C3BB8: ; // 0x28c3bb8
/* 028C3BB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3BB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3BB8 */ cpu->r[1] = _t0;
/* 028C3BBC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3BBC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
/* 028C3BC0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028C3BC4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C3BC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
/* 028C3BC8 */ cpu->r[4] = 0x00000002u;
/* 028C3BCC */ Gambit_fn_028C3B58(cpu);
/* 028C3BD0 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028C3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028C3BD4 */ cpu->lr = cpu->r[0];
/* 028C3BD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3BDC */ return;
}
// fn_028C3BE0 @ 0x28c3be0
void Gambit_fn_028C3BE0(CPUState* cpu) {
uint32_t _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_028C3BE0: ; // 0x28c3be0
/* 028C3BE0 */ cpu->r[0] = cpu->lr;
/* 028C3BE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3BE4 */ cpu->r[1] = _t0;
/* 028C3BE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3BE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C3BEC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C3BEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C3BF0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3BF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C3BF4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C3BF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C3BF8 */ cpu->r[29] = cpu->r[3];
/* 028C3BFC */ _t5 = cpu->r[29] + 0x00000040u;
/* 028C3BFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028C3C00 */ _t6 = cpu->r[29] + 0x00000038u;
/* 028C3C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028C3C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028C3C08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3C08 */ _t8 = _t7 & 0x00000001u;
/* 028C3C08 */ if (_t8) goto L_028C3C54; else goto L_028C3C0C;
L_028C3C0C: ; // 0x28c3c0c
/* 028C3C0C */ _t9 = cpu->r[29] + 0x00000048u;
/* 028C3C0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
L_028C3C10: ; // 0x28c3c10
/* 028C3C10 */ _t10 = cpu->r[29] + 0x0000002Cu;
/* 028C3C10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028C3C14 */ _t11 = cpu->r[12] + 0x00000000u;
/* 028C3C14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
/* 028C3C18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C3C1C */ _t12 = cpu->r[12] + 0x00000004u;
/* 028C3C1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028C3C20 */ cpu->r[4] = cpu->r[7] + cpu->r[0];
/* 028C3C24 */ cpu->r[3] = cpu->r[29];
/* 028C3C28 */ cpu->r[5] = cpu->r[9] + cpu->r[0];
/* 028C3C2C */ Gambit_fn_028C3BB0(cpu);
/* 028C3C30 */ _t13 = cpu->r[29] + 0x00000030u;
/* 028C3C30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028C3C34 */ _t14 = cpu->r[29] + 0x00000048u;
/* 028C3C34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
/* 028C3C38 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[10]);
/* 028C3C3C */ cpu->r[31] = cpu->r[31] + cpu->r[6];
/* 028C3C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
/* 028C3C44 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C3C44 */ _t16 = _t15 & 0x00000001u;
/* 028C3C44 */ if (_t16) goto L_028C3C4C; else goto L_028C3C48;
L_028C3C48: ; // 0x28c3c48
/* 028C3C48 */ cpu->r[31] = 0x00000000u;
L_028C3C4C: ; // 0x28c3c4c
/* 028C3C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028C3C50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3C50 */ _t18 = _t17 & 0x00000001u;
/* 028C3C50 */ if (_t18) goto L_028C3C54; else goto L_028C3C10;
L_028C3C54: ; // 0x28c3c54
/* 028C3C54 */ _t19 = cpu->r[29] + 0x00000040u;
/* 028C3C54 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
/* 028C3C58 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028C3C58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028C3C5C */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028C3C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C3C60 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028C3C60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028C3C64 */ cpu->lr = cpu->r[0];
/* 028C3C68 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028C3C68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028C3C6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3C70 */ return;
}
// fn_028C3BE4 @ 0x28c3be4
void Gambit_fn_028C3BE4(CPUState* cpu) {
uint32_t _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_028C3BE4: ; // 0x28c3be4
/* 028C3BE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3BE4 */ cpu->r[1] = _t0;
/* 028C3BE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3BE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C3BEC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C3BEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C3BF0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3BF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C3BF4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C3BF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C3BF8 */ cpu->r[29] = cpu->r[3];
/* 028C3BFC */ _t5 = cpu->r[29] + 0x00000040u;
/* 028C3BFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028C3C00 */ _t6 = cpu->r[29] + 0x00000038u;
/* 028C3C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028C3C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028C3C08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3C08 */ _t8 = _t7 & 0x00000001u;
/* 028C3C08 */ if (_t8) goto L_028C3C54; else goto L_028C3C0C;
L_028C3C0C: ; // 0x28c3c0c
/* 028C3C0C */ _t9 = cpu->r[29] + 0x00000048u;
/* 028C3C0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
L_028C3C10: ; // 0x28c3c10
/* 028C3C10 */ _t10 = cpu->r[29] + 0x0000002Cu;
/* 028C3C10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028C3C14 */ _t11 = cpu->r[12] + 0x00000000u;
/* 028C3C14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
/* 028C3C18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C3C1C */ _t12 = cpu->r[12] + 0x00000004u;
/* 028C3C1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028C3C20 */ cpu->r[4] = cpu->r[7] + cpu->r[0];
/* 028C3C24 */ cpu->r[3] = cpu->r[29];
/* 028C3C28 */ cpu->r[5] = cpu->r[9] + cpu->r[0];
/* 028C3C2C */ Gambit_fn_028C3BB0(cpu);
/* 028C3C30 */ _t13 = cpu->r[29] + 0x00000030u;
/* 028C3C30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028C3C34 */ _t14 = cpu->r[29] + 0x00000048u;
/* 028C3C34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
/* 028C3C38 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[10]);
/* 028C3C3C */ cpu->r[31] = cpu->r[31] + cpu->r[6];
/* 028C3C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
/* 028C3C44 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C3C44 */ _t16 = _t15 & 0x00000001u;
/* 028C3C44 */ if (_t16) goto L_028C3C4C; else goto L_028C3C48;
L_028C3C48: ; // 0x28c3c48
/* 028C3C48 */ cpu->r[31] = 0x00000000u;
L_028C3C4C: ; // 0x28c3c4c
/* 028C3C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028C3C50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3C50 */ _t18 = _t17 & 0x00000001u;
/* 028C3C50 */ if (_t18) goto L_028C3C54; else goto L_028C3C10;
L_028C3C54: ; // 0x28c3c54
/* 028C3C54 */ _t19 = cpu->r[29] + 0x00000040u;
/* 028C3C54 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
/* 028C3C58 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028C3C58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028C3C5C */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028C3C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C3C60 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028C3C60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028C3C64 */ cpu->lr = cpu->r[0];
/* 028C3C68 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028C3C68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028C3C6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3C70 */ return;
}
// fn_028C3C74 @ 0x28c3c74
void Gambit_fn_028C3C74(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028C3C74: ; // 0x28c3c74
/* 028C3C74 */ cpu->r[0] = cpu->lr;
/* 028C3C78 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C3C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C3C7C */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C3C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C3C7C */ cpu->r[1] = _t1;
/* 028C3C80 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3C80 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
/* 028C3C84 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028C3C88 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C3C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
/* 028C3C8C */ cpu->r[6] = cpu->r[8];
/* 028C3C90 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028C3C90 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
/* 028C3C94 */ cpu->r[4] = 0x00000004u;
/* 028C3C98 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028C3C98 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
/* 028C3C9C */ Gambit_fn_028C3B58(cpu);
/* 028C3CA0 */ _t6 = cpu->r[1] + 0x00000024u;
/* 028C3CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C3CA4 */ cpu->lr = cpu->r[0];
/* 028C3CA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C3CAC */ return;
}
// fn_028C3C7C @ 0x28c3c7c
void Gambit_fn_028C3C7C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028C3C7C: ; // 0x28c3c7c
/* 028C3C7C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C3C7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3C7C */ cpu->r[1] = _t0;
/* 028C3C80 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3C80 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
/* 028C3C84 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028C3C88 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C3C88 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
/* 028C3C8C */ cpu->r[6] = cpu->r[8];
/* 028C3C90 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C3C90 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
/* 028C3C94 */ cpu->r[4] = 0x00000004u;
/* 028C3C98 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C3C98 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
/* 028C3C9C */ Gambit_fn_028C3B58(cpu);
/* 028C3CA0 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C3CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C3CA4 */ cpu->lr = cpu->r[0];
/* 028C3CA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C3CAC */ return;
}
// fn_028C3CB0 @ 0x28c3cb0
void Gambit_fn_028C3CB0(CPUState* cpu) {
uint32_t _t0, _t1, _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_028C3CB0: ; // 0x28c3cb0
/* 028C3CB0 */ cpu->r[0] = cpu->lr;
/* 028C3CB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3CB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3CB4 */ cpu->r[1] = _t0;
/* 028C3CB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C3CBC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C3CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C3CC0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3CC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C3CC4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C3CC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C3CC8 */ cpu->r[29] = cpu->r[3];
/* 028C3CCC */ _t5 = cpu->r[29] + 0x00000040u;
/* 028C3CCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028C3CD0 */ _t6 = cpu->r[29] + 0x00000038u;
/* 028C3CD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028C3CD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028C3CD8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3CD8 */ _t8 = _t7 & 0x00000001u;
/* 028C3CD8 */ if (_t8) goto L_028C3D34; else goto L_028C3CDC;
L_028C3CDC: ; // 0x28c3cdc
/* 028C3CDC */ _t9 = cpu->r[29] + 0x00000048u;
/* 028C3CDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
L_028C3CE0: ; // 0x28c3ce0
/* 028C3CE0 */ _t10 = cpu->r[29] + 0x0000002Cu;
/* 028C3CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028C3CE4 */ _t11 = cpu->r[11] + 0x00000000u;
/* 028C3CE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
/* 028C3CE8 */ _t12 = cpu->r[11] + 0x00000004u;
/* 028C3CE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028C3CEC */ cpu->r[3] = cpu->r[29];
/* 028C3CF0 */ _t13 = cpu->r[11] + 0x00000008u;
/* 028C3CF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C3CF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C3CF8 */ _t14 = cpu->r[11] + 0x0000000Cu;
/* 028C3CF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C3CFC */ cpu->r[5] = cpu->r[9] + cpu->r[0];
/* 028C3D00 */ cpu->r[4] = cpu->r[7] + cpu->r[0];
/* 028C3D04 */ cpu->r[6] = cpu->r[12] + cpu->r[0];
/* 028C3D08 */ cpu->r[7] = cpu->r[11] + cpu->r[0];
/* 028C3D0C */ Gambit_fn_028C3C74(cpu);
/* 028C3D10 */ _t15 = cpu->r[29] + 0x00000030u;
/* 028C3D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C3D14 */ _t16 = cpu->r[29] + 0x00000048u;
/* 028C3D14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
/* 028C3D18 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
/* 028C3D1C */ cpu->r[31] = cpu->r[31] + cpu->r[8];
/* 028C3D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
/* 028C3D24 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C3D24 */ _t18 = _t17 & 0x00000001u;
/* 028C3D24 */ if (_t18) goto L_028C3D2C; else goto L_028C3D28;
L_028C3D28: ; // 0x28c3d28
/* 028C3D28 */ cpu->r[31] = 0x00000000u;
L_028C3D2C: ; // 0x28c3d2c
/* 028C3D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028C3D30 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3D30 */ _t20 = _t19 & 0x00000001u;
/* 028C3D30 */ if (_t20) goto L_028C3D34; else goto L_028C3CE0;
L_028C3D34: ; // 0x28c3d34
/* 028C3D34 */ _t21 = cpu->r[29] + 0x00000040u;
/* 028C3D34 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
/* 028C3D38 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C3D38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028C3D3C */ _t23 = cpu->r[1] + 0x0000001Cu;
/* 028C3D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028C3D40 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028C3D40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
/* 028C3D44 */ cpu->lr = cpu->r[0];
/* 028C3D48 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028C3D48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028C3D4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3D50 */ return;
}
// fn_028C3CB4 @ 0x28c3cb4
void Gambit_fn_028C3CB4(CPUState* cpu) {
uint32_t _t0, _t1, _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_028C3CB4: ; // 0x28c3cb4
/* 028C3CB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3CB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3CB4 */ cpu->r[1] = _t0;
/* 028C3CB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C3CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C3CBC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C3CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C3CC0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3CC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C3CC4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C3CC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C3CC8 */ cpu->r[29] = cpu->r[3];
/* 028C3CCC */ _t5 = cpu->r[29] + 0x00000040u;
/* 028C3CCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028C3CD0 */ _t6 = cpu->r[29] + 0x00000038u;
/* 028C3CD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028C3CD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028C3CD8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3CD8 */ _t8 = _t7 & 0x00000001u;
/* 028C3CD8 */ if (_t8) goto L_028C3D34; else goto L_028C3CDC;
L_028C3CDC: ; // 0x28c3cdc
/* 028C3CDC */ _t9 = cpu->r[29] + 0x00000048u;
/* 028C3CDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
L_028C3CE0: ; // 0x28c3ce0
/* 028C3CE0 */ _t10 = cpu->r[29] + 0x0000002Cu;
/* 028C3CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028C3CE4 */ _t11 = cpu->r[11] + 0x00000000u;
/* 028C3CE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
/* 028C3CE8 */ _t12 = cpu->r[11] + 0x00000004u;
/* 028C3CE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028C3CEC */ cpu->r[3] = cpu->r[29];
/* 028C3CF0 */ _t13 = cpu->r[11] + 0x00000008u;
/* 028C3CF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C3CF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C3CF8 */ _t14 = cpu->r[11] + 0x0000000Cu;
/* 028C3CF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C3CFC */ cpu->r[5] = cpu->r[9] + cpu->r[0];
/* 028C3D00 */ cpu->r[4] = cpu->r[7] + cpu->r[0];
/* 028C3D04 */ cpu->r[6] = cpu->r[12] + cpu->r[0];
/* 028C3D08 */ cpu->r[7] = cpu->r[11] + cpu->r[0];
/* 028C3D0C */ Gambit_fn_028C3C74(cpu);
/* 028C3D10 */ _t15 = cpu->r[29] + 0x00000030u;
/* 028C3D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C3D14 */ _t16 = cpu->r[29] + 0x00000048u;
/* 028C3D14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
/* 028C3D18 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
/* 028C3D1C */ cpu->r[31] = cpu->r[31] + cpu->r[8];
/* 028C3D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
/* 028C3D24 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C3D24 */ _t18 = _t17 & 0x00000001u;
/* 028C3D24 */ if (_t18) goto L_028C3D2C; else goto L_028C3D28;
L_028C3D28: ; // 0x28c3d28
/* 028C3D28 */ cpu->r[31] = 0x00000000u;
L_028C3D2C: ; // 0x28c3d2c
/* 028C3D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
/* 028C3D30 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3D30 */ _t20 = _t19 & 0x00000001u;
/* 028C3D30 */ if (_t20) goto L_028C3D34; else goto L_028C3CE0;
L_028C3D34: ; // 0x28c3d34
/* 028C3D34 */ _t21 = cpu->r[29] + 0x00000040u;
/* 028C3D34 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
/* 028C3D38 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C3D38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028C3D3C */ _t23 = cpu->r[1] + 0x0000001Cu;
/* 028C3D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028C3D40 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028C3D40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
/* 028C3D44 */ cpu->lr = cpu->r[0];
/* 028C3D48 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028C3D48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028C3D4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3D50 */ return;
}
// fn_028C3D54 @ 0x28c3d54
void Gambit_fn_028C3D54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028C3D54: ; // 0x28c3d54
/* 028C3D54 */ cpu->r[0] = cpu->lr;
/* 028C3D58 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C3D58 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C3D5C */ _t1 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C3D5C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C3D5C */ cpu->r[1] = _t1;
/* 028C3D60 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C3D60 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
/* 028C3D64 */ cpu->r[4] = 0x00000006u;
/* 028C3D68 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C3D68 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
/* 028C3D6C */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C3D6C */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
/* 028C3D70 */ cpu->r[6] = cpu->r[10];
/* 028C3D74 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C3D74 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
/* 028C3D78 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028C3D7C */ _t6 = cpu->r[1] + 0x00000018u;
/* 028C3D7C */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
/* 028C3D80 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028C3D80 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
/* 028C3D84 */ Gambit_fn_028C3B58(cpu);
/* 028C3D88 */ _t8 = cpu->r[1] + 0x0000002Cu;
/* 028C3D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C3D8C */ cpu->lr = cpu->r[0];
/* 028C3D90 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C3D94 */ return;
}
// fn_028C3D5C @ 0x28c3d5c
void Gambit_fn_028C3D5C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028C3D5C: ; // 0x28c3d5c
/* 028C3D5C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C3D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3D5C */ cpu->r[1] = _t0;
/* 028C3D60 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C3D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
/* 028C3D64 */ cpu->r[4] = 0x00000006u;
/* 028C3D68 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C3D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
/* 028C3D6C */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C3D6C */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
/* 028C3D70 */ cpu->r[6] = cpu->r[10];
/* 028C3D74 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C3D74 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
/* 028C3D78 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028C3D7C */ _t5 = cpu->r[1] + 0x00000018u;
/* 028C3D7C */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
/* 028C3D80 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028C3D80 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
/* 028C3D84 */ Gambit_fn_028C3B58(cpu);
/* 028C3D88 */ _t7 = cpu->r[1] + 0x0000002Cu;
/* 028C3D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028C3D8C */ cpu->lr = cpu->r[0];
/* 028C3D90 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C3D94 */ return;
}
// fn_028C3D98 @ 0x28c3d98
void Gambit_fn_028C3D98(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028C3D98: ; // 0x28c3d98
/* 028C3D98 */ cpu->r[0] = cpu->lr;
/* 028C3D9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3D9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3D9C */ cpu->r[1] = _t0;
/* 028C3DA0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C3DA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3DA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3DA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C3DA8 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C3DA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028C3DAC */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C3DAC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C3DB0 */ cpu->r[28] = cpu->r[3];
/* 028C3DB4 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C3DB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C3DB8 */ _t6 = cpu->r[28] + 0x00000040u;
/* 028C3DB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028C3DBC */ _t7 = cpu->r[28] + 0x00000038u;
/* 028C3DBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
/* 028C3DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028C3DC4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3DC4 */ _t9 = _t8 & 0x00000001u;
/* 028C3DC4 */ if (_t9) goto L_028C3E30; else goto L_028C3DC8;
L_028C3DC8: ; // 0x28c3dc8
/* 028C3DC8 */ _t10 = cpu->r[28] + 0x00000048u;
/* 028C3DC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
L_028C3DCC: ; // 0x28c3dcc
/* 028C3DCC */ _t11 = cpu->r[28] + 0x0000002Cu;
/* 028C3DCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028C3DD0 */ _t12 = cpu->r[11] + 0x00000008u;
/* 028C3DD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C3DD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C3DD8 */ _t13 = cpu->r[11] + 0x00000010u;
/* 028C3DD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028C3DDC */ cpu->r[6] = cpu->r[12] + cpu->r[0];
/* 028C3DE0 */ _t14 = cpu->r[11] + 0x00000000u;
/* 028C3DE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028C3DE4 */ _t15 = cpu->r[11] + 0x00000004u;
/* 028C3DE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
/* 028C3DE8 */ cpu->r[3] = cpu->r[28];
/* 028C3DEC */ _t16 = cpu->r[11] + 0x0000000Cu;
/* 028C3DEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
/* 028C3DF0 */ cpu->r[5] = cpu->r[9] + cpu->r[0];
/* 028C3DF4 */ _t17 = cpu->r[11] + 0x00000014u;
/* 028C3DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028C3DF8 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
/* 028C3DFC */ cpu->r[8] = cpu->r[31] + cpu->r[0];
/* 028C3E00 */ cpu->r[7] = cpu->r[7] + cpu->r[0];
/* 028C3E04 */ cpu->r[9] = cpu->r[12] + cpu->r[0];
/* 028C3E08 */ Gambit_fn_028C3D54(cpu);
/* 028C3E0C */ _t18 = cpu->r[28] + 0x00000048u;
/* 028C3E0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028C3E10 */ _t19 = cpu->r[28] + 0x00000030u;
/* 028C3E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C3E14 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[0]);
/* 028C3E18 */ cpu->r[30] = cpu->r[30] + cpu->r[10];
/* 028C3E1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[6]);
/* 028C3E20 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C3E20 */ _t21 = _t20 & 0x00000001u;
/* 028C3E20 */ if (_t21) goto L_028C3E28; else goto L_028C3E24;
L_028C3E24: ; // 0x28c3e24
/* 028C3E24 */ cpu->r[30] = 0x00000000u;
L_028C3E28: ; // 0x28c3e28
/* 028C3E28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028C3E2C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3E2C */ _t23 = _t22 & 0x00000001u;
/* 028C3E2C */ if (_t23) goto L_028C3E30; else goto L_028C3DCC;
L_028C3E30: ; // 0x28c3e30
/* 028C3E30 */ _t24 = cpu->r[28] + 0x00000040u;
/* 028C3E30 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028C3E34 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C3E34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028C3E38 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028C3E38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028C3E3C */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028C3E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C3E40 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028C3E40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028C3E44 */ cpu->lr = cpu->r[0];
/* 028C3E48 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028C3E48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C3E4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3E50 */ return;
}
// fn_028C3D9C @ 0x28c3d9c
void Gambit_fn_028C3D9C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028C3D9C: ; // 0x28c3d9c
/* 028C3D9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C3D9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3D9C */ cpu->r[1] = _t0;
/* 028C3DA0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C3DA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3DA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3DA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C3DA8 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C3DA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028C3DAC */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C3DAC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C3DB0 */ cpu->r[28] = cpu->r[3];
/* 028C3DB4 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C3DB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C3DB8 */ _t6 = cpu->r[28] + 0x00000040u;
/* 028C3DB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028C3DBC */ _t7 = cpu->r[28] + 0x00000038u;
/* 028C3DBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
/* 028C3DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028C3DC4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3DC4 */ _t9 = _t8 & 0x00000001u;
/* 028C3DC4 */ if (_t9) goto L_028C3E30; else goto L_028C3DC8;
L_028C3DC8: ; // 0x28c3dc8
/* 028C3DC8 */ _t10 = cpu->r[28] + 0x00000048u;
/* 028C3DC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
L_028C3DCC: ; // 0x28c3dcc
/* 028C3DCC */ _t11 = cpu->r[28] + 0x0000002Cu;
/* 028C3DCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028C3DD0 */ _t12 = cpu->r[11] + 0x00000008u;
/* 028C3DD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C3DD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C3DD8 */ _t13 = cpu->r[11] + 0x00000010u;
/* 028C3DD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028C3DDC */ cpu->r[6] = cpu->r[12] + cpu->r[0];
/* 028C3DE0 */ _t14 = cpu->r[11] + 0x00000000u;
/* 028C3DE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028C3DE4 */ _t15 = cpu->r[11] + 0x00000004u;
/* 028C3DE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
/* 028C3DE8 */ cpu->r[3] = cpu->r[28];
/* 028C3DEC */ _t16 = cpu->r[11] + 0x0000000Cu;
/* 028C3DEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
/* 028C3DF0 */ cpu->r[5] = cpu->r[9] + cpu->r[0];
/* 028C3DF4 */ _t17 = cpu->r[11] + 0x00000014u;
/* 028C3DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028C3DF8 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
/* 028C3DFC */ cpu->r[8] = cpu->r[31] + cpu->r[0];
/* 028C3E00 */ cpu->r[7] = cpu->r[7] + cpu->r[0];
/* 028C3E04 */ cpu->r[9] = cpu->r[12] + cpu->r[0];
/* 028C3E08 */ Gambit_fn_028C3D54(cpu);
/* 028C3E0C */ _t18 = cpu->r[28] + 0x00000048u;
/* 028C3E0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028C3E10 */ _t19 = cpu->r[28] + 0x00000030u;
/* 028C3E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C3E14 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[0]);
/* 028C3E18 */ cpu->r[30] = cpu->r[30] + cpu->r[10];
/* 028C3E1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[6]);
/* 028C3E20 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C3E20 */ _t21 = _t20 & 0x00000001u;
/* 028C3E20 */ if (_t21) goto L_028C3E28; else goto L_028C3E24;
L_028C3E24: ; // 0x28c3e24
/* 028C3E24 */ cpu->r[30] = 0x00000000u;
L_028C3E28: ; // 0x28c3e28
/* 028C3E28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
/* 028C3E2C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3E2C */ _t23 = _t22 & 0x00000001u;
/* 028C3E2C */ if (_t23) goto L_028C3E30; else goto L_028C3DCC;
L_028C3E30: ; // 0x28c3e30
/* 028C3E30 */ _t24 = cpu->r[28] + 0x00000040u;
/* 028C3E30 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028C3E34 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C3E34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028C3E38 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028C3E38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028C3E3C */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028C3E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C3E40 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028C3E40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028C3E44 */ cpu->lr = cpu->r[0];
/* 028C3E48 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028C3E48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028C3E4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C3E50 */ return;
}
// fn_028C3E54 @ 0x28c3e54
void Gambit_fn_028C3E54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_028C3E54: ; // 0x28c3e54
/* 028C3E54 */ cpu->r[0] = cpu->lr;
/* 028C3E58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C3E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3E58 */ cpu->r[1] = _t0;
/* 028C3E5C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C3E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3E60 */ cpu->r[30] = cpu->r[3];
/* 028C3E64 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C3E68 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3E68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C3E6C */ _t4 = cpu->r[30] + 0x000000A4u;
/* 028C3E6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028C3E70 */ cpu->r[0] = 0x00000000u;
/* 028C3E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C3E78 */ cpu->r[31] = cpu->r[10] + 0x00000030u;
/* 028C3E7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3E7C */ _t6 = _t5 & 0x00000001u;
/* 028C3E7C */ if (_t6) goto L_028C3EA0; else goto L_028C3E80;
L_028C3E80: ; // 0x28c3e80
/* 028C3E80 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028C3E80 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C3E84 */ _t8 = cpu->r[31] + 0x00000008u;
/* 028C3E84 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C3E88 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C3E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3E8C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C3E8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C3E90 */ cpu->lr = cpu->r[0];
/* 028C3E94 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C3E94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C3E98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3E9C */ return;
L_028C3EA0: ; // 0x28c3ea0
/* 028C3EA0 */ _t12 = cpu->r[30] + 0x00000018u;
/* 028C3EA0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
/* 028C3EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C3EA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EA8 */ _t14 = _t13 & 0x00000001u;
/* 028C3EA8 */ if (_t14) goto L_028C3EAC; else goto L_028C3ECC;
L_028C3EAC: ; // 0x28c3eac
/* 028C3EAC */ _t15 = cpu->r[31] + 0x0000000Cu;
/* 028C3EAC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
/* 028C3EB0 */ _t16 = cpu->r[31] + 0x00000008u;
/* 028C3EB0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C3EB4 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C3EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C3EB8 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C3EB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C3EBC */ cpu->lr = cpu->r[0];
/* 028C3EC0 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C3EC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C3EC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3EC8 */ return;
L_028C3ECC: ; // 0x28c3ecc
/* 028C3ECC */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3ED0 */ _t20 = cpu->r[31] + 0x00000000u;
/* 028C3ED0 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
/* 028C3ED4 */ _t21 = cpu->r[31] + 0x00000004u;
/* 028C3ED4 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
/* 028C3ED8 */ _t22 = cpu->r[30] + 0x00000020u;
/* 028C3ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C3EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028C3EE0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EE0 */ _t24 = _t23 & 0x00000001u;
/* 028C3EE0 */ if (_t24) goto L_028C3F10; else goto L_028C3EE4;
L_028C3EE4: ; // 0x28c3ee4
/* 028C3EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
/* 028C3EE8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EE8 */ _t26 = _t25 & 0x00000001u;
/* 028C3EE8 */ if (_t26) goto L_028C3F34; else goto L_028C3EEC;
L_028C3EEC: ; // 0x28c3eec
/* 028C3EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
/* 028C3EF0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EF0 */ _t28 = _t27 & 0x00000001u;
/* 028C3EF0 */ if (_t28) goto L_028C3F58; else goto L_028C3EF4;
L_028C3EF4: ; // 0x28c3ef4
/* 028C3EF4 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3EF8 */ _t29 = cpu->r[31] + 0x00000004u;
/* 028C3EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028C3EFC */ _t30 = cpu->r[31] + 0x00000000u;
/* 028C3EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028C3F00 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F04 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F08 */ _t31 = cpu->r[31] + 0x00000008u;
/* 028C3F08 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028C3F0C */ goto L_028C3F78;
L_028C3F10: ; // 0x28c3f10
/* 028C3F10 */ cpu->r[3] = cpu->r[30];
/* 028C3F14 */ Gambit_fn_028C3BE0(cpu);
/* 028C3F18 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F1C */ _t32 = cpu->r[31] + 0x00000004u;
/* 028C3F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028C3F20 */ _t33 = cpu->r[31] + 0x00000000u;
/* 028C3F20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
/* 028C3F24 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F28 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F2C */ _t34 = cpu->r[31] + 0x00000008u;
/* 028C3F2C */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
/* 028C3F30 */ goto L_028C3F78;
L_028C3F34: ; // 0x28c3f34
/* 028C3F34 */ cpu->r[3] = cpu->r[30];
/* 028C3F38 */ Gambit_fn_028C3CB0(cpu);
/* 028C3F3C */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F40 */ _t35 = cpu->r[31] + 0x00000004u;
/* 028C3F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028C3F44 */ _t36 = cpu->r[31] + 0x00000000u;
/* 028C3F44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
/* 028C3F48 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F4C */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F50 */ _t37 = cpu->r[31] + 0x00000008u;
/* 028C3F50 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
/* 028C3F54 */ goto L_028C3F78;
L_028C3F58: ; // 0x28c3f58
/* 028C3F58 */ cpu->r[3] = cpu->r[30];
/* 028C3F5C */ Gambit_fn_028C3D98(cpu);
/* 028C3F60 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F64 */ _t38 = cpu->r[31] + 0x00000004u;
/* 028C3F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C3F68 */ _t39 = cpu->r[31] + 0x00000000u;
/* 028C3F68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028C3F6C */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F70 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F74 */ _t40 = cpu->r[31] + 0x00000008u;
/* 028C3F74 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
L_028C3F78: ; // 0x28c3f78
/* 028C3F78 */ _t41 = cpu->r[31] + 0x0000000Cu;
/* 028C3F78 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
/* 028C3F7C */ _t42 = cpu->r[1] + 0x00000014u;
/* 028C3F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
/* 028C3F80 */ _t43 = cpu->r[1] + 0x00000008u;
/* 028C3F80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028C3F84 */ cpu->lr = cpu->r[0];
/* 028C3F88 */ _t44 = cpu->r[1] + 0x0000000Cu;
/* 028C3F88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
/* 028C3F8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3F90 */ return;
}
// fn_028C3E58 @ 0x28c3e58
void Gambit_fn_028C3E58(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_028C3E58: ; // 0x28c3e58
/* 028C3E58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C3E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3E58 */ cpu->r[1] = _t0;
/* 028C3E5C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C3E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3E60 */ cpu->r[30] = cpu->r[3];
/* 028C3E64 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C3E68 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3E68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C3E6C */ _t4 = cpu->r[30] + 0x000000A4u;
/* 028C3E6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028C3E70 */ cpu->r[0] = 0x00000000u;
/* 028C3E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C3E78 */ cpu->r[31] = cpu->r[10] + 0x00000030u;
/* 028C3E7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3E7C */ _t6 = _t5 & 0x00000001u;
/* 028C3E7C */ if (_t6) goto L_028C3EA0; else goto L_028C3E80;
L_028C3E80: ; // 0x28c3e80
/* 028C3E80 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028C3E80 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C3E84 */ _t8 = cpu->r[31] + 0x00000008u;
/* 028C3E84 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C3E88 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C3E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3E8C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C3E8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C3E90 */ cpu->lr = cpu->r[0];
/* 028C3E94 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C3E94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C3E98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3E9C */ return;
L_028C3EA0: ; // 0x28c3ea0
/* 028C3EA0 */ _t12 = cpu->r[30] + 0x00000018u;
/* 028C3EA0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
/* 028C3EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C3EA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EA8 */ _t14 = _t13 & 0x00000001u;
/* 028C3EA8 */ if (_t14) goto L_028C3EAC; else goto L_028C3ECC;
L_028C3EAC: ; // 0x28c3eac
/* 028C3EAC */ _t15 = cpu->r[31] + 0x0000000Cu;
/* 028C3EAC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
/* 028C3EB0 */ _t16 = cpu->r[31] + 0x00000008u;
/* 028C3EB0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C3EB4 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C3EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C3EB8 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C3EB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C3EBC */ cpu->lr = cpu->r[0];
/* 028C3EC0 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C3EC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C3EC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3EC8 */ return;
L_028C3ECC: ; // 0x28c3ecc
/* 028C3ECC */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3ED0 */ _t20 = cpu->r[31] + 0x00000000u;
/* 028C3ED0 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
/* 028C3ED4 */ _t21 = cpu->r[31] + 0x00000004u;
/* 028C3ED4 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
/* 028C3ED8 */ _t22 = cpu->r[30] + 0x00000020u;
/* 028C3ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C3EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028C3EE0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EE0 */ _t24 = _t23 & 0x00000001u;
/* 028C3EE0 */ if (_t24) goto L_028C3F10; else goto L_028C3EE4;
L_028C3EE4: ; // 0x28c3ee4
/* 028C3EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
/* 028C3EE8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EE8 */ _t26 = _t25 & 0x00000001u;
/* 028C3EE8 */ if (_t26) goto L_028C3F34; else goto L_028C3EEC;
L_028C3EEC: ; // 0x28c3eec
/* 028C3EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
/* 028C3EF0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EF0 */ _t28 = _t27 & 0x00000001u;
/* 028C3EF0 */ if (_t28) goto L_028C3F58; else goto L_028C3EF4;
L_028C3EF4: ; // 0x28c3ef4
/* 028C3EF4 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3EF8 */ _t29 = cpu->r[31] + 0x00000004u;
/* 028C3EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028C3EFC */ _t30 = cpu->r[31] + 0x00000000u;
/* 028C3EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028C3F00 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F04 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F08 */ _t31 = cpu->r[31] + 0x00000008u;
/* 028C3F08 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028C3F0C */ goto L_028C3F78;
L_028C3F10: ; // 0x28c3f10
/* 028C3F10 */ cpu->r[3] = cpu->r[30];
/* 028C3F14 */ Gambit_fn_028C3BE0(cpu);
/* 028C3F18 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F1C */ _t32 = cpu->r[31] + 0x00000004u;
/* 028C3F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028C3F20 */ _t33 = cpu->r[31] + 0x00000000u;
/* 028C3F20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
/* 028C3F24 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F28 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F2C */ _t34 = cpu->r[31] + 0x00000008u;
/* 028C3F2C */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
/* 028C3F30 */ goto L_028C3F78;
L_028C3F34: ; // 0x28c3f34
/* 028C3F34 */ cpu->r[3] = cpu->r[30];
/* 028C3F38 */ Gambit_fn_028C3CB0(cpu);
/* 028C3F3C */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F40 */ _t35 = cpu->r[31] + 0x00000004u;
/* 028C3F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028C3F44 */ _t36 = cpu->r[31] + 0x00000000u;
/* 028C3F44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
/* 028C3F48 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F4C */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F50 */ _t37 = cpu->r[31] + 0x00000008u;
/* 028C3F50 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
/* 028C3F54 */ goto L_028C3F78;
L_028C3F58: ; // 0x28c3f58
/* 028C3F58 */ cpu->r[3] = cpu->r[30];
/* 028C3F5C */ Gambit_fn_028C3D98(cpu);
/* 028C3F60 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F64 */ _t38 = cpu->r[31] + 0x00000004u;
/* 028C3F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C3F68 */ _t39 = cpu->r[31] + 0x00000000u;
/* 028C3F68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028C3F6C */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F70 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F74 */ _t40 = cpu->r[31] + 0x00000008u;
/* 028C3F74 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
L_028C3F78: ; // 0x28c3f78
/* 028C3F78 */ _t41 = cpu->r[31] + 0x0000000Cu;
/* 028C3F78 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
/* 028C3F7C */ _t42 = cpu->r[1] + 0x00000014u;
/* 028C3F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
/* 028C3F80 */ _t43 = cpu->r[1] + 0x00000008u;
/* 028C3F80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028C3F84 */ cpu->lr = cpu->r[0];
/* 028C3F88 */ _t44 = cpu->r[1] + 0x0000000Cu;
/* 028C3F88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
/* 028C3F8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3F90 */ return;
}
// fn_028C3F94 @ 0x28c3f94
void Gambit_fn_028C3F94(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_028C3E54: ; // 0x28c3e54
/* 028C3E54 */ cpu->r[0] = cpu->lr;
/* 028C3E58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C3E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3E58 */ cpu->r[1] = _t0;
/* 028C3E5C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C3E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C3E60 */ cpu->r[30] = cpu->r[3];
/* 028C3E64 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C3E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C3E68 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C3E68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C3E6C */ _t4 = cpu->r[30] + 0x000000A4u;
/* 028C3E6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028C3E70 */ cpu->r[0] = 0x00000000u;
/* 028C3E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C3E78 */ cpu->r[31] = cpu->r[10] + 0x00000030u;
/* 028C3E7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3E7C */ _t6 = _t5 & 0x00000001u;
/* 028C3E7C */ if (_t6) goto L_028C3EA0; else goto L_028C3E80;
L_028C3E80: ; // 0x28c3e80
/* 028C3E80 */ _t7 = cpu->r[31] + 0x0000000Cu;
/* 028C3E80 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C3E84 */ _t8 = cpu->r[31] + 0x00000008u;
/* 028C3E84 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C3E88 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C3E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C3E8C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C3E8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C3E90 */ cpu->lr = cpu->r[0];
/* 028C3E94 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C3E94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C3E98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3E9C */ return;
L_028C3EA0: ; // 0x28c3ea0
/* 028C3EA0 */ _t12 = cpu->r[30] + 0x00000018u;
/* 028C3EA0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
/* 028C3EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C3EA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EA8 */ _t14 = _t13 & 0x00000001u;
/* 028C3EA8 */ if (_t14) goto L_028C3EAC; else goto L_028C3ECC;
L_028C3EAC: ; // 0x28c3eac
/* 028C3EAC */ _t15 = cpu->r[31] + 0x0000000Cu;
/* 028C3EAC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
/* 028C3EB0 */ _t16 = cpu->r[31] + 0x00000008u;
/* 028C3EB0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C3EB4 */ _t17 = cpu->r[1] + 0x00000014u;
/* 028C3EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C3EB8 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C3EB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028C3EBC */ cpu->lr = cpu->r[0];
/* 028C3EC0 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C3EC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028C3EC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3EC8 */ return;
L_028C3ECC: ; // 0x28c3ecc
/* 028C3ECC */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3ED0 */ _t20 = cpu->r[31] + 0x00000000u;
/* 028C3ED0 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
/* 028C3ED4 */ _t21 = cpu->r[31] + 0x00000004u;
/* 028C3ED4 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
/* 028C3ED8 */ _t22 = cpu->r[30] + 0x00000020u;
/* 028C3ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C3EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028C3EE0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EE0 */ _t24 = _t23 & 0x00000001u;
/* 028C3EE0 */ if (_t24) goto L_028C3F10; else goto L_028C3EE4;
L_028C3EE4: ; // 0x28c3ee4
/* 028C3EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
/* 028C3EE8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EE8 */ _t26 = _t25 & 0x00000001u;
/* 028C3EE8 */ if (_t26) goto L_028C3F34; else goto L_028C3EEC;
L_028C3EEC: ; // 0x28c3eec
/* 028C3EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
/* 028C3EF0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3EF0 */ _t28 = _t27 & 0x00000001u;
/* 028C3EF0 */ if (_t28) goto L_028C3F58; else goto L_028C3EF4;
L_028C3EF4: ; // 0x28c3ef4
/* 028C3EF4 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3EF8 */ _t29 = cpu->r[31] + 0x00000004u;
/* 028C3EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028C3EFC */ _t30 = cpu->r[31] + 0x00000000u;
/* 028C3EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028C3F00 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F04 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F08 */ _t31 = cpu->r[31] + 0x00000008u;
/* 028C3F08 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028C3F0C */ goto L_028C3F78;
L_028C3F10: ; // 0x28c3f10
/* 028C3F10 */ cpu->r[3] = cpu->r[30];
/* 028C3F14 */ Gambit_fn_028C3BE0(cpu);
/* 028C3F18 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F1C */ _t32 = cpu->r[31] + 0x00000004u;
/* 028C3F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028C3F20 */ _t33 = cpu->r[31] + 0x00000000u;
/* 028C3F20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
/* 028C3F24 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F28 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F2C */ _t34 = cpu->r[31] + 0x00000008u;
/* 028C3F2C */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
/* 028C3F30 */ goto L_028C3F78;
L_028C3F34: ; // 0x28c3f34
/* 028C3F34 */ cpu->r[3] = cpu->r[30];
/* 028C3F38 */ Gambit_fn_028C3CB0(cpu);
/* 028C3F3C */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F40 */ _t35 = cpu->r[31] + 0x00000004u;
/* 028C3F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028C3F44 */ _t36 = cpu->r[31] + 0x00000000u;
/* 028C3F44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
/* 028C3F48 */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F4C */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F50 */ _t37 = cpu->r[31] + 0x00000008u;
/* 028C3F50 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
/* 028C3F54 */ goto L_028C3F78;
L_028C3F58: ; // 0x28c3f58
/* 028C3F58 */ cpu->r[3] = cpu->r[30];
/* 028C3F5C */ Gambit_fn_028C3D98(cpu);
/* 028C3F60 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C3F64 */ _t38 = cpu->r[31] + 0x00000004u;
/* 028C3F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C3F68 */ _t39 = cpu->r[31] + 0x00000000u;
/* 028C3F68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028C3F6C */ cpu->r[0] = cpu->r[4] - cpu->r[0];
/* 028C3F70 */ cpu->r[10] = cpu->r[3] - cpu->r[12];
/* 028C3F74 */ _t40 = cpu->r[31] + 0x00000008u;
/* 028C3F74 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
L_028C3F78: ; // 0x28c3f78
/* 028C3F78 */ _t41 = cpu->r[31] + 0x0000000Cu;
/* 028C3F78 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
/* 028C3F7C */ _t42 = cpu->r[1] + 0x00000014u;
/* 028C3F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
/* 028C3F80 */ _t43 = cpu->r[1] + 0x00000008u;
/* 028C3F80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028C3F84 */ cpu->lr = cpu->r[0];
/* 028C3F88 */ _t44 = cpu->r[1] + 0x0000000Cu;
/* 028C3F88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
/* 028C3F8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C3F90 */ return;
L_028C3F94: ; // 0x28c3f94
/* 028C3F94 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF4u;
/* 028C3F98 */ goto L_028C3E54;
}
// fn_028C3F9C @ 0x28c3f9c
void Gambit_fn_028C3F9C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_028C3F9C: ; // 0x28c3f9c
/* 028C3F9C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C3F9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C3F9C */ cpu->r[1] = _t0;
/* 028C3FA0 */ cpu->r[0] = cpu->lr;
/* 028C3FA4 */ /* nop */
/* 028C3FA8 */ cpu->r[31] = cpu->r[3];
/* 028C3FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C3FAC */ cpu->r[30] = cpu->r[5];
/* 028C3FB0 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028C3FB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C3FB4 */ cpu->r[29] = cpu->r[4];
/* 028C3FB8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3FB8 */ _t3 = _t2 & 0x00000001u;
/* 028C3FB8 */ if (_t3) goto L_028C3FBC; else goto L_028C3FCC;
L_028C3FBC: ; // 0x28c3fbc
/* 028C3FBC */ cpu->r[3] = 0x000000A8u;
/* 028C3FC0 */ Gambit_fn_02801A78(cpu);
/* 028C3FC4 */ cpu->r[31] = cpu->r[3];
/* 028C3FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C3FC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3FC8 */ _t5 = _t4 & 0x00000001u;
/* 028C3FC8 */ if (_t5) goto L_028C40C0; else goto L_028C3FCC;
L_028C3FCC: ; // 0x28c3fcc
/* 028C3FCC */ cpu->r[3] = cpu->r[31];
/* 028C3FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3FD0 */ cpu->r[28] = 0x00000000u;
/* 028C3FD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3FD4 */ _t7 = _t6 & 0x00000001u;
/* 028C3FD4 */ if (_t7) goto L_028C3FD8; else goto L_028C3FE8;
L_028C3FD8: ; // 0x28c3fd8
/* 028C3FD8 */ cpu->r[3] = 0x0000000Cu;
/* 028C3FDC */ Gambit_fn_02801A78(cpu);
/* 028C3FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C3FE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C3FE4 */ _t9 = _t8 & 0x00000001u;
/* 028C3FE4 */ if (_t9) goto L_028C3FFC; else goto L_028C3FE8;
L_028C3FE8: ; // 0x28c3fe8
/* 028C3FE8 */ cpu->r[0] = 0x101B0000u;
/* 028C3FEC */ _t10 = cpu->r[3] + 0x00000004u;
/* 028C3FEC */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
/* 028C3FF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFCDF0u;
/* 028C3FF4 */ _t11 = cpu->r[3] + 0x00000000u;
/* 028C3FF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
/* 028C3FF8 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028C3FF8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028C3FFC: ; // 0x28c3ffc
/* 028C3FFC */ cpu->r[27] = cpu->r[31] + 0x0000000Cu;
/* 028C4000 */ cpu->r[0] = 0x10140000u;
/* 028C4004 */ cpu->r[3] = cpu->r[27];
/* 028C4008 */ cpu->r[0] = cpu->r[0] + 0xFFFF9498u;
/* 028C400C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4010 */ _t13 = cpu->r[31] + 0x00000010u;
/* 028C4010 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C4014 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4014 */ _t15 = _t14 & 0x00000001u;
/* 028C4014 */ if (_t15) goto L_028C4018; else goto L_028C4028;
L_028C4018: ; // 0x28c4018
/* 028C4018 */ cpu->r[3] = 0x00000004u;
/* 028C401C */ Gambit_fn_02801A78(cpu);
/* 028C4020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4024 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4024 */ _t17 = _t16 & 0x00000001u;
/* 028C4024 */ if (_t17) goto L_028C402C; else goto L_028C4028;
L_028C4028: ; // 0x28c4028
/* 028C4028 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028C4028 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
L_028C402C: ; // 0x28c402c
/* 028C402C */ cpu->r[7] = 0x10140000u;
/* 028C4030 */ cpu->r[8] = 0x10140000u;
/* 028C4034 */ cpu->r[7] = cpu->r[7] + 0xFFFF9508u;
/* 028C4038 */ cpu->r[8] = cpu->r[8] + 0xFFFF9548u;
/* 028C403C */ _t19 = cpu->r[31] + 0x00000008u;
/* 028C403C */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
/* 028C4040 */ cpu->r[12] = 0x10140000u;
/* 028C4044 */ _t20 = cpu->r[27] + 0x00000004u;
/* 028C4044 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
/* 028C4048 */ _t21 = cpu->r[12] + 0xFFFF94E8u;
/* 028C4048 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
/* 028C404C */ _t22 = cpu->r[31] + 0x00000034u;
/* 028C404C */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
/* 028C4050 */ _t23 = cpu->r[31] + 0x0000004Cu;
/* 028C4050 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 028C4054 */ _t24 = cpu->r[31] + 0x00000040u;
/* 028C4054 */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
/* 028C4058 */ cpu->r[9] = 0x10140000u;
/* 028C405C */ _t25 = cpu->r[31] + 0x0000001Cu;
/* 028C405C */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
/* 028C4060 */ cpu->r[9] = cpu->r[9] + 0xFFFF9558u;
/* 028C4064 */ _t26 = cpu->r[31] + 0x00000044u;
/* 028C4064 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
/* 028C4068 */ _t27 = cpu->r[31] + 0x00000018u;
/* 028C4068 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[28]);
/* 028C406C */ _t28 = cpu->r[31] + 0x00000024u;
/* 028C406C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[28]);
/* 028C4070 */ _t29 = cpu->r[31] + 0x00000014u;
/* 028C4070 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
/* 028C4074 */ cpu->r[10] = 0x00000060u;
/* 028C4078 */ _t30 = cpu->r[31] + 0x00000038u;
/* 028C4078 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
/* 028C407C */ _t31 = cpu->r[31] + 0x0000002Cu;
/* 028C407C */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
/* 028C4080 */ _t32 = cpu->r[31] + 0x0000003Cu;
/* 028C4080 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
/* 028C4084 */ _t33 = cpu->r[31] + 0x00000028u;
/* 028C4084 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
/* 028C4088 */ _t34 = cpu->r[31] + 0x00000048u;
/* 028C4088 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
/* 028C408C */ _t35 = cpu->r[31] + 0x00000020u;
/* 028C408C */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
/* 028C4090 */ _t36 = cpu->r[31] + 0x00000030u;
/* 028C4090 */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
/* 028C4094 */ _t37 = cpu->r[29] + 0x00000000u;
/* 028C4094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028C4098 */ _t38 = cpu->r[31] + 0x00000050u;
/* 028C4098 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
/* 028C409C */ _t39 = cpu->r[30] + 0x00000000u;
/* 028C409C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028C40A0 */ _t40 = cpu->r[31] + 0x00000058u;
/* 028C40A0 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
/* 028C40A4 */ _t41 = cpu->r[31] + 0x00000054u;
/* 028C40A4 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
/* 028C40A8 */ _t42 = cpu->r[31] + 0x0000005Cu;
/* 028C40A8 */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
/* 028C40AC */ _t43 = cpu->r[31] + 0x00000060u;
/* 028C40AC */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[28]);
/* 028C40B0 */ cpu->r[3] = cpu->r[31] + 0x00000068u;
/* 028C40B4 */ _t44 = cpu->r[31] + 0x00000064u;
/* 028C40B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[28]);
/* 028C40B8 */ Gambit_fn_02837344(cpu);
/* 028C40BC */ _t45 = cpu->r[31] + 0x000000A4u;
/* 028C40BC */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
L_028C40C0: ; // 0x28c40c0
/* 028C40C0 */ cpu->r[3] = cpu->r[31];
/* 028C40C4 */ /* nop */
/* 028C40C8 */ _t46 = cpu->r[1] + 0x00000024u;
/* 028C40C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028C40CC */ cpu->lr = cpu->r[0];
/* 028C40D0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C40D4 */ return;
}
// fn_028C40D8 @ 0x28c40d8
void Gambit_fn_028C40D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028C40D8: ; // 0x28c40d8
/* 028C40D8 */ cpu->r[0] = cpu->lr;
/* 028C40DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C40DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C40DC */ cpu->r[1] = _t0;
/* 028C40E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C40E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C40E4 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C40E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C40E8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C40E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C40EC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C40EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C40F0 */ cpu->r[29] = cpu->r[3];
/* 028C40F4 */ _t5 = cpu->r[29] + 0x00000018u;
/* 028C40F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
/* 028C40F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C40FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C40FC */ _t7 = _t6 & 0x00000001u;
/* 028C40FC */ if (_t7) goto L_028C419C; else goto L_028C4100;
L_028C4100: ; // 0x28c4100
/* 028C4100 */ cpu->r[3] = cpu->r[29];
/* 028C4104 */ Gambit_fn_02C37C5C(cpu);
/* 028C4108 */ _t8 = cpu->r[29] + 0x00000028u;
/* 028C4108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C410C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C4110 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4110 */ _t10 = _t9 & 0x00000001u;
/* 028C4110 */ if (_t10) goto L_028C4160; else goto L_028C4114;
L_028C4114: ; // 0x28c4114
/* 028C4114 */ _t11 = cpu->r[29] + 0x0000000Cu;
/* 028C4114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C4118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C411C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C411C */ _t13 = _t12 & 0x00000001u;
/* 028C411C */ if (_t13) goto L_028C4160; else goto L_028C4120;
L_028C4120: ; // 0x28c4120
/* 028C4120 */ cpu->r[31] = 0x000F0000u;
/* 028C4124 */ cpu->r[30] = 0x00000000u;
/* 028C4128 */ cpu->r[31] = cpu->r[31] + 0x00004240u;
L_028C412C: ; // 0x28c412c
/* 028C412C */ rbrew_dispatch(cpu, 0x02d0ab10u);
/* 028C4130 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028C4130 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028C4134 */ cpu->r[0] = 0x00000064u;
/* 028C4138 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
/* 028C413C */ /* nop */
/* 028C4140 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000064u);
/* 028C4144 */ cpu->r[5] = cpu->r[30];
/* 028C4148 */ cpu->r[6] = cpu->r[31];
/* 028C414C */ Gambit_fn_02C89C4C(cpu);
/* 028C4150 */ rbrew_dispatch(cpu, 0x02d0b020u);
/* 028C4154 */ _t15 = cpu->r[29] + 0x0000000Cu;
/* 028C4154 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028C4158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C415C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C415C */ _t17 = _t16 & 0x00000001u;
/* 028C415C */ if (_t17) goto L_028C4160; else goto L_028C412C;
L_028C4160: ; // 0x28c4160
/* 028C4160 */ cpu->r[9] = 0x00000000u;
/* 028C4164 */ cpu->r[10] = 0x00000003u;
/* 028C4168 */ _t18 = cpu->r[29] + 0x00000060u;
/* 028C4168 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[9]);
/* 028C416C */ cpu->r[8] = cpu->r[9];
/* 028C4170 */ _t19 = cpu->r[29] + 0x0000005Cu;
/* 028C4170 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
/* 028C4174 */ cpu->r[0] = cpu->r[8];
/* 028C4178 */ cpu->ctr = cpu->r[10];
/* 028C417C */ _t20 = cpu->r[29] + 0x00000064u;
/* 028C417C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
L_028C4180: ; // 0x28c4180
/* 028C4180 */ _t21 = cpu->r[29] + 0x000000A4u;
/* 028C4180 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
/* 028C4184 */ cpu->r[12] = cpu->r[11] + cpu->r[8];
/* 028C4188 */ _t22 = cpu->r[12] + 0x00000008u;
/* 028C4188 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028C418C */ cpu->r[8] = cpu->r[8] + 0x00000018u;
/* 028C4190 */ _t23 = cpu->r[12] + 0x0000000Cu;
/* 028C4190 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028C4194 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C4194 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C4194 */ _t25 = _t24 >> (0x00000002u & 31u);
/* 028C4194 */ _t26 = _t25 & 0x00000001u;
/* 028C4194 */ if (_t26) goto L_028C4180; else goto L_028C4198;
L_028C4198: ; // 0x28c4198
/* 028C4198 */ _t27 = cpu->r[29] + 0x00000018u;
/* 028C4198 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[9]);
L_028C419C: ; // 0x28c419c
/* 028C419C */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028C419C */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028C41A0 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028C41A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028C41A4 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028C41A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028C41A8 */ cpu->lr = cpu->r[0];
/* 028C41AC */ _t31 = cpu->r[1] + 0x00000014u;
/* 028C41AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028C41B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C41B4 */ return;
}
// fn_028C40DC @ 0x28c40dc
void Gambit_fn_028C40DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028C40DC: ; // 0x28c40dc
/* 028C40DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C40DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C40DC */ cpu->r[1] = _t0;
/* 028C40E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C40E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C40E4 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C40E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C40E8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C40E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C40EC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C40EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C40F0 */ cpu->r[29] = cpu->r[3];
/* 028C40F4 */ _t5 = cpu->r[29] + 0x00000018u;
/* 028C40F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
/* 028C40F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C40FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C40FC */ _t7 = _t6 & 0x00000001u;
/* 028C40FC */ if (_t7) goto L_028C419C; else goto L_028C4100;
L_028C4100: ; // 0x28c4100
/* 028C4100 */ cpu->r[3] = cpu->r[29];
/* 028C4104 */ Gambit_fn_02C37C5C(cpu);
/* 028C4108 */ _t8 = cpu->r[29] + 0x00000028u;
/* 028C4108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C410C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C4110 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4110 */ _t10 = _t9 & 0x00000001u;
/* 028C4110 */ if (_t10) goto L_028C4160; else goto L_028C4114;
L_028C4114: ; // 0x28c4114
/* 028C4114 */ _t11 = cpu->r[29] + 0x0000000Cu;
/* 028C4114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C4118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C411C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C411C */ _t13 = _t12 & 0x00000001u;
/* 028C411C */ if (_t13) goto L_028C4160; else goto L_028C4120;
L_028C4120: ; // 0x28c4120
/* 028C4120 */ cpu->r[31] = 0x000F0000u;
/* 028C4124 */ cpu->r[30] = 0x00000000u;
/* 028C4128 */ cpu->r[31] = cpu->r[31] + 0x00004240u;
L_028C412C: ; // 0x28c412c
/* 028C412C */ rbrew_dispatch(cpu, 0x02d0ab10u);
/* 028C4130 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028C4130 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028C4134 */ cpu->r[0] = 0x00000064u;
/* 028C4138 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
/* 028C413C */ /* nop */
/* 028C4140 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000064u);
/* 028C4144 */ cpu->r[5] = cpu->r[30];
/* 028C4148 */ cpu->r[6] = cpu->r[31];
/* 028C414C */ Gambit_fn_02C89C4C(cpu);
/* 028C4150 */ rbrew_dispatch(cpu, 0x02d0b020u);
/* 028C4154 */ _t15 = cpu->r[29] + 0x0000000Cu;
/* 028C4154 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028C4158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C415C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C415C */ _t17 = _t16 & 0x00000001u;
/* 028C415C */ if (_t17) goto L_028C4160; else goto L_028C412C;
L_028C4160: ; // 0x28c4160
/* 028C4160 */ cpu->r[9] = 0x00000000u;
/* 028C4164 */ cpu->r[10] = 0x00000003u;
/* 028C4168 */ _t18 = cpu->r[29] + 0x00000060u;
/* 028C4168 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[9]);
/* 028C416C */ cpu->r[8] = cpu->r[9];
/* 028C4170 */ _t19 = cpu->r[29] + 0x0000005Cu;
/* 028C4170 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
/* 028C4174 */ cpu->r[0] = cpu->r[8];
/* 028C4178 */ cpu->ctr = cpu->r[10];
/* 028C417C */ _t20 = cpu->r[29] + 0x00000064u;
/* 028C417C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
L_028C4180: ; // 0x28c4180
/* 028C4180 */ _t21 = cpu->r[29] + 0x000000A4u;
/* 028C4180 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
/* 028C4184 */ cpu->r[12] = cpu->r[11] + cpu->r[8];
/* 028C4188 */ _t22 = cpu->r[12] + 0x00000008u;
/* 028C4188 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 028C418C */ cpu->r[8] = cpu->r[8] + 0x00000018u;
/* 028C4190 */ _t23 = cpu->r[12] + 0x0000000Cu;
/* 028C4190 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028C4194 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C4194 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C4194 */ _t25 = _t24 >> (0x00000002u & 31u);
/* 028C4194 */ _t26 = _t25 & 0x00000001u;
/* 028C4194 */ if (_t26) goto L_028C4180; else goto L_028C4198;
L_028C4198: ; // 0x28c4198
/* 028C4198 */ _t27 = cpu->r[29] + 0x00000018u;
/* 028C4198 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[9]);
L_028C419C: ; // 0x28c419c
/* 028C419C */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028C419C */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028C41A0 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028C41A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028C41A4 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028C41A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028C41A8 */ cpu->lr = cpu->r[0];
/* 028C41AC */ _t31 = cpu->r[1] + 0x00000014u;
/* 028C41AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028C41B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C41B4 */ return;
}
// fn_028C41B8 @ 0x28c41b8
void Gambit_fn_028C41B8(CPUState* cpu) {
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_028C41B8: ; // 0x28c41b8
/* 028C41B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C41B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C41B8 */ cpu->r[1] = _t0;
/* 028C41BC */ cpu->r[0] = cpu->lr;
/* 028C41C0 */ /* nop */
/* 028C41C4 */ cpu->r[28] = cpu->r[3];
/* 028C41C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C41C8 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028C41C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C41CC */ cpu->r[29] = cpu->r[4];
/* 028C41D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C41D0 */ _t3 = _t2 & 0x00000001u;
/* 028C41D0 */ if (_t3) goto L_028C427C; else goto L_028C41D4;
L_028C41D4: ; // 0x28c41d4
/* 028C41D4 */ cpu->r[11] = 0x10140000u;
/* 028C41D8 */ cpu->r[0] = 0x10140000u;
/* 028C41DC */ cpu->r[11] = cpu->r[11] + 0xFFFF9508u;
/* 028C41E0 */ cpu->r[0] = cpu->r[0] + 0xFFFF9558u;
/* 028C41E4 */ _t4 = cpu->r[28] + 0x00000008u;
/* 028C41E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
/* 028C41E8 */ cpu->r[12] = 0x10140000u;
/* 028C41EC */ _t5 = cpu->r[28] + 0x00000014u;
/* 028C41EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C41F0 */ cpu->r[12] = cpu->r[12] + 0xFFFF9548u;
/* 028C41F4 */ cpu->r[3] = cpu->r[28];
/* 028C41F8 */ _t6 = cpu->r[28] + 0x00000010u;
/* 028C41F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
/* 028C41FC */ Gambit_fn_028C40D8(cpu);
/* 028C4200 */ _t7 = cpu->r[28] + 0x0000002Cu;
/* 028C4200 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028C4204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4208 */ cpu->r[27] = 0x00000000u;
/* 028C420C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C420C */ _t9 = _t8 & 0x00000001u;
/* 028C420C */ if (_t9) goto L_028C4238; else goto L_028C4210;
L_028C4210: ; // 0x28c4210
/* 028C4210 */ cpu->r[31] = 0x00000000u;
/* 028C4214 */ cpu->r[30] = 0x00000006u;
L_028C4218: ; // 0x28c4218
/* 028C4218 */ _t10 = cpu->r[3] + cpu->r[31];
/* 028C4218 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C421C */ Gambit_fn_02801BB4(cpu);
/* 028C4220 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C4220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C4224 */ _t11 = cpu->r[28] + 0x0000002Cu;
/* 028C4224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028C4228 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C422C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C422C */ _t13 = _t12 & 0x00000001u;
/* 028C422C */ if (_t13) goto L_028C4230; else goto L_028C4218;
L_028C4230: ; // 0x28c4230
/* 028C4230 */ Gambit_fn_02801BB4(cpu);
/* 028C4234 */ _t14 = cpu->r[28] + 0x0000002Cu;
/* 028C4234 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
L_028C4238: ; // 0x28c4238
/* 028C4238 */ _t15 = cpu->r[28] + 0x000000A4u;
/* 028C4238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028C423C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4240 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4240 */ _t17 = _t16 & 0x00000001u;
/* 028C4240 */ if (_t17) goto L_028C4260; else goto L_028C4244;
L_028C4244: ; // 0x28c4244
/* 028C4244 */ cpu->r[6] = 0x00000000u;
/* 028C4248 */ cpu->r[7] = 0x00000001u;
/* 028C424C */ cpu->r[5] = 0x00000018u;
/* 028C4250 */ cpu->r[8] = cpu->r[6];
/* 028C4254 */ cpu->r[4] = 0xFFFFFFFFu;
/* 028C4258 */ Gambit_fn_02C82F38(cpu);
/* 028C425C */ _t18 = cpu->r[28] + 0x000000A4u;
/* 028C425C */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
L_028C4260: ; // 0x28c4260
/* 028C4260 */ cpu->r[3] = cpu->r[28] + 0x00000068u;
/* 028C4264 */ cpu->r[4] = 0x00000002u;
/* 028C4268 */ Gambit_fn_028373B0(cpu);
/* 028C426C */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C426C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C4270 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4270 */ _t20 = _t19 & 0x00000001u;
/* 028C4270 */ if (_t20) goto L_028C427C; else goto L_028C4274;
L_028C4274: ; // 0x28c4274
/* 028C4274 */ cpu->r[3] = cpu->r[28];
/* 028C4278 */ Gambit_fn_02801BB0(cpu);
L_028C427C: ; // 0x28c427c
/* 028C427C */ /* nop */
/* 028C4280 */ _t21 = cpu->r[1] + 0x00000024u;
/* 028C4280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C4284 */ cpu->lr = cpu->r[0];
/* 028C4288 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C428C */ return;
}
// fn_028C4290 @ 0x28c4290
void Gambit_fn_028C4290(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_028C4290: ; // 0x28c4290
/* 028C4290 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C4290 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4290 */ cpu->r[1] = _t0;
/* 028C4294 */ /* nop */
/* 028C4298 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028C4298 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C429C */ /* nop */
/* 028C42A0 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028C42A0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028C42A4 */ cpu->r[0] = cpu->lr;
/* 028C42A8 */ _t3 = cpu->r[1] + 0x0000003Cu;
/* 028C42A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C42AC */ cpu->r[29] = cpu->r[3];
/* 028C42B0 */ _t4 = cpu->r[4] + 0x00000000u;
/* 028C42B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028C42B4 */ _t5 = cpu->r[29] + 0x0000001Cu;
/* 028C42B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028C42B8 */ _t6 = cpu->r[4] + 0x00000004u;
/* 028C42B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
/* 028C42BC */ _t7 = cpu->r[29] + 0x00000024u;
/* 028C42BC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
/* 028C42C0 */ _t8 = cpu->r[4] + 0x00000008u;
/* 028C42C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028C42C4 */ _t9 = cpu->r[29] + 0x00000030u;
/* 028C42C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
/* 028C42C8 */ _t10 = cpu->r[4] + 0x0000000Cu;
/* 028C42C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
/* 028C42CC */ cpu->r[27] = 0x101D0000u;
/* 028C42D0 */ _t11 = cpu->r[29] + 0x00000034u;
/* 028C42D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
/* 028C42D4 */ _t12 = cpu->r[27] + 0xFFFF9A8Cu;
/* 028C42D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C42D4 */ cpu->r[27] = _t12;
/* 028C42D8 */ _t13 = cpu->r[11] + 0x00000018u;
/* 028C42D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C42DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C42DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C42E0 */ cpu->r[30] = cpu->r[5];
/* 028C42E4 */ cpu->r[31] = cpu->r[6];
/* 028C42E8 */ _t14 = cpu->r[29] + 0x00000048u;
/* 028C42E8 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
/* 028C42EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C42EC */ _t16 = _t15 & 0x00000001u;
/* 028C42EC */ if (_t16) goto L_028C4340; else goto L_028C42F0;
L_028C42F0: ; // 0x28c42f0
/* 028C42F0 */ cpu->r[4] = cpu->r[31];
/* 028C42F4 */ cpu->r[3] = 0x00000018u;
/* 028C42F8 */ cpu->r[5] = 0x00000004u;
/* 028C42FC */ Gambit_fn_02801ADC(cpu);
/* 028C4300 */ _t17 = cpu->r[29] + 0x00000048u;
/* 028C4300 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
/* 028C4304 */ _t18 = cpu->r[29] + 0x00000030u;
/* 028C4304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C4308 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[0]);
/* 028C430C */ cpu->r[25] = 0x00000006u;
/* 028C4310 */ cpu->r[28] = 0x00000000u;
/* 028C4314 */ cpu->r[26] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4318 */ _t19 = cpu->r[29] + 0x0000002Cu;
/* 028C4318 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
L_028C431C: ; // 0x28c431c
/* 028C431C */ _t20 = cpu->r[29] + 0x0000002Cu;
/* 028C431C */ cpu->r[24] = rbrew_read32(cpu->mem, _t20);
/* 028C4320 */ cpu->r[5] = 0x00000040u;
/* 028C4324 */ cpu->r[3] = cpu->r[26];
/* 028C4328 */ cpu->r[4] = cpu->r[31];
/* 028C432C */ Gambit_fn_02801ADC(cpu);
/* 028C4330 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
/* 028C4330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028C4334 */ _t21 = cpu->r[24] + cpu->r[28];
/* 028C4334 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
/* 028C4338 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
/* 028C433C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C433C */ _t23 = _t22 & 0x00000001u;
/* 028C433C */ if (_t23) goto L_028C4340; else goto L_028C431C;
L_028C4340: ; // 0x28c4340
/* 028C4340 */ cpu->r[28] = 0x101D0000u;
/* 028C4344 */ _t24 = cpu->r[29] + 0x00000058u;
/* 028C4344 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
/* 028C4348 */ _t25 = cpu->r[28] + 0xFFFFC3D4u;
/* 028C4348 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
/* 028C4348 */ cpu->r[28] = _t25;
/* 028C434C */ cpu->r[5] = 0x00000004u;
/* 028C4350 */ cpu->r[4] = cpu->r[31];
/* 028C4354 */ cpu->r[3] = cpu->r[7] + 0x00000048u;
/* 028C4358 */ Gambit_fn_02801ADC(cpu);
/* 028C435C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4360 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4360 */ _t27 = _t26 & 0x00000001u;
/* 028C4360 */ if (_t27) goto L_028C43B8; else goto L_028C4364;
L_028C4364: ; // 0x28c4364
/* 028C4364 */ cpu->r[6] = 0x028C0000u;
/* 028C4368 */ _t28 = cpu->r[28] + 0x00000000u;
/* 028C4368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C436C */ cpu->r[5] = 0x00000018u;
/* 028C4370 */ cpu->r[6] = cpu->r[6] + 0x000055A4u;
/* 028C4374 */ cpu->r[4] = 0x00000003u;
/* 028C4378 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
/* 028C437C */ cpu->r[7] = 0x00000000u;
/* 028C4380 */ Gambit_fn_02C82DBC(cpu);
/* 028C4384 */ _t29 = cpu->r[29] + 0x000000A4u;
/* 028C4384 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
/* 028C4388 */ cpu->r[9] = 0x10140000u;
/* 028C438C */ _t30 = cpu->r[27] + 0x00000000u;
/* 028C438C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028C4390 */ _t31 = cpu->r[9] + 0xFFFF94ECu;
/* 028C4390 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
/* 028C4394 */ Gambit_fn_028C3B4C(cpu);
/* 028C4398 */ cpu->f[0] = cpu->f[1] * cpu->f[31];
/* 028C439C */ cpu->f[0] = cpu->f[0] * cpu->f[31];
/* 028C43A0 */ cpu->f[0] = cpu->f[0] * cpu->f[31];
/* 028C43A4 */ _t32 = cpu->r[29] + 0x000000A4u;
/* 028C43A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
/* 028C43A8 */ _t33 = cpu->r[10] + 0x00000028u;
/* 028C43A8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
/* 028C43AC */ _t34 = cpu->r[29] + 0x000000A4u;
/* 028C43AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
/* 028C43B0 */ _t35 = cpu->r[11] + 0x00000040u;
/* 028C43B0 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
/* 028C43B4 */ goto L_028C43EC;
L_028C43B8: ; // 0x28c43b8
/* 028C43B8 */ cpu->r[3] = 0x00000000u;
/* 028C43BC */ cpu->r[9] = 0x10140000u;
/* 028C43C0 */ _t36 = cpu->r[29] + 0x000000A4u;
/* 028C43C0 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
/* 028C43C4 */ _t37 = cpu->r[27] + 0x00000000u;
/* 028C43C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028C43C8 */ _t38 = cpu->r[9] + 0xFFFF94ECu;
/* 028C43C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
/* 028C43CC */ Gambit_fn_028C3B4C(cpu);
/* 028C43D0 */ cpu->f[0] = cpu->f[1] * cpu->f[31];
/* 028C43D4 */ cpu->f[0] = cpu->f[0] * cpu->f[31];
/* 028C43D8 */ cpu->f[0] = cpu->f[0] * cpu->f[31];
/* 028C43DC */ _t39 = cpu->r[29] + 0x000000A4u;
/* 028C43DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028C43E0 */ _t40 = cpu->r[10] + 0x00000028u;
/* 028C43E0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
/* 028C43E4 */ _t41 = cpu->r[29] + 0x000000A4u;
/* 028C43E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
/* 028C43E8 */ _t42 = cpu->r[11] + 0x00000040u;
/* 028C43E8 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
L_028C43EC: ; // 0x28c43ec
/* 028C43EC */ /* nop */
/* 028C43F0 */ _t43 = cpu->r[1] + 0x00000030u;
/* 028C43F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
/* 028C43F4 */ _t44 = cpu->r[1] + 0x00000028u;
/* 028C43F4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
/* 028C43F8 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C43F8 */ _t46 = _t45 & 0x00000001u;
/* 028C43F8 */ if (_t46) goto L_028C43FC; // else: addr-0 trap, fall-through
L_028C43FC: ; // 0x28c43fc
/* 028C43FC */ _t47 = cpu->r[1] + 0x0000003Cu;
/* 028C43FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028C4400 */ cpu->lr = cpu->r[0];
/* 028C4404 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C4408 */ return;
}
// fn_028C440C @ 0x28c440c
void Gambit_fn_028C440C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028C440C: ; // 0x28c440c
/* 028C440C */ _t0 = cpu->r[3] + 0x00000050u;
/* 028C440C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028C4410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028C4414 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4414 */ _t2 = _t1 & 0x00000001u;
/* 028C4414 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C4414 */ goto L_028C4418;
L_028C4418: ; // 0x28c4418
/* 028C4418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
/* 028C441C */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C441C */ _t4 = _t3 & 0x00000001u;
/* 028C441C */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C441C */ goto L_028C4420;
L_028C4420: ; // 0x28c4420
/* 028C4420 */ cpu->r[12] = 0x10140000u;
/* 028C4424 */ cpu->r[12] = cpu->r[12] + 0xFFFF94EFu;
/* 028C4428 */ _t5 = cpu->r[12] + cpu->r[0];
/* 028C4428 */ cpu->r[3] = rbrew_read8(cpu->mem, _t5);
/* 028C442C */ return;
}
// fn_028C4430 @ 0x28c4430
void Gambit_fn_028C4430(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028C4430: ; // 0x28c4430
/* 028C4430 */ _t0 = cpu->r[3] + 0x00000054u;
/* 028C4430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028C4434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028C4438 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4438 */ _t2 = _t1 & 0x00000001u;
/* 028C4438 */ if (_t2) goto L_028C4444; else goto L_028C443C;
L_028C443C: ; // 0x28c443c
/* 028C443C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C443C */ _t4 = _t3 & 0x00000001u;
/* 028C443C */ if (_t4) goto L_028C444C; else goto L_028C4440;
L_028C4440: ; // 0x28c4440
/* 028C4440 */ return;
L_028C4444: ; // 0x28c4444
/* 028C4444 */ cpu->r[3] = 0x00000000u;
/* 028C4448 */ return;
L_028C444C: ; // 0x28c444c
/* 028C444C */ cpu->r[3] = 0x00000001u;
/* 028C4450 */ return;
}
// fn_028C4454 @ 0x28c4454
void Gambit_fn_028C4454(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028C4454: ; // 0x28c4454
/* 028C4454 */ cpu->r[0] = cpu->lr;
/* 028C4458 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C4458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4458 */ cpu->r[1] = _t0;
/* 028C445C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C445C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C4460 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C4460 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C4464 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C4464 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C4468 */ cpu->r[7] = cpu->r[3];
/* 028C446C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C446C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C4470 */ Gambit_fn_028C440C(cpu);
/* 028C4474 */ cpu->r[29] = cpu->r[3];
/* 028C4478 */ cpu->r[3] = cpu->r[7];
/* 028C447C */ Gambit_fn_028C4430(cpu);
/* 028C4480 */ cpu->r[12] = 0x101D0000u;
/* 028C4484 */ cpu->r[31] = 0x101D0000u;
/* 028C4488 */ _t5 = cpu->r[12] + 0xFFFFFA08u;
/* 028C4488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C4488 */ cpu->r[12] = _t5;
/* 028C448C */ cpu->r[31] = cpu->r[31] + 0xFFFFD000u;
/* 028C4490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C4494 */ cpu->r[30] = cpu->r[3];
/* 028C4498 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4498 */ _t7 = _t6 & 0x00000001u;
/* 028C4498 */ if (_t7) goto L_028C449C; else goto L_028C44B8;
L_028C449C: ; // 0x28c449c
/* 028C449C */ cpu->r[9] = 0x00000001u;
/* 028C44A0 */ cpu->r[3] = cpu->r[31];
/* 028C44A4 */ _t8 = cpu->r[12] + 0x00000000u;
/* 028C44A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028C44A8 */ Gambit_fn_02C26A54(cpu);
/* 028C44AC */ cpu->r[3] = 0x101D0000u;
/* 028C44B0 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A94u;
/* 028C44B4 */ Gambit_fn_02C83090(cpu);
L_028C44B8: ; // 0x28c44b8
/* 028C44B8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000003u);
/* 028C44BC */ cpu->r[10] = cpu->r[9] + cpu->r[29];
/* 028C44C0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000000Cu);
/* 028C44C4 */ cpu->r[8] = cpu->r[31] + cpu->r[11];
/* 028C44C8 */ _t9 = cpu->r[8] + 0x00000160u;
/* 028C44C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028C44CC */ cpu->r[10] = rbrew_clz32(cpu->r[8]);
/* 028C44D0 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C44D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
/* 028C44D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028C44D8 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028C44DC */ _t11 = cpu->r[1] + 0x00000010u;
/* 028C44DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028C44E0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C44E4 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028C44E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C44E8 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028C44E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028C44EC */ cpu->lr = cpu->r[0];
/* 028C44F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C44F4 */ return;
}
// fn_028C4458 @ 0x28c4458
void Gambit_fn_028C4458(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028C4458: ; // 0x28c4458
/* 028C4458 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C4458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4458 */ cpu->r[1] = _t0;
/* 028C445C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C445C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C4460 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C4460 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C4464 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C4464 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C4468 */ cpu->r[7] = cpu->r[3];
/* 028C446C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C446C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C4470 */ Gambit_fn_028C440C(cpu);
/* 028C4474 */ cpu->r[29] = cpu->r[3];
/* 028C4478 */ cpu->r[3] = cpu->r[7];
/* 028C447C */ Gambit_fn_028C4430(cpu);
/* 028C4480 */ cpu->r[12] = 0x101D0000u;
/* 028C4484 */ cpu->r[31] = 0x101D0000u;
/* 028C4488 */ _t5 = cpu->r[12] + 0xFFFFFA08u;
/* 028C4488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C4488 */ cpu->r[12] = _t5;
/* 028C448C */ cpu->r[31] = cpu->r[31] + 0xFFFFD000u;
/* 028C4490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C4494 */ cpu->r[30] = cpu->r[3];
/* 028C4498 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4498 */ _t7 = _t6 & 0x00000001u;
/* 028C4498 */ if (_t7) goto L_028C449C; else goto L_028C44B8;
L_028C449C: ; // 0x28c449c
/* 028C449C */ cpu->r[9] = 0x00000001u;
/* 028C44A0 */ cpu->r[3] = cpu->r[31];
/* 028C44A4 */ _t8 = cpu->r[12] + 0x00000000u;
/* 028C44A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028C44A8 */ Gambit_fn_02C26A54(cpu);
/* 028C44AC */ cpu->r[3] = 0x101D0000u;
/* 028C44B0 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A94u;
/* 028C44B4 */ Gambit_fn_02C83090(cpu);
L_028C44B8: ; // 0x28c44b8
/* 028C44B8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000003u);
/* 028C44BC */ cpu->r[10] = cpu->r[9] + cpu->r[29];
/* 028C44C0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000000Cu);
/* 028C44C4 */ cpu->r[8] = cpu->r[31] + cpu->r[11];
/* 028C44C8 */ _t9 = cpu->r[8] + 0x00000160u;
/* 028C44C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028C44CC */ cpu->r[10] = rbrew_clz32(cpu->r[8]);
/* 028C44D0 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C44D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
/* 028C44D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028C44D8 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028C44DC */ _t11 = cpu->r[1] + 0x00000010u;
/* 028C44DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028C44E0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C44E4 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028C44E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C44E8 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028C44E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028C44EC */ cpu->lr = cpu->r[0];
/* 028C44F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C44F4 */ return;
}
// fn_028C44F8 @ 0x28c44f8
void Gambit_fn_028C44F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028C44F8: ; // 0x28c44f8
/* 028C44F8 */ cpu->r[0] = cpu->lr;
/* 028C44FC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C44FC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C4500 */ cpu->r[11] = cpu->r[3];
/* 028C4504 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C4504 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C4504 */ cpu->r[1] = _t1;
/* 028C4508 */ Gambit_fn_028C440C(cpu);
/* 028C450C */ cpu->r[10] = cpu->r[3];
/* 028C4510 */ cpu->r[3] = cpu->r[11];
/* 028C4514 */ Gambit_fn_028C4430(cpu);
/* 028C4518 */ cpu->r[12] = 0x10140000u;
/* 028C451C */ _t2 = cpu->r[12] + 0xFFFF94ECu;
/* 028C451C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028C4520 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028C4524 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C4528 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C452C */ cpu->r[5] = cpu->r[3];
/* 028C4530 */ /* nop */
/* 028C4534 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C4534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
/* 028C4538 */ cpu->r[3] = cpu->r[10];
/* 028C453C */ Gambit_fn_02C2E220(cpu);
/* 028C4540 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C4540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C4544 */ cpu->lr = cpu->r[0];
/* 028C4548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C454C */ return;
}